/* The entire shell fits the current device viewport, including browser chrome
   changes. Tools keep their own scroll surfaces inside the remaining space. */
.app-body .app{min-height:100dvh}
body.toolmode .app{height:100dvh}
.app-body .side{height:100dvh}
.crm-install-nav{margin:4px 16px 12px;padding:11px 14px;min-height:44px;flex:none;text-align:left;border:1px solid var(--nav-section);border-radius:10px;background:var(--nav-bg);color:var(--nav-active);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}
.crm-install-nav:hover{background:var(--nav-active-bg);color:var(--nav-active)}
.crm-install-nav:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.crm-install{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--ink-1);overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 70px #0003}
.crm-install::backdrop{background:#101d35a6}
.crm-install [hidden]{display:none!important}
.crm-install-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.crm-install-head p{margin:0 0 8px;font-size:12px;color:var(--ink-2)}
.crm-install h2{font-size:28px;line-height:1.15;letter-spacing:-.025em;margin:0}
.crm-install p,.crm-install li{font-size:14px;line-height:1.6}
.crm-install .btn{min-height:44px}
.crm-install details{margin:12px 0;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--paper);color:var(--ink-1)}
.crm-install summary{cursor:pointer;font-size:15px;font-weight:600;min-height:24px}
.crm-install ol{padding-left:22px;margin:14px 0 0}
.crm-install li+li{margin-top:8px}
.crm-install-note{color:var(--ink-2);margin-bottom:0}
#crmInstallStatus:empty{display:none}
@media(max-width:600px){.crm-install{padding:20px}.crm-install h2{font-size:24px}}
@media(display-mode:standalone){
  .app-body .app{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .app-body .side{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  body .apptop,body.toolmode .apptop{padding-top:env(safe-area-inset-top);height:calc(64px + env(safe-area-inset-top));flex-basis:calc(64px + env(safe-area-inset-top))}
  .app-body .dock{bottom:env(safe-area-inset-bottom);left:calc(240px + env(safe-area-inset-left));right:env(safe-area-inset-right)}
  body.toolmode .toolframe{margin-bottom:calc(26px + env(safe-area-inset-bottom))}
  .app-body .appbody{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  @media(max-width:900px){.app-body .dock{left:env(safe-area-inset-left)}}
  @media(max-width:760px){body .apptop,body.toolmode .apptop{height:calc(60px + env(safe-area-inset-top));flex-basis:calc(60px + env(safe-area-inset-top))}}
}
