/* v0.12: phone ergonomics, without caching financial data offline. */
.connection-status{position:fixed;z-index:1100;top:12px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px);width:max-content;padding:10px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface,#fffdf8);box-shadow:0 8px 30px #1c38231a;display:flex;align-items:center;gap:10px;font-size:.84rem;line-height:1.55}
.connection-status[data-kind=loading]::before{content:'';width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:connection-spin .8s linear infinite;flex-shrink:0}
.connection-status[hidden]{display:none}.connection-status[data-kind=error]{border-color:var(--danger,#ae654c)}@keyframes connection-spin{to{transform:rotate(360deg)}}
.mobile-help-dialog{width:min(650px,calc(100vw - 20px));max-width:calc(100vw - 20px)}.mobile-help-dialog code,#help-view code{overflow-wrap:anywhere;white-space:normal}.mobile-help-dialog ol,#help-view ol{padding-left:22px;line-height:1.8}#help-view .settings-card{margin-bottom:20px}#help-view p{line-height:1.8}.release-note{padding:15px 0;border-bottom:1px solid var(--border)}.release-note summary{display:flex;justify-content:space-between;gap:14px;cursor:pointer;line-height:1.6}.release-note small{color:var(--muted)}.release-note ul{line-height:1.8}.recovery-command{font-family:ui-monospace,Consolas,monospace;font-size:.8rem}.release-history #recovery-instructions{margin-top:18px}.release-history .panel-title{padding:0 0 16px;border:0}.release-history #recovery-point{max-width:100%}
.function-search{margin:0 0 20px}#all-functions-dialog .all-functions-grid button{justify-content:flex-start;text-align:left;gap:12px;min-height:54px}#all-functions-dialog .all-functions-grid button[hidden]{display:none}#all-functions-dialog>.button-row{margin-top:20px}#all-functions-dialog .all-functions-grid .icon{flex-shrink:0}.ledger-pagination label{display:flex;align-items:center;gap:8px;margin:0;font-size:.78rem}.ledger-pagination select{width:auto;min-height:42px}.ledger-pagination small{flex-basis:100%;text-align:center;color:var(--muted)}#expense-list{scroll-margin-top:88px}.back-to-top{position:fixed;right:24px;bottom:24px;z-index:65;border-radius:99px;box-shadow:0 4px 20px #18302715}.back-to-top[hidden],body:not(.signed-in) .back-to-top{display:none!important}#login-mobile-help{align-self:flex-start;margin-bottom:15px}#version-help{justify-content:flex-start;color:inherit}
@media(max-width:760px){body.signed-in{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.mobile-dock{padding-bottom:max(8px,env(safe-area-inset-bottom));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}header{padding-top:max(12px,env(safe-area-inset-top))}.connection-status{top:max(8px,env(safe-area-inset-top));width:calc(100vw - 24px);font-size:.8rem;flex-wrap:wrap}.connection-status button{min-height:40px}input,select,textarea{font-size:16px!important}button,.image-download{touch-action:manipulation}dialog{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px)}.dialog-actions{padding-bottom:max(12px,env(safe-area-inset-bottom))}#all-functions-dialog{width:calc(100vw - 20px);padding:20px;overflow:auto}#all-functions-dialog .all-functions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#all-functions-dialog .all-functions-grid button{font-size:.8rem;padding:12px;min-width:0}#all-functions-dialog .all-functions-grid span{overflow-wrap:anywhere}.back-to-top{right:16px;bottom:calc(94px + env(safe-area-inset-bottom));min-height:44px;font-size:.8rem}.release-note summary{flex-direction:column;gap:3px}.ledger-pagination{gap:8px;flex-wrap:wrap;padding:12px}.ledger-pagination button{min-height:44px}.mobile-help-dialog{padding:20px}.mobile-help-dialog h2{font-size:1.1rem}#help-view .settings-card{padding:20px}.recovery-command{font-size:13px!important}#expense-list{scroll-margin-top:80px}}
@media(prefers-reduced-motion:reduce){.connection-status::before{animation:none!important}html{scroll-behavior:auto!important}}
