/* Mobile-only navigation: one-tap canvases and an opaque native modal sheet. */
:root{--nini-safe-top:env(safe-area-inset-top,0px);--nini-safe-bottom:env(safe-area-inset-bottom,0px);--nini-safe-left:env(safe-area-inset-left,0px);--nini-safe-right:env(safe-area-inset-right,0px)}
.app-layout,.login-wrap-outer{height:100vh;height:100dvh}
.app-header{height:calc(48px + var(--nini-safe-top));padding-top:var(--nini-safe-top);padding-left:max(20px,var(--nini-safe-left));padding-right:max(20px,var(--nini-safe-right));box-sizing:border-box}
.work-area{padding-bottom:var(--nini-safe-bottom)}
.brand-logo.nini-login-brand{top:calc(24px + var(--nini-safe-top));left:max(28px,var(--nini-safe-left))}
.nini-mobile-canvas-bar{display:none}
.nini-mobile-sheet:not([open]){display:none}
.nini-mobile-sheet{position:fixed;inset:auto 0 0;margin:0 auto;width:100%;max-width:560px;max-height:calc(100vh - 24px);max-height:calc(100dvh - var(--nini-safe-top) - 24px);box-sizing:border-box;padding:10px max(18px,var(--nini-safe-right)) calc(16px + var(--nini-safe-bottom)) max(18px,var(--nini-safe-left));border:1px solid var(--border-color,#dce1e9);border-bottom:0;border-radius:24px 24px 0 0;background:var(--bg-card,#fff);color:var(--text-main,#172033);box-shadow:0 -12px 50px rgba(0,0,0,.16);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;font-family:inherit;outline:none}
.nini-mobile-sheet[open]{display:block}
.nini-mobile-sheet::backdrop{background:rgba(10,18,32,.48)}
.nini-mobile-sheet-grip{width:34px;height:4px;margin:0 auto 6px;border-radius:10px;background:var(--border-color-secondary,#dce1e9)}
.nini-mobile-sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.nini-mobile-sheet-heading h2{font-size:18px;line-height:1.4;font-weight:650;color:var(--text-main);margin:0}
.nini-mobile-sheet-heading>button{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;background:var(--surface-soft,#f6f7fa);color:var(--text-muted);border:1px solid var(--border-color);border-radius:50%;font-size:18px;cursor:pointer;touch-action:manipulation}
.nini-mobile-sheet-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.nini-mobile-sheet-links a{grid-column:span 3;display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:12px;border:1px solid var(--border-color);border-radius:13px;background:var(--bg-input,#fff);color:var(--text-muted);text-decoration:none;font-size:13px;line-height:1.5;box-sizing:border-box;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.nini-mobile-sheet-links a>i{font-size:17px;flex-shrink:0}
.nini-mobile-sheet-links a:nth-child(-n+3){grid-column:span 2;flex-direction:column;justify-content:center;gap:10px;min-height:88px;padding:14px 5px;font-size:13px}
.nini-mobile-sheet-links a:nth-child(-n+3)>i{font-size:21px}
.nini-mobile-sheet-links a.active{border-color:var(--color-primary);background:var(--color-primary-glow);color:var(--color-primary);font-weight:650}
.nini-mobile-sheet-links a:active{background:var(--color-primary-glow)}
.nini-mobile-sheet button:focus-visible,.nini-mobile-sheet a:focus-visible,.nini-mobile-canvas-bar button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.nini-mobile-sheet-balance{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;color:var(--text-dim);font-size:11px;line-height:1.6}
@media(max-width:768px){
  .app-layout{height:100vh;height:100dvh}
  .app-header{height:calc(56px + var(--nini-safe-top));min-height:calc(56px + var(--nini-safe-top));padding:calc(6px + var(--nini-safe-top)) max(12px,var(--nini-safe-right)) 6px max(12px,var(--nini-safe-left));box-sizing:border-box}
  .app-header>.header-nav,.app-header .menu-toggle-btn{display:none!important}
  .app-header .header-left{gap:0;min-width:0}
  .app-header .header-right{gap:4px;flex-shrink:0}
  .app-header .nini-appearance-controls{gap:4px}
  .app-header .nini-icon-control,.app-header .theme-toggle-btn,.app-header .btn-action-logout{width:44px;min-width:44px;height:44px;min-height:44px;font-size:16px;touch-action:manipulation}
  .app-header .header-user{gap:0}.app-header .header-user .user-avatar{display:none}.app-header .header-user .user-actions{margin:0}
  .app-header .nini-brand-wordmark{width:91px;height:28px}
  .app-header .header-brand .nini-brand-avatar{width:32px;height:32px;flex-basis:32px}
  .nini-mobile-canvas-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 52px;gap:4px;flex-shrink:0;padding:4px max(12px,var(--nini-safe-right)) 8px max(12px,var(--nini-safe-left));border-bottom:1px solid var(--border-color);background:var(--bg-sidebar,#fff);box-sizing:border-box}
  .nini-mobile-canvas-bar button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:44px;padding:6px 3px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .nini-mobile-canvas-bar button.is-active{color:var(--color-primary);background:var(--color-primary-glow);border-color:var(--border-color)}
  .nini-mobile-canvas-bar .nini-mobile-more{flex-direction:column;gap:0;font-size:10px}.nini-mobile-more>i{font-size:18px;line-height:18px}
  .app-layout>.work-area{height:auto;min-height:0;flex:1}
  .app-layout.nini-mobile-menu-open>.work-area{overflow:hidden!important;touch-action:none}
  .work-area{padding-bottom:var(--nini-safe-bottom)}
  .brand-logo.nini-login-brand{top:calc(20px + var(--nini-safe-top));left:max(20px,var(--nini-safe-left))}
  .login-wrap-outer{height:100vh;height:100dvh}
}
