/* Shared navigation shell for every authenticated role and business type. */
body:has(>.app-sidebar){--sidebar-width:264px}
body>.app-sidebar{width:var(--sidebar-width);padding:24px 16px;gap:18px;z-index:100;position:fixed;inset:0 auto 0 0;height:100dvh;display:flex;flex-direction:column;overflow:auto;transition:width .22s ease,padding .22s ease}
body>.app-sidebar+main{margin-left:var(--sidebar-width);max-width:none;min-width:0;transition:margin-left .22s ease}
.sidebar-brand-row{display:flex;align-items:center;gap:8px;min-height:44px;flex-shrink:0}
.app-sidebar .brand{flex:1;min-width:0;gap:8px}
.app-sidebar .brand .wordmark{font-size:22px}
.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:34px;padding:0;margin:0;border:1px solid #c8d6e4;border-radius:10px;background:#dce4ed;color:#17366b;cursor:pointer}
.sidebar-toggle:hover{background:#c9d8e8}
.sidebar-toggle:focus-visible{outline:3px solid #244885;outline-offset:3px}
.app-sidebar nav{display:grid;overflow:visible;gap:4px}
.app-sidebar nav a,.app-sidebar nav summary,.app-sidebar .user{display:flex;align-items:center;gap:11px;min-width:0;text-align:left}
.app-sidebar .nav-icon{flex:0 0 21px;width:21px;height:21px}
.app-sidebar .nav-label{min-width:0;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.app-sidebar .nav-arrow{margin-left:auto;flex:none}
.app-sidebar .sidebar-group>summary span{transform:none;font-size:14px;color:inherit}
.app-sidebar .sidebar-group[open]>summary .nav-arrow{transform:rotate(180deg)}
.app-sidebar .sidebar-group>summary{justify-content:flex-start}
.app-sidebar .nav-children{padding-left:6px;margin-left:11px}
.app-sidebar .nav-children .nav-icon{width:18px;height:18px;flex-basis:18px}
.app-sidebar .user{margin-top:auto;flex-shrink:0}
body.sidebar-collapsed{--sidebar-width:76px}
body.sidebar-collapsed>.app-sidebar{padding:18px 10px;gap:20px}
.sidebar-collapsed .sidebar-brand-row{flex-direction:column;gap:12px}
.sidebar-collapsed .app-sidebar .brand{flex:none}
.sidebar-collapsed .app-sidebar .wordmark,.sidebar-collapsed .app-sidebar .shop,.sidebar-collapsed .app-sidebar nav>a>.nav-label,.sidebar-collapsed .app-sidebar summary>.nav-label,.sidebar-collapsed .app-sidebar summary>.nav-arrow,.sidebar-collapsed .app-sidebar .user>.nav-label{display:none}
.sidebar-collapsed .sidebar-toggle svg{transform:rotate(180deg)}
.sidebar-collapsed .app-sidebar nav>a,.sidebar-collapsed .app-sidebar summary,.sidebar-collapsed .app-sidebar .user{justify-content:center;width:54px;min-height:46px;padding:12px 8px}
.sidebar-collapsed .app-sidebar nav>a{position:relative}
.sidebar-collapsed .app-sidebar nav>a>b{position:absolute;right:0;top:0;font-size:10px}
.sidebar-collapsed .app-sidebar .sidebar-group{margin:0}
.sidebar-collapsed .app-sidebar .sidebar-group>div{display:none}
.sidebar-collapsed .app-sidebar .sidebar-group[open]>div{display:grid;position:fixed;left:82px;top:100px;width:240px;max-width:calc(100vw - 92px);max-height:calc(100dvh - 24px);overflow-y:auto;background:#f9fbfc;border:1px solid #c9d3de;border-radius:12px;box-shadow:0 12px 36px #17253e26;margin:0;padding:10px;z-index:102}
.sidebar-collapsed .app-sidebar .sidebar-group[open]>summary{background:#d8e0e9;color:#122d5b;box-shadow:inset 3px 0 #244885}
.sidebar-collapsed .app-sidebar .nav-children a{min-height:40px;white-space:normal}
@media(max-width:700px){body:has(>.app-sidebar){--sidebar-width:76px}body>.app-sidebar{width:264px;max-width:calc(100vw - 24px);box-shadow:8px 0 25px #17253e24}body.sidebar-collapsed>.app-sidebar{width:76px;box-shadow:none}body>.app-sidebar+main{padding:20px 14px;margin-left:76px}.app-sidebar .shop,.app-sidebar .user{display:flex}.app-sidebar .shop{display:block}.app-sidebar .sidebar-brand-row .brand{font-size:22px}}
@media(prefers-reduced-motion:reduce){body>.app-sidebar,body>.app-sidebar+main{transition:none}}
@media print{body>.app-sidebar{display:none!important}body>.app-sidebar+main{margin-left:0!important;padding:0!important}}

.sidebar-collapsed .app-sidebar .sidebar-group.has-active>summary{background:#d8e0e9;color:#122d5b;box-shadow:inset 3px 0 #244885}

/* V94: session pins belong to the group, separate from its expand arrow. */
.app-sidebar .nav-pin{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;min-width:28px;height:30px;min-height:30px;padding:5px;margin:0 0 0 auto;border:1px solid transparent;border-radius:8px;background:transparent;color:#84909b;box-shadow:none;cursor:pointer}.app-sidebar .nav-pin svg{width:16px;height:16px;transform:rotate(30deg)}.app-sidebar .nav-pin:hover{background:#e6ecf3;color:#243e6c}.app-sidebar .nav-pin[aria-pressed=true]{color:#14346c;background:#dce6ef;border-color:#bcccdc;box-shadow:inset 0 1px #ffffffa0}.app-sidebar .nav-pin[aria-pressed=true] svg{transform:none}.app-sidebar .nav-pin:focus-visible{outline:3px solid #6f8eae;outline-offset:2px}.app-sidebar .sidebar-group>summary .nav-arrow{margin-left:0;margin-inline-start:0}.sidebar-collapsed .app-sidebar .nav-pin{display:none}.ops-mobile-app .app-sidebar .nav-pin{display:inline-flex;min-height:44px;height:44px;width:44px;flex-basis:44px}[dir=rtl] .app-sidebar .nav-pin{margin:0 auto 0 0}

/* V132: short Hosting group label stays on one line. */
.app-sidebar .sidebar-group[data-group="hosting_group"]>summary>.nav-label{white-space:nowrap;overflow-wrap:normal;overflow:hidden;text-overflow:ellipsis}
