/* Progressive enhancement for browser and installed phone windows. */
[hidden]{display:none!important}
html{scroll-padding-top:100px;-webkit-text-size-adjust:100%}
body{min-height:100dvh}
#pwa-status{margin-bottom:22px}
.pwa-state-row{display:flex;align-items:center;margin-bottom:9px;min-height:32px}
.pwa-connection{display:flex;gap:7px;align-items:center;font-size:11px;color:#6d8077;line-height:1.5}
.pwa-connection>span{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#65a289}
.pwa-connection.is-offline{color:#966a1b}
.pwa-connection.is-offline>span{background:#b78331}
.pwa-app-identity img{border-radius:12px;flex-shrink:0}
.pwa-sidebar-entry{display:flex;margin-top:7px}
.apk-check-entry{display:flex;margin-top:7px}
.apk-download-update{text-decoration:none}
.apk-version-line{font-size:14px;line-height:1.8}
.apk-release-notes{padding-left:22px;font-size:14px;line-height:1.9;margin-top:12px}
.apk-update-visible #pwa-update{display:none!important}
.pwa-app-identity{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.pwa-app-identity p{font-size:12px;color:#7a8c81;margin-top:5px}
.pwa-apk-option{padding:18px;margin-bottom:24px;border:1px solid #bed4c7;border-radius:10px;background:#f0f7f3}
.pwa-apk-option h3,.pwa-method-title{font-size:15px;margin:0 0 10px}
.pwa-apk-option p{font-size:13px;line-height:1.8;margin:0 0 14px}
.pwa-apk-download{display:flex;justify-content:center;text-align:center;text-decoration:none;white-space:normal}
.pwa-apk-option small{display:block;font-size:11px;line-height:1.8;color:#6e8175;margin-top:10px}
.pwa-guide{margin:0;padding-left:24px;line-height:1.9;font-size:14px}
.pwa-guide li+li{margin-top:14px}
.pwa-info-note{margin-top:24px;padding:15px;background:#f3f6f3;border-radius:8px;font-size:12px;color:#6e8175;line-height:1.8}
.pwa-info-note p{margin-top:6px}
#pwa-update,#apk-update{position:fixed;z-index:45;bottom:24px;left:calc(50% + 100px);transform:translateX(-50%);display:flex;align-items:center;gap:15px;width:max-content;max-width:calc(100vw - 40px);padding:15px 17px;background:#fff;border:1px solid #bed4c7;border-radius:12px;box-shadow:0 8px 36px #173a3025}
#pwa-update strong,#pwa-update small,#apk-update strong,#apk-update small{display:block}
#pwa-update strong,#apk-update strong{font-size:13px}
#pwa-update small,#apk-update small{font-size:11px;color:#7b8e81;margin-top:5px}
#pwa-update .icon-btn{min-width:32px;min-height:32px;font-size:22px}
.sidebar{overflow-y:auto}
@media(max-width:760px){
  html{scroll-padding-top:calc(90px + env(safe-area-inset-top))}
  .topbar{height:auto;min-height:calc(64px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));gap:6px}
  .topbar .spacer{min-width:0}
  .topbar .sr-label,.topbar .profile{min-width:0}
  .topbar .top-select{font-size:16px;padding:9px 18px 9px 6px;width:100%;max-width:150px;min-height:44px}
  .topbar .profile .top-select{max-width:138px}
  .menu-btn{flex-shrink:0}
  .main{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:calc(110px + env(safe-area-inset-bottom))}
  .bottom-nav{height:auto;min-height:calc(64px + env(safe-area-inset-bottom));padding:4px max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left));background:#fffffff5;backdrop-filter:blur(12px)}
  .bottom-nav button{min-height:60px;min-width:44px}
  .btn,.btn.small,.btn.link,.icon-btn,.tab{min-height:44px}
  .icon-btn{min-width:44px}
  input:not([type=checkbox]):not([type=radio]),select,textarea,.field input,.field select,.field textarea,.filters input,.filters select{font-size:16px;min-height:44px}
  .sidebar{padding-top:calc(28px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}
  .sidebar-close{top:calc(4px + env(safe-area-inset-top))}
  html.mobile-menu-open,html.mobile-menu-open body{overflow:hidden}
  dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain}
  .modal-foot{padding-bottom:calc(17px + env(safe-area-inset-bottom))}
  #toast{bottom:calc(84px + env(safe-area-inset-bottom));left:50%}
  #pwa-status{margin-top:-9px;margin-bottom:19px}
  .pwa-connection{font-size:10px}
  #pwa-update,#apk-update{left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));max-width:none;width:auto;transform:none;gap:8px;padding:12px}
  #pwa-update>span,#apk-update>span{flex:1;min-width:0}
  #pwa-update .btn,#apk-update .btn{padding-inline:10px;flex-shrink:0}
}
@media(max-width:360px){
  .topbar .top-select{font-size:16px;max-width:130px;letter-spacing:-.5px}
  .topbar .profile .top-select{max-width:120px}
  .topbar{gap:3px;padding-inline:8px}
  .topbar .menu-btn{min-width:36px;padding:3px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
