/* Only the installed phone shell is changed; normal web remains unchanged. */
.app-navigation, .app-brand, .app-back { display: none; }
html.tlw-standalone-phone { --app-nav-space: calc(70px + env(safe-area-inset-bottom, 0px)); }
html.tlw-standalone-phone .shell { display: block; }
html.tlw-standalone-phone body.menu-open { overflow: hidden; }
html.tlw-standalone-phone .sidebar { position: fixed; left: -300px; top: 0; width: 264px; max-width: calc(100vw - 46px); box-shadow: 12px 0 35px #0003; }
html.tlw-standalone-phone .menu-open .sidebar { left: 0; }
html.tlw-standalone-phone .sidebar-collapse { display: none; }
html.tlw-standalone-phone .menu-close { display: inline-grid; place-items: center; }
html.tlw-standalone-phone .sidebar :is(a,button,summary) { min-height: 44px; }
html.tlw-standalone-phone .menu-overlay { position: fixed; inset: 0; z-index: 35; display: block; border: 0; border-radius: 0; background: #050c0e85; opacity: 0; pointer-events: none; }
html.tlw-standalone-phone .menu-open .menu-overlay { opacity: 1; pointer-events: auto; }
html.tlw-standalone-phone .topbar { gap: 8px; min-height: 58px; padding: calc(6px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 6px max(16px,env(safe-area-inset-left,0px)); }
html.tlw-standalone-phone .topbar :is(.menu,.topbar-actions,.global-search), html.tlw-standalone-phone .topbar-title small { display: none; }
html.tlw-standalone-phone .topbar-title { flex: 1; min-width: 0; text-align: right; }
html.tlw-standalone-phone .topbar-title strong { font-size: 13px; line-height: 1.3; }
html.tlw-standalone-phone .app-brand { display: flex; align-items: center; min-height: 44px; flex-shrink: 0; }
html.tlw-standalone-phone .app-brand img { width: 100px; height: 37px; object-fit: contain; background: #fff; border-radius: 4px; padding: 3px; }
html.tlw-standalone-phone .app-back { display: grid; place-items: center; min-width: 44px; min-height: 44px; color: var(--ink); font-size: 23px; }
html.tlw-standalone-phone .content { padding: 18px max(16px,env(safe-area-inset-right,0px)) calc(24px + var(--app-nav-space)) max(16px,env(safe-area-inset-left,0px)); }
html.tlw-standalone-phone .app-navigation:not([hidden]) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); position: fixed; inset: auto 0 0; z-index: 31; min-height: var(--app-nav-space); padding: 5px max(12px,env(safe-area-inset-right,0px)) calc(5px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px)); background: var(--panel); border-top: 1px solid var(--line); }
html.tlw-standalone-phone .app-navigation :is(a,button) { min-width: 0; min-height: 48px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; margin: 0; padding: 5px; border: 0; background: transparent; color: var(--muted); font: inherit; font-size: 12px; font-weight: 500; border-radius: 5px; text-decoration: none; }
html.tlw-standalone-phone .app-navigation svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
html.tlw-standalone-phone .app-navigation :is([aria-current=page],:hover) { color: var(--ink); background: var(--surface-subtle); }
html.tlw-standalone-phone :is(.app-navigation a,.app-navigation button,.app-back,.app-brand):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
html.tlw-standalone-phone :is(.app-brand,.app-back) { text-decoration: none; }
html.tlw-standalone-phone .app-message { bottom: calc(var(--app-nav-space) + 12px); }
html.tlw-standalone-phone .content :is(input,select,textarea) { font-size: 16px; }
html.tlw-standalone-phone .content :is(button,.button,input[type=submit],input[type=button]) { min-height: 44px; }
html.tlw-standalone-phone .records { position: static; max-height: none; }
html.tlw-standalone-phone.tlw-keyboard-open .app-navigation { display: none; }
html.tlw-standalone-phone.tlw-keyboard-open .content { padding-bottom: 24px; }
html.tlw-standalone-phone.tlw-keyboard-open .app-message { bottom: 12px; }
@media (orientation:landscape) and (max-height:520px) {
 html.tlw-standalone-phone { --app-nav-space: calc(56px + env(safe-area-inset-bottom,0px)); }
 html.tlw-standalone-phone .app-navigation :is(a,button) { flex-direction: row; min-height: 44px; gap: 8px; }
}
/* Public offline document: no account/session data is present. */
.offline-page { color-scheme: light dark; margin: 0; background: #f7f8fa; color: #252b34; font: 16px/1.6 system-ui,sans-serif; }
.offline-page main { box-sizing: border-box; max-width: 440px; margin: 12vh auto; padding: max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)); }
.offline-page img { width: 160px; height: auto; background: white; border-radius: 4px; padding: 4px; }
.offline-page h1 { font-size: 24px; margin-top: 32px; }
.offline-page button { min-height: 44px; padding: 10px 18px; font: inherit; border: 1px solid currentColor; border-radius: 5px; color: inherit; background: transparent; cursor: pointer; }
.offline-page [hidden] { display: none; }
@media (prefers-color-scheme:dark) { .offline-page { background: #171b21; color: #e3e7ef; } }
@media print { .app-navigation,.app-brand,.app-back { display: none !important; } }
