.eh-total-card{background:var(--teal);border-radius:20px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between}.eh-total-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffffa6;margin-bottom:4px}.eh-total-amount{font-size:28px;font-weight:700;color:#fff;letter-spacing:-.5px}.eh-total-right{text-align:right}.eh-total-right span{display:block;font-size:11px;color:#ffffffa6;line-height:1.8}.eh-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.eh-export-btn{padding:12px;border-radius:12px;border:none;background:var(--teal);color:#fff;font-size:13px;font-weight:600;cursor:pointer;min-height:44px;letter-spacing:.01em}.eh-export-btn:active{opacity:.85}.eh-delete-all-btn{padding:12px;border-radius:12px;border:.5px solid var(--border);background:var(--bg-soft);color:var(--error);font-size:13px;font-weight:600;cursor:pointer;min-height:44px}.eh-delete-all-btn:active{opacity:.75}.eh-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 2px}.eh-list{display:flex;flex-direction:column;gap:1px;background:var(--border);border-radius:16px;overflow:hidden;border:.5px solid var(--border)}.eh-item{background:var(--bg-soft);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.eh-item:first-child{border-radius:16px 16px 0 0}.eh-item:last-child{border-radius:0 0 16px 16px}.eh-item:only-child{border-radius:16px}.eh-item-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.eh-item-flag{font-size:22px;flex-shrink:0}.eh-item-info{min-width:0;flex:1}.eh-item-name{font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eh-item-cat-select{margin-top:3px;display:block;font-size:10px;font-weight:600;color:var(--teal);background:var(--teal-soft);border:none;border-radius:4px;padding:2px 6px;cursor:pointer;font-family:inherit;outline:none;max-width:160px;text-transform:uppercase;letter-spacing:.03em}.eh-item-foreign{font-size:11px;color:var(--muted);margin-top:2px}.eh-item-right{text-align:right;flex-shrink:0}.eh-item-sgd{font-size:14px;font-weight:600;color:var(--ink)}.eh-item-time{font-size:10px;color:var(--muted);margin-top:2px;opacity:.8}.eh-item-delete{display:block;margin-top:6px;background:none;border:none;font-size:10px;color:var(--error);cursor:pointer;padding:0;opacity:.7}.eh-item-delete:active{opacity:1}.eh-backup{background:#c94f3a12;border:.5px solid rgba(201,79,58,.18);color:var(--error);border-radius:12px;padding:10px 14px;font-size:12px;text-align:center;line-height:1.5}.eh-empty{text-align:center;color:var(--muted);padding:3rem 1rem;font-size:14px;line-height:1.7}.eh-empty-icon{font-size:36px;margin-bottom:10px;display:block;opacity:.5}.scanner-wrap{display:flex;flex-direction:column;gap:0;height:calc(100vh - var(--header-h) - var(--tabbar-h) - var(--safe-top) - var(--safe-bottom));margin:-16px -20px;overflow:hidden}.scanner-currency-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg);border-bottom:.5px solid var(--border);flex-shrink:0;position:relative}.scanner-currency-flag{font-size:20px;flex-shrink:0}.scanner-currency-name{font-size:13px;font-weight:600;color:var(--ink);flex:1}.scanner-currency-select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;border:none}.scanner-rate{font-size:11px;color:var(--muted);white-space:nowrap}.scanner-viewfinder{flex:1;position:relative;background:#000;overflow:hidden;min-height:0}.scanner-video{width:100%;height:100%;object-fit:cover;display:block}.scanner-frame{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.scanner-corner{position:absolute;width:24px;height:24px;border-color:#fff;border-style:solid;opacity:.9}.scanner-corner.tl{top:20%;left:10%;border-width:3px 0 0 3px;border-radius:4px 0 0}.scanner-corner.tr{top:20%;right:10%;border-width:3px 3px 0 0;border-radius:0 4px 0 0}.scanner-corner.bl{bottom:30%;left:10%;border-width:0 0 3px 3px;border-radius:0 0 0 4px}.scanner-corner.br{bottom:30%;right:10%;border-width:0 3px 3px 0;border-radius:0 0 4px}.scanner-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0009;color:#fff;font-size:14px;font-weight:600;padding:10px 20px;border-radius:24px;white-space:nowrap;letter-spacing:.3px}.scanner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;font-size:14px;font-weight:500}.scanner-overlay-btn{margin-top:4px;padding:10px 24px;border-radius:24px;border:1.5px solid white;background:transparent;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.scanner-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scanner-price-overlay{position:absolute;bottom:12px;left:12px;right:12px;background:#000000b8;border-radius:16px;padding:14px 16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.scanner-price-foreign{display:flex;align-items:baseline;gap:10px;margin-bottom:2px}.scanner-price-strike{font-size:16px;font-weight:400;color:#ffffff80;text-decoration:line-through}.scanner-price-main{font-size:22px;font-weight:600;color:#fff;letter-spacing:-.5px}.scanner-price-sgd{font-size:32px;font-weight:700;color:#5dcaa5;letter-spacing:-1px}.scanner-price-saving{font-size:11px;font-weight:600;color:#9fe1cb;margin-top:4px}.scanner-shutter-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--bg);border-top:.5px solid var(--border)}.scanner-shutter{width:68px;height:68px;border-radius:50%;border:3px solid var(--teal);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s}.scanner-shutter:active{transform:scale(.92)}.scanner-shutter-inner{width:52px;height:52px;border-radius:50%;background:var(--teal);display:block}.scanner-cam-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;color:#fff;text-align:center;padding:24px}.scanner-cam-error span{font-size:40px}.scanner-cam-error p{font-size:14px;line-height:1.5;opacity:.85}.scanner-cam-error button{padding:10px 24px;border-radius:24px;border:1.5px solid white;background:transparent;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.scanner-result-panel{flex-shrink:0;background:var(--bg);border-top:.5px solid var(--border);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.scanner-discount-row{display:flex;align-items:center;gap:8px}.scanner-discount-toggle{font-size:12px;font-weight:600;color:var(--teal);background:var(--teal-soft);border:none;border-radius:20px;padding:6px 12px;cursor:pointer;white-space:nowrap}.scanner-discount-toggle.active{background:var(--teal);color:#fff}.scanner-discount-input{width:64px;padding:6px 10px;border:.5px solid var(--border);border-radius:10px;background:var(--bg-soft);font-size:16px;font-weight:500;color:var(--ink);outline:none;text-align:center;font-family:inherit}.scanner-discount-input:focus{border-color:var(--teal)}.scanner-discount-pct{font-size:14px;font-weight:600;color:var(--muted)}.scanner-desc-input{width:100%;padding:10px 14px;border:.5px solid var(--border);border-radius:12px;background:var(--bg-soft);font-size:14px;color:var(--ink);outline:none;font-family:inherit;min-height:44px}.scanner-desc-input:focus{border-color:var(--teal)}.scanner-actions{display:flex;gap:8px;align-items:center}.scanner-cat-select{flex:1;padding:10px 12px;border:.5px solid var(--border);border-radius:12px;background:var(--bg-soft);font-size:13px;color:var(--ink);outline:none;font-family:inherit;min-height:44px}.scanner-retake-btn{padding:10px 14px;border-radius:12px;border:.5px solid var(--border);background:var(--bg-soft);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;min-height:44px}.scanner-save-btn{padding:10px 18px;border-radius:12px;border:none;background:var(--teal);color:#fff;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;min-height:44px}.scanner-save-btn:disabled{opacity:.6}.drc-container{display:flex;flex-direction:column;gap:12px;width:100%}.drc-calendar{background:var(--bg);border:.5px solid var(--border);border-radius:12px;padding:12px}.drc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.drc-month-year{font-size:14px;font-weight:700;color:var(--ink);text-align:center;flex:1}.drc-nav-btn{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 10px;color:var(--teal);font-weight:700;transition:opacity .2s;min-width:36px}.drc-nav-btn:disabled{opacity:.25;cursor:not-allowed}.drc-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.drc-weekday{text-align:center;font-size:10px;font-weight:600;color:var(--muted);padding:4px 0}.drc-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.drc-day{aspect-ratio:1;width:100%;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;color:var(--ink);transition:background .15s,color .15s;display:flex;align-items:center;justify-content:center;padding:0}.drc-day:hover:not(:disabled):not(.past){background:var(--bg-soft);color:var(--teal)}.drc-day.endpoint{background:var(--teal);color:#fff;font-weight:700;border-radius:8px}.drc-day.in-range{background:#1d7a6e1f;color:var(--ink);border-radius:0}.drc-day.today{outline:2px solid var(--teal);outline-offset:-2px;font-weight:700;border-radius:6px}.drc-day.past{color:var(--border);cursor:not-allowed}.drc-day.empty{cursor:default;pointer-events:none}.drc-instruction{font-size:11px;color:var(--muted);text-align:center;min-height:16px}.drc-summary{background:var(--bg-soft);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;text-align:center}.drc-summary-days{font-size:13px;font-weight:700;color:var(--teal)}.drc-summary-range{font-size:11px;color:var(--muted)}.drc-actions{display:flex;gap:8px}.drc-btn-primary,.drc-btn-secondary{flex:1;padding:11px;border-radius:10px;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:opacity .2s}.drc-btn-primary{background:var(--teal);color:#fff}.drc-btn-primary:disabled{opacity:.4;cursor:not-allowed}.drc-btn-secondary{background:var(--bg-soft);color:var(--muted);border:.5px solid var(--border)}.iv-wrap{display:flex;flex-direction:column;background:var(--bg);height:calc(100vh - var(--header-h) - var(--tabbar-h) - var(--safe-top) - var(--safe-bottom));overflow:hidden}.iv-hdr{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:.5px solid var(--border);background:var(--bg);flex-shrink:0;gap:8px}.iv-hdr-back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--muted);font-size:18px;flex-shrink:0}.iv-hdr-center{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0}.iv-hdr-title{font-size:14px;font-weight:500;color:var(--ink);line-height:1.2}.iv-hdr-sub{font-size:10px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.iv-hdr-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:.5px solid var(--border);border-radius:8px;cursor:pointer;color:var(--muted);font-size:15px;flex-shrink:0;transition:background .12s,color .12s}.iv-hdr-btn:hover{background:var(--bg-soft);color:var(--ink)}.iv-hdr-btn-teal{background:var(--teal);border-color:var(--teal);color:#fff}.iv-hdr-btn-teal:hover{background:var(--teal-dark, #0F6E56)}.iv-status{margin:6px 12px 0;padding:6px 12px;border-radius:8px;font-size:11px;font-weight:600;text-align:center;flex-shrink:0}.iv-status.ok{background:#2d8b7714;color:var(--success)}.iv-status.err{background:#c94f3a14;color:var(--error)}.iv-bulk-panel{margin:8px 12px;padding:12px;background:var(--bg-soft);border:.5px solid var(--border);border-radius:10px;flex-shrink:0;display:flex;flex-direction:column;gap:8px}.iv-bulk-hint{font-size:11px;color:var(--muted);line-height:1.5}.iv-bulk-hint code{font-size:10px;background:var(--bg);border:.5px solid var(--border);border-radius:4px;padding:1px 5px;color:var(--teal)}.iv-bulk-input{width:100%;padding:9px 11px;background:var(--bg);border:.5px solid var(--border);border-radius:8px;font-size:12px;color:var(--ink);font-family:inherit;line-height:1.6;resize:vertical;box-sizing:border-box;outline:none}.iv-bulk-input:focus{border-color:var(--teal)}.iv-bulk-preview{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto}.iv-bulk-preview-label{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px}.iv-bulk-preview-row{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:.5px solid var(--border)}.iv-bulk-preview-row:last-child{border-bottom:none}.iv-bulk-actions{display:flex;gap:6px;flex-wrap:wrap}.iv-bulk-btn-primary{flex:1;min-width:80px;padding:8px;background:var(--teal);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.iv-bulk-btn-secondary{flex:1;min-width:80px;padding:8px;background:var(--bg);color:var(--ink);border:.5px solid var(--border);border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.iv-bulk-btn-secondary:disabled{opacity:.4;cursor:default}.iv-bulk-btn-danger{flex:1;min-width:80px;padding:8px;background:var(--error);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.iv-bulk-btn-cancel{flex:1;min-width:60px;padding:8px 12px;background:none;border:.5px solid var(--border);border-radius:8px;font-size:12px;color:var(--muted);cursor:pointer;white-space:nowrap}.iv-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center}.iv-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.iv-section{margin-bottom:2px}.iv-day-row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 14px 4px;position:sticky;top:0;background:var(--bg);z-index:2}.iv-day-dow{font-size:10px;font-weight:600;color:var(--teal);letter-spacing:.08em;text-transform:uppercase}.iv-day-date{font-size:11px;color:var(--muted)}.iv-ev{border-top:.5px solid var(--border);background:var(--bg);transition:border-color .1s}.iv-ev.iv-ev-open{background:var(--bg)}.iv-ev[data-drag-over]{border-top:2px solid var(--teal)}.iv-ev-row{display:flex;align-items:center;min-height:46px;cursor:pointer;padding-right:4px;user-select:none;-webkit-user-select:none;transition:background .1s}.iv-ev-row:active{background:var(--bg-soft)}.iv-ev-grip{padding:0 4px 0 10px;color:var(--muted);font-size:13px;opacity:.3;cursor:grab;flex-shrink:0;touch-action:none}.iv-ev-grip:active{cursor:grabbing}.iv-ev-time{font-size:10px;color:var(--muted);width:32px;text-align:right;flex-shrink:0;padding-right:6px}.iv-ev-icon{width:24px;text-align:center;flex-shrink:0}.iv-ev-icon i{font-size:14px;color:var(--teal)}.iv-ev-info{flex:1;padding:10px 4px;min-width:0}.iv-ev-title{font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iv-ev-sub{font-size:11px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iv-ev-map{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;color:var(--teal);font-size:15px;cursor:pointer;flex-shrink:0;text-decoration:none;transition:background .12s}.iv-ev-map:hover{background:var(--teal-soft)}.iv-ev-detail{padding:10px 12px 14px;background:var(--bg-soft);border-top:.5px solid var(--border);display:flex;flex-direction:column;gap:8px}.iv-ev-edit-input,.iv-ev-notes-input{width:100%;box-sizing:border-box;background:var(--bg);border:.5px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px;color:var(--ink);font-family:inherit;outline:none;line-height:1.4;transition:border-color .15s}.iv-ev-edit-input{min-height:38px}.iv-ev-edit-input:focus,.iv-ev-notes-input:focus{border-color:var(--teal)}.iv-ev-edit-input::placeholder,.iv-ev-notes-input::placeholder{color:var(--muted)}.iv-ev-notes-input{resize:none;line-height:1.5}.iv-ev-edit-save{background:var(--teal);color:#fff;border:none;border-radius:8px;padding:0 14px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.iv-ev-kv{display:grid;grid-template-columns:56px 1fr;gap:2px 8px}.iv-kv-k{font-size:11px;color:var(--muted);padding:2px 0;align-self:start}.iv-kv-v{font-size:11px;color:var(--ink);padding:2px 0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.iv-kv-link{font-size:10px;font-weight:600;color:var(--teal);background:var(--teal-soft);border:.5px solid var(--teal);border-radius:4px;padding:1px 6px;text-decoration:none;flex-shrink:0}.iv-ev-structured{padding:8px 10px;background:var(--bg);border:.5px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:4px}.iv-flight-pill{display:inline-flex;align-items:center;gap:6px;background:var(--teal-soft);border:.5px solid var(--teal);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500;color:var(--teal-dark, var(--teal));flex-wrap:wrap}.iv-flight-pill i{font-size:11px}.iv-ev-swaps{border-top:.5px solid var(--border);padding-top:6px;display:flex;flex-direction:column;gap:4px}.iv-swaps-label{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px}.iv-swap-item{display:flex;align-items:flex-start;gap:6px;font-size:11px;color:var(--ink)}.iv-swap-item i{font-size:11px;color:var(--muted);margin-top:1px;flex-shrink:0}.iv-ev-delete{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-size:12px;font-weight:500;color:var(--error);padding:10px 0;min-height:44px;opacity:.8;align-self:flex-start}.iv-ev-delete:hover{opacity:1}.iv-ev-map-field{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg);border:.5px solid var(--border);border-radius:8px}.iv-ev-map-input{flex:1;background:none;border:none;outline:none;font-size:11px;color:var(--ink);font-family:inherit;min-width:0}.iv-ev-map-input::placeholder{color:var(--muted)}.iv-ev-map-input:focus{color:var(--ink)}.iv-ev-drag-over{border-top:2px solid var(--teal)!important}.iv-structured-toggle{width:100%;display:flex;align-items:center;gap:6px;padding:8px 0;background:none;border:none;border-top:.5px solid var(--border);cursor:pointer;font-size:12px;font-weight:600;color:var(--ink)}.iv-structured-fields{display:flex;flex-direction:column;gap:8px;padding:8px 0 4px}.iv-swap-add-row{display:flex;gap:6px;align-items:center;margin-top:4px}.iv-swap-add-input{flex:1;background:none;border:none;border-bottom:.5px solid var(--border);outline:none;font-size:11px;color:var(--ink);font-family:inherit;padding:4px 2px}.iv-swap-add-input::placeholder{color:var(--muted)}.iv-swap-add-btn{background:var(--teal);color:#fff;border:none;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer;flex-shrink:0}.iv-add-bar{display:flex;gap:6px;padding:8px 12px 6px;border-top:.5px solid var(--border);background:var(--bg);flex-shrink:0}.iv-add-input{flex:1;background:var(--bg-soft);border:.5px solid var(--border);border-radius:10px;padding:9px 12px;font-size:12px;color:var(--ink);font-family:inherit;outline:none;transition:border-color .15s,background .15s;min-height:38px}.iv-add-input:focus{border-color:var(--teal);background:var(--bg)}.iv-add-submit{width:38px;height:38px;border-radius:10px;background:var(--teal);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:15px;flex-shrink:0;transition:background .12s}.iv-add-submit:hover{background:var(--teal-dark, #0F6E56)}.iv-add-submit:disabled{opacity:.4;cursor:default}.iv-add-hint{font-size:10px;color:var(--muted);padding:0 12px 8px;font-style:italic;flex-shrink:0}.pl-empty{display:flex;flex-direction:column;align-items:center;padding:40px 24px;text-align:center}.pl-generate-btn{display:flex;align-items:center;gap:6px;background:var(--teal);color:#fff;border:none;border-radius:10px;padding:12px 22px;font-size:13px;font-weight:600;cursor:pointer;margin-bottom:10px}.pl-blank-btn{background:none;border:none;font-size:12px;color:var(--muted);cursor:pointer;padding:6px}.pl-wrap{display:flex;flex-direction:column;gap:0}.pl-header{padding:0 0 10px}.pl-progress-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.pl-progress-label{font-size:11px;color:var(--muted);font-weight:500}.pl-header-actions{display:flex;align-items:center;gap:8px}.pl-uncheck-btn{font-size:11px;color:var(--muted);background:none;border:none;cursor:pointer;padding:0}.pl-regen-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:.5px solid var(--border);border-radius:7px;cursor:pointer;color:var(--muted)}.pl-regen-btn:hover{background:var(--bg-soft);color:var(--teal)}.pl-progress-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden}.pl-progress-fill{height:100%;background:var(--teal);border-radius:2px;transition:width .3s ease}.pl-list{display:flex;flex-direction:column;gap:2px}.pl-section{border:.5px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:4px}.pl-cat-header{width:100%;display:flex;align-items:center;gap:8px;padding:11px 12px;background:var(--bg-soft);border:none;cursor:pointer;text-align:left;min-height:44px}.pl-cat-name{flex:1;font-size:12px;font-weight:600;color:var(--ink)}.pl-cat-count{font-size:11px;color:var(--muted);flex-shrink:0}.pl-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:.5px solid var(--border);background:var(--bg);min-height:44px;transition:background .1s}.pl-item-checked{background:var(--bg-soft)}.pl-checkbox{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--border);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,border-color .15s;color:#fff}.pl-checkbox.checked{background:var(--teal);border-color:var(--teal)}.pl-item-label{flex:1;font-size:13px;color:var(--ink);line-height:1.4;transition:color .15s}.pl-item-checked .pl-item-label{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--muted)}.pl-item-delete{background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;display:flex;align-items:center;opacity:.5;flex-shrink:0}.pl-item-delete:hover{opacity:1;color:var(--error)}.pl-add-btn{display:flex;align-items:center;gap:6px;background:none;border:.5px dashed var(--border);border-radius:10px;padding:11px 14px;font-size:12px;color:var(--muted);cursor:pointer;width:100%;margin-top:8px;min-height:44px;transition:border-color .15s,color .15s}.pl-add-btn:hover{border-color:var(--teal);color:var(--teal)}.pl-add-panel{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg-soft);border:.5px solid var(--border);border-radius:10px;margin-top:8px}.pl-add-input{background:var(--bg);border:.5px solid var(--border);border-radius:8px;padding:9px 11px;font-size:13px;color:var(--ink);font-family:inherit;outline:none;min-height:40px}.pl-add-input:focus{border-color:var(--teal)}.pl-add-cat{background:var(--bg);border:.5px solid var(--border);border-radius:8px;padding:8px 10px;font-size:12px;color:var(--muted);outline:none;min-height:38px}.pl-add-actions{display:flex;gap:8px}.pl-add-confirm{flex:1;padding:9px;background:var(--teal);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer}.pl-add-confirm:disabled{opacity:.4;cursor:default}.pl-add-cancel{padding:9px 14px;background:none;border:.5px solid var(--border);border-radius:8px;font-size:12px;color:var(--muted);cursor:pointer}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pdc-empty{display:flex;flex-direction:column;align-items:center;padding:40px 24px;text-align:center}.pdc-generate-btn{display:flex;align-items:center;gap:6px;background:var(--teal);color:#fff;border:none;border-radius:10px;padding:12px 22px;font-size:13px;font-weight:600;cursor:pointer;margin-bottom:10px}.pdc-blank-btn{background:none;border:none;font-size:12px;color:var(--muted);cursor:pointer;padding:6px}.pdc-wrap{display:flex;flex-direction:column;gap:0}.pdc-header{padding:0 0 10px}.pdc-progress-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.pdc-progress-label{font-size:11px;color:var(--muted);font-weight:500}.pdc-header-actions{display:flex;align-items:center;gap:8px}.pdc-uncheck-btn{font-size:11px;color:var(--muted);background:none;border:none;cursor:pointer;padding:0}.pdc-regen-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:.5px solid var(--border);border-radius:7px;cursor:pointer;color:var(--muted)}.pdc-regen-btn:hover{background:var(--bg-soft);color:var(--teal)}.pdc-progress-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden}.pdc-progress-fill{height:100%;border-radius:2px;transition:width .3s ease,background .3s}.pdc-official-card{display:flex;gap:10px;padding:10px 12px;background:var(--teal-soft);border:.5px solid var(--teal);border-radius:10px;margin-bottom:10px}.pdc-list{border:.5px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:8px}.pdc-item{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--bg);min-height:48px;transition:background .1s}.pdc-item-divider{border-top:.5px solid var(--border)}.pdc-item-checked{background:var(--bg-soft)}.pdc-checkbox{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;transition:background .15s,border-color .15s;color:#fff}.pdc-checkbox.checked{background:var(--success);border-color:var(--success)}.pdc-item-body{flex:1;min-width:0}.pdc-item-label{font-size:13px;color:var(--ink);line-height:1.4;transition:color .15s}.pdc-item-checked .pdc-item-label{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--muted)}.pdc-item-note{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.4}.pdc-item-link{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;color:var(--teal);text-decoration:none;margin-top:4px;background:var(--teal-soft);border:.5px solid var(--teal);border-radius:4px;padding:1px 6px}.pdc-item-delete{background:none;border:none;cursor:pointer;color:var(--muted);padding:2px 4px;opacity:.4;flex-shrink:0;margin-top:1px}.pdc-item-delete:hover{opacity:1;color:var(--error)}.pdc-add-btn{display:flex;align-items:center;gap:6px;background:none;border:.5px dashed var(--border);border-radius:10px;padding:11px 14px;font-size:12px;color:var(--muted);cursor:pointer;width:100%;min-height:44px;transition:border-color .15s,color .15s}.pdc-add-btn:hover{border-color:var(--teal);color:var(--teal)}.pdc-add-panel{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg-soft);border:.5px solid var(--border);border-radius:10px}.pdc-add-input{background:var(--bg);border:.5px solid var(--border);border-radius:8px;padding:9px 11px;font-size:13px;color:var(--ink);font-family:inherit;outline:none;min-height:40px}.pdc-add-input:focus{border-color:var(--teal)}.pdc-add-actions{display:flex;gap:8px}.pdc-add-confirm{flex:1;padding:9px;background:var(--teal);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer}.pdc-add-confirm:disabled{opacity:.4;cursor:default}.pdc-add-cancel{padding:9px 14px;background:none;border:.5px solid var(--border);border-radius:8px;font-size:12px;color:var(--muted);cursor:pointer}.tm-active-trip{background:var(--bg-soft);border:.5px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:14px}.tm-active-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.tm-active-name{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.3px}.tm-active-dates{font-size:12px;color:var(--muted);margin-top:4px}.tm-active-budget{font-size:20px;font-weight:700;color:var(--teal);text-align:right;white-space:nowrap}.tm-progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.tm-progress-fill{height:100%;background:var(--teal);border-radius:3px;transition:width .3s ease}.tm-active-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.tm-stat{background:var(--bg);border-radius:12px;padding:12px;text-align:center;border:.5px solid var(--border)}.tm-stat-label{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:700;letter-spacing:.08em;margin-bottom:6px}.tm-stat-value{display:block;font-size:13px;font-weight:700;color:var(--ink)}.tm-action-primary,.tm-action-secondary{padding:12px 16px;border:none;border-radius:10px;font-weight:700;font-size:13px;cursor:pointer;transition:all .2s;flex:1}.tm-action-primary{background:var(--teal-soft);border:.5px solid var(--teal);color:var(--teal)}.tm-action-primary:active{transform:scale(.98);opacity:.8}.tm-action-secondary{background:#f59e0b14;border:.5px solid rgba(245,158,11,.3);color:#f59e0b}.tm-action-secondary:active{transform:scale(.98);opacity:.8}.tm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000}.tm-modal{background:var(--bg);width:100%;border-radius:20px 20px 0 0;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 -4px 20px #0000001a}.tm-date-modal{border-radius:20px;max-height:82vh;overflow-y:auto;width:92%;max-width:420px}.tm-modal-header{padding:20px;border-bottom:.5px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.tm-modal-header h2{font-size:18px;font-weight:700;color:var(--ink);margin:0}.tm-modal-close{background:none;border:none;font-size:20px;color:var(--muted);cursor:pointer;padding:4px;opacity:.6;transition:opacity .2s}.tm-modal-close:active{opacity:1}.tm-modal-body{padding:20px;display:flex;flex-direction:column;align-items:center;gap:16px;flex:1;overflow-y:auto}.tm-modal-body>*{width:100%}.tm-modal-actions{padding:20px;border-top:.5px solid var(--border);display:flex;flex-direction:column;gap:10px;flex-shrink:0}.tm-input-group{display:flex;flex-direction:column;gap:8px}.tm-input-group label{font-size:13px;font-weight:700;color:var(--ink);text-transform:capitalize}.tm-input,.tm-date-range-btn{padding:12px 14px;border:.5px solid var(--border);border-radius:10px;background:var(--bg-soft);color:var(--ink);font-size:14px;font-family:inherit;transition:border-color .2s;font-weight:500}.tm-input:focus{outline:none;border-color:var(--teal);background:var(--bg)}.tm-date-range-btn{background:var(--bg-soft);cursor:pointer;text-align:left;color:var(--ink);font-weight:600}.tm-date-range-btn:active{background:var(--bg);transform:scale(.98)}.tm-display-value{padding:12px 14px;background:var(--bg-soft);border-radius:10px;border:.5px solid var(--border);font-size:15px;font-weight:700;color:var(--teal)}.tm-date-summary{padding:12px 14px;background:var(--teal-soft);border-radius:10px;border:.5px solid var(--teal);font-size:13px;font-weight:600;color:var(--teal);text-align:center}.tm-form-hint{font-size:12px;color:var(--muted);margin-top:-2px;line-height:1.4}.tm-error-box{background:#c94f3a14;border:.5px solid rgba(201,79,58,.2);border-radius:10px;padding:12px 14px;color:var(--error);font-size:13px;font-weight:600;margin:-10px 0 0}.tm-btn-primary,.tm-btn-secondary{padding:12px;border:none;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s;width:100%}.tm-btn-primary{background:var(--teal);color:#fff}.tm-btn-primary:active{transform:scale(.98);opacity:.85}.tm-btn-secondary{background:var(--bg-soft);color:var(--ink);border:.5px solid var(--border)}.tm-btn-secondary:active{transform:scale(.98);opacity:.7}.tm-create-btn{width:100%;padding:14px;background:var(--teal);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.tm-create-btn:active{transform:scale(.98);opacity:.85}.tm-submit-btn{padding:14px;background:var(--teal);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.tm-submit-btn:active{transform:scale(.98);opacity:.85}.tm-form{background:var(--bg-soft);border:.5px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:16px}.tm-form-error{background:#c94f3a14;border:.5px solid rgba(201,79,58,.2);color:var(--error);border-radius:10px;padding:12px 14px;font-size:13px;font-weight:600;margin:-8px 0 0}.tm-section-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.tm-trip-card{background:var(--bg-soft);border:.5px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s;font-family:inherit;font-size:13px}.tm-trip-card:active{transform:scale(.98)}.tm-trip-card:hover:not(.archived){background:var(--bg-card);border-color:var(--teal)}.tm-trip-card.active{background:var(--teal-soft);border-color:var(--teal)}.tm-trip-card.archived{opacity:.5;cursor:default}.tm-trip-info{flex:1;text-align:left}.tm-trip-name{font-weight:700;color:var(--ink)}.tm-trip-meta{font-size:12px;color:var(--muted);margin-top:3px}.tm-trip-actions{display:flex;gap:8px;align-items:center;margin-left:12px}.tm-action-btn{background:none;border:none;cursor:pointer;font-size:16px;padding:6px 8px;opacity:.6;transition:opacity .2s;border-radius:6px}.tm-action-btn:active{opacity:1;background:var(--bg)}.tm-stat-chip{background:var(--bg-soft);border:.5px solid var(--border);border-radius:8px;padding:6px 8px;text-align:center;transition:background .15s}.tm-stat-chip:hover{background:var(--teal-soft)}.tm-stat-chip-label{font-size:10px;color:var(--muted);font-weight:500;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tm-stat-chip-value{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-card{background:var(--bg-soft);border:.5px solid var(--border);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:12px}.tp-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.tp-label-small{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.tp-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.tp-alert{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:12px;border:.5px solid var(--border);background:var(--bg-soft)}.tp-alert.alert-warning{background:#f59e0b1a;border-color:#f59e0b4d}.tp-alert.alert-error{background:#c94f3a1a;border-color:#c94f3a4d}.tp-alert.alert-surge{background:#1d7a6e1a;border-color:#1d7a6e4d}.tp-alert.alert-pending{background:#5dcaa51a;border-color:#5dcaa54d}.tp-alert-icon{font-size:18px;flex-shrink:0;margin-top:1px}.tp-alert-content{display:flex;flex-direction:column;gap:2px;flex:1}.tp-alert-title{font-size:12px;font-weight:700;color:var(--ink)}.tp-alert-text{font-size:11px;color:var(--muted);line-height:1.4}.tp-tab{padding:10px;border-radius:12px;border:.5px solid var(--border);background:var(--bg-soft);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.04em}.tp-tab.active{background:var(--teal);color:#fff;border-color:var(--teal)}.tp-input-row{display:flex;align-items:center;gap:10px}.tp-currency{font-size:14px;font-weight:600;color:var(--muted);min-width:40px}.tp-input{flex:1;padding:10px 14px;border:.5px solid var(--border);border-radius:12px;background:var(--bg);font-size:18px;font-weight:500;color:var(--ink);outline:none;font-family:inherit}.tp-input:focus{border-color:var(--teal)}.tp-date-input{flex:1;padding:10px 14px;border:.5px solid var(--border);border-radius:12px;background:var(--bg);font-size:14px;color:var(--ink);outline:none;font-family:inherit}.tp-date-input:focus{border-color:var(--teal)}.tp-status-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:12px 0}.tp-status-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}.tp-status-value{font-size:16px;font-weight:700;color:var(--teal)}.tp-status-value.over{color:var(--error)}.tp-budget-bar{width:100%;height:8px;border-radius:4px;background:var(--bg);border:.5px solid var(--border);overflow:hidden;margin:8px 0}.tp-budget-fill{height:100%;background:var(--success);transition:width .3s ease,background .3s ease}.tp-budget-fill.warning{background:#f59e0b}.tp-budget-fill.over{background:var(--error)}.tp-pace-text{font-size:12px;color:var(--muted);text-align:center}.tp-budget-redux{display:flex;flex-direction:column;gap:10px}.tp-redux-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tp-redux-col{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg);border:.5px solid var(--border);border-radius:10px;text-align:center}.tp-redux-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.tp-redux-value{font-size:18px;font-weight:700;color:var(--teal)}.tp-redux-note{font-size:11px;color:var(--muted)}.tp-redux-alert{font-size:11px;color:var(--muted);background:#1d7a6e14;border:.5px solid rgba(29,122,110,.2);border-radius:8px;padding:8px 10px;line-height:1.4}.tp-calc-section{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:.5px solid var(--border)}.tp-calc-section:first-of-type{padding-top:0;border-top:none}.tp-calc-label{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--ink)}.tp-input-tiny{display:flex;align-items:center;gap:6px}.tp-input-tiny input{width:50px;padding:5px 8px;border:.5px solid var(--border);border-radius:8px;background:var(--bg);font-size:14px;font-weight:600;color:var(--ink);outline:none;font-family:inherit;text-align:center}.tp-input-tiny input:focus{border-color:var(--teal)}.tp-input-tiny span{font-size:13px;font-weight:600;color:var(--muted)}.tp-calc-examples{display:flex;flex-direction:column;gap:6px}.tp-calc-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:10px;font-size:12px;padding:6px 8px;background:var(--bg);border-radius:8px}.tp-calc-row>span:first-child{font-weight:600;color:var(--muted)}.tp-calc-result{color:var(--teal);font-weight:600}.tp-calc-row>span:last-child{font-weight:700;color:var(--ink)}.tp-tipping{background:var(--bg);border:.5px solid var(--border);border-radius:12px;padding:14px;text-align:center}.tp-tipping-country{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}.tp-tipping-tip{font-size:28px;font-weight:700;color:var(--teal);margin-bottom:4px}.tp-tipping-note{font-size:12px;color:var(--muted);line-height:1.5}.tp-pie-chart{width:160px;height:160px;margin:0 auto;display:block}.tp-breakdown{display:flex;flex-direction:column;gap:8px}.tp-breakdown-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg);border-radius:8px}.tp-breakdown-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.tp-breakdown-label{flex:1;min-width:0}.tp-breakdown-category{font-size:12px;font-weight:600;color:var(--ink)}.tp-breakdown-percent{font-size:10px;color:var(--muted);margin-top:2px}.tp-breakdown-amount{font-size:12px;font-weight:700;color:var(--teal);white-space:nowrap}.tp-emergency{display:flex;flex-direction:column;gap:0;background:var(--bg);border-radius:12px;overflow:hidden;border:.5px solid var(--border)}.tp-emergency-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:.5px solid var(--border)}.tp-emergency-row:last-child{border-bottom:none}.tp-emergency-label{font-size:12px;font-weight:600;color:var(--ink)}.tp-emergency-number{font-size:13px;font-weight:700;color:var(--error);font-family:Courier New,monospace}.tp-info{font-size:12px;color:var(--muted);background:var(--teal-soft);border:.5px solid rgba(29,122,110,.2);border-radius:12px;padding:10px 12px;line-height:1.6}.tp-rate-select{width:100%;padding:10px 12px;border:.5px solid var(--border);border-radius:10px;background:var(--bg);font-size:12px;color:var(--ink);font-weight:500;outline:none;font-family:inherit;margin-bottom:10px}.tp-rate-select:focus{border-color:var(--teal)}.tp-rate-chart{width:100%;height:140px;margin:10px 0}.tp-rate-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:8px}.tp-rate-stat{display:flex;flex-direction:column;gap:2px;padding:8px;background:var(--bg);border-radius:8px;text-align:center}.tp-rate-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.tp-rate-value{font-size:13px;font-weight:700;color:var(--teal)}.rs-wrap{display:flex;flex-direction:column;min-height:100%}.rs-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:52px;border-bottom:.5px solid var(--border);flex-shrink:0;background:var(--bg)}.rs-back{background:none;border:none;font-size:14px;font-weight:600;color:var(--teal);cursor:pointer;padding:0;min-width:60px}.rs-title{font-size:15px;font-weight:600;color:var(--ink)}.rs-content{flex:1;display:flex;flex-direction:column;gap:20px;padding:16px 20px;overflow-y:auto}.rs-card{background:var(--bg-soft);border:.5px solid var(--border);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:12px}.rs-card-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.rs-input-row{display:flex;align-items:center;gap:10px}.rs-input{width:100px;padding:10px 14px;border:.5px solid var(--border);border-radius:12px;background:var(--bg);font-size:28px;font-weight:500;color:var(--ink);outline:none;font-family:inherit;text-align:center}.rs-input:focus{border-color:var(--teal)}.rs-pct-label{font-size:24px;font-weight:500;color:var(--muted)}.rs-quick-presets{display:flex;gap:6px;margin-top:4px}.rs-quick-btn{flex:1;padding:6px 0;border-radius:8px;border:.5px solid var(--border);background:var(--bg);font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s}.rs-quick-btn.active{background:var(--teal);color:#fff;border-color:var(--teal)}.rs-preview{font-size:12px;color:var(--teal);background:var(--teal-soft);border-radius:10px;padding:8px 12px;line-height:1.5}.rs-btn-row{display:flex;gap:8px}.rs-save-btn{flex:1;padding:12px;border-radius:12px;border:none;background:var(--teal);color:#fff;font-size:14px;font-weight:600;cursor:pointer;min-height:44px}.rs-save-btn:active{opacity:.85}.rs-clear-btn{padding:12px 16px;border-radius:12px;border:.5px solid var(--border);background:var(--bg);color:var(--error);font-size:13px;font-weight:600;cursor:pointer;min-height:44px}.rs-explainer{display:flex;flex-direction:column;gap:0;background:var(--bg-soft);border:.5px solid var(--border);border-radius:20px;overflow:hidden}.rs-explainer-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:14px 16px 10px}.rs-explainer-item{padding:12px 16px;border-top:.5px solid var(--border)}.rs-explainer-name{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:4px}.rs-explainer-desc{font-size:12px;color:var(--muted);line-height:1.6}.rs-group{display:flex;flex-direction:column;gap:6px}.rs-group-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;padding:0 4px}.rs-group-card{background:var(--bg-soft);border:.5px solid var(--border);border-radius:12px;overflow:hidden}.rs-row{display:flex;align-items:center;gap:8px;padding:13px 16px;width:100%;background:none;border:none;cursor:pointer;text-align:left;text-decoration:none;transition:background .15s}.rs-row:hover{background:var(--bg)}.rs-row-label{flex:1;font-size:14px;color:var(--ink)}.rs-row-value{font-size:13px;color:var(--muted);flex-shrink:0}.rs-row-chevron{font-size:18px;color:var(--muted);flex-shrink:0;margin-left:2px}.rs-row-divider{height:.5px;background:var(--border);margin:0 16px}.ob-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:9000;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;animation:obIn .25s ease}@keyframes obIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ob-screen{flex:1;display:flex;flex-direction:column;padding:0 24px 32px;max-width:480px;width:100%;margin:0 auto;box-sizing:border-box}.ob-back{background:none;border:none;font-size:13px;color:var(--muted);cursor:pointer;padding:0;display:flex;align-items:center;gap:4px;margin-bottom:20px}.ob-progress{display:flex;gap:6px;margin-bottom:24px}.ob-progress-seg{height:3px;border-radius:2px;flex:1;background:var(--border);transition:background .3s}.ob-progress-seg.done{background:var(--teal)}.ob-progress-seg.active{background:var(--teal);opacity:.4}.ob-title{font-size:20px;font-weight:700;color:var(--ink);margin-bottom:6px;letter-spacing:-.3px}.ob-subtitle{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:20px}.ob-hero{text-align:center;padding:40px 0 28px}.ob-hero-icon{width:72px;height:72px;border-radius:18px;overflow:hidden;margin:0 auto 20px;border:.5px solid var(--border)}.ob-hero-icon img{width:100%;height:100%;object-fit:cover}.ob-hero-title{font-size:24px;font-weight:700;color:var(--ink);letter-spacing:-.4px;margin-bottom:6px}.ob-hero-sub{font-size:14px;color:var(--muted)}.ob-option{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--bg);border:.5px solid var(--border);border-radius:14px;cursor:pointer;text-align:left;width:100%;margin-bottom:10px;transition:border-color .15s}.ob-option:hover{border-color:var(--teal)}.ob-option-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px}.ob-option-icon--fresh{background:var(--teal-soft);color:var(--teal)}.ob-option-text{flex:1}.ob-option-title{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:2px}.ob-option-desc{font-size:12px;color:var(--muted)}.ob-option-chevron{font-size:16px;color:var(--muted)}.ob-privacy{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--bg-soft);border-radius:10px;margin-top:4px}.ob-privacy-text{font-size:11px;color:var(--muted);line-height:1.5}.ob-search-wrap{position:relative;margin-bottom:12px}.ob-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:15px;color:var(--muted);pointer-events:none}.ob-search{width:100%;padding:10px 12px 10px 34px;border:.5px solid var(--border);border-radius:10px;font-size:14px;background:var(--bg-soft);color:var(--ink);box-sizing:border-box}.ob-search:focus{outline:none;border-color:var(--teal)}.ob-currency-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:260px;display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.ob-currency-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:.5px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s}.ob-currency-row:hover{border-color:var(--teal)}.ob-currency-row.selected{border-color:var(--teal);background:var(--teal-soft)}.ob-currency-flag{font-size:20px;flex-shrink:0}.ob-currency-name{flex:1;font-size:13px;color:var(--ink)}.ob-currency-check{color:var(--teal);font-size:16px}.ob-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.ob-preset-chip{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;border:.5px solid var(--border);background:var(--bg-soft);color:var(--muted);cursor:pointer;transition:all .15s}.ob-preset-chip.selected{background:var(--teal-soft);color:var(--teal);border-color:var(--teal)}.ob-input-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.ob-input{width:100%;padding:10px 12px;border:.5px solid var(--border);border-radius:10px;font-size:14px;background:var(--bg-soft);color:var(--ink);box-sizing:border-box;margin-bottom:10px}.ob-input:focus{outline:none;border-color:var(--teal)}.ob-preview{padding:10px 12px;background:var(--bg-soft);border-radius:10px;font-size:12px;color:var(--muted);margin-bottom:16px}.ob-field{margin-bottom:12px}.ob-date-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ob-primary-btn{width:100%;padding:14px;background:var(--teal);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:8px;transition:opacity .15s}.ob-primary-btn:disabled{opacity:.4;cursor:not-allowed}.ob-skip-btn{width:100%;padding:10px;background:none;border:none;font-size:13px;color:var(--muted);cursor:pointer}.ob-restore-card{background:var(--teal-soft);border:.5px solid var(--teal);border-radius:14px;padding:16px;margin-bottom:16px}.ob-restore-meta{font-size:12px;color:var(--muted);margin-top:4px}.app{display:contents}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--bg: #FFFFFF;--bg-soft: #F7F5F2;--bg-card: #F2F0ED;--ink: #1C1A16;--muted: #6E6A62;--border: rgba(28,26,22,.12);--teal: #1D7A6E;--teal-soft: rgba(29,122,110,.1);--error: #C94F3A;--success: #2D8B77;--shadow: rgba(28,26,22,.07);--header-h: 52px;--tabbar-h: 56px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #161412;--bg-soft: #1F1D1A;--bg-card: #272421;--ink: #F0EDE8;--muted: #8A857C;--border: rgba(240,237,232,.1);--teal: #2D9E8F;--teal-soft: rgba(45,158,143,.12);--error: #E06050;--success: #3DAF96;--shadow: rgba(0,0,0,.3)}}:root[data-theme=dark]{--bg: #161412;--bg-soft: #1F1D1A;--bg-card: #272421;--ink: #F0EDE8;--muted: #8A857C;--border: rgba(240,237,232,.1);--teal: #2D9E8F;--teal-soft: rgba(45,158,143,.12);--error: #E06050;--success: #3DAF96;--shadow: rgba(0,0,0,.3)}:root[data-theme=light]{--bg: #FFFFFF;--bg-soft: #F7F5F2;--bg-card: #F2F0ED;--ink: #1C1A16;--muted: #6E6A62;--border: rgba(28,26,22,.12);--teal: #1D7A6E;--teal-soft: rgba(29,122,110,.1);--error: #C94F3A;--success: #2D8B77;--shadow: rgba(28,26,22,.07)}html,body{height:100%;background:var(--bg-soft);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;color:var(--ink);overscroll-behavior:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}#root{height:100%;display:flex;flex-direction:column}.app-shell{position:relative;width:100%;max-width:480px;margin:0 auto;height:100%;background:var(--bg);box-shadow:0 0 40px var(--shadow)}.app-header{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;z-index:200;height:calc(var(--header-h) + var(--safe-top));padding-top:var(--safe-top);background:var(--bg);border-bottom:.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding-left:20px;padding-right:20px;box-sizing:border-box}.app-header-brand{display:flex;align-items:center;gap:8px;cursor:pointer}.app-header-icon{width:28px;height:28px;border-radius:7px;overflow:hidden;flex-shrink:0}.app-header-icon img{width:100%;height:100%;object-fit:cover}.app-header-name{font-size:17px;font-weight:600;color:var(--ink);letter-spacing:-.3px}.app-header-dot{width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0}.app-header-dot.offline{background:var(--error)}.app-header-gear{width:34px;height:34px;border-radius:50%;background:var(--bg-soft);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:17px;transition:background .15s;flex-shrink:0}.app-header-gear:hover{background:var(--teal-soft);color:var(--teal)}.app-header-gear.active{color:var(--teal);background:var(--teal-soft)}.app-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-top:calc(var(--header-h) + var(--safe-top));padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 16px)}.screen{padding:16px 20px;animation:screenIn .2s ease}@keyframes screenIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.app-tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;z-index:200;height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--bg);border-top:.5px solid var(--border);display:flex;align-items:stretch;box-sizing:border-box}.tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;cursor:pointer;padding:0;color:var(--muted);transition:color .15s;min-height:44px}.tab-btn.active{color:var(--teal)}.tab-icon{font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center}.tab-label{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tab-badge{position:absolute;top:6px;right:calc(50% - 18px);background:var(--teal);color:#fff;font-size:9px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.offline-bar{position:fixed;top:calc(var(--header-h) + var(--safe-top));left:50%;transform:translate(-50%);width:100%;max-width:480px;z-index:199;background:var(--error);color:#fff;text-align:center;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:6px 20px;box-sizing:border-box}.update-bar{position:fixed;top:calc(var(--header-h) + var(--safe-top));left:50%;transform:translate(-50%);width:100%;max-width:480px;z-index:199;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:8px 20px;font-size:13px;font-weight:500;box-sizing:border-box;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translate(-50%) translateY(-100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.update-bar-btn{background:#fff;color:var(--teal);border:none;border-radius:20px;padding:5px 14px;font-size:12px;font-weight:700;cursor:pointer}.theme-switch-track{width:40px;height:24px;border-radius:12px;background:var(--bg-soft);border:.5px solid var(--border);position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}.theme-switch-track.on{background:var(--teal)}.theme-switch-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #00000040}.theme-switch-track.on .theme-switch-thumb{transform:translate(16px)}
