:root{color:var(--color-text);background-color:var(--color-bg-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary:#4d7a88;--color-primary-hover:#3d6572;--color-primary-soft:#e8f1f4;--color-primary-ring:#4d7a8838;--color-on-primary:#fff;--color-accent:#b8976a;--color-accent-soft:#b8976a1f;--color-text:#1a2332;--color-text-secondary:#5c6578;--color-text-muted:#8b95a8;--color-bg-page:#f0f3f7;--color-bg-subtle:#f6f8fb;--color-bg-muted:#eef1f6;--color-surface:#fff;--color-border:#e4e9f0;--color-border-strong:#d8dee8;--color-input-border:#d0d7e2;--color-success-bg:#ecf8f3;--color-success-border:#a8e0c8;--color-success-text:#0d5c3f;--color-danger-text:#b42318;--color-danger-bg:#fdf5f4;--color-danger-border:#f0c4bf;--color-info-bg:#e8f4f8;--color-info-border:#b8dae8;--color-info-text:#2d5561;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-pill:999px;--shadow-xs:0 1px 3px #1a23320a;--shadow-sm:0 4px 16px #1a23320f;--shadow-md:0 8px 28px #1a233214;--shadow-nav:0 -4px 24px #1a23320f;--ease-out:cubic-bezier(.33, 1, .68, 1);--transition-fast:.18s var(--ease-out);--transition-smooth:.26s var(--ease-out);font-family:PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background-color:var(--color-bg-page);min-height:100dvh;color:var(--color-text);background-image:radial-gradient(100% 60% at 50% -15%,#4d7a8812,#0000 52%),radial-gradient(80% 50% at 100%,#b8976a0d,#0000 45%);margin:0;font-weight:400}h1,h2,h3{letter-spacing:-.02em;font-weight:700}button,input,select,textarea{font-family:inherit}.app{max-width:960px;padding:14px 14px calc(88px + env(safe-area-inset-bottom));margin:0 auto}.app.app-settings-tab{box-sizing:border-box;flex-direction:column;min-height:100dvh;display:flex}.app.app-settings-tab .settings-page{flex:1;margin-top:0}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.app-header h1{color:var(--color-text);letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:700}.app-header p{color:var(--color-text-muted);margin:4px 0 0;font-size:.8125rem;font-weight:400}.actions{flex-wrap:wrap;gap:6px;display:flex}button{border:1px solid var(--color-input-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:40px;color:var(--color-text-secondary);cursor:pointer;touch-action:manipulation;box-shadow:var(--shadow-xs);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);padding:9px 14px;font-size:14px;font-weight:500}button:hover:not(:disabled){border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);color:var(--color-text);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button.primary{background:linear-gradient(160deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);color:var(--color-on-primary);box-shadow:0 4px 14px var(--color-primary-ring);border-color:#0000}button.primary:hover:not(:disabled){box-shadow:0 8px 22px var(--color-primary-ring);filter:brightness(1.03);color:var(--color-on-primary);transform:translateY(-2px)}button.danger{color:var(--color-danger-text);border-color:var(--color-danger-border);background:var(--color-danger-bg)}button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger-bg) 88%, var(--color-danger-text));border-color:var(--color-danger-text);box-shadow:var(--shadow-xs);transform:translateY(-1px)}button.ghost{box-shadow:none;background:0 0}button.ghost:hover:not(:disabled){background:var(--color-bg-subtle)}.filters{z-index:10;background:color-mix(in srgb, var(--color-bg-subtle) 80%, var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);-webkit-backdrop-filter:blur(8px);white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;display:flex;position:sticky;top:0;overflow:auto hidden}.filters::-webkit-scrollbar{width:0;height:0}.filter-intro{color:var(--color-text-muted);margin:12px 0 8px;font-size:.8125rem;font-weight:400}.report-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.report-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-smooth), transform var(--transition-smooth), border-color var(--transition-smooth);flex-direction:column;gap:4px;padding:12px;display:flex}.report-card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--color-primary) 18%, var(--color-border));transform:translateY(-2px)}.report-card span{color:var(--color-text-muted);letter-spacing:.02em;font-size:.75rem;font-weight:500}.report-card strong{color:var(--color-text);letter-spacing:-.02em;font-size:1.125rem;font-weight:700}.reports-block{margin-top:12px}.app-report-tab .reports-block{margin-top:14px}.app-report-tab .app-header{margin-bottom:10px}.app-report-tab .app-header p{font-size:.86rem}.app-report-tab .app-header h1{font-size:1.46rem}.reports-nav-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);z-index:6;-webkit-backdrop-filter:blur(10px);background:color-mix(in srgb, var(--color-surface) 92%, transparent);align-items:stretch;gap:10px;padding:8px 10px;display:flex;position:sticky;top:10px}.reports-nav-segmented{border-radius:var(--radius-md);background:var(--color-bg-muted);flex:1;gap:4px;min-width:0;padding:4px;display:flex;overflow:hidden}.reports-nav-segmented button{border-radius:var(--radius-sm);min-width:0;color:var(--color-text-secondary);min-height:38px;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;flex:1;padding:8px 10px;font-size:.8125rem;font-weight:500}.reports-nav-segmented button:hover:not(.active){color:var(--color-text);background:color-mix(in srgb, var(--color-surface) 65%, transparent)}.reports-nav-segmented button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs);font-weight:700}.reports-nav-toggle{flex-shrink:0;align-self:center;min-height:38px;padding:6px 14px;font-size:12px}.reports-body{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-sizing:border-box;width:100%;box-shadow:var(--shadow-sm);margin-top:10px;padding:16px 16px 20px;position:relative;overflow:hidden}.reports-body:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-primary) 25%, var(--color-border)), transparent);height:1px;margin-bottom:10px;display:block}.reports-body:after{content:"";pointer-events:none;background:radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--color-primary) 8%, transparent), transparent 32%), radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--color-accent) 12%, transparent), transparent 40%);position:absolute;inset:0}.reports-block-open .reports-body{min-height:calc(100dvh - 248px);max-height:calc(100dvh - 168px - env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overflow-y:auto}.reports-panel{z-index:1;width:100%;min-width:0;position:relative}.report-quick-access{background:color-mix(in srgb, var(--color-bg-subtle) 78%, var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);grid-template-columns:84px minmax(0,1fr);align-items:start;gap:8px 10px;margin:10px 0 8px;padding:12px;display:grid}.reports-panel-category .report-quick-access+.category-report-row{border-top:none}.report-quick-access-label{color:var(--color-text-secondary);letter-spacing:.03em;white-space:nowrap;text-align:right;padding-right:2px;font-size:.75rem;font-weight:600;line-height:30px}.report-quick-access-label:first-child{color:var(--color-primary);font-weight:700}.report-quick-access-btns{grid-template-columns:repeat(auto-fit,minmax(92px,max-content));justify-content:start;align-items:center;gap:6px;min-width:0;display:grid}.report-quick-access-btns:first-child{grid-column:1/-1;grid-template-columns:84px minmax(0,1fr);gap:10px}.report-quick-access-btns:first-child .report-quick-access-label{text-align:right}.report-quick-access-btns:first-child select{width:min(220px,100%)}.report-quick-access-btns:last-child{grid-column:2;grid-template-columns:repeat(2,minmax(136px,1fr))}.report-quick-access select,.report-quick-access input{border-radius:var(--radius-sm);border:1px solid var(--color-input-border);background:var(--color-surface);min-height:32px;color:var(--color-text-secondary);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);padding:5px 10px;font-size:12px}.report-quick-access select:focus,.report-quick-access input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring);outline:none}.report-quick-access-btn{border-radius:var(--radius-sm);border:1px solid var(--color-input-border);background:var(--color-surface);min-height:32px;color:var(--color-text-secondary);cursor:pointer;box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);padding:5px 12px;font-size:12px;font-weight:500}.report-quick-access-btn:hover{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.report-quick-access-btn.active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-info-text);box-shadow:0 2px 8px var(--color-primary-ring);font-weight:600}.category-report-row{border:1px solid color-mix(in srgb, var(--color-border) 92%, transparent);color:var(--color-text-secondary);transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface) 92%, transparent);box-shadow:var(--shadow-xs);grid-template-columns:minmax(120px,1.2fr) repeat(3,minmax(88px,auto));align-items:center;gap:8px 12px;padding:12px 8px;font-size:.84rem;display:grid;position:relative;overflow:hidden}.category-report-row:hover{background:color-mix(in srgb, var(--color-bg-subtle) 86%, transparent);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.category-report-row:after{content:"";background:linear-gradient(180deg, var(--color-primary), color-mix(in srgb, var(--color-primary) 45%, #fff));opacity:.75;width:4px;position:absolute;top:0;bottom:0;left:0}.category-report-row .type{color:var(--color-text);white-space:nowrap;flex-shrink:0;font-weight:600}.category-report-row:first-of-type{margin-top:2px}.category-report-row>span:not(.type){white-space:nowrap;color:var(--color-text-secondary);justify-self:end;font-weight:600}.category-report-row>span:nth-child(2),.category-report-row>span:nth-child(3),.category-report-row>span:nth-child(4){border-radius:var(--radius-pill);border:1px solid #0000;justify-content:center;align-items:center;min-height:30px;padding:4px 10px;font-size:.8rem;display:inline-flex}.category-report-row>span:nth-child(2){color:#8a4b00;background:#fff7e8;border-color:#f3d49b}.category-report-row>span:nth-child(3){color:#0d5c3f;background:#ecf8f3;border-color:#a8e0c8}.category-report-row>span:nth-child(4){color:var(--color-info-text);background:#edf6fa;border-color:#bfdbe6}.income-report-total{color:var(--color-text);border-bottom:1px solid var(--color-border);align-items:center;gap:8px;padding:10px 0 8px;font-size:.875rem;font-weight:700;display:inline-flex}.income-report-total:before{content:"";background:var(--color-accent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--color-accent) 22%, transparent);border-radius:50%}.income-report-row{border:1px solid color-mix(in srgb, var(--color-border) 92%, transparent);color:var(--color-text-secondary);transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface) 92%, transparent);box-shadow:var(--shadow-xs);grid-template-columns:minmax(120px,1.2fr) minmax(72px,auto) minmax(110px,auto);align-items:center;gap:8px 12px;padding:12px 8px;font-size:.84rem;display:grid;position:relative;overflow:hidden}.income-report-row:hover{background:color-mix(in srgb, var(--color-bg-subtle) 86%, transparent);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.income-report-row:after{content:"";background:linear-gradient(180deg, var(--color-accent), color-mix(in srgb, var(--color-accent) 45%, #fff));opacity:.75;width:4px;position:absolute;top:0;bottom:0;left:0}.income-report-row .type{color:var(--color-text);white-space:nowrap;flex-shrink:0;font-weight:600}.reports-panel-income .report-quick-access+.income-report-total,.income-report-total+.income-report-row{margin-top:2px}.income-report-row>span:not(.type){white-space:nowrap;justify-self:end;font-weight:600}.income-report-row>span:nth-child(2),.income-report-row>span:nth-child(3){border-radius:var(--radius-pill);border:1px solid #0000;justify-content:center;align-items:center;min-height:30px;padding:4px 10px;font-size:.8rem;display:inline-flex}.income-report-row>span:nth-child(2){color:var(--color-info-text);background:#edf6fa;border-color:#bfdbe6}.income-report-row>span:nth-child(3){color:#7a5b2a;background:#fff7eb;border-color:#edd8b1}.type-with-dot{align-items:center;gap:6px;display:inline-flex}.type-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.type-badge{vertical-align:middle;border:1px solid #0000;border-radius:999px;margin-left:6px;padding:2px 10px;font-size:.82rem;font-weight:600;display:inline-block}.type-line-p{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.type-field-label-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.filters select,.filters input,.form-grid input,.form-grid select,.form-grid textarea,.type-add input{box-sizing:border-box;border:1px solid var(--color-input-border);border-radius:var(--radius-md);width:100%;min-height:32px;font:inherit;background:var(--color-surface);color:var(--color-text-secondary);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:6px 10px;font-size:12px}.filters select:focus,.filters input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.type-add input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring);outline:none}.filters select{flex:0 0 96px}.filters .status-select{flex:0 0 108px}.filters input{flex:auto;min-width:180px}.home-quick-links{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;margin:10px 0 8px;display:grid}.home-quick-links a{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--color-border) 88%, transparent);background:color-mix(in srgb, var(--color-bg-subtle) 82%, #fff);min-height:34px;color:var(--color-text);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);box-shadow:var(--shadow-xs);justify-content:center;align-items:center;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.home-quick-links a:hover{box-shadow:var(--shadow-sm);border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border));transform:translateY(-1px)}.home-fab{left:50%;bottom:calc(76px + env(safe-area-inset-bottom));z-index:35;border-radius:var(--radius-pill);min-width:228px;min-height:46px;box-shadow:0 10px 28px var(--color-primary-ring);position:fixed;transform:translate(-50%)}.home-fab:hover:not(:disabled){box-shadow:0 14px 34px var(--color-primary-ring);transform:translate(-50%)translateY(-2px)}.records{flex-direction:column;gap:12px;margin-top:14px;display:flex}.records-pager{color:var(--color-text-secondary);justify-content:center;align-items:center;gap:12px;padding:12px 0 6px;font-size:.875rem;display:flex}.category-nav{white-space:nowrap;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg-subtle);width:fit-content;max-width:100%;box-shadow:var(--shadow-xs);gap:6px;padding:6px;display:inline-flex;overflow-x:auto}.category-nav button{border-radius:var(--radius-pill);min-height:34px;color:var(--color-text-secondary);transition:background-color var(--transition-smooth), color var(--transition-smooth), border-color var(--transition-smooth), transform var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:1px solid #0000;padding:7px 14px;font-size:13px;font-weight:500}.category-nav button:hover:not(.active){background:color-mix(in srgb, var(--color-surface) 70%, transparent);color:var(--color-text)}.category-nav button.active{box-shadow:var(--shadow-xs);font-weight:700;transform:translateY(-1px)}.category-nav button:not(.active):active{transform:scale(.98)}.record-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-smooth), transform var(--transition-smooth), border-color var(--transition-smooth);grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:14px;display:grid;position:relative}.record-card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--color-primary) 22%, var(--color-border));transform:translateY(-2px)}.record-card.done{background:var(--color-bg-muted);opacity:.88;filter:grayscale(.15)}.check{align-items:center;gap:6px;margin-top:2px;display:flex}.check input{width:20px;height:20px}.record-main h3{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 4px;font-size:1rem;font-weight:700;display:flex}.record-main p{color:var(--color-text-secondary);margin:4px 0;font-size:.875rem;font-weight:400}.record-main .address-line{white-space:pre-wrap;word-break:break-all}.card-actions{flex-direction:column;gap:6px;display:flex}.mini-copy{border-radius:var(--radius-sm);min-height:auto;padding:4px 10px;font-size:12px;font-weight:500}.dial-link{color:var(--color-info-text);border:1px solid var(--color-info-border);border-radius:var(--radius-sm);transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;margin-left:6px;text-decoration:none;display:inline-flex}.dial-link:hover{background:var(--color-info-bg);transform:translateY(-1px)}.pin-btn{border-radius:var(--radius-sm);min-height:auto;padding:4px 8px;font-size:11px;font-weight:600;position:absolute;top:8px;right:8px}.pin-btn.active{background:var(--color-info-bg);border-color:var(--color-primary);color:var(--color-info-text)}.empty{text-align:center;color:var(--color-text-muted);padding:32px 16px;font-size:.9rem}.app.modal-open .filters{visibility:hidden}.app-toast{top:max(12px, env(safe-area-inset-top));z-index:120;border-radius:var(--radius-lg);max-width:min(440px,100vw - 24px);box-shadow:var(--shadow-md);text-align:left;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:14px 18px;font-size:.9rem;line-height:1.45;position:fixed;left:50%;transform:translate(-50%)}.app-toast-title{margin:0 0 6px;font-size:.95rem;font-weight:700;display:block}.app-toast-detail{opacity:.92;margin:0;font-size:.85rem;font-weight:400}.app-toast--ok{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text)}.app-toast--err{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger-text)}.modal-backdrop{z-index:100;overscroll-behavior:contain;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1a233273;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);width:min(680px,100%);max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);box-shadow:var(--shadow-md);padding:20px 20px 22px;overflow:auto}.modal h2{color:var(--color-text);margin:0 0 14px;font-size:1.15rem;font-weight:700}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-grid label{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;display:flex}.form-grid .full{grid-column:1/-1}.type-add,.type-create-row{gap:8px;display:flex}.type-create-row input{flex:1}.ocr-actions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.hidden-file{display:none}.ocr-tip{width:100%;color:var(--color-text-muted);margin:0;font-size:.85rem}.paste-box{flex-direction:column;gap:8px;display:flex}.paste-actions{justify-content:flex-end;gap:8px;display:flex}.type-list{margin:8px 0 2px;padding:0;list-style:none}.type-list .type-name{flex:auto;align-items:center;min-width:4em;display:inline-flex}.type-color-picker{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.type-color-reset{min-height:30px;padding:4px 8px;font-size:12px}.type-list .type-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.type-list .type-row-actions .reorder{min-height:30px;padding:4px 8px;font-size:12px}.type-list .type-row-actions .reorder:disabled{opacity:.4}.type-list li{border:1px solid color-mix(in srgb, var(--color-border) 90%, transparent);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;font-size:.9rem;display:flex}.type-list li+li{margin-top:8px}.type-list li:hover{border-color:color-mix(in srgb, var(--color-primary) 26%, var(--color-border));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.type-color-picker-label{color:var(--color-text-muted);white-space:nowrap;font-size:11px}.type-color-picker input[type=color]{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;width:38px;height:28px;padding:0}.settings-page{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);margin-top:14px;padding:18px}.settings-page>div{border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface) 84%, var(--color-bg-subtle));transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);padding:14px}.settings-page>div+div{margin-top:12px}.settings-page>div:hover{border-color:color-mix(in srgb, var(--color-primary) 24%, var(--color-border));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.settings-page-main{border-bottom:1px solid var(--color-border);color:var(--color-text);margin:0 0 16px;padding-bottom:14px;font-size:1.14rem;font-weight:700}.settings-section-title{color:var(--color-text);margin:0 0 4px;font-size:1rem;font-weight:700}.settings-section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.settings-section-head .settings-section-title{flex:1;min-width:0;margin:0}.settings-section-head button{flex-shrink:0;min-height:32px;padding:5px 12px;font-size:12px}.settings-page .type-add input,.settings-page .type-add button{min-height:40px;padding:8px 12px}.type-manage-block{margin:0 0 12px;padding-bottom:2px}.settings-page p{color:var(--color-text-muted);margin:4px 0 8px;font-size:.84rem}.type-manage-hint{color:var(--color-text-muted);margin:6px 0 8px;font-size:.8rem}.backup-section{border-top:none;margin-top:0;padding-top:0}.backup-section .settings-section-head .settings-section-title{margin:0}.quick-link-settings-grid{gap:10px;margin-top:10px;display:grid}.quick-link-settings-row{grid-template-columns:120px 1fr auto;align-items:center;gap:8px;display:grid}.quick-link-settings-row input{box-sizing:border-box;border:1px solid var(--color-input-border);border-radius:var(--radius-md);width:100%;min-height:32px;font:inherit;background:var(--color-surface);color:var(--color-text-secondary);box-shadow:var(--shadow-xs);padding:6px 10px;font-size:12px}.quick-link-settings-row input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring);outline:none}.quick-link-settings-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.quick-link-save-tip{color:var(--color-text-muted);font-size:.78rem}.quick-link-save-tip.saved{color:var(--color-success-text)}.quick-link-save-tip.error{color:var(--color-danger-text)}@media (width<=640px){.quick-link-settings-row{grid-template-columns:1fr}}.backup-intro{margin-bottom:10px}.backup-actions{flex-wrap:wrap;gap:8px;display:flex}.backup-actions button{min-height:38px}.backup-section p{color:var(--color-text-muted);margin:0 0 8px;font-size:.8rem}.backup-subtitle{color:var(--color-text-secondary);margin:10px 0 6px;font-size:.85rem;font-weight:700}.bottom-nav{background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-border);padding:8px 12px calc(8px + env(safe-area-inset-bottom));z-index:30;box-shadow:var(--shadow-nav);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:var(--color-text-secondary);border-radius:var(--radius-md);min-height:48px;transition:color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-weight:600;display:flex}.bottom-nav button:hover{color:var(--color-text);background:var(--color-bg-subtle)}.bottom-nav button.active{color:var(--color-primary)}.bottom-nav button.active .nav-icon{transform:translateY(-1px)}.bottom-nav .nav-icon{transition:transform var(--transition-fast);font-size:17px;line-height:1}@media (width<=700px){.app{padding-inline:8px}.app-header{align-items:flex-start}.app-header h1{font-size:1.1rem}.app-header p{margin-top:4px;font-size:.76rem}.app-header .actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.app-header .actions button.primary{grid-column:1/-1}.filters{gap:5px;margin-top:6px}.report-board{grid-template-columns:1fr 1fr}.report-quick-access{grid-template-columns:1fr;gap:8px;padding:10px}.report-quick-access-label{text-align:left;padding-right:0;line-height:1.2}.report-quick-access-btns,.report-quick-access-btns:first-child,.report-quick-access-btns:last-child{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.report-quick-access-btns:first-child .report-quick-access-label{text-align:left;grid-column:1/-1}.report-quick-access-btns:first-child select{grid-column:1/-1;width:100%}.category-report-row{grid-template-columns:1fr 1fr;row-gap:6px}.category-report-row .type{grid-column:1/-1}.category-report-row>span:not(.type){justify-self:start}.income-report-row{grid-template-columns:1fr 1fr;row-gap:6px}.income-report-row .type{grid-column:1/-1}.income-report-row>span:not(.type){justify-self:start}.record-card{grid-template-columns:1fr;gap:6px}.card-actions{flex-direction:row;justify-content:flex-end}.home-fab{width:auto;min-width:0;left:10px;right:10px;transform:none}.form-grid{grid-template-columns:1fr}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:calc(88dvh - env(safe-area-inset-bottom));padding-bottom:calc(14px + env(safe-area-inset-bottom));margin-top:auto}.modal-backdrop{align-items:flex-end;padding:0}.bottom-nav{z-index:40}}.settings-muted{color:var(--color-text-muted);margin:4px 0 10px;font-size:.85rem}.app-header-account{color:var(--color-text-muted);margin:6px 0 0;font-size:.78rem}.app-auth-loading{justify-content:center;align-items:center;min-height:50dvh;display:flex}.app-auth-loading-text{color:var(--color-text-muted);font-size:.95rem}.app-account-block{border-bottom:1px solid var(--color-border);margin-bottom:20px;padding-bottom:16px}.pwd-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin-top:8px;display:grid}.pwd-edit-grid label{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:.82rem;display:flex}.pwd-edit-grid label:last-of-type{grid-column:1/-1}.pwd-edit-grid button{justify-self:start}.pwd-edit-actions{align-items:center;gap:8px;display:flex}.app-logout-btn{color:var(--color-danger-text);border-color:var(--color-danger-border);background:var(--color-danger-bg);margin-top:8px}@media (width<=700px){.pwd-edit-grid{grid-template-columns:1fr}}.user-auth-overlay{z-index:100;padding:24px 16px;padding-bottom:calc(20px + env(safe-area-inset-bottom));background:radial-gradient(ellipse 90% 70% at 50% -10%, #4d7a8824, transparent 55%), radial-gradient(ellipse 60% 50% at 100% 80%, #b8976a1a, transparent 50%), var(--color-bg-page);box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.user-auth-card{background:color-mix(in srgb, var(--color-surface) 94%, transparent);border-radius:var(--radius-lg);width:100%;max-width:388px;box-shadow:var(--shadow-md);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);padding:26px 20px 20px}.user-auth-title{letter-spacing:-.02em;text-align:center;color:var(--color-text);margin:0;font-size:1.35rem;font-weight:700}.user-auth-subtitle{text-align:center;color:var(--color-text-muted);margin:8px 0 16px;font-size:.83rem;font-weight:400}.user-auth-mode-title{text-align:center;color:var(--color-text);margin:2px 0 14px;font-size:.95rem;font-weight:700}.user-auth-error{color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);margin:0 0 12px;padding:10px 12px;font-size:.85rem}.user-auth-form{flex-direction:column;gap:12px;display:flex}.user-auth-form label{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;display:flex}.user-auth-form input{border:1px solid var(--color-input-border);border-radius:var(--radius-lg);box-sizing:border-box;background:var(--color-surface);min-height:44px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:10px 12px;font-size:16px}.user-auth-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring);outline:none}.user-auth-sms-row{align-items:stretch;gap:8px;display:flex}.user-auth-sms-row input{flex:1;min-width:0}.user-auth-sms-row button{white-space:nowrap;border-radius:var(--radius-lg);flex-shrink:0;min-width:112px}.user-auth-form .primary{border-radius:var(--radius-lg);min-height:46px;margin-top:8px;font-size:15px;font-weight:700}.user-auth-footnote{color:var(--color-text-muted);text-align:center;margin:2px 2px 0;font-size:.8rem}.user-auth-text-btn{color:var(--color-primary);background:0 0;border:none;min-height:30px;padding:0;font-size:.88rem}.user-auth-text-btn.minor{color:var(--color-text-muted);font-size:.8rem}.user-auth-bottom-actions{flex-direction:column;align-items:center;gap:8px;margin-top:14px;display:flex}
