/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/lib/fonts.ts","import":"DM_Sans","arguments":[{"subsets":["latin"],"variable":"--font-dm-sans","display":"swap","weight":["400","500","600","700"]}],"variableName":"dmSans"} ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* latin-ext */
@font-face {
  font-family: '__DM_Sans_d9d98a';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/7ab938503e4547a1-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__DM_Sans_d9d98a';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/13971731025ec697-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: '__DM_Sans_d9d98a';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/7ab938503e4547a1-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__DM_Sans_d9d98a';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/13971731025ec697-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: '__DM_Sans_d9d98a';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/7ab938503e4547a1-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__DM_Sans_d9d98a';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/13971731025ec697-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: '__DM_Sans_d9d98a';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/7ab938503e4547a1-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__DM_Sans_d9d98a';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/13971731025ec697-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__DM_Sans_Fallback_d9d98a';src: local("Arial");ascent-override: 94.90%;descent-override: 29.66%;line-gap-override: 0.00%;size-adjust: 104.53%
}.__className_d9d98a {font-family: '__DM_Sans_d9d98a', '__DM_Sans_Fallback_d9d98a';font-style: normal
}.__variable_d9d98a {--font-dm-sans: '__DM_Sans_d9d98a', '__DM_Sans_Fallback_d9d98a'
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/lib/fonts.ts","import":"JetBrains_Mono","arguments":[{"subsets":["latin"],"variable":"--font-jetbrains-mono","display":"swap","weight":["400","500","600"]}],"variableName":"jetbrainsMono"} ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/edc640959b0c7826-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/64d784ea54a4acde-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/ff71da380fbe67dd-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/edc640959b0c7826-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/64d784ea54a4acde-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/ff71da380fbe67dd-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/edc640959b0c7826-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/64d784ea54a4acde-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/ff71da380fbe67dd-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__JetBrains_Mono_5f34dc';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__JetBrains_Mono_Fallback_5f34dc';src: local("Arial");ascent-override: 75.79%;descent-override: 22.29%;line-gap-override: 0.00%;size-adjust: 134.59%
}.__className_5f34dc {font-family: '__JetBrains_Mono_5f34dc', '__JetBrains_Mono_Fallback_5f34dc';font-style: normal
}.__variable_5f34dc {--font-jetbrains-mono: '__JetBrains_Mono_5f34dc', '__JetBrains_Mono_Fallback_5f34dc'
}

/*!**************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/app/ShellLayout.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************/
.ShellLayout_shellMain__ZY0g3 {
  flex: 1 1;
  margin-left: 180px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  transition: margin-left var(--transition-slow);
}

.ShellLayout_shellMain__ZY0g3[data-sidebar-collapsed="true"] {
  margin-left: 56px;
}

.ShellLayout_contentArea__ltFS3 {
  flex: 1 1;
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 24px;
  transition: margin-right var(--transition-slower);
}

.ShellLayout_contentArea__ltFS3[data-lineage-open="true"] {
  margin-right: 380px;
}

/* Section tints — subtle background per section using design-system status palette */
.ShellLayout_contentArea__ltFS3[data-section="home"] { background: rgba(45, 90, 123, 0.02); }
.ShellLayout_contentArea__ltFS3[data-section="work"] { background: rgba(196, 135, 46, 0.02); }
.ShellLayout_contentArea__ltFS3[data-section="obligations"] { background: rgba(199, 84, 80, 0.02); }
.ShellLayout_contentArea__ltFS3[data-section="assurance"] { background: rgba(91, 138, 111, 0.02); }
.ShellLayout_contentArea__ltFS3[data-section="governance"] { background: rgba(45, 90, 123, 0.02); }
.ShellLayout_contentArea__ltFS3[data-section="assessment"] { background: rgba(74, 126, 197, 0.02); }
.ShellLayout_contentArea__ltFS3[data-section="risk"] { background: rgba(196, 135, 46, 0.02); }
.ShellLayout_contentArea__ltFS3[data-section="audit"] { background: rgba(123, 107, 165, 0.02); }
.ShellLayout_contentArea__ltFS3[data-section="scope"] { background: rgba(138, 138, 136, 0.02); }
.ShellLayout_contentArea__ltFS3[data-section="admin"] { background: rgba(138, 138, 136, 0.02); }

/* Responsive */
@media (max-width: 1279px) {
  .ShellLayout_shellMain__ZY0g3 { margin-left: 56px; }
}

@media (max-width: 1023px) {
  .ShellLayout_shellMain__ZY0g3 { margin-left: 0; }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/patterns/Sidebar/Sidebar.module.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************/
.Sidebar_sidebar__hZB7A {
  width: 180px;
  flex-shrink: 0;
  background: var(--color-surface-sidebar);
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 200;
  display: flex;
  flex-direction: column;
  transition: width var(--transition-slow);
  overflow: hidden;
}

.Sidebar_sidebar__hZB7A[data-collapsed="true"] {
  width: 56px;
}

/* Brand */
.Sidebar_brand__XWUoE {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 14px;
  cursor: pointer;
  flex-shrink: 0;
}

.Sidebar_brandMark__nxX6f {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-medium);
  background: linear-gradient(135deg, var(--color-brand-accent) 0%, #4AABB8 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
}

.Sidebar_brandText__Ptcyl {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.Sidebar_brandName__ST0g2 {
  font-size: 14px;
  font-weight: 600;
  color: #F0F0EE;
  white-space: nowrap;
}

.Sidebar_brandSub__zTgC1 {
  font-size: 10px;
  color: #8695A8;
  white-space: nowrap;
}

/* Navigation */
.Sidebar_nav__9QcES {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 8px;
  overflow-y: auto;
}

.Sidebar_navItem__qjvGn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 8px;
  height: var(--density-nav-item-height, 40px);
  border-radius: var(--radius-small);
  border: none;
  background: transparent;
  color: #8695A8;
  cursor: pointer;
  transition: all var(--transition-fast);
  border-left: 2px solid transparent;
  width: 100%;
  text-align: left;
}

.Sidebar_navItem__qjvGn:hover {
  background: rgba(255, 255, 255, 0.04);
}

.Sidebar_active__h8aSi {
  color: #F0F0EE;
  background: rgba(255, 255, 255, 0.08);
  border-left-color: var(--color-brand-accent-muted);
}

.Sidebar_navIcon__wL4HT {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
}

.Sidebar_navLabel__GoIiO {
  font-size: 13px;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Sidebar_active__h8aSi .Sidebar_navLabel__GoIiO {
  font-weight: 500;
}

/* Bottom */
.Sidebar_bottom__HHi6V {
  padding: 12px 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  flex-shrink: 0;
}

/* Responsive */
@media (max-width: 1279px) {
  .Sidebar_sidebar__hZB7A { width: 56px; }
  .Sidebar_sidebar__hZB7A .Sidebar_navLabel__GoIiO, .Sidebar_sidebar__hZB7A .Sidebar_brandText__Ptcyl { display: none; }
}

@media (max-width: 1023px) {
  .Sidebar_sidebar__hZB7A { display: none; }
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/components/DensityToggle/DensityToggle.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************/
.DensityToggle_toggle__zEhxL {
  padding: 6px 8px;
  background: rgba(255, 255, 255, 0.06);
  border: none;
  border-radius: var(--radius-small);
  color: #8695A8;
  font-size: 10px;
  font-weight: 500;
  cursor: pointer;
  transition: background var(--transition-fast);
  white-space: nowrap;
}

.DensityToggle_toggle__zEhxL:hover {
  background: rgba(255, 255, 255, 0.1);
}

.DensityToggle_label__Mp4Po {
  display: block;
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/components/ThemeToggle/ThemeToggle.module.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************/
/* Styled for the sidebar, which is dark in both themes — so these values are
 * deliberately theme-independent and match DensityToggle's treatment beside it. */

.ThemeToggle_toggle__0nWlk {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  background: rgba(255, 255, 255, 0.06);
  border: none;
  border-radius: var(--radius-small);
  color: var(--color-text-sidebar-muted);
  font-size: 10px;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  transition: background var(--transition-fast);
  white-space: nowrap;
}

.ThemeToggle_toggle__0nWlk:hover {
  background: rgba(255, 255, 255, 0.1);
}

.ThemeToggle_toggle__0nWlk:focus-visible {
  outline: 2px solid var(--color-brand-accent);
  outline-offset: 2px;
}

.ThemeToggle_icon__8XgvI {
  display: inline-flex;
  align-items: center;
}

.ThemeToggle_label__NBKwo {
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  .ThemeToggle_toggle__0nWlk { transition: none; }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/patterns/TopBar/TopBar.module.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************/
.TopBar_topbar__YxUsK {
  height: 52px;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--color-surface-topbar);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--color-border-default);
  padding: 8px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Search Trigger */
.TopBar_searchTrigger__OsMcJ {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 220px;
  height: 32px;
  padding: 0 12px;
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-medium);
  background: var(--color-surface-card);
  color: var(--color-text-tertiary);
  cursor: pointer;
  transition: border-color var(--transition-fast);
}

.TopBar_searchTrigger__OsMcJ:hover {
  border-color: var(--color-border-accent);
}

.TopBar_searchPlaceholder__Iu91V {
  flex: 1 1;
  font-size: 13px;
  text-align: left;
}

.TopBar_searchHint__AMrnr {
  font-family: var(--font-mono);
  font-size: 11px;
  padding: 1px 6px;
  border: 1px solid var(--color-border-default);
  border-radius: 4px;
  color: var(--color-text-tertiary);
  background: var(--color-surface-panel);
}

/* Right Area */
.TopBar_rightArea__6B9Ak {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
}

.TopBar_iconButton__psCB_ {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: var(--color-text-secondary);
  cursor: pointer;
  border-radius: var(--radius-small);
  transition: all var(--transition-fast);
}

.TopBar_iconButton__psCB_:hover {
  background: var(--color-surface-panel);
  color: var(--color-text-primary);
}

.TopBar_notifBadge__acGJ5 {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 14px;
  height: 14px;
  padding: 0 3px;
  font-size: 9px;
  font-weight: 600;
  color: white;
  background: var(--color-status-coral);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* User Menu */
.TopBar_userMenuWrapper__Rrf9O {
  position: relative;
}

.TopBar_avatar__rdYiz {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--color-brand-accent);
  color: white;
  font-size: 11px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: none;
  transition: opacity var(--transition-fast);
}

.TopBar_avatar__rdYiz:hover {
  opacity: 0.85;
}

.TopBar_userMenu__8Ojno {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 220px;
  background: var(--color-surface-card);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-medium);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  z-index: 100;
  overflow: hidden;
}

.TopBar_userMenuHeader__RZhm4 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
}

.TopBar_userMenuAvatar__yiE2h {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-brand-accent);
  color: white;
  font-size: 12px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.TopBar_userMenuInfo___jO_o {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.TopBar_userMenuName__PW9cF {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.TopBar_userMenuEmail__O5mg4 {
  font-size: 11px;
  color: var(--color-text-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.TopBar_userMenuDivider__ScGbe {
  height: 1px;
  background: var(--color-border-default);
}

.TopBar_userMenuItem__tNxFZ {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 10px 14px;
  border: none;
  background: transparent;
  color: var(--color-text-secondary);
  font-size: 13px;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.TopBar_userMenuItem__tNxFZ:hover {
  background: var(--color-surface-panel);
  color: var(--color-text-primary);
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/patterns/ContextBar/ContextBar.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
.ContextBar_bar__axs12 {
  display: flex;
  align-items: center;
  gap: 6px;
}

.ContextBar_pillWrapper__7Ee71 {
  position: relative;
}

.ContextBar_pill__UBdzg {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-border-default);
  background: transparent;
  color: var(--color-text-secondary);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--transition-fast);
  white-space: nowrap;
}

.ContextBar_pill__UBdzg:hover {
  background: var(--color-surface-panel);
  border-color: var(--color-border-default);
}

.ContextBar_active__nL3Ic {
  background: var(--color-brand-accent-light);
  border-color: var(--color-brand-accent);
  color: var(--color-brand-accent);
}

.ContextBar_active__nL3Ic:hover {
  background: var(--color-brand-accent-muted);
}

.ContextBar_temporal__5QhA4.ContextBar_active__nL3Ic {
  background: var(--color-status-amber-subtle);
  border-color: var(--color-status-amber);
  color: var(--color-status-amber);
}

/* ------------------------------------------------------------------ */
/* Dropdown                                                           */
/* ------------------------------------------------------------------ */
.ContextBar_dropdown__4bxi7 {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  z-index: 100;
  min-width: 220px;
  max-width: 320px;
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border-default, #e2e8f0);
  border-radius: var(--radius-md, 8px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
  overflow: hidden;
}

.ContextBar_dropdownSearch__q5iVf {
  padding: 8px;
  border-bottom: 1px solid var(--color-border-default, #e2e8f0);
}

.ContextBar_dropdownInput__X_e8B {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid var(--color-border-default, #e2e8f0);
  border-radius: var(--radius-sm, 6px);
  font-size: 12px;
  outline: none;
  background: var(--color-surface, #fff);
  color: var(--color-text-primary, #1a1a2e);
}

.ContextBar_dropdownInput__X_e8B:focus {
  border-color: var(--color-brand-accent, #4f46e5);
}

.ContextBar_dropdownList__hpfFk {
  list-style: none;
  margin: 0;
  padding: 4px 0;
  max-height: 240px;
  overflow-y: auto;
}

.ContextBar_dropdownItem__bFQCi {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 12px;
  color: var(--color-text-primary, #1a1a2e);
  cursor: pointer;
  transition: background 0.1s;
}

.ContextBar_dropdownItem__bFQCi:hover {
  background: var(--color-surface-panel, #f7f8fa);
}

.ContextBar_dropdownSelected__DCWtK {
  background: var(--color-brand-accent-light, #eef2ff);
  font-weight: 600;
}

.ContextBar_dropdownClear__tPTXT {
  color: var(--color-text-secondary, #64748b);
  font-style: italic;
}

.ContextBar_dropdownEmpty__zDF8p {
  padding: 12px;
  font-size: 12px;
  color: var(--color-text-secondary, #64748b);
  text-align: center;
}

/* ------------------------------------------------------------------ */
/* Date picker                                                        */
/* ------------------------------------------------------------------ */
.ContextBar_datePicker__qKbVS {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ContextBar_dateInput__d5SJI {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid var(--color-border-default, #e2e8f0);
  border-radius: var(--radius-sm, 6px);
  font-size: 12px;
  color: var(--color-text-primary, #1a1a2e);
  background: var(--color-surface, #fff);
  outline: none;
}

.ContextBar_dateInput__d5SJI:focus {
  border-color: var(--color-brand-accent, #4f46e5);
}

.ContextBar_dateClearBtn__SeRAW {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  border: none;
  background: transparent;
  color: var(--color-text-secondary, #64748b);
  font-size: 12px;
  cursor: pointer;
  border-radius: var(--radius-sm, 6px);
}

.ContextBar_dateClearBtn__SeRAW:hover {
  background: var(--color-surface-panel, #f7f8fa);
  color: var(--color-text-primary, #1a1a2e);
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/patterns/ContextLock/ContextLock.module.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************/
.ContextLock_lock___zSj5 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--radius-small);
  border: none;
  cursor: pointer;
  transition: all var(--transition-fast);
  background: transparent;
}

.ContextLock_locked__Q68o2 {
  color: var(--color-brand-accent);
}

.ContextLock_locked__Q68o2:hover {
  background: var(--color-brand-accent-light);
}

.ContextLock_unlocked__JnqiD {
  color: var(--color-text-tertiary);
}

.ContextLock_unlocked__JnqiD:hover {
  background: var(--color-surface-panel);
  color: var(--color-text-secondary);
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/patterns/ModeIndicator/ModeIndicator.module.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************/
.ModeIndicator_container__K7lT6 {
  display: inline-flex;
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-small);
  overflow: hidden;
}

.ModeIndicator_button__i4WLj {
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 500;
  border: none;
  background: transparent;
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: all var(--transition-fast);
  white-space: nowrap;
}

.ModeIndicator_button__i4WLj:not(:last-child) {
  border-right: 1px solid var(--color-border-default);
}

.ModeIndicator_button__i4WLj:hover:not(.ModeIndicator_active__NUhTl) {
  background: var(--color-surface-panel);
}

.ModeIndicator_active__NUhTl {
  background: var(--color-brand-accent);
  color: white;
}

.ModeIndicator_disabled__BqHX7 {
  opacity: 0.4;
  cursor: not-allowed;
}

.ModeIndicator_disabled__BqHX7:hover {
  background: transparent;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/patterns/TimeTravelBanner/TimeTravelBanner.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************/
.TimeTravelBanner_banner__wq20y {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 36px;
  padding: 6px 20px;
  background: var(--color-status-amber-subtle);
  border-bottom: 1px solid var(--color-status-amber);
  z-index: 150;
}

.TimeTravelBanner_content__IcZas {
  display: flex;
  align-items: center;
  gap: 8px;
}

.TimeTravelBanner_icon__roaYC {
  color: var(--color-status-amber);
  flex-shrink: 0;
}

.TimeTravelBanner_label__VEnkT {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-status-amber);
  letter-spacing: 0.02em;
}

.TimeTravelBanner_description__RyDti {
  font-size: 12px;
  color: var(--color-text-secondary);
}

.TimeTravelBanner_actions__tLsUV {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

/* Compare-to-present mode */
.TimeTravelBanner_compareBanner__pqt7v {
  background: var(--color-status-blue-subtle, #eff6ff);
  border-bottom-color: var(--color-status-blue, #3b82f6);
}

.TimeTravelBanner_compareIcon__g16Mo {
  color: var(--color-status-blue, #3b82f6);
  flex-shrink: 0;
}

.TimeTravelBanner_compareLabel__Yo6m_ {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-status-blue, #3b82f6);
  letter-spacing: 0.02em;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/components/Button/Button.module.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************/
.Button_button__oLYjS {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: none;
  border-radius: var(--radius-small);
  font-family: var(--font-sans);
  font-weight: 500;
  cursor: pointer;
  transition: all var(--transition-fast);
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.Button_button__oLYjS:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Sizes */
.Button_sm__71TiJ { height: 28px; padding: 0 10px; font-size: 12px; }
.Button_md__16g_E { height: 36px; padding: 0 14px; font-size: 13px; }
.Button_lg__mJaCc { height: 44px; padding: 0 20px; font-size: 14px; }

/* Variants */
.Button_primary__MRv3z {
  background: var(--color-brand-accent);
  color: var(--color-text-inverse);
}
.Button_primary__MRv3z:hover:not(:disabled) {
  background: var(--color-brand-accent-hover);
}

.Button_secondary__rby9v {
  background: transparent;
  color: var(--color-brand-accent);
  border: 1px solid var(--color-border-accent);
}
.Button_secondary__rby9v:hover:not(:disabled) {
  background: var(--color-brand-accent-light);
}

.Button_ghost__1HzKV {
  background: transparent;
  color: var(--color-text-secondary);
}
.Button_ghost__1HzKV:hover:not(:disabled) {
  background: var(--color-surface-panel);
}

.Button_danger__zs4u1 {
  background: transparent;
  color: var(--color-status-coral);
  border: 1px solid var(--color-status-coral);
}
.Button_danger__zs4u1:hover:not(:disabled) {
  background: var(--color-status-coral-subtle);
}

.Button_iconOnly__yYJGP {
  padding: 0;
  aspect-ratio: 1;
}

.Button_fullWidth__jbDS_ {
  width: 100%;
}

.Button_icon__PPD7X {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.Button_label__B_WZE {
  display: flex;
  align-items: center;
}

.Button_spinner__eKx0k {
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: Button_spin__3cfWG 0.6s linear infinite;
}

@keyframes Button_spin__3cfWG {
  to { transform: rotate(360deg); }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/patterns/LineagePanel/LineagePanel.module.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************/
.LineagePanel_panel___RzaI {
  position: fixed;
  top: 0;
  right: 0;
  width: 380px;
  height: 100vh;
  background: var(--color-surface-card);
  border-left: 1px solid var(--color-border-default);
  box-shadow: var(--shadow-lineage-panel);
  z-index: 90;
  display: flex;
  flex-direction: column;
  animation: LineagePanel_slideIn__eMzMN 200ms ease-out;
}

.LineagePanel_header__p_usb {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 16px 8px;
}

.LineagePanel_headerInfo__M2dsj {
  display: flex;
  align-items: center;
  gap: 8px;
}

.LineagePanel_code__6h_Ho {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 500;
  color: var(--color-brand-accent);
}

.LineagePanel_close__8CV37 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--radius-small);
  border: none;
  background: none;
  color: var(--color-text-tertiary);
  cursor: pointer;
}

.LineagePanel_close__8CV37:hover {
  background: var(--color-surface-panel);
  color: var(--color-text-secondary);
}

.LineagePanel_title__4xVW5 {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-primary);
  padding: 0 16px 12px;
  border-bottom: 1px solid var(--color-border-subtle);
}

.LineagePanel_temporalNotice__x5f9s {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: var(--color-status-amber-subtle);
  font-size: 11px;
  color: var(--color-status-amber);
  font-weight: 500;
}

.LineagePanel_scrollArea__Dai64 {
  flex: 1 1;
  overflow-y: auto;
  padding: 12px 16px;
}

.LineagePanel_section__bqreO {
  margin-bottom: 16px;
}

.LineagePanel_sectionTitle__GJkDa {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-tertiary);
  margin-bottom: 8px;
}

.LineagePanel_reasoningText__qPuIF {
  font-size: 12px;
  line-height: 1.5;
  color: var(--color-text-secondary);
}

.LineagePanel_impactCard__cjFR7 {
  padding: 8px;
  background: var(--color-status-coral-subtle);
  border-left: 3px solid var(--color-status-coral);
  border-radius: 0 var(--radius-small) var(--radius-small) 0;
}

.LineagePanel_impactWhy__UK2S3 {
  font-size: 12px;
  font-weight: 500;
  color: var(--color-text-primary);
  margin-bottom: 4px;
}

.LineagePanel_impactText__fry2o {
  font-size: 11px;
  color: var(--color-text-secondary);
  line-height: 1.4;
}

.LineagePanel_nodeList__urZX4 {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.LineagePanel_node__7N36x {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: var(--radius-small);
  cursor: pointer;
  transition: background var(--transition-fast);
}

.LineagePanel_node__7N36x:hover {
  background: var(--color-surface-panel);
}

.LineagePanel_nodeCode__4iWxB {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--color-brand-accent);
  flex-shrink: 0;
}

.LineagePanel_nodeTitle__4RVy_ {
  font-size: 12px;
  color: var(--color-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1;
}

@keyframes LineagePanel_slideIn__eMzMN {
  from { transform: translateX(380px); }
  to { transform: translateX(0); }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/components/StatusDot/StatusDot.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
.StatusDot_dot__0Hd98 {
  display: inline-block;
  border-radius: 50%;
  flex-shrink: 0;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/patterns/UnifiedSearch/UnifiedSearch.module.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************/
.UnifiedSearch_backdrop__NAnv4 {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  z-index: 100;
  display: flex;
  justify-content: center;
  padding-top: 80px;
}

.UnifiedSearch_panel__LJ59R {
  width: 640px;
  max-height: 70vh;
  background: var(--color-surface-card);
  border-radius: var(--radius-large);
  box-shadow: var(--shadow-search-overlay);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.UnifiedSearch_inputArea__PdnZD {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid var(--color-border-subtle);
}

.UnifiedSearch_searchIcon__kxcg_ { color: var(--color-text-tertiary); flex-shrink: 0; }

.UnifiedSearch_input__GnwvF {
  flex: 1 1;
  border: none;
  background: none;
  font-size: 16px;
  color: var(--color-text-primary);
  outline: none;
}

.UnifiedSearch_input__GnwvF::placeholder {
  color: var(--color-text-tertiary);
}

.UnifiedSearch_closeBtn__VHUbs {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  background: none;
  color: var(--color-text-tertiary);
  cursor: pointer;
  border-radius: var(--radius-small);
}

.UnifiedSearch_closeBtn__VHUbs:hover {
  background: var(--color-surface-panel);
}

.UnifiedSearch_results__ByfIl {
  flex: 1 1;
  overflow-y: auto;
  padding: 8px;
}

.UnifiedSearch_loading__LUxX0, .UnifiedSearch_noResults__ZhSSp {
  padding: 24px;
  text-align: center;
  font-size: 13px;
  color: var(--color-text-tertiary);
}

.UnifiedSearch_group__zLoEV {
  margin-bottom: 4px;
}

.UnifiedSearch_groupHeader__vsnYH {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
}

.UnifiedSearch_groupLabel__o6b0F {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-tertiary);
}

.UnifiedSearch_groupCount___i_nu {
  font-size: 10px;
  color: var(--color-text-tertiary);
}

.UnifiedSearch_result__h3WKo {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border-radius: var(--radius-small);
  cursor: pointer;
  transition: background var(--transition-fast);
}

.UnifiedSearch_result__h3WKo:hover {
  background: var(--color-surface-panel);
}

.UnifiedSearch_resultCode__D5L6u {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--color-brand-accent);
  flex-shrink: 0;
}

.UnifiedSearch_resultTitle__G9D_Y {
  font-size: 13px;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1;
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/patterns/NotificationPanel/NotificationPanel.module.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************/
.NotificationPanel_panel__SS7q2 { position: fixed; top: 52px; right: 16px; width: 360px; max-height: 480px; background: var(--color-surface-card); border: 1px solid var(--color-border-default); border-radius: var(--radius-large); box-shadow: var(--shadow-large); z-index: 95; display: flex; flex-direction: column; }
.NotificationPanel_header__eQO_C { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--color-border-subtle); }
.NotificationPanel_title__iGNcb { font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 6px; }
.NotificationPanel_badge__KtqLb { font-size: 10px; font-weight: 600; background: var(--color-status-coral); color: white; padding: 1px 6px; border-radius: var(--radius-full); }
.NotificationPanel_close__O8otk { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: none; background: none; color: var(--color-text-tertiary); cursor: pointer; border-radius: var(--radius-small); }
.NotificationPanel_list__EkpFo { flex: 1 1; overflow-y: auto; }
.NotificationPanel_empty__uUzj6 { padding: 32px; text-align: center; font-size: 13px; color: var(--color-text-tertiary); }
.NotificationPanel_item__oJfKw { padding: 10px 16px; border-bottom: 1px solid var(--color-border-subtle); cursor: pointer; transition: background var(--transition-fast); }
.NotificationPanel_item__oJfKw:hover { background: var(--color-surface-panel); }
.NotificationPanel_unread__1OTZ6 { background: var(--color-brand-accent-light); }
.NotificationPanel_itemTitle__Dy1w3 { font-size: 13px; font-weight: 500; color: var(--color-text-primary); display: block; }
.NotificationPanel_itemMessage__3lSGi { font-size: 12px; color: var(--color-text-secondary); display: block; margin-top: 2px; }
.NotificationPanel_itemTime__gI6Eq { font-size: 10px; color: var(--color-text-tertiary); display: block; margin-top: 4px; }

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/patterns/ComparisonPanel/ComparisonPanel.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************/
.ComparisonPanel_panel__VJ23k {
  background: var(--color-surface-primary);
  border-bottom: 1px solid var(--color-border-default);
  max-height: 360px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ComparisonPanel_header__ryphA {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  border-bottom: 1px solid var(--color-border-subtle);
  flex-shrink: 0;
}

.ComparisonPanel_headerLeft__hcuTD {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.ComparisonPanel_title__CvrQO {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0;
}

.ComparisonPanel_subtitle__VtP0V {
  font-size: 12px;
  font-family: var(--font-mono);
  color: var(--color-text-tertiary);
}

.ComparisonPanel_headerActions__O5Nqe {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ComparisonPanel_closeBtn__tu_9j {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--radius-small);
  border: none;
  background: none;
  color: var(--color-text-tertiary);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.ComparisonPanel_closeBtn__tu_9j:hover {
  background: var(--color-surface-hover);
  color: var(--color-text-primary);
}

.ComparisonPanel_body__09Q4c {
  padding: 12px 20px 16px;
  overflow-y: auto;
  flex: 1 1;
}

.ComparisonPanel_kpiRow__e8Tff {
  margin-bottom: 16px;
}

/* Loading / error / empty states */
.ComparisonPanel_loadingState__7LLZI {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text-secondary);
  font-size: 13px;
  padding: 12px 0;
}

.ComparisonPanel_spinner__CQ6rI {
  animation: ComparisonPanel_spin__bB837 1s linear infinite;
}

@keyframes ComparisonPanel_spin__bB837 {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.ComparisonPanel_errorState__S40BT {
  padding: 12px 16px;
  background: var(--color-status-coral-subtle, #fef2f2);
  border-radius: var(--radius-small);
  color: var(--color-status-coral);
  font-size: 13px;
}

.ComparisonPanel_noChanges__E5Uo7 {
  padding: 16px;
  text-align: center;
  color: var(--color-text-tertiary);
  font-size: 13px;
}

/* Change sections */
.ComparisonPanel_changeSections__PsYuA {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ComparisonPanel_changeSection__ToeP_ {
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-small);
  overflow: hidden;
}

.ComparisonPanel_changeSectionHeader__eXJEp {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 12px;
  border: none;
  background: var(--color-surface-panel);
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  color: var(--color-text-primary);
  text-align: left;
  transition: background 0.15s;
}
.ComparisonPanel_changeSectionHeader__eXJEp:hover {
  background: var(--color-surface-hover);
}

.ComparisonPanel_changeSectionIcon__Ez35a {
  display: flex;
  align-items: center;
}

.ComparisonPanel_colorAdded__IqISN .ComparisonPanel_changeSectionIcon__Ez35a { color: var(--color-status-sage, #22c55e); }
.ComparisonPanel_colorRemoved__cxIQy .ComparisonPanel_changeSectionIcon__Ez35a { color: var(--color-status-coral, #ef4444); }
.ComparisonPanel_colorChanged__UdYAd .ComparisonPanel_changeSectionIcon__Ez35a { color: var(--color-status-amber, #f59e0b); }

.ComparisonPanel_changeSectionTitle__RTql0 { flex: 1 1; }

.ComparisonPanel_changeSectionCount__jUl6_ {
  font-family: var(--font-mono);
  font-size: 11px;
  padding: 1px 6px;
  border-radius: 10px;
  background: var(--color-surface-primary);
}

.ComparisonPanel_changeSectionChevron__LGUlY {
  display: flex;
  align-items: center;
  color: var(--color-text-tertiary);
}

.ComparisonPanel_changeSectionBody___oGzj {
  border-top: 1px solid var(--color-border-subtle);
  max-height: 200px;
  overflow-y: auto;
}

/* Entity rows */
.ComparisonPanel_entityRow__tlA_P {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 6px 12px;
  font-size: 12px;
  border-bottom: 1px solid var(--color-border-subtle);
}
.ComparisonPanel_entityRow__tlA_P:last-child {
  border-bottom: none;
}

.ComparisonPanel_entityCode__FUwOi {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--color-brand-accent);
  min-width: 120px;
  flex-shrink: 0;
  padding-top: 1px;
}

.ComparisonPanel_entityChanges__z8eLD {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}

.ComparisonPanel_fieldChange__XFnA9 {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.ComparisonPanel_fieldName__wD2f1 {
  color: var(--color-text-tertiary);
}

.ComparisonPanel_removed__U6MJz {
  color: var(--color-status-coral, #ef4444);
  text-decoration: line-through;
}

.ComparisonPanel_added__c7JKe {
  color: var(--color-status-sage, #22c55e);
}

.ComparisonPanel_changeArrow__MWo7F {
  color: var(--color-text-tertiary);
  font-size: 10px;
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/design-system/patterns/DiffView/DiffView.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************/
.DiffView_wrapper__NlJHr { display: flex; flex-direction: column; gap: 12px; }
.DiffView_header__XixFB { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 500; color: var(--color-text-secondary); }
.DiffView_dateLabel__uJVFw { font-family: var(--font-mono); font-size: 12px; }
.DiffView_arrow__1Fcin { color: var(--color-text-tertiary); }
.DiffView_deltas__Ha8N4 { display: flex; gap: 12px; flex-wrap: wrap; }
.DiffView_delta__E6TsV { display: flex; align-items: center; gap: 4px; font-size: 12px; padding: 4px 8px; background: var(--color-surface-panel); border-radius: var(--radius-small); }
.DiffView_deltaLabel__H47Al { font-weight: 500; color: var(--color-text-secondary); }
.DiffView_deltaThen__GiIbN { color: var(--color-text-tertiary); }
.DiffView_deltaArrow__wG1yO { color: var(--color-text-tertiary); font-size: 10px; }
.DiffView_deltaNow__z6daZ { font-weight: 600; color: var(--color-text-primary); }
.DiffView_entityDiff__YEQzJ { padding: 8px; border-left: 2px solid var(--color-border-default); }
.DiffView_entityCode__IBVpz { font-family: var(--font-mono); font-size: 11px; color: var(--color-brand-accent); font-weight: 500; }
.DiffView_fieldDiff__O5lwl { display: flex; gap: 8px; font-size: 12px; margin-top: 4px; }
.DiffView_fieldName__xFmti { color: var(--color-text-tertiary); min-width: 80px; }
.DiffView_removed__hWTmG { color: var(--color-status-coral); text-decoration: line-through; }
.DiffView_added__ushEO { color: var(--color-status-sage); }

/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/design-system/css/reset.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.55;
  color: var(--color-text-primary);
  background-color: var(--color-surface-page);
  transition: color 300ms ease-in-out, background-color 300ms ease-in-out;
}

button, input, select, textarea {
  font: inherit;
  color: inherit;
}

button {
  cursor: pointer;
  border: none;
  background: none;
}

input, textarea, select {
  border: 1px solid var(--color-border-default);
  padding: 0;
  background: inherit;
}

a {
  color: var(--color-text-link);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

ul, ol {
  list-style: none;
}

fieldset { border: none; }
legend { padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img, picture, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

:focus {
  outline: none;
}

:focus-visible {
  outline: 2px solid var(--color-brand-accent);
  outline-offset: 2px;
}

/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/design-system/css/tokens.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
:root,
[data-theme="light"] {
  /* Surface */
  --color-surface-page: #FAFAF8;
  --color-surface-card: #FFFFFF;
  --color-surface-panel: #F5F5F3;
  --color-surface-sidebar: #1B2332;
  --color-surface-topbar: rgba(250,250,248,0.88);
  --color-surface-banner-warning: #FDF3E7;
  --color-surface-banner-error: #FCEEED;

  /* Text */
  --color-text-primary: #1A1A1A;
  --color-text-secondary: #6B6B6B;
  --color-text-tertiary: #9A9A98;
  --color-text-inverse: #F0F0EE;
  --color-text-link: #2D5A7B;

  /* Brand */
  --color-brand-accent: #2D5A7B;
  --color-brand-accent-hover: #235069;
  --color-brand-accent-light: #E8F0F6;
  --color-brand-accent-muted: #D4E8EC;

  /* Status (ambient tier) */
  --color-status-sage: #5B8A6F;
  --color-status-amber: #C4872E;
  --color-status-coral: #C75450;
  --color-status-blue: #4A7EC5;
  --color-status-neutral: #8A8A88;
  --color-status-purple: #7B6BA5;

  /* Status (actionable tier) */
  --color-status-sage-action: #16A34A;
  --color-status-amber-action: #D97706;
  --color-status-coral-action: #DC2626;
  --color-status-blue-action: #2563EB;
  --color-status-neutral-action: #6B7280;
  --color-status-purple-action: #7C3AED;

  /* Muted text on the sidebar. The sidebar is dark in BOTH themes
   * (`--color-surface-sidebar` above), so this does not switch either — it is the
   * ink for controls that sit on that permanently dark surface. Named rather than
   * inlined so the sidebar's small controls stop carrying a raw hex each. */
  --color-text-sidebar-muted: #8695A8;

  /* Text drawn ON a saturated status colour (a filled chip, a labelled band).
   * Deliberately NOT theme-switched, and deliberately not `--color-text-inverse`:
   * the ambient status tier above is itself theme-stable — dark mode overrides only
   * the `-subtle` backgrounds — so a sage fill is the same sage in both themes and
   * needs the same light ink on it. `--color-text-inverse` flips, which would put
   * near-black on mid-sage in dark mode and fail contrast. */
  --color-text-on-status: #F7F7F5;

  /* Status (subtle backgrounds) */
  --color-status-sage-subtle: #EDF5F0;
  --color-status-amber-subtle: #FDF3E7;
  --color-status-coral-subtle: #FCEEED;
  --color-status-blue-subtle: #E8F0F6;
  --color-status-neutral-subtle: #F0F0EE;
  --color-status-purple-subtle: #F3E8FF;

  /* State patterns — part of the state vocabulary, never decoration.
     Colour alone cannot carry these two, because neither is a kind of "fine":
     a WAIVED gap is hatched and hollow so it can never read as coverage, and a
     NOT-EVALUATED share is a dotted void so unmeasured never reads as measured.
     Both survive colour-blindness and grayscale, which is the point. */
  --pattern-waived-hatch:
    repeating-linear-gradient(45deg, var(--color-status-neutral) 0 3px, transparent 3px 7px);
  --pattern-waived-hatch-fine:
    repeating-linear-gradient(45deg, var(--color-status-neutral) 0 2px, transparent 2px 4px);
  --border-unevaluated-width: 1.5px;
  --border-unevaluated: var(--border-unevaluated-width) dotted var(--color-text-tertiary);

  /* Mode */
  --color-mode-canonical: #8A8A88;
  --color-mode-framework: #7A9EC4;
  --color-mode-org: #9A82C4;

  /* Border */
  --color-border-default: #E8E8E5;
  --color-border-subtle: #F0F0EE;
  --color-border-accent: #2D5A7B;

  /* Typography */
  --font-sans: var(--font-dm-sans), -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: var(--font-jetbrains-mono), 'Fira Code', 'Consolas', monospace;

  /* Shadows */
  --shadow-none: none;
  --shadow-small: 0 1px 3px rgba(0,0,0,0.04);
  --shadow-medium: 0 2px 8px rgba(0,0,0,0.06);
  --shadow-large: 0 4px 16px rgba(0,0,0,0.08);
  --shadow-xl: 0 8px 32px rgba(0,0,0,0.12);
  --shadow-lineage-panel: -4px 0 20px rgba(0,0,0,0.06);
  --shadow-search-overlay: 0 20px 60px rgba(0,0,0,0.15);

  /* Radius */
  --radius-small: 6px;
  --radius-medium: 8px;
  --radius-large: 12px;
  --radius-full: 9999px;

  /* Motion */
  --transition-fast: 100ms ease-out;
  --transition-default: 150ms ease-out;
  --transition-slow: 200ms ease-out;
  --transition-slower: 300ms ease-in-out;

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
}

[data-theme="dark"] {
  --color-surface-page: #0F1117;
  --color-surface-card: #181B23;
  --color-surface-panel: #1E2130;
  --color-surface-sidebar: #0A0C12;
  --color-surface-topbar: rgba(15,17,23,0.85);
  --color-surface-banner-warning: #2A2418;
  --color-surface-banner-error: #2A1818;

  --color-text-primary: #E8E8E6;
  --color-text-secondary: #9A9A98;
  --color-text-tertiary: #6B6B6B;
  --color-text-inverse: #1A1A1A;
  --color-text-link: #4AABB8;

  --color-brand-accent: #3A9AAE;
  --color-brand-accent-hover: #4AABB8;
  --color-brand-accent-light: #162A30;
  --color-brand-accent-muted: #1E3640;

  --color-status-sage-subtle: #1A2A1E;
  --color-status-amber-subtle: #2A2418;
  --color-status-coral-subtle: #2A1818;
  --color-status-blue-subtle: #1A2030;
  --color-status-neutral-subtle: #1E1E20;
  --color-status-purple-subtle: #1E1830;

  --color-border-default: #2A2D35;
  --color-border-subtle: #1E2130;
  --color-border-accent: #3A9AAE;
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/design-system/css/typography.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
.entity-id,
[data-entity-id],
code,
pre {
  font-family: var(--font-mono);
  font-weight: 500;
}

.numeric,
[data-numeric],
.kpi,
.metric {
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.text-kpi-value { font-size: 24px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; }
.text-kpi-large { font-size: 20px; font-weight: 700; line-height: 1.1; }
.text-page-title { font-size: 20px; font-weight: 600; line-height: 1.2; }
.text-card-title { font-size: 14px; font-weight: 600; line-height: 1.4; }
.text-body { font-size: 13px; font-weight: 400; line-height: 1.55; }
.text-body-medium { font-size: 13px; font-weight: 500; line-height: 1.55; }
.text-secondary { font-size: 12px; font-weight: 400; line-height: 1.5; letter-spacing: 0.01em; }
.text-caption { font-size: 11px; font-weight: 400; line-height: 1.4; letter-spacing: 0.02em; }
.text-caption-medium { font-size: 11px; font-weight: 500; line-height: 1.4; letter-spacing: 0.02em; }
.text-overline { font-size: 10px; font-weight: 600; line-height: 1.3; letter-spacing: 0.08em; text-transform: uppercase; }
.text-mono-id { font-family: var(--font-mono); font-size: 12px; font-weight: 500; line-height: 1.5; }
.text-mono-small { font-family: var(--font-mono); font-size: 11px; font-weight: 400; line-height: 1.4; }

/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/design-system/css/density.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
[data-density="comfortable"] {
  --density-card-padding: 16px;
  --density-card-gap: 24px;
  --density-row-height: 44px;
  --density-table-cell-padding: 12px 16px;
  --density-nav-item-height: 40px;
}

[data-density="compact"] {
  --density-card-padding: 12px;
  --density-card-gap: 16px;
  --density-row-height: 36px;
  --density-table-cell-padding: 8px 12px;
  --density-nav-item-height: 34px;
}

[data-density="dense"] {
  --density-card-padding: 10px;
  --density-card-gap: 12px;
  --density-row-height: 30px;
  --density-table-cell-padding: 6px 10px;
  --density-nav-item-height: 30px;
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/design-system/css/scrollbar.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************/
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--color-surface-page); }
::-webkit-scrollbar-thumb { background: var(--color-border-default); border-radius: var(--radius-small); }
::-webkit-scrollbar-thumb:hover { background: var(--color-text-tertiary); }

* {
  scrollbar-color: var(--color-border-default) var(--color-surface-page);
  scrollbar-width: thin;
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/design-system/css/focus-ring.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-brand-accent), 0 0 0 4px rgba(45, 90, 123, 0.2);
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0ms !important;
    transition-duration: 0ms !important;
  }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/design-system/css/globals.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
@keyframes slideInRight {
  from { transform: translateX(380px); }
  to { transform: translateX(0); }
}

@keyframes shimmer {
  0% { background-position: -200px 0; }
  100% { background-position: calc(200px + 100%) 0; }
}

[data-section='home'] { background: rgba(45, 90, 123, 0.03); }
[data-section='work'] { background: rgba(196, 135, 46, 0.03); }
[data-section='obligations'] { background: rgba(199, 84, 80, 0.03); }
[data-section='assurance'] { background: rgba(91, 138, 111, 0.03); }
[data-section='assessment'] { background: rgba(74, 126, 197, 0.03); }
[data-section='audit'] { background: rgba(123, 107, 165, 0.03); }
[data-section='scope'] { background: rgba(138, 138, 136, 0.02); }
[data-section='admin'] { background: rgba(138, 138, 136, 0.02); }

