/* Shared navigation: compact hierarchy, stable mobile destinations. */
.app-skip-link{position:fixed;z-index:300;top:12px;left:12px;display:flex;align-items:center;min-height:44px;padding:10px 16px;border:2px solid #f1d48b;border-radius:10px;background:#171b14;color:#fff4d3;font:700 14px/1.4 Archivo,system-ui,sans-serif;text-decoration:none;box-shadow:0 10px 30px #0008;transform:translateY(calc(-100% - 20px))}
.app-skip-link:focus,.app-skip-link:focus-visible{transform:translateY(0);outline:2px solid #fff;outline-offset:3px}
.sidebar{display:flex;flex-direction:column;overflow:hidden}
.sidebar .nav{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:block;padding-right:4px;scrollbar-width:thin}
.sidebar .profile{flex-shrink:0;margin-top:12px}
.app-nav-group{display:grid;gap:3px;margin-bottom:18px}
.app-nav-group .workspace-nav-label{display:block;margin:0;padding:4px 12px 7px;font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--muted,#a7aaa7)}
.sidebar .nav button{display:flex;align-items:center;gap:11px;min-height:44px;padding:10px 12px;font-size:13px;line-height:1.3;border-radius:10px;text-align:left;font-family:inherit;letter-spacing:0}
.sidebar .nav button.active{background:rgba(201,162,77,.13);color:#e3c477;box-shadow:inset 3px 0 #c9a24d}
.sidebar .nav .nav-icon{width:19px;height:19px;flex-shrink:0}
.app-nav-links{display:grid;gap:4px;border-top:1px solid #30312d;padding-top:14px;margin-top:8px}
.app-nav-links .nav-link{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:9px 12px;font-size:12px;color:#b4b7b1;text-decoration:none}
.app-menu-open{overflow:hidden}
#drawerBackdrop[aria-hidden="true"]{visibility:hidden}
#drawerBackdrop[aria-hidden="false"]{visibility:visible}
.sidebar .nav :is(button,a):focus-visible,.drawer-body :is(button,a):focus-visible,.mobile-nav button:focus-visible{outline:2px solid #e4c579;outline-offset:2px}
.mobile-drawer{width:min(440px,100%);max-height:100dvh}
.drawer-head{flex-shrink:0;padding:20px 22px;border-bottom:1px solid #30312d}
.drawer-body{padding:18px 20px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}
.app-menu-group{margin:22px 0 0}
.app-menu-group .drawer-label{display:block;margin:0 0 9px;padding:0 10px;font-size:10px;line-height:1.5;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#a7aaa7}
.app-menu-group .drawer-menu{display:grid;gap:3px}
.app-menu-group .drawer-item{display:flex;align-items:center;gap:13px;min-height:46px;padding:11px 12px;border:1px solid transparent;border-radius:10px;font-size:14px;line-height:1.35;font-weight:550;text-transform:none;letter-spacing:0}
.app-menu-group .drawer-item.active{color:#e3c477;background:rgba(201,162,77,.13);border-color:rgba(201,162,77,.22)}
.app-menu-group .nav-icon{width:20px;height:20px;flex-shrink:0}
.app-menu-search{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:12px;border:1px solid #3b3c35;border-radius:12px;background:#20221e;color:#c8cbc3;font:inherit;font-size:12px;text-align:left;cursor:pointer}
.app-menu-search span:first-of-type{flex:1}
.app-menu-search .nav-icon{width:18px;height:18px}
.app-nav-group [hidden],.app-menu-group [hidden]{display:none!important}
@media(max-width:900px){
 .sidebar{display:none}
 .mobile-nav{z-index:4}
 .mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;position:fixed;left:0;right:0;bottom:0;margin:0;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-radius:20px 20px 0 0;background:#151813;border-top:1px solid #383b32;box-shadow:0 -8px 30px #0003}
 .mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:52px;padding:7px 2px;border:0;border-radius:12px;background:transparent;color:#aeb5aa;font-family:inherit;font-size:10px;line-height:1.2;font-weight:600;letter-spacing:0;text-transform:none}
 .mobile-nav button .nav-icon{width:21px;height:21px;margin:0}
 .mobile-nav button.active{color:#e4c579;background:rgba(201,162,77,.14)}
 .mobile-nav button[hidden]{display:none!important}
 .app>main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:no-preference){.app-nav-group button,.drawer-item,.mobile-nav button{transition:background-color .15s,color .15s}}

/* Keep iOS form entry at the current zoom and controls easy to tap. */
@media(max-width:900px){
 body :is(.app,.modal,.auth-gate,.workspace-palette) input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),
 body :is(.app,.modal,.auth-gate,.workspace-palette) :is(select,textarea){font-size:16px;min-height:44px}
 .app :is(input,select,textarea){max-width:100%;scroll-margin-block:24px 110px}
 .app-menu-search{font-size:14px}
}
