:root{color:#15221c;background:#f4f6f4;font-family:PingFang SC,Microsoft YaHei,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input,select{font:inherit}button{cursor:pointer}.dashboard{display:grid;grid-template-columns:148px minmax(0,1fr);min-height:100vh;background:#f4f6f4}.sidebar{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:100vh;padding:12px 10px;background:#fff;border-right:1px solid #dfe6df}.brand-row{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:10px}.brand-row h1{margin:0;color:#123c2b;font-size:22px;font-weight:800;line-height:1.2;white-space:nowrap}.brand-actions{display:flex;flex-direction:row;gap:6px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:#25513f;background:#eef5f0;border:1px solid #d5e2d8;border-radius:8px}.primary-icon{color:#fff;background:#145c3c;border-color:#145c3c}.year-select,.search-box{width:100%;height:34px;border:1px solid #d9e2da;border-radius:8px;background:#fff}.year-select{padding:0 10px;color:#173a2a;margin-bottom:8px}.search-box{display:flex;align-items:center;gap:6px;padding:0 10px;color:#6a7b70;margin-bottom:6px}.search-box input{width:100%;min-width:0;border:0;outline:0;color:#16281f;background:transparent}.payment-entry-button{width:100%;height:34px;margin-bottom:6px;padding:0 10px;color:#20372c;background:#fff;border:1px solid #e0e7e1;border-radius:7px;font-weight:700;text-align:left}.payment-entry-button:hover{background:#f7faf7}.payment-entry-button.selected{color:#123c2b;background:#e6f4ea;border-color:#9fceb0;box-shadow:inset 3px 0 #2f8f55}.month-list{display:grid;grid-template-rows:repeat(12,34px);gap:5px}.month-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 10px;color:#20372c;background:#fff;border:1px solid #e0e7e1;border-radius:7px;text-align:left}.month-row strong{color:#365b49;font-size:12px;font-weight:700}.month-row.selected{color:#fff;background:#145c3c;border-color:#145c3c;box-shadow:0 8px 18px #145c3c29}.month-row.selected strong{color:#fff}.month-empty{background:transparent;border-color:transparent;pointer-events:none}.scan-panel{display:grid;gap:8px;padding-top:10px;border-top:1px solid #e5ebe5}.scan-panel .sidebar-upload-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:8px;margin-bottom:0}.scan-panel .sidebar-upload-row .upload-label,.scan-panel .sidebar-upload-row .scan-button{width:100%;padding:0 8px}.sidebar-file-name{display:block;overflow:hidden;color:#597265;text-align:center;text-overflow:ellipsis;white-space:nowrap}.scan-hint{margin:0;color:#456356;font-size:13px;text-align:center}.content{display:flex;flex-direction:column;min-width:0;height:100vh;padding:8px 10px 10px}.content-header{display:flex;align-items:center;justify-content:space-between;min-height:28px;margin-bottom:4px}.content-header h2{margin:0;color:#123c2b;font-size:20px;font-weight:800}.upload-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:8px}.upload-label{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;color:#1b4734;background:#eef5f0;border:1px solid #d0ddd3;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.upload-label input{display:none}.scan-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;color:#fff;background:#145c3c;border:1px solid #145c3c;border-radius:8px;font-size:13px;font-weight:700;-webkit-tap-highlight-color:transparent}.scan-button:disabled{opacity:.6;cursor:not-allowed}.file-name{color:#597265;font-size:12px}.notice-text{margin:4px 0 10px;color:#597265;font-size:13px}.empty-state{display:flex;align-items:center;min-height:160px;padding:18px;color:#476254;background:#fff;border:1px solid #dce4dc;border-radius:8px}.table-shell{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #dce4dc;border-radius:8px;background:#fff}.month-table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed}.month-table th,.month-table td{height:22px;padding:0 2px;border-bottom:1px solid #edf1ed;border-right:1px solid #edf1ed;font-size:12px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-table th{color:#335748;font-weight:700;background:#f7faf7}.month-table thead th{height:26px;font-size:13px}.month-table th:first-child,.month-table td:first-child{width:42px;text-align:center}.month-table td{color:#1d3128;text-align:center}.amount-cell-input{width:100%;height:100%;padding:0;color:inherit;background:transparent;border:0;outline:0;text-align:center}.amount-cell-input::placeholder{color:#1d3128;opacity:1}.amount-cell-input:focus{background:#f1fbf4;box-shadow:inset 0 0 0 2px #1d9a57}.month-table th:last-child,.month-table td:last-child{border-right:0}.month-table tbody tr:hover td,.month-table tbody tr:hover th{background:#fbfdfb}.blank-cell{color:transparent;background:#fff}.daily-total{font-weight:900;color:#153f2d;background:#fbfdfb}.selected-cell{color:#0f7a44!important;font-weight:800;box-shadow:inset 0 0 0 2px #1d9a57;background:#f1fbf4}.month-table tfoot th,.month-table tfoot td{height:22px;border-bottom:0;font-weight:900;background:#eef6f0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#13231b47;z-index:20;overflow-y:auto}.detail-modal{width:min(520px,100%);max-height:calc(100vh - 36px);overflow-y:auto;padding:18px;color:#183329;background:#fff;border:1px solid #d8e2d9;border-radius:8px;box-shadow:0 20px 50px #1020182e}.detail-modal header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.detail-modal h3{margin:0;font-size:18px}.detail-modal header button{height:34px;padding:0 12px;color:#1b4734;background:#f1f6f2;border:1px solid #d4e0d6;border-radius:8px}.account-security-card{margin-bottom:16px;padding:14px;border:1px solid #cfe0d6;border-radius:12px;background:#f4faf6}.account-security-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-security-summary strong,.account-security-summary span{display:block}.account-security-summary strong{font-size:16px}.account-security-summary span{margin-top:4px;color:#668077;font-size:12px}.account-security-summary button,.password-change-submit{min-height:42px;padding:0 14px;border:0;border-radius:10px;color:#fff;background:#126b4b;font-weight:700}.password-change-form{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #d9e7de}.password-change-form label span{display:block;margin-bottom:6px;font-size:13px;font-weight:700}.password-change-form input{box-sizing:border-box;width:100%;min-height:46px;padding:0 12px;border:1px solid #c5d8ce;border-radius:10px;background:#fff;font-size:16px}.password-change-error,.password-change-hint{margin:0;font-size:12px;line-height:1.5}.password-change-error{color:#bd2e25}.password-change-hint{color:#668077}.password-change-submit:disabled{opacity:.55}.sum-line{margin-bottom:12px;padding:12px;color:#123c2b;font-size:20px;font-weight:800;background:#eef6f0;border-radius:8px;text-align:center}.detail-table{width:100%;border-collapse:collapse}.detail-table th,.detail-table td{padding:9px 10px;border-bottom:1px solid #edf1ed;font-size:14px;text-align:center}.detail-table th{color:#365b49;background:#f7faf7}.detail-table td:nth-child(2){text-align:center}.scan-modal{width:min(440px,100%)}.model-presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.model-preset-btn{padding:4px 10px;font-size:12px;color:#20372c;background:#fff;border:1px solid #d0ddd3;border-radius:999px;cursor:pointer}.model-preset-btn:hover{background:#f7faf7}.model-preset-btn.active{color:#fff;background:#145c3c;border-color:#145c3c}.scan-batch-badge{margin-left:8px;padding:2px 8px;font-size:12px;font-weight:700;color:#145c3c;background:#e6f4ea;border-radius:999px}.scan-preview{margin:0 0 12px;max-height:220px;overflow:hidden;background:#f4f7f5;border:1px solid #d0ddd3;border-radius:8px;display:flex;justify-content:center}.scan-preview img{max-width:100%;max-height:220px;object-fit:contain}.scan-field select{width:100%;height:40px;padding:0 12px;color:#16281f;background:#fff;border:1px solid #d0ddd3;border-radius:8px;font-size:14px}.scan-form{display:flex;flex-direction:column;gap:12px}.scan-field{display:flex;flex-direction:column;gap:4px}.scan-field span{color:#335748;font-size:13px;font-weight:600}.scan-field input{width:100%;height:40px;padding:0 12px;color:#16281f;background:#fff;border:1px solid #d0ddd3;border-radius:8px;font-size:14px}.scan-field input:focus{outline:none;border-color:#145c3c;box-shadow:0 0 0 2px #145c3c1f}.scan-date-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scan-date-input{position:relative}.scan-date-input input{padding-right:36px}.scan-date-input b{position:absolute;top:50%;right:12px;color:#335748;font-size:14px;transform:translateY(-50%);pointer-events:none}.scan-error{margin:8px 0 0;padding:8px 12px;color:#b33a3a;font-size:13px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px}.scan-actions{display:flex;gap:10px;margin-top:16px}.scan-btn-clear{flex:1;height:40px;color:#1b4734;background:#fff;border:1px solid #d0ddd3;border-radius:8px;font-size:14px;font-weight:600}.scan-btn-clear:hover{background:#f7faf7}.scan-btn-confirm{flex:1;height:40px;color:#fff;background:#145c3c;border:1px solid #145c3c;border-radius:8px;font-size:14px;font-weight:700}.scan-btn-confirm:hover{background:#1a7348}.yearly-stats-modal{width:min(420px,100%)}.yearly-total{margin-bottom:14px;padding:12px;color:#123c2b;font-size:18px;font-weight:900;background:#eef6f0;border-radius:8px;text-align:center}.yearly-table{width:100%;border-collapse:collapse}.yearly-table th,.yearly-table td{padding:8px 10px;border-bottom:1px solid #edf1ed;font-size:14px;text-align:center}.yearly-table th{color:#365b49;background:#f7faf7;font-weight:700}.yearly-amount{text-align:center;font-weight:900}.yearly-row-clickable{cursor:pointer}.yearly-row-clickable:hover td{background:#f1fbf4}.yearly-row-empty td{color:#999}.yearly-row-empty:hover td{background:#fff8e1;cursor:pointer}.payment-table-shell{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid #dce4dc;border-radius:8px;background:#fff}.payment-table{width:100%;height:100%;min-width:0;border-collapse:collapse;table-layout:fixed}.payment-table th,.payment-table td{height:auto;padding:0 2px;border-bottom:1px solid #edf1ed;border-right:1px solid #edf1ed;color:#1d3128;font-size:11px;line-height:1.1;white-space:nowrap}.payment-table thead th{height:48px;color:#335748;background:#f7faf7;font-size:11px;font-weight:800;text-align:center}.payment-table th:first-child{width:78px;text-align:center}.payment-table tbody th{height:calc((100vh - 88px)/20);color:#335748;font-weight:700;background:#f7faf7}.payment-table td{text-align:center}.payment-table th:last-child,.payment-table td:last-child{border-right:0}.payment-table tbody tr:hover td,.payment-table tbody tr:hover th{background:#fbfdfb}.payment-table .payment-total-row th,.payment-table .payment-total-row td{color:#145c3c;background:#ecfbf3;font-weight:800}.payment-table .payment-total-row td{text-align:center}.payment-name-input,.payment-cell-button{width:100%;height:100%;padding:0 3px;color:inherit;background:transparent;border:0;outline:0;font:inherit}.payment-name-input{font-weight:700;text-align:center}.payment-cell-button{cursor:pointer;text-align:center}.payment-cell-button:hover{background:#f1fbf4}.payment-name-input:focus,.payment-cell-button:focus-visible{background:#f1fbf4;box-shadow:inset 0 0 0 2px #1d9a57}.payment-status-modal{width:min(560px,100%)}.payment-amount-edit{margin-bottom:12px}.payment-amount-edit label{display:block;margin-bottom:6px;color:#4a6357;font-size:14px;font-weight:700}.payment-amount-row{display:flex;align-items:center;gap:10px}.payment-amount-input{flex:1;height:52px;padding:0 14px;color:#123c2b;font-size:22px;font-weight:800;text-align:center;background:#eef6f0;border:1px solid #d4e0d6;border-radius:8px;outline:0}.payment-amount-input:focus{background:#fff;border-color:#f59e0b;border-width:2px}.payment-amount-rose{font-size:22px}.payment-status-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payment-status-actions button{height:48px;color:#365b49;background:#fff;border:1px solid #d4e0d6;border-radius:8px;font-size:18px;font-weight:800}.payment-status-actions button.selected{color:#fff;background:#145c3c;border-color:#145c3c}@media(max-width:760px){.dashboard{grid-template-columns:1fr}.sidebar{min-height:auto;max-height:none;padding:8px 10px;background:#fff;border-right:0;border-bottom:1px solid #dfe6df;position:sticky;top:0;z-index:10}.brand-row{margin-bottom:6px}.brand-row h1{font-size:17px}.sidebar .search-box,.sidebar .payment-entry-button,.sidebar .scan-hint{display:none}.month-list{display:flex;flex-direction:row;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:4px}.month-row{flex:0 0 auto;min-width:110px;height:40px;padding:4px 10px;font-size:13px;scroll-snap-align:start;border-radius:8px}.month-empty{display:none}.year-select{height:32px;font-size:13px}.content{padding:12px 10px 100px}.content-header h2{font-size:20px}.scan-panel{position:fixed;bottom:16px;right:16px;left:16px;z-index:20;padding:10px 12px;background:#fff;border:1px solid #d5e2d8;border-radius:14px;box-shadow:0 8px 24px #145c3c33;display:flex;flex-direction:row;gap:8px;align-items:center}.sidebar-upload-row{flex:1;display:flex;gap:8px;margin:0}.upload-label,.scan-button{flex:1;height:48px;font-size:15px;font-weight:600;border-radius:10px;margin:0}.sidebar-file-name{display:none}.table-shell{border-radius:7px}.month-table{min-width:980px}.detail-modal{padding:14px;max-height:calc(100vh - 24px)}.detail-modal h3{font-size:16px}.detail-modal header button{height:40px;padding:0 14px}.scan-field input{height:44px;font-size:16px}.scan-actions{flex-direction:column}.scan-btn-clear,.scan-btn-confirm{height:44px;font-size:15px}}.backup-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px;padding:10px 14px;background:linear-gradient(90deg,#fff8e1,#fffbf0);border:1px solid #ffd591;border-radius:10px;font-size:14px;color:#6d4500}.backup-banner span{flex:1;line-height:1.5}.backup-banner>div{display:flex;gap:6px;align-items:center}.backup-banner-action{padding:6px 14px;background:#fa8c16;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600}.backup-banner-action:hover{background:#d46b08}.backup-banner-dismiss{width:28px;height:28px;background:transparent;border:none;font-size:14px;color:#8c6d3f;cursor:pointer}.backup-banner-dismiss:hover{color:#333}.password-gate{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px env(safe-area-inset-right) 24px env(safe-area-inset-left);background:linear-gradient(135deg,#0a3d2a,#145c3c,#1f7a52)}.password-gate-card{display:flex;flex-direction:column;gap:16px;width:100%;max-width:380px;padding:32px 28px;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040}.password-gate-card h1{margin:0;color:#0a3d2a;font-size:26px;font-weight:800;text-align:center}.password-gate-tagline{margin:-6px 0 0;color:#688e7a;font-size:14px;text-align:center}.password-gate-field{display:flex;flex-direction:column;gap:6px;margin-top:8px}.password-gate-field span{color:#16281f;font-size:14px;font-weight:600}.password-gate-field input{height:48px;padding:0 14px;font-size:18px;color:#16281f;background:#f7faf7;border:1.5px solid #d0ddd3;border-radius:10px;outline:none}.password-gate-field input:focus{border-color:#145c3c;background:#fff}.password-gate-remember{display:flex;align-items:center;gap:8px;color:#456356;font-size:14px;-webkit-user-select:none;user-select:none}.password-gate-remember input{width:18px;height:18px;accent-color:#145c3c}.password-gate-error{margin:0;padding:8px 12px;background:#fff1f0;color:#cf1322;font-size:13px;border-radius:6px;border:1px solid #ffa39e}.password-gate-card button[type=submit]{height:50px;margin-top:4px;background:#145c3c;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:background .15s}.password-gate-card button[type=submit]:hover:not(:disabled){background:#0a3d2a}.password-gate-card button[type=submit]:disabled{background:#97a89d;cursor:not-allowed}.password-gate-hint{margin:0;color:#97a89d;font-size:12px;text-align:center}@media(min-width:768px)and (pointer:coarse){body{font-size:16px}.dashboard{grid-template-columns:260px minmax(0,1fr)}.sidebar{padding:16px 14px env(safe-area-inset-bottom,14px) max(14px,env(safe-area-inset-left))}.brand-row h1{font-size:22px}.icon-button{width:44px;height:44px}.year-select,.search-box,.payment-entry-button{height:44px;font-size:16px}.month-row{min-height:48px;font-size:16px}.upload-label,.scan-button{height:52px;font-size:17px;font-weight:600;border-radius:10px}.content{padding:20px 24px env(safe-area-inset-bottom,20px) 20px}.content-header h2{font-size:24px}.detail-modal{max-width:min(720px,92vw);padding:24px;font-size:16px}.detail-modal h3{font-size:20px}.scan-field input,.scan-field select,.scan-field textarea{min-height:48px;font-size:16px;padding:10px 14px}.scan-btn-clear,.scan-btn-confirm{min-height:52px;padding:0 22px;font-size:16px;font-weight:600}.password-gate-card{max-width:460px;padding:44px 36px}.password-gate-card h1{font-size:30px}.password-gate-field input{height:56px;font-size:20px}.password-gate-card button[type=submit]{height:56px;font-size:18px}.backup-banner{font-size:15px;padding:12px 16px}.backup-banner-action{padding:10px 18px;font-size:14px}}@media(min-width:900px)and (max-width:1366px)and (orientation:landscape)and (pointer:coarse){.dashboard{grid-template-columns:300px minmax(0,1fr)}.month-list{grid-template-rows:repeat(12,44px)}.scan-panel{position:sticky;bottom:env(safe-area-inset-bottom,0);padding-top:12px;background:#fff;border-top:1px solid #eef2ed}}@media(max-width:760px)and (pointer:coarse){.icon-button{width:44px;height:44px}.month-row{min-height:48px;font-size:15px}.sidebar{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom,10px)}.content{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom,14px)}.modal-backdrop{padding:env(safe-area-inset-top,12px) env(safe-area-inset-right,12px) env(safe-area-inset-bottom,12px) env(safe-area-inset-left,12px)}}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top)}}.voice-input-bar{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.voice-input-btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;background:#145c3c;color:#fff;border:1px solid #145c3c;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.voice-input-btn:hover:not(.is-disabled){background:#0a3d2a}.voice-input-btn.is-listening{background:#ef4444;border-color:#ef4444;animation:voice-bar-pulse 1s ease-in-out infinite}.voice-input-btn.is-disabled{background:#97a89d;border-color:#97a89d;cursor:default}@keyframes voice-bar-pulse{0%,to{box-shadow:0 0 #ef44448c}50%{box-shadow:0 0 0 8px #ef444400}}.voice-feedback-bar{display:inline-flex;align-items:center;padding:6px 12px;font-size:13px;border-radius:8px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-feedback-success{background:#d1fae5;color:#065f46}.voice-feedback-warn{background:#fef3c7;color:#92400e}.voice-feedback-info{background:#dbeafe;color:#1e40af}.month-table td.cell-selected{background:#fff3a4!important;box-shadow:inset 0 0 0 2px #f59e0b}.month-table td.cell-selected .amount-cell-input{background:transparent;font-weight:700}@media(max-width:760px){.content-header{flex-direction:column;align-items:flex-start;gap:8px}.content-header h2{margin-right:auto}.voice-input-bar{width:100%}.voice-input-btn{flex:1;justify-content:center;height:44px;font-size:15px}.voice-feedback-bar{flex-basis:100%;max-width:none}}.content-header{align-items:baseline;gap:12px}.notice-text.inline-notice{margin:0;color:#688e7a;font-size:13px;font-weight:400}.month-table tfoot .repeated-header-row td{background:#eef5f0;color:#145c3c;font-weight:700;font-size:12px;border-top:2px solid #d5e2d8}.mobile-app{min-height:100vh;background:#f4f6f4;display:flex;flex-direction:column}.mobile-page{padding:0 16px;padding-top:env(safe-area-inset-top,8px)}.mobile-header{display:flex;align-items:center;justify-content:space-between;margin:8px 0 10px}.mobile-header h1{margin:0;font-size:22px;font-weight:800;color:#123c2b}.mobile-icons{display:flex;gap:8px}.mobile-icon{width:38px;height:38px;background:#eef5f0;border:1px solid #d5e2d8;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#25513f;cursor:pointer;padding:0}.mobile-icon.primary{background:#145c3c;color:#fff;border-color:#145c3c}.mobile-icon:active{transform:scale(.96)}.mobile-icon:disabled{opacity:.4;cursor:not-allowed}.mobile-payment-btn{width:100%;padding:10px 16px;background:#fff;border:1px solid #dce4dc;border-radius:12px;font-size:15px;font-weight:700;color:#20372c;text-align:left;margin-bottom:12px;cursor:pointer}.mobile-section-bar{display:flex;align-items:center;justify-content:space-between;padding:0 4px;margin-bottom:6px}.mobile-section-bar .label{font-size:15px;font-weight:700;color:#123c2b}.mobile-section-bar .hint{font-size:12px;color:#688e7a}.mobile-month-list{display:flex;flex-direction:column;gap:5px;margin-bottom:90px}.mobile-month-card{display:flex;align-items:center;justify-content:space-between;padding:7px 16px;background:#fff;border:1px solid #dce4dc;border-radius:10px;min-height:42px;cursor:pointer;text-align:left;width:100%}.mobile-month-card .left{display:flex;align-items:baseline;gap:8px}.mobile-month-card .name{font-size:16px;font-weight:700;color:#16281f}.mobile-month-card .sub{font-size:11px;color:#97a89d}.mobile-month-card .amt{font-size:17px;font-weight:800;color:#145c3c}.mobile-month-card.active{background:#ecfdf5;border-color:#f59e0b;border-width:2px}.mobile-month-card.active .name{color:#0a3d2a}.mobile-month-card.zero .amt{color:#97a89d;font-weight:400}.mobile-pending-alert{position:fixed;bottom:max(12px,env(safe-area-inset-bottom,12px));left:16px;right:16px;padding:10px 16px;background:linear-gradient(120deg,#fff8e1,#fff3cf);border:1px solid #f5d680;border-radius:12px;display:flex;align-items:center;justify-content:space-between;z-index:50}.mobile-pending-alert .label{font-size:14px;font-weight:700;color:#6d3700}.mobile-pending-alert .sub{font-size:11px;color:#92400e;margin-top:1px}.mobile-pending-alert .count{font-size:22px;font-weight:800;color:#d97706}.mobile-detail-header{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;margin:8px 0 10px;gap:8px}.mobile-detail-header .center{text-align:center}.mobile-detail-header .title{font-size:17px;font-weight:800;color:#123c2b}.mobile-detail-header .sub{font-size:11px;color:#688e7a;margin-top:1px}.mobile-date-card{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border:1px solid #dce4dc;border-radius:14px;margin-bottom:12px;box-shadow:0 4px 14px #15462d0f}.mobile-date-card .arrow{width:38px;height:38px;background:#eef6f0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#145c3c;border:none;cursor:pointer;padding:0}.mobile-date-card .arrow:disabled{opacity:.3;cursor:not-allowed}.mobile-date-card .center{text-align:center}.mobile-date-card .label{font-size:12px;color:#6f8a7a}.mobile-date-card .day{font-size:26px;font-weight:800;color:#123c2b;line-height:1.1;margin-top:1px}.mobile-date-card .total{font-size:13px;font-weight:700;color:#25513f;margin-top:2px}.mobile-shop-list{display:flex;flex-direction:column;gap:7px;padding-bottom:env(safe-area-inset-bottom,12px)}.mobile-shop-row{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px 8px 14px;background:#fff;border:1px solid #dce4dc;border-radius:12px;min-height:52px}.mobile-shop-row .name{flex:0 0 68px;font-size:16px;font-weight:700;color:#16281f;text-align:right}.mobile-shop-row .amount{width:84px;height:38px;background:#f8fbf8;border:1px solid #d0ddd3;border-radius:9px;text-align:right;padding:0 12px;font-size:16px;font-weight:700;color:#145c3c;outline:0}.mobile-shop-row .amount.zero{color:#aab7af;font-weight:400}.mobile-shop-row .amount:focus{background:#fff;border-color:#f59e0b;border-width:2px}.mobile-shop-row.has-value{background:#ecfbf3;border-color:#9bdabf;box-shadow:inset 3px 0 #1b7a50}.mobile-shop-row .mic{width:38px;height:38px;background:#145c3c;color:#fff;border-radius:9px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;padding:0}.mobile-shop-row .mic.listening{background:#ef4444;animation:mobile-mic-pulse 1s ease-in-out infinite}@keyframes mobile-mic-pulse{0%,to{box-shadow:0 0 #ef44448c}50%{box-shadow:0 0 0 8px #ef444400}}.mobile-shop-row.blank .name{color:#c0cbc4;font-weight:400}.mobile-shop-row.blank .amount{background:#f7faf7}.mobile-shop-row.blank .mic{background:#d5e2d8;color:#97a89d;cursor:not-allowed}.mobile-shop-row2{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#fff;border:1px solid #dce4dc;border-radius:12px}.mobile-shop-row2.has-value{background:#ecfbf3;border-color:#9bdabf;box-shadow:inset 3px 0 #1b7a50}.mobile-shop-row2.missing-delivery-receipt{background:#fff1f2;border-color:#ef9aa2;box-shadow:inset 4px 0 #c2242e}.mobile-shop-row2.missing-delivery-receipt .store-name-input{color:#c2242e;background:#fff7f7;border-color:#e9a5ab;font-weight:900}.mobile-shop-row2.uploaded-delivery-receipt{background:#eff6ff;border-color:#93c5fd;box-shadow:inset 4px 0 #1d4ed8}.mobile-shop-row2.uploaded-delivery-receipt .store-name-input{color:#1d4ed8;background:#f5f9ff;border-color:#9fc5f8;font-weight:900}.mobile-shop-row2.blank{background:#f7faf7;border-style:dashed}.mobile-shop-row2.blank.has-value{background:#ecfbf3;border-style:solid}.mobile-shop-row2 .store-name-input{flex:0 0 78px;width:78px;min-width:0;height:36px;background:#f8fbf8;border:1px solid #d0ddd3;border-radius:9px;padding:0 8px;font-size:15px;font-weight:700;color:#16281f;outline:0}.mobile-shop-row2 .store-name-input::placeholder{color:#b3c0b7;font-weight:400}.mobile-shop-row2 .store-name-input:focus{background:#fff;border-color:#f59e0b;border-width:2px}.mobile-shop-row2 .store-name-input[readonly],.payment-name-input[readonly]{cursor:default}.mobile-shop-row2 .amount{flex:0 0 84px;width:84px;height:36px;background:#f8fbf8;border:1px solid #d0ddd3;border-radius:9px;text-align:right;padding:0 8px;font-size:15px;font-weight:700;color:#145c3c;outline:0}.mobile-shop-row2 .amount.zero{color:#aab7af;font-weight:400}.mobile-shop-row2 .amount:focus{background:#fff;border-color:#f59e0b;border-width:2px}.mobile-shop-row2 .mic{flex:0 0 34px;width:34px;height:36px;background:#145c3c;color:#fff;border-radius:9px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;padding:0}.mobile-shop-row2 .name-mic{background:#2f7a55}.mobile-shop-row2 .mic:disabled{background:#d5e2d8;color:#97a89d;cursor:not-allowed}.mobile-shop-row2 .mic.listening{background:#ef4444;animation:mobile-mic-pulse 1s ease-in-out infinite}.mobile-shop-row2 .amount:disabled{background:#eef2ee;color:#b3c0b7}.receipt-photo-slots{flex:1 1 auto;min-width:0;display:flex;gap:6px}.receipt-photo-slots.has-supplements{overflow-x:auto;scrollbar-width:none}.receipt-photo-slots.has-supplements .receipt-photo-slot{flex:0 0 42px}.receipt-photo-slot{position:relative;flex:1 1 0;min-width:42px;height:42px;padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#1a7650;background:#fff;border:1.5px dashed #92cbb1;border-radius:10px;cursor:pointer}.receipt-photo-slot.has-photo{border-style:solid;border-color:#59aa84;background:#e8f7ef}.receipt-photo-slot img{width:100%;height:100%;object-fit:cover}.receipt-photo-slot span{position:absolute;right:2px;bottom:2px;max-width:calc(100% - 4px);overflow:hidden;padding:1px 3px;border-radius:4px;color:#fff;background:#083624d1;font-size:9px;font-weight:700;line-height:1.2}.receipt-photo-slot em{position:absolute;left:2px;top:2px;padding:1px 3px;border-radius:4px;color:#fff;background:#d97706;font-size:8px;font-style:normal;font-weight:800}.receipt-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:#0818116b}.receipt-source-sheet{width:min(100%,420px);padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));background:#fff;border-radius:20px;box-shadow:0 18px 50px #08281b40}.receipt-source-sheet header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#123c2b}.receipt-source-sheet header button{width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:#557267;background:#eef5f0}.receipt-source-choice{width:100%;min-height:64px;display:flex;align-items:center;gap:14px;margin-top:8px;padding:10px 14px;text-align:left;color:#145c3c;background:#f5faf7;border:1px solid #d7e7dd;border-radius:13px}.receipt-source-choice span{display:flex;flex-direction:column;gap:2px;font-size:15px;font-weight:700}.receipt-source-choice small{color:#70877a;font-size:11px;font-weight:400}.receipt-capture-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:920;display:grid;place-items:center;padding:16px;background:#0818118f}.receipt-capture-modal{width:min(100%,430px);max-height:calc(100dvh - 28px);overflow:auto;padding:16px;background:#fff;border-radius:20px}.receipt-capture-modal>header,.receipt-viewer>header{display:flex;align-items:center;justify-content:space-between}.receipt-capture-modal>header div{display:flex;flex-direction:column;gap:2px;color:#123c2b}.receipt-capture-modal>header small{color:#70877a}.receipt-capture-modal>header button,.receipt-viewer>header button{width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:#456456;background:#eef5f0}.receipt-capture-preview{height:min(42vh,340px);margin-top:12px;display:grid;place-items:center;overflow:hidden;background:#edf2ee;border-radius:14px}.receipt-capture-preview img{width:100%;height:100%;object-fit:contain}.receipt-compression-note{margin:7px 2px 12px;color:#70877a;font-size:11px}.receipt-amount-field{display:block;color:#335447;font-size:12px;font-weight:700}.receipt-amount-field>div{height:52px;margin-top:6px;display:flex;align-items:center;padding:0 14px;border:2px solid #8fcdb0;border-radius:12px;background:#f8fcfa}.receipt-amount-field b{color:#168257;font-size:20px}.receipt-amount-field input{flex:1;min-width:0;border:0;outline:0;background:transparent;text-align:right;color:#124e35;font-size:23px;font-weight:800}.receipt-sum-line{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:11px 12px;border-radius:11px;color:#49675a;background:#eef8f2;font-size:12px}.receipt-sum-line strong{color:#12633f;font-size:17px}.receipt-capture-error{margin:10px 2px 0;color:#b42318;font-size:12px}.receipt-ocr-retry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:11px 12px;border:1px solid #f1c7bd;border-radius:12px;background:#fff8f6}.receipt-ocr-retry strong,.receipt-ocr-retry span{display:block}.receipt-ocr-retry strong{color:#a6382b;font-size:13px;line-height:1.35}.receipt-ocr-retry span{margin-top:4px;color:#84645f;font-size:11px;line-height:1.4}.receipt-ocr-retry button{min-width:98px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 12px;border:1px solid #14784e;border-radius:11px;color:#14784e;background:#fff;font-size:13px;font-weight:700}.receipt-ocr-retry button:disabled{opacity:.52}.receipt-capture-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:10px;margin-top:14px}.receipt-capture-actions button{min-height:46px;border-radius:12px;font-size:14px;font-weight:700}.receipt-capture-actions .cancel{color:#526b5f;background:#f1f5f2;border:1px solid #dbe5de}.receipt-capture-actions .confirm{color:#fff;background:#14784e;border:1px solid #14784e}.receipt-capture-actions .confirm:disabled{opacity:.52}.receipt-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:940;display:grid;grid-template-rows:auto 1fr auto;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));color:#fff;background:#030c08f7}.receipt-viewer>header button{color:#fff;background:#ffffff24}.receipt-viewer-stage{overflow:auto;display:grid;place-items:center;touch-action:pinch-zoom}.receipt-viewer-stage img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .15s ease;transform-origin:center}.receipt-viewer-controls{display:flex;align-items:center;justify-content:center;gap:18px;padding-top:10px}.receipt-viewer-controls button{width:42px;height:42px;display:grid;place-items:center;padding:0;color:#fff;background:#ffffff26;border:1px solid rgba(255,255,255,.18);border-radius:50%}.receipt-viewer-controls span{min-width:48px;text-align:center}.receipt-viewer-controls .receipt-viewer-delete{width:auto;min-width:112px;padding:0 15px;display:flex;gap:7px;border-radius:22px;color:#fff;background:#b42318;border-color:#d92d20;font-weight:700}.receipt-viewer-controls .receipt-viewer-delete:disabled{opacity:.6}.icon-spinning svg{animation:icon-spin 1s linear infinite}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-toast{position:fixed;top:max(60px,env(safe-area-inset-top,60px));left:50%;transform:translate(-50%);width:max-content;max-width:90vw;padding:8px 16px;background:#145c3ceb;color:#fff;border-radius:20px;font-size:13px;font-weight:600;box-shadow:0 6px 16px #0000002e;z-index:9999;white-space:normal;overflow-wrap:anywhere}.mobile-shoppayment-page .mobile-detail-header{margin-bottom:6px}.mobile-shoppayment-shell{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:0 16px env(safe-area-inset-bottom,16px)}.mobile-shoppayment-shell .payment-table-shell{border:1px solid #dce4dc;border-radius:10px;background:#fff;overflow-x:auto}.mobile-shoppayment-shell .payment-table{width:max-content;min-width:698px;height:auto}.mobile-shoppayment-shell .payment-table th:first-child{position:sticky;left:0;z-index:2;width:74px;min-width:74px;background:#f7faf7}.mobile-shoppayment-shell .payment-table thead th:first-child{z-index:3}.mobile-shoppayment-shell .payment-table th:not(:first-child),.mobile-shoppayment-shell .payment-table td{width:52px;min-width:52px}.mobile-shoppayment-shell .payment-cell-button{display:flex;align-items:center;justify-content:center;min-height:42px;width:100%;overflow:hidden;white-space:nowrap;font-size:clamp(10px,3vw,14px);line-height:1.1}.mobile-shoppayment-shell .payment-name-input{min-height:42px}.mobile-shoppayment-shell .payment-name-input::placeholder{color:#b6c3ba}.mobile-date-card .mobile-date-center-btn{background:transparent;border:0;padding:0;cursor:pointer;flex:1;text-align:center;-webkit-tap-highlight-color:transparent}.mobile-date-card .mobile-date-center-btn:active{opacity:.8}.mobile-date-card{position:relative}.mobile-shop-grid-header{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;margin:4px 0 12px}.mobile-shop-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.mobile-shop-chip{padding:6px 4px;background:#fbfdfb;border:1px solid #dce4dc;border-radius:9px;text-align:center;font-size:12px;font-weight:700;color:#16281f;min-height:32px;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:0 1px 2px #15462d0a}.mobile-shop-chip:active{background:#ecfdf5;border-color:#b6e5cf}.mobile-shop-chip.blank{background:#f7faf7;color:#c0cbc4;font-weight:400;cursor:not-allowed}.mobile-date-card .center{flex:1;display:flex;align-items:center;justify-content:center;gap:14px;min-width:0}.mobile-date-card .day-block{display:flex;flex-direction:column;align-items:center;min-width:86px}.mobile-date-card .cal-btn{position:relative;width:48px;height:48px;background:#145c3c;color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #145c3c40;cursor:pointer;overflow:hidden}.mobile-date-card .cal-btn-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:0;background:transparent;color:transparent;-webkit-appearance:none}.mobile-date-card .cal-btn:active{background:#0a3d2a}.mobile-shop-drawer-header{margin:4px 0 12px;padding:10px;background:#fff;border:1px solid #dce5de;border-radius:16px;box-shadow:0 3px 14px #1639250d}.mobile-shop-drawer-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:9px}.mobile-shop-group-tabs,.payment-group-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mobile-shop-group-tabs button,.payment-group-tabs button{min-width:0;min-height:42px;padding:6px 3px;color:#65736a;background:#f0f4f1;border:0;border-radius:10px;font-size:12px;font-weight:800;cursor:pointer}.mobile-shop-group-tabs button.active,.payment-group-tabs button.active{color:#fff;background:#145c3c;box-shadow:0 3px 8px #145c3c33}.mobile-shop-group-tabs small,.payment-group-tabs small{display:block;margin-top:2px;font-size:9px;font-weight:500;opacity:.76}.mobile-shop-drawer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid #edf1ee}.mobile-shop-drawer-grid .mobile-shop-chip{min-width:0;min-height:34px}.mobile-shop-drawer-grid .mobile-shop-chip.blank{cursor:default}.mobile-shop-drawer-hint{margin-top:7px;color:#97a39b;font-size:9px;text-align:center}.mobile-grouped-shop-list{display:flex;flex-direction:column;gap:15px}.mobile-store-group>header{display:flex;align-items:center;gap:8px;margin:0 2px 7px}.mobile-store-group>header:before{width:4px;height:17px;background:#e3a92d;border-radius:4px;content:""}.mobile-store-group>header h2{margin:0;color:#17241d;font-size:14px}.mobile-store-group>header span{margin-left:auto;color:#8d9991;font-size:10px}.mobile-store-group.legacy>header:before{background:#87958c}.payment-dashboard{display:flex;flex-direction:column;gap:12px;min-width:0}.payment-group-tabs{padding:8px;background:#fff;border:1px solid #dce5de;border-radius:15px;box-shadow:0 3px 13px #1639250d}.payment-debt-card{display:grid;grid-template-columns:1fr auto;gap:12px;padding:15px 16px;background:linear-gradient(135deg,#fffaf0,#fff);border:1px solid #ead18d;border-radius:17px;box-shadow:0 4px 15px #7957120f}.payment-debt-card strong{color:#8b5a0a;font-size:14px}.payment-debt-card p{margin:4px 0 0;color:#9d8b66;font-size:10px}.payment-grand-debt{align-self:center;color:#a76300;font-size:clamp(24px,8vw,32px);font-weight:900;white-space:nowrap}.payment-debt-stat{padding:8px 10px;background:#f4bc461a;border-radius:10px}.payment-debt-stat span{display:block;color:#9d8b66;font-size:9px}.payment-debt-stat b{color:#714400;font-size:13px}.payment-table-heading{display:flex;align-items:center;gap:8px}.payment-table-heading h3{margin:0;color:#17241d;font-size:15px}.payment-table-heading span{margin-left:auto;color:#8c9991;font-size:10px}.payment-dashboard .payment-table-shell{flex:none;max-width:100%;overflow:auto;border-radius:15px;box-shadow:0 3px 14px #1639250a}.payment-dashboard .payment-debt-table{width:max-content;min-width:100%;height:auto;table-layout:auto}.payment-dashboard .payment-debt-table th,.payment-dashboard .payment-debt-table td{width:58px;min-width:58px;height:48px;padding:4px 5px}.payment-dashboard .payment-debt-table th:first-child{position:sticky;left:0;z-index:3;width:78px;min-width:78px;background:#f8faf8}.payment-dashboard .payment-debt-table th:nth-child(2),.payment-dashboard .payment-debt-table td:nth-child(2){position:sticky;left:78px;z-index:2;width:76px;min-width:76px;color:#8b5700;background:#fff8e8;font-weight:800}.payment-dashboard .payment-debt-table thead th{position:sticky;top:0;z-index:3;background:#f0f5f1}.payment-dashboard .payment-debt-table thead th:first-child,.payment-dashboard .payment-debt-table thead th:nth-child(2){z-index:5}.payment-dashboard .payment-total-row th,.payment-dashboard .payment-total-row td{color:#8b5700;background:#fff6df}.payment-dashboard .payment-total-row th:first-child{background:#fff0c8}.payment-dashboard .payment-total-row td:nth-child(2){background:#fff0c8}.payment-dashboard .payment-cell-button{min-height:34px;border-radius:8px;font-weight:800;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.payment-dashboard .payment-cell-button small{display:block;margin-top:3px;font-size:8px;font-weight:750}.payment-dashboard .payment-cell-button.unpaid{color:#9b5c00;background:#fff1d5}.payment-dashboard .payment-cell-button.paid{color:#357050;background:#ebf6ef}.payment-dashboard .payment-cell-button.empty{background:#f8faf8}.payment-dashboard .payment-cell-button.payment-pause-effective-month small{color:#b65349}.payment-dashboard .payment-cell-button.payment-pause-paused{color:#87928c;background:#f0f2f1}.payment-dashboard .payment-cell-button.payment-pause-paused:disabled{opacity:1;cursor:default}.payment-shop-debt{color:#9b5c00;font-weight:900}.payment-legacy-row th,.payment-legacy-row td{border-top:3px solid #c7d1ca}.payment-legacy-label{display:block;color:#8d9991;font-size:8px}.payment-debt-legend{display:flex;justify-content:center;gap:14px;color:#7f8c84;font-size:10px}.payment-debt-legend span:first-child{color:#b57a0b}.payment-debt-legend span:last-child{color:#4a8a65}.mobile-store-month{padding-bottom:env(safe-area-inset-bottom,16px)}.mobile-store-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 18px;background:linear-gradient(120deg,#145c3c,#1f7a52);color:#fff;border-radius:14px;margin-bottom:12px}.mobile-store-summary .label{font-size:12px;opacity:.85}.mobile-store-summary .value{font-size:22px;font-weight:800;margin-top:4px}.mobile-store-day-list{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding-bottom:12px}.mobile-store-day-row{display:grid;grid-template-columns:38px 84px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;justify-content:space-between;padding:8px;background:#fff;border:1px solid #dce4dc;border-radius:10px;min-height:44px;cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-store-day-row .day{font-size:14px;color:#16281f;font-weight:600}.mobile-store-day-row .amt{font-size:16px;font-weight:800;color:#145c3c}.mobile-store-day-row .amt.zero{color:#c0cbc4;font-weight:400}.mobile-store-day-row.has-value{background:#ecfdf5;border-color:#b6e5cf}.mobile-store-day-row:active{background:#d4f0e0}.mobile-detail-header{grid-template-columns:auto 1fr 38px}.mobile-header-left{display:flex;align-items:center;gap:6px}.mobile-sync-btn{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px;font-size:13px;font-weight:700;color:#145c3c;background:#eafaf1;border:1px solid #b6e5cf;border-radius:8px;cursor:pointer;white-space:nowrap}.mobile-sync-btn:disabled{opacity:.6;cursor:default}.mobile-detail-header .title-row{display:flex;align-items:center;justify-content:center;gap:8px}.reconcile-btn{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid #cdb86a;background:#fff7e6;color:#9a7b1f;cursor:pointer;white-space:nowrap}.reconcile-btn.done{background:#fff0f3;border-color:#f2b8c6;color:#c0395e}.mobile-store-day-row{cursor:default}.mobile-store-day-row .day-nav{background:transparent;border:0;font-size:14px;color:#16281f;font-weight:600;padding:4px 2px;cursor:pointer}.mobile-store-day-row .amt-input{width:84px;height:30px;text-align:right;border:1px solid #d0ddd3;border-radius:7px;background:#f8fbf8;font-size:15px;font-weight:800;color:#145c3c;padding:0 8px;outline:0}.mobile-store-day-row .amt-input.zero{color:#c0cbc4;font-weight:400}.mobile-store-day-row .amt-input:focus{background:#fff;border-color:#f59e0b;border-width:2px}.mobile-store-day-heading{display:grid;grid-template-columns:38px 84px minmax(0,1fr) minmax(0,1fr);gap:8px;padding:0 9px 8px;font-size:12px;color:#6d8276;text-align:center}.mobile-store-day-heading span:first-child{text-align:left}.mobile-store-receipt-slot{min-width:0;height:62px;border:1px solid #d4dfd8;border-radius:7px;background:#ffffff90;padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#276749;font-size:12px}button.mobile-store-receipt-slot{cursor:pointer}.mobile-store-receipt-slot img{width:100%;height:100%;object-fit:contain}.store-pause-entry,.store-pause-status{width:100%;min-height:42px;margin:0 0 12px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:750}.store-pause-entry{border:1px solid #e4b7b1;background:#fff8f7;color:#a73c34;cursor:pointer}.store-pause-status{border:1px solid #e4d6b1;background:#fffaf0;color:#80652c;padding:8px 12px}.store-pause-status button,.payment-resume-store{border:1px solid #86c9af;border-radius:8px;background:#fff;color:#126746;font-weight:750;cursor:pointer}.store-pause-status button{margin-left:auto;padding:6px 9px;white-space:nowrap}.payment-resume-store{margin-top:4px;padding:3px 9px;font-size:12px}.mobile-store-day-row.paused,.mobile-shop-row2.paused{background:#f1f3f1;border-color:#dfe4e0;box-shadow:none}.mobile-store-day-row.paused .day-nav,.mobile-shop-row2.paused .store-name-input{color:#78877f}.mobile-store-day-row .amt-input:disabled,.mobile-shop-row2.paused .amount:disabled{background:#e9eeeb;color:#9aa69f;border-color:#d7ded9;opacity:1}.receipt-photo-slot:disabled{background:#e9eeeb;border-color:#cbd5cf;color:#9aa69f;cursor:not-allowed}.store-pause-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:flex-end;justify-content:center;padding:10px;background:#04181185;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.store-pause-sheet{width:min(100%,520px);max-height:calc(100vh - 20px);overflow-y:auto;padding:18px 18px max(16px,env(safe-area-inset-bottom,16px));border-radius:24px;background:#fff;box-shadow:0 20px 52px #00261847}.store-pause-grabber{width:44px;height:5px;margin:-6px auto 14px;border-radius:999px;background:#dce4e0}.store-pause-sheet header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.store-pause-sheet h2{margin:0;color:#173c31;font-size:22px}.store-pause-sheet header strong{display:block;margin-top:5px;color:#177c59;font-size:14px}.store-pause-sheet header button{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:0;border-radius:50%;background:#eef4f1;color:#526d62}.store-pause-date-label{display:block;margin-top:18px;color:#557166;font-size:13px;font-weight:750}.store-pause-date-field{position:relative;display:flex;align-items:center;justify-content:space-between;margin-top:7px;padding:12px 14px;border:2px solid #84cbb1;border-radius:12px;background:#f8fcfa;color:#173c31;font-size:18px;font-weight:800;cursor:pointer}.store-pause-date-field input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.store-pause-effects{margin-top:14px;padding:13px 14px;border-radius:14px;background:#eaf7f1}.store-pause-effects h3{margin:0 0 8px;color:#173c31;font-size:14px}.store-pause-effects p{display:flex;align-items:flex-start;gap:8px;margin:8px 0;color:#385d50;font-size:13px;line-height:1.45}.store-pause-effects i{width:19px;height:19px;flex:0 0 19px;display:grid;place-items:center;border-radius:50%;background:#cceadd;color:#0e6547}.store-pause-warning{margin:12px 2px 0;color:#7d5548;font-size:12px;line-height:1.45}.store-pause-actions{display:grid;grid-template-columns:1fr 1.45fr;gap:10px;margin-top:16px}.store-pause-actions button{height:50px;border:0;border-radius:13px;font-size:16px;font-weight:800}.store-pause-actions .cancel{background:#eef3f0;color:#526d62}.store-pause-actions .confirm{background:#c63830;color:#fff}.store-pause-actions .confirm:disabled{opacity:.45;cursor:not-allowed}.local-backup-modal{width:min(420px,92vw)}.local-backup-text{margin:4px 0 18px;font-size:14px;line-height:1.6;color:#2f4a3c}.local-backup-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.local-backup-actions button{height:46px;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer}.local-backup-actions .snooze{color:#5a6b61;background:#f1f5f2;border:1px solid #d4e0d6}.local-backup-actions .save{color:#fff;background:#145c3c;border:1px solid #145c3c}.mobile-build-id{display:block;width:100%;text-align:center;font-size:12px;color:#5b8a72;background:transparent;border:0;padding:12px 0 6px;letter-spacing:.5px;text-decoration:underline;text-underline-offset:3px;-webkit-tap-highlight-color:transparent}.mobile-system-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:7px;margin:10px 0 12px;border:1px solid #d6e4dc;border-radius:18px;background:#fff;box-shadow:0 8px 20px #124f3314}.mobile-system-switch button{min-height:48px;border:0;border-radius:14px;color:#64746b;background:#edf3ef;font-size:17px;font-weight:800}.mobile-system-switch button.active{color:#fff;background:#12613f;box-shadow:0 6px 14px #12613f33}.order-day-page{padding-bottom:28px}.order-topbar{display:flex;align-items:center;gap:10px;margin-bottom:10px}.order-topbar strong{font-size:19px}.order-topbar .mobile-sync-btn{margin-left:auto}.order-date-card{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;padding:8px 10px;margin-bottom:10px;border:1px solid #d7e5dc;border-radius:18px;background:#fff;box-shadow:0 8px 20px #124f3312}.order-date-card>button{width:38px;height:38px;border:0;border-radius:50%;color:#12613f;background:#eff6f2}.order-date-card label{position:relative;display:grid;justify-items:center;cursor:pointer}.order-date-card label span{color:#759080;font-size:13px;font-weight:700}.order-date-card label strong{color:#0d5035;font-size:28px;line-height:1.1}.order-date-card label small{margin-top:3px;color:#738078;font-size:11px}.order-date-card input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.order-entry-card{padding:12px;border:1px solid #d7e5dc;border-radius:18px;background:#fff;box-shadow:0 8px 20px #124f3312}.order-entry-heading{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-bottom:8px}.order-entry-heading h2{margin:0;font-size:17px}.order-entry-heading span{color:#758179;font-size:11px}.order-paste-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.order-paste-card{overflow:hidden;border:1px solid #dce7e0;border-radius:13px;background:#fbfdfc}.order-paste-card .head{display:flex;justify-content:space-between;gap:4px;padding:7px 8px;background:#f2f8f4}.order-paste-card .head b{font-size:14px}.order-paste-card .head span{color:#12613f;font-size:10px}.order-paste-card textarea{display:block;width:100%;height:82px;padding:8px;resize:none;border:0;outline:0;background:#fff;font-size:13px;line-height:1.45}.order-paste-card .actions{display:grid;grid-template-columns:1fr;gap:5px;padding:6px;border-top:1px solid #edf2ef}.order-paste-card .actions button{border:0;border-radius:9px;padding:6px 8px;color:#fff;background:#12613f;font-size:11px;font-weight:800}.order-paste-card .actions button.secondary{color:#8d3028;background:#fff0ee;border:1px solid #efc8c3}.order-message{margin-top:8px;padding:7px 9px;border-radius:9px;font-size:12px}.order-message.success{color:#0d5939;background:#eaf8ef}.order-message.error{color:#9b2d24;background:#fff0ee}.order-feedback{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding:7px 9px;border-radius:9px;font-size:12px}.order-feedback.success{color:#0d5939;background:#eaf8ef}.order-feedback.error{color:#9b2d24;background:#fff0ee}.order-feedback button{flex:0 0 auto;border:1px solid #9bcab0;border-radius:8px;padding:5px 7px;color:#0d5939;background:#fff;font-size:11px;font-weight:800}.order-readonly-banner{margin-bottom:10px;padding:9px 11px;border:1px solid #bfe1cc;border-radius:11px;color:#0d5939;background:#eaf8ef;text-align:center;font-size:12px;font-weight:750}.order-summary-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:16px}.order-summary-tabs button{min-height:43px;padding:4px 2px;border:1px solid #dce7e0;border-radius:11px;color:#174e37;background:#fff;font-size:11px;font-weight:850;box-shadow:0 5px 12px #124f3312}.order-summary-tabs button.active{color:#fff;border-color:#12613f;background:#12613f}.order-summary-tabs .order-option-delivery{background:#edf7ef;border-color:#cfe5d4;color:#315c3e}.order-summary-tabs .order-option-picking{background:#edf4fc;border-color:#d0dff0;color:#355674}.order-summary-tabs .order-option-print{background:#fff3e5;border-color:#eedac0;color:#78552e}.order-summary-tabs .order-option-delivery.active{background:#dceee1;border-color:#79a88a;color:#234b30;box-shadow:inset 0 0 0 1px #79a88a}.order-summary-tabs .order-option-picking.active{background:#dceafa;border-color:#7e9fc4;color:#294c70;box-shadow:inset 0 0 0 1px #7e9fc4}.order-result-head{display:flex;align-items:center;justify-content:space-between;margin:12px 0 7px}.order-result-head h3{display:inline;margin:0 7px 0 0;font-size:16px}.order-result-head span{color:#78847d;font-size:11px}.order-copy-btn{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:9px;padding:7px 9px;color:#fff;background:#12613f;font-size:11px;font-weight:800}.order-table-wrap{overflow-x:auto;border:1px solid #dce7e0;border-radius:11px}.order-table{width:100%;min-width:590px;border-collapse:collapse;table-layout:fixed;font-size:12px}.order-table th{padding:7px 3px;color:#2f4c3d;background:#eaf2ed;border-right:1px solid #d5e2da;white-space:nowrap}.order-table td{padding:7px 4px;text-align:center;border-top:1px solid #e2ebe5;border-right:1px solid #e2ebe5}.order-table th:last-child,.order-table td:last-child{border-right:0}.order-table .region{width:17%;color:#0d5035;background:#f3f8f5;font-weight:800}.order-table .shop{width:13%;font-weight:800}.order-supplement-badge{display:block;width:max-content;margin:3px auto 0;padding:1px 5px;border-radius:999px;color:#93440e;background:#ffdfbf;font-size:9px;line-height:1.4}.order-table .product{width:20%;text-align:left}.order-table .quantity{width:10%;color:#12613f;font-size:14px;font-weight:900}.order-table td input{width:100%;min-width:82px;padding:5px;border:1px solid transparent;border-radius:6px;color:#48564e;background:transparent;font-size:11px}.order-table td input:focus{outline:0;border-color:#a9d3b8;background:#fff}.order-readonly-remark{color:#65756c;font-size:11px}.order-table-wrap.fruit .order-table{min-width:390px}.order-table .fruit-section-gap td{height:14px;padding:0;border:0;background:#fff}.order-empty{padding:22px 10px;color:#8a968f;text-align:center;font-size:13px}.order-validation{margin-top:8px;padding:7px;border:1px solid #bfe1cc;border-radius:9px;color:#0d5035;background:#ebfaf1;text-align:center;font-size:11px;font-weight:750}.order-validation.invalid{color:#9b2d24;border-color:#edc3be;background:#fff0ee}.order-conflict-notice{border:2px solid #bd3535;border-radius:12px;padding:12px;margin-bottom:12px;background:#fff4f2;color:#742525}.order-conflict-notice p{margin:8px 0 4px;font-size:13px}.order-conflict-notice b{color:#c21f30;font-weight:900;font-size:16px}.order-conflict-other{padding:8px 10px;border:1px solid #e8cda5;border-radius:9px;background:#fff8eb;color:#725020;font-size:12px;line-height:1.6}.order-use-local{width:100%;margin:-4px 0 12px;padding:10px;border:1px solid #a92d2d;border-radius:10px;color:#fff;background:#b73535;font-weight:850}@media(min-width:760px){.order-paste-card textarea{height:96px;font-size:14px}.order-summary-tabs button{font-size:13px}}@media(max-width:600px){.order-table{min-width:100%;font-size:10px}.order-table th{padding:6px 1px;font-size:9px}.order-table td{padding:7px 2px}.order-table .region{width:18%}.order-table .shop{width:14%}.order-table .product{width:21%}.order-table .quantity{width:12%;font-size:12px}.order-table td input{min-width:0;padding:4px 2px;font-size:9px}.order-table-wrap.fruit .order-table{min-width:100%}}.app-auth-loading,.app-auth-recovery,.role-login{min-height:100vh;display:grid;place-items:center;background:#f3f7f4;color:#123f32;padding:20px}.app-auth-recovery-card{width:min(430px,100%);padding:28px;border:1px solid #dce7e1;border-radius:24px;background:#fff;box-shadow:0 18px 50px #1448371f;text-align:center}.app-auth-recovery-card h1{margin:0;font-size:24px}.app-auth-recovery-card p{margin:12px 0 20px;color:#60776e;line-height:1.6}.app-auth-recovery-card button{width:100%;border:0;border-radius:14px;padding:14px 18px;background:#126d4b;color:#fff;font-size:17px;font-weight:800}.app-auth-recovery-card small{display:block;margin-top:14px;color:#7a8c85;line-height:1.5}.role-login-card{width:min(430px,100%);background:#fff;border:1px solid #dce7e1;border-radius:24px;box-shadow:0 18px 50px #1448371f;padding:28px}.role-login-card h1{margin:0;font-size:28px}.role-login-card>p{margin:8px 0 22px;color:#6c8178}.role-login-accounts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.role-login-accounts button{border:1px solid #d7e3dd;border-radius:14px;background:#f8faf9;padding:16px 12px;text-align:left;color:#315a4e}.role-login-accounts button.active{border:2px solid #13724f;background:#edf8f2;padding:15px 11px}.role-login-accounts strong,.role-login-accounts span{display:block}.role-login-accounts strong{font-size:19px;margin-bottom:5px}.role-login-accounts span{font-size:12px;color:#71847d;line-height:1.4}.role-login-card label>span{display:block;font-weight:700;margin-bottom:8px}.role-login-card label input{box-sizing:border-box;width:100%;min-height:50px;border:1px solid #cadad2;border-radius:12px;padding:0 14px;font-size:17px}.role-login-error{color:#bd2e25!important;margin:10px 0 0!important}.role-login-submit{width:100%;min-height:50px;margin-top:18px;border:0;border-radius:12px;background:#126b4b;color:#fff;font-size:17px;font-weight:700}.role-login-submit:disabled{opacity:.55}.role-login-card>small{display:block;margin-top:14px;color:#829189;line-height:1.5;text-align:center}.mobile-account-chip{display:block;margin-top:4px;padding:0;border:0;background:transparent;color:#6f837a;font-size:12px}.reconcile-readonly{color:#177151;font-size:12px;font-weight:700}.order-day-page{padding-bottom:92px}.receipt-launchers{display:contents}.order-summary-tabs button{min-height:48px;font-size:12px;white-space:nowrap}.order-summary-tabs .order-option-print.active{background:#f6dfc1;border-color:#bd9159;color:#65421d}.order-paste-grid{gap:10px}.order-paste-card{border:2px solid #44896a;background:#f4faf6}.order-paste-card .head{background:#e6f3eb;padding:10px 8px;flex-wrap:wrap}.order-paste-card .head b{color:#185b3d}.order-paste-card .head span{align-self:center}.order-paste-card textarea{min-height:154px;padding:12px 9px;font-size:14px;line-height:1.7}.order-paste-card .actions{padding:8px;gap:6px;border-top:1px solid #cdded4}.order-paste-card .actions button{min-height:34px}.order-paste-card.brother{border-color:#6389ad;background:#f4f8fc}.order-paste-card.brother .head{background:#e8f0f8}.order-paste-card.brother .head b,.order-paste-card.brother .head span{color:#355d80}.order-paste-card.brother .actions{border-top-color:#cfdae6}.order-paste-card.brother .actions button:not(.secondary){background:#466f94}.receipt-panel header button{background:#196547;color:#fff;border:0;border-radius:12px;padding:12px 16px;font-weight:700}.receipt-panel{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;z-index:1000;background:#edf2ee;padding:16px 16px calc(28px + env(safe-area-inset-bottom));color:#193d2b}.receipt-panel.receipt-panel-inline{position:static;overflow:visible;z-index:auto;padding:0;margin-top:14px;background:transparent}.receipt-panel-inline>header{margin-bottom:10px}.receipt-panel header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.receipt-panel p{font-size:13px;line-height:1.7}.receipt-panel [role=alert]{color:#a12525}.receipt-panel select{font:inherit;padding:6px 2px}.receipt-entry-scroll{overflow-x:auto;margin-top:14px}.receipt-entry-table{table-layout:fixed;width:100%;max-width:850px;border-collapse:collapse;background:#fff;color:#111;font-size:13px}.receipt-entry-table th,.receipt-entry-table td{border:1px solid #cad5cd;padding:8px 4px;text-align:center}.receipt-entry-table th:last-child{font-size:15px}.receipt-entry-table tbody td:last-child b{font-size:18px}.receipt-entry-table tfoot th,.receipt-entry-table tfoot td:last-child b{font-size:20px}.receipt-entry-table small{display:block;color:#647369;font-size:11px;margin-top:4px}.receipt-entry-table input{width:100%;min-width:0;box-sizing:border-box;padding:8px 2px;text-align:center;font-size:16px;font-weight:700;border:1px solid #bdccc0;border-radius:5px}.receipt-entry-table select{width:100%}.receipt-preview-pages{display:flex;gap:20px;flex-wrap:wrap}.receipt-preview-dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:16px;box-sizing:border-box;border:0;border-radius:16px;background:#edf2ee;color:#193d2b}.receipt-preview-dialog::backdrop{background:#142a22aa}.receipt-preview-dialog header{justify-content:space-between;margin-bottom:12px}.receipt-paper{display:block;width:min(400px,100%);height:auto;aspect-ratio:4 / 5;background:#fff;box-shadow:0 3px 18px #173d2515;flex-shrink:0}.receipt-connection-info{background:#fff8e9;border:1px solid #ead6a4;padding:12px;border-radius:12px;margin-bottom:16px}.receipt-connection-info p{margin:6px 0 0}.receipt-shop-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;max-width:850px;margin-bottom:20px}.receipt-entry-table th,.receipt-entry-table td{overflow-wrap:anywhere}.receipt-entry-table tfoot td:first-child{font-size:11px;color:#63766a}.receipt-entry-table select{padding:6px 0;font-size:12px}.receipt-shop-list section{border:1px solid #c6d4c9;background:#fff;border-radius:12px;padding:14px}.receipt-shop-list section.selected{border:2px solid #196547;padding:13px}.receipt-shop-list section>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.receipt-shop-list small{color:#63766a}.receipt-supplement-badge{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;color:#93440e;background:#ffdfbf;font-size:10px;vertical-align:2px}.receipt-shop-actions{display:flex;gap:8px}.receipt-shop-actions button{padding:10px 14px;border:1px solid #196547;border-radius:8px;color:#196547;background:#fff;font-weight:700}.receipt-shop-actions button[aria-label^=分享打印]{background:#196547;color:#fff}.receipt-shop-actions button.upload-receipt{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.receipt-print-root{display:none}@page delivery-receipt{size:80mm 100mm;margin:0}@media print{body.printing-delivery-receipt{margin:0!important;padding:0!important;background:#fff!important}body.printing-delivery-receipt>:not(.receipt-print-root){display:none!important}body.printing-delivery-receipt>.receipt-print-root{display:block!important}.receipt-print-root .receipt-paper{page:delivery-receipt;display:block;width:80mm;height:100mm;max-width:none;margin:0;box-shadow:none;break-after:page;break-inside:avoid}.receipt-print-root .receipt-paper:last-child{break-after:auto}}.receipt-device{display:block;width:100%;margin-top:8px;padding:12px;text-align:left;border:1px solid #b8cabb;border-radius:8px;background:#fff;color:#174b34}.receipt-panel button:disabled{opacity:.5;cursor:wait}.receipt-connection-info progress{width:100%;margin-top:12px}.receipt-handoff{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:18px;box-sizing:border-box;border:0;border-radius:16px;background:#edf2ee;color:#193d2b}.receipt-handoff::backdrop{background:#142a22aa}.receipt-handoff header{display:flex;justify-content:space-between;gap:12px}.receipt-handoff p{font-size:13px;line-height:1.65}.receipt-handoff img{display:block;width:100%;height:auto;margin-top:12px;background:#fff}.receipt-handoff a,.receipt-share-button{display:block;background:#196547;color:#fff;border:0;border-radius:8px;padding:12px;text-align:center;text-decoration:none;font-size:16px;font-weight:700;margin:10px 0}.receipt-share-button{width:100%}.receipt-system-print{display:block;margin:10px 0;border:0;padding:4px 0;background:none;color:#456c54;text-decoration:underline}
