/* Premium navigation layout: floating settings controls + centered bottom main dock */
:root{--floating-settings-top:14px;--floating-settings-left:14px;--subnav-top:66px;--bottom-dock-offset:18px;--bottom-dock-height:62px}
.workspace{padding-top:calc(var(--subnav-top) + var(--sub-h) + 10px)!important;padding-bottom:calc(var(--bottom-dock-height) + var(--bottom-dock-offset) + 20px)}
.workspace.sidebar-open{padding-left:280px;padding-top:calc(var(--subnav-top) + var(--sub-h) + 10px)!important}
.workspace-main{min-height:calc(100vh - var(--subnav-top) - var(--sub-h) - var(--bottom-dock-height) - var(--bottom-dock-offset))}
.main-nav,.sidebar-open .main-nav{top:auto!important;bottom:var(--bottom-dock-offset);left:50%;right:auto;width:auto;height:auto!important;transform:translateX(-50%);background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;pointer-events:none;z-index:80}
.main-nav .inner{width:auto!important;padding:0!important;display:block!important}.main-nav .brand,.main-nav .user-chip{display:none!important}
.main-nav .nav-center{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:4px;padding:7px;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--line));border-radius:22px;background:color-mix(in srgb,var(--surface) 86%,transparent);box-shadow:0 18px 48px rgba(24,59,116,.16),inset 0 1px 0 rgba(255,255,255,.5);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%)}
html[data-theme="dark"] .main-nav .nav-center{box-shadow:0 18px 52px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.04)}
.nav-link.premium-icon-nav{width:48px;height:48px;min-width:48px;border-radius:15px;color:var(--muted);border:1px solid transparent;background:transparent;overflow:visible!important;transform-origin:center bottom}
.nav-link.premium-icon-nav:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-color:color-mix(in srgb,var(--accent) 14%,var(--line));transform:translateY(-4px) scale(1.04);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 10%,transparent)}
.nav-link.premium-icon-nav:active{transform:translateY(-1px) scale(.95)}
.nav-link.premium-icon-nav.active{color:#fff;background:linear-gradient(145deg,var(--accent),color-mix(in srgb,var(--accent-2) 88%,var(--accent)));border-color:transparent;box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 28%,transparent),inset 0 0 0 1px rgba(255,255,255,.16)}
.premium-nav-icon{width:21px;height:21px;transition:transform .34s cubic-bezier(.18,.9,.22,1.25),filter .2s ease}
.nav-link[data-page="dashboard"]:hover .premium-nav-icon{transform:translateY(-2px) scale(1.1)}.nav-link[data-page="subjects"]:hover .premium-nav-icon{transform:rotate(-8deg) translateY(-2px) scale(1.08)}.nav-link[data-page="calendar"]:hover .premium-nav-icon{transform:translateY(-2px) rotate(5deg) scale(1.08)}.nav-link[data-page="study-rooms"]:hover .premium-nav-icon{transform:scale(1.12) translateY(-2px)}.nav-link[data-page="chat"]:hover .premium-nav-icon{transform:translateY(-3px) rotate(-4deg) scale(1.1)}
.nav-link.premium-icon-nav:hover .premium-nav-icon{filter:drop-shadow(0 5px 8px color-mix(in srgb,var(--accent) 24%,transparent))}
.nav-link.premium-icon-nav:before{top:auto!important;bottom:calc(100% + 10px)!important;transform:translate(-50%,5px) scale(.96)!important}.nav-link.premium-icon-nav:hover:before,.nav-link.premium-icon-nav:focus-visible:before{transform:translate(-50%,0) scale(1)!important}
.settings-nav,.settings-nav.hidden{position:fixed;top:var(--floating-settings-top)!important;left:var(--floating-settings-left)!important;right:auto!important;width:auto!important;height:auto!important;padding:0!important;display:block!important;transform:none!important;opacity:1!important;pointer-events:auto!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:81}
.settings-inner{width:auto!important;max-width:calc(100vw - (var(--floating-settings-left) * 2))!important;margin:0!important;padding:0!important;display:flex;align-items:center;justify-content:flex-start;gap:6px!important;overflow:visible!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.settings-action,.settings-action.sidebar-trigger{width:42px!important;min-width:42px;height:42px;min-height:42px!important;padding:0!important;display:grid!important;place-items:center;border:1px solid transparent!important;border-radius:14px!important;background:transparent!important;color:var(--muted)!important;box-shadow:none!important;overflow:visible!important;position:relative}
.settings-action .settings-text{display:none!important}.settings-motion-icon{width:20px;height:20px}
.settings-action:hover,.settings-action:focus-visible,.settings-action.is-active{color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 8%,var(--surface))!important;border-color:color-mix(in srgb,var(--accent) 13%,var(--line))!important;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 9%,transparent)!important;transform:translateY(-2px)}
.settings-action:active{transform:translateY(0) scale(.94)}.settings-action.is-active:after{display:none!important}
.settings-action:before{content:attr(aria-label);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-4px) scale(.96);padding:6px 8px;border-radius:9px;background:color-mix(in srgb,var(--text) 93%,transparent);color:var(--bg);font-size:.67rem;font-weight:800;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;box-shadow:var(--shadow-soft);z-index:90}
.settings-action:hover:before,.settings-action:focus-visible:before{opacity:1;transform:translate(-50%,0) scale(1)}
.sub-nav,.sidebar-open .sub-nav{top:var(--subnav-top)!important;left:0;right:0;height:var(--sub-h)!important;background:color-mix(in srgb,var(--bg) 76%,transparent)!important;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important;backdrop-filter:blur(22px) saturate(150%)!important;-webkit-backdrop-filter:blur(22px) saturate(150%)!important}.sidebar-open .sub-nav{left:280px}
.entity-sheet-overlay{z-index:120!important}.toast{z-index:140!important}
@media(max-width:820px){:root{--floating-settings-top:10px;--floating-settings-left:10px;--subnav-top:58px;--bottom-dock-offset:12px;--bottom-dock-height:58px}.workspace{padding-top:calc(var(--subnav-top) + var(--sub-h) + 8px)!important;padding-bottom:88px}.workspace.sidebar-open{padding-top:calc(var(--subnav-top) + var(--sub-h) + 8px)!important}.settings-inner{gap:3px!important}.settings-action,.settings-action.sidebar-trigger{width:36px!important;min-width:36px;height:36px;min-height:36px!important;border-radius:11px!important}.settings-motion-icon{width:18px;height:18px}.settings-action:before{display:none}.main-nav .nav-center{gap:2px;padding:6px;border-radius:19px}.nav-link.premium-icon-nav{width:43px;height:43px;min-width:43px;border-radius:13px}.premium-nav-icon{width:19px;height:19px}.sub-inner{padding-left:12px;padding-right:12px}}
@media(max-width:520px){:root{--floating-settings-top:8px;--floating-settings-left:8px;--subnav-top:52px;--bottom-dock-offset:8px;--bottom-dock-height:54px}.settings-inner{max-width:calc(100vw - 16px)!important;gap:1px!important}.settings-action,.settings-action.sidebar-trigger{width:33px!important;min-width:33px;height:33px;min-height:33px!important;border-radius:10px!important}.settings-motion-icon{width:17px;height:17px}.main-nav{width:calc(100vw - 16px);display:flex;justify-content:center}.main-nav .nav-center{width:min(310px,100%);justify-content:space-evenly;padding:5px;border-radius:18px}.nav-link.premium-icon-nav{width:42px;height:42px;min-width:42px}.nav-link.premium-icon-nav:before{display:none}.workspace{padding-bottom:78px}}
@media(max-width:360px){.settings-action,.settings-action.sidebar-trigger{width:31px!important;min-width:31px;height:31px;min-height:31px!important}.settings-motion-icon{width:16px;height:16px}.nav-link.premium-icon-nav{width:39px;height:39px;min-width:39px}}
@media(prefers-reduced-motion:reduce){.nav-link.premium-icon-nav,.premium-nav-icon,.settings-action,.settings-motion-icon{transition:none!important}}
