:root{color:#1d1d1f;font-synthesis:none;text-rendering:optimizelegibility;--brand:#2d6f9d;--brand-d:#245f86;--line:#00000014;--muted:#6e6e73;--faint:#86868b;--panel:#ffffffd1;--shadow:0 4px 24px #0000000f, 0 1px 3px #0000000a;background:#f5f5f7;font-family:-apple-system,SF Pro Text,SF Pro Display,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif}*{box-sizing:border-box}body{letter-spacing:-.01em;-webkit-font-smoothing:antialiased;background:#f5f5f7;min-width:1040px;min-height:100vh;margin:0}body,table,.today-kpi,.stat,.badge,.num,.income-record-totals strong{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}button{font:inherit}body:before,body:after{content:"";z-index:0;pointer-events:none;filter:blur(70px);border-radius:50%;position:fixed}body:before{background:radial-gradient(circle,#a2d2ff66,#0000 70%);width:60vw;height:60vw;animation:22s ease-in-out infinite orb1;top:-15vw;right:-12vw}body:after{background:radial-gradient(circle,#c8b4ff4d,#0000 70%);width:55vw;height:55vw;animation:28s ease-in-out infinite orb2;bottom:-16vw;left:-14vw}@keyframes orb1{0%,to{transform:translate(0)}50%{transform:translate(-3vw,4vw)}}@keyframes orb2{0%,to{transform:translate(0)}50%{transform:translate(4vw,-3vw)}}.app-shell{z-index:1;position:relative}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.rf-card,.income-shell,.today-kpi,.stat{animation:.45s cubic-bezier(.25,1,.5,1) both fade-in-up}.today-kpis .today-kpi:nth-child(2),.grid>:nth-child(2){animation-delay:50ms}.today-kpis .today-kpi:nth-child(3),.grid>:nth-child(3){animation-delay:.1s}.today-kpis .today-kpi:nth-child(4),.grid>:nth-child(4){animation-delay:.15s}.app-shell{grid-template-columns:208px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:#ffffffbd;flex-direction:column;padding:16px 10px 12px;display:flex}.brand{align-items:center;gap:10px;padding:0 8px 18px;display:flex}.brand-mark{border-radius:12px;place-items:center;width:42px;height:42px;display:grid;position:relative;overflow:visible}.brand-mark svg{border-radius:12px;width:100%;height:100%;display:block}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand-mark:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 70% 30%,#0a84ff2e,#0000 60%);border-radius:16px;position:absolute;inset:-4px}.brand strong,.brand span{display:block}.brand span{color:var(--muted);margin-top:2px;font-size:10px}.nav-group{gap:2px;display:grid}.sidebar-footer{color:var(--muted);gap:8px;margin-top:auto;padding:14px 8px 2px;font-size:11px;display:grid}main{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#ffffffe6;justify-content:space-between;align-items:center;min-height:66px;padding:9px 24px;display:flex}.topbar h1{margin:0;font-size:15px}.topbar p{color:var(--muted);margin:2px 0 0;font-size:11px}.hero{padding:22px 2px 30px}.eyebrow{color:var(--brand);letter-spacing:.12em;font-size:11px;font-weight:750}.hero h2{letter-spacing:-.04em;margin:7px 0 8px;font-size:30px}.hero p{max-width:720px;color:var(--muted);margin:0;line-height:1.75}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.rf-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:20px;overflow:hidden}.rf-card h3{border-bottom:1px solid var(--line);margin:0;padding:16px 20px;font-size:14px}.rf-chip{border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:650;display:inline-flex}.rf-chip--neutral{color:#555;background:#ececef}.rf-chip--success{color:#147a39;background:#e8f7ed}.status-list{gap:13px;margin:0;display:grid}.status-list div{justify-content:space-between;gap:18px;display:flex}.status-list dt{color:var(--muted)}.status-list dd{text-align:right;margin:0;font-weight:600}.check-list{gap:11px;margin:0;padding-left:18px;display:grid}.check-list li::marker{color:#34c759}.runtime{color:#8e8e93;margin-top:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.page{gap:18px;display:grid}.page-toolbar{align-items:flex-end;gap:10px;display:flex}.spacer{flex:1}.btn{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:980px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .25s cubic-bezier(.25,1,.5,1),transform .25s cubic-bezier(.25,1,.5,1),box-shadow .25s cubic-bezier(.25,1,.5,1);display:inline-flex;box-shadow:0 1px 3px #0000001a}.btn:hover{background:var(--brand-d);transform:scale(1.02);box-shadow:0 4px 14px #2d6f9d47}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;background:var(--brand);transform:none}.btn.gh{color:#1d1d1f;box-shadow:none;background:#e5e5ea}.btn.gh:hover{background:#dcdce1;box-shadow:0 1px 3px #0000001a}.btn.gh:disabled{color:#1d1d1f;background:#e5e5ea}.btn.danger{color:#d70015;box-shadow:none;background:#e5e5ea}.btn.small{padding:4px 10px;font-size:12px;font-weight:500}.btn.big{border-radius:22px;padding:9px 18px}.link{cursor:pointer;background:0 0;border:0;padding:0}.link.danger{color:#d70015}.field{gap:5px;min-width:0;display:grid}.field label{color:var(--muted);font-size:12px}.field input,.field select,.field textarea,.category-add input,.detail-toolbar select,.detail-toolbar input,.price-table-tools select{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:#1d1d1f;background:#f2f2f7;border:1px solid #0000;border-radius:12px;min-height:36px;padding:7px 10px;font-size:13px}.field input:focus,.field select:focus,.field textarea:focus,.category-add input:focus,.detail-toolbar select:focus,.detail-toolbar input:focus,.price-table-tools select:focus{border-color:var(--brand);background:#fff;outline:none;box-shadow:0 0 0 4px #2d6f9d26}.field input[type=date],.field input[type=month]{min-height:36px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.form-actions{gap:10px;margin-top:16px;display:flex}.table{border-collapse:collapse;width:100%;font-size:12.8px}.table th{text-align:left;color:var(--muted);background:#ffffff80;border-bottom:1px solid #0000000f;padding:9px 12px;font-size:12px;font-weight:600}.table td{text-align:left;border-bottom:1px solid #0000000d;padding:8px 12px}.table .table-sum td,.table tr.sum td{background:#fafcff;font-weight:700}.num{text-align:right}.bold{font-weight:650}.blue{color:#2d6f9d}.neg{color:#3f5266}.neg.red,.red{color:#ff3b30}.warn{color:#b25000}.green{color:#12813f}.muted{color:var(--muted)}.badge{color:#5b6a7f;background:#f2f2f7;border-radius:20px;align-items:center;padding:1px 8px;font-size:11px;font-weight:500;line-height:1.7;display:inline-flex}.badge.g,.badge.ok{color:#12813f;background:#eaf9ef}.badge.p{color:#6d28d9;background:#f5eafc}.empty{color:#86868b;text-align:center;padding:34px 16px;font-size:12.5px}.banner-error{color:#b91c1c;background:#ffeceb;border-radius:10px;padding:10px 14px;font-size:13px}.price-entry-notice{color:#315a82;background:#f3f8ff;border:1px solid #d6e7fb;border-radius:10px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;font-size:12.5px;line-height:1.55;display:flex}.price-entry-notice>span{flex:1;min-width:0}.price-entry-notice-close{color:#6e8298;flex:none;padding:0 4px;font-size:18px;line-height:1}.banner-ok{color:#12813f;background:#eaf9ef;border-radius:10px;padding:10px 14px;font-size:13px}.note{color:#5b6a7f;background:#f5f9ff;border-radius:12px;padding:12px 14px;font-size:12px;line-height:1.7}.feature-pending{padding:14px 2px}.feature-pending strong{margin-bottom:7px;display:block}.feature-pending p{max-width:720px;color:var(--muted);margin:0;font-size:13px;line-height:1.7}.stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.stat{border:1px solid var(--line);background:var(--panel);border-radius:14px;gap:4px;padding:16px 18px;display:grid}.stat-label{color:var(--muted);font-size:12px}.stat-value{letter-spacing:-.02em;font-size:22px;font-weight:700}.indicator-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.indicator{background:#00000008;border-radius:12px;gap:4px;padding:14px 16px;display:grid}.seg{background:#0000000d;border:0;border-radius:16px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:22px;padding:7px 15px;font-size:12.5px;transition:color .2s,background .2s,box-shadow .2s}.seg button:hover{color:#1d1d1f}.seg button.on{color:#1d1d1f;background:#fff;font-weight:600;box-shadow:0 1px 4px #0000001f}.supplier-toolbar{align-items:center}.price-warning{color:#a45100;background:#fff2df;border-radius:9px;margin-bottom:12px;padding:9px 12px;font-size:12px}.price-attention{background:#fff3e061}.price-badge{vertical-align:1px;margin-left:8px}.settings-note{padding-bottom:0}.settings-intro{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;font-size:13px;display:flex}.inline-form{background:#2d6f9d0a;border-radius:12px;align-items:end;gap:14px;margin:0 0 14px;padding:14px;display:flex}.inline-form .field{flex:1}.inline-form .form-actions{margin:0}.inline-edit{align-items:center;gap:6px;display:inline-flex}.inline-edit-input{border:1px solid var(--brand);width:170px;min-height:30px;font:inherit;background:#fff;border-radius:8px;padding:4px 10px;font-size:12.8px;font-weight:600}.inline-edit-input:focus{outline:none;box-shadow:0 0 0 3px #2d6f9d21}.right{text-align:right;white-space:nowrap}.table .btn+.btn{margin-left:6px}.btn.danger{color:#b42318}.category-manager{padding:3px 2px 0}.category-hint{color:var(--muted);margin:0 0 6px;font-size:12.4px;line-height:1.7}.category-settings{gap:0;display:grid}.category-row{border-top:1px solid #0000000f;border-radius:8px;align-items:flex-start;gap:14px;padding:13px 2px;transition:background .14s;display:flex}.category-row:first-child{border-top:0;padding-top:4px}.category-name{flex:0 0 145px;align-items:center;gap:7px;min-width:0;padding-top:2px;display:flex}.category-name strong{color:#1d1d1f;white-space:nowrap;font-size:13.2px;font-weight:600}.category-kind{color:var(--faint);white-space:nowrap;font-size:11px}.category-subs{flex-wrap:wrap;flex:1;align-content:center;align-items:center;gap:6px;min-width:0;min-height:26px;padding-top:1px;display:flex}.sub-chip{color:#6a7a8e;white-space:nowrap;background:#f5f7fa;border:1px solid #0000000f;border-radius:999px;align-items:center;gap:5px;padding:4px 7px 4px 9px;font-size:12px;line-height:1.25;display:inline-flex}.sub-chip button{color:#b6c0cc;cursor:pointer;background:0 0;border:0;padding:0 1px;font-size:15px;font-weight:700;line-height:1;transition:color .14s}.sub-chip button:hover{color:#c62828}.category-inline-add{flex:none;align-items:center;gap:5px;padding-top:1px;display:flex}.category-inline-add input{border:0;border-bottom:1px dashed var(--line);color:#1d1d1f;width:132px;min-height:28px;font:inherit;background:0 0;border-radius:0;outline:0;padding:3px 2px;font-size:12.6px}.category-inline-add input::placeholder{color:var(--faint)}.category-inline-add input:focus{border-bottom-color:var(--brand);box-shadow:none}.app-shell{grid-template-columns:208px 1fr;height:100vh;min-height:0;overflow:hidden}.sidebar{overscroll-behavior:contain;-webkit-backdrop-filter:blur(28px)saturate(1.4);backdrop-filter:blur(28px)saturate(1.4);background:#ffffffc7;border-right:1px solid #0000000d;height:100vh;min-height:0;padding:18px 12px 12px;overflow-y:auto}main{overscroll-behavior:contain;height:100vh;min-height:0;overflow:hidden auto}.brand{border-bottom:1px solid #0000000d;gap:11px;margin-bottom:4px;padding:4px 4px 16px}.brand-copy{min-width:0}.brand strong{letter-spacing:-.01em;color:#1d1d1f;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;line-height:1.18;overflow:hidden}.brand span{color:#86868b;letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.main-nav{gap:2px;padding-top:2px;display:grid;overflow:auto}.main-nav button{color:#1d1d1f;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;width:100%;padding:8px 10px;font-size:13px;transition:background .18s,color .18s;display:flex}.main-nav button.active{color:#000;box-shadow:inset 2.5px 0 0 var(--brand);background:#00000014;font-weight:650}.main-nav button.expanded{color:#1d1d1f;font-weight:650}.nav-icon{color:#69717a;place-items:center;width:22px;height:22px;transition:color .18s;display:grid}.nav-caret{color:var(--muted);margin-left:auto;font-size:18px;line-height:1}.main-nav button.expanded .nav-caret,.main-nav button.active .nav-caret{transform:rotate(90deg)}.nav-separator{background:var(--line);height:1px;margin:8px 4px}.nav-children{gap:1px;padding:4px 0 6px 27px;display:grid}.main-nav .nav-children button{color:#69717a;border-radius:8px;padding:7px 10px;font-size:12.5px;transition:background .18s,color .18s;position:relative}.main-nav .nav-children button:hover{color:#1d1d1f;background:#0000000a}.main-nav .nav-children button.active{color:#2d6f9d;box-shadow:none;background:linear-gradient(90deg,#2d6f9d1a,#2d6f9d0a);font-weight:600}.main-nav .nav-children button.active:before{background:var(--brand);content:"";border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:-10px;transform:translateY(-50%);box-shadow:0 0 0 3px #2d6f9d2e}.sidebar-footer{background:#ffffff59;border-top:1px solid #0000000d;gap:8px;min-width:0;padding:14px 4px 4px;font-size:10.8px}.topbar{z-index:5;justify-content:initial;-webkit-backdrop-filter:blur(20px)saturate(1.2);backdrop-filter:blur(20px)saturate(1.2);background:#ffffffb8;border-bottom:1px solid #0000000f;gap:10px;min-height:60px;padding:9px 22px;position:sticky;top:0}.topbar-icon{color:#55677c;background:#f2f5f8;border-radius:9px;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.topbar h1{font-size:14.5px}.topbar p{color:#86868b;margin-top:1px;font-size:11.5px}.saved-chip{border:1px solid var(--line);color:#5b6b7d;white-space:nowrap;background:#f5f7fa;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;display:inline-flex}.saved-chip i{background:#34c759;border-radius:50%;width:6px;height:6px}.topbar-guide{border:1px solid var(--line);color:#556675;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:5px;height:32px;min-height:32px;max-height:32px;padding:0 11px;font-size:12.5px;font-weight:500;line-height:1;transition:all .18s;display:inline-flex}.topbar-guide:hover{color:var(--brand);background:var(--brand-soft);border-color:#2d6f9d4d}.topbar-guide>svg{flex-shrink:0;width:14px;height:14px;transition:transform .18s}.topbar-guide:hover>svg{transform:scale(1.08)}.content{max-width:1500px;padding:22px 24px 70px}.rf-card{background:#fffc;border-radius:24px}.rf-card h3{background:#ffffff8c;border-radius:24px 24px 0 0;align-items:center;padding:15px 20px;font-size:14px;display:flex}.rf-card h3:before{background:var(--brand);content:"";border-radius:2px;width:3px;height:15px;margin-right:9px}.rf-card h3 .r{color:var(--muted);margin-left:auto;font-size:12px;font-weight:400}.rf-card h3 .r>*+*{margin-left:8px}.card-title-stack{gap:1px;display:grid}.card-title-sub{color:var(--muted);font-size:12.2px;font-weight:400}.record-basic-grid{grid-template-columns:150px 120px minmax(220px,1fr)}.section-caption{color:#86868b;margin:-2px 0 14px;font-size:12.5px}.income-payment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.income-payment-cell{background:#fff;border:1px solid #e5e8ed;border-radius:14px;gap:11px;padding:14px;display:grid}.income-payment-cell>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.income-payment-cell strong{font-size:13px}.income-payment-cell input{box-sizing:border-box;border:1px solid var(--line);color:#1d1d1f;width:100%;font:600 13px/1.2 var(--font,-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);font-variant-numeric:tabular-nums;border-radius:9px;padding:9px 10px}.income-payment-cell input:focus{border-color:var(--brand);outline:2px solid #2d6f9d40}.income-page{display:block}.income-shell{-webkit-backdrop-filter:blur(20px)saturate(1.2);backdrop-filter:blur(20px)saturate(1.2);background:#fffc;border:1px solid #ffffffa6;border-radius:24px;overflow:hidden;box-shadow:0 4px 24px #0000000f,0 1px 3px #0000000a}.income-tabs{background:#ffffff6b;border-bottom:1px solid #0000000f;align-items:center;gap:2px;min-height:51px;padding:0 14px 0 6px;display:flex}.income-tabs button{color:#6e6e73;cursor:pointer;font:600 13.2px/1 var(--font,-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);background:0 0;border:0;border-bottom:2.5px solid #0000;align-self:stretch;padding:0 14px}.income-tabs button:hover{color:#1d1d1f}.income-tabs button.on{border-bottom-color:var(--brand);color:var(--brand-d)}.income-date-chip{color:#2d6f9d;white-space:nowrap;background:#eef5ff;border:1px solid #d3e0fd;border-radius:999px;align-items:center;padding:5px 12px;font-size:12px;display:inline-flex}.income-shell-body{gap:12px;padding:18px 20px;display:grid}.income-shell-body.records-body{gap:0;padding:0}.income-panel{background:#ffffff80;border:1px solid #ffffffb8;border-radius:20px;overflow:hidden}.income-panel>header{background:#ffffff73;border-bottom:1px solid #0000000f;align-items:center;gap:12px;padding:9px 14px;display:flex}.income-panel>header strong{color:#233d55;font-size:12.6px}.income-panel>header span{color:#8e99a8;text-align:right;margin-left:auto;font-size:11.5px}.income-panel>header .btn{margin-left:2px}.income-panel-body.record-basic-grid{grid-template-columns:minmax(158px,220px) minmax(140px,200px) minmax(220px,1fr);align-items:end;gap:16px;display:grid}.income-page .field label{color:#5d7086}.income-page .income-payment-grid{grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:12px}.income-page .income-payment-cell{background:#ffffff9e;border-color:#ffffffb3;border-radius:16px;gap:0;padding:10px 12px 12px;box-shadow:0 1px 2px #10182808}.income-page .income-payment-cell>div{justify-content:flex-start;min-height:19px;margin-bottom:7px}.income-page .income-payment-cell strong{color:#6e6e73;text-overflow:ellipsis;white-space:nowrap;font-size:12.4px;font-weight:500;overflow:hidden}.income-page .income-payment-cell .badge{margin-left:6px}.income-page .income-help-icon{color:#4275ac;cursor:pointer;background:#f4f8ff;border:1px solid #9bb7d5;border-radius:50%;place-items:center;width:19px;height:19px;padding:0;font-size:12px;font-weight:700;display:inline-grid}.income-page .income-help-icon:focus-visible{outline-offset:2px;outline:3px solid #2d6f9d33}.income-composition-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.income-composition-tabs button{min-width:74px}.income-composition-total{color:#8e99a8;white-space:nowrap;margin-left:auto;font-size:12px}.income-composition-total strong{color:#233d55;font-variant-numeric:tabular-nums;margin-left:6px;font-size:14.5px}.income-channel-help-body{color:#425466;padding:16px 22px;line-height:1.7}.income-record-edit-body{padding:18px 22px;display:block}.income-record-edit-body>*+*{margin-top:14px}.supplier-payment-bills{gap:10px;margin:18px 0;display:grid}.supplier-payment-bills-title{color:#233d55;justify-content:space-between;align-items:center;font-size:13px;display:flex}.supplier-payment-bills-title label{color:var(--muted);cursor:pointer;align-items:center;gap:7px;font-size:12px;font-weight:500;display:inline-flex}.supplier-payment-table{border:1px solid #dce7ed;border-radius:12px;overflow:hidden}.supplier-payment-table-head,.supplier-payment-bill{grid-template-columns:48px minmax(132px,1.2fr) minmax(82px,.65fr) minmax(108px,.85fr) minmax(108px,.85fr) minmax(120px,1fr);align-items:center;gap:8px;display:grid}.supplier-payment-table-head{color:#8296a2;background:#f7fafc;min-height:38px;padding:0 12px;font-size:11.5px;font-weight:700}.supplier-payment-bill{color:#344c59;border-top:1px solid #e8eff3;min-height:62px;padding:9px 12px;font-size:12.5px}.supplier-payment-bill.selected{background:#fbfdff}.supplier-payment-bill>label{align-items:center;display:flex}.supplier-payment-bill>span{min-width:0}.supplier-payment-bill>span>b{color:#425a69;display:block}.supplier-payment-bill>span>small{color:#9aabb4;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;display:block;overflow:hidden}.supplier-allocation-input{box-sizing:border-box;color:#24313a;text-align:right;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #dce7ed;border-radius:8px;width:100%;min-height:36px;padding:7px 9px}.supplier-allocation-input:focus{border-color:var(--brand);outline:0;box-shadow:0 0 0 3px #2d6f9d1f}.dialog-card.supplier-payment-dialog{flex-direction:column;width:min(920px,100%);max-height:min(92vh,940px);display:flex}.supplier-payment-dialog>header{flex:none}.supplier-payment-dialog-body{min-height:0;padding:18px 22px 22px;overflow:auto}.supplier-payment-dialog .supplier-panel-actions{background:#fff;border-top:1px solid #e8eff3;flex:none;justify-content:flex-end;margin:0;padding:14px 22px}.supplier-payment-meta{background:#f7fafc;border-radius:12px;grid-template-columns:1fr 1fr 1.15fr;gap:16px;padding:15px 17px;display:grid}.supplier-payment-error{margin-bottom:14px;padding:10px 12px}.supplier-payment-summary{background:#f3f7ff;border:1px solid #dbe8f6;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(170px,1.15fr);align-items:center;gap:16px;padding:14px 16px;display:grid}.supplier-payment-summary>div{gap:4px;display:grid}.supplier-payment-summary b{color:#243b49;font-variant-numeric:tabular-nums;font-size:15px}.supplier-payment-summary p{color:#47779c;margin:0;font-size:11.5px;line-height:1.5}.supplier-payment-summary.has-difference{background:#fff8eb;border-color:#efd7a9}.supplier-payment-summary.has-difference p,.supplier-payment-summary.has-difference>div:last-of-type b{color:#9c5a00}.supplier-payment-rule{color:#869aa6;margin:14px 0 18px;font-size:11.5px;line-height:1.65}.supplier-payment-note textarea{resize:vertical;min-height:78px}.supplier-payment-proof{margin-top:17px}.supplier-payment-proof-title{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.supplier-payment-proof-title>label{margin:0}.supplier-payment-proof-drop{color:#8ba0ad;cursor:pointer;text-align:center;background:#fbfdfe;border:1px dashed #c7d9e5;border-radius:11px;align-content:center;place-items:center;gap:5px;min-height:112px;display:grid;overflow:hidden}.supplier-payment-proof-drop:hover{border-color:var(--brand);background:#f4f9fc}.supplier-payment-proof-drop>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.supplier-payment-proof-drop>b{width:30px;height:30px;color:var(--brand);background:#fff;border:1px solid #d4e2ea;border-radius:9px;place-items:center;font-size:18px;display:grid}.supplier-payment-proof-drop>span{color:#6f8795;text-overflow:ellipsis;white-space:nowrap;max-width:90%;font-size:12.5px;overflow:hidden}.supplier-payment-proof-drop.has-proof{text-align:left;grid-template-columns:auto minmax(0,1fr);justify-items:start;min-height:86px;padding:10px 14px}.supplier-payment-proof-preview{object-fit:cover;border:1px solid #dce7ed;border-radius:8px;width:78px;height:62px;display:block}.income-page .income-payment-cell input{box-sizing:border-box;text-align:right;background:#f2f2f7;border-color:#0000;border-radius:12px;min-height:38px}.income-page .income-payment-cell:focus-within{background:#fff;border-color:#2d6f9d}.badge.info{color:#2d6f9d;background:#eef5ff}.income-actions{gap:10px;margin-top:4px;display:flex}.income-shell-body.photo-body{min-height:610px;padding:18px 20px 52px;display:block}.ocr-card{background:#ffffffa8;border:1px solid #ffffffb3;border-radius:22px;min-height:522px;overflow:hidden;box-shadow:0 6px 24px #0000000e}.ocr-card-header{background:#fff9;border-bottom:1px solid #0000000f;align-items:center;min-height:52px;padding:0 20px;display:flex}.ocr-card-header>strong{color:#252a31;align-items:center;font-size:14px;display:flex}.ocr-card-header>strong:before{content:"";background:#8b3dff;border-radius:3px;width:3px;height:17px;margin-right:10px}.ocr-card-header span{color:#86868b;margin-left:auto;font-size:11.5px}.ocr-card-header .ai-quota-panel{color:#74669b;white-space:nowrap;background:#f1edfa;border-radius:999px;flex:none;align-items:center;gap:6px;margin-left:auto;padding:4px 12px 4px 5px;font-size:11.5px;line-height:1;display:inline-flex}.ocr-card-header .ai-quota-panel .ai-quota-ico{color:#8b75bd;background:#fff;border-radius:999px;flex:none;place-items:center;width:20px;height:20px;margin:0;display:grid;box-shadow:0 1px 2px #69539d29}.ocr-card-header .ai-quota-panel .ai-quota-ico svg{width:12px;height:12px}.ocr-card-header .ai-quota-panel .ai-quota-copy{color:#74669b;align-items:baseline;gap:4px;margin:0;font-size:11.5px;font-weight:500;display:inline-flex}.ocr-card-header .ai-quota-panel .ai-quota-copy strong{color:#5b4590;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.ocr-card-header .ai-quota-panel.is-inactive .ai-quota-ico{color:#93a5af;box-shadow:none}.ocr-card-body{padding:18px 20px 22px}.ocr-template-mini{color:#54708e;white-space:nowrap;background:#f4f8ff;border:1px solid #d8e5f2;border-radius:999px;align-items:center;gap:5px;margin-left:10px;padding:3px 4px 3px 7px;font-size:11px;line-height:1;display:inline-flex}.ocr-template-mini>span{color:inherit;font-size:inherit;margin-left:0}.ocr-template-mini .ocr-document-icon{filter:grayscale(.35);flex:none;font-size:13px}.ocr-template-mini button{color:var(--brand);cursor:pointer;font:inherit;background:#e2edff;border:0;border-radius:999px;padding:3px 7px;font-weight:650}.ocr-template-mini button:hover{background:#d4e5ff}.ocr-status-note{color:#9c5a00;background:#fff7e8;border-radius:10px;margin:-3px 0 14px;padding:9px 12px;font-size:11.5px;line-height:1.55}.income-ocr-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:30px;display:grid}.income-ocr-layout.single-column{grid-template-columns:minmax(0,680px)}.ocr-work-panel{min-width:0}.ocr-work-panel>header{border-bottom:1px solid #0000000f;align-items:center;min-height:36px;padding:0 14px;display:flex}.ocr-work-panel>header strong{color:#233d55;font-size:12.6px}.ocr-work-panel>header span{color:#8e99a8;text-align:right;margin-left:auto;font-size:11.5px}.ocr-work-body{padding:13px 14px 0}.ocr-field{margin-bottom:13px}.income-page .ocr-field select{background:#f2f2f7;min-height:38px}.ocr-file-button{color:#55677c;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#dedee3;border-radius:999px;justify-content:center;align-items:center;min-height:38px;padding:7px 14px;font-size:12px;font-weight:650;display:flex;overflow:hidden}.ocr-file-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.ocr-file-button.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.ocr-selected-file{background:#f8fbfd;border:1px solid #cfdce6;border-radius:10px;align-items:center;gap:8px;min-height:38px;padding:5px 6px 5px 12px;display:flex}.ocr-selected-file>span{color:#435567;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.ocr-selected-file .ocr-file-button.compact{min-height:30px;padding:5px 9px;font-size:12px}.ocr-selected-file .btn{flex:none}.ocr-start{margin:1px 0 12px;padding:8px 17px}.ocr-preview{color:#9aa1aa;background:#ffffff9e;border:1px dashed #cfd8e5;border-radius:11px;place-items:center;min-height:54px;padding:10px;font-size:12px;display:grid;overflow:hidden}.ocr-preview.has-image{min-height:180px}.ocr-preview img{object-fit:contain;border-radius:8px;max-width:100%;max-height:230px;display:block}.ocr-result-empty{color:#a1a1a6;text-align:center;background:#ffffff9e;border:1px solid #00000017;border-radius:11px;place-items:center;min-height:280px;padding:20px;font-size:12px;display:grid}.dialog-card.ocr-result-dialog{flex-direction:column;width:min(1120px,100%);max-height:min(860px,100vh - 48px);display:flex}.ocr-result-dialog-body{min-height:0;padding:18px 22px 22px;overflow:auto}.ocr-review-layout{grid-template-columns:var(--ocr-review-image-col,minmax(220px, 36%)) 10px minmax(0, 1fr);align-items:start;gap:16px;display:grid}.ocr-review-layout.no-image{grid-template-columns:minmax(0,1fr)}.ocr-review-splitter{cursor:col-resize;touch-action:none;background:#e3ebf4;border-radius:999px;place-self:stretch center;width:10px;position:relative}.ocr-review-splitter:before{content:"";background:#b6c8da;border-radius:2px;width:2px;height:46px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ocr-review-splitter:hover,.ocr-review-splitter.dragging{background:#d3e2f1}.ocr-review-splitter:hover:before,.ocr-review-splitter.dragging:before,.ocr-review-splitter:focus-visible:before{background:var(--brand)}.ocr-review-splitter:focus-visible{outline-offset:2px;outline:2px solid #2d6f9d66}body.ocr-review-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.ocr-review-image{background:#fff;border:1px solid #e7edf5;border-radius:12px;gap:8px;max-height:62vh;padding:12px;display:grid;position:sticky;top:0;overflow:auto}.ocr-review-image img{object-fit:contain;max-width:100%;height:auto;display:block}.ocr-review-fields{min-width:0}.ocr-result-dialog .ocr-result-empty{min-height:220px}.ocr-result-dialog .ocr-draft-editor{gap:14px;display:grid}.ocr-result-dialog .ocr-draft-line{margin:0}.ocr-required-hint{color:#47647c;background:#f2f8fc;border:1px solid #d9e7f2;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.6}.ocr-required-hint strong{color:#285e83}.ocr-required-error{color:#a33328;background:#fff3f1;border:1px solid #efb9b3;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.6}.ocr-result-dialog input[aria-invalid=true],.ocr-result-dialog select[aria-invalid=true]{outline:none;box-shadow:0 0 0 1px #d64b4014;background:#fff6f5!important;border:1px solid #d64b40!important}.ocr-income-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.income-review-editor{gap:16px!important}.income-review-note{color:#52677f;background:#f6f9fd;border:1px solid #dce7f5;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:12px;display:flex}.income-review-note span:last-child{color:#75869a;font-variant-numeric:tabular-nums;flex:none}.income-review-table{border:1px solid var(--line);background:#ffffffb8;border-radius:12px;overflow-x:auto}.income-review-head,.income-review-row{grid-template-columns:34px minmax(112px,.72fr) minmax(150px,1.05fr) minmax(112px,.72fr) auto;align-items:center;gap:12px;display:grid}.income-review-head{color:#71839a;background:#f7f8fb;min-height:38px;padding:0 14px;font-size:11.5px;font-weight:650}.income-review-row{border-top:1px solid var(--line);min-height:66px;padding:10px 14px}.income-review-index{color:#57708c;font-variant-numeric:tabular-nums;background:#eef4fb;border-radius:8px;place-items:center;width:25px;height:25px;font-size:10.5px;font-weight:700;display:grid}.income-review-field{min-width:0}.income-review-field>span{display:none}.income-review-field input,.income-review-field select{color:#292d32;width:100%;min-height:38px;font:inherit;background:#f2f3f7;border:0;border-radius:9px;font-size:13px}.income-review-field input{padding:0 11px}.income-review-field select{padding:0 28px 0 11px}.income-review-amount input{font-variant-numeric:tabular-nums;font-weight:650}.income-review-hint{color:var(--muted);margin:-4px 0 0;font-size:11.5px}.income-review-delete,.income-mapping-delete{color:#ba4a31;cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:8px;font-size:11.5px;font-weight:650}.income-review-delete:hover,.income-mapping-delete:hover{color:#a13922;background:#fff0ec}.income-review-delete:disabled{cursor:not-allowed;opacity:.38}.income-restore-note{color:#69798c;background:#f7f8fb;border-radius:9px;align-items:center;gap:8px;padding:9px 11px;font-size:11.5px;display:flex}.income-restore-note button{color:var(--brand);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:700}.expense-review-editor{gap:14px!important}.expense-review-card{border:1px solid var(--line);background:#ffffffb8;border-radius:12px}.expense-review-card>header{border-bottom:1px solid var(--line);background:#f7f8fb;border-radius:12px 12px 0 0;align-items:center;gap:8px;min-height:39px;padding:0 13px;display:flex}.expense-review-card>header>span{color:#405973;font-size:12px;font-weight:700}.expense-review-card>header small{color:#7b8ba0;font-size:11px}.expense-review-card>header .income-review-delete{margin-left:auto}.expense-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:13px;display:grid}.expense-review-grid .field{min-width:0;margin:0}.expense-review-grid .field input,.expense-review-grid .field select{background:#f2f3f7;width:100%;min-height:37px}.expense-supplier-field{grid-column:span 1}.expense-note-field{grid-column:span 2}.income-channel-dialog{width:min(480px,100%)}.dialog-form{padding:20px 22px}.subcategory-dialog{width:min(480px,100%)}.subcategory-dialog .ocr-status-note{margin:0 0 12px}.subcategory-similar{background:#f2f6fa;border-radius:10px;margin-top:2px;padding:10px 12px}.subcategory-similar p{color:#4b5563;margin:0 0 6px;font-size:12px;font-weight:600}.subcategory-similar ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.subcategory-similar li{color:#24313a;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.subcategory-similar li small{color:#64748b;font-size:11.5px}.supplier-suggest{width:100%;position:relative}.name-suggest{z-index:40;background:#fff;border:1px solid #d7e1ea;border-radius:10px;min-width:210px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 10px 26px #16374a2e}.name-suggest>p{color:#64748b;white-space:nowrap;margin:0 0 4px;padding:0 4px;font-size:11px;font-weight:600}.name-suggest ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.name-suggest li button{color:#24313a;width:100%;font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;font-size:12.5px;display:flex}.name-suggest li button:hover{background:#e3eef7}.name-suggest li button small{color:var(--brand);font-size:11px;font-weight:600}.income-alignment-dialog{flex-direction:column;width:min(760px,100%);max-height:min(780px,100vh - 48px);display:flex}.expense-alignment-dialog{width:min(860px,100%)}.income-alignment-body{gap:18px;min-height:0;padding:20px 22px;display:grid;overflow:auto}.income-alignment-body section{gap:9px;display:grid}.income-alignment-body h3{color:#233d55;margin:0;font-size:13px}.income-alignment-body p,.alignment-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.expense-alignment-dialog .expense-review-card+.expense-review-card{margin-top:12px}.expense-align-actions{display:flex}.expense-unify-bar{background:#f5f9ff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;font-size:12px;display:flex}.expense-unify-bar label{color:#5b6a7f;align-items:center;gap:8px;display:inline-flex}.expense-unify-bar input{border:1px solid var(--line);background:#fff;border-radius:6px;padding:3px 8px;font-size:12px}.expense-unify-bar small{color:var(--muted)}.expense-align-total{color:#5b6a7f;background:#f5f9ff;border-radius:10px;align-items:baseline;gap:12px;padding:10px 12px;font-size:12px;display:flex}.expense-align-total b{color:#233d55;font-size:15px}.income-mapping-row{border:1px solid var(--line);background:#ffffff9e;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr) auto;align-items:center;gap:14px;padding:10px 12px;display:grid}.income-mapping-row>div{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;display:flex}.income-mapping-row b{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.income-mapping-row span{color:#2d6f9d;white-space:nowrap;font-size:13px;font-weight:700}.income-mapping-source>div{align-items:center;gap:7px;min-width:0;display:flex}.income-mapping-source em{border-radius:999px;flex:none;padding:2px 6px;font-size:10px;font-style:normal;font-weight:700;line-height:1.25}.income-channel-matched{color:#17763a;background:#e7f7ec}.income-channel-new{color:#c2410c;background:#fff0e7}.income-mapping-choice{gap:7px;min-width:0;display:grid}.income-mapping-choice select,.income-mapping-choice input{min-width:0}.income-mapping-choice input{min-height:34px}.income-source-mode{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.income-source-mode button{border:1px solid var(--line);color:#51657e;cursor:pointer;text-align:left;background:#ffffff9e;border-radius:10px;gap:3px;padding:11px 13px;display:grid}.income-source-mode button b{color:#2b4662;font-size:12px}.income-source-mode button span{color:#7b8ba0;font-size:11px}.income-source-mode button.active{background:#f1f7ff;border-color:#91c6ff;box-shadow:inset 0 0 0 1px #1473e614}.income-source-mode button.active b{color:var(--brand)}.income-total-check{border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px;font-size:12px;display:flex}.income-total-check.ok{color:#147a39;background:#e8f7ed}.income-total-check.warn{color:#9c5a00;background:#fff7e8}.income-total-check b{margin-left:auto}.income-total-check .income-total-report{align-items:center;gap:6px;display:inline-flex}.income-total-check .income-total-report input{width:104px;color:inherit;font-variant-numeric:tabular-nums;background:#ffffffb3;border:1px solid #0000002e;border-radius:6px;padding:3px 8px;font-size:12px}.income-record-switch{border-bottom:1px solid var(--line);align-items:flex-end;gap:14px;padding:16px 20px;display:flex}.income-record-switch .field{flex:0 200px;min-width:150px}.record-filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.record-filter-bar input[type=search],.record-filter-bar select{box-sizing:border-box;border:1px solid var(--line);color:#24313a;height:38px;min-height:38px;font:inherit;background:#fff;border-radius:8px;padding:6px 10px;font-size:13.5px}.record-filter-bar input[type=search]{appearance:none;width:168px}.record-filter-bar input[type=search]::placeholder{color:#8a99a8}.record-filter-bar select{color:#3f4f5a;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:11px;padding-right:24px}.record-filter-bar input[type=search]:focus,.record-filter-bar select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #2d6f9d1f}.record-filter-bar .link{white-space:nowrap;font-size:13px}.note-clip{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:240px;display:inline-block;overflow:hidden}.record-pager{padding:0 20px 4px}.income-record-heading{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:15px 20px;display:flex}.income-record-heading strong{font-size:14px}.income-record-heading strong:before{background:var(--brand);vertical-align:-2px;content:"";border-radius:2px;width:3px;height:15px;margin-right:9px;display:inline-block}.income-record-heading span{color:var(--muted);margin-left:auto;font-size:12px}.income-record-heading .btn{flex-shrink:0}.income-table-wrap{overflow:auto}.income-matrix th,.income-matrix .income-matrix-date{white-space:nowrap}.income-matrix thead th{z-index:1;position:sticky;top:0}.income-matrix th.disabled-col{color:var(--muted)}.income-matrix td.zero{color:var(--muted);opacity:.55}.income-matrix tbody tr.row-link{cursor:pointer}.income-matrix tbody tr.row-link:hover{background:#2d6f9d14}.income-matrix tfoot td{background:#fafcff;position:sticky;bottom:0}.cash-count-feedback{gap:8px;display:grid}.cash-count-history-item{border:1px solid var(--line);background:#fff;border-radius:10px;gap:6px;padding:12px 14px;display:grid}.cash-count-history-meta{color:#38576d;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;font-size:12px;display:flex}.cash-count-history-meta time{color:var(--muted);font-variant-numeric:tabular-nums}.cash-count-history-amount,.cash-count-history-reason{margin:0}.cash-count-history-amount{color:#425b6e;font-variant-numeric:tabular-nums;font-size:15px}.cash-count-history-reason{color:var(--muted);font-size:12px;line-height:1.5}.cash-count-history-detail{color:var(--muted);gap:6px;margin-top:4px;font-size:12px;line-height:1.5;display:grid}.cash-count-history-detail p{margin:0}.cash-count-actions-heading,.cash-count-actions-cell{text-align:left!important}.cash-count-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;display:flex}.income-record-totals{border-top:1px solid var(--line);align-items:center;gap:26px;padding:14px 20px;display:flex}.income-record-totals>div{gap:3px;display:grid}.income-record-totals span{color:var(--muted);font-size:12px}.income-record-totals strong{font-variant-numeric:tabular-nums;font-size:17px}.duplicate-income-dialog{width:min(640px,100%)}.duplicate-income-body{gap:14px;padding:20px 22px;display:grid}.duplicate-income-warning{color:#8a5a08;background:#fff8e8;border:1px solid #f1d7a2;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.5}.duplicate-income-table{border:1px solid var(--line);background:#ffffffb8;border-radius:11px;overflow:hidden}.duplicate-income-row{border-top:1px solid var(--line);color:#33465a;grid-template-columns:1.1fr 1.35fr .95fr .8fr;align-items:center;gap:10px;min-height:39px;padding:0 12px;font-size:12px;display:grid}.duplicate-income-row:first-child{border-top:0}.duplicate-income-row b{color:var(--brand);font-variant-numeric:tabular-nums}.duplicate-income-head{min-height:34px;color:var(--muted);background:#f7f8fb;font-size:11px}.duplicate-income-hint{color:var(--muted);margin:0;font-size:11.5px;line-height:1.6}.duplicate-records-return-note{color:#315a82;background:#f3f8ff;border:1px solid #d6e7fb;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;margin:16px 20px 0;padding:10px 12px;font-size:12px;display:flex}.duplicate-records-return-note>div{flex:none;gap:8px;display:flex}@media (width<=1050px){.income-ocr-layout{gap:16px}}@media (width<=820px){.income-panel-body.record-basic-grid,.income-ocr-layout{grid-template-columns:1fr}.income-tabs{overflow-x:auto}.income-composition-toolbar{flex-wrap:wrap}.ocr-card-header>span{display:none}.ocr-template-mini{margin-left:auto}.income-record-totals{flex-wrap:wrap;align-items:flex-start}.income-record-totals .spacer,.income-review-head{display:none}.income-review-row{grid-template-columns:26px minmax(0,1fr) minmax(0,1fr);gap:8px}.income-review-index{grid-row:span 2;width:22px;height:22px}.income-review-field>span{color:#71839a;margin:0 0 4px;font-size:10.5px;font-weight:650;display:block}.income-review-date{grid-column:2}.income-review-amount{grid-column:3}.income-review-channel{grid-column:2}.income-review-delete{grid-column:3;place-self:end;min-height:38px}.income-review-note{flex-direction:column;align-items:flex-start;gap:4px}.income-mapping-row{grid-template-columns:minmax(0,1fr) auto;gap:9px}.income-mapping-choice{grid-column:1/-1}.income-source-mode{grid-template-columns:1fr}.expense-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.expense-supplier-field,.expense-note-field{grid-column:1/-1}}.flow-page{gap:16px}.flow-overview{grid-template-columns:minmax(220px,340px);display:grid}.flow-overview>div{background:linear-gradient(135deg,#fffaf1,#fff4df);border:1px solid #f0d9b6;border-radius:18px;gap:4px;min-height:94px;padding:16px 18px;display:grid}.flow-overview strong{color:#9c5a00;letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:25px}.flow-table-wrap{overflow-x:auto}.flow-ledger-table .badge{white-space:nowrap}.person-cell{align-items:center;gap:8px;min-width:155px;display:flex}.person-cell>span:last-child{gap:2px;min-width:0;display:grid}.person-cell small,.row-note{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:400;display:block}.person-avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:grid}.avatar-0{background:#2d6f9d}.avatar-1{background:#7c3aed}.avatar-2{background:#ff9500}.avatar-3{background:#34a853}.avatar-4{background:#e55353}.detail-toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin:-2px 0 13px;font-size:12px;display:flex}.detail-toolbar select,.detail-toolbar input[type=month]{border:1px solid var(--line);max-width:160px;font:inherit;color:#24313a;background:#fff;border-radius:8px;padding:6px 8px}.dialog-card.fund-editor-dialog{flex-direction:column;width:min(440px,100%);max-height:min(92vh,860px);display:flex}.fund-editor-dialog .dialog-body{gap:14px;min-height:0;padding:20px 22px}.fund-editor-dialog .field{gap:7px}.fund-editor-dialog .field label{color:#68778b;font-size:12px}.flow-field-hint{color:var(--muted);font-size:11px;font-weight:400}.flow-type-toggle{background:#f7f8fa;border:1px solid #e1e5eb;border-radius:12px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.flow-type-toggle button{min-height:38px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:9px;padding:8px 12px;font-size:12px}.flow-type-toggle button.on{color:var(--brand-d);background:#2d6f9d1f;font-weight:700;box-shadow:0 1px 2px #00000008}.flow-type-toggle button.on.return{color:var(--brand-d);background:#2d6f9d1f}.fund-editor-dialog .field input,.fund-editor-dialog .field select{background:#f3f4f8;border-radius:11px;min-height:40px;padding:9px 12px}.fund-editor-dialog>footer .btn{min-width:88px}.flow-form-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fund-editor-dialog .supplier-payment-proof-drop{min-height:86px}.fund-editor-dialog .supplier-payment-proof-drop .supplier-payment-proof-preview{width:64px;height:52px}.dialog-card.fund-person-dialog{flex-direction:column;width:min(880px,100%);max-height:min(92vh,880px);display:flex}.fund-person-dialog-body{min-height:0;padding:22px 28px 26px;display:block;overflow:auto}.fund-person-dialog-body>*+*{margin-top:18px}.fund-person-summary{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.fund-person-summary>div{border:1px solid var(--line);background:#fff9;border-radius:13px;gap:5px;padding:15px 20px;display:grid}.fund-person-summary span{color:var(--muted);font-size:12px}.fund-person-summary b{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:18px}.fund-person-table-wrap{overflow-x:auto}.fund-person-table-wrap .table{min-width:620px}.fund-person-table-wrap .badge,.fund-person-table-wrap td.num{white-space:nowrap}.fund-person-table-wrap .row-note{margin-top:4px}.fund-person-dialog .table th{padding:12px 16px}.fund-person-dialog .table td{padding:13px 16px}.flow-page .table td .link+.link{margin-left:12px}.fund-flow-actor{white-space:nowrap}.fund-flow-actor .role-badge{margin-left:6px;padding:1px 7px}.supplier-summary{align-items:baseline;gap:10px;min-height:28px;padding:0 2px;display:flex}.supplier-summary span,.supplier-summary small{color:var(--muted);font-size:12px}.supplier-summary strong{color:#a45100;font-variant-numeric:tabular-nums;font-size:18px}.supplier-page{display:block}.supplier-tabs-summary{color:var(--muted);align-items:baseline;gap:8px;margin-left:auto;padding:0 4px 0 16px;font-size:11.5px;display:inline-flex}.supplier-tabs-summary strong{color:#59697b;font-variant-numeric:tabular-nums;font-size:14px}.supplier-shell-body{gap:16px;padding:18px 20px 22px;display:grid}.supplier-shell-body>.banner-error,.supplier-shell-body>.price-entry-notice{margin:0}.supplier-page .field label{color:#5d7086}.supplier-section-heading{justify-content:space-between;align-items:center;gap:18px;min-height:48px;padding:0 2px;display:flex}.supplier-section-heading>div{gap:3px;display:grid}.supplier-section-heading strong{color:#243b53;letter-spacing:-.015em;font-size:16px}.supplier-section-heading span{color:var(--muted);font-size:11.5px;line-height:1.5}.supplier-heading-actions{align-items:center;gap:8px;display:flex}.supplier-form-panel,.supplier-table-panel,.supplier-price-form{box-shadow:0 1px 2px #10182806}.supplier-panel-actions{justify-content:flex-end;gap:10px;padding:0 14px 14px;display:flex}.supplier-table-wrap{min-width:0;overflow-x:auto}.supplier-table-wrap .table{min-width:720px}.supplier-price-tabs{background:#f5f7fae0;border:1px solid #0000000e;border-radius:15px;align-items:center;gap:4px;min-height:46px;padding:4px 5px;display:flex}.supplier-price-tabs button{color:#69798b;cursor:pointer;min-height:36px;font:inherit;background:0 0;border:0;border-radius:11px;padding:0 15px;font-size:12.5px;font-weight:600;transition:background .18s,color .18s,box-shadow .18s}.supplier-price-tabs button:hover{color:#1d1d1f}.supplier-price-tabs button.on{color:var(--brand);background:#fff;box-shadow:0 1px 4px #1e31461f}.supplier-price-tabs>span{color:#8a96a4;text-align:right;margin-left:auto;padding:0 11px;font-size:11.5px}.supplier-price-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.supplier-photo-card{min-height:540px;box-shadow:none}.supplier-photo-card .ocr-card-header .btn{margin-left:12px}.supplier-photo-card .price-photo-upload-layout{grid-template-columns:minmax(0,720px)}.supplier-price-edit-dialog{width:min(720px,100vw - 32px)}.supplier-price-edit-body{padding:20px 22px}.supplier-price-edit-dialog footer .link.danger{padding:7px 2px}@media (width<=900px){.supplier-tabs-summary{display:none}.supplier-price-tabs{flex-wrap:wrap;align-items:stretch}.supplier-price-tabs>span{text-align:left;flex:1 0 100%;padding:4px 10px 7px}.supplier-price-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.debt-month-caption{color:var(--muted);margin:-2px 0 13px;font-size:12px}.debt-month-caption b{color:#a45100}.price-table-tools{color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;margin:-2px 0 12px;font-size:12px;display:flex}.price-table-tools select{border:1px solid var(--line);color:#303036;font:inherit;background:#fff;border-radius:8px;padding:6px 8px}.price-photo-layout{margin-top:2px}.price-photo-upload-layout{max-width:720px;margin-top:2px}.price-photo-caption{color:var(--muted);margin:10px 0 0;font-size:11.5px;line-height:1.55}.dialog-card.purchase-price-result-dialog{grid-template-rows:auto minmax(0,1fr) auto;width:min(1260px,100vw - 48px);height:min(820px,100vh - 48px);min-height:0;max-height:calc(100vh - 48px);display:grid}.dialog-card.purchase-price-result-dialog>header{align-items:center}.dialog-card.purchase-price-result-dialog>header strong{font-size:16px}.dialog-card.purchase-price-result-dialog>.purchase-price-result-body{min-height:0;padding:18px 22px 20px;overflow:hidden auto}.purchase-price-currency-warning{color:#965400;background:#fff7e8;border:1px solid #efcf92;border-radius:11px;gap:4px;margin-bottom:12px;padding:11px 13px;font-size:12px;line-height:1.65;display:grid}.purchase-price-currency-warning strong{color:#7d4500;font-size:12.5px}.purchase-price-required-hint{color:#47647c;background:#f2f8fc;border:1px solid #d9e7f2;border-radius:10px;margin-bottom:12px;padding:10px 13px;font-size:12px;line-height:1.6}.purchase-price-required-hint strong{color:#285e83}.purchase-price-required-error{color:#a33328;background:#fff3f1;border:1px solid #efb9b3;border-radius:10px;margin:-2px 0 12px;padding:10px 13px;font-size:12px;line-height:1.6}.purchase-price-result-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.purchase-price-result-summary>div{background:#f8fafc;border:1px solid #e4eaf1;border-radius:12px;gap:4px;min-width:0;padding:10px 12px;display:grid}.purchase-price-result-summary span{color:var(--muted);font-size:11px}.purchase-price-result-summary b{color:#233d55;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.purchase-price-summary-edit{align-content:start}.purchase-price-summary-edit label{color:var(--muted);font-size:11px}.purchase-price-summary-edit input{color:#233d55;width:100%;min-height:30px;font:inherit;background:0 0;border:0;outline:0;padding:3px 0;font-size:13px;font-weight:700}.purchase-price-summary-edit input:focus{color:var(--brand-d)}.purchase-price-summary-edit input:disabled{color:#718095;cursor:not-allowed}.purchase-price-summary-edit small{color:#8a98a8;font-size:10px;line-height:1.35}.purchase-price-match-note{color:#687a8d;margin-bottom:12px;font-size:11.5px;line-height:1.5}.purchase-price-draft-editor{gap:12px;display:grid}.purchase-price-draft-editor .ocr-status-note{margin:0}.purchase-price-unregistered{color:#8a5a14;background:#fff8e9;border:1px solid #f2d9aa;border-radius:10px;padding:9px 11px;font-size:11.5px;line-height:1.5}.purchase-price-table-wrap{background:#fff;border:1px solid #dfe6ee;border-radius:12px;overflow:auto}.purchase-price-draft-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1050px;font-size:12px}.purchase-price-draft-table th{z-index:1;color:#63768b;text-align:left;white-space:nowrap;background:#f6f8fb;border-bottom:1px solid #dfe6ee;padding:10px 8px;font-size:11px;font-weight:700;position:sticky;top:0}.purchase-price-draft-table td{vertical-align:middle;border-bottom:1px solid #edf0f4;padding:8px}.purchase-price-draft-table tbody tr:last-child td{border-bottom:0}.purchase-price-draft-table tbody tr.is-unselected{opacity:.55}.purchase-price-draft-table input:not([type=checkbox]),.purchase-price-draft-table select{color:#1d1d1f;width:100%;min-width:72px;min-height:34px;font:inherit;background:#f2f3f7;border:1px solid #0000;border-radius:8px;padding:6px 8px}.purchase-price-draft-table input:not([type=checkbox]):focus,.purchase-price-draft-table select:focus{border-color:var(--brand);background:#fff;outline:none;box-shadow:0 0 0 3px #2d6f9d1f}.purchase-price-draft-table input[aria-invalid=true]{background:#fff6f5;border-color:#d64b40;box-shadow:0 0 0 1px #d64b4014}.purchase-price-draft-table td:first-child{text-align:center;width:46px}.purchase-price-draft-table td:nth-child(5) input,.purchase-price-draft-table td:nth-child(6) input{font-variant-numeric:tabular-nums;min-width:78px}.purchase-price-confidence{color:#6f8093;white-space:nowrap;font-size:11px}.dialog-card.purchase-price-result-dialog>.purchase-price-result-footer{z-index:2;border-top:1px solid #0000000f;align-items:center;min-height:68px;display:flex;position:relative}.dialog-card.purchase-price-result-dialog>.purchase-price-result-footer .btn{min-width:132px}@media (width<=900px){.dialog-card.purchase-price-result-dialog{width:calc(100vw - 24px);height:calc(100vh - 24px);max-height:calc(100vh - 24px)}.purchase-price-result-summary{grid-template-columns:1fr}.dialog-card.purchase-price-result-dialog>.purchase-price-result-body{padding:14px}.dialog-card.purchase-price-result-dialog>.purchase-price-result-footer{flex-wrap:wrap;padding:12px 14px}}.today-dashboard,.monthly-dashboard{gap:16px;display:grid}.analytics-section-heading{justify-content:space-between;align-items:end;gap:18px;padding:1px 2px 0;display:flex}.analytics-section-heading h2{letter-spacing:-.025em;margin:5px 0 0;font-size:22px;line-height:1.25}.analytics-section-heading>span{max-width:420px;color:var(--muted);text-align:right;font-size:12px;line-height:1.55}.today-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.today-kpi{border:1px solid var(--line);background:var(--panel);min-height:122px;box-shadow:none;border-radius:22px;align-content:start;gap:0;padding:16px 18px;display:grid}.today-kpi.highlight{background:linear-gradient(145deg,#fffffff5,#e8f4ffe6);border-color:#2d6f9d33}.today-kpi span,.today-kpi small{color:var(--muted);font-size:11px}.today-kpi strong{letter-spacing:-.03em;margin:7px 0 2px;font-size:28px}.today-kpi small .dot{color:#ff9500;vertical-align:middle;margin-right:3px;font-size:10px}.today-reminders{box-shadow:none;background:0 0;border:0;padding:0}.today-reminders-head{justify-content:space-between;align-items:center;gap:18px;margin:0 2px 7px;display:flex}.today-reminders-head h3{align-items:center;margin:0 0 3px;font-size:14px;display:flex}.today-reminders-head h3:before{background:var(--brand);content:"";border-radius:2px;width:3px;height:15px;margin-right:8px}.today-reminders-head span{color:var(--muted);font-size:11.5px}.reminder-controls{gap:7px;display:inline-flex}.reminder-controls button{border:1px solid var(--line);color:#4d5662;cursor:pointer;background:#ffffffd9;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;font-size:18px;line-height:1;transition:background .2s,border-color .2s,transform .2s;display:grid}.reminder-controls button:hover{color:var(--brand);background:#f4f9ff;border-color:#2d6f9d40;transform:scale(1.04)}.reminder-rail{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#d7dce3 transparent;gap:10px;padding:1px 2px 3px;display:flex;overflow-x:auto}.reminder-card{scroll-snap-align:start;background:#ffffffe0;border:1px solid #e7ebf0;border-radius:14px;flex:0 0 330px;grid-template-rows:1fr 1fr;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:8px;min-width:0;height:60px;min-height:60px;padding:7px 10px;display:grid;box-shadow:0 2px 8px #26374a09}.reminder-card.missing-income,.reminder-card.missing-expense{background:linear-gradient(135deg,#fff 0%,#f4f9ff 100%);border-color:#d9e8fb}.reminder-card.count-variance,.reminder-card.outstanding-debt{background:linear-gradient(135deg,#fff 0%,#fff9f1 100%);border-color:#f5dfc4}.reminder-card.negative-balance{background:linear-gradient(135deg,#fff 0%,#fff6f5 100%);border-color:#f4d7d5}.reminder-card strong{color:#303036;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12.5px;line-height:1.25;overflow:hidden}.reminder-card p{display:none}.reminder-card b{color:#303036;font-variant-numeric:tabular-nums;grid-area:2/2;align-self:start;margin:0;font-size:12px}.reminder-card .btn{white-space:nowrap;grid-area:1/3/span 2;align-self:center;margin:0}.reminder-priority{color:#1967b8;background:#eaf2ff;border-radius:999px;grid-row:1/span 2;justify-self:start;padding:2px 6px;font-size:10px;font-weight:650}.count-variance .reminder-priority,.outstanding-debt .reminder-priority{color:#a45100;background:#fff2df}.negative-balance .reminder-priority{color:#b42318;background:#ffeceb}.warn-value{color:#a45100!important}.monthly-heading{margin-top:3px}.monthly-actions{align-items:center;gap:8px;display:flex}.monthly-filter{border:1px solid var(--line);color:var(--muted);background:#ffffffb8;border-radius:999px;align-items:center;gap:7px;padding:4px 9px 4px 11px;font-size:11.5px;display:inline-flex}.monthly-filter input{color:#303036;width:116px;font:inherit;cursor:pointer;background:0 0;border:0;outline:0;padding:0;font-weight:600}.monthly-filter:focus-within{background:#fff;border-color:#2d6f9d59;box-shadow:0 0 0 4px #2d6f9d1a}.analytics-source{color:var(--muted);align-self:end;font-size:11.5px}.account-caption{color:var(--muted);justify-content:space-between;gap:16px;margin:-2px 0 13px;font-size:12px;display:flex}.account-caption b{color:#303036;font-variant-numeric:tabular-nums}.account-dot{background:#8e8e93;border-radius:50%;width:7px;height:7px;margin:0 8px 1px 1px;display:inline-block}.account-dot.cash{background:#2d6f9d}.account-total td{background:#fafcff}.monthly-overview-stack{gap:16px;margin-bottom:16px;display:grid}.mo-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.mo-kpi{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-direction:column;gap:9px;padding:15px 16px 13px;display:flex}.mo-kpi-val,.mo-ring-wrap,.mo-prog{flex:1}.mo-kpi-val,.mo-ring-wrap{align-items:center}.mo-kpi:has(.mo-prog) .mo-prog{flex:none}.mo-kpi-top{align-items:center;gap:9px;display:flex}.mo-kpi-ic{width:27px;height:27px;color:var(--brand);background:#e8f3f8;border-radius:8px;flex:0 0 27px;place-items:center;display:grid}.mo-kpi-ic svg{width:16px;height:16px}.mo-kpi-head{gap:3px;min-width:0;display:grid}.mo-kpi-name{color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:650;display:inline-flex}.mo-kpi-val{color:#29475a;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:8px;font-size:clamp(21px,1.6vw,26px);display:flex}.mo-kpi-val.is-red{color:var(--semantic-danger)}.mo-kpi-aux{color:#7c92a1;border-top:1px solid #eef3f7;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px;font-size:11.5px;display:flex}.mo-kpi-aux b{color:#46606f;font-variant-numeric:tabular-nums}.mo-kpi.is-hero{box-shadow:var(--shadow);background:linear-gradient(135deg,#f4f9fc 0%,#e9f3f9 100%);border-color:#d2e3ed}.mo-kpi.is-hero .mo-kpi-name{color:#344d5d}.mo-kpi.is-hero .mo-kpi-val{color:var(--brand-d)}.mo-kpi.is-hero .mo-kpi-aux{color:var(--muted);border-top-color:#dce8f0}.mo-kpi.is-hero .mo-kpi-aux b{color:#344d5d}.mo-kpi.is-hero .mo-kpi-ic{color:var(--brand);background:#dcecf6}.mo-kpi.is-hero .mo-info{color:#516b7b;background:#e1edf4}.mo-kpi.is-loss{background:linear-gradient(150deg,#fff,#fdf6f5);border-color:#f2cfcc}.mo-kpi.is-loss .mo-kpi-val{color:var(--semantic-danger)}.mo-kpi.is-loss .mo-kpi-ic{color:var(--semantic-danger);background:#fbe7e5}.mo-pill{white-space:nowrap;border-radius:99px;padding:2.5px 8px;font-size:10.5px;font-style:normal;font-weight:650}.mo-pill-win{color:#237a4f;background:#dcf3e7}.mo-pill-loss{color:#c04038;background:#fbe3e1}.mo-info{color:#64748b;cursor:help;background:#e2e8f0;border:0;border-radius:50%;place-items:center;width:16px;height:16px;padding:0;display:inline-grid}.mo-info:hover,.mo-info:focus-visible{background:var(--brand-soft);color:var(--brand-d);outline:none}.mo-tip-note{color:#879aa5;margin:7px 0 0;font-size:11px;line-height:1.6}.mo-ring-wrap{justify-content:center;padding:2px 0;display:flex}.mo-ring{border-radius:50%;place-items:center;width:86px;height:86px;display:grid;position:relative}.mo-ring i{background:#fff;border-radius:50%;position:absolute;inset:9px;box-shadow:inset 0 0 0 1px #3760770f}.mo-ring b{color:#29475a;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px;position:relative}.mo-ring.is-negative b{color:var(--semantic-danger)}.mo-prog{border-top:1px solid #eef3f7;gap:5px;margin-top:auto;padding-top:8px;display:grid}.mo-prog-lr{color:#7c92a1;justify-content:space-between;align-items:baseline;font-size:11px;display:flex}.mo-prog-lr b{color:#237a4f;font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:800}.mo-prog-lr b.is-warn{color:#b26f0f}.mo-prog-track{background:#edf2f6;border-radius:99px;height:7px;position:relative;overflow:visible}.mo-prog-track i{border-radius:99px;height:100%;position:absolute;top:0;left:0}.mo-prog-track i.is-full{background:linear-gradient(90deg,#58b98c,#3d9b73)}.mo-prog-track i.is-under{background:linear-gradient(90deg,#ecc36a,#d99128)}.mo-prog-track em{background:#2f7d57;border-radius:2px;width:3px;height:11px;position:absolute;top:-2px;left:100%}.mo-prog-note{color:#93a5af;font-size:10px;line-height:1.45}.mo-legend{color:#7c92a1;align-items:center;gap:13px;font-size:11px;font-weight:400;display:inline-flex}.mo-legend>span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.mo-sw{border-radius:2px;width:13px;height:8px}.mo-sw-bar{background:#a7cade}.mo-sw-peak{background:#2d6f9d}.mo-sw-pending{background:var(--semantic-warning);height:4px}.mo-summary{color:#5b7484;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:12.5px;display:flex}.mo-summary b{color:#29475a;font-variant-numeric:tabular-nums}.mo-summary-right{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.mo-pending-link{color:#b26f0f;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:11.5px;font-weight:700}.mo-pending-link:hover{text-decoration:underline}.mo-chart{position:relative}.mo-chart svg{width:100%;height:auto;display:block}.mo-bar{fill:#a7cade}.mo-bar:hover{fill:#8db9d6}.mo-bar-peak{fill:#2d6f9d}.mo-bar-stub{fill:var(--semantic-warning);cursor:pointer}.mo-bar-stub:hover{fill:#c07d1f}.mo-tip{z-index:5;color:#fff;white-space:nowrap;pointer-events:none;background:#22303c;border-radius:8px;padding:6px 10px;font-size:11px;line-height:1.5;position:absolute;transform:translate(-50%,-130%);box-shadow:0 8px 18px #22303c47}.mo-tip b{font-size:11.5px;display:block}.mo-foot{border-top:1px dashed var(--line);color:#93a5af;margin:9px 0 0;padding-top:8px;font-size:10.5px;line-height:1.6}.mo-prog-lr b.is-zero{color:#7c92a1}@media (width<=1280px){.mo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.mo-kpis .mo-kpi:last-child{grid-column:1/-1}}@media (width<=560px){.mo-kpis{grid-template-columns:1fr}}.profit-help-popover{z-index:100;color:#465d70;white-space:normal;background:#fff;border:1px solid #d9e5ed;border-radius:10px;width:min(360px,100vw - 24px);max-height:calc(100vh - 24px);padding:14px 16px;font-size:13px;font-weight:400;line-height:1.65;position:fixed;overflow-y:auto;box-shadow:0 8px 22px #213b4c29}.profit-help-heading{color:#30485b;margin-bottom:8px;font-size:14px;font-weight:650;display:block}.profit-help-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.profit-help-list li{padding-left:10px;position:relative}.profit-help-list li:before{content:"";background:#78a9c8;border-radius:50%;width:4px;height:4px;position:absolute;top:.65em;left:0}.profit-help-list b{color:#36566d;margin-right:4px;font-weight:600}.profit-help-popover[hidden]{display:none}.analytics-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.analytics-kpi{background:#fbfcfd;border:1px solid #edf0f3;border-radius:14px;gap:7px;min-height:81px;padding:13px;display:grid}.analytics-kpi span{color:var(--muted);font-size:11.5px}.analytics-kpi strong{color:#303036;letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:18px}.settings-basic-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.settings-basic-main,.settings-basic-side{align-content:start;gap:16px;display:grid}.account-overview{gap:16px;display:grid}.account-entitlements-panel>.income-panel-body{padding:18px}.account-entitlement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.account-entitlement-card{background:#fff;border:1px solid #dce8ef;border-radius:14px;flex-direction:column;min-width:0;min-height:228px;padding:19px 20px 16px;display:flex}.account-entitlement-core{background:linear-gradient(135deg,#f4f9fc 0%,#fff 58%)}.account-entitlement-ai{background:linear-gradient(135deg,#f7f9fc 0%,#fff 58%)}.account-entitlement-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.account-entitlement-eyebrow{color:#5b788b;font-size:11.5px;font-weight:650}.account-entitlement-card h3{color:#263f52;margin:12px 0 16px;font-size:20px;line-height:1.25}.account-entitlement-expiry{gap:4px;margin-bottom:17px;display:grid}.account-entitlement-expiry strong{color:#263f52;font-variant-numeric:tabular-nums;font-size:15px;line-height:1.35}.account-entitlement-features{border-top:1px solid #e6edf2;margin-top:auto;padding-top:14px}.account-entitlement-features>div{color:#3d5668;justify-content:space-between;align-items:center;gap:10px;font-size:11.5px;font-weight:650;display:flex}.account-entitlement-features p{color:#6d8292;margin:7px 0 0;font-size:11.5px;line-height:1.6}.account-entitlement-note{color:#667e91;margin:9px 0 0;font-size:11px;line-height:1.5}.account-details-layout{grid-template-columns:minmax(0,1.45fr) minmax(230px,.7fr);gap:26px;display:grid}.account-details-fields{gap:12px;min-width:0;display:grid}.account-details-actions{border-left:1px solid #e6edf2;flex-direction:column;align-items:flex-start;min-width:0;padding-left:26px;display:flex}.account-details-actions>strong{color:#344b5d;font-size:12.5px}.account-details-actions p{color:#728493;margin:7px 0 14px;font-size:11px;line-height:1.55}.account-details-actions .btn{min-height:35px}.account-details-actions .account-logout{color:#728493;border-color:#0000;margin-top:auto}.account-details-actions .account-logout:hover{border-color:#dbe5ec}.account-id-readonly{box-sizing:border-box;color:#2d3642;background:#f2f3f7;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;min-height:37px;padding:5px 7px 5px 11px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;display:flex}.account-id-text{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;min-width:0}.account-id-copy{color:var(--brand-d);cursor:pointer;background:#fff;border:1px solid #d7e5ee;border-radius:7px;flex:none;align-items:center;gap:5px;padding:5px 7px;font-family:inherit;font-size:11px;font-weight:650;display:inline-flex}.account-id-copy:hover{background:#eaf3f8}.account-id-copy:disabled{opacity:.5;cursor:default}.account-id-copy svg{width:14px;height:14px}.account-id-copy-status{color:#3d9b73;min-height:0;font-size:11px}.account-id-copy-status:empty{display:none}.account-value{color:#2d3642;background:#f2f3f7;border-radius:9px;flex-wrap:wrap;align-items:center;gap:9px;min-height:37px;padding:7px 11px;font-size:12.5px;display:flex}@media (width<=900px){.account-entitlement-grid,.account-details-layout{grid-template-columns:1fr}.account-details-actions{border-top:1px solid #e6edf2;border-left:0;padding:15px 0 0}.account-details-actions .account-logout{margin-top:6px}}.bind-email-dialog{width:min(560px,100%)}.bind-email-dialog>header{align-items:center}.bind-email-dialog>header strong{font-size:16px}.bind-email-password,.password-reveal{position:relative}.bind-email-password input,.password-reveal input{width:100%;padding-right:40px}.bind-email-password button,.password-reveal button{cursor:pointer;z-index:2;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin:auto 0;font-size:15px;display:inline-flex;position:absolute;top:0;bottom:0;right:4px}.bind-email-password button:hover,.password-reveal button:hover{background:#eceef2}.account-value .link{color:var(--brand);font-size:12.5px;font-weight:600}.account-value .link:hover{text-decoration:underline}.denom-cell{align-items:center;gap:9px;display:flex}.denom-swatch{border-radius:5px;flex:0 0 18px;width:18px;height:18px;box-shadow:inset 0 1px #ffffffbf}.denom-name{font-weight:600}.denom-count-input{width:96px;font:inherit;text-align:right;background:#f2f2f7;border:1px solid #0000;border-radius:12px;padding:7px 10px}.denom-count-input:focus{border-color:var(--brand);background:#fff;outline:none;box-shadow:0 0 0 4px #2d6f9d26}.denom-subtotal{text-align:right;font-variant-numeric:tabular-nums}.cash-entry-panel .income-panel-body{gap:12px;display:grid}.cash-entry-mode{justify-content:flex-end;align-items:center;min-height:0;display:flex}.cash-entry-seg{border:1px solid var(--line);background:#f2f7fa;border-radius:10px;align-items:center;gap:2px;padding:3px;display:inline-flex}.cash-entry-seg button{color:#6f8490;cursor:pointer;min-height:32px;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:5px 13px;font-size:12.5px;font-weight:600;transition:color .16s,background .16s,box-shadow .16s}.cash-entry-seg button:hover{color:var(--brand-d);background:#fff}.cash-entry-seg button.on{color:var(--brand-d);background:#fff;font-weight:750;box-shadow:0 1px 4px #2855761a}.cash-denom-heading{color:#40596b;justify-content:space-between;align-items:center;gap:12px;padding-top:2px;font-size:12.5px;display:flex}.cash-denom-heading strong{color:#304c60;font-size:13px}.cash-denom-heading span{color:#7c92a1;text-align:right;font-size:11.5px}.cash-manual-field{background:#fcfeff;border:1px solid #d9ebf5;border-radius:10px;align-content:center;gap:8px;min-height:116px;padding:18px;display:grid}.cash-manual-field input{font-variant-numeric:tabular-nums;min-height:42px;font-size:16px}.check{align-items:center;gap:8px;font-size:13px;display:flex}.cash-count-layout{grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr);align-items:start;gap:16px;display:grid}.cash-count-left{align-content:start;gap:16px;min-width:0;display:grid}.cash-count-meta{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.cash-count-meta .field input[type=date]{width:172px}.cash-count-meta .field select{width:max-content;min-width:264px}.cash-pay-fields{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.cash-count-summary{gap:14px;display:grid}.count-summary{grid-template-columns:1fr;gap:12px;display:grid}.count-summary .stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:28px}.theory-lines{color:var(--muted);gap:10px;font-size:12.5px;display:grid}.theory-lines>div{justify-content:space-between;gap:16px;display:flex}.theory-lines b{color:#303036;font-variant-numeric:tabular-nums}.theory-lines .theory-total{border-top:1px solid var(--line);color:#303036;align-items:center;margin-top:4px;padding-top:13px}.theory-total strong{color:#2d6f9d;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:18px}.count-note{color:#66717e;background:#f4f7fa;border-radius:12px;padding:12px 13px;font-size:12px;line-height:1.65}@media (width<=1180px){.cash-count-layout{grid-template-columns:1fr}}@media (width<=560px){.cash-entry-mode{justify-content:stretch}.cash-entry-seg{width:100%}.cash-entry-seg button{flex:1}.cash-denom-heading{flex-direction:column;align-items:flex-start;gap:3px}.cash-count-meta{flex-direction:column;align-items:stretch}.cash-count-meta .field input[type=date],.cash-count-meta .field select{width:100%}}@media (width<=1280px){.flow-overview{grid-template-columns:1fr}}@media (height<=900px){.flow-page{padding-bottom:28px}}@media (width<=1180px){.today-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.reminder-card{flex-basis:min(330px,86%)}}@media (width<=920px){.analytics-source{display:none}.analytics-section-heading{flex-direction:column;align-items:start}.analytics-section-heading>span{text-align:left;max-width:none}}@media (width<=800px){.settings-basic-layout,.form-grid,.record-basic-grid{grid-template-columns:1fr}.income-payment-grid,.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=780px){.category-row{flex-wrap:wrap;gap:8px}.category-name,.category-subs,.category-inline-add{flex:1 0 100%}.category-name{padding-top:0}.category-inline-add input{flex:1;width:auto}}.gate{justify-content:center;align-items:center;gap:72px;min-height:100vh;padding:40px 24px;display:flex}.gate-brand{width:280px;min-width:0}.gate-brand-logo{background:#ffffffb3;border-radius:21px;place-items:center;width:70px;height:70px;display:inline-grid;box-shadow:0 12px 30px #2d6f9d2e}.store-quick-mark{width:62px;height:62px;display:block}.gate-brand h2{color:#1d1d1f;letter-spacing:-.035em;margin:22px 0 5px;font-size:25px}.gate-brand-slogan{color:#66717e;margin:0;font-size:16px}.gate-brand-values{gap:17px;margin-top:54px;display:grid}.gate-brand-values>div{border-left:3px solid #2d6f9d38;gap:4px;padding:9px 0 9px 16px;display:grid}.gate-brand-values>div:first-child{border-left-color:var(--brand)}.gate-brand-values b{color:#303036;font-size:13px;line-height:1.45}.gate-brand-values span{color:var(--muted);font-size:11.5px;line-height:1.55}.gaterail{-webkit-backdrop-filter:blur(24px)saturate(1.2);backdrop-filter:blur(24px)saturate(1.2);background:#fff9;border:1px solid #fff9;border-radius:18px;width:252px;min-height:440px;padding:28px 26px;box-shadow:0 12px 40px #00000024}.gaterail-brand{flex-direction:column;display:flex}.gaterail-mark{color:#fff;background:linear-gradient(145deg,#3d82ad,#2d6f9d);border-radius:12px;place-items:center;width:44px;height:44px;font-size:18px;font-weight:800;display:grid;box-shadow:0 5px 14px #2d6f9d4d}.gaterail-brand strong{margin-top:14px;font-size:16px}.gaterail-brand span{color:var(--muted);font-size:12px}.gaterail-steps{gap:20px;margin:30px 0 0;padding:0;list-style:none;display:grid}.gaterail-steps li{color:var(--faint);gap:2px;padding-left:20px;display:grid;position:relative}.gaterail-steps li:before{content:"";background:#d4d4d9;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:0}.gaterail-steps li.on{color:#1d1d1f}.gaterail-steps li.on:before{background:var(--brand)}.gaterail-steps li b{font-size:13px;font-weight:600}.gatebox{-webkit-backdrop-filter:blur(24px)saturate(1.15);backdrop-filter:blur(24px)saturate(1.15);background:#fffc;border:1px solid #ffffffa6;border-radius:28px;width:100%;max-width:440px;padding:40px 36px 30px;box-shadow:0 12px 40px #00000024}.gatebox-head h1{letter-spacing:-.02em;margin:0;font-size:24px}.gatebox-head p{color:var(--muted);margin:6px 0 24px;font-size:13.5px}.gate-install-hint{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;gap:6px;margin:-8px 0 18px;padding:10px 12px;font-size:12.5px;line-height:1.6;display:grid}.gate-install-hint .link{color:#b45309;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:12.5px;font-weight:650;text-decoration:underline}.gate-seg{margin-bottom:16px}.gate-field{gap:6px;margin-bottom:14px;display:grid}.gate-field label{color:var(--muted);font-size:12px}.gate-field input{font:inherit;background:#f2f2f7;border:1px solid #0000;border-radius:12px;padding:11px 12px;font-size:15px}.gate-field input:focus{border-color:var(--brand);background:#fff;outline:none;box-shadow:0 0 0 4px #2d6f9d26}.gate-code-row{grid-template-columns:1fr auto;gap:10px;display:grid}.gate-code-row .btn{white-space:nowrap}.gate-debug{color:#b25000;background:#fff4e5;border-radius:10px;margin:2px 0 10px;padding:8px 12px;font-size:12px}.gate-submit{justify-content:center;width:100%;margin-top:6px;padding:11px 16px}.gate-trial-note{text-align:center;color:var(--muted);margin:10px 0 0;font-size:12px}.gate-guest{justify-content:center;width:100%;margin-top:12px}.gate-net-hint{color:#245f86;background:#f0f7ff;border-radius:10px;margin:10px 0 0;padding:8px 12px;font-size:12px}.gate-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;display:flex}.gate-foot .link{color:var(--brand);font-size:12.5px}@media (width<=900px){.gate{gap:24px}.gate-brand{width:220px}.gate-brand-values{margin-top:36px}}@media (width<=680px){.gate{padding:24px 16px}.gate-brand{display:none}}.saved-chip-ro i{background:#ff9500!important}.saved-chip-ro{color:#b25000!important}.global-warning{color:#b91c1c;background:#ffeceb;border-bottom:1px solid #0000000f;padding:10px 24px;font-size:12.5px}.entitlement-recovery{color:#815418;background:#fff6e7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.entitlement-recovery-copy{flex:260px}.entitlement-recovery-copy span{display:block}.entitlement-recovery-result{margin-top:4px}.entitlement-recovery .btn{flex-shrink:0;min-height:44px}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.category-bar{border-radius:2px;flex:0 0 3px;width:3px;height:14px}.category-bar.income{background:var(--brand)}.category-bar.expense{background:#c6cad0}.cat-add-btn{color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:4px 7px;font-size:12.6px;font-weight:600}.cat-add-btn:hover{background:#2d6f9d1a}.logo-file-control{box-sizing:border-box;cursor:pointer;background:#f2f2f7;border-radius:12px;align-items:center;min-height:38px;padding:7px 10px;display:flex}.logo-file-control>span{color:#1d1d1f;background:#fff;border:1px solid #8b8b91;border-radius:3px;padding:3px 7px;font-size:12px;font-weight:600;line-height:1.2}.logo-file-control input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.logo-preview{color:#9aa1aa;border:1px dashed #cfd8e5;border-radius:12px;place-items:center;width:200px;height:200px;margin-top:12px;font-size:12px;display:grid;overflow:hidden}.logo-preview.has-logo{background:#ffffff8c;border-style:solid}.logo-preview img{object-fit:contain;width:100%;height:100%}.basic-pair{grid-template-columns:1.15fr 1fr;gap:16px;display:grid}.data-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.data-overview>div{background:#fafcff;border:1px solid #e6edf6;border-radius:14px;gap:5px;min-height:76px;padding:13px 14px;display:grid}.data-overview span,.data-account-row span,.data-backup-actions span{color:var(--muted);font-size:11.5px;line-height:1.55}.data-overview strong{color:#233d55;font-variant-numeric:tabular-nums;font-size:16px}.data-caption{margin:12px 0 0}.data-backup-actions,.data-account-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.data-backup-actions>div,.data-account-row>div{gap:3px;display:grid}.data-backup-actions strong,.data-account-row strong{color:#233d55;font-size:13px}.data-backup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.data-backup-card{background:linear-gradient(135deg,#fbfdff 0%,#f6f9fe 100%);border:1px solid #e3ebf5;border-radius:16px;gap:11px;min-height:148px;padding:15px 16px;display:grid}.data-backup-card-head{align-items:center;gap:9px;min-width:0;display:flex}.data-backup-card-head>div{gap:2px;min-width:0;display:grid}.data-backup-card-head strong{color:#233d55;font-size:13px}.data-backup-card-head span:not(.data-backup-icon){color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.data-backup-icon{width:28px;height:28px;color:var(--brand);background:#eaf2ff;border-radius:9px;flex:0 0 28px;place-items:center;font-size:15px;font-weight:750;display:grid}.data-backup-icon.restore{color:#2d6f9d;background:#edf7ff}.data-backup-card p{color:#65758a;min-height:36px;margin:0;font-size:11.5px;line-height:1.58}.data-backup-card-actions{gap:8px;margin-top:auto;display:flex}.data-backup-card-actions .btn{min-height:31px;padding:6px 12px;font-size:12px}.data-restore-warning{color:#8a5a14;background:#fff9ef;border:1px solid #f1d8b4;border-radius:12px;margin:14px 0 10px;padding:10px 12px;line-height:1.6}.backup-list{overflow-x:auto}.backup-list .table{min-width:520px}.dialog-mask{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14182038;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog-card{-webkit-backdrop-filter:blur(24px)saturate(1.1);backdrop-filter:blur(24px)saturate(1.1);background:#ffffffeb;border:1px solid #ffffffbf;border-radius:24px;width:min(560px,100%);animation:.16s ease-out both pop;overflow:hidden;box-shadow:0 24px 64px #0003,0 4px 14px #0000001a}.dialog-card>header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px 15px;display:flex}.dialog-card>header div{gap:2px;display:grid}.dialog-card>header strong{font-size:16px}.dialog-card>header span{color:var(--muted);font-size:12px}.dialog-close{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:22px;line-height:1}.dialog-body{gap:13px;max-height:66vh;padding:18px 22px;display:grid;overflow:auto}.dialog-body .init-note{margin:0}.dialog-card>footer{background:#f5f5f7b3;justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.restore-file-confirm-dialog{width:min(440px,100%)}.restore-file-confirm-heading{align-items:center;gap:10px;display:flex!important}.restore-file-confirm-heading>div{gap:2px;display:grid}.restore-file-confirm-icon{color:#1f7ed4;background:#edf6ff;border-radius:10px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:19px;font-weight:750;display:grid}.restore-file-confirm-body{gap:12px;padding-top:20px;padding-bottom:20px}.restore-file-confirm-body p{color:#435469;margin:0;font-size:13px;line-height:1.7}.restore-file-confirm-safeguard{color:#54708e;background:#f4f9ff;border:1px solid #dcecfb;border-radius:12px;grid-template-columns:auto 1fr;gap:9px;padding:11px 12px;font-size:12px;line-height:1.55;display:grid}.restore-file-confirm-safeguard b{color:#2d6f9d;white-space:nowrap}.restore-file-confirm-help{color:#718095!important;font-size:12px!important}@keyframes pop{0%{opacity:0;transform:translateY(-8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-dialog{width:min(400px,100%)}.confirm-dialog-body{padding:20px 22px}.confirm-heading{align-items:flex-start;gap:12px;display:flex}.confirm-heading>div{gap:4px;min-width:0;display:grid}.confirm-heading strong{font-size:15px}.confirm-heading p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.65}.confirm-icon{color:#1f7ed4;background:#edf6ff;border-radius:10px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:17px;font-weight:750;display:grid}.guide-dialog{flex-direction:column;width:min(570px,100%);max-height:calc(100dvh - 48px);display:flex}.guide-dialog>header,.guide-dialog>footer{flex:none}.guide-dialog .guide-heading{align-items:center;gap:11px;display:flex}.guide-heading>div{gap:4px;display:grid}.guide-heading-icon{width:38px;height:38px;color:var(--brand);background:#eaf3f8;border-radius:10px;flex:0 0 38px;place-items:center;display:grid}.guide-heading-icon svg{width:21px;height:21px}.guide-dialog .guide-heading strong{font-size:17px}.guide-dialog .guide-heading #guide-subtitle{color:#647a89;font-size:12px;line-height:1.5}.guide-body{flex:auto;gap:21px;min-height:0;max-height:none;padding:20px 22px;display:grid;overflow-y:auto}.guide-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px;display:flex}.guide-section-heading h2{color:#304b5e;margin:0;font-size:13px;font-weight:650}.guide-section-heading>span{color:#718391;font-size:11px}.guide-steps{grid-template-columns:1fr;gap:7px;display:grid}.guide-step{text-align:left;cursor:pointer;min-width:0;font:inherit;background:#fff;border:1px solid #e5edf2;border-radius:9px;align-items:center;gap:11px;padding:11px 13px;transition:background .15s,border-color .15s;display:flex}.guide-step:hover,.guide-step:focus-visible{background:#f3f8fb;border-color:#85b0cc}.guide-step:focus-visible{outline-offset:2px;outline:2px solid #85b0cc}.guide-step:disabled{opacity:.6;cursor:wait}.guide-step-number{width:29px;height:29px;color:var(--brand);background:#edf5fa;border-radius:8px;flex:0 0 29px;place-items:center;font-size:12px;font-weight:700;display:grid}.guide-step-copy{gap:3px;min-width:0;display:grid}.guide-step-copy b{color:#2c4555;font-size:13px;line-height:1.35}.guide-step-copy small{color:#617787;font-size:12px;line-height:1.45}.guide-step-action{color:var(--brand);flex-shrink:0;align-items:center;gap:4px;margin-left:auto;font-size:11px;display:inline-flex}.guide-step-action svg{width:13px;height:13px}.guide-role-note,.guide-error{color:#718391;margin:8px 0 0;font-size:11.5px;line-height:1.65}.guide-role-note+.guide-steps{margin-top:9px}.guide-error{color:#b33c32}.guide-online{border-top:1px solid #e8eef2;padding-top:17px}.guide-online-links{grid-template-columns:1fr 1fr;gap:10px;display:grid}.guide-online-links a{min-width:0;color:var(--brand);background:#f2f7fb;border:1px solid #dce9f2;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:14px 13px;text-decoration:none;display:flex}.guide-online-links a:hover{background:#e9f3f9;border-color:#8ab4cf}.guide-online-links a:focus-visible{outline-offset:2px;outline:2px solid #85b0cc}.guide-online-links a>span{gap:5px;min-width:0;display:grid}.guide-online-links b{color:#2b648c;font-size:13px;font-weight:650}.guide-online-links small{color:#657f90;font-size:10.5px;line-height:1.6}.guide-online-links svg{flex-shrink:0;width:17px;height:17px}.guide-dialog>footer{justify-content:space-between;align-items:center;gap:15px;padding:13px 22px;display:flex}.guide-local-note{color:#667e8e;align-items:center;gap:6px;margin:0;font-size:11px;line-height:1.6;display:flex}.guide-local-note>span{color:var(--brand);font-size:18px}.guide-dialog>footer .btn{min-width:67px;padding:7px 16px}@media (width<=520px){.guide-body{gap:17px;padding:16px}.guide-step{gap:9px;padding:11px}.guide-step-action{font-size:0}.guide-online-links{grid-template-columns:1fr;gap:8px}.guide-online-links a{padding:11px 13px}.guide-dialog>footer{padding:12px 16px}.guide-section-heading>span{font-size:10px}.guide-local-note{max-width:215px}.guide-dialog .guide-heading #guide-subtitle{font-size:11px}}.onboarding-mask{z-index:40}.confirm-mask{z-index:50}.onboarding-dialog{width:min(500px,100%)}.onboarding-body{gap:15px;padding:20px 22px;display:grid}.onboarding-security{background:linear-gradient(135deg,#f2f8ff,#fbfdff);border:1px solid #d8e9ff;border-radius:12px;align-items:center;gap:10px;padding:11px 12px;display:flex}.onboarding-security>span{width:28px;height:28px;color:var(--brand);background:#e2f0ff;border-radius:9px;place-items:center;font-size:17px;font-weight:700;display:grid}.onboarding-security div{gap:2px;display:grid}.onboarding-security b{color:#28405b;font-size:12.5px}.onboarding-security small{color:#6a7d91;font-size:11px;line-height:1.4}.onboarding-path{background:#f2f3f7;border-radius:11px;align-items:center;gap:8px;min-width:0;padding:5px 6px 5px 11px;display:flex}.onboarding-path>span{color:#516174;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:hidden}.onboarding-path .btn{flex:none}.onboarding-pair{grid-template-columns:minmax(0,1fr) minmax(130px,.72fr);gap:12px;display:grid}@media (width<=520px){.onboarding-pair{grid-template-columns:1fr}.onboarding-body{padding:18px}}.template-dialog{flex-direction:column;width:min(1010px,100%);max-height:min(720px,100vh - 48px);display:flex}.template-dialog>header{flex:none;align-items:center}.template-dialog>header strong{font-size:16px}.template-dialog-body{flex:1;grid-template-columns:365px minmax(0,1fr);gap:28px;min-height:0;padding:26px 28px;display:grid;overflow:auto}.template-list{align-content:start;gap:12px;display:grid}.template-option{color:#303036;text-align:left;cursor:pointer;background:#ffffffb3;border:1px solid #00000014;border-radius:20px;gap:9px;min-height:102px;padding:18px 20px;transition:border-color .18s,box-shadow .18s,background .18s;display:grid}.template-option:hover,.template-option:focus-visible{background:#f7fbff;border-color:#9fc8ff;outline:none;box-shadow:0 5px 16px #2973dd1a}.template-option b{align-items:center;gap:9px;font-size:16px;display:flex}.template-option em{color:#2d6f9d;background:#eaf1ff;border-radius:999px;padding:3px 7px;font-size:11px;font-style:normal;font-weight:650}.template-option-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.template-option-title .template-preview-hint{color:#2d6f9d;white-space:nowrap;font-size:11px}.template-option span{color:var(--muted);font-size:13px}.template-option.on{border:2px solid var(--brand);background:#eaf3ff;padding:17px 19px}.template-option-actions{align-items:center;gap:10px;display:flex}.template-workspace{min-width:0}.template-workspace-heading{align-items:center;gap:14px;display:flex}.template-workspace-heading h2{margin:0;font-size:18px}.template-workspace-heading>span{color:#2d6f9d;background:#eef5ff;border-radius:999px;padding:5px 10px;font-size:12px}.template-feed-button{white-space:nowrap;margin-left:auto}.template-feed-button input,.template-feed-footer input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.template-help{color:#6e7d90;border:1px dashed #d6dce4;border-radius:15px;grid-template-columns:auto 1fr;gap:12px;margin-top:20px;padding:16px 18px;font-size:13px;line-height:1.75;display:grid}.template-help b{color:#4b5a6e}.template-help span{min-width:0}.template-empty{color:#a1a1a6;text-align:center;place-items:center;min-height:250px;font-size:14px;display:grid}.template-learning-notice{color:#9c5a00;background:#fff8eb;border:1px solid #f0d8a6;border-radius:13px;margin-top:22px;padding:13px 15px;font-size:12.5px;line-height:1.7}.template-draft-name{color:var(--muted);margin-top:10px;font-size:12px}.template-dialog>footer{flex:none}.template-feed-footer{position:relative}.template-dialog>footer .spacer{min-width:16px}.template-preview-mask{z-index:20;background:#121c2a6b}.template-preview-dialog{width:min(760px,100%);max-height:min(760px,100vh - 48px)}.template-preview-body{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:22px;padding:22px 26px;display:grid;overflow:auto}.template-preview-image-wrap{background:#f5f7fa;border:1px solid #e0e7ef;border-radius:14px;place-items:center;min-height:330px;max-height:500px;display:grid;overflow:hidden}.template-preview-image-wrap img{object-fit:contain;max-width:100%;max-height:500px;display:block}.template-preview-meta{color:#65758a;padding:14px 0;font-size:13px;line-height:1.7}.template-preview-meta b{color:#29384a;font-size:15px}.template-preview-meta p{margin:10px 0 14px}.template-preview-meta span{color:#2d6f9d;background:#eef5ff;border-radius:999px;padding:4px 9px;font-size:11px;display:inline-block}@media (width<=760px){.template-dialog-body{grid-template-columns:1fr;gap:18px;padding:18px}.template-list{grid-template-columns:repeat(2,minmax(0,1fr))}.template-option{min-height:86px;padding:14px}.template-option.on{padding:13px}.template-workspace-heading{flex-wrap:wrap}.template-feed-button{margin-left:0}.template-help{grid-template-columns:1fr;gap:5px}.template-dialog>footer{flex-wrap:wrap}.template-preview-body{grid-template-columns:1fr;gap:10px;padding:18px}.template-preview-image-wrap{min-height:230px;max-height:380px}.template-preview-image-wrap img{max-height:380px}}.supplement-grid{grid-template-columns:minmax(220px,.85fr) minmax(300px,1.15fr);align-items:start;gap:16px;display:grid}.supplement-grid>*,.proof-upload-field{min-width:0}.proof-file-button{justify-content:flex-start;width:100%}.faint{color:#86868b;font-weight:400}.imgprev{text-align:center;width:100%;color:var(--faint);background:#ffffff80;border:1px dashed #cfd8e5;border-radius:10px;padding:10px;font-size:12px}.imgprev img{border-radius:8px;max-width:100%;max-height:230px;margin:0 auto;display:block}.field input[type=file]{background:0 0;border:0;min-height:0;padding:0;font-size:12px}.field input[type=file]:focus{box-shadow:none;background:0 0}@media (width<=900px){.supplement-grid{grid-template-columns:1fr}}@media (width<=820px){.data-overview,.data-backup-grid{grid-template-columns:1fr}.data-backup-actions,.data-account-row{flex-direction:column;align-items:flex-start}.monthly-actions{flex-wrap:wrap;width:100%}}.app-shell{grid-template-columns:224px 1fr}.sidebar{padding:20px 14px 14px}.brand{gap:13px;margin-bottom:8px;padding:2px 8px 20px}.brand-mark{border-radius:14px;width:46px;height:46px}.brand strong{font-size:16px}.brand span{font-size:12px}.main-nav{gap:4px;padding-top:5px}.main-nav button{border-radius:12px;gap:11px;padding:10px 12px;font-size:14px}.main-nav button:hover{background:#2d6f9d0f}.main-nav button.active{box-shadow:inset 3px 0 0 var(--brand);background:#2d6f9d14}.nav-icon{width:25px;height:25px}.nav-icon svg{width:23px;height:23px}.nav-caret{font-size:21px}.nav-separator{margin:12px 6px}.nav-children{gap:3px;padding:5px 0 8px 36px}.main-nav .nav-children button{border-radius:11px;padding:9px 12px;font-size:13.5px}.main-nav .nav-children button.active{box-shadow:none;background:linear-gradient(90deg,#2d6f9d1f,#2d6f9d0d)}.main-nav .nav-children button.active:before{width:6px;height:6px;left:-13px;box-shadow:0 0 0 3px #2d6f9d29}.sidebar-footer{gap:10px;padding:17px 6px 6px}.monitor-header{align-items:flex-start;gap:16px;margin-bottom:14px;animation:.45s cubic-bezier(.25,1,.5,1) both fade-in-up;display:flex}.monitor-header h2{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700}.monitor-header p{color:var(--muted);margin:6px 0 0;font-size:12.5px}.monitor-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.monitor-stat{border:1px solid var(--line);background:var(--panel);border-radius:16px;align-content:start;gap:3px;padding:16px 18px;animation:.45s cubic-bezier(.25,1,.5,1) both fade-in-up;display:grid}.monitor-stat:nth-child(2){animation-delay:50ms}.monitor-stat:nth-child(3){animation-delay:.1s}.monitor-stat:nth-child(4){animation-delay:.15s}.monitor-stat small{color:var(--muted);font-size:12px}.monitor-stat strong{letter-spacing:-.02em;font-size:26px;font-weight:700}.monitor-stat.alert strong{color:#e02020}.monitor-stat.threshold strong{color:#b8860b}.threshold-value{color:#b8860b;font:inherit;letter-spacing:-.02em;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:26px;font-weight:700}.threshold-value span{opacity:.55;font-size:14px}.threshold-value:hover{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.threshold-edit{align-items:center;gap:6px;display:flex}.threshold-edit input{border:1px solid var(--line);color:#303036;width:76px;font:inherit;background:#fff;border-radius:8px;padding:5px 8px;font-size:14px}.threshold-edit input:focus{border-color:#b8860b;outline:none}.threshold-notice{color:#c23934}.monitor-filters{align-items:center;gap:10px;margin-bottom:14px;display:flex}.monitor-filter-label{color:var(--muted);white-space:nowrap;font-size:13px}.monitor-filters select,.monitor-filters input{box-sizing:border-box;border:1px solid var(--line);color:#303036;height:38px;min-height:38px;font:inherit;background:#fff;border-radius:8px;padding:6px 10px;font-size:13.5px}.monitor-filters select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:11px;min-width:190px;padding-right:24px}.monitor-filters input{flex:1;min-width:0}.monitor-filters .monitor-export-btn{box-sizing:border-box;white-space:nowrap;flex-shrink:0;height:38px;min-height:38px}.monitor-filters select:focus,.monitor-filters input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #2d6f9d1f}.monitor-group{animation:.45s cubic-bezier(.25,1,.5,1) both fade-in-up}.monitor-group h3{background:#fdf7d9}.monitor-group h3:before{background:#d9a800}.monitor-group-title{font-weight:400}.monitor-group-title b{font-size:15px;font-weight:700}.monitor-scroll{overflow-x:auto}.monitor-table{min-width:780px}.monitor-table th,.monitor-table td{white-space:nowrap}.monitor-table .monitor-dates-head{text-align:center}.monitor-table .monitor-date{text-align:center;font-weight:500}.monitor-low{color:#12813f}.monitor-badge{margin-left:8px}.monitor-cell-warning{color:#e02020;background:#ffecec;font-weight:700}.monitor-price-cell{cursor:pointer;position:relative}.monitor-price-cell:hover{background:#2d6f9d0f}.monitor-cell-badge{color:#d92b2b;pointer-events:none;background:#ffd9d8;border-radius:6px;padding:0 4px;font-size:9.5px;font-weight:700;line-height:1.5;position:absolute;top:1px;right:2px}.template-steps{gap:14px;margin:12px 0;display:grid}.template-step{gap:8px;display:grid}.template-step>small{color:var(--brand);font-size:12px;font-weight:600}.template-step .ocr-file-button{justify-content:flex-start;width:100%}.sample-thumbs{flex-wrap:wrap;gap:8px;display:flex}.sample-thumbs img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:84px;height:62px}.template-desc-textarea{border:1px solid var(--line);color:#303036;width:100%;min-height:170px;font:inherit;resize:vertical;background:#fff;border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.8}.template-desc-textarea:focus{border-color:var(--brand);outline:none}.template-desc-summary{color:var(--muted);padding-right:26px;font-size:12px;line-height:1.6}.template-analyze-hint{color:var(--muted);font-size:11.5px}.monitor-group-warning{margin-top:12px;margin-bottom:0}@media (width<=1180px){.monitor-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.template-learning-upload{gap:10px;margin:14px 0 12px;display:grid}.template-learning-upload .ocr-file-button{justify-content:flex-start;width:100%}.template-name-input{border:1px solid var(--line);color:#303036;font:inherit;background:#fff;border-radius:10px;padding:9px 12px;font-size:13px}.template-name-input:focus{border-color:var(--brand);outline:none}.template-sample-preview{max-height:220px}.template-sample-preview img{max-height:200px}.template-learning-result{background:#f7fbff;border:1px solid #d6e4f7;border-radius:13px;gap:8px;padding:12px 14px;display:grid}.template-learning-line{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}.template-learning-line b{font-size:13px}.template-learning-line span{color:var(--muted)}.template-option{position:relative}.template-card-delete{color:#6e6e73;cursor:pointer;background:#f2f2f7;border:0;border-radius:50%;place-items:center;width:24px;height:24px;font-size:16px;line-height:1;display:grid;position:absolute;top:9px;right:9px}.template-card-delete:hover{color:#b91c1c;background:#ffeceb}.doc-sample{color:#2c3a4d;background:#fff;border:1px solid #dfe5ec;border-radius:8px;margin-top:10px;padding:9px 11px;font-size:10.5px;line-height:1.5;box-shadow:0 2px 8px #0000000d}.doc-sample h4{text-align:center;letter-spacing:.35em;text-indent:.35em;margin:0 0 5px;font-size:12px}.doc-sample-meta{color:#5b6a7f;margin-bottom:5px}.doc-sample table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.doc-sample th,.doc-sample td{text-align:left;border:1px solid #e6ebf1;padding:2px 6px;font-weight:400}.doc-sample thead tr{color:#5b6a7f;background:#f5f7fa}.doc-sample td:last-child,.doc-sample th:last-child{text-align:right}.doc-sample-total{text-align:right;color:#5b6a7f;margin-top:5px}.doc-sample-note{background:#fff9c9;border-color:#ecd98a;font-family:Kaiti SC,KaiTi,STKaiti,楷体,cursive;font-size:12px;transform:rotate(-1.2deg)}.doc-sample-note h4{letter-spacing:.1em;text-indent:0}.doc-sample-note p{margin:4px 0;line-height:1.9}.doc-sample-note span{text-align:right;color:#8a6d1a;display:block}.monitor-example-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.monitor-example-card{background:#fffdf3;border:1px dashed #e6d9a8;border-radius:14px;align-content:start;gap:6px;padding:14px 16px;display:grid;position:relative}.monitor-example-card b{padding-right:26px;font-size:13.5px}.monitor-example-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.monitor-example-card .doc-sample{margin-top:2px}.monitor-alert-mock{color:#9c5a00;background:#fff8eb;border:1px solid #f0d8a6;border-radius:10px;padding:10px 12px;font-size:11.5px;line-height:1.7}.monitor-alert-mock .mock-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.monitor-alert-mock .mock-btn{color:#9c5a00;background:#fff;border:1px solid #e3c988;border-radius:7px;padding:3px 10px;font-size:11px}.monitor-alert-mock .mock-btn.primary{color:#fff;background:#f59e0b;border-color:#f59e0b}.monitor-examples-mask{z-index:32}.monitor-examples-dialog{flex-direction:column;width:min(1120px,100%);max-height:min(760px,100vh - 48px);display:flex}.monitor-examples-dialog>header,.monitor-examples-dialog>footer{flex:none}.monitor-examples-dialog-body{min-height:0;padding:24px 26px;overflow:auto}.monitor-examples-dialog-body .monitor-example-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.monitor-examples-empty{min-height:180px;color:var(--muted);text-align:center;place-items:center;gap:6px;display:grid}.monitor-examples-empty strong{color:#3b4c60;font-size:15px}.monitor-examples-restore{justify-self:start;margin-top:14px}@media (width<=1180px){.monitor-example-grid{grid-template-columns:1fr}}@media (width<=760px){.monitor-header{flex-wrap:wrap;align-items:center}.monitor-header .spacer{display:none}.monitor-header .btn{margin-left:0}.monitor-examples-dialog-body{padding:18px}.monitor-examples-dialog-body .monitor-example-grid{grid-template-columns:1fr}}.purchase-photo-tips-mask{z-index:32}.purchase-photo-tips-dialog{flex-direction:column;width:min(620px,100vw - 32px);max-height:min(720px,100vh - 48px);display:flex}.purchase-photo-tips-dialog>header,.purchase-photo-tips-dialog>footer{flex:none}.purchase-photo-tips-body{min-height:0;padding:22px 26px;overflow:auto}.purchase-photo-tip-intro{color:#34577a;background:#f4f8ff;border-radius:10px;padding:11px 13px;font-size:12.5px;line-height:1.7}.purchase-photo-tip-list{color:#34465a;gap:12px;margin:0;padding:0 0 0 24px;font-size:13px;line-height:1.7;display:grid}.purchase-photo-tip-list li{padding-left:4px}.purchase-photo-tip-list strong{color:#233d55}.purchase-photo-tip-note{color:#9c5a00;background:#fff8eb;border:1px solid #f0d8a6;border-radius:10px;padding:11px 13px;font-size:12px;line-height:1.7}@media (width<=760px){.purchase-photo-tips-dialog{width:calc(100vw - 24px)}.purchase-photo-tips-body{padding:18px}}.purchase-photo-entry-actions{align-items:center;gap:12px;display:inline-flex}.supplier-photo-card .ocr-card-header .purchase-photo-tip-icon{width:27px;min-width:27px;height:27px;min-height:27px;box-shadow:none;color:#a3b4be;background:0 0;border:1px solid #e4edf2;border-radius:8px;place-items:center;margin-left:8px;padding:0;font-size:0;display:grid}.supplier-photo-card .ocr-card-header .purchase-photo-tip-icon:hover{color:#78909d;background:#f8fbfc;border-color:#d6e3ea}.purchase-photo-tip-icon svg{width:14px;height:14px}.purchase-photo-guide-mask{z-index:34}.purchase-photo-guide-dialog{flex-direction:column;width:min(1050px,100vw - 32px);max-height:min(790px,100vh - 48px);display:flex}.purchase-photo-guide-dialog>header,.purchase-photo-guide-dialog>footer{flex:none}.purchase-photo-guide-body{min-height:0;padding:22px 26px;overflow:auto}.purchase-photo-guide-intro{color:#315779;background:#f4f8ff;border-radius:11px;padding:12px 14px;font-size:13px;line-height:1.7}.purchase-photo-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:18px;display:grid}.purchase-photo-guide-card{background:#fff;border:1px solid #e4e8ee;border-radius:14px;align-content:start;gap:9px;padding:13px;display:grid;box-shadow:0 2px 9px #1e3c5a0f}.purchase-photo-guide-card>strong{color:#243f5b;font-size:14px}.purchase-photo-guide-card>p{min-height:44px;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.purchase-photo-guide-visual{background:linear-gradient(135deg,#dce5ed,#f4f6f8 48%,#d2dae2);border-radius:11px;place-items:center;min-height:205px;display:grid;position:relative;overflow:hidden}.purchase-photo-guide-visual:before{content:"";border:1px dashed #3b536947;border-radius:8px;position:absolute;inset:12px}.purchase-photo-guide-sheet{color:#54616d;background:#fffef9;border:1px solid #d2d5d8;border-radius:3px;width:73%;padding:12px 10px 11px;font-size:7px;position:relative;transform:rotate(-2deg);box-shadow:0 7px 12px #1a283433}.purchase-photo-guide-heading{color:#273847;text-align:center;margin-bottom:6px;font-size:10px;font-weight:700}.purchase-photo-guide-meta{color:#707a82;white-space:nowrap;justify-content:space-between;margin-bottom:6px;display:flex}.purchase-photo-guide-table{border-top:1px solid #bdc6ce;border-left:1px solid #bdc6ce;grid-template-columns:1.7fr .7fr .7fr .9fr;display:grid}.purchase-photo-guide-table>*{text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #bdc6ce;border-right:1px solid #bdc6ce;min-width:0;padding:3px 2px;font-style:normal;font-weight:400;overflow:hidden}.purchase-photo-guide-table>span{color:#45545f;background:#eef2f5;font-weight:700}.purchase-photo-guide-table>strong{color:#293f4b;text-align:right}.purchase-photo-guide-total{color:#344c59;text-align:right;margin-top:6px;font-weight:700}.purchase-photo-guide-mark{color:#fff;background:#29a36a;border:3px solid #fff;border-radius:50%;place-items:center;width:31px;height:31px;font-size:20px;font-weight:800;display:grid;position:absolute;top:-9px;right:-9px;transform:rotate(8deg)}.purchase-photo-guide-crop{opacity:.9;background:repeating-linear-gradient(135deg,#e04b4be0 0 5px,#fff3f3e6 5px 10px);border-left:3px solid #e04b4b;width:31%;position:absolute;top:-4px;bottom:-4px;right:-16px}.purchase-photo-guide-glare{background:#ffffffc2;width:31%;height:145%;position:absolute;top:-18%;left:34%;transform:rotate(18deg);box-shadow:0 0 22px 10px #ffffffa8}.purchase-photo-guide-badge{color:#fff;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;position:absolute;bottom:10px;right:10px}.purchase-photo-guide-badge.pass{background:#299968}.purchase-photo-guide-badge.fail{background:#d26b43}.purchase-photo-guide-note{color:#9c5a00;background:#fff8eb;border:1px solid #f0d8a6;border-radius:10px;margin-top:17px;padding:11px 13px;font-size:12.5px;line-height:1.7}@media (width<=900px){.purchase-photo-guide-grid{grid-template-columns:1fr}.purchase-photo-guide-card>p{min-height:0}}@media (width<=760px){.purchase-photo-entry-actions{gap:8px}.purchase-photo-guide-dialog{width:calc(100vw - 24px)}.purchase-photo-guide-body{padding:18px}}.debt-toolbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.debt-toolbar-title{letter-spacing:-.01em;font-size:15px;font-weight:700}.debt-card{border-radius:14px}.debt-card>header.debt-card-header{min-height:66px;padding:12px 18px}.debt-card-header>div{gap:3px;display:grid}.debt-card-header>div>span{text-align:left;margin-left:0}.debt-card-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.debt-payment-notice{padding:11px 14px}.debt-toggle{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.debt-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.debt-toggle-track{background:#d8dce3;border-radius:999px;width:38px;height:21px;transition:background .2s;display:inline-block;position:relative}.debt-toggle-thumb{background:#fff;border-radius:50%;width:17px;height:17px;transition:left .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000002e}.debt-toggle input:checked+.debt-toggle-track{background:var(--brand)}.debt-toggle input:checked+.debt-toggle-track .debt-toggle-thumb{left:19px}.debt-supplier-table{min-width:850px!important}.debt-supplier-table th{color:#5b6a7f}.debt-supplier-table>tbody>.debt-row-unpaid{background:#fff8f7}.debt-supplier-table>tbody>.debt-row-unpaid:hover{background:#fff4f2}.debt-row-unpaid td{border-bottom:1px solid #f4e4e1}.debt-row-settled{background:#f7fafc}.debt-expand{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-weight:600;display:inline-flex}.debt-caret{color:var(--faint);font-size:15px;line-height:1;transition:transform .15s;display:inline-block}.debt-caret.on{transform:rotate(90deg)}.debt-month-row:hover{background:0 0!important}.debt-month-cell{background:#fff;border-bottom:0!important;padding:8px 16px 0 20px!important}.debt-month-line{background:#fbfcfd;border:1px solid #e4ebf0;border-bottom:0;border-radius:11px 11px 0 0;align-items:center;gap:10px;min-height:42px;padding:0 13px;display:flex}.debt-month-line small{color:var(--faint)}.debt-month-line .num{margin-left:auto}.debt-bills-row:hover{background:0 0!important}.debt-bill-cell{background:#fff;border-bottom:0!important;padding:0 16px 12px 20px!important}.debt-bill-table{background:#fff;border:1px solid #e4ebf0;border-radius:0 0 11px 11px;overflow:hidden}.debt-bill-head,.debt-bill-line{grid-template-columns:minmax(170px,1.1fr) minmax(140px,.9fr) minmax(120px,.8fr) minmax(170px,1fr) 90px;align-items:center;gap:12px;display:grid}.debt-bill-head{color:#8a9ca7;background:#f8fafb;min-height:34px;padding:0 13px;font-size:11px}.debt-bill-line{border-top:1px solid #edf2f5;min-height:57px;padding:7px 13px;font-size:12px}.debt-bill-line>span{min-width:0}.debt-bill-line>span:first-child{align-items:center;gap:8px;display:flex}.debt-bill-line .badge{white-space:nowrap;font-style:normal}.debt-bill-line .num>b,.debt-bill-line .num>small{display:block}.debt-bill-line .num>small{color:#55a27f;margin-top:2px;font-size:10.5px}.debt-bill-note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.debt-pay-hint{color:#9c5a00;background:#fff8eb;border:1px solid #f0d8a6;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:12.5px}.debt-row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:12px;display:inline-flex}.debt-payment-notice{justify-content:space-between;align-items:center;gap:12px;display:flex}.debt-history-dialog{flex-direction:column;width:min(640px,100%);max-height:min(88vh,860px);display:flex}.debt-history-body{flex:1;min-height:0;max-height:none;display:block;overflow:auto}.debt-history-body>.debt-history-group+.debt-history-group{margin-top:14px}.debt-history-group{background:#fff;border:1px solid #e4ebf0;border-radius:11px;overflow:hidden}.debt-history-group-head{background:#f8fafb;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:8px 14px;display:flex}.debt-history-pay{align-items:center;gap:10px;min-width:0;display:flex}.debt-history-count{white-space:nowrap}.debt-history-total{font-size:14px}.debt-history-meta{border-top:1px solid #edf2f5;justify-content:space-between;align-items:center;gap:12px;padding:7px 14px;font-size:12px;display:flex}.debt-history-note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.debt-history-bills-head,.debt-history-bill{grid-template-columns:84px minmax(80px,1fr) max-content max-content max-content;align-items:center;gap:4px 10px;padding:6px 14px;display:grid}.debt-history-bills-head{color:#8a9ca7;background:#f8fafb;min-height:30px;font-size:11px}.debt-history-bill{border-top:1px solid #edf2f5;min-height:44px;font-size:12px}.debt-history-bills-head .num,.debt-history-bill .num{text-align:right}.debt-history-bill-date{white-space:nowrap}.debt-history-bill-note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.debt-history-bill-amount{white-space:nowrap}@media (width<=760px){.supplier-payment-meta{grid-template-columns:1fr}.supplier-payment-table{overflow-x:auto}.supplier-payment-table-head,.supplier-payment-bill{min-width:700px}.supplier-payment-summary{grid-template-columns:1fr 1fr}.supplier-payment-summary p{grid-column:1/-1}}.local-gate-overlay{z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14182052;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.local-gate-card{background:#fffffff5;border:1px solid #ffffffbf;border-radius:24px;width:min(400px,100%);padding:26px 26px 22px;animation:.16s ease-out both pop;box-shadow:0 24px 64px #0000003d,0 4px 14px #0000001a}.local-gate-head{margin-bottom:16px}.local-gate-head h2{margin:0;font-size:18px}.local-gate-head p{color:var(--muted);margin:4px 0 0;font-size:12.5px}.local-gate-loading{color:var(--muted);margin:8px 0 16px;font-size:13px}.local-gate-users{gap:8px;margin-bottom:16px;display:grid}.local-gate-user{border:1px solid var(--line);cursor:pointer;text-align:left;background:#f7f8fa;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.local-gate-user.selected{border-color:var(--brand);background:#eef6fc;box-shadow:0 0 0 3px #2d6f9d1f}.local-gate-user:hover{border-color:#2d6f9d66}.local-gate-more{width:100%;color:var(--brand);text-align:center;padding:4px 0 0;font-size:12.5px;display:block}.local-gate-more:hover{text-decoration:underline}.local-gate-avatar{color:#fff;background:linear-gradient(135deg,#2d6f9d,#57a3d0);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:grid}.local-gate-user-copy{flex:1;gap:2px;min-width:0;display:grid}.local-gate-user-copy b{font-size:14px}.local-gate-hint{color:var(--muted);font-size:11.5px;font-style:normal}.local-gate-hint-warn{color:#b45309}.local-gate-why{margin-bottom:16px}.local-gate-foot-hint{color:var(--muted);text-align:center;margin:10px 0 0;font-size:11.5px}.role-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.role-badge-admin{color:#1d4ed8;background:#e8f0fe}.role-badge-finance{color:#12813f;background:#eaf9ef}.role-badge-shareholder{color:#b45309;background:#fdf3e7}.local-gate-card .gate-field input{background:#f2f2f7}.local-gate-card .gate-submit{justify-content:center;width:100%;margin-top:4px;padding:11px 16px}.audit-history-actor{color:#3d5165;align-items:center;gap:6px;margin:6px 0 2px;font-size:12.5px;display:flex}.audit-history-actor b{font-size:12.5px}.audit-history-verify{color:#5b6b7d;background:#f0f4f8;border-radius:999px;padding:2px 8px;font-size:11px}.audit-history-lines{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.audit-history-lines li{align-items:baseline;gap:10px;font-size:12.5px;display:flex}.audit-line-label{min-width:64px;color:var(--muted);flex:none}.audit-arrow{color:#9aa8b5;margin:0 4px;font-style:normal}.audit-log-filter{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:14px;display:flex}.audit-log-filter label{color:var(--muted);white-space:nowrap;font-size:13px}.audit-log-filter select{box-sizing:border-box;border:1px solid var(--line);color:#24313a;min-width:132px;height:38px;min-height:38px;font:inherit;appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 8px center/11px no-repeat;border-radius:8px;padding:6px 24px 6px 10px;font-size:13.5px}.audit-log-filter select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #2d6f9d1f}.audit-group-title{color:#3d5165;margin:4px 0 10px;font-size:13px;font-weight:600}.audit-log-pager{align-items:center;gap:10px;margin-top:12px;font-size:12.5px;display:flex}.role-permission-note{background:#f4f8fb;border-radius:9px;gap:8px;margin:7px 0 0;padding:10px 12px;display:grid}.role-permission-intro{color:#40607a;align-items:center;gap:6px;margin:0;font-size:11.5px;font-weight:650;display:flex}.role-perm-icon{width:13px;height:13px;color:var(--brand);flex:none}.role-perm-group{gap:4px;display:grid}.role-perm-head{color:#7c92a1;align-items:center;gap:4px;font-size:10.5px;font-weight:700;display:inline-flex}.role-perm-head svg{flex:none;width:10px;height:10px}.role-perm-group.is-can .role-perm-head{color:#3d9b73}.role-perm-group.is-cannot .role-perm-head{color:#d94a45}.role-perm-group ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.role-perm-group li{color:#5b7484;padding-left:11px;font-size:11.5px;line-height:1.5;position:relative}.role-perm-group li:before{content:"";background:#93b8cd;border-radius:50%;width:4px;height:4px;position:absolute;top:.55em;left:1px}.role-perm-group.is-cannot li:before{background:#e3a49f}.app-startup{color:#64748b;background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;font-size:14px;display:flex}.app-startup img{object-fit:contain;width:48px;height:48px}:root{color:#24313a;--brand:#2d6f9d;--brand-d:#245f86;--brand-soft:#eaf3f8;--line:#e1eaf0;--muted:#4b5d68;--faint:#5e6e79;--panel:#fff;--shadow:0 3px 12px #28557612;--semantic-success:#3d9b73;--semantic-warning:#d99128;--semantic-danger:#d94a45;background:#f7fafc;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Arial,sans-serif}body{color:#24313a;letter-spacing:0;background:#f7fafc;min-width:0}body:before,body:after{display:none}button,input,select,textarea{font:inherit}input,select,textarea{font-size:15px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.app-shell{--shell-header-height:88px;background:#f7fafc;grid-template-columns:248px minmax(0,1fr)}.app-shell>.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fdfefd;padding:0}.sidebar .brand{min-height:var(--shell-header-height);border-bottom:1px solid var(--line);gap:12px;margin:0;padding:0 21px}.sidebar .brand-mark{border-radius:12px;flex:0 0 40px;width:40px;height:40px;overflow:hidden}.sidebar .brand-mark:after{display:none}.sidebar .brand strong{color:#24313a;font-size:16px;font-weight:750}.sidebar .brand span{color:#4b5d68;white-space:nowrap;font-size:11px}.sidebar .main-nav{gap:4px;padding:23px 12px 12px;overflow-y:auto}.sidebar .main-nav>button,.sidebar .main-nav>.nav-group>button{color:#4b5d68;border-radius:11px;gap:12px;min-height:44px;padding:0 13px;font-size:14px;font-weight:600}.sidebar .main-nav button:hover{color:var(--brand-d);background:#f0f6fa}.sidebar .main-nav button.active{color:var(--brand-d);background:var(--brand-soft);box-shadow:none;font-weight:750}.sidebar .main-nav>.nav-group>button.expanded{color:var(--brand-d);box-shadow:none;background:0 0;font-weight:750}.sidebar .main-nav>.nav-group>button.expanded:hover{background:#f0f6fa}.sidebar .nav-icon{width:21px;height:21px;color:inherit}.sidebar .nav-icon svg{stroke-width:1.8px;width:19px;height:19px}.sidebar .nav-caret{color:#7c909b;font-size:18px}.sidebar .nav-separator{background:var(--line);height:1px;margin:16px 10px 8px}.sidebar .nav-children{gap:2px;padding:4px 0 8px 31px}.sidebar .main-nav .nav-children button{color:#4f6270;border-radius:9px;min-height:35px;padding:7px 11px;font-size:13px}.sidebar .main-nav .nav-children button.active{color:var(--brand-d);box-shadow:none;background:#f0f7fb;font-weight:700}.sidebar .main-nav .nav-children button.active:before{background:var(--brand);box-shadow:none}.sidebar .main-nav .nav-children .nav-ai-badge{color:#fff;letter-spacing:.02em;background:#9b8bd0;border-radius:4px;flex:none;justify-content:center;align-items:center;min-width:17px;height:14px;margin-left:-4px;padding:0 3px;font-size:8px;font-weight:750;line-height:1;display:inline-flex}.sidebar .sidebar-footer{border-top:1px solid var(--line);gap:0;padding:10px 12px 12px}.sidebar .acct-card{border:1px solid var(--line);background:#fff;border-radius:12px;gap:9px;min-width:0;padding:11px;display:grid;box-shadow:0 2px 8px #2855760b}.sidebar .acct-shop{width:100%;min-width:0;min-height:36px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:0;display:flex}.sidebar .acct-shop:hover .acct-shop-copy b{color:var(--brand-d)}.sidebar .acct-shop:disabled{cursor:default}.sidebar .acct-shop:disabled:hover .acct-shop-copy b{color:#24313a}.sidebar .acct-shop:focus-visible,.sidebar .acct-action:focus-visible{outline-offset:2px;outline:2px solid #93c4e1}.sidebar .acct-shop:after{color:#7c909b;text-align:right;content:"›";flex:none;width:14px;font-size:18px;font-weight:500;line-height:1;transition:color .15s,transform .15s}.sidebar .acct-shop:hover:after{color:var(--brand-d);transform:translate(2px)}.sidebar .acct-shop:disabled:after{display:none}.sidebar .acct-shop-logo{width:36px;height:36px;color:var(--brand-d);background:#eaf3f8;border:1px solid #dbe9f1;border-radius:9px;flex:0 0 36px;place-items:center;display:grid;overflow:hidden}.sidebar .acct-shop-logo img{object-fit:cover;width:100%;height:100%}.sidebar .acct-shop-logo .store-quick-mark,.sidebar .acct-shop-logo svg{width:22px;height:22px}.sidebar .acct-shop-copy{flex-direction:row;flex:1;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.sidebar .acct-shop-copy b{color:#24313a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:750;line-height:1.2;overflow:hidden}.sidebar .acct-plan{min-width:52px;max-width:100%;height:20px;color:var(--brand-d);white-space:nowrap;text-overflow:ellipsis;background:#eff7fb;border:1px solid #cde1ed;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0 8px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.sidebar .acct-plan.is-vip{color:#805100;letter-spacing:.03em;background:#fff0bf;border-color:#e6b344;gap:4px;box-shadow:0 1px 3px #b6770024}.sidebar .acct-plan.is-vip:before{content:"✦";color:#c57c00;font-size:11px;line-height:1}.sidebar .acct-plan.is-warn{color:#b42318;background:#fdebe9;border-color:#f3b9b4}.sidebar .acct-shop:not(.can-open-account):after{display:none}.sidebar .acct-shop-name{text-align:left;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;padding:0;overflow:hidden}.sidebar .acct-shop-name b{display:block}.sidebar .acct-shop-name:disabled{cursor:default}.sidebar .acct-plan{cursor:pointer;transition:all .15s ease-in-out}.sidebar .acct-plan:hover{transform:translateY(-.5px)}.sidebar .acct-plan:focus-visible,.sidebar .acct-shop-name:focus-visible{outline-offset:2px;outline:2px solid #93c4e1}.sidebar .acct-plan.is-expiring{color:#991b1b;background:linear-gradient(#fff5f5 0%,#fee2e2 100%);border-color:#fca5a5;box-shadow:0 1px 2px #b91c1c14}.sidebar .acct-plan.is-expiring:hover{background:linear-gradient(#fee2e2 0%,#fecaca 100%);border-color:#f87171;box-shadow:0 2px 4px #b91c1c24}.sidebar .acct-plan.is-expired{color:#4b5a64;background:linear-gradient(#f2f5f7 0%,#e5ebef 100%);border-color:#ced6dc}.sidebar .acct-plan.is-expired:hover{background:#dfe7ec;border-color:#bdcad2}.sidebar .acct-shop.has-expiry:after,.sidebar .acct-shop.has-expiry .acct-plan.is-vip:before{display:none}.sidebar .acct-shop.has-expiry .acct-shop-copy{gap:4px}.sidebar .acct-shop.has-expiry .acct-shop-name b{transition:color .15s}.sidebar .acct-shop.has-expiry .acct-shop-name:hover b{color:var(--brand-d)}.expiry-reminder{color:#175176;background:linear-gradient(#f0f7fc 0%,#e8f3fa 100%);border:1px solid #b9d8eb;border-radius:10px;align-items:center;gap:10px;width:100%;min-width:0;max-width:960px;margin:-10px 0 16px;padding:9px 14px;font-size:13px;line-height:1.5;display:flex;box-shadow:0 1px 3px #0f172a0a}.expiry-reminder.is-today{color:#991b1b;background:linear-gradient(#fff7f7 0%,#feeeee 100%);border-color:#fca5a5;box-shadow:0 1px 3px #b91c1c0a}.expiry-reminder.is-expired{color:#4b5b66;background:linear-gradient(#f8fafb 0%,#edf1f4 100%);border-color:#dbe2e6;box-shadow:0 1px 2px #00000008}.expiry-reminder-icon{opacity:.85;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:600;line-height:1;display:inline-flex}.expiry-reminder-text{overflow-wrap:anywhere;letter-spacing:.01em;flex:1;min-width:0;font-weight:500}.expiry-reminder-action,.expiry-reminder-close{min-height:28px;font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:6px;flex:none;padding:0 12px;transition:all .15s ease-in-out}.expiry-reminder-action{color:#175176;background:#fff;border:1px solid #9ec3db;justify-content:center;align-items:center;font-size:12px;font-weight:600;line-height:1;display:inline-flex;box-shadow:0 1px 2px #17517614}.expiry-reminder-action:hover{color:#0f3d5b;background:#f0f7fc;border-color:#78a9cb;transform:translateY(-.5px);box-shadow:0 2px 4px #17517624}.expiry-reminder-action:active{background:#e1eff8;transform:translateY(0)}.expiry-reminder.is-today .expiry-reminder-action{color:#991b1b;background:#fff;border:1px solid #f87171;box-shadow:0 1px 2px #991b1b0f}.expiry-reminder.is-today .expiry-reminder-action:hover{color:#7f1d1d;background:#fef2f2;border-color:#ef4444;transform:translateY(-.5px);box-shadow:0 2px 4px #991b1b1f}.expiry-reminder.is-today .expiry-reminder-action:active{background:#fee2e2;transform:translateY(0)}.expiry-reminder.is-expired .expiry-reminder-action{color:#475569;background:#fff;border:1px solid #cbd5e1;box-shadow:0 1px 2px #47556914}.expiry-reminder.is-expired .expiry-reminder-action:hover{color:#334155;background:#f1f5f9;transform:translateY(-.5px)}.expiry-reminder.is-expired .expiry-reminder-action:active{background:#e2e8f0;transform:translateY(0)}.expiry-reminder-close{width:28px;height:28px;min-height:28px;color:inherit;opacity:.6;background:0 0;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:400;line-height:1;display:inline-flex}.expiry-reminder-close:hover{opacity:1;background:#0000000f;transform:scale(1.05)}.expiry-reminder-close:active{background:#0000001a;transform:scale(.95)}.expiry-reminder button:focus-visible,.ai-service-renew:focus-visible{outline-offset:2px;outline:2px solid #93c4e1}.ocr-card-header{flex-wrap:wrap;row-gap:8px;min-height:52px;padding-top:10px;padding-bottom:10px}.ocr-card-header>strong{order:1}.ocr-card-header .purchase-photo-tip-icon{order:2}.ocr-card-header .ai-service-summary{display:contents}.ocr-card-header .ai-quota-panel{order:3;margin-left:auto}.ocr-card-header .expiry-reminder.is-ai{white-space:normal;text-align:left;border-radius:8px;flex:100%;order:4;width:100%;max-width:100%;margin:4px 0 0;padding:7px 12px;font-size:12.5px;font-weight:400;line-height:1.4}.ocr-card-header .expiry-reminder.is-ai .expiry-reminder-action{border-radius:5px;min-height:24px;padding:0 8px;font-size:11.5px}.ocr-card-header .expiry-reminder.is-ai .expiry-reminder-close{border-radius:4px;width:22px;height:22px;min-height:22px;font-size:16px}.ocr-card-header .expiry-reminder span{color:inherit;font-size:inherit;margin:0}.ocr-card-header .ai-service-renew{color:#991b1b;cursor:pointer;background:#fff;border:1px solid #fca5a5;border-radius:999px;flex:none;justify-content:center;align-items:center;height:22px;min-height:22px;margin-left:6px;padding:0 8px;font-size:11px;font-weight:600;line-height:1;transition:all .15s ease-in-out;display:inline-flex;box-shadow:0 1px 2px #991b1b0d}.ocr-card-header .ai-service-renew:hover{color:#7f1d1d;background:#fef2f2;border-color:#ef4444}.ocr-card-header .ai-service-renew:active{background:#fee2e2}@media (pointer:coarse){.expiry-reminder-action,.expiry-reminder-close,.ai-service-renew{min-height:44px}.expiry-reminder-close{min-width:44px}.ocr-card-header .expiry-reminder.is-ai .expiry-reminder-action,.ocr-card-header .expiry-reminder.is-ai .expiry-reminder-close{min-height:44px}}@media (width<=900px){.expiry-reminder{flex-wrap:wrap;gap:8px;padding:10px 12px}.expiry-reminder-text{flex-basis:calc(100% - 36px)}.expiry-reminder-action{margin-left:auto}}.sidebar .acct-details{white-space:nowrap;border-top:1px solid #eaf0f4;align-items:center;gap:6px;min-width:0;padding-top:8px;padding-right:23px;display:flex}.sidebar .acct-detail-label{color:var(--muted);flex:none;font-size:11px;font-weight:500}.sidebar .acct-account-name{color:#24313a;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;font-weight:700;overflow:hidden}.sidebar .acct-role{min-width:52px;height:20px;color:var(--brand-d);background:#eaf3f8;border:1px solid #d7e7f1;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0 8px;font-size:10.5px;font-weight:700;line-height:1;display:inline-flex}.sidebar .acct-role-finance{color:#257349;background:#eaf7ef;border-color:#d2eadb}.sidebar .acct-role-shareholder{color:#936024;background:#fbf1e5;border-color:#f0ddc3}.sidebar .acct-actions{grid-template-columns:minmax(0,1fr) 98px;gap:6px;display:grid}.sidebar .acct-action{min-width:0;min-height:31px;color:var(--brand-d);white-space:nowrap;cursor:pointer;background:#eff7fb;border:1px solid #cde1ed;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:5px 7px;font-size:11px;font-weight:700;transition:background .15s,border-color .15s;display:flex}.sidebar .acct-action:hover{background:#e5f1f8;border-color:#a8cde2}.sidebar .acct-action:active{background:#dceaf4}.sidebar .acct-action svg{flex:none;width:15px;height:15px}.sidebar .acct-lock{border-color:var(--line);color:#4b5d68;background:#fff}.sidebar .acct-lock:hover{background:#f5f9fb;border-color:#c7d8e3}.sidebar .acct-guest-action{width:100%}.app-shell>main{background:#f7fafc}.app-shell>main.analytics-shell .content{max-width:none;margin:0;padding:29px 40px 64px}.app-shell .topbar{min-height:var(--shell-header-height);border-bottom:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffffff0;padding:0 30px}.app-shell .topbar-icon{background:var(--brand-soft);width:36px;height:36px;color:var(--brand-d);border-radius:10px}.app-shell .topbar-icon svg{width:20px;height:20px}.app-shell .topbar h1{color:#24313a;font-size:15px;font-weight:750}.app-shell .topbar p{color:var(--muted);margin-top:3px;font-size:13px}.app-shell .saved-chip{color:#4c6355;background:0 0;border-color:#0000;font-size:12px}.app-shell .saved-chip i{background:#4cae72}.app-shell .topbar-guide{border:1px solid var(--line);color:#556675;white-space:nowrap;background:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:5px;height:32px;min-height:32px;padding:0 11px;font-size:12.5px;font-weight:500;line-height:1;transition:all .18s;display:inline-flex}.app-shell .topbar-guide:hover{color:var(--brand);background:var(--brand-soft);border-color:#2d6f9d4d}.app-shell .content{width:100%;max-width:1430px;margin:0 auto;padding:29px 31px 64px}.page{gap:16px}.rf-card,.income-shell,.income-panel,.ocr-card,.stat,.monitor-stat,.supplier-price-tabs,.data-backup-card{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.rf-card,.income-shell,.ocr-card{border-radius:17px}.income-panel,.data-backup-card{border-radius:13px}.rf-card h3{color:#2d4250;border-bottom:1px solid #edf2f5;padding:17px 19px;font-size:14px;font-weight:750}.rf-card h3 .r{color:var(--muted);font-size:11px;font-weight:400}.rf-card-body{padding:19px}.income-shell-body,.supplier-shell-body{padding:var(--shell-pad,19px);gap:16px}.income-shell-body{--shell-pad:19px}.income-panel>header,.ocr-card-header{background:#fff;border-bottom:1px solid #edf2f5;min-height:48px;padding:12px 16px}.income-panel>header strong,.ocr-card-header strong{color:#2d4250;font-size:13px}.income-panel>header span,.ocr-card-header span{color:var(--muted);font-size:11px}.income-panel-body{padding:17px}.income-panel-body.record-basic-grid{gap:16px}.income-panel-body.payment-info-grid{grid-template-columns:minmax(140px,176px) minmax(132px,176px) minmax(220px,420px) minmax(116px,148px)}.income-panel-body.payment-info-grid .field{grid-template-columns:minmax(0,1fr)}@media (width<=1080px){.income-panel-body.payment-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.income-tabs{border-color:var(--line);background:#fff;gap:4px;min-height:57px;padding:6px 12px;overflow-x:auto}.income-tabs button{color:#3f4f5a;white-space:nowrap;border:0;border-radius:9px;flex:none;align-self:center;min-height:41px;padding:0 14px;font-size:15px;font-weight:600}.income-tabs button:hover{color:var(--brand-d);background:#f3f8fb}.income-tabs button.on{color:var(--brand-d);background:var(--brand-soft);border:0;font-weight:750}.income-tabs button,.supplier-price-tabs button{min-width:110px}.income-tabs button.photo-entry-tab,.supplier-price-tabs button.photo-entry-tab{padding-inline:10px}.photo-entry-tab-label{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.photo-entry-tab-icon{width:14px;height:14px;color:inherit;opacity:.75;justify-content:center;align-items:center;display:inline-flex}.photo-entry-tab-icon svg{width:14px;height:14px}.photo-entry-tab-ai{color:#91a1ac;letter-spacing:.01em;border:1px solid;border-radius:4px;padding:1px 3px;font-size:9px;font-weight:700;line-height:1}.photo-entry-tab.on .photo-entry-tab-ai{color:var(--brand-d);opacity:.8}.seg,.flow-type-toggle,.supplier-price-tabs{border:1px solid var(--line);box-shadow:none;background:#f2f7fa;border-radius:10px}.seg button,.flow-type-toggle button,.supplier-price-tabs button{color:#3f4f5a;border-radius:8px}.seg button{font-size:15px}.flow-type-toggle button,.supplier-price-tabs button{font-size:14px}.seg button.on,.flow-type-toggle button.on,.flow-type-toggle button.on.return,.supplier-price-tabs button.on{color:var(--brand-d);background:#fff;box-shadow:0 1px 4px #2855761a}.income-composition-date{align-items:center;display:inline-flex}.income-composition-date input{box-sizing:border-box;color:#24313a;width:158px;min-width:158px;height:38px;min-height:38px;max-height:38px;font:inherit;white-space:nowrap;background:#fff;border:1px solid #dce7ed;border-radius:8px;padding:6px 10px;font-size:14px;font-weight:400;line-height:24px}.income-composition-date input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #2d6f9d1f}.btn{border:1px solid var(--brand);background:var(--brand);min-height:36px;box-shadow:none;border-radius:9px;padding:8px 15px;font-size:14px;font-weight:700;transition:background .16s,border-color .16s,box-shadow .16s}.btn:hover{border-color:var(--brand-d);background:var(--brand-d);transform:none;box-shadow:0 3px 10px #2d6f9d29}.btn:active{transform:none}.btn.gh{color:var(--brand-d);background:#fff;border-color:#d7e4ec}.btn.gh:hover{background:var(--brand-soft);box-shadow:none;border-color:#bcd4e3}.btn.danger{color:#b44437;background:#fff7f5;border-color:#f0d9d4}.btn.danger:hover{background:#fcece8}.btn.small{min-height:32px;padding:6px 11px;font-size:13px}.btn:disabled,.btn.gh:disabled{opacity:.55;box-shadow:none}.link,.cat-add-btn{color:var(--brand)}.field{min-width:0}.field label,.gate-field label{color:#33424c;font-size:13.5px;font-weight:600}.field input,.field select,.field textarea,.gate-field input,.category-add input,.detail-toolbar select,.detail-toolbar input,.price-table-tools select,.monitor-filters input,.monitor-filters select,.fund-editor-dialog .field input,.fund-editor-dialog .field select{box-sizing:border-box;color:#24313a;background:#fff;border:1px solid #dce7ed;border-radius:9px;width:100%;min-width:0;min-height:39px;padding:8px 11px;font-size:15px}.gate-field input{font-size:15px}.inline-edit-input{border-color:#bcd4e3;font-size:13.5px}.inline-edit-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2d6f9d21}.field input:focus,.field select:focus,.field textarea:focus,.gate-field input:focus,.monitor-filters input:focus,.monitor-filters select:focus,.detail-toolbar input:focus,.detail-toolbar select:focus{border-color:var(--brand);background:#fff;outline:none;box-shadow:0 0 0 3px #2d6f9d21}.field input:disabled,.field select:disabled{color:#94a4ad;background:#f5f8fa}.table{color:#344c59;font-size:15px}.table th{color:#2f424e;background:#f9fbfc;border-bottom:1px solid #e8eff3;padding:11px 14px;font-size:13.5px;font-weight:700}.table td{border-bottom:1px solid #edf2f5;padding:11px 14px}.table tbody tr:hover{background:#f8fbfd}.table .table-sum td,.table tr.sum td{color:var(--brand-d);background:#f0f7fb}.badge{color:#4f6270;background:#f1f5f7;padding:3px 9px;font-size:12px;font-weight:600}.backup-list .backup-kind-tag{vertical-align:1px;margin-left:8px;padding:1px 7px;font-size:10.5px;font-weight:500}.badge.g,.badge.ok,.type-chip.income{color:#1f6b4c;background:#e7f5ed}.badge.info,.badge.b{color:var(--brand-d);background:var(--brand-soft)}.badge.warn,.badge.o{color:#7d5417;background:#fbf1df}.badge.r{color:#a93b30;background:#fcece8}.blue,.ratio-in{color:var(--brand-d)!important}.muted,.faint{color:var(--muted)}.empty{min-height:106px;color:var(--muted);place-items:center;padding:26px;font-size:14px;display:grid}.banner-error,.banner-ok,.note,.price-entry-notice,.row-note{border-radius:9px;line-height:1.6}.banner-error{color:#ab4237;background:#fff4f1;border:1px solid #f2d6d0}.banner-ok{color:#28784e;background:#f0faf3;border:1px solid #d3eadb}.note,.price-entry-notice{color:#557687;background:#f2f8fb;border:1px solid #d8e9f1}.analytics-page{gap:30px}.analytics-intro{padding:1px 2px 3px}.analytics-intro .eyebrow{color:var(--brand);letter-spacing:0}.analytics-intro h2{color:#24313a;letter-spacing:-.035em;margin:8px 0 5px;font-size:28px}.analytics-intro p{color:var(--muted);margin:0;font-size:13px}.today-dashboard,.monthly-dashboard{gap:14px}.analytics-section-heading h2{color:#24313a;margin-top:4px;font-size:19px;font-weight:750}.analytics-section-heading>span{color:var(--muted);font-size:12px}.analytics-section-heading .eyebrow{color:var(--brand);letter-spacing:0;font-size:11px}.today-kpis{grid-template-columns:1.35fr repeat(2,minmax(0,1fr));gap:12px}.today-kpi{border-color:var(--line);min-height:152px;box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:18px 20px;position:relative;overflow:hidden}.today-kpi>:not(.today-kpi-wave){z-index:1;position:relative}.today-kpi-wave{z-index:0;opacity:.32;pointer-events:none;width:66%;height:78%;position:absolute;bottom:0;right:0}.today-kpi-wave path{fill:none;stroke:url(#today-growth-stroke);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.3px}.today-kpi-wave .today-kpi-wave-glow{stroke:#bde7fa;stroke-width:6px;opacity:.16;filter:blur(4px)}.today-kpi span{color:#3f4f5a;font-size:13px;font-weight:700}.today-kpi-label{align-items:center;gap:9px;display:flex}.today-kpi .kpi-mark{width:27px;height:27px;color:var(--brand);background:#e8f3f8;border-radius:8px;flex:0 0 27px;place-items:center;display:grid}.today-kpi[data-tone=neutral] .kpi-mark{color:#708693;background:#eff3f6}.today-kpi[data-tone=success] .kpi-mark{color:var(--semantic-success);background:#e4f6ed}.today-kpi[data-tone=warning] .kpi-mark{color:var(--semantic-warning);background:#fff1d8}.today-kpi[data-tone=danger] .kpi-mark{color:var(--semantic-danger);background:#ffe6e8}.today-kpi strong{color:#233d50;margin:23px 0 4px;font-size:28px;font-weight:750}.today-kpi small{color:#5e6e79;font-size:12px}.today-kpi.highlight{box-shadow:var(--shadow);background:linear-gradient(115deg,#f4f9fc 0%,#e9f3f9 100%);border-color:#d2e3ed}.today-kpi.highlight span{color:#344d5d}.today-kpi.highlight .kpi-mark{color:var(--brand);background:#dcecf6}.today-kpi.highlight .today-kpi-wave{opacity:.13}.today-kpi.highlight strong{color:var(--brand-d);font-size:38px}.today-kpi.highlight small{color:var(--muted)}.today-kpi.highlight small .dot{color:var(--semantic-warning)}.today-kpi:not(.highlight) .kpi-mark svg{width:16px;height:16px}.today-kpi small .dot{color:var(--semantic-warning)}.monthly-filter{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:36px;padding:4px 10px}.monthly-filter input{color:#28475e}.monthly-overview-stack{gap:14px;margin-bottom:0}.monthly-indicators-card .indicator-table{width:100%}.monthly-indicators-card .indicator-table-wrap{min-width:0;overflow-x:auto}.monthly-indicators-card .indicator-table{min-width:560px}.monthly-indicators-card .indicator-table td{height:53px}.monthly-indicators-card .indicator-group-row th{color:#405b6b;text-align:left;background:#f3f8fb;border-bottom-color:#e4edf2;padding:8px 13px;font-size:12.5px;font-weight:750}.monthly-indicators-card .indicator-group-row th small{color:#607480;margin-left:10px;font-size:11.5px;font-weight:500}.monthly-indicators-card .indicator-group-secondary .indicator-group-row th{background:#f7f9fa}.monthly-indicators-card .indicator-group-secondary tr:not(.indicator-group-row){background:#fbfcfd}.monthly-indicators-card .indicator-group-secondary tr:not(.indicator-group-row):hover{background:#f3f8fb}.monthly-indicators-card .indicator-row-zero .indicator-category-name,.monthly-indicators-card .indicator-row-secondary .indicator-category-name{color:#5e6e79}.monthly-indicators-card .indicator-row-zero .indicator-category-icon{opacity:.72}.monthly-indicators-card .indicator-row-secondary .indicator-amount:not(.zero){color:#526a78;font-weight:600}.indicator-category-name{color:#344d5d;align-items:center;gap:10px;font-weight:650;display:inline-flex}.indicator-category-icon{color:#3b83aa;background:#e9f3f9;border-radius:10px;flex:0 0 31px;place-items:center;width:31px;height:31px;display:inline-grid}.indicator-category-icon svg{width:18px;height:18px}.indicator-category-icon[data-category=rev]{color:#389468;background:#e9f5ee}.indicator-category-icon[data-category=food]{color:#4a93b9;background:#e9f3f9}.indicator-category-icon[data-category=lab]{color:#c9872a;background:#fff2e2}.indicator-category-icon[data-category=oth]{color:#2f8f8a;background:#e8f5f2}.indicator-category-icon[data-category=nm],.indicator-category-icon[data-category=nre]{color:#7e8f9c;background:#eff2f5}.indicator-category-icon[data-category=nri]{color:#4d9c75;background:#e9f5ee}.monthly-indicators-card .indicator-amount{color:#29475a;font-variant-numeric:tabular-nums;font-size:14.5px;font-weight:700}.monthly-indicators-card .indicator-amount.zero{color:#8ba0ad;font-weight:600}.monthly-indicators-card .indicator-table th.num{width:24%}.monthly-indicators-card .indicator-ratio-heading{text-align:right;width:21%;min-width:96px}.monthly-indicators-card .indicator-action-heading{width:17%;min-width:100px}.monthly-indicators-card .indicator-group-row th.indicator-ratio-group-heading{color:#607480;text-align:right;font-size:11.5px;font-weight:600}.monthly-indicators-card .indicator-table .indicator-ratio-cell{text-align:right}.indicator-ratio-stack{justify-items:end;gap:5px;display:grid}.indicator-ratio-stack .indicator-ratio-track{width:100%}.indicator-ratio-track{background:#edf2f6;border-radius:99px;height:5px;position:relative}.indicator-ratio-track i{background:linear-gradient(90deg,#6fa3c7,#2d6f9d);border-radius:99px;height:100%;position:absolute;top:0;left:0}.indicator-ratio-track em{background:#d99128;border-radius:2px;width:3px;height:9px;position:absolute;top:-2px;left:100%}.indicator-action-cell{white-space:nowrap}.analytics-detail-link{min-height:32px;color:var(--brand-d);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:4px 6px;font-size:12.5px;font-weight:650;display:inline-flex}.analytics-detail-link span{font-size:17px;font-weight:400;line-height:1}.analytics-detail-link:hover{background:#edf5fa;text-decoration:underline}.analytics-detail-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.indicator-ratio-num{color:#51667a;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13.5px;font-weight:550}.indicator-ratio-num.dim{color:#8ba0ad}.monthly-indicators-card .indicator-table .badge{vertical-align:1px;padding:2px 9px;font-size:10.5px}.indicator-table-note{color:#879aa5;text-align:right;margin:10px 2px 0;font-size:10px;line-height:1.5}.dialog-card.indicator-detail-dialog{flex-direction:column;width:min(1080px,100%);max-height:min(92vh,940px);display:flex}.indicator-detail-dialog-body{min-height:0;padding:14px 20px 16px;display:block;overflow:auto}.indicator-detail-dialog-body>*+*{margin-top:12px}.indicator-detail-table-section{gap:8px;min-width:0;display:grid}.indicator-detail-table-section h4{color:#344d5d;justify-content:space-between;align-items:baseline;gap:12px;margin:0;font-size:13px;display:flex}.indicator-detail-table-section h4 span{color:#8a9ba5;font-size:11px;font-weight:500}.indicator-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.indicator-detail-summary>div{background:#fff;border:1px solid #e1ebf1;border-radius:11px;gap:4px;padding:10px 14px;display:grid;box-shadow:0 4px 12px #2a4a5e0a}.indicator-detail-summary b{color:#29475a;font-variant-numeric:tabular-nums;font-size:16px}.indicator-detail-scope{color:#879aa5;text-align:left;margin:0;font-size:10px}.indicator-detail-table-wrap{overflow-x:auto}.indicator-detail-table{min-width:1080px}.indicator-detail-table td{vertical-align:middle}.indicator-detail-table td:first-child{white-space:nowrap}.indicator-detail-table td:first-child small{color:#8a9ba5;margin-top:3px;font-size:10px;display:block}.indicator-detail-note{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.indicator-detail-status{justify-items:start;gap:4px;display:grid}.indicator-detail-status small{color:#7d929f;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:10px;overflow:hidden}.indicator-detail-table tfoot td{color:#31566e;background:#f3f8fb;border-top:1px solid #dce7ed;font-weight:700}.analytics-page .rf-card h3:before{background:var(--brand-soft);vertical-align:-3px;content:"";border-radius:3px;width:6px;height:16px;margin-right:10px;display:inline-block}.analytics-balance-card h3{flex-wrap:wrap;gap:12px}.analytics-balance-card h3 .r{margin-left:auto}.analytics-balance-title{align-items:baseline;gap:10px;display:inline-flex}.analytics-balance-title small{color:var(--muted);font-size:12.5px;font-weight:500}.analytics-balance-card .rf-card-body{padding-top:14px}.analytics-balance-summary{border-bottom:1px solid #e5edf2;margin-bottom:14px;padding:2px 2px 14px}.analytics-balance-summary>div{flex-wrap:wrap;align-items:baseline;gap:6px 16px;display:flex}.analytics-balance-summary span{color:#4b5d68;font-size:13px;font-weight:650}.analytics-balance-summary strong{color:var(--brand-d);font-variant-numeric:tabular-nums;letter-spacing:-.025em;font-size:26px;font-weight:750}.analytics-balance-summary strong.red{color:var(--semantic-danger)}.analytics-balance-summary p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.5}.analytics-page .rf-card .table th,.analytics-page .rf-card .table td{padding:11px 13px}.analytics-page .monthly-indicators-card .indicator-group-row th{padding:8px 13px}.account-table-wrap{overflow-x:auto}.account-table{min-width:620px}.account-table th.acct-prev-heading{width:24%}.account-table th.acct-curr-heading{width:21%}.account-action-heading{width:17%;min-width:100px}.account-action-cell{white-space:nowrap}.account-table td.muted{font-size:13.5px}.account-table td.num.bold{font-size:14.5px}.account-table .amount-zero{color:#8ba0ad}.analytics-page .account-name .badge{padding:2px 9px;font-size:10.5px}.account-detail-table{min-width:940px}.account-detail-table tfoot td{color:#31566e;background:#f3f8fb;border-top:1px solid #dce7ed;font-weight:700}.indicator-detail-summary b.red{color:var(--semantic-danger)}.analytics-page .account-total td{color:#526775;background:#f7fafc;border-top:1px solid #dfe9ef;font-size:13.5px;font-weight:600}.analytics-page .account-total td.num{font-variant-numeric:tabular-nums}.analytics-page .account-total td.red{color:var(--semantic-danger)}.analytics-page .account-name{align-items:center;gap:10px;min-width:0;display:inline-flex}.analytics-page .account-name>span:nth-child(2){overflow-wrap:anywhere;min-width:0}.analytics-page .account-icon{color:#687f8e;background:#f0f4f7;border-radius:9px;flex:0 0 29px;place-items:center;width:29px;height:29px;display:inline-grid}.analytics-page .account-icon svg{width:17px;height:17px}.analytics-page .account-icon[data-channel=cash]{color:#2d6f9d;background:#e7f3fa}.analytics-page .account-icon[data-channel=bank]{color:#607793;background:#eef2f7}.analytics-page .account-icon[data-channel=credit]{color:#7867a6;background:#f0eef8}.analytics-page .account-icon[data-channel=wechat]{color:#2f8f8a;background:#e6f5f1}.analytics-page .account-icon[data-channel=alipay]{color:#c97835;background:#fff1e5}.analytics-page .account-icon[data-channel=wallet]{color:#4a8392;background:#edf5f7}.analytics-page .account-icon[data-channel=total]{color:var(--brand-d);background:#e1eff8}.analytics-page .profit-break-even{background:linear-gradient(135deg,#fffaf1,#f8fbfc);border-color:#e8d8b9;box-shadow:inset 3px 0 #d99128}.analytics-page .profit-break-even span{color:#76582d}.analytics-page .profit-break-even b{color:#9a6c29}.income-page,.flow-page,.supplier-page{color:#2d4250}.income-payment-cell{border-color:var(--line);background:#fff;border-radius:11px}.income-page .income-payment-cell input,.denom-count-input{color:#24313a;background:#fff;border:1px solid #dce7ed;border-radius:9px}.income-page .income-payment-cell input:focus,.denom-count-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #2d6f9d21}.income-actions,.supplier-panel-actions{gap:9px}.ocr-card-header,.ocr-work-panel>header{background:#fff}.ocr-card-header>strong:before{background:var(--brand)}.ocr-card-header .ai-quota-panel{background:var(--brand-soft)}.ocr-card-header .ai-quota-panel,.ocr-card-header .ai-quota-panel .ai-quota-copy{color:var(--brand-d);font-size:12.5px}.ocr-card-header .ai-quota-panel .ai-quota-ico{color:var(--brand);background:#fff}.ocr-card-header .ai-quota-panel .ai-quota-copy strong{color:var(--brand-d);font-size:14px}.ocr-card-header .ai-quota-panel.is-inactive{background:#f2f5f8}.ocr-card-header .ai-quota-panel.is-inactive .ai-quota-ico{color:#93a5af}.ocr-card-header .ai-quota-panel.is-inactive .ai-quota-copy{color:#4b5563}.income-shell-body.photo-body{min-height:0;padding-bottom:20px}.income-page .ocr-card{min-height:0}.ocr-work-panel,.ocr-preview,.imgprev{background:#f9fcfd;border-color:#d8e6ed}.ocr-file-button{color:var(--brand-d);background:#f6fafc;border:1px solid #c8dce8;border-radius:9px}.ocr-file-button:hover{background:var(--brand-soft)}.ocr-status-note,.gate-net-hint{color:#4f7287;background:#f2f8fb;border-color:#d7e8f1}.flow-overview>div{box-shadow:none;background:#fcf7ed;border-color:#eadfc9;border-radius:13px}.flow-overview strong,.supplier-summary strong{color:#9a6c29}.fund-person-summary>div{background:#f9fcfd;border-color:#dfe9ef}.supplier-shell{min-height:0}.supplier-section-heading strong{color:#2d4250}.supplier-price-tabs{background:#f2f7fa}.monitor-stat{border-radius:13px}.monitor-stat strong{color:#263f4e}.monitor-filters select,.monitor-filters input{border-radius:9px}.data-overview>div,.data-backup-card{border-color:var(--line);background:#f9fcfd}.data-backup-card.restore{background:#f5fafc;border-color:#d8e8f1}.data-backup-icon,.data-backup-icon.restore{color:var(--brand);background:var(--brand-soft)}.logo-file-control{background:#fff;border:1px solid #dce7ed;border-radius:9px}.logo-file-control:hover{background:#f5fafc}.category-row{border-color:#e9eff3}.category-row:hover{background:#f8fbfd}.category-name strong,.data-overview strong,.data-backup-card-head strong{color:#2d4250}.record-entry-page{--muted:#4b5563;--faint:#64748b;color:#24313a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:15px;line-height:1.6}.record-entry-page button,.record-entry-page input,.record-entry-page select,.record-entry-page textarea{font-family:inherit}.record-entry-page .income-tabs button,.record-entry-page .btn,.record-entry-page .seg button{font-size:15px;font-weight:600}.record-entry-page .income-tabs button,.record-entry-page .seg button{color:#4b5563}.record-entry-page .seg button.on,.record-entry-page .income-tabs button.on,.record-entry-page .income-tabs button:hover{color:var(--brand-d)}.record-entry-page .btn.small{font-size:14px;font-weight:500}.record-entry-page .income-panel>header strong,.record-entry-page .ocr-card-header>strong,.record-entry-page .ocr-work-panel>header strong,.record-entry-page .income-record-heading strong{color:#24313a;font-size:16px;font-weight:600}.record-entry-page .income-panel>header>span,.record-entry-page .ocr-work-panel>header>span,.record-entry-page .income-record-heading>span,.record-entry-page .income-record-totals span{color:#4b5563;font-size:14px}.record-entry-page .field label{color:#374151;font-size:14px;font-weight:500}.record-entry-page .field label small{color:#4b5563;font-size:13px;font-weight:400}.record-entry-page .field input,.record-entry-page .field select,.record-entry-page .field textarea,.record-entry-page .income-review-field input,.record-entry-page .income-review-field select{box-sizing:border-box;color:#24313a;width:100%;min-width:0;font-size:15px;line-height:1.6}.record-entry-page .income-payment-cell strong{color:#374151;font-size:14px;font-weight:500}.record-entry-page .income-payment-cell input,.record-entry-page input[inputmode=decimal],.record-entry-page .field input[inputmode=decimal]{color:#24313a;font-variant-numeric:tabular-nums;font-size:16px;font-weight:500}.record-entry-page input::placeholder,.record-entry-page textarea::placeholder{color:#64748b;opacity:1}.record-entry-page .field input:disabled,.record-entry-page .field select:disabled{color:#64748b}.record-entry-page .muted,.record-entry-page .faint{color:#4b5563}.record-entry-page .badge{font-size:13px;font-weight:500}.record-entry-page .empty,.record-entry-page .ocr-preview,.record-entry-page .ocr-result-empty,.record-entry-page .imgprev{color:#4b5563;font-size:14px}.record-entry-page .ocr-file-button,.record-entry-page .field label.ocr-file-button{color:var(--brand-d);font-size:15px;font-weight:500}.record-entry-page .ocr-status-note,.record-entry-page .income-review-note,.record-entry-page .income-review-hint,.record-entry-page .income-restore-note,.record-entry-page .ocr-required-hint,.record-entry-page .ocr-required-error,.record-entry-page .income-total-check,.record-entry-page .alignment-hint,.record-entry-page .income-alignment-body p,.record-entry-page .expense-unify-bar,.record-entry-page .expense-align-total,.record-entry-page .duplicate-income-warning,.record-entry-page .duplicate-income-hint,.record-entry-page .duplicate-records-return-note{font-size:14px}.record-entry-page .dialog-card>header strong{font-size:16px;font-weight:600}.record-entry-page .dialog-card>header span{color:#4b5563;font-size:14px}.record-entry-page .ocr-review-image>strong,.record-entry-page .expense-review-card>header>span{color:#374151;font-size:14px;font-weight:600}.record-entry-page .expense-review-card>header small,.record-entry-page .income-review-note span:last-child{color:#4b5563;font-size:13px}.record-entry-page .income-review-delete,.record-entry-page .income-mapping-delete{font-size:14px;font-weight:500}.record-entry-page .income-record-totals strong{font-size:22px;font-weight:700}.record-entry-page .table{color:#24313a;font-size:15px;line-height:1.6}.record-entry-page .table th{color:#374151;white-space:nowrap;background:#f1f5f8;border-bottom:1px solid #d7e2e9;padding:12px 16px;font-size:14px;font-weight:600}.record-entry-page .table td{border-bottom:1px solid #e1e8ee;height:52px;padding:8px 16px}.record-entry-page .table tbody tr:hover{background:#eef5fa}.record-entry-page .table th.num,.record-entry-page .table td.num{text-align:right;white-space:nowrap}.record-entry-page .table td.num{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.record-entry-page .table td.muted{color:#4b5563}.record-entry-page .table td.right{text-align:right;white-space:nowrap}.record-entry-page .income-review-head{color:#374151;background:#f1f5f8;font-size:14px;font-weight:600}.record-entry-page .income-review-row{border-color:#e1e8ee}.record-entry-page .income-review-row:hover{background:#eef5fa}.record-entry-page .income-review-index{color:#4b5563;font-size:13px;font-weight:500}.record-entry-page .income-review-field>span{color:#374151;font-size:14px}.record-entry-page .duplicate-income-row{color:#24313a;font-size:15px}.record-entry-page .duplicate-income-head{color:#374151;background:#f1f5f8;font-size:14px}.gate{background:#f7fafc;gap:54px}.gate-brand-logo{background:#fff;overflow:hidden;box-shadow:0 8px 24px #2d6f9d1a}.store-quick-mark{transform:scale(1.18)}.gate-brand h2,.gatebox-head h1{color:#24313a}.gate-brand-slogan,.gatebox-head p{color:var(--muted)}.gate-brand-values>div{border-color:#d6e7ef}.gate-brand-values>div:first-child{border-color:var(--brand)}.gate-brand-values b{color:#365365}.gatebox{border:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-radius:18px;box-shadow:0 12px 34px #2855761a}.gate-field input{border-color:#dce7ed}.dialog-mask{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c2f3b61}.dialog-card{border:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-radius:17px;box-shadow:0 20px 55px #16374a33}.dialog-card>header{border-color:#e9eff3}.dialog-card>header strong{color:#243b49}.dialog-card>footer{background:#f9fcfd;border-top:1px solid #e9eff3}.dialog-close:hover{color:#ad483e;background:#fff0ed}.onboarding-security,.restore-file-confirm-safeguard{background:#f2f8fb;border-color:#d7e8f1}.onboarding-security>span,.restore-file-confirm-icon,.confirm-icon{color:var(--brand);background:var(--brand-soft)}.confirm-icon.danger{color:#ad483e;background:#fff0ed}@media (width<=1200px){.app-shell{grid-template-columns:218px minmax(0,1fr)}.app-shell .content,.app-shell>main.analytics-shell .content{padding:25px 22px 50px}.today-kpis,.sidebar .acct-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar .acct-details{padding-right:0}}@media (width<=950px){.settings-basic-layout{grid-template-columns:1fr}.income-panel-body.record-basic-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.app-shell{--shell-header-height:65px;grid-template-columns:166px minmax(0,1fr)}.sidebar .brand{gap:7px;padding:0 9px}.sidebar .brand-mark{flex-basis:31px;width:31px;height:31px}.sidebar .brand strong{font-size:13px}.sidebar .brand span{display:none}.sidebar .main-nav{padding:14px 5px}.sidebar .main-nav>button,.sidebar .main-nav>.nav-group>button{gap:7px;padding:0 7px;font-size:11px}.sidebar .nav-icon{width:18px;height:18px}.sidebar .nav-icon svg{width:17px;height:17px}.sidebar .nav-children{padding-left:17px}.sidebar .main-nav .nav-children button{padding:7px;font-size:11px}.sidebar .acct-card{border-radius:9px;gap:8px;padding:8px}.sidebar .acct-shop{gap:6px;min-height:30px}.sidebar .acct-shop-logo{border-radius:7px;flex-basis:30px;width:30px;height:30px}.sidebar .acct-shop-logo .store-quick-mark,.sidebar .acct-shop-logo svg{width:19px;height:19px}.sidebar .acct-shop-copy b{font-size:11px}.sidebar .acct-plan{min-width:44px;height:18px;padding:0 6px;font-size:9px}.sidebar .acct-plan.is-vip{gap:3px}.sidebar .acct-details{gap:4px;padding-top:6px}.sidebar .acct-detail-label,.sidebar .acct-account-name{font-size:10px}.sidebar .acct-role{min-width:44px;height:18px;padding:0 6px;font-size:9.5px}.sidebar .acct-actions{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:4px}.sidebar .acct-action{gap:3px;min-height:29px;padding:4px;font-size:10px}.sidebar .acct-action svg{width:12px;height:12px}.sidebar .sidebar-footer{padding:8px}.sidebar .nav-separator{margin:12px 5px}.app-shell .topbar{padding:0 14px}.app-shell .saved-chip{display:none}.app-shell .content,.app-shell>main.analytics-shell .content{padding:20px 13px 40px}.analytics-intro h2{font-size:23px}.analytics-section-heading{align-items:flex-start}.monthly-heading{flex-direction:column}.monthly-actions{flex-wrap:wrap}.analytics-balance-card h3 .r{margin-left:0}.income-panel-body.record-basic-grid,.form-grid{grid-template-columns:1fr}.dialog-mask{padding:12px}.dialog-card{max-height:calc(100vh - 24px);overflow-y:auto}}@media (prefers-reduced-motion:reduce){.rf-card,.income-shell,.today-kpi,.stat,.monitor-stat,.monitor-group{animation:none}}.dialog-card.income-record-edit-dialog{flex-direction:column;max-height:calc(100vh - 48px);display:flex}.income-record-edit-dialog .income-record-edit-body{min-height:0;overflow-y:auto}.red,.neg.red{color:#c2372f}.rf-card h3{font-size:15px}.rf-card h3 .r,.card-title-sub{font-size:12.5px}.income-panel>header strong,.ocr-card-header strong{font-size:14.5px}.income-panel>header span,.ocr-card-header span,.ocr-work-panel>header span{font-size:12.5px}.ocr-work-panel>header strong{font-size:14px}.section-caption{color:#5e6e79;font-size:13.5px}.settings-intro,.analytics-intro p{font-size:14px}.analytics-section-heading>span{font-size:13px}.field label small{color:#4f6270;font-size:12.5px;font-weight:400}.income-page .field label,.supplier-page .field label{color:#33424c}.income-payment-cell strong{color:#374151;font-size:14px}.supplier-payment-bills-title{font-size:14px}.supplier-payment-bills-title label{font-size:13px}.analytics-section-heading h2{font-size:20px}.analytics-kpi span{font-size:12.5px}.analytics-kpi strong{font-size:19px}.stat-label,.today-reminders-head span{font-size:12.5px}.reminder-card strong{font-size:13.5px}.reminder-card b{font-size:13px}.monthly-filter,.analytics-source{font-size:12.5px}.account-caption{font-size:13px}.analytics-balance-summary strong{font-size:27px}.mo-kpi-name{font-size:12.5px}.mo-kpi-val{font-size:clamp(23px,1.7vw,28px);font-weight:700}.mo-kpi-aux{color:#4f6270;font-size:12.5px}.mo-ring b{font-size:17px}.mo-prog-lr{color:#4f6270;font-size:12px}.mo-prog-note{color:#5e6e79;font-size:11px}.mo-legend{color:#4f6270;font-size:12px}.mo-summary{color:#47586a;font-size:13px}.mo-tip-note{color:#5e6e79;font-size:12px}.mo-foot{color:#5e6e79;font-size:11px}.monthly-indicators-card .indicator-amount{font-size:15px}.monthly-indicators-card .indicator-amount.zero,.indicator-ratio-num.dim{color:#64757f}.indicator-table-note{color:#5e6e79;font-size:11px}.indicator-detail-table-section h4 span{color:#5e6e79;font-size:12px}.indicator-detail-summary span,.indicator-detail-table td:first-child small,.indicator-detail-status small{color:#5e6e79;font-size:11.5px}.indicator-detail-scope{color:#5e6e79;font-size:11px}.monitor-stat small{font-size:12.5px}.ocr-file-button{font-size:13.5px}.ocr-selected-file>span{font-size:13px}.ocr-preview,.ocr-result-empty{color:#5e6e79;font-size:13px}.ocr-status-note{font-size:12.5px}.ocr-required-hint,.ocr-required-error,.purchase-price-required-hint,.purchase-price-required-error,.income-date-chip,.imgprev{font-size:13px}.logo-preview{color:#5e6e79;font-size:13px}.subcategory-similar p{font-size:13px}.subcategory-similar li small{font-size:12.5px}.name-suggest>p{font-size:12px}.name-suggest li button{font-size:13px}.name-suggest li button small{font-size:12px}.supplier-tabs-summary{font-size:12.5px}.supplier-section-heading span{font-size:13px}.supplier-price-tabs>span{color:#5e6e79;font-size:12.5px}.supplier-summary span,.supplier-summary small{font-size:13px}.supplier-payment-table-head{color:#2f424e;font-size:12.5px}.supplier-payment-bill{font-size:13px}.supplier-payment-bill>span>small{color:#5e6e79}.supplier-payment-summary span{color:#4f6270;font-size:12.5px}.supplier-payment-summary p{color:#35607f;font-size:12.5px}.supplier-payment-rule{color:#5e6e79;font-size:12.5px}.supplier-payment-proof-drop>span{color:#4f6270;font-size:13px}.supplier-payment-proof-drop>small{color:#5e6e79;font-size:12px}.debt-toggle,.debt-month-caption{font-size:13px}.debt-bill-head,.debt-history-bills-head{color:#4f6270;font-size:12px}.debt-bill-line,.debt-history-bill,.debt-history-meta{font-size:13px}.debt-history-pay b{font-size:13.5px}.price-warning{color:#8a4300;font-size:13px}.price-table-tools{font-size:13px}.price-photo-caption{font-size:12.5px}.purchase-price-draft-table{font-size:13.5px}.purchase-price-draft-table th{color:#2f424e;font-size:12px}.purchase-price-confidence{color:#4f6270;font-size:12px}.purchase-price-result-summary span{font-size:12px}.monitor-example-card p{font-size:13px}.flow-overview span,.flow-overview small{color:#7a5a2c;font-size:12.5px}.person-cell small,.row-note{font-size:12.5px}.detail-toolbar{font-size:13px}.flow-field-hint,.fund-person-summary span{font-size:12.5px}.cash-entry-seg button{color:#3f4f5a;font-size:14px}.cash-denom-heading strong{font-size:14px}.cash-denom-heading span{color:#4f6270;font-size:12.5px}.cash-count-history-meta,.cash-count-history-reason,.cash-count-history-detail,.theory-lines{font-size:13px}.count-note{color:#46555f;font-size:13px}.category-name strong{font-size:14px}.category-kind{font-size:12px}.sub-chip{color:#4f6270;font-size:12.5px}.sub-chip button{color:#8494a0}.cat-add-btn{font-size:13px}.data-overview span{font-size:12.5px}.data-backup-card p{color:#4f6270;font-size:12.5px}.data-backup-card-head span:not(.data-backup-icon),.account-entitlement-eyebrow{font-size:12.5px}.account-entitlement-expiry>span{color:#5e6e79;font-size:12px}.account-entitlement-features>div{font-size:12.5px}.account-entitlement-features p{color:#5e6e79;font-size:12.5px}.account-entitlement-note{color:#5e6e79;font-size:12px}.account-details-actions>strong{font-size:13.5px}.account-details-actions p{color:#5e6e79;font-size:12px}.account-value{font-size:13.5px}.account-value b{font-size:14px}.account-id-copy,.account-id-copy-status{font-size:12px}.global-warning,.dialog-card>header span{font-size:13px}.dialog-close{color:#5e6e79}.note,.price-entry-notice{color:#35505f;font-size:13.5px}.confirm-heading p,.guide-step-copy b{font-size:13.5px}.guide-step-copy small{font-size:12.5px}.guide-local-note{color:#4f6270;font-size:12.5px}.onboarding-security b{font-size:13px}.onboarding-security small{color:#5e6e79;font-size:12px}.gatebox-head p{font-size:14px}.gaterail-brand span{font-size:13px}.gaterail-steps li b{font-size:14px}.gaterail-steps li span{font-size:12.5px}.gate-trial-note,.gate-debug{font-size:13px}.local-gate-head p{font-size:13.5px}.local-gate-loading{font-size:14px}.local-gate-hint{font-size:12.5px}.template-option span{font-size:14px}.template-help{color:#47586a;font-size:13.5px}.template-empty{color:#5e6e79}.template-learning-line{font-size:13.5px}.template-desc-summary{font-size:13px}.template-analyze-hint{font-size:12.5px}.template-draft-name{font-size:13px}.duplicate-income-hint{font-size:12.5px}.duplicate-income-row{font-size:13px}.duplicate-income-head{font-size:12px}.topbar-hint{color:#5e6e79;font-size:12.5px}.topbar-guide{color:#5e6e79}.sidebar-footer{font-size:12px}.audit-history-actor{color:#3f4f5a;font-size:13px}.audit-history-verify{color:#47586a;font-size:12px}.audit-history-lines li{font-size:13px}.audit-arrow{color:#64757f}.audit-group-title{font-size:13.5px}.audit-log-pager{font-size:13px}.app-shell .topbar-member{color:#783e08;letter-spacing:.2px;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#fffdf2 0%,#fff2cd 48%,#fee596 100%);border:1px solid #d4a02c73;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;height:32px;min-height:32px;padding:0 14px;font-size:13px;font-weight:600;transition:all .18s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1.5px 4px #b473141f,inset 0 1px #ffffffd9}.app-shell .topbar-member:hover{color:#693405;background:linear-gradient(135deg,#fffdf5 0%,#feeaa8 48%,#fdd363 100%);border-color:#c28214a6;transform:translateY(-.5px);box-shadow:0 3px 9px #b4731438,inset 0 1px #fffffff2}.app-shell .topbar-member:active{transform:translateY(.5px);box-shadow:0 1px 2px #b4731426}.app-shell .topbar-member:focus-visible{outline-offset:2px;outline:2px solid #d97706}.topbar-member>svg{color:#b45309;flex-shrink:0;width:15px;height:15px;transition:transform .18s}.app-shell .topbar-member:hover>svg{transform:scale(1.08)}.member-mask{z-index:60;padding:16px}.member-dialog{background:#fff;border-radius:24px;width:min(440px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 25px 60px -15px #0007}.member-frame{background:#fff;border:0;width:100%;display:block}.member-frame-loading{visibility:hidden;width:1px;position:absolute;height:1px!important}.member-loading{color:#4b5d68;flex-wrap:wrap;align-items:center;gap:12px;padding:28px 24px;display:flex}.member-loading button,.member-offline-note button{color:#245f86;font:inherit;cursor:pointer;background:0 0;border:0;padding:4px;text-decoration:underline}.member-offline-note{color:#805b17;background:#fff8e8;border-bottom:1px solid #f0dfb3;padding:10px 16px;font-size:11px}@media (pointer:coarse){.member-offline-note button{min-height:44px}}@media (width<=760px){.app-shell .topbar .saved-chip{display:none}.app-shell .topbar-member{padding-inline:10px;font-size:12px}.app-shell .topbar-guide{padding-inline:8px;font-size:12px}}html.pwa,html.pwa body{-webkit-overflow-scrolling:auto;inset:0!important;overscroll-behavior:none!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;margin:0!important;padding:0!important;position:fixed!important;inset:0!important;overflow:hidden!important}html.pwa body{background:#f7fafc!important;min-width:0!important}html.pwa #root{width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;position:relative!important;overflow:hidden!important}html.pwa .tablet-install-page{-webkit-overflow-scrolling:touch;box-sizing:border-box;height:100%;min-height:100%;padding:max(32px, env(safe-area-inset-top)) 24px max(32px, env(safe-area-inset-bottom));background:#f6f9fc;place-items:center;display:grid;overflow-y:auto}html.pwa .tablet-install-card{box-sizing:border-box;background:#fff;border:1px solid #dce8f1;border-radius:20px;width:min(100%,640px);height:auto;padding:36px;overflow:visible;box-shadow:0 12px 40px #233c5010}html.pwa .tablet-install-logo{border-radius:14px;width:56px;height:56px;margin-bottom:16px;display:block}html.pwa .tablet-install-eyebrow{color:#2d6f9d;font-size:14px;font-weight:600}html.pwa .tablet-install-card h1{margin:12px 0;font-size:26px;line-height:1.4}html.pwa .tablet-install-card p{color:#526678;line-height:1.7}html.pwa .tablet-install-steps{margin:24px 0;padding-left:24px;line-height:2}html.pwa .tablet-install-steps>li+li{margin-top:16px}html.pwa .tablet-install-copy{color:#526678;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:6px;font-size:14px;line-height:1.7;display:flex}html.pwa .tablet-install-copy-status{overflow-wrap:anywhere;margin:8px 0 0;font-size:14px}html.pwa .tablet-install-copy button{border-radius:6px;min-height:32px;padding:4px 10px;font-size:12px}@media (pointer:coarse){html.pwa .tablet-install-copy button{min-height:44px}}html.pwa .tablet-install-tutorials{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 0;display:grid}html.pwa .tablet-install-tutorials figure{min-width:0;margin:0}html.pwa .tablet-install-tutorials a{box-sizing:border-box;background:#fff;border:1px solid #dce8f1;border-radius:10px;height:190px;padding:8px;display:flex}html.pwa .tablet-install-tutorials img{object-fit:contain;width:100%;height:100%;display:block}html.pwa .tablet-install-tutorials-ipad{grid-template-columns:minmax(0,1fr)}html.pwa .tablet-install-tutorials-ipad a,html.pwa .tablet-install-tutorials-ipad img{height:auto}html.pwa .tablet-install-tutorials figcaption{color:#34566e;margin-top:8px;font-size:13px;line-height:1.6}html.pwa .tablet-install-tutorials figcaption span{color:#526678;font-size:12px;display:block}html.pwa .tablet-install-note{color:#34566e;background:#eff6fb;border-radius:10px;align-items:flex-start;gap:10px;padding:14px 16px;font-size:14px;line-height:1.7;display:flex}html.pwa .tablet-install-note-icon{flex-shrink:0;width:20px;height:20px;margin-top:2px}html.pwa .tablet-install-note p{color:inherit;margin:0}html.pwa .tablet-install-note p+p{margin-top:8px}html.pwa .tablet-install-help{margin-top:16px}html.pwa .tablet-install-help summary{cursor:pointer;color:#526678;align-items:center;gap:8px;width:fit-content;min-height:44px;font-size:13px;font-weight:400;display:flex}html.pwa .tablet-install-help summary:after{content:"⌄"}html.pwa .tablet-install-help[open] summary:after{transform:rotate(180deg)}html.pwa .tablet-install-help p{margin:0 0 12px;font-size:14px}html.pwa .tablet-install-actions{flex-wrap:wrap;gap:12px;margin:24px 0 12px;display:flex}html.pwa .tablet-install-caption{font-size:13px}html.pwa .tablet-install-migration{border-top:1px solid #dce8f1;margin-top:20px;padding-top:16px}html.pwa .tablet-install-migration summary{cursor:pointer;color:#2d6f9d;align-items:center;min-height:44px;font-weight:600;display:flex}html.pwa .tablet-install-migration summary:after{content:"⌄";margin-left:auto}html.pwa .tablet-install-migration[open] summary:after{transform:rotate(180deg)}html.pwa .tablet-install-migration form{gap:14px;display:grid}html.pwa .tablet-install-migration label{color:#34566e;gap:8px;display:grid}html.pwa .tablet-install-migration input,html.pwa .tablet-install-migration select{box-sizing:border-box;width:100%;min-height:44px}html.pwa .tablet-install-status{overflow-wrap:anywhere;background:#eff6fb;border-radius:10px;padding:12px 16px}@media (width<=700px){html.pwa .tablet-install-page{padding:20px 16px}html.pwa .tablet-install-card{padding:24px}html.pwa .tablet-install-card h1{font-size:22px}}html.pwa input,html.pwa select,html.pwa textarea{font-size:16px}html.pwa button:not(.income-help-icon):not(.dialog-close):not(.mo-info):not(.link):not(.mo-pending-link):not(.analytics-detail-link):not(.cat-add-btn):not(.topbar-guide):not(.topbar-member):not(.tablet-install-copy-button):not(.acct-plan):not(.acct-shop-name),html.pwa .btn,html.pwa .form-row input,html.pwa .form-row select,html.pwa .form-row textarea,html.pwa .record-entry input,html.pwa .record-entry select,html.pwa .amount-input input{min-height:44px}html.pwa button{cursor:pointer;-webkit-tap-highlight-color:#2d6f9d26}@media (hover:none){html.pwa button:active,html.pwa .btn:active,html.pwa .nav-item button:active{opacity:.7;transform:scale(.98)}}html.pwa .income-page .income-help-icon{box-sizing:border-box;width:19px!important;height:19px!important;min-height:19px!important;max-height:19px!important;padding:0!important}html.pwa .dialog-close{width:28px!important;height:28px!important;min-height:28px!important;max-height:28px!important;padding:0!important;line-height:1!important}html.pwa .password-reveal,html.pwa .bind-email-password{position:relative}html.pwa .password-reveal input,html.pwa .bind-email-password input{padding-right:48px!important}html.pwa .password-reveal button,html.pwa .bind-email-password button{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;z-index:3!important;background:0 0!important;border:0!important;border-radius:0 12px 12px 0!important;justify-content:center!important;align-items:center!important;width:48px!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;font-size:18px!important;display:flex!important;position:absolute!important;top:0!important;bottom:0!important;right:0!important;transform:none!important}html.pwa .password-reveal button:active,html.pwa .bind-email-password button:active{opacity:.6!important;transform:scale(.92)!important}html.pwa .mo-info{width:16px!important;height:16px!important;min-height:16px!important;max-height:16px!important;padding:0!important}html.pwa .sub-chip button{width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0 1px!important;line-height:1!important}html.pwa .analytics-detail-link{height:32px!important;min-height:32px!important;padding:4px 6px!important}html.pwa button.link,html.pwa .mo-pending-link{height:auto!important;min-height:0!important;padding:0!important}html.pwa .topbar-guide{touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:#556675!important;border:1px solid var(--line)!important;box-sizing:border-box!important;white-space:nowrap!important;background:#fff!important;border-radius:999px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;gap:5px!important;width:auto!important;min-width:0!important;max-width:none!important;height:32px!important;min-height:32px!important;max-height:32px!important;padding:0 11px!important;font-size:12.5px!important;font-weight:500!important;line-height:1!important;display:inline-flex!important;position:relative!important}html.pwa .topbar-guide>svg{flex-shrink:0!important;width:14px!important;height:14px!important}html.pwa .topbar-guide:after{content:"";border-radius:999px;position:absolute;inset:-6px}html.pwa .topbar-guide:active{opacity:.85!important;background:var(--brand-soft)!important;color:var(--brand)!important;transform:scale(.95)!important}html.pwa .topbar-member{touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-sizing:border-box!important;height:32px!important;min-height:32px!important;max-height:32px!important;position:relative!important}html.pwa .topbar-member:after{content:"";border-radius:999px;position:absolute;inset:-6px}html.pwa .topbar-member:active{opacity:.85!important;transform:scale(.95)!important}html.pwa .saved-chip{flex-shrink:0!important}html.pwa .dialog-mask,html.pwa .local-gate-overlay{padding-top:max(24px, env(safe-area-inset-top,0px))!important;padding-bottom:max(24px, env(safe-area-inset-bottom,0px))!important;box-sizing:border-box!important}html.pwa .gate{min-height:100dvh!important;padding-top:max(40px, env(safe-area-inset-top,0px))!important;padding-bottom:max(40px, env(safe-area-inset-bottom,0px))!important;box-sizing:border-box!important}html.pwa .dialog-card{max-width:calc(100vw - 24px);max-height:min(860px, calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)))!important}html.pwa .dialog-body{max-height:calc(70dvh - 80px)!important}html.pwa .dialog-card.ocr-result-dialog{max-height:min(860px, calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)))!important}html.pwa [class*=table-wrap],html.pwa .purchase-price-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}html.pwa table.table th,html.pwa table.table td,html.pwa .purchase-price-draft-table th,html.pwa .purchase-price-draft-table td{white-space:nowrap;padding:10px 12px}@media (width>=768px) and (width<=1023px){html.pwa .record-entry-form,html.pwa .form-grid,html.pwa .data-overview,html.pwa .panel-grid{grid-template-columns:1fr!important}html.pwa .data-overview{flex-direction:column}}html.pwa .app-shell{inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;position:absolute!important;inset:0!important;overflow:hidden!important}html.pwa .sidebar,html.pwa main{-webkit-overflow-scrolling:touch;overscroll-behavior:contain!important;box-sizing:border-box!important;height:100%!important;min-height:0!important;max-height:100%!important;overflow-y:auto!important}html.pwa .gate{-webkit-overflow-scrolling:touch;box-sizing:border-box!important;width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;overflow-y:auto!important}html.pwa .app-startup{width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;overflow:hidden!important}html.pwa .app-shell{--shell-header-height:60px}html.pwa .sidebar .brand,html.pwa .app-shell .topbar{min-height:calc(var(--shell-header-height) + env(safe-area-inset-top,0px))!important;padding-top:env(safe-area-inset-top,0px)!important;box-sizing:border-box!important;background:#fff!important}html.pwa .app-shell .content,html.pwa .app-shell>main.analytics-shell .content{padding:16px 22px calc(64px + env(safe-area-inset-bottom,0px))}html.pwa .sidebar .main-nav{padding-top:10px}html.pwa .sidebar .sidebar-footer{padding:10px 12px max(14px, env(safe-area-inset-bottom))!important;border-top:1px solid var(--line)!important}html.pwa .sidebar .acct-card{border:1px solid var(--line)!important;background:#fff!important;border-radius:12px!important;gap:10px!important;padding:12px!important;box-shadow:0 2px 8px #2855760d!important}html.pwa .sidebar .acct-shop{gap:8px!important;min-height:34px!important}html.pwa .sidebar .acct-shop:after{display:none!important}html.pwa .sidebar .acct-shop-logo{flex-basis:32px!important;width:32px!important;height:32px!important}html.pwa .sidebar .acct-shop-name{height:auto!important;min-height:0!important;padding:0!important}html.pwa .sidebar .acct-shop-copy{gap:4px!important;min-width:0!important}html.pwa .sidebar .acct-shop-copy b{font-size:12.5px!important;line-height:1.3!important}html.pwa .sidebar .acct-plan{letter-spacing:0!important;border-radius:5px!important;flex-shrink:0!important;height:20px!important;min-height:20px!important;max-height:20px!important;padding:0 5px!important;font-size:10px!important}html.pwa .sidebar .acct-details{border-top:1px solid #eaf0f4!important;padding-top:8px!important;padding-right:0!important;font-size:12px!important}html.pwa .sidebar .acct-detail-label{font-size:11.5px!important}html.pwa .sidebar .acct-account-name{font-size:12px!important}html.pwa .sidebar .acct-role{border-radius:5px!important;flex-shrink:0!important;height:20px!important;min-height:20px!important;padding:0 7px!important;font-size:11px!important}html.pwa .sidebar .acct-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;display:grid!important}html.pwa .sidebar .acct-action{border-radius:8px!important;gap:4px!important;height:36px!important;min-height:36px!important;padding:0 6px!important;font-size:12px!important;font-weight:600!important}html.pwa .sidebar .acct-action svg{flex-shrink:0!important;width:14px!important;height:14px!important}html.pwa .income-panel-body .field>input,html.pwa .income-panel-body .field>select{box-sizing:border-box;width:100%}html.pwa .record-basic-grid:not(.income-panel-body):not(.payment-info-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;display:grid!important}html.pwa .income-panel-body.payment-info-grid{grid-template-columns:minmax(145px,175px) minmax(135px,165px) minmax(190px,1fr) minmax(120px,145px)!important;align-items:start!important;gap:14px!important;display:grid!important}html.pwa .income-panel-body.payment-info-grid .field{flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;min-width:0!important;display:flex!important}html.pwa .income-panel-body.payment-info-grid .field label{color:#374151!important;white-space:nowrap!important;text-overflow:ellipsis!important;align-items:center!important;height:22px!important;min-height:22px!important;max-height:22px!important;margin:0 0 6px!important;padding:0!important;font-size:13.5px!important;font-weight:600!important;line-height:22px!important;display:flex!important;overflow:hidden!important}html.pwa input[type=date],html.pwa input[type=month]{appearance:none;box-sizing:border-box}html.pwa input[type=date]::-webkit-date-and-time-value{text-align:left!important;line-height:inherit!important;min-height:24px!important;margin:0!important;padding:0!important}html.pwa input[type=month]::-webkit-date-and-time-value{text-align:left!important;line-height:inherit!important;min-height:24px!important;margin:0!important;padding:0!important}html.pwa .field input[type=date],html.pwa .field input[type=month],html.pwa .income-panel-body.payment-info-grid .field input,html.pwa .income-panel-body.payment-info-grid .field select{box-sizing:border-box!important;color:#24313a!important;background:#fff!important;border:1px solid #dce7ed!important;border-radius:9px!important;width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;padding:8px 12px!important;font-size:16px!important;line-height:26px!important;display:block!important}html.pwa .income-panel-body.payment-info-grid .field input[inputmode=decimal]{font-variant-numeric:tabular-nums!important;font-weight:500!important}html.pwa .income-panel-body.payment-info-grid .field select{padding-right:26px!important}@media (width<=900px){html.pwa .income-panel-body.payment-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}html.pwa .field>input,html.pwa .field>select,html.pwa .field>textarea{min-height:44px}html.pwa .record-entry-page .income-shell-body{gap:10px!important;padding:12px 18px!important}html.pwa .record-entry-page .income-panel>header{min-height:40px!important;padding:8px 14px!important}html.pwa .record-entry-page .income-panel-body{padding:12px 14px!important}html.pwa .record-entry-page .supplement-grid{gap:12px!important}html.pwa .record-entry-page .income-actions{margin-top:10px!important;padding-bottom:6px!important}html.pwa .income-record-switch{flex-wrap:wrap!important;align-items:flex-end!important;gap:10px!important;padding:12px 18px!important;display:flex!important}html.pwa .income-record-switch .seg{flex:none!important}html.pwa .income-record-switch .seg button{white-space:nowrap!important}html.pwa .income-record-switch .field{flex:none!important;min-width:140px!important}html.pwa .income-record-switch .field input[type=date],html.pwa .income-record-switch .field input[type=month]{border-radius:8px!important;width:154px!important;height:38px!important;min-height:38px!important;max-height:38px!important;padding:6px 10px!important;font-size:14.5px!important;line-height:24px!important}html.pwa .income-composition-date{align-items:center!important;display:inline-flex!important}html.pwa .income-composition-date input{box-sizing:border-box!important;color:#24313a!important;white-space:nowrap!important;background-color:#fff!important;border:1px solid #dce7ed!important;border-radius:8px!important;width:158px!important;min-width:158px!important;height:38px!important;min-height:38px!important;max-height:38px!important;padding:6px 10px!important;font-size:14px!important;font-weight:400!important;line-height:24px!important}html.pwa .record-filter-bar{flex:auto!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;min-width:0!important;margin-left:auto!important;display:flex!important}html.pwa .record-filter-bar input[type=search],html.pwa .record-filter-bar select{box-sizing:border-box!important;color:#24313a!important;background-color:#fff!important;border:1px solid #dce7ed!important;border-radius:8px!important;height:38px!important;min-height:38px!important;max-height:38px!important;padding:6px 10px!important;font-size:14px!important;line-height:24px!important}html.pwa .record-filter-bar input[type=search]{appearance:none!important;width:140px!important;min-width:90px!important}html.pwa .record-filter-bar select{appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important;background-position:right 8px center!important;background-repeat:no-repeat!important;background-size:11px!important;max-width:130px!important;padding-right:24px!important}html.pwa .monitor-filters select,html.pwa .monitor-filters input,html.pwa .audit-log-filter select{box-sizing:border-box!important;color:#24313a!important;background-color:#fff!important;border:1px solid #dce7ed!important;border-radius:8px!important;height:38px!important;min-height:38px!important;max-height:38px!important;padding:6px 10px!important;font-size:14px!important;line-height:24px!important}html.pwa .monitor-filters select,html.pwa .audit-log-filter select{appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important;background-position:right 8px center!important;background-repeat:no-repeat!important;background-size:11px!important;padding-right:24px!important}@media (width<=900px){html.pwa .income-record-switch .record-filter-bar{flex:100%!important;justify-content:flex-start!important}}html.pwa .mo-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}html.pwa .mo-kpi:last-child{grid-column:auto!important}html.pwa .mo-kpi{min-height:100px!important;padding:10px 12px!important}html.pwa .mo-kpi-val{font-size:17px!important}html.pwa .mo-ring-wrap{transform-origin:50%;transform:scale(.9)}html.pwa .today-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}html.pwa .today-kpi{min-height:120px;padding:14px 16px}html.pwa .cash-count-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)!important;gap:12px!important}html.pwa .income-page .income-payment-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:12px!important}html.pwa .flow-overview{grid-template-columns:minmax(260px,360px)!important}html.pwa .detail-toolbar{flex-wrap:wrap!important;gap:8px!important}html.pwa .detail-toolbar input[type=month],html.pwa .detail-toolbar select{box-sizing:border-box!important;background:#fff!important;border:1px solid #dce7ed!important;border-radius:8px!important;height:38px!important;min-height:38px!important;max-height:38px!important;padding:6px 10px!important;font-size:14px!important}html.pwa .settings-basic-layout{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important;gap:14px!important}html.pwa .cash-count-meta{align-items:start!important;gap:14px!important}html.pwa .cash-count-meta .field{flex-direction:column!important;justify-content:flex-start!important;display:flex!important}html.pwa .cash-count-meta .field label{height:22px!important;margin-bottom:6px!important;font-size:13.5px!important;font-weight:600!important;line-height:22px!important}html.pwa .cash-count-meta .field input[type=date],html.pwa .cash-count-meta .field select{box-sizing:border-box!important;height:44px!important;min-height:44px!important}html.pwa .denom-count-input{box-sizing:border-box!important;min-height:40px!important;padding:8px 10px!important;font-size:16px!important}html.pwa .ocr-review-splitter:after{content:"";touch-action:none;width:36px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}html.pwa .guide-dialog>.guide-body{max-height:none!important}.desktop-window body{box-sizing:border-box;min-height:100vh;padding-top:32px}.desktop-window-drag{z-index:2147483647;-webkit-app-region:drag;app-region:drag;background:#f7fafc;height:32px;position:fixed;top:0;left:0;right:0}.desktop-window .app-shell,.desktop-window .sidebar,.desktop-window main{height:calc(100vh - 32px)}.desktop-window .app-shell{min-height:0}.desktop-window .app-startup,.desktop-window .gate{min-height:calc(100dvh - 32px)}
