:root{
  --sidebar-expanded-width:var(--sidebar-width,220px);
  --sidebar-collapsed-width:68px;
  --page-gutter:clamp(16px,1.35vw,24px);
  --shell-motion:180ms ease;
}

body{overflow-x:hidden}
main{min-width:0}
.sidebar .brand{position:relative;min-width:0}
.brand-copy{min-width:0;overflow:hidden;white-space:nowrap}
.sidebar-toggle{display:none}
.nav-icon,.nav-icon svg{display:block;width:22px;height:22px}
.nav-icon svg{fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.sidebar-nav-tooltip{position:fixed;z-index:3000;max-width:240px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--tooltip-text) 20%,transparent);border-radius:8px;background:var(--tooltip-bg);color:var(--tooltip-text);box-shadow:var(--shadow-floating);font-size:var(--font-size-md);font-weight:800;line-height:1.35;pointer-events:none;white-space:nowrap}
.sidebar-nav-tooltip[hidden]{display:none}

/* Canonical fluid application page shell. */
.enterprise-page-header,
main>.content{
  width:100%;
  max-width:none;
  margin-inline:0;
  padding-inline:var(--page-gutter)!important;
}
main>.content{min-width:0}
.analytics-center-page,.data-center-page,.targets-performance-page,.reports-center-page,.sales-profitability-page,.sales-forecast-page,.settings-shell{width:100%;max-width:none;margin-inline:0;min-width:0}

/* Desktop page context: top-level routes need no duplicate header; nested routes use one compact breadcrumb. */
.enterprise-page-header{min-height:0;padding-block:7px 0!important}
.enterprise-page-header[data-context-mode="top-level"]{display:none}
.enterprise-breadcrumb{min-height:24px;margin:0;padding:3px 1px;color:var(--text-muted);font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.enterprise-breadcrumb span[aria-current="page"]{color:var(--text-secondary)}
.enterprise-page-title{display:none}

/* Page-specific decorative headings made obsolete by the shared shell. */
.dashboard-page-head>div:first-child,
.settings-heading>div:first-child{display:none}
.dashboard-page-head,.settings-heading{min-height:0;margin:0 0 10px;padding:0;border:0;background:transparent;box-shadow:none}
.dashboard-page-head{justify-content:flex-end}
.settings-heading{justify-content:flex-end}
.data-operations-contextbar{min-height:40px;padding-block:5px}
.data-operations-contextbar>strong{font-size:13px}
@media(min-width:1025px){
  html[data-sidebar-state="collapsed"]{--sidebar-width:var(--sidebar-collapsed-width)!important}
  .sidebar{width:var(--sidebar-width,220px)!important;padding:18px 12px 15px;transition:width var(--shell-motion),padding var(--shell-motion);overflow:visible}
  main{margin-inline-start:var(--sidebar-width,220px)!important;margin-inline-end:0!important;transition:margin-inline-start var(--shell-motion),margin-inline-end var(--shell-motion)}
  .sidebar .brand{min-height:48px;padding:0 3px 17px;gap:10px;transition:padding var(--shell-motion)}
  .sidebar nav{min-height:0;padding-top:14px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
  .sidebar-toggle{display:grid;place-items:center;position:absolute;inset-inline-end:-1px;top:-7px;width:30px;height:30px;padding:0;border:1px solid color-mix(in srgb,var(--sidebar-text) 24%,transparent);border-radius:9px;background:var(--supporting-active);color:var(--sidebar-text);cursor:pointer;z-index:2}
  .sidebar-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--shell-motion)}
  [dir="rtl"] .sidebar-toggle svg{transform:scaleX(-1)}
  html[data-sidebar-state="collapsed"] .sidebar-toggle svg{transform:scaleX(-1)}
  [dir="rtl"] html[data-sidebar-state="collapsed"] .sidebar-toggle svg{transform:scaleX(1)}
  .sidebar-toggle:focus-visible,.nav-item:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
  .sidebar .nav-item{min-width:0;min-height:46px;grid-template-columns:28px minmax(0,1fr);align-items:center;padding:8px 10px;text-align:start;transition:background var(--shell-motion),padding var(--shell-motion)}
  .sidebar .nav-icon{grid-row:1/3;align-self:center}
  .sidebar .nav-item.active{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 58%,white),inset 0 0 0 1px color-mix(in srgb,var(--sidebar-text) 8%,transparent)}
  [dir="rtl"] .sidebar .nav-item.active{box-shadow:inset -3px 0 0 color-mix(in srgb,var(--accent) 58%,white),inset 0 0 0 1px color-mix(in srgb,var(--sidebar-text) 8%,transparent)}
  html[data-sidebar-state="collapsed"] .sidebar{padding-inline:8px}
  html[data-sidebar-state="collapsed"] .sidebar .brand{justify-content:center;padding-inline:0}
  html[data-sidebar-state="collapsed"] .brand-copy,
  html[data-sidebar-state="collapsed"] .sidebar .nav-item>b,
  html[data-sidebar-state="collapsed"] .sidebar .nav-item>small,
  html[data-sidebar-state="collapsed"] .sidebar-foot{display:none}
  html[data-sidebar-state="collapsed"] .brand-mark{width:38px;height:38px;border-radius:11px}
  html[data-sidebar-state="collapsed"] .sidebar-toggle{inset-inline-end:-5px;top:-10px;width:26px;height:26px}
  html[data-sidebar-state="collapsed"] .sidebar .nav-item{display:grid;place-items:center;width:100%;min-height:46px;padding:0;grid-template-columns:1fr}
  html[data-sidebar-state="collapsed"] .sidebar .nav-icon{grid-row:auto}
}

@media(max-width:1024px){
  .sidebar-toggle{display:none!important}
}

@media(max-width:768px){
  :root{--page-gutter:9px}
  /* The persisted desktop preference intentionally has no effect on the existing mobile navigation. */
  .enterprise-page-header{display:block;padding-block:6px 0}
  .enterprise-page-header[data-page="dashboard"]{display:none}
  .enterprise-breadcrumb{display:none}
  .enterprise-page-title{display:block;min-height:34px!important;margin:0;padding:4px 2px!important;border:0;border-bottom:1px solid var(--divider);border-radius:0;background:transparent;box-shadow:none}
  .enterprise-page-title>span,.enterprise-page-title p{display:none}
  .enterprise-page-title h1{margin:0;font-size:15px;line-height:26px}
  main>.content{padding-inline:var(--page-gutter)!important}
}

@media(prefers-reduced-motion:reduce){
  .sidebar,main,.sidebar-toggle svg,.sidebar .nav-item{transition:none!important}
}
