/* Mobile application shell. The desktop portal keeps its existing navigation. */
.mobile-bottom-nav{display:none}
.pwa-install{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 11px;border:1px solid var(--accent);border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--txt);font:600 12px/1 'Segoe UI',Tahoma,sans-serif;cursor:pointer}
.pwa-install:hover{background:color-mix(in srgb,var(--accent) 22%,var(--card))}
.pwa-install[hidden]{display:none}
@media(max-width:800px){
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom));overflow-x:hidden}
  body.guest{padding-bottom:0}
  body.guest .mobile-bottom-nav{display:none}
  .menu-toggle,.sidebar,.sidebar-backdrop{display:none!important}
  .workspace{margin-left:0;min-width:0}
  .topbar{position:sticky;top:0;z-index:50;min-height:64px;height:auto;padding:10px 13px;background:color-mix(in srgb,var(--card) 92%,transparent);box-shadow:0 1px 0 color-mix(in srgb,var(--line) 80%,transparent),0 7px 20px rgb(0 0 0 / 10%);backdrop-filter:blur(18px)}
  .topbar>.toolbar{min-width:0;flex-wrap:nowrap;gap:7px}
  .topbar>.toolbar:first-child{flex:1}
  .topbar>.toolbar:last-child{flex:0 0 auto}
  .menu-toggle{width:40px;height:40px;padding:0;font-size:0;border-radius:11px}
  .menu-toggle:before{content:'☰';font-size:18px;line-height:1}
  .site-selector{min-width:0;max-width:calc(100vw - 60px)}
  .site-selector select{width:100%;min-height:40px;padding:8px 28px 8px 10px;border-radius:10px;font-size:12px;text-overflow:ellipsis}
  .theme-toggle{width:40px;height:40px;padding:0;border-radius:11px;justify-content:center}
  .theme-toggle [data-theme-label],.identity,.account-link{display:none}
  .avatar{width:36px;height:36px;flex:0 0 36px}
  main{max-width:none;padding:20px 14px 8px}
  main>*{min-width:0}
  .hero,.dashboard-heading{margin-bottom:16px}
  h1{font-size:25px;line-height:1.15}
  .panel{padding:15px;border-radius:14px;margin-bottom:14px}
  .section-title{align-items:flex-start;margin-bottom:13px}
  .section-title h2{font-size:17px}
  .btn{min-height:44px;padding:10px 13px;border-radius:10px}
  input,select,textarea{font-size:16px!important}
  .toolbar input,.toolbar select,.form input,.form select,.form textarea{min-height:44px}
  .table-wrap{margin-inline:-3px;max-width:calc(100% + 6px);overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:620px}
  .cedis-footer{display:none}
  .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:7px 7px calc(7px + env(safe-area-inset-bottom));border-top:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 -8px 25px rgb(0 0 0 / 15%);backdrop-filter:blur(18px)}
  .mobile-nav-item{display:flex;min-width:0;min-height:52px;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:5px 2px;border-radius:12px;color:var(--muted);font-size:10px;font-weight:650;text-decoration:none;-webkit-tap-highlight-color:transparent}
  .mobile-nav-item svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-nav-item span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}
  .mobile-nav-item.is-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent)}
  .mobile-nav-item:active{transform:scale(.96)}
  .mobile-more-button{border:0;background:transparent;font:inherit;cursor:pointer}
  .mobile-more-sheet{display:none;position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,560px);max-width:none;max-height:min(78dvh,680px);overflow:auto;padding:16px 18px calc(22px + env(safe-area-inset-bottom));border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;background:var(--card);color:var(--txt);box-shadow:0 -18px 48px rgb(0 0 0 / 25%)}
  .mobile-more-sheet[open]{display:block}
  .mobile-more-sheet::backdrop{background:rgb(0 0 0 / 56%);backdrop-filter:blur(2px)}
  .mobile-more-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
  .mobile-more-head h2{margin:0;font-size:17px}
  .mobile-more-head button{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--txt);font-size:24px;cursor:pointer}
  .mobile-more-links nav{display:grid;gap:4px;padding-top:10px}
  .mobile-more-links .nav-group{border-top:1px solid var(--line)}
  .mobile-more-links .nav-group-toggle{min-height:46px;padding:7px 4px}
  .mobile-more-links .nav-group-links{margin:0 0 8px 12px;padding-left:10px;border-left:1px solid var(--line)}
  .mobile-more-links .nav-link{min-height:42px;padding:9px 10px}
  .toast{bottom:calc(82px + env(safe-area-inset-bottom));left:14px;right:14px;max-width:none}
  .dialog,.portal-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
}
.mobile-more-sheet{display:none}
@media(max-width:380px){
  .mobile-nav-item{font-size:9px}
  .mobile-nav-item svg{width:20px;height:20px}
  main{padding-inline:11px}
}
@media(prefers-reduced-motion:reduce){.mobile-nav-item:active{transform:none}}
.support-install-card{display:flex;align-items:center;gap:12px;margin:-3px 0 15px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--txt)}
.support-install-card[hidden]{display:none}
.support-install-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid var(--accent);border-radius:10px;color:var(--accent);font-size:21px}
.support-install-card strong{display:block;font-size:13px}.support-install-card p{margin:2px 0 8px;color:var(--muted);font-size:11px}.support-install-help{margin-left:6px;min-height:31px;padding:6px 10px;border:1px solid var(--accent);border-radius:8px;background:transparent;color:var(--accent);font:650 11px 'Segoe UI',Tahoma,sans-serif;cursor:pointer}.support-install-help[hidden]{display:none}
