:root{--bg:#111113;--surface:#1c1c1f;--surface2:#252529;--border:#333338;--text:#ececf0;--text2:#9898a0;--accent:#e8b84a;--accent-hover:#f5ca5d;--accent-dim:rgba(232,184,74,.14);--green:#34c759;--green-dim:rgba(52,199,89,.12);--red:#ff453a;--red-dim:rgba(255,69,58,.12);--orange:#ff9f0a;--orange-dim:rgba(255,159,10,.12);--radius:12px;--radius-sm:8px;--overlay:rgba(0,0,0,.5);--overlay-strong:rgba(0,0,0,.6);--divider:rgba(51,51,56,.5);--divider-soft:rgba(51,51,56,.4);--submit-fade:linear-gradient(to top,var(--bg) 60%,transparent);color-scheme:dark}[data-theme=light]{--bg:#fff;--surface:#f5f5f7;--surface2:#ebebf0;--border:#d6d6dc;--text:#1d1d1f;--text2:#6e6e73;--accent:#4caf50;--accent-hover:#66bb6a;--accent-dim:rgba(76,175,80,.14);--green:#1f9e4a;--green-dim:rgba(31,158,74,.12);--red:#d70015;--red-dim:rgba(215,0,21,.1);--orange:#c06f00;--orange-dim:rgba(192,111,0,.1);--overlay:rgba(0,0,0,.35);--overlay-strong:rgba(0,0,0,.45);--divider:rgba(0,0,0,.08);--divider-soft:rgba(0,0,0,.06);color-scheme:light}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:DM Sans,-apple-system,sans-serif;color:var(--text);min-height:100dvh;padding-bottom:env(safe-area-inset-bottom,20px);overflow-x:hidden}.header,body{background:var(--bg)}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header h1{font-size:18px;font-weight:700;letter-spacing:-.3px}.header-actions{display:flex;gap:8px}.icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);cursor:pointer;transition:all .15s}.icon-btn:active{background:var(--surface2);transform:scale(.95)}.icon-btn svg{width:18px;height:18px}.form-wrap{padding:16px 20px 90px;gap:14px}.field,.form-wrap{display:flex;flex-direction:column}.field{gap:6px;min-width:0}.field-label{font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.5px}.field-row{display:grid;grid-template-columns:1.3fr 1fr;grid-gap:10px;gap:10px;align-items:start}.input-wrap{position:relative;display:flex;align-items:center}input[type=date],input[type=number],input[type=text]{width:100%;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:16px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color .15s;-webkit-appearance:none}input:focus{border-color:var(--accent)}input::placeholder{color:var(--text2);opacity:.5}.amount-input{font-family:JetBrains Mono,monospace!important;font-size:22px!important;font-weight:600;padding:12px!important;letter-spacing:-.5px;height:52px}.rupee-prefix{position:absolute;left:12px;font-family:JetBrains Mono,monospace;font-size:22px;font-weight:600;color:var(--text2);pointer-events:none}.amount-input.has-prefix{padding-left:28px!important}.toggle-row{display:flex;gap:6px}.toggle-btn{flex:1 1;padding:10px 4px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;text-align:center;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text2);cursor:pointer;transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:0}.toggle-btn:active{transform:scale(.97)}.toggle-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.toggle-btn:disabled{opacity:.4;cursor:not-allowed}.date-field{gap:8px}.date-prose{font-family:DM Sans,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.4px;color:var(--text);cursor:pointer;padding:2px 0;line-height:1.2;-webkit-user-select:none;-moz-user-select:none;user-select:none}.date-prose:active{opacity:.7}.date-chip-row{display:flex;gap:6px;flex-wrap:wrap}.date-chip{padding:6px 12px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--text2);cursor:pointer;transition:all .15s}.date-chip:active{transform:scale(.95)}.date-chip.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.date-hidden{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.category-input{cursor:pointer}.category-overlay{position:fixed;inset:0;background:var(--overlay);z-index:199}.category-dropdown{position:fixed;left:0;right:0;bottom:0;max-height:55dvh;background:var(--surface);border-top:1px solid var(--border);border-radius:16px 16px 0 0;z-index:200;display:flex;flex-direction:column;box-shadow:0 -8px 30px rgba(0,0,0,.5)}.category-search-wrap{padding:12px 16px;border-bottom:1px solid var(--border)}.category-search{width:100%;padding:10px 12px;font-family:DM Sans,sans-serif;font-size:15px;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none}.category-search:focus{border-color:var(--accent)}.category-list{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1 1}.category-item{padding:14px 16px;font-size:15px;cursor:pointer;border-bottom:1px solid var(--divider);transition:background .1s}.category-item:active{background:var(--surface2)}.category-item.selected{color:var(--accent);background:var(--accent-dim)}.check-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.check-row:active{background:var(--surface2)}.check-row.dual{gap:10px;justify-content:center;padding:10px 12px}.check-side-label{font-size:13px;font-weight:500;color:var(--text2);white-space:nowrap;transition:color .2s}.check-side-label.active{color:var(--text);font-weight:600}.check-label{font-size:15px;font-weight:500}.check-toggle{width:44px;height:26px;background:var(--surface2);border:1.5px solid var(--border);border-radius:14px;position:relative;transition:all .2s;flex-shrink:0}.check-toggle:after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;background:var(--text2);border-radius:50%;transition:all .2s}.check-toggle.on{background:var(--green-dim);border-color:var(--green)}.check-toggle.on:after{transform:translateX(18px);background:var(--green)}.attach-zone{padding:20px;border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;transition:all .15s}.attach-zone:active{border-color:var(--accent);background:var(--accent-dim)}.attach-zone svg{margin-bottom:8px;color:var(--text2)}.attach-zone p{font-size:13px;color:var(--text2)}.attach-preview-wrap{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.attach-preview-wrap img{width:100%;max-height:200px;object-fit:contain;background:var(--surface)}.attach-remove{position:absolute;top:8px;right:8px;width:28px;height:28px;background:rgba(0,0,0,.7);border:none;border-radius:50%;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.attach-sheet-overlay{position:fixed;inset:0;background:var(--overlay);z-index:399}.attach-sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(400px,calc(100vw - 16px));padding:8px 8px calc(8px + env(safe-area-inset-bottom, 0px));background:var(--surface);border-radius:16px 16px 0 0;z-index:400}.attach-sheet-title{text-align:center;font-size:13px;font-weight:600;color:var(--text2);padding:10px 0 6px;text-transform:uppercase;letter-spacing:.5px}.attach-sheet-option{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:500;color:var(--text);background:var(--surface2);border:none;border-radius:var(--radius);cursor:pointer;transition:background .1s;margin-top:4px}.attach-sheet-option:active{background:var(--border)}.attach-sheet-option svg{color:var(--accent);flex-shrink:0}.attach-sheet-cancel{width:100%;padding:14px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;color:var(--red);background:transparent;border:none;cursor:pointer;margin-top:8px;border-radius:var(--radius)}.attach-sheet-cancel:active{background:var(--surface2)}.cashmemo-empty{cursor:default}.cashmemo-empty:active{border-color:var(--border);background:transparent}.memo-overlay-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px}.memo-overlay-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;background:rgba(0,0,0,.7);border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background .15s}.memo-overlay-btn:active{background:rgba(0,0,0,.9)}.memo-overlay-btn svg{width:14px;height:14px}.memo-enlarge-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:600;display:flex;align-items:center;justify-content:center;padding:20px}.memo-enlarge-overlay img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.memo-enlarge-close{position:absolute;top:16px;right:16px;width:36px;height:36px;background:hsla(0,0%,100%,.15);border:none;border-radius:50%;color:#fff;font-size:24px;line-height:1;cursor:pointer}.submit-bar{position:fixed;bottom:0;left:0;right:0;padding:10px 20px calc(10px + env(safe-area-inset-bottom, 0px));background:var(--submit-fade);z-index:50}.submit-btn{width:100%;padding:11px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;letter-spacing:-.2px;display:flex;align-items:center;justify-content:center}.submit-btn:active{transform:scale(.98);opacity:.9}.submit-btn:disabled{opacity:.4;pointer-events:none}.settings-overlay{position:fixed;inset:0;background:var(--overlay-strong);z-index:299}.settings-panel{position:fixed;right:-100%;top:0;bottom:0;width:min(340px,85vw);background:var(--surface);z-index:300;transition:right .25s ease-out;display:flex;flex-direction:column;overflow-y:auto}.settings-panel.open{right:0}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.settings-header h2{font-size:16px;font-weight:700}.settings-body{padding:16px 20px;display:flex;flex-direction:column;gap:16px;flex:1 1;overflow-y:auto}.settings-hint{font-size:13px;color:var(--text2);line-height:1.45;margin-bottom:6px}.settings-section h3{font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--divider-soft)}.settings-row label{font-size:14px}.settings-row select{padding:6px 10px;font-family:DM Sans,sans-serif;font-size:13px;color:var(--text);border:1px solid var(--border);border-radius:6px;outline:none;max-width:150px}.settings-row select,.settings-row select option{background:var(--surface2)}.clear-btn{padding:10px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;background:var(--red-dim);color:var(--red);border:1px solid var(--red);border-radius:var(--radius-sm);cursor:pointer;margin-top:8px}.toast{position:fixed;top:16px;left:50%;transform:translateX(-50%) translateY(-80px);padding:12px 20px;border-radius:var(--radius);font-size:14px;font-weight:600;z-index:500;transition:transform .3s ease-out;white-space:nowrap}.toast.show{transform:translateX(-50%) translateY(0)}.toast.success{background:var(--green);color:#fff}.toast.error{background:var(--red);color:#fff}.toast.info{background:var(--accent);color:#fff}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:18px;height:18px;border:2.5px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:8px}@media (min-width:600px){.form-wrap{padding-top:24px}.form-wrap,.header{max-width:560px;margin:0 auto}.submit-bar{display:flex;justify-content:center}.submit-btn{max-width:560px}.amount-input{font-size:24px!important}.settings-panel{width:min(400px,85vw)}.category-dropdown{left:50%;right:auto;transform:translateX(-50%);width:min(500px,calc(100vw - 32px));border-radius:16px;bottom:10vh;max-height:50dvh}.category-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}@media (min-width:900px){.form-wrap{max-width:640px;padding:32px 24px 100px;gap:20px}.header{padding:20px 24px}.header,.submit-btn{max-width:640px}input[type=date],input[type=number],input[type=text]{font-size:17px}.toggle-btn{font-size:15px;padding:14px 10px}.attach-zone{padding:28px}.attach-zone p{font-size:14px}}