.login-app-actions{display:flex;justify-content:center;gap:1rem;margin-top:1.3rem;flex-wrap:wrap}
.login-app-actions button{background:none;border:0;color:var(--mint);cursor:pointer;font:inherit;font-size:.85rem;padding:.5rem}
.public-app-version{text-align:center;color:var(--muted);font-size:.7rem;margin:.65rem 0 0}
.pwa-dialog{width:min(700px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:22px;background:var(--panel);color:var(--text);box-shadow:var(--shadow);overflow:hidden}
.pwa-dialog[open]{display:flex;flex-direction:column}.pwa-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.pwa-dialog-header,.pwa-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.4rem;flex:none}
.pwa-dialog-header{border-bottom:1px solid var(--line)}.pwa-dialog-header h2{margin:.2rem 0;font-size:1.25rem}.pwa-dialog-header .eyebrow{margin:0}
.pwa-dialog-header>button{border:1px solid var(--line);border-radius:50%;width:36px;height:36px;background:var(--panel-strong);color:var(--text);font-size:1.4rem;cursor:pointer;flex:none}
.pwa-dialog-scroll{padding:1.3rem 1.4rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;min-height:0}
.pwa-dialog-footer{border-top:1px solid var(--line);justify-content:flex-end;flex-wrap:wrap}.pwa-dialog-footer button{min-height:44px}
.release-summary{background:var(--panel-strong);border:1px solid var(--line);border-radius:16px;padding:1.1rem;margin-bottom:1.2rem}.release-summary h3{margin:.2rem 0 .5rem}.release-summary p{margin:.4rem 0;color:var(--muted);line-height:1.9}.release-version{display:inline-block;direction:ltr;font-variant-numeric:tabular-nums;color:var(--mint);font-weight:700}
.release-feature{border:1px solid var(--line);border-radius:14px;margin:.8rem 0;background:var(--bg)}.release-feature>summary{cursor:pointer;padding:1rem;list-style-position:inside;font-weight:700;line-height:1.8}.release-feature>summary::marker{color:var(--mint)}.release-feature-content{padding:0 1.1rem 1.1rem;line-height:1.95}.release-feature-content p{margin:0 0 .75rem;color:var(--muted)}.release-feature-content ol{padding-inline-start:1.3rem;margin:0}.release-feature-content li{padding-inline-start:.25rem;margin:.45rem 0}
.release-history-title{margin-top:1.8rem}.release-history{border-top:1px solid var(--line);padding:.8rem 0}.release-history summary{cursor:pointer;display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0}.release-history ul{padding-inline-start:1.2rem;color:var(--muted);line-height:1.9;font-size:.86rem;overflow-wrap:anywhere}.release-history time{color:var(--muted);font-size:.8rem}.release-history li{margin:.5rem 0}
.app-update-banner{position:fixed;inset-inline:1rem;inset-block-end:calc(86px + env(safe-area-inset-bottom));z-index:160;max-width:650px;margin-inline:auto;display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;padding:1rem;background:var(--panel-strong);color:var(--text);border:1px solid var(--mint);border-radius:16px;box-shadow:var(--shadow);font-size:.85rem}.app-update-banner[hidden]{display:none}.app-update-banner button{font:inherit;color:var(--mint);background:transparent;border:1px solid var(--line);border-radius:9px;min-height:36px;cursor:pointer;padding:.35rem .65rem}.app-update-banner>span{flex:1 1 200px}
.install-dialog{max-width:500px}.install-app-icon{display:block;margin:0 auto 1rem;border-radius:20px}.install-dialog h3{text-align:center}.install-dialog p{color:var(--muted);line-height:1.9}.install-platforms{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;margin:1rem 0}.install-platforms button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:.65rem .9rem;color:var(--text);background:var(--bg)}.install-platforms button[aria-pressed=true]{border-color:var(--mint);color:var(--mint);background:var(--panel-strong)}.install-steps{padding-inline-start:1.5rem;line-height:1.95}.install-steps li{margin:.8rem 0}.app-address{text-align:center}.app-address a{color:var(--mint)}
body:has(#login-screen:not([hidden])) .app-update-banner{position:static;max-width:min(650px,calc(100vw - 24px));margin:0 auto 1rem}
@media(max-width:600px){.pwa-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 18px);border-radius:18px}.pwa-dialog-header,.pwa-dialog-footer{padding:1rem}.pwa-dialog-scroll{padding:1rem}.pwa-dialog-footer button{flex:1}.app-update-banner{inset-inline:.5rem}.pwa-dialog-header h2{font-size:1.1rem}}
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top)}.topbar{padding-top:max(.5rem,env(safe-area-inset-top))}.bottom-nav{padding-bottom:max(.4rem,env(safe-area-inset-bottom))}}
.transaction-row{cursor:pointer}.transaction-row:hover,.transaction-row:focus-visible{background:var(--panel-strong);outline:1px solid var(--mint)}
.transaction-note-dialog{max-width:560px}.transaction-note-section{border-top:1px solid var(--line);padding-top:1.2rem;margin-top:1rem}.transaction-note-section>label{display:block;margin-bottom:.5rem;font-weight:700;cursor:text}
.transaction-note-editor{display:flex;gap:.6rem;align-items:flex-start;border:1px solid var(--line);border-radius:12px;background:var(--field-background);padding:.6rem}.transaction-note-editor:focus-within{border-color:var(--mint)}.transaction-note-editor textarea{border:0;background:transparent;resize:vertical;min-height:86px;padding:.3rem;flex:1;min-width:0;box-shadow:none;outline:none;color:var(--text);font:inherit;line-height:1.9}.transaction-note-editor textarea[readonly]{cursor:text;resize:none}
#transaction-note-edit{width:40px;min-height:40px;flex:none;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:1.5rem;cursor:pointer}#transaction-note-edit[data-editing=true]{color:#3b82f6;background:rgba(59,130,246,.12)}
#transaction-note-status{font-size:.8rem;color:var(--muted);line-height:1.8;min-height:1.6em}#transaction-note-conflict{border:1px solid var(--line);padding:.8rem;border-radius:9px}#transaction-note-conflict button{background:transparent;border:1px solid var(--mint);color:var(--mint);padding:.6rem;margin:.3rem;border-radius:8px;font:inherit;cursor:pointer}#transaction-note-server{white-space:pre-wrap;overflow-wrap:anywhere}
.transaction-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1rem 0}.transaction-details-grid dt{color:var(--muted)}.transaction-details-grid dd{margin:0;text-align:end;overflow-wrap:anywhere}.transaction-note-open{margin-top:.5rem}
