/* APIAgg: a topbar orb opens an icon-only capsule, without a sidebar column. */
:root{--topbar-height:56px;--topbar-inset:16px;--topbar-padding:18px;--topbar-gap:16px;--nav-panel-width:76px;--nav-orb-size:44px;--nav-panel-gap:12px}
html{scroll-padding-top:calc(var(--topbar-height) + var(--topbar-inset) + 12px)}
.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:33px;height:33px;background:linear-gradient(150deg,var(--accent-top),var(--accent-hover));color:var(--on-accent);border-radius:10px;box-shadow:inset 0 1px 1px #ffffff55,0 2px 5px #596f7c20}
.brand-mark .icon{width:21px;height:21px}
.brand-word{font-family:var(--display);font-size:21px;letter-spacing:-.7px;font-weight:650}
.brand-word span{color:var(--accent)}
.app-main{margin-left:0;padding-top:calc(var(--topbar-height) + var(--topbar-inset));min-width:0}
/* The launcher lives in the header row; its fixed parent is the positioning anchor. */
.topbar-nav{position:relative;display:flex;align-items:center;justify-content:center;width:var(--nav-orb-size);height:var(--nav-orb-size);flex:0 0 var(--nav-orb-size);z-index:1}
.topbar-nav.is-open{z-index:2}
.nav-orb{appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:var(--nav-orb-size);height:var(--nav-orb-size);padding:0;border:1px solid var(--glass-border);border-radius:50%;background:var(--control-bg);box-shadow:var(--control-shadow);color:var(--accent);cursor:pointer;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}
.nav-orb:hover{background:var(--control-hover);box-shadow:0 3px 10px #382f2310,inset 0 1px 0 var(--glass-highlight)}
.nav-orb:active{transform:scale(.96)}
.nav-orb .brand-mark{width:32px;height:32px;border-radius:10px;box-shadow:inset 0 1px 1px #ffffff55,0 2px 5px #596f7c20}
.nav-orb .icon{width:22px;height:22px}
.topbar-nav.is-open .nav-orb{background:var(--surface);box-shadow:0 0 0 3px var(--accent-glow),inset 0 1px 0 var(--glass-highlight)}

/* The capsule fades and expands downward from the orb; no 3D flip. */
.sidebar.nav-popover{--nav-stagger-start:90ms;--nav-stagger-step:55ms;--nav-panel-duration:420ms;position:absolute;top:calc(100% + var(--nav-panel-gap));left:50%;width:var(--nav-panel-width);max-height:0;min-height:0;padding:0 10px;display:flex;flex-direction:column;background:var(--sidebar-material);border:1px solid transparent;border-radius:calc(var(--nav-panel-width) / 2);box-shadow:0 14px 42px #3534331f,0 0 0 1px #00000008,inset 0 1px 0 var(--glass-highlight);backdrop-filter:var(--material-filter);-webkit-backdrop-filter:var(--material-filter);overflow:hidden;overscroll-behavior:contain;z-index:3;opacity:0;visibility:hidden;pointer-events:none;filter:blur(2px);transform-origin:50% 0;transform:translateX(-50%) translateY(-7px) scale(.96);transition:max-height var(--nav-panel-duration) cubic-bezier(.2,.75,.25,1),padding var(--nav-panel-duration) cubic-bezier(.2,.75,.25,1),border-color .24s ease,transform var(--nav-panel-duration) cubic-bezier(.2,.75,.25,1),filter .3s ease,opacity .34s ease,visibility 0s linear var(--nav-panel-duration)}
.sidebar.nav-popover.is-open{max-height:calc(100dvh - var(--topbar-height) - var(--topbar-inset) - 24px);padding:12px 10px;border-color:var(--glass-border);overflow-y:auto;opacity:1;visibility:visible;pointer-events:auto;filter:blur(0);transform:translateX(-50%) translateY(0) scale(1);transition:max-height var(--nav-panel-duration) cubic-bezier(.2,.75,.25,1),padding var(--nav-panel-duration) cubic-bezier(.2,.75,.25,1),border-color .24s ease,transform var(--nav-panel-duration) cubic-bezier(.2,.75,.25,1),filter .34s ease,opacity .42s ease,visibility 0s}
.sidebar.nav-popover.is-open:focus-within{transition:none}
.nav-group{display:grid;justify-items:center;gap:6px;min-width:0;flex-shrink:0}
.nav-link{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:0;gap:0;border-radius:50%;color:var(--secondary);transition:background .15s,color .15s,box-shadow .15s}
.nav-link>.icon{width:19px;height:19px;flex-shrink:0}
.nav-link:hover{background:var(--sunken);color:var(--ink)}
.nav-link.active{background:var(--accent);color:var(--on-accent);box-shadow:0 1px 3px #596f7c22,inset 0 1px 0 #ffffff20}
/* Icons fade in top-to-bottom; hover colors and closing never wait for the sequence. */
.nav-popover .nav-link{--nav-order:0;opacity:0;transform:translateY(-5px) scale(.92);filter:blur(2px);transition:opacity .3s ease,transform .32s cubic-bezier(.2,.75,.25,1),filter .3s ease,background .15s ease,color .15s ease,box-shadow .15s ease;transition-delay:0s}
.nav-popover .nav-group>.nav-link:nth-child(2){--nav-order:1}
.nav-popover .nav-group>.nav-link:nth-child(3){--nav-order:2}
.nav-popover .nav-group>.nav-link:nth-child(4){--nav-order:3}
.nav-popover .nav-observability>.nav-link:nth-child(1){--nav-order:4}
.nav-popover .nav-observability>.nav-link:nth-child(2){--nav-order:5}
.nav-popover .nav-observability>.nav-link:nth-child(3){--nav-order:6}
.nav-popover .nav-account>.nav-link{--nav-order:7}
.nav-popover.is-open .nav-link{opacity:1;transform:translateY(0) scale(1);filter:blur(0);transition-delay:calc(var(--nav-stagger-start) + var(--nav-order) * var(--nav-stagger-step)),calc(var(--nav-stagger-start) + var(--nav-order) * var(--nav-stagger-step)),calc(var(--nav-stagger-start) + var(--nav-order) * var(--nav-stagger-step)),0s,0s,0s}
.nav-popover.is-open .nav-link:focus-visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0);transition:none}
.nav-popover .nav-text,.nav-popover .count{display:none}
.nav-observability,.nav-account{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.nav-account{display:grid;justify-items:center;flex-shrink:0}
.topbar{position:fixed;top:var(--topbar-inset);left:var(--topbar-inset);right:var(--topbar-inset);z-index:20;height:var(--topbar-height);min-width:0;background:var(--toolbar-material);border:1px solid var(--glass-border);border-radius:999px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--topbar-padding);gap:var(--topbar-gap);backdrop-filter:var(--material-filter);-webkit-backdrop-filter:var(--material-filter);box-shadow:0 4px 18px #3534330b,0 0 0 1px #00000006,inset 0 1px 0 var(--glass-highlight);transition:left .22s ease,right .22s ease}
.topbar>.row{min-width:0;flex-wrap:nowrap}
.breadcrumb{font-size:12px;color:var(--secondary);display:flex;align-items:center;gap:12px;min-width:0;white-space:nowrap}
.breadcrumb span:last-child{color:var(--ink);font-weight:550;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-actions{display:flex;align-items:center;gap:18px;flex-shrink:0;white-space:nowrap}
.top-actions .badge{font-size:10px}
.content{max-width:1460px;margin:auto;padding:31px 34px 22px}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}
.page-heading p{margin-top:7px;font-size:13px;color:var(--secondary)}
.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.page-footer{margin-top:28px;border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}
@media(max-width:1200px){
:root{--topbar-inset:12px;--topbar-padding:12px;--nav-panel-width:72px}
}
@media(max-width:760px){
:root{--topbar-height:52px;--topbar-inset:10px;--topbar-padding:12px;--topbar-gap:8px}
}
