/* Applied only when the Android wrapper identifies itself in its User-Agent. */
.native-fab,.native-admin-links,.native-update-panel{display:none}
body.native-app{background:#f4f6fa;padding-bottom:calc(70px + env(safe-area-inset-bottom));overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
.native-app .topbar{height:58px;padding:0 14px;gap:10px;position:sticky;box-shadow:0 2px 12px rgba(8,22,48,.2)}
.native-app .brand{min-width:0;flex:1;gap:8px}
.native-app .brand:before{content:'▦';display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#d8b66d;color:#112443;font-size:21px;font-weight:900}
.native-app .brand strong{font-size:14px}
.native-app .mobile-menu,.native-app .pwa-nav,.native-app .apk-nav,.native-app nav [data-view="users"],.native-app nav [data-view="years"]{display:none!important}
.native-app #nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);gap:0;left:0;right:0;top:auto;bottom:0;height:calc(66px + env(safe-area-inset-bottom));padding:4px 5px env(safe-area-inset-bottom);background:#fff;border-top:1px solid #dce3ed;box-shadow:0 -6px 24px rgba(18,35,66,.1);z-index:90}
.native-app #nav .nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:2px;border:0;color:#77839a;font-size:9px;font-weight:700;line-height:1.1}
.native-app #nav .nav-link:before{display:block;font-size:20px;font-weight:400;line-height:22px}
.native-app #nav [data-view="dashboard"]:before{content:'⌂'}
.native-app #nav [data-view="entries"]:before{content:'＋'}
.native-app #nav [data-view="ledgers"]:before{content:'▤'}
.native-app #nav [data-view="reports"]:before{content:'▥'}
.native-app #nav [data-view="settings"]:before{content:'⚙'}
.native-app #nav .nav-link.active{color:#1f3d6b;background:#edf2fa;border-radius:10px}
.native-app .fy-switcher{margin:0}.native-app .fy-switcher span{display:none}.native-app .fy-switcher select{width:86px;margin:0;padding:6px 5px;background:#223556}
.native-app .user-menu{margin:0}.native-app .user-menu span{display:none}.native-app .user-menu button{padding:7px 8px;font-size:10px}
.native-app main{padding:20px 12px 24px;max-width:none}
.native-app h1{font-size:25px;letter-spacing:-.7px}.native-app h2{font-size:18px}
.native-app .page-heading{align-items:center;margin-bottom:17px}.native-app .page-heading .subtext{display:none}
.native-app .summary-grid{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}
.native-app .summary-card{padding:14px;border-radius:13px;min-height:118px}.native-app .summary-card strong{font-size:22px;margin:10px 0 4px}
.native-app .panel{border-radius:13px;box-shadow:0 5px 18px rgba(26,43,73,.06)}
.native-app .panel-head{padding:16px 14px 12px}
.native-app button,.native-app a,.native-app input,.native-app select{min-height:44px}
.native-app .entry-actions{grid-template-columns:1fr 1fr;gap:10px}.native-app .entry-action{min-height:86px;padding:13px}
.native-app .ledger-grid,.native-app .payment-grid,.native-app .route-grid,.native-app .statement-grid,.native-app .settings-grid,.native-app .accounting-report-grid,.native-app .user-grid,.native-app .year-grid{grid-template-columns:1fr}
.native-app .toolbar,.native-app .panel-toolbar,.native-app .report-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}.native-app .toolbar input,.native-app .toolbar select,.native-app .toolbar button,.native-app .report-controls label,.native-app .report-controls button{max-width:none;min-width:0;margin:0}
.native-app .table-wrap{overflow-x:auto;border-radius:0 0 13px 13px}.native-app table{min-width:620px}.native-app #dashboard table{min-width:480px}.native-app #dashboard th:nth-child(3),.native-app #dashboard td:nth-child(3){display:none}
.native-app .manager-overlay,.native-app .entry-overlay{align-items:end;padding:0}
.native-app .manager-dialog,.native-app .entry-dialog{width:100%;max-width:none;max-height:94vh;border-radius:20px 20px 0 0;overflow:auto}
.native-app .manager-form,.native-app .entry-card{grid-template-columns:1fr;padding:17px;gap:12px;box-shadow:none;border:0;margin:0}
.native-app .manager-form .full,.native-app .entry-card .wide{grid-column:auto}
.native-app .manager-actions,.native-app .entry-dialog-actions{position:sticky;bottom:0;background:#fff;padding-top:10px;z-index:2}
.native-app .app-dialog{border-radius:17px}
.native-fab{position:fixed;right:17px;bottom:calc(77px + env(safe-area-inset-bottom));z-index:80;width:56px;height:56px!important;min-height:56px!important;border:0;border-radius:50%;background:#233f6d;color:#fff;box-shadow:0 8px 20px rgba(22,44,82,.3);font-size:29px;line-height:1;cursor:pointer}
.native-app .native-fab{display:block}
.native-admin-links{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.native-app .native-admin-links{display:grid}.native-admin-links button{border:1px solid #dae2ee;border-radius:12px;background:#fff;color:#243b64;padding:12px;font-weight:700;text-align:left}.native-admin-links span{font-size:18px;margin-right:6px}
.native-app .native-update-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:14px;border:1px solid var(--mobile-line);border-radius:14px;background:#fff}.native-update-panel strong,.native-update-panel small{display:block}.native-update-panel strong{font-size:13px}.native-update-panel small{margin-top:3px;color:var(--mobile-muted);font-size:10px}.native-update-panel .button-link{white-space:nowrap;background:var(--mobile-navy);font-size:11px;padding:10px 13px}
.native-app.auth-page{padding:0;background:#071a35}.native-app .auth-shell{padding:20px;min-height:100dvh;background:linear-gradient(180deg,#071a35 0,#102b52 36%,#f4f6fa 36%)}.native-app .auth-panel{width:100%;border-radius:22px;padding:28px 22px;box-shadow:0 18px 50px rgba(4,15,35,.26)}.native-app .auth-brand:before{content:'▦';display:inline-grid;place-items:center;width:35px;height:35px;margin-right:9px;border-radius:9px;background:#d8b66d;color:#112443;font-size:24px;vertical-align:middle}
@media(max-width:380px){.native-app .summary-grid{grid-template-columns:1fr}.native-app .entry-actions{grid-template-columns:1fr}.native-app .fy-switcher select{width:78px}.native-app .brand strong{font-size:12px}}

/* Accounting Software mobile design — Android wrapper only */
body.native-app{--mobile-navy:#0b2b57;--mobile-navy-2:#123d74;--mobile-gold:#d7b45a;--mobile-ink:#152238;--mobile-muted:#718096;--mobile-line:#e4e9f0;--mobile-bg:#f6f8fb;background:var(--mobile-bg);color:var(--mobile-ink);padding-bottom:calc(72px + env(safe-area-inset-bottom));font-family:Inter,"Segoe UI",system-ui,sans-serif}
.native-app .topbar{height:68px;padding:0 15px;background:linear-gradient(135deg,var(--mobile-navy),var(--mobile-navy-2));box-shadow:none;border:0;gap:9px}
.native-app .brand{gap:10px;color:#fff}.native-app .brand:before{content:'R';width:36px;height:36px;border:1.5px solid var(--mobile-gold);border-radius:9px;background:transparent;color:var(--mobile-gold);font-size:21px;font-family:Georgia,serif}.native-app .brand strong{font-size:16px;font-weight:750}.native-app .brand small{display:block;color:#c7d3e2;font-size:9px;margin-top:1px;letter-spacing:.04em}
.native-app .fy-switcher select{width:84px;background:transparent;color:var(--mobile-gold);border:0;font-weight:750;font-size:11px;padding:6px 2px}.native-app .fy-switcher select option{color:var(--mobile-ink);background:#fff}
.native-app .user-menu{gap:4px}.native-app .user-menu button{width:34px;min-width:34px;height:34px;min-height:34px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-size:0}.native-app .user-menu button:before{font-size:15px}.native-app .native-update-button{display:grid;place-items:center;min-width:48px;height:34px;padding:0 7px;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:var(--mobile-gold);color:#152033;text-decoration:none;font-size:9px;font-weight:800}.native-app .native-settings{display:grid!important;place-items:center;font-size:15px!important}.native-app #logoutButton:before{content:'↪'}
.native-app #nav{grid-template-columns:repeat(4,1fr);height:calc(70px + env(safe-area-inset-bottom));padding:5px 8px env(safe-area-inset-bottom);border-top:1px solid var(--mobile-line);box-shadow:0 -5px 22px rgba(15,35,65,.08)}
.native-app #nav [data-view="settings"]{display:none!important}.native-app #nav .nav-link{font-size:10px;font-weight:650;color:#7b8799;background:transparent!important;border-radius:0}.native-app #nav .nav-link:before{font-size:19px;line-height:22px}.native-app #nav [data-view="dashboard"]:before{content:'⌂'}.native-app #nav [data-view="entries"]:before{content:'▤'}.native-app #nav [data-view="ledgers"]:before{content:'▥'}.native-app #nav [data-view="reports"]:before{content:'▦'}.native-app #nav .nav-link.active{color:var(--mobile-navy);position:relative}.native-app #nav .nav-link.active:after{content:'';position:absolute;top:1px;width:22px;height:3px;border-radius:3px;background:var(--mobile-gold)}
.native-app main{padding:18px 13px 28px}.native-app h1{font-size:24px;color:var(--mobile-ink);letter-spacing:-.55px}.native-app h2{color:var(--mobile-ink)}.native-app .eyebrow{color:#687890;font-size:9px;letter-spacing:.12em}.native-app .page-heading{margin-bottom:14px}.native-app .page-heading .primary{border-radius:11px;background:var(--mobile-navy);box-shadow:0 5px 13px rgba(11,43,87,.18);font-size:12px;padding:0 13px}
.native-app .summary-grid{grid-template-columns:1fr 1fr;gap:0;margin-bottom:13px;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,var(--mobile-navy),#174a86);box-shadow:0 8px 22px rgba(11,43,87,.18)}
.native-app .summary-card,.native-app .summary-card.accent{min-height:96px;padding:14px 15px;background:transparent!important;border:0;border-radius:0;color:#fff;box-shadow:none}.native-app .summary-card:first-child{grid-column:1/-1;min-height:108px;border-bottom:1px solid rgba(255,255,255,.25)}.native-app .summary-card:nth-child(2){border-right:1px solid rgba(255,255,255,.25)}.native-app .summary-card span{color:#d5dfec;font-size:10px}.native-app .summary-card strong{font-size:22px;margin:7px 0 3px;color:#fff}.native-app .summary-card:first-child strong{font-size:28px}.native-app .summary-card small{color:#b8c7da;font-size:9px}
.native-app .panel{border:1px solid #edf0f4;border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(19,42,72,.06)}.native-app .panel-head{padding:14px 13px 9px}.native-app .panel-head h2{font-size:15px}.native-app .text-button{color:var(--mobile-navy);font-size:11px}
.native-app table{min-width:0;width:100%}.native-app #dashboard table,.native-app #entries table{min-width:0}.native-app #dashboard thead,.native-app #entries thead{display:none}.native-app #dashboard tbody tr,.native-app #entries tbody tr{display:grid;grid-template-columns:68px minmax(0,1fr) auto;padding:10px 12px;border-top:1px solid var(--mobile-line);align-items:center}.native-app #dashboard tbody td,.native-app #entries tbody td{display:none;padding:0;border:0;font-size:10px}.native-app #dashboard tbody td:nth-child(1),.native-app #dashboard tbody td:nth-child(2),.native-app #dashboard tbody td:nth-child(4),.native-app #dashboard tbody td:nth-child(5){display:block}.native-app #dashboard tbody td:nth-child(4),.native-app #dashboard tbody td:nth-child(5){grid-column:3;text-align:right;font-size:12px;font-weight:750}.native-app #dashboard tbody td:nth-child(4){color:#178251}.native-app #dashboard tbody td:nth-child(5){color:#c84b3e}.native-app #entries tbody tr{grid-template-columns:70px minmax(0,1fr) auto}.native-app #entries tbody td:nth-child(1),.native-app #entries tbody td:nth-child(2),.native-app #entries tbody td:nth-child(5),.native-app #entries tbody td:nth-child(6),.native-app #entries tbody td:last-child{display:block}.native-app #entries tbody td:nth-child(5),.native-app #entries tbody td:nth-child(6){grid-column:3;text-align:right;font-weight:750}.native-app #entries tbody td:last-child{grid-column:1/-1;margin-top:6px}
.native-app .entry-actions{grid-template-columns:repeat(3,1fr);gap:8px}.native-app .entry-action{min-height:78px;padding:10px 6px;display:flex;flex-direction:column;justify-content:center;text-align:center;border-radius:14px;background:#fff}.native-app .entry-action span{font-size:17px}.native-app .entry-action strong{font-size:11px}.native-app .entry-action small{display:none}.native-app .journal-action{display:none}.native-app .income-action{background:#eaf8f0;color:#176c48}.native-app .expense-action{background:#fff0ee;color:#a84437}.native-app .transfer-action{background:#edf3fb;color:var(--mobile-navy)}
.native-app .toolbar,.native-app .panel-toolbar{grid-template-columns:1fr 1fr}.native-app #entrySearch,.native-app #ledgerSearch{grid-column:1/-1;border-radius:12px;background:#fff}.native-app .manager-dialog,.native-app .entry-dialog{border-radius:22px 22px 0 0;background:#fff}.native-app .entry-dialog-head,.native-app .manager-dialog-head{padding:15px 17px 12px}.native-app .manager-form,.native-app .entry-card{padding:14px 17px 18px}.native-app input,.native-app select{border-radius:10px}.native-app .entry-dialog-actions .primary,.native-app .manager-actions .primary{background:var(--mobile-navy);border-radius:11px}
.native-app .payment-grid,.native-app .ledger-grid,.native-app .route-grid{gap:9px}.native-app .payment-card,.native-app .ledger-card,.native-app .route-card{border-radius:14px;border-color:var(--mobile-line);box-shadow:none}.native-app .report-controls{grid-template-columns:1fr 1fr}.native-app .statement-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.native-app .statement-summary>div{border-radius:13px}.native-app .statement-grid,.native-app .accounting-report-grid{grid-template-columns:1fr 1fr;gap:9px}.native-app .statement-grid .panel,.native-app .accounting-report-grid .panel{min-height:125px;padding:14px}.native-app .statement-grid h2,.native-app .accounting-report-grid h2{font-size:14px}
.native-app .native-fab{right:16px;bottom:calc(82px + env(safe-area-inset-bottom));width:52px;height:52px!important;min-height:52px!important;background:var(--mobile-navy);border-radius:15px;box-shadow:0 7px 18px rgba(11,43,87,.28)}
.native-app.auth-page{background:var(--mobile-navy)}.native-app .auth-shell{background:linear-gradient(180deg,var(--mobile-navy) 0,#174a86 38%,var(--mobile-bg) 38%)}.native-app .auth-brand:before{content:'R';border:1px solid var(--mobile-gold);background:transparent;color:var(--mobile-gold);font-family:Georgia,serif}
@media(max-width:380px){.native-app .brand small{display:none}.native-app .brand strong{font-size:14px}.native-app .statement-grid,.native-app .accounting-report-grid{grid-template-columns:1fr}.native-app .entry-actions{grid-template-columns:repeat(3,1fr)}}

/* Mobile interaction corrections */
body.native-app{overflow-x:clip;overflow-y:auto!important;touch-action:pan-y;-webkit-overflow-scrolling:touch}
body.native-app.entry-dialog-open,body.native-app.manager-dialog-open{overflow-y:hidden!important}
.native-app .topbar{height:74px;padding-top:6px}
.native-app .manager-overlay,.native-app .entry-overlay{align-items:center;padding:16px 12px}
.native-app .manager-dialog,.native-app .entry-dialog{width:100%;max-width:none;max-height:calc(100dvh - 32px);border-radius:20px;overflow:auto}
.native-app .manager-dialog-head,.native-app .entry-dialog-head{border-radius:20px 20px 0 0}
.native-app #entries tbody tr{grid-template-columns:62px minmax(72px,1fr) 78px 84px;column-gap:5px}
.native-app #entries tbody td:nth-child(5),.native-app #entries tbody td:nth-child(6){grid-column:3;grid-row:1;text-align:right;font-weight:750}
.native-app #entries tbody td.empty-amount{display:none}
.native-app #entries tbody td:last-child{grid-column:4;grid-row:1;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.native-app #entries .row-actions a,.native-app #entries .row-actions button{display:grid;place-items:center;width:100%;min-width:0;height:30px;min-height:30px;padding:0 3px;border-radius:7px;font-size:9px}
.native-app #entries .row-actions .delete{font-size:16px}
@media(max-width:360px){.native-app #entries tbody tr{grid-template-columns:56px minmax(64px,1fr) 70px 76px;column-gap:3px}.native-app #entries .row-actions a,.native-app #entries .row-actions button{font-size:8px}}

/* WebView uses main as the single reliable vertical scrolling surface. */
html:has(body.native-app),body.native-app{height:100%;min-height:100%;overflow:hidden!important}
.native-app main{height:calc(100dvh - 74px);max-height:calc(100dvh - 74px);overflow-x:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding-bottom:calc(92px + env(safe-area-inset-bottom))}
.native-app main>.view{min-height:max-content}
.native-app .table-wrap{overflow:visible!important;touch-action:pan-y}
.native-app.entry-dialog-open main,.native-app.manager-dialog-open main,.native-app.entry-menu-open main{overflow-y:hidden}

.entry-type-overlay{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:18px;background:rgba(7,15,31,.58);opacity:0;visibility:hidden;transition:.16s ease}.entry-type-overlay.show{opacity:1;visibility:visible}.entry-type-dialog{width:min(420px,100%);background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(7,15,31,.3);overflow:hidden}.entry-type-head{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.entry-type-head h2{font-size:18px}.entry-type-head button{border:0;background:#eef1f7;color:#5c687e;width:34px;height:34px;border-radius:9px;font-size:22px}.entry-type-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:18px}.entry-type-options button{min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px 7px;color:var(--mobile-ink,#152238)}.entry-type-options span,.entry-type-options strong,.entry-type-options small{display:block}.entry-type-options span{width:36px;height:36px;margin:0 auto 9px;display:grid;place-items:center;border-radius:10px;font-size:19px}.entry-type-options strong{font-size:12px}.entry-type-options small{font-size:9px;color:#718096;margin-top:4px}.entry-type-options .income-choice span{background:#e5f5ed;color:#176343}.entry-type-options .expense-choice span{background:#fff0ed;color:#a43d2d}.entry-type-options .transfer-choice span{background:#edf2fa;color:#173e6c}
