/* Additive shell adaptation; business grids, navigation and saved forms keep their layout. */
body { padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
.shell, .login { min-height: 100dvh; }
dialog { max-height: min(90dvh, calc(var(--pwa-visible-height, 100dvh) - 32px)); overflow-y: auto; }
#toast { top: calc(18px + env(safe-area-inset-top)); bottom: auto; height: max-content; }
.sidebar { height: 100dvh; }
.brand-logo { display: block; width: 76px; height: 76px; object-fit: contain; }
.login-brand .brand-logo { width: 112px; height: 112px; }
#pwa-tools { padding: 8px 16px; color: var(--ink); background: var(--paper); font-size: 13px; }
#pwa-tools [hidden] { display: none; }
#pwa-network, #pwa-notification { padding: 10px; border: 1px solid var(--line); margin-bottom: 6px; }
#pwa-network { border-left: 3px solid var(--clay); }
#pwa-notification { border-left: 3px solid var(--green); }
#pwa-update{position:fixed;inset:0;margin:auto;width:min(380px,calc(100vw - 40px));max-height:calc(var(--pwa-visible-height,100dvh) - 32px);padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--white);color:var(--ink);box-shadow:0 16px 60px #0003}
#pwa-update::backdrop{background:#17251dcc;backdrop-filter:blur(3px)}
#pwa-update h2{margin:0 0 12px;font-size:22px}
#pwa-update p{margin:0 0 22px;line-height:1.7;font-size:15px}
#pwa-update button{width:100%;min-height:44px;font-size:15px}
#pwa-tools button { font-size: 13px; }
#pwa-install { max-width: 640px; }
#pwa-install summary { cursor: pointer; color:var(--ink); }
#pwa-install p { line-height: 1.6; }
@media (max-width: 640px) {
  .pwa-keyboard dialog[open] { top: calc(var(--pwa-visible-top, 0px) + 16px); bottom: auto; margin-block: 0; }
  .sidebar { height: auto; }
  input, select, textarea { font-size: 16px; }
}
