/* YUKSALISH_APP_SCREEN_20261009: one viewport, one module scroller. */
html,body{width:100%;height:100%;min-width:0;overflow-x:hidden}
.shell{height:100vh;height:100dvh;min-height:0;overflow:hidden;grid-template-rows:minmax(0,1fr)}
.sidebar{height:100vh;height:100dvh;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom));overscroll-behavior:contain}
.main{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}
.topbar{flex:none;position:relative;min-height:72px;height:calc(72px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
.topbar h1{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar .status{margin-left:0;flex:none;white-space:nowrap}
.dashboard-tabs{flex:none;padding-bottom:12px;position:relative;top:auto}
#frameHost.frame-host{flex:1;min-height:0;min-width:0;width:100%;max-width:none;margin:0;padding:0!important;overflow:hidden}
#frameHost .module-frame,#frameHost .module-frame.no-tabs{height:100%!important;width:100%!important;max-width:none!important;margin:0;border:0;border-radius:0;display:block;touch-action:pan-x pan-y pinch-zoom}
.app-screen-action{flex:none;width:38px;height:38px;border:1px solid #e3e5ea;background:#fff;color:#303642;border-radius:11px;cursor:pointer;font-size:21px;line-height:1}
.app-screen-action[hidden]{display:none}
.app-screen-action[data-app-fullscreen][aria-pressed="true"]{border-color:#c91335;box-shadow:0 0 0 1px #c91335}
html:fullscreen,html:-webkit-full-screen{width:100%;height:100%;background:var(--yu-bg,#0b1627)}
html:fullscreen .shell,html:-webkit-full-screen .shell{height:100vh;height:100dvh;width:100%;max-width:none}
.app-install-dialog{width:min(92vw,440px);border:1px solid #dce1e9;border-radius:22px;padding:24px;background:#fff;color:#172033;box-shadow:0 24px 90px #0005;line-height:1.6}
.app-install-dialog::backdrop{background:#0008}
.app-install-dialog h2{margin:0 0 12px;font-size:23px}.app-install-dialog p{margin:10px 0}
.app-install-dialog button{min-height:44px;width:100%;margin-top:12px;border:0;border-radius:12px;padding:10px 16px;background:#ef173b;color:#fff;font-weight:800;cursor:pointer}
.app-install-dialog .app-close{background:#eef1f5;color:#303642}
.app-message{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:100;width:min(92vw,430px);padding:14px 18px;background:#182135;color:#fff;border-radius:15px;box-shadow:0 10px 40px #0004;font-size:14px;line-height:1.5}
.login{min-height:100vh;min-height:100dvh;padding-top:max(22px,env(safe-area-inset-top));padding-bottom:max(22px,env(safe-area-inset-bottom))}
.login-app-actions{display:flex;gap:10px;justify-content:center;margin-top:16px}.login-app-actions button{min-height:44px;border:1px solid #424650;border-radius:12px;background:#191d27;color:#e7ebf2;padding:10px 14px;cursor:pointer}
@media(max-width:900px){
 .topbar{min-height:58px;height:calc(58px + env(safe-area-inset-top));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));gap:8px}
 .topbar h1{font-size:18px}.menu-btn{height:40px;width:40px;flex:none;border-radius:11px}
 .dashboard-tabs{padding:8px 10px 10px;gap:8px}.dash-tab{min-height:42px;padding:8px 18px}
 .app-screen-action{width:34px;height:36px}.topbar .status{padding:7px 9px;font-size:11px}
 .shell{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:379px){.topbar .status{display:none}}
@media(display-mode:standalone),(display-mode:fullscreen){[data-app-install]{display:none!important}}
