/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../node_modules/@fontsource/dm-sans/400.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************/
/* dm-sans-latin-ext-400-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/dm-sans-latin-ext-400-normal.d663ebe0.woff2) format('woff2'), url(/_next/static/media/dm-sans-latin-ext-400-normal.9850054c.woff) format('woff');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* dm-sans-latin-400-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/dm-sans-latin-400-normal.7abd0811.woff2) format('woff2'), url(/_next/static/media/dm-sans-latin-400-normal.6193dcef.woff) format('woff');
  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;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../node_modules/@fontsource/dm-sans/500.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************/
/* dm-sans-latin-ext-500-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/_next/static/media/dm-sans-latin-ext-500-normal.d7898f39.woff2) format('woff2'), url(/_next/static/media/dm-sans-latin-ext-500-normal.fae40d5a.woff) format('woff');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* dm-sans-latin-500-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/_next/static/media/dm-sans-latin-500-normal.210398b6.woff2) format('woff2'), url(/_next/static/media/dm-sans-latin-500-normal.1dd5b1eb.woff) format('woff');
  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;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../node_modules/@fontsource/dm-sans/600.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************/
/* dm-sans-latin-ext-600-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_next/static/media/dm-sans-latin-ext-600-normal.47d62717.woff2) format('woff2'), url(/_next/static/media/dm-sans-latin-ext-600-normal.23d427ce.woff) format('woff');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* dm-sans-latin-600-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_next/static/media/dm-sans-latin-600-normal.ad414a0a.woff2) format('woff2'), url(/_next/static/media/dm-sans-latin-600-normal.895dddc8.woff) format('woff');
  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;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../node_modules/@fontsource/dm-sans/700.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************/
/* dm-sans-latin-ext-700-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_next/static/media/dm-sans-latin-ext-700-normal.c3bb9d04.woff2) format('woff2'), url(/_next/static/media/dm-sans-latin-ext-700-normal.654517d4.woff) format('woff');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* dm-sans-latin-700-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_next/static/media/dm-sans-latin-700-normal.db6484ff.woff2) format('woff2'), url(/_next/static/media/dm-sans-latin-700-normal.beb4580c.woff) format('woff');
  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;
}
/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../node_modules/@fontsource/inter/400.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
/* inter-cyrillic-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/inter-cyrillic-ext-400-normal.f572b170.woff2) format('woff2'), url(/_next/static/media/inter-cyrillic-ext-400-normal.2a31c04b.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/inter-cyrillic-400-normal.372704ff.woff2) format('woff2'), url(/_next/static/media/inter-cyrillic-400-normal.a6b6ef6f.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/inter-greek-ext-400-normal.4ce1df5d.woff2) format('woff2'), url(/_next/static/media/inter-greek-ext-400-normal.88ede1ea.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/inter-greek-400-normal.d7020e3c.woff2) format('woff2'), url(/_next/static/media/inter-greek-400-normal.cc58c11b.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/inter-vietnamese-400-normal.de4fc44f.woff2) format('woff2'), url(/_next/static/media/inter-vietnamese-400-normal.a9dd2faf.woff) format('woff');
  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;
}

/* inter-latin-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/inter-latin-ext-400-normal.32a25442.woff2) format('woff2'), url(/_next/static/media/inter-latin-ext-400-normal.4edcaace.woff) format('woff');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/inter-latin-400-normal.ef6d3f52.woff2) format('woff2'), url(/_next/static/media/inter-latin-400-normal.2c7a775c.woff) format('woff');
  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;
}
/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../node_modules/@fontsource/inter/600.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
/* inter-cyrillic-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_next/static/media/inter-cyrillic-ext-600-normal.f7b3c15b.woff2) format('woff2'), url(/_next/static/media/inter-cyrillic-ext-600-normal.ecbdecad.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_next/static/media/inter-cyrillic-600-normal.2f42892a.woff2) format('woff2'), url(/_next/static/media/inter-cyrillic-600-normal.c3987adc.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_next/static/media/inter-greek-ext-600-normal.1f33d317.woff2) format('woff2'), url(/_next/static/media/inter-greek-ext-600-normal.089a95ee.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_next/static/media/inter-greek-600-normal.cc532937.woff2) format('woff2'), url(/_next/static/media/inter-greek-600-normal.4ec0c1c1.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_next/static/media/inter-vietnamese-600-normal.9d518599.woff2) format('woff2'), url(/_next/static/media/inter-vietnamese-600-normal.c5ce3fcb.woff) format('woff');
  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;
}

/* inter-latin-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_next/static/media/inter-latin-ext-600-normal.38b075d8.woff2) format('woff2'), url(/_next/static/media/inter-latin-ext-600-normal.49faa47a.woff) format('woff');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/_next/static/media/inter-latin-600-normal.8fb1a964.woff2) format('woff2'), url(/_next/static/media/inter-latin-600-normal.ce0f5f43.woff) format('woff');
  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;
}
/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../node_modules/@fontsource/inter/700.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
/* inter-cyrillic-ext-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_next/static/media/inter-cyrillic-ext-700-normal.74b516d2.woff2) format('woff2'), url(/_next/static/media/inter-cyrillic-ext-700-normal.4b4022a6.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_next/static/media/inter-cyrillic-700-normal.e9e5b2dc.woff2) format('woff2'), url(/_next/static/media/inter-cyrillic-700-normal.93eba3c3.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_next/static/media/inter-greek-ext-700-normal.827cd618.woff2) format('woff2'), url(/_next/static/media/inter-greek-ext-700-normal.31f1075d.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_next/static/media/inter-greek-700-normal.97f0eeeb.woff2) format('woff2'), url(/_next/static/media/inter-greek-700-normal.5ec6c758.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_next/static/media/inter-vietnamese-700-normal.faf12809.woff2) format('woff2'), url(/_next/static/media/inter-vietnamese-700-normal.bc68b199.woff) format('woff');
  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;
}

/* inter-latin-ext-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_next/static/media/inter-latin-ext-700-normal.b63daa1a.woff2) format('woff2'), url(/_next/static/media/inter-latin-ext-700-normal.93534b50.woff) format('woff');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/_next/static/media/inter-latin-700-normal.953b7aa5.woff2) format('woff2'), url(/_next/static/media/inter-latin-700-normal.9c21d4dc.woff) format('woff');
  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;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../node_modules/@fontsource/roboto-mono/400.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************/
/* roboto-mono-cyrillic-ext-400-normal */
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/roboto-mono-cyrillic-ext-400-normal.49f8f394.woff2) format('woff2'), url(/_next/static/media/roboto-mono-cyrillic-ext-400-normal.b3be1dbd.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* roboto-mono-cyrillic-400-normal */
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/roboto-mono-cyrillic-400-normal.e3924e7b.woff2) format('woff2'), url(/_next/static/media/roboto-mono-cyrillic-400-normal.3596b099.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* roboto-mono-greek-400-normal */
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/roboto-mono-greek-400-normal.d7d7f7a8.woff2) format('woff2'), url(/_next/static/media/roboto-mono-greek-400-normal.e63268a8.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* roboto-mono-vietnamese-400-normal */
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/roboto-mono-vietnamese-400-normal.ab223d42.woff2) format('woff2'), url(/_next/static/media/roboto-mono-vietnamese-400-normal.6aabeec8.woff) format('woff');
  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;
}

/* roboto-mono-latin-ext-400-normal */
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/roboto-mono-latin-ext-400-normal.f591ca2d.woff2) format('woff2'), url(/_next/static/media/roboto-mono-latin-ext-400-normal.e113fb2e.woff) format('woff');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* roboto-mono-latin-400-normal */
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/_next/static/media/roboto-mono-latin-400-normal.19c94aee.woff2) format('woff2'), url(/_next/static/media/roboto-mono-latin-400-normal.310dfc7a.woff) format('woff');
  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;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../node_modules/@fontsource/roboto-mono/500.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************/
/* roboto-mono-cyrillic-ext-500-normal */
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/_next/static/media/roboto-mono-cyrillic-ext-500-normal.1257a819.woff2) format('woff2'), url(/_next/static/media/roboto-mono-cyrillic-ext-500-normal.74070b48.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* roboto-mono-cyrillic-500-normal */
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/_next/static/media/roboto-mono-cyrillic-500-normal.3388964c.woff2) format('woff2'), url(/_next/static/media/roboto-mono-cyrillic-500-normal.9f472c34.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* roboto-mono-greek-500-normal */
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/_next/static/media/roboto-mono-greek-500-normal.555d4ee1.woff2) format('woff2'), url(/_next/static/media/roboto-mono-greek-500-normal.b56dcc75.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* roboto-mono-vietnamese-500-normal */
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/_next/static/media/roboto-mono-vietnamese-500-normal.6ce2a0af.woff2) format('woff2'), url(/_next/static/media/roboto-mono-vietnamese-500-normal.47785c19.woff) format('woff');
  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;
}

/* roboto-mono-latin-ext-500-normal */
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/_next/static/media/roboto-mono-latin-ext-500-normal.e4cbeda9.woff2) format('woff2'), url(/_next/static/media/roboto-mono-latin-ext-500-normal.5874ffe1.woff) format('woff');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* roboto-mono-latin-500-normal */
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/_next/static/media/roboto-mono-latin-500-normal.fd2d98f9.woff2) format('woff2'), url(/_next/static/media/roboto-mono-latin-500-normal.9e8c2853.woff) format('woff');
  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;
}
/*!****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./tokens.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************/
:root {
  --landing-color-paper: #f7f8fa;
  --landing-color-paper-raised: #ffffff;
  --landing-color-ink: #111722;
  --landing-color-navy: #102035;
  --landing-color-body: #526175;
  --landing-color-muted: #526175;
  --landing-color-rule: #cfd6e1;
  --landing-color-rule-strong: #bcc5d4;
  --landing-color-accent: #3154f5;
  --landing-color-accent-hover: #2646d9;
  --landing-color-accent-ink: #ffffff;
  --landing-color-mint: #4dc3a0;
  --landing-color-pale: #f0f3ff;
  --landing-color-pale-strong: #eaf0ff;
  --landing-color-focus: #3154f5;
  --landing-font-display: "DM Sans", ui-sans-serif, system-ui, sans-serif;
  --landing-font-body: "DM Sans", ui-sans-serif, system-ui, sans-serif;
  --landing-font-mono: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --landing-radius-control: .5rem;
  --landing-radius-card: .875rem;
  --landing-content-width: 83rem;
  --landing-gutter: clamp(1.25rem, 4vw, 3rem);
  --landing-section-space: clamp(4.5rem, 9vw, 8rem);
  --landing-space-xs: .5rem;
  --landing-space-sm: .75rem;
  --landing-space-md: 1rem;
  --landing-space-lg: 1.5rem;
  --landing-space-xl: 2.5rem;
  --landing-space-2xl: 4rem;
  --landing-space-3xl: clamp(4rem, 7vw, 6rem);
  --landing-duration-short: 160ms;
  --landing-ease-out: cubic-bezier(.16, 1, .3, 1);
  --landing-z-skip: 10;
}

/* Product tokens that feature stylesheets reference by role. Each color
   resolves to a theme token from globals.css at :root, so it follows both the
   light print palette and the dark screen palette without restating either,
   and stays on the pairs design-token-contrast.test.ts already gates. */
:root {
  --text-secondary: var(--muted);
  --surface-subtle: var(--bg);
  --border-strong: var(--control-border);
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************/
:root {
  color-scheme: light;
  --bg: #f6f7f8;
  --surface: #ffffff;
  --border: #d9dde3;
  --control-border: #767f8a;
  --text: #16191d;
  --muted: #65707d;
  --accent: #087f5b;
  --blue: #2563eb;
  --warning: #b45309;
  --purple: #7435b4; /* re-stepped from #6d3fc0: vs --blue, protan/deutan ΔE ≥8 and normal ≥15 (chart-fill CVD gate) */
  /* The demo class is the fifth chromatic chart fill, and the palette's four
     hues (green/blue/amber/violet) had already spent the hue space — the
     existing worst pairs sit at ΔE 9.2. So demo separates on LIGHTNESS instead:
     a deep, low-chroma sibling of the fixture amber, which is also the honest
     reading (frozen_contract_source_class maps demo onto fixture — both are
     manufactured data). Worst dichromat separation 11.2, better than the
     accent/warning and blue/purple pairs already shipping. */
  --demo: #5e462f;
  --danger: #b42318;
  --accent-soft: #e8f7f1;
  --blue-soft: #edf4ff;
  --warning-soft: #fff7e8;
  --purple-soft: #f4efff;
  --demo-soft: #f4efe9;
  --danger-soft: #fdecea;
  --focus-ring: #005fcc;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font-size: 15px; line-height: 1.5; letter-spacing: 0; }
a { color: inherit; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
/* Run ids, cohort ids, configuration ids and sha256 digests are rendered in
   <code> across the product and offer no break opportunity, so any container
   narrower than the string pushes the whole page wider than the viewport. About
   twenty contexts already opt in to this individually; making it the base for
   <code> is what stops the next surface from shipping a horizontal scrollbar on
   a phone. Contexts that deliberately set white-space: nowrap are unaffected,
   because nowrap suppresses line breaking regardless of overflow-wrap. */
code { overflow-wrap: anywhere; }
button { min-width: 44px; min-height: 44px; cursor: pointer; }
:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { min-height: 44px; }
:where(label:has(> input[type="checkbox"]), label:has(> input[type="radio"])) { min-height: 44px; }
summary { min-height: 44px; cursor: pointer; }
:where(a[href], button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.app-shell { min-height: 100vh; }
.topbar { height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; border-bottom: 1px solid var(--border); background: var(--surface); }
.brand { display: flex; align-items: baseline; gap: 12px; }
.brand span { font-size: 20px; font-weight: 800; }
.brand small { color: var(--muted); font-size: 12px; }
.top-actions { display: flex; align-items: center; gap: 8px; }
.icon-button { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--border); background: var(--surface); border-radius: 6px; }
.icon-button:hover { border-color: #9aa3ad; }
.health { display: flex; align-items: center; gap: 7px; padding: 0 8px; color: var(--muted); font-size: 12px; text-transform: capitalize; }
.health i { width: 8px; height: 8px; border-radius: 50%; background: var(--warning); }
.health.ready i { background: var(--accent); }
.health .health-source { text-transform: none; }
.tabs { height: 46px; display: flex; gap: 24px; padding: 0 24px; border-bottom: 1px solid var(--border); background: var(--surface); }
.tabs button { min-height: 44px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font-size: 13px; font-weight: 650; }
.tabs button.active { color: var(--text); border-bottom-color: var(--accent); }
.content { width: min(1440px, 100%); margin: 0 auto; padding: 28px 32px 56px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 20px; }
.section-heading h1 { margin: 2px 0 0; font-size: 26px; line-height: 1.2; }
.eyebrow { margin: 0; color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.eyebrow-preserve-case { text-transform: none; letter-spacing: .02em; }
.profile { border: 1px solid var(--border); border-radius: 5px; background: var(--surface); padding: 6px 9px; color: var(--muted); font: 600 12px ui-monospace, monospace; }
.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--border); background: var(--surface); }
.stats article { min-height: 124px; padding: 18px; border-right: 1px solid var(--border); }
.stats article:last-child { border-right: 0; }
.stats svg { color: var(--accent); }
.stats span { display: block; margin-top: 14px; color: var(--muted); font-size: 12px; }
.stats strong { display: block; margin-top: 3px; font-size: 27px; }
.split { display: grid; grid-template-columns: minmax(0, 3fr) minmax(240px, 1fr); gap: 28px; margin-top: 32px; }
h2 { margin: 0 0 12px; font-size: 15px; }
.table-wrap { overflow: auto; border: 1px solid var(--border); background: var(--surface); }
table { width: 100%; border-collapse: collapse; font-size: 12px; }
th { background: #f0f2f4; color: var(--muted); font-size: 10px; text-align: left; text-transform: uppercase; }
th, td { max-width: 320px; padding: 10px 12px; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; white-space: normal; }
th.numeric, td.numeric { white-space: nowrap; }
tbody tr:last-child td { border-bottom: 0; }
.empty { height: 96px; color: var(--muted); text-align: center; }
.status-list { border-top: 1px solid var(--border); }
.status-list div { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--border); font-size: 12px; text-transform: capitalize; }
.status-list b { color: var(--accent); }
.system-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.system-grid article { display: grid; grid-template-columns: 30px minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); padding: 14px; }
.system-grid svg { grid-row: 1 / 4; width: 20px; color: var(--blue); }
.system-grid h2 { margin: 0; }
.system-grid p { min-height: 0; margin: 2px 0; color: var(--muted); font-size: 12px; }
.system-grid b { font: 650 13px ui-monospace, monospace; }
.alert, .error { margin-bottom: 20px; padding: 11px 13px; border: 1px solid var(--danger); border-radius: 7px; background: var(--danger-soft); color: var(--danger); font-size: 13px; }
.alert > strong, .error > strong { display: block; margin-bottom: 2px; }
.alert > p, .error > p { margin: 3px 0 0; color: var(--danger); }
.global-request-error { display: grid; gap: 5px; }
.global-request-error > span { color: var(--text); }
.global-request-error details { color: var(--muted); }
.global-request-error code { display: block; margin-top: 5px; overflow-wrap: anywhere; white-space: normal; }
.loading { min-height: 100vh; display: grid; place-items: center; color: var(--muted); }
.recovery-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: var(--bg); }
.recovery-card { width: min(100%, 520px); border: 1px solid var(--border); border-top: 4px solid var(--accent); border-radius: 9px; background: var(--surface); padding: 28px; box-shadow: 0 14px 36px rgb(15 23 42 / 9%); }
.recovery-eyebrow { margin: 0; color: var(--accent); font-size: 11px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.recovery-card h1 { margin: 7px 0 0; font-size: 27px; letter-spacing: -.02em; }
.recovery-card > p:not(.recovery-eyebrow) { margin: 10px 0 0; color: var(--muted); line-height: 1.55; }
.recovery-actions { display: flex; gap: 10px; margin-top: 22px; }
.recovery-actions > * { min-height: 44px; display: inline-flex; flex: 1 1; align-items: center; justify-content: center; text-decoration: none; }
.recovery-details { margin-top: 18px; border-top: 1px solid var(--border); padding-top: 14px; }
.recovery-details summary { cursor: pointer; color: var(--muted); font-size: 12px; font-weight: 700; }
.recovery-details p { margin: 9px 0 0; color: var(--muted); font-size: 12px; }
.recovery-details code { overflow-wrap: anywhere; }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: #eef1f3; }
:root[data-theme="light"] .login-shell {
  --bg: var(--landing-color-paper);
  --surface: var(--landing-color-paper-raised);
  --border: var(--landing-color-rule);
  --control-border: var(--landing-color-rule-strong);
  --text: var(--landing-color-ink);
  --muted: var(--landing-color-body);
  --accent: var(--landing-color-accent);
  --accent-soft: var(--landing-color-pale);
  --focus-ring: var(--landing-color-focus);
  background: var(--bg);
  color: var(--text);
  font-family: var(--landing-font-body);
}
.login-panel { width: min(400px, 100%); border: 1px solid var(--border); border-radius: 7px; background: var(--surface); padding: 30px; box-shadow: 0 14px 38px rgb(0 0 0 / 8%); }
.login-panel h1 { margin: 8px 0; font-size: 30px; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 6px; background: #dff5ec; color: var(--accent); }
.muted { color: var(--muted); font-size: 13px; line-height: 1.5; }
.login-sso-button { min-height: 44px; display: flex; align-items: center; justify-content: center; margin-top: 24px; border-radius: 5px; background: var(--accent); color: #fff; font-weight: 750; text-decoration: none; }
.login-divider { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin-top: 22px; color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.login-divider::before, .login-divider::after { height: 1px; background: var(--border); content: ""; }
.login-token-heading { margin: 0 0 12px; color: var(--muted); font-size: 12px; font-weight: 750; }
.login-panel > .error { margin-top: 20px; margin-bottom: 0; }
.login-recovery { margin-top: 20px; border: 1px solid color-mix(in srgb, var(--warning) 42%, var(--border)); border-radius: 6px; background: color-mix(in srgb, var(--warning) 8%, var(--surface)); padding: 12px 14px; }
.login-recovery strong { display: block; color: var(--text); font-size: 14px; }
.login-recovery p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.login-panel form { margin-top: 24px; }
.login-divider + form { margin-top: 18px; }
.login-panel label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 700; }
.login-panel input { width: 100%; height: 44px; border: 1px solid var(--control-border); border-radius: 5px; padding: 0 10px; }
.login-panel form button, .loading button { width: 100%; height: 44px; margin-top: 14px; border: 0; border-radius: 5px; background: var(--accent); color: white; font-weight: 700; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }
.skip-link { position: fixed; top: 8px; left: 12px; z-index: 200; transform: translateY(-160%); border-radius: 6px; background: var(--text); padding: 8px 12px; color: white; font-size: 14px; font-weight: 700; text-decoration: none; }
.skip-link:focus { transform: translateY(0); }
.product-shell { min-height: 100vh; display: grid; grid-template-columns: 224px minmax(0, 1fr); grid-template-rows: 64px auto minmax(0, 1fr); background: var(--bg); }
.demo-banner { display: flex; align-items: center; gap: 9px; padding: 8px 20px; background: #b45309; color: #fff8ef; border-bottom: 1px solid rgb(0 0 0 / 22%); }
.demo-banner svg { flex: 0 0 auto; opacity: 0.95; }
.demo-banner p { margin: 0; min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 9px; font-size: 12px; line-height: 1.4; }
.demo-banner strong { font-weight: 750; text-transform: uppercase; letter-spacing: 0.05em; }
.demo-banner span { opacity: 1; }
.insecure-auth-banner { padding: 8px 20px; background: #991b1b; color: #fff7f7; border-bottom: 1px solid rgb(0 0 0 / 24%); }
.insecure-auth-banner p { margin: 0; display: flex; flex-wrap: wrap; gap: 3px 9px; font-size: 12px; line-height: 1.4; }
.insecure-auth-banner strong { font-weight: 750; text-transform: uppercase; letter-spacing: 0.05em; }
.insecure-auth-banner span { opacity: 0.95; }
.product-topbar { position: sticky; top: 0; z-index: 100; grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border); background: rgb(255 255 255 / 96%); padding: 0 22px; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.product-brand { min-width: 0; min-height: 44px; display: flex; align-items: center; gap: 12px; color: var(--text); text-decoration: none; }
.product-brand strong { font-size: 22px; font-weight: 800; letter-spacing: -.04em; }
.product-brand span { overflow: hidden; color: var(--muted); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.product-top-actions { min-width: 0; display: flex; align-items: center; gap: 8px; }
/* The topbar identity is caller-supplied and can be a long principal name
   (`deployment-access-token` is 23 characters). Without a shrink floor the
   actions row cannot get smaller than its content and pushes the document
   past a 390px viewport. Icon buttons keep their hit area; everything else
   truncates rather than overflowing. Dialogs render in the top layer and must
   keep normal text wrapping instead of inheriting header-label truncation.
   The desktop session disclosure keeps its compact summary, while its anchored
   panel must escape the action row and restore normal wrapping. */
.product-top-actions > * { min-width: 0; }
.product-top-actions > .icon-button { flex: 0 0 auto; }
.product-top-actions > :not(.icon-button):not(dialog) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-top-actions > .guidance-info.inline { overflow: visible; text-overflow: clip; white-space: normal; }
.product-top-actions > details.session-identity { overflow: visible; }
.product-top-actions > details.product-overflow { position: relative; flex: 0 0 auto; overflow: visible; }
.product-overflow > summary { list-style: none; cursor: pointer; color: var(--text); }
.product-overflow > summary::-webkit-details-marker { display: none; }
.product-overflow-panel { position: absolute; right: 0; top: calc(100% + 6px); z-index: 120; display: grid; gap: 10px; width: max-content; min-width: 220px; max-width: calc(100vw - 28px); padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); box-shadow: 0 14px 40px rgb(0 0 0 / 28%); white-space: normal; }
.product-overflow-panel > .secondary-button { justify-content: center; }
.product-overflow-panel .session-identity > summary { max-width: none; }
.product-overflow-panel .session-identity-panel { position: static; width: auto; max-height: 50vh; margin-top: 8px; box-shadow: none; }
.global-context { position: sticky; top: 64px; z-index: 90; grid-column: 1 / -1; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--border); background: #fffdf9; padding: 6px 22px; }
.global-context.eligible { background: #fbfffd; }
.global-context-trust { min-width: 0; display: flex; align-items: center; gap: 10px; }
.global-context-trust > i { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: var(--warning); box-shadow: 0 0 0 4px rgb(180 83 9 / 10%); }
.global-context.eligible .global-context-trust > i { background: var(--accent); box-shadow: 0 0 0 4px rgb(8 127 91 / 10%); }
.global-context.neutral .global-context-trust > i { background: var(--muted); box-shadow: 0 0 0 4px rgb(100 116 139 / 10%); }
.global-context-trust div { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 9px; }
.global-context-trust strong { font-size: 13px; white-space: nowrap; }
.global-context-trust span { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.global-context > dl { flex: 0 0 auto; display: flex; align-items: center; margin: 0; }
.global-context > dl > div { display: flex; align-items: baseline; gap: 5px; border-left: 1px solid var(--border); padding: 0 12px; }
.global-context > dl dt { color: var(--muted); font-size: 12px; }
.global-context > dl dd { margin: 0; font-size: 13px; font-weight: 700; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.global-context > dl > div:first-child { border-left: 0; padding-left: 0; }
.global-context-lead dd { font-size: 16px; }
.global-context-receipt { flex: 0 1 auto; min-width: 0; max-width: 54%; display: flex; align-items: center; gap: 14px; margin-left: auto; }
.global-context-receipt > .secondary-button { min-height: 44px; flex: 0 0 auto; white-space: nowrap; }
.strip-cta { min-height: 44px; display: inline-flex; align-items: center; gap: 5px; padding: 6px 13px; border-radius: 6px; background: var(--accent); color: #fff; font-size: 13px; font-weight: 700; white-space: nowrap; }
.strip-cta:hover { filter: brightness(1.06); }
.product-sidebar { position: sticky; top: 112px; align-self: start; height: calc(100vh - 112px); display: flex; flex-direction: column; justify-content: space-between; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; border-right: 1px solid var(--border); background: var(--surface); padding: 22px 14px 18px; }
.mobile-nav-toggle { display: none; }
.product-sidebar nav { min-width: 0; }
.product-nav-group + .product-nav-group { margin-top: 20px; }
.product-sidebar ul { display: grid; gap: 4px; margin: 8px 0 0; padding: 0; list-style: none; }
.nav-group-label { display: block; margin: 0; padding: 0 10px; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.product-nav-link { min-height: 44px; display: flex; align-items: center; gap: 11px; border-radius: 7px; padding: 0 11px; color: #4d5966; font-size: 14px; font-weight: 650; text-decoration: none; }
.product-nav-link:hover { background: #f0f3f5; color: var(--text); }
.product-nav-link[aria-current="page"] { background: var(--accent-soft); color: #066446; box-shadow: inset 3px 0 0 var(--accent); }
.product-nav-link svg { flex: 0 0 auto; }

/* A destination this session cannot load stays in the sidebar and stays a real
   link — the destination names the exact access it needs. Same contract as
   .section-withheld on the source tabs. */
.product-nav-link.nav-withheld { opacity: 0.72; }
.product-nav-link.nav-withheld:hover { opacity: 1; }
.product-nav-link .nav-withheld-lock { margin-left: auto; color: var(--warning); }
.admin-navigation { display: grid; gap: 8px; border-top: 1px solid var(--border); padding-top: 16px; }
.product-main { min-width: 0; width: 100%; max-width: 1640px; scroll-margin-top: 120px; padding: 24px clamp(22px, 3.2vw, 52px) 64px; }
.product-main:focus-visible { outline-offset: -4px; }
.view-heading { margin-bottom: 20px; }
.view-heading > p, .card-heading p, .summary-card p { margin: 0; color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.view-heading h1 { margin: 3px 0 0; font-size: clamp(28px, 3vw, 36px); line-height: 1.18; letter-spacing: -.025em; }
.view-heading > span { display: block; max-width: 850px; margin-top: 8px; color: #52606d; font-size: 15px; line-height: 1.55; }
.view-stack { display: grid; gap: 20px; }
.summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.summary-card { min-width: 0; min-height: 158px; display: grid; grid-template-columns: 36px minmax(0, 1fr); align-content: start; gap: 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 17px; box-shadow: 0 1px 2px rgb(0 0 0 / 3%); }
.summary-card-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 7px; background: #eef3f7; color: #415363; }
/* Why a retained-summary value is absent. The projection supplies this text and
   the card used to carry it in a title tooltip only, where it reached neither a
   screenshot nor a keyboard user. It sits under a "Not observed" value, so it
   must wrap rather than widen the card. */
.summary-card-gap-note { display: block; margin-top: 6px; overflow-wrap: anywhere; color: var(--muted); font-size: 11px; font-weight: 400; line-height: 1.4; }
.summary-card.positive .summary-card-icon { background: var(--accent-soft); color: var(--accent); }
.summary-card.warning .summary-card-icon { background: var(--warning-soft); color: var(--warning); }
.summary-card.purple .summary-card-icon { background: var(--purple-soft); color: var(--purple); }
.summary-card p { margin-top: 1px; }
.summary-card strong { display: block; margin-top: 8px; font-size: 20px; line-height: 1.25; letter-spacing: -.015em; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.summary-card div > span { display: block; margin-top: 7px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.content-grid { display: grid; gap: 20px; }
.content-grid.two-one { grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); }
.content-card { min-width: 0; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 18px; box-shadow: 0 1px 2px rgb(0 0 0 / 3%); }
.capacity-workspace { max-width: 1480px; }
.capacity-workspace .alert > small { display: block; margin-top: 3px; }
.capacity-workspace [id] { scroll-margin-top: 116px; }
.capacity-section-nav { min-width: 0; display: flex; gap: 4px; overflow-x: auto; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 5px; box-shadow: 0 1px 2px rgb(0 0 0 / 3%); scrollbar-width: thin; }
.capacity-section-nav a { flex: 0 0 auto; border-radius: 5px; padding: 8px 11px; color: var(--muted); font-size: 12px; font-weight: 700; text-decoration: none; }
.capacity-section-nav a:hover, .capacity-section-nav a:focus-visible { background: var(--blue-soft); color: var(--text); }
.capacity-finding-summary { display: grid; gap: 4px; margin-bottom: 12px; border-left: 3px solid var(--warning); background: var(--bg); padding: 11px 13px; }
.capacity-finding-summary strong { color: var(--text); font-size: 13px; line-height: 1.4; }
.capacity-finding-summary span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.capacity-finding-details { margin-top: 12px; border-top: 1px solid var(--border); padding-top: 12px; }
.capacity-finding-details > summary { min-height: 44px; display: flex; align-items: center; width: fit-content; color: var(--blue); font-size: 13px; font-weight: 750; cursor: pointer; }
.capacity-finding-details > p { margin: 0 0 12px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.capacity-money-shot { min-width: 0; border: 1px solid var(--border); border-left: 4px solid var(--blue); border-radius: 8px; background: var(--surface); padding: 20px; box-shadow: 0 1px 2px rgb(0 0 0 / 4%); }
.capacity-money-shot[data-state="improved"] { border-left-color: var(--accent); }
.capacity-money-shot[data-state="regressed"] { border-left-color: var(--danger); }
.capacity-money-shot[data-state="unchanged"] { border-left-color: var(--warning); }
.capacity-money-shot-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.capacity-money-shot-heading > div { min-width: 0; }
.capacity-money-shot-heading p { margin: 0; color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.capacity-money-shot-heading h2 { margin: 5px 0 0; max-width: 920px; font-size: clamp(24px, 3vw, 34px); line-height: 1.16; letter-spacing: -.025em; }
.capacity-money-shot-heading span { display: block; max-width: 960px; margin-top: 9px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.capacity-money-shot-heading > strong { flex: 0 0 auto; border: 1px solid currentColor; border-radius: 999px; padding: 6px 10px; color: var(--blue); font-size: 11px; }
.capacity-money-shot[data-state="improved"] .capacity-money-shot-heading > strong { color: var(--accent); }
.capacity-money-shot[data-state="regressed"] .capacity-money-shot-heading > strong { color: var(--danger); }
.capacity-money-shot[data-state="unchanged"] .capacity-money-shot-heading > strong { color: var(--warning); }
.capacity-money-shot > dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 20px 0 0; border: 1px solid var(--border); background: var(--surface); }
.capacity-money-shot > dl > div { min-width: 0; border-right: 1px solid var(--border); padding: 14px; }
.capacity-money-shot > dl > div:last-child { border-right: 0; }
.capacity-money-shot dt { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.capacity-money-shot dd { margin: 6px 0 0; overflow-wrap: anywhere; font-size: 20px; font-weight: 750; line-height: 1.25; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.capacity-money-shot > p { margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.capacity-primary-next-step { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 16px; border-top: 1px solid var(--border); padding-top: 15px; }
.capacity-primary-next-step > div { min-width: 0; display: grid; gap: 3px; }
.capacity-primary-next-step strong { font-size: 13px; }
.capacity-primary-next-step span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.capacity-primary-next-step .primary-button { min-height: 44px; flex: 0 0 auto; text-decoration: none; }
.capacity-evidence-status { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 18px; border: 1px solid var(--border); border-left: 4px solid var(--warning); border-radius: 8px; background: var(--surface); padding: 14px 16px; }
.capacity-evidence-status[data-state="unavailable"] { border-left-color: var(--danger); }
.capacity-evidence-status[data-state="development"] { border-left-color: var(--demo); }
.capacity-evidence-status > div { min-width: 0; display: grid; align-content: start; gap: 4px; }
.capacity-evidence-status strong { font-size: 13px; }
.capacity-evidence-status span { color: var(--muted); font-size: 11px; line-height: 1.45; }
.capacity-evidence-status ul { display: grid; gap: 5px; margin: 0; padding-left: 18px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.capacity-loss-summary .summary-card { min-height: 132px; }
.capacity-operating-loop > ol { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 16px 0 0; border: 1px solid var(--border); padding: 0; list-style: none; }
.capacity-operating-loop > ol > li { min-width: 0; display: grid; grid-template-columns: 26px minmax(0, 1fr); align-content: start; gap: 9px; border-right: 1px solid var(--border); padding: 14px; }
.capacity-operating-loop > ol > li:last-child { border-right: 0; }
.capacity-operating-loop > ol > li[data-state="current"] { box-shadow: inset 0 3px 0 var(--accent); }
.capacity-operating-loop > ol > li[data-state="review"] { box-shadow: inset 0 3px 0 var(--blue); }
.capacity-operating-loop > ol > li[data-state="blocked"], .capacity-operating-loop > ol > li[data-state="unavailable"] { box-shadow: inset 0 3px 0 var(--warning); }
.capacity-operating-loop > ol > li[data-state="policy"] { box-shadow: inset 0 3px 0 var(--purple); }
.capacity-stage-index { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; color: var(--muted); font-size: 11px; font-weight: 750; }
.capacity-operating-loop li > div { min-width: 0; display: grid; align-content: start; gap: 4px; }
.capacity-operating-loop li p { margin: 0; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.capacity-operating-loop li strong { overflow-wrap: anywhere; font-size: 13px; line-height: 1.35; }
.capacity-operating-loop li small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.capacity-operating-boundary { margin: 13px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.capacity-selection-boundary { border-left: 3px solid var(--warning); padding-left: 9px; color: var(--text) !important; }
.capacity-probe-journey .card-heading { align-items: center; }
.capacity-evidence-class { flex: 0 0 auto; border: 1px solid var(--border); border-radius: 999px; padding: 5px 9px; color: var(--muted); font-size: 11px; font-weight: 750; display: inline-flex; align-items: center; gap: 5px; }
/* Wave 2 W1 autonomy panel */
.optimization-autonomy-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin: 14px 0; }
.optimization-autonomy-grid div { border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; }
.optimization-autonomy-grid dt { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; }
.optimization-autonomy-grid dd { margin: 4px 0 0; font-size: 15px; font-weight: 650; }
.optimization-autonomy-reasons { border: 1px solid #e3bb78; background: var(--warning-soft); border-radius: 10px; padding: 12px 14px; }
.optimization-autonomy-reasons h3 { margin: 0 0 6px; font-size: 13px; color: var(--warning); }
.optimization-autonomy-reasons ul { margin: 0; padding-left: 18px; color: var(--warning); font-size: 13px; }
.optimization-autonomy-digest { color: var(--muted); font-size: 12px; margin-top: 12px; }
.optimization-autonomy-digest code { font-size: 11px; }
/* Wave 2 W2 revisions panel */
.optimization-revision-list { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 14px; min-width: 0; }
.optimization-revision { border: 1px solid var(--border); border-radius: 12px; padding: 14px 16px; min-width: 0; }
.optimization-revision-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; justify-content: space-between; min-width: 0; }
.optimization-revision-heading h3 { margin: 0; font-size: 15px; overflow-wrap: anywhere; }
.optimization-revision-lineage { color: var(--muted); font-size: 12px; min-width: 0; overflow-wrap: anywhere; }
.optimization-revision-lineage code { font-size: 11px; }
.optimization-revision-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin: 12px 0; }
.optimization-revision-grid dt { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; }
.optimization-revision-grid dd { margin: 3px 0 0; font-size: 13px; font-weight: 600; }
.optimization-revision-arms { margin-top: 6px; }
.optimization-revision-provenance { border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; margin-top: 12px; background: var(--surface-muted, transparent); }
.optimization-revision-provenance h4 { margin: 0 0 8px; font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.03em; }
.optimization-revision-provenance dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin: 0; }
.optimization-revision-provenance dt { color: var(--muted); font-size: 11px; font-weight: 700; }
.optimization-revision-provenance dd { margin: 2px 0 0; font-size: 12px; word-break: break-word; }
.capacity-evidence-class[data-evidence="measured-live"],
.capacity-evidence-class[data-evidence="retained-measured"] { border-color: #8fcdb9; background: var(--accent-soft); color: var(--accent); }
.capacity-evidence-class[data-evidence="synthetic-development"] { border-color: #e3bb78; background: var(--warning-soft); color: var(--warning); }
.capacity-evidence-class[data-evidence="demo"] { border-color: #cbbca6; background: var(--demo-soft); color: var(--demo); }
.capacity-evidence-class[data-evidence="unavailable"],
.capacity-evidence-class[data-evidence="pending"] { background: #f3f5f7; }
.capacity-probe-command { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 14px 0 0; border: 1px solid #8fcdb9; border-left: 4px solid var(--accent); border-radius: 7px; background: var(--accent-soft); padding: 15px; }
.capacity-probe-command[data-evidence="synthetic-development"], .capacity-probe-command[data-evidence="external-asserted"], .capacity-probe-command[data-evidence="pending"], .capacity-probe-command[data-evidence="unavailable"], .capacity-probe-command[data-state="stopped"] { border-color: #e3bb78; border-left-color: var(--warning); background: var(--warning-soft); }
.capacity-probe-command > div { min-width: 0; display: grid; gap: 4px; }
.capacity-probe-command p { margin: 0; color: var(--accent); font-size: 10px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.capacity-probe-command[data-evidence="synthetic-development"] p, .capacity-probe-command[data-evidence="external-asserted"] p, .capacity-probe-command[data-evidence="pending"] p, .capacity-probe-command[data-evidence="unavailable"] p, .capacity-probe-command[data-state="stopped"] p { color: var(--warning); }
.capacity-probe-command h3 { margin: 0; font-size: 18px; line-height: 1.3; }
.capacity-probe-command span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.capacity-probe-command .capacity-probe-advance { min-height: 44px; margin: 0; flex: 0 0 auto; }
.capacity-probe-command + .capacity-inline-error { display: block; margin-top: 8px; }
.capacity-probe-progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 12px 0 0; border: 1px solid var(--border); }
.capacity-probe-progress > div { min-width: 0; display: grid; gap: 5px; border-right: 1px solid var(--border); padding: 11px; }
.capacity-probe-progress > div:last-child { border-right: 0; }
.capacity-probe-progress dt { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.capacity-probe-progress dd { margin: 0; overflow-wrap: anywhere; font-size: 13px; font-weight: 750; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.capacity-probe-progress progress { width: 100%; height: 5px; accent-color: var(--accent); }
.capacity-variant-frontier { margin-top: 14px; border: 1px solid var(--border); border-radius: 7px; padding: 14px; }
.capacity-variant-frontier > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.capacity-variant-frontier > header > div { min-width: 0; }
.capacity-variant-frontier h3 { margin: 0; font-size: 15px; }
.capacity-variant-frontier header p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.capacity-variant-frontier header > span { flex: 0 0 auto; border-radius: 999px; background: var(--blue-soft); padding: 4px 8px; color: var(--blue); font-size: 10px; font-weight: 750; }
.capacity-variant-table { min-width: 900px; margin-top: 12px; }
.capacity-variant-table td:first-child { display: grid; gap: 2px; }
.capacity-variant-table td:first-child small { color: var(--muted); }
.capacity-variant-table tr[data-selected="true"] { background: var(--accent-soft); }
.capacity-variant-table [data-disposition="Qualified for frontier"] { color: var(--accent); font-weight: 750; }
.capacity-variant-table [data-disposition="Excluded"] { color: var(--danger); font-weight: 750; }
.capacity-variant-table [data-disposition="Pending evidence"] { color: var(--warning); font-weight: 750; }
.capacity-action-separation { margin: 12px 0 0; border-left: 3px solid var(--blue); background: var(--blue-soft); padding: 9px 11px; color: var(--text); font-size: 11px; line-height: 1.45; }
.capacity-probe-empty { margin: 0; border-left: 3px solid var(--muted); padding: 10px 12px; color: var(--muted); font-size: 13px; }
.capacity-probe-stages { display: grid; gap: 0; margin: 0; border: 1px solid var(--border); padding: 0; list-style: none; }
.capacity-probe-stages > li { min-width: 0; border-top: 1px solid var(--border); padding: 16px; }
.capacity-probe-stages > li:first-child { border-top: 0; }
.capacity-probe-stage-heading { display: flex; align-items: flex-start; gap: 10px; }
.capacity-probe-stage-heading > span { width: 25px; height: 25px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; color: var(--muted); font-size: 11px; font-weight: 750; }
.capacity-probe-stage-heading > div { min-width: 0; }
.capacity-probe-stage-heading p { margin: 0; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.capacity-probe-stage-heading h3 { margin: 3px 0 0; overflow-wrap: anywhere; font-size: 15px; line-height: 1.35; }
.capacity-probe-stages > li > dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 13px 0 0; border: 1px solid var(--border); }
.capacity-probe-stages > li > dl > div { min-width: 0; border-right: 1px solid var(--border); padding: 10px; }
.capacity-probe-stages > li > dl > div:last-child { border-right: 0; }
.capacity-probe-stages dt { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.capacity-probe-stages dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 12px; font-weight: 700; }
.capacity-probe-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.capacity-probe-metrics li { min-width: 0; display: grid; gap: 3px; border-left: 2px solid var(--blue); background: var(--blue-soft); padding: 9px; }
.capacity-probe-metrics span, .capacity-probe-metrics small { overflow-wrap: anywhere; color: var(--muted); font-size: 10px; }
.capacity-probe-metrics strong { overflow-wrap: anywhere; font-size: 12px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.capacity-hypothesis-list, .capacity-posterior-change, .capacity-automation-reasons { display: grid; gap: 0; margin: 12px 0 0; padding: 0; list-style: none; }
.capacity-hypothesis-list li { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; border-top: 1px solid var(--border); padding: 10px 0; }
.capacity-hypothesis-list li:first-child { border-top: 0; }
.capacity-hypothesis-list li > div { min-width: 0; display: grid; gap: 3px; }
.capacity-hypothesis-list span { color: var(--muted); font-size: 11px; line-height: 1.4; }
.capacity-hypothesis-list b { flex: 0 0 auto; font-size: 13px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.capacity-probe-reason { margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.capacity-probe-advance { margin-top: 12px; }
.capacity-probe-advance + .capacity-inline-error { display: block; margin-top: 8px; }
.capacity-probe-table, .capacity-frontier-table { min-width: 760px; margin-top: 13px; }
.capacity-probe-table tr[data-selected="true"],
.capacity-frontier-table tr[data-selected="true"] { background: var(--accent-soft); }
.capacity-posterior-change { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.capacity-posterior-change li { min-width: 0; display: grid; gap: 3px; border: 1px solid var(--border); padding: 9px; }
.capacity-posterior-change span { font-size: 12px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.capacity-posterior-change small { overflow-wrap: anywhere; color: var(--muted); font-size: 10px; }
.capacity-automation-reasons li { position: relative; padding: 4px 0 4px 14px; color: var(--muted); font-size: 11px; }
.capacity-automation-reasons li::before { position: absolute; left: 1px; content: "•"; }
.capacity-evidence-warning, .capacity-quality-state, .capacity-authority-note { display: flex; align-items: flex-start; gap: 9px; border: 1px solid #e3bb78; border-radius: 7px; background: var(--warning-soft); padding: 11px 13px; color: var(--warning); }
/* The bold lead in these notes is a full claim, not a short tag, so it can be
   wider than the explanation beside it. Let the pair reflow onto two lines
   instead of pinning the lead at max-content and squeezing the explanation
   into a narrow ragged column (or overflowing a narrow grid column). */
.capacity-evidence-warning, .capacity-quality-state { flex-wrap: wrap; row-gap: 4px; }
.capacity-evidence-warning strong, .capacity-quality-state strong { flex: 0 1 auto; }
.capacity-evidence-warning > span, .capacity-quality-state > span { flex: 1 1 22em; }
.capacity-evidence-warning span { color: inherit; }
.capacity-quality-state { border-color: var(--border); border-left: 3px solid var(--warning); background: var(--surface); color: var(--text); }
.capacity-quality-state span { color: var(--muted); }
.content-grid.two-one.capacity-evidence-grid { grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr); }
.capacity-source-table { min-width: 640px; table-layout: fixed; }
.capacity-source-table th:nth-child(1) { width: 28%; }
.capacity-source-table th:nth-child(2) { width: 21%; }
.capacity-source-table th:nth-child(3) { width: 11%; }
.capacity-source-table th:nth-child(4) { width: 14%; }
.capacity-source-table th:nth-child(5) { width: 13%; }
.capacity-source-table th:nth-child(6) { width: 13%; }
.capacity-accounting, .capacity-cost { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); }
.capacity-cost { grid-template-columns: 1fr; }
.capacity-accounting > div, .capacity-cost > div { min-width: 0; border-right: 1px solid var(--border); padding: 13px; }
.capacity-accounting > div:last-child, .capacity-cost > div:last-child { border-right: 0; }
.capacity-cost > div { border-right: 0; border-bottom: 1px solid var(--border); }
.capacity-cost > div:last-child { border-bottom: 0; }
.capacity-accounting dt, .capacity-cost dt { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.capacity-accounting dd, .capacity-cost dd { margin: 4px 0 0; font-size: 20px; font-weight: 750; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.capacity-cost small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
.capacity-window, .capacity-limitation { margin: 11px 0 0; color: var(--muted); font-size: 12px; }
.capacity-record-list, .capacity-plan-list, .capacity-action-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.capacity-record-list li, .capacity-plan-list > li, .capacity-action-list > li { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; border-top: 1px solid var(--border); padding: 12px 0; }
.capacity-record-list li:first-child, .capacity-plan-list > li:first-child, .capacity-action-list > li:first-child { border-top: 0; }
.capacity-record-list li > span, .capacity-action-list li div > span { color: var(--muted); font-size: 12px; }
.capacity-plan-list li > div, .capacity-action-list li > div { min-width: 0; display: grid; gap: 3px; }
.capacity-record-list li > *, .capacity-plan-list li > div > *, .capacity-action-list li > div > * { min-width: 0; overflow-wrap: anywhere; }
.capacity-plan-list li div > span, .capacity-plan-list li > small, .capacity-action-list li div > small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.capacity-control-lanes { display: grid; gap: 18px; margin-top: 14px; }
.capacity-control-lanes > section + section { border-top: 1px solid var(--border); padding-top: 15px; }
.capacity-control-lanes h3 { margin: 0 0 5px; font-size: 12px; }
.capacity-authority-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.capacity-authority-split > div { min-width: 0; display: grid; align-content: start; gap: 4px; border: 1px solid var(--border); border-top: 3px solid var(--blue); border-radius: 7px; padding: 12px; }
.capacity-authority-split > div:last-child { border-top-color: var(--accent); }
.capacity-authority-split span { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.capacity-authority-split strong { font-size: 13px; }
.capacity-authority-split p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.capacity-automation-boundary { margin: 0; border-left: 3px solid var(--blue); background: var(--blue-soft); padding: 9px 11px; color: var(--text); font-size: 12px; line-height: 1.45; }
.capacity-empty { color: var(--muted); font-size: 13px; }
.capacity-action-list > .capacity-action-record { display: grid; gap: 12px; }
.capacity-action-record-heading { min-width: 0; display: grid; gap: 3px; }
.capacity-action-bounds { display: grid; grid-template-columns: minmax(120px, .7fr) minmax(120px, .7fr) minmax(220px, 1.6fr); margin: 0; border: 1px solid var(--border); }
.capacity-action-bounds > div { min-width: 0; border-right: 1px solid var(--border); padding: 9px; }
.capacity-action-bounds > div:last-child { border-right: 0; }
.capacity-action-bounds dt { color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.capacity-action-bounds dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 11px; line-height: 1.4; }
.capacity-action-journey { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); padding: 0; list-style: none; }
.capacity-action-journey li { min-width: 0; display: grid; align-content: start; gap: 4px; border-right: 1px solid var(--border); padding: 9px; }
.capacity-action-journey li:last-child { border-right: 0; }
.capacity-action-journey li[data-state="complete"] { box-shadow: inset 0 3px 0 var(--accent); }
.capacity-action-journey li[data-state="current"] { box-shadow: inset 0 3px 0 var(--blue); }
.capacity-action-journey li[data-state="blocked"], .capacity-action-journey li[data-state="stopped"] { box-shadow: inset 0 3px 0 var(--danger); }
.capacity-action-journey li > span { color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.capacity-action-journey li > strong { font-size: 10px; line-height: 1.4; }
.capacity-action-controls { display: flex; align-items: center; gap: 10px; }
.capacity-approval { width: min(430px, 100%); }
.capacity-approval summary { min-height: 44px; display: flex; align-items: center; color: var(--blue); font-size: 12px; font-weight: 700; cursor: pointer; }
.capacity-approval form { display: grid; gap: 9px; margin-top: 10px; border: 1px solid var(--border); border-radius: 6px; background: #fafbfc; padding: 12px; }
.capacity-approval label { display: grid; gap: 5px; font-size: 12px; font-weight: 700; }
.capacity-approval input { min-height: 44px; width: 100%; border: 1px solid var(--control-border); border-radius: 5px; padding: 7px 9px; }
.capacity-approval p { margin: 0; color: var(--muted); font-size: 11px; }
.capacity-approval button { justify-self: start; }
.capacity-inline-error { color: var(--danger); font-size: 12px; }
.capacity-recovered { border-radius: 999px; background: var(--accent-soft); padding: 4px 8px; color: var(--accent); font-size: 11px; font-weight: 700; }
.capacity-recovery-required, .capacity-change-recorded { flex: 0 0 auto; border-radius: 999px; padding: 4px 8px; font-size: 11px; font-weight: 700; }
.capacity-recovery-required { background: var(--danger-soft); color: var(--danger); }
.capacity-change-recorded { background: var(--blue-soft); color: var(--blue); }
.capacity-authority-note { border-color: #cbd3dc; background: var(--surface); color: var(--text); }
.capacity-authority-note svg { flex: 0 0 auto; color: var(--accent); }
@media (max-width: 900px) {
  .capacity-money-shot > dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capacity-money-shot > dl > div:nth-child(2) { border-right: 0; }
  .capacity-money-shot > dl > div:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .capacity-operating-loop > ol { grid-template-columns: 1fr; }
  .capacity-operating-loop > ol > li { border-right: 0; border-bottom: 1px solid var(--border); }
  .capacity-operating-loop > ol > li:last-child { border-bottom: 0; }
  .capacity-accounting { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capacity-accounting > div:nth-child(2) { border-right: 0; }
  .capacity-accounting > div:nth-child(-n + 2) { border-bottom: 1px solid var(--border); }
  .capacity-probe-stages > li > dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capacity-probe-stages > li > dl > div:nth-child(2) { border-right: 0; }
  .capacity-probe-stages > li > dl > div:nth-child(-n + 2) { border-bottom: 1px solid var(--border); }
  .capacity-probe-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capacity-probe-progress { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capacity-probe-progress > div:nth-child(2) { border-right: 0; }
  .capacity-probe-progress > div:nth-child(-n + 2) { border-bottom: 1px solid var(--border); }
  .capacity-action-journey { grid-template-columns: 1fr; }
  .capacity-action-journey li { border-right: 0; border-bottom: 1px solid var(--border); }
  .capacity-action-journey li:last-child { border-bottom: 0; }
}
@media (max-width: 650px) {
  .capacity-section-nav { margin-inline: -4px; }
  .capacity-primary-next-step, .capacity-probe-command { display: grid; }
  .capacity-primary-next-step .primary-button, .capacity-probe-command .primary-button { width: 100%; }
  .capacity-evidence-status, .capacity-authority-split { grid-template-columns: 1fr; }
  .capacity-accounting, .capacity-cost { grid-template-columns: 1fr; }
  .capacity-probe-journey .card-heading { display: grid; }
  .capacity-evidence-class { justify-self: start; }
  .capacity-probe-stages > li { padding: 13px; }
  .capacity-probe-stages > li > dl, .capacity-probe-metrics, .capacity-posterior-change, .capacity-probe-progress { grid-template-columns: 1fr; }
  .capacity-probe-stages > li > dl > div { border-right: 0; border-bottom: 1px solid var(--border); }
  .capacity-probe-stages > li > dl > div:last-child { border-bottom: 0; }
  .capacity-probe-progress > div, .capacity-probe-progress > div:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--border); }
  .capacity-probe-progress > div:last-child { border-bottom: 0; }
  .capacity-accounting > div, .capacity-cost > div { border-right: 0; border-bottom: 1px solid var(--border); }
  .capacity-accounting > div:last-child, .capacity-cost > div:last-child { border-bottom: 0; }
  .capacity-workspace .table-wrap:has(.capacity-mobile-table) { overflow: visible; border: 0; }
  .capacity-mobile-table, .capacity-mobile-table tbody { min-width: 0; display: block; }
  .capacity-mobile-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .capacity-mobile-table tbody { display: grid; gap: 10px; }
  .capacity-mobile-table tbody tr { display: grid; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); padding: 7px 11px; }
  .capacity-mobile-table tbody td { max-width: none; display: grid; grid-template-columns: minmax(108px, .8fr) minmax(0, 1.2fr); gap: 12px; border-bottom: 1px solid var(--border); padding: 8px 0; overflow: visible; text-overflow: clip; white-space: normal; }
  .capacity-mobile-table tbody td:last-child { border-bottom: 0; }
  .capacity-mobile-table tbody td::before { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; content: attr(data-label); }
  .capacity-mobile-table tbody td.empty { min-height: 0; display: block; border-bottom: 0; padding: 14px 0; text-align: left; }
  .capacity-mobile-table tbody td.empty::before { content: none; }
  .capacity-plan-list > li,
  .capacity-action-list > li { display: grid; }
  .capacity-action-bounds { grid-template-columns: 1fr; }
  .capacity-action-bounds > div { border-right: 0; border-bottom: 1px solid var(--border); }
  .capacity-action-bounds > div:last-child { border-bottom: 0; }
}
.product-shell.evaluation-product-shell { grid-template-rows: 64px minmax(0, 1fr); }
.evaluation-product-shell .product-sidebar { top: 64px; height: calc(100vh - 64px); }
.evaluation-product-shell .product-main { grid-column: 2; }
.evaluation-product-shell .product-top-actions > .secondary-button { text-decoration: none; }
.evaluation-intake-page { display: grid; gap: 18px; width: min(960px, calc(100% - 32px)); margin: 32px auto; }
.evaluation-intake-page form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.evaluation-intake-page form label { display: grid; align-content: start; gap: 7px; color: var(--text-secondary); font-size: 13px; font-weight: 600; }
.evaluation-intake-page form label:first-child,
.evaluation-intake-page form label:last-of-type,
.evaluation-intake-page .form-actions { grid-column: 1 / -1; }
.evaluation-intake-page input,
.evaluation-intake-page select,
.evaluation-intake-page textarea { width: 100%; border: 1px solid var(--control-border); border-radius: 6px; background: var(--surface); color: var(--text); padding: 10px 11px; }
.evaluation-intake-page textarea { min-height: 96px; resize: vertical; line-height: 1.45; }
.evaluation-intake-page .form-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 4px; }
.evaluation-intake-page .form-actions p { margin: 0; color: var(--text-secondary); }
@media (max-width: 640px) {
  .evaluation-intake-page { width: min(100% - 24px, 960px); margin: 16px auto; }
  .evaluation-intake-page form { grid-template-columns: 1fr; }
  .evaluation-intake-page .form-actions { align-items: stretch; flex-direction: column; }
  .evaluation-intake-page .form-actions button { width: 100%; justify-content: center; }
}
.experiment-onboarding { align-content: start; }
.experiment-onboarding .primary-button { justify-self: start; margin-top: 10px; text-decoration: none; }
.challenger-onboarding { display: grid; gap: 14px; }
.challenger-registration-draft { display: grid; gap: 14px; border-top: 1px solid var(--border); padding-top: 16px; }
.challenger-registration-draft > div:first-child p, .challenger-handoff-preview > div:first-child p { margin: 0; color: var(--blue); font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.challenger-registration-draft h3, .challenger-registration-draft h4 { margin: 3px 0 0; }
.challenger-registration-draft > div:first-child > span { display: block; max-width: 780px; margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.challenger-registration-draft form { display: grid; gap: 12px; }
.challenger-registration-draft fieldset { min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; border: 1px solid var(--border); border-radius: 8px; padding: 12px; }
.challenger-registration-draft fieldset:last-of-type { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.challenger-registration-draft legend { padding: 0 5px; color: var(--text-secondary); font-size: 11px; font-weight: 750; }
.challenger-registration-draft label { min-width: 0; display: grid; align-content: start; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 700; }
.challenger-registration-draft input, .challenger-registration-draft select, .challenger-registration-draft textarea { width: 100%; min-height: 44px; }
.challenger-registration-draft .field-error, .evaluation-intake-page .field-error { color: var(--danger); font-size: 10.5px; font-weight: 700; line-height: 1.35; }
.challenger-registration-draft .form-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.challenger-registration-draft .form-actions p { margin: 0; color: var(--muted); font-size: 11px; }
.challenger-handoff-preview { display: grid; gap: 12px; border: 1px solid var(--blue); border-radius: 8px; background: var(--blue-soft); padding: 14px; }
.challenger-handoff-preview dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.challenger-handoff-preview dl > div { min-width: 0; border-left: 3px solid var(--blue); background: var(--surface); padding: 9px 11px; }
.challenger-handoff-preview dt { color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.challenger-handoff-preview dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 11px; }
.challenger-handoff-preview textarea { min-height: 260px; resize: vertical; font-family: var(--font-mono); font-size: 10px; line-height: 1.45; }
.journey-onboarding-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--border); padding-top: 14px; }
.journey-onboarding-actions p { max-width: 680px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.journey-onboarding-actions .primary-button { flex: 0 0 auto; text-decoration: none; }
.evaluation-intake-receipt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.evaluation-intake-receipt div { min-width: 0; border-top: 1px solid var(--border); padding-top: 10px; }
.evaluation-intake-receipt dt { color: var(--text-secondary); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.evaluation-intake-receipt dd { margin: 5px 0 0; overflow-wrap: anywhere; }
.card-heading { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.card-heading h2 { margin: 2px 0 0; font-size: 18px; line-height: 1.35; }
.card-heading div > span { display: block; max-width: 760px; margin-top: 4px; color: var(--muted); font-size: 13px; }
.card-heading > a { min-height: 44px; display: inline-flex; align-items: center; flex: 0 0 auto; color: var(--blue); font-size: 13px; font-weight: 700; text-decoration: none; }
.card-heading > a:hover { text-decoration: underline; }
.workflow-stage-heading { min-width: 0; }
.workflow-stage-heading.card-heading, .workflow-stage-heading.stage-title { align-items: flex-start; }
.workflow-stage-heading .workflow-stage-copy { min-width: 0; flex: 1 1 auto; }
.workflow-stage-heading.stage-title .workflow-stage-copy { display: block; }
.workflow-stage-description { display: block; max-width: 760px; margin-top: 4px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.workflow-stage-controls { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; margin-left: auto; }
.workflow-stage-toggle { min-width: 112px; }
.workflow-stage.collapsed { padding-top: 14px; padding-bottom: 14px; }
.workflow-stage.collapsed .workflow-stage-heading { margin-bottom: 9px; }
.workflow-stage-summary { display: flex; align-items: flex-start; gap: 9px; border-left: 3px solid var(--accent); background: var(--accent-soft); padding: 10px 12px; color: #075f45; }
.workflow-stage-summary > svg { flex: 0 0 auto; margin-top: 1px; }
.workflow-stage-summary div { min-width: 0; display: grid; gap: 3px; }
.workflow-stage-summary strong { font-size: 12px; }
.workflow-stage-summary span { overflow-wrap: anywhere; color: #376a5d; font-size: 11.5px; line-height: 1.4; }
.decision-stage.workflow-stage.collapsed { padding-top: 16px; padding-bottom: 16px; }
.decision-stage.workflow-stage .workflow-stage-heading { margin-bottom: 18px; }
.decision-stage.workflow-stage.collapsed .workflow-stage-heading { margin-bottom: 9px; }
.next-actions ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.next-actions li { display: grid; grid-template-columns: 64px 1fr; gap: 9px; border-top: 1px solid var(--border); padding: 13px 0; }
.next-actions li:first-child { border-top: 0; }
.next-actions b { font-size: 13px; }
.next-actions span { color: var(--muted); font-size: 13px; line-height: 1.45; }
.insights-view .summary-card { min-height: 128px; padding: 14px; }
.insights-view .summary-card-icon { width: 32px; height: 32px; }
.insights-view .summary-card strong { margin-top: 5px; font-size: 18px; }
.insights-view .summary-card div > span { margin-top: 5px; font-size: 12px; line-height: 1.4; }
.performance-graph-overview { overflow: hidden; border: 1px solid #bfc7d0; border-top: 4px solid var(--accent); border-radius: 9px; background: var(--surface); box-shadow: 0 1px 2px rgb(0 0 0 / 3%); }
.performance-graph-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 20px 22px 18px; }
.performance-graph-heading > div { min-width: 0; }
.performance-graph-heading p, .performance-graph-hub p, .performance-loop p { margin: 0; color: var(--muted); font-size: 11px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.performance-graph-heading h2 { max-width: 900px; margin: 3px 0 0; font-size: 22px; line-height: 1.3; letter-spacing: -.015em; }
.performance-graph-heading div > span { display: block; max-width: 900px; margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.performance-graph-heading > a { flex: 0 0 auto; text-decoration: none; }
.performance-graph-evidence-first { display: grid; grid-template-columns: minmax(250px, 1.25fr) minmax(300px, 1fr) minmax(220px, .8fr); align-items: center; gap: 18px; border-top: 1px solid var(--border); background: var(--bg); padding: 14px 22px; }
.performance-graph-evidence-first > div:first-child p { margin: 0; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.performance-graph-evidence-first > div:first-child strong { display: block; margin-top: 3px; font-size: 15px; }
.performance-graph-evidence-first > div:first-child span { display: block; margin-top: 4px; color: var(--muted); font-size: 11.5px; line-height: 1.45; }
.performance-graph-evidence-first dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin: 0; }
.performance-graph-evidence-first dl > div { border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: 6px; background: var(--surface); padding: 7px 8px; }
.performance-graph-evidence-first dl > div[data-state="attention"] { border-left-color: var(--warning); }
.performance-graph-evidence-first dl > div[data-state="pending"] { border-left-color: var(--blue); }
.performance-graph-evidence-first dl > div[data-state="unavailable"] { border-left-color: var(--danger); }
.performance-graph-evidence-first dt { color: var(--muted); font-size: 12px; font-weight: 700; }
.performance-graph-evidence-first dd { margin: 2px 0 0; font-size: 16px; font-weight: 800; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.performance-graph-next { display: grid; gap: 3px; border-left: 1px solid var(--border); padding-left: 18px; }
.performance-graph-next > span { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.performance-graph-next strong { font-size: 12px; line-height: 1.4; }
.performance-graph-next[aria-busy="true"] strong { color: var(--muted); font-weight: 650; }
.performance-graph-next a { color: var(--blue); font-size: 12px; font-weight: 750; text-decoration: none; }
.performance-graph-next a:hover { text-decoration: underline; }
.performance-graph-model { display: grid; grid-template-columns: minmax(210px, .72fr) minmax(0, 2fr); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.performance-graph-hub { display: grid; align-content: center; border-right: 1px solid #39434d; background: #1d242b; padding: 22px; color: #f7f4ed; }
.performance-graph-hub p { color: #aeb8c2; }
.performance-graph-hub strong { margin-top: 5px; font-size: 24px; letter-spacing: -.02em; }
.performance-graph-hub span { display: block; margin-top: 6px; color: #c6cdd4; font-size: 12px; line-height: 1.5; }
.performance-graph-nodes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.performance-graph-nodes li { min-width: 0; padding: 14px 16px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.performance-graph-nodes li:nth-child(3n) { border-right: 0; }
.performance-graph-nodes li:nth-last-child(-n+3) { border-bottom: 0; }
.performance-graph-nodes[data-node-count="7"] li:nth-last-child(-n+3) { border-bottom: 1px solid var(--border); }
.performance-graph-nodes[data-node-count="7"] li:last-child { grid-column: 1 / -1; border-right: 0; }
.performance-graph-nodes[data-node-count="7"] li:last-child { border-bottom: 0; }
.performance-graph-nodes[data-node-count="10"] li:nth-last-child(-n+3) { border-bottom: 1px solid var(--border); }
.performance-graph-nodes[data-node-count="10"] li:last-child { grid-column: 1 / -1; border-right: 0; border-bottom: 0; }
.performance-graph-nodes li > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.performance-graph-state { min-width: 0; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; font-weight: 750; }
.performance-graph-state i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--accent); }
.performance-graph-nodes li[data-state="attention"] .performance-graph-state i { background: var(--warning); }
.performance-graph-nodes li[data-state="pending"] .performance-graph-state i { background: var(--blue); }
.performance-graph-nodes li[data-state="unavailable"] .performance-graph-state i { background: var(--danger); }
.performance-graph-nodes li strong { flex: 0 0 auto; font-size: 15px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.performance-graph-nodes li p { margin: 6px 0 0; color: var(--muted); font-size: 11.5px; line-height: 1.45; }
.performance-loop { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.performance-loop li { min-width: 0; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; border-right: 1px solid var(--border); padding: 15px 16px; }
.performance-loop li:nth-child(3n), .performance-loop li:last-child { border-right: 0; }
.performance-loop li:nth-child(-n+3) { border-bottom: 1px solid var(--border); }
.performance-loop-step { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--accent-soft); color: var(--accent); font-size: 12px; font-weight: 800; }
.performance-loop li[data-state="attention"] .performance-loop-step { background: var(--warning-soft); color: var(--warning); }
.performance-loop li[data-state="pending"] .performance-loop-step { background: var(--blue-soft); color: var(--blue); }
.performance-loop li[data-state="unavailable"] .performance-loop-step { background: var(--danger-soft); color: var(--danger); }
.performance-loop li[data-state="not-loaded"] .performance-loop-step { background: var(--bg); color: var(--muted); border: 1px dashed var(--border); }
.performance-loop li[data-state="not-loaded"] strong { color: var(--muted); font-weight: 650; }
.performance-loop li > div { min-width: 0; }
.performance-loop strong { display: block; margin-top: 3px; font-size: 13px; }
.performance-loop div > span { display: block; margin-top: 4px; color: var(--muted); font-size: 11.5px; line-height: 1.45; }
.performance-loop a { display: inline-block; margin-top: 8px; color: var(--blue); font-size: 12px; font-weight: 750; text-decoration: none; }
.performance-loop a:hover { text-decoration: underline; }
.attention-summary { min-width: 0; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 12px; border: 1px solid #abc5f7; border-left: 4px solid var(--blue); border-radius: 8px; background: #f8fbff; padding: 12px 14px; }
.attention-summary.warning { border-color: #e7bd7e; border-left-color: var(--warning); background: var(--warning-soft); }
.attention-summary.positive { border-color: #9dd8c2; border-left-color: var(--accent); background: var(--accent-soft); }
.attention-summary-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 7px; background: var(--blue-soft); color: var(--blue); }
.attention-summary.warning .attention-summary-icon { background: #ffedcf; color: var(--warning); }
.attention-summary.positive .attention-summary-icon { background: #d7f2e8; color: var(--accent); }
.attention-summary p { margin: 0; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.attention-summary h2 { margin: 2px 0 0; font-size: 15px; line-height: 1.3; }
.attention-summary div > span { display: block; margin-top: 2px; color: #52606d; font-size: 11.5px; line-height: 1.4; }
.attention-summary > a { min-height: 44px; display: inline-flex; align-items: center; color: var(--blue); font-size: 12px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.attention-summary > a:hover { text-decoration: underline; }
.source-metric-panel { overflow: hidden; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); box-shadow: 0 1px 2px rgb(0 0 0 / 3%); }
.source-metric-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0; background: var(--border); }
.source-metric-strip > div { min-width: 0; min-height: 88px; background: var(--surface); padding: 11px 14px; }
.source-metric-strip dt, .admin-health-strip dt { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.source-metric-strip dd, .admin-health-strip dd { margin: 3px 0 0; overflow-wrap: anywhere; font-size: 19px; font-weight: 750; line-height: 1.25; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.source-metric-strip dd a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--blue); text-decoration: none; }
.source-metric-strip dd a:hover { text-decoration: underline; }
.source-metric-strip small, .admin-health-strip small { display: block; margin-top: 3px; color: var(--muted); font-size: 10.5px; font-weight: 400; line-height: 1.35; }
.source-metric-strip .source-mix-chart { margin-top: 6px; }
.serving-diagnosis { gap: 14px; }
.serving-inventory-summary, .serving-signal-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 8px; background: var(--border); }
.serving-inventory-summary > div, .serving-signal-grid > div { min-width: 0; background: var(--surface); padding: 11px 13px; }
.serving-inventory-summary dt, .serving-signal-grid dt { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.serving-inventory-summary dd, .serving-signal-grid dd { margin: 3px 0 0; font-size: 19px; font-weight: 750; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.serving-inventory-summary small, .serving-signal-grid small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 400; line-height: 1.35; }
.serving-signal-diagnosis { display: grid; gap: 9px; }
.serving-signal-diagnosis > div:first-child p { margin: 0; color: var(--blue); font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.serving-signal-diagnosis h3 { margin: 2px 0 0; font-size: 15px; }
.serving-signal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.serving-missing-signals { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 12px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface-subtle); padding: 9px 11px; }
.serving-missing-signals strong { font-size: 11px; }
.serving-missing-signals ul { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; padding: 0; list-style: none; }
.serving-missing-signals li { border: 1px solid var(--border); border-radius: 999px; background: var(--surface); padding: 3px 8px; color: var(--muted); font-size: 10px; font-weight: 700; }
.serving-row-controls { display: grid; grid-template-columns: minmax(200px, 1fr) auto auto; align-items: end; gap: 6px 10px; }
.serving-row-controls label { grid-column: 1; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.serving-row-controls input { grid-column: 1; min-height: 44px; }
.serving-row-controls > span { align-self: center; color: var(--muted); font-size: 10.5px; }
.serving-row-controls button { min-height: 44px; }
.run-inventory-controls { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(180px, auto); gap: 5px 10px; margin-bottom: 13px; }
.run-inventory-controls label { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.run-inventory-controls input, .run-inventory-controls select { min-height: 44px; }
.run-inventory-controls > span { grid-column: 1 / -1; color: var(--muted); font-size: 10.5px; }
.serving-eligibility { display: grid; gap: 4px; justify-items: start; }
.serving-eligibility small { max-width: 220px; color: var(--muted); line-height: 1.35; overflow-wrap: anywhere; }
.hpc-status-boundary { margin-bottom: 14px; }
.hpc-diagnosis { gap: 14px; }
.hpc-anomaly-summary { display: grid; gap: 10px; }
.hpc-anomaly-summary > div:first-child p { margin: 0; color: var(--blue); font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.hpc-anomaly-summary h3 { margin: 2px 0 0; font-size: 15px; }
.hpc-anomaly-counts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 8px; background: var(--border); }
.hpc-anomaly-counts > div { min-width: 0; background: var(--surface); padding: 11px 13px; }
.hpc-anomaly-counts dt { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.hpc-anomaly-counts dd { margin: 3px 0 0; font-size: 19px; font-weight: 750; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.hpc-anomaly-counts small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 400; line-height: 1.35; }
.hpc-anomaly-clear { margin: 0; border-left: 3px solid var(--accent); background: var(--surface-subtle); padding: 9px 11px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.hpc-anomaly-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.hpc-anomaly-list li { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid var(--border); border-left: 3px solid var(--danger); border-radius: 7px; background: var(--surface-subtle); padding: 10px 12px; }
.hpc-anomaly-list li > div { min-width: 0; display: grid; gap: 3px; }
.hpc-anomaly-list li span { color: var(--muted); font-size: 10.5px; }
.hpc-anomaly-list li a { min-width: 0; color: var(--blue); font-size: 11px; font-weight: 700; text-decoration: none; }
.hpc-anomaly-list li code { overflow-wrap: anywhere; }
.hpc-row-controls { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(160px, auto) minmax(160px, auto); align-items: end; gap: 6px 10px; }
.hpc-row-controls label { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.hpc-row-controls input, .hpc-row-controls select { min-height: 44px; }
.hpc-row-controls > span { grid-column: 1 / -2; color: var(--muted); font-size: 10.5px; }
.hpc-row-controls button { min-height: 44px; }
.hpc-runner-status { display: grid; gap: 4px; justify-items: start; }
.hpc-runner-status .status-pill { text-transform: none; }
.hpc-runner-status small { color: var(--muted); font-size: 11px; line-height: 1.3; }
@media (max-width: 640px) {
  .journey-onboarding-actions { align-items: stretch; flex-direction: column; }
  .journey-onboarding-actions .primary-button { width: 100%; }
  .challenger-registration-draft fieldset, .challenger-registration-draft fieldset:last-of-type, .challenger-handoff-preview dl { grid-template-columns: 1fr; }
  .challenger-registration-draft .form-actions { align-items: stretch; flex-direction: column; }
  .challenger-registration-draft .form-actions button { width: 100%; }
  .hpc-anomaly-counts, .hpc-row-controls { grid-template-columns: 1fr; }
  .hpc-row-controls > span { grid-column: auto; }
  .hpc-row-controls button { width: 100%; }
  .hpc-anomaly-list li { align-items: flex-start; flex-direction: column; }
}
.source-mix-chart { display: grid; gap: 5px; margin-top: 8px; }
.source-mix-track { height: 7px; display: flex; overflow: hidden; border-radius: 999px; background: #edf0f3; }
.source-mix-track > i { width: var(--source-width); height: 100%; }
.source-mix-chart .measured { background: var(--accent); }
.source-mix-chart .gated { background: var(--warning); }
.source-mix-chart small { display: flex; flex-wrap: wrap; gap: 4px 10px; color: var(--muted); font-size: 12px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.source-mix-chart small span { display: inline-flex; align-items: center; gap: 4px; margin: 0; font-size: inherit; }
.source-mix-chart small i { width: 6px; height: 6px; border-radius: 50%; }
.insight-priority-grid { align-items: start; }
.capacity-panel { display: grid; gap: 0; }
.capacity-groups { display: grid; gap: 13px; }
.capacity-groups > section { display: grid; gap: 7px; }
.capacity-groups header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--border); padding-bottom: 5px; }
.capacity-groups h3 { margin: 0; font-size: 11px; }
.capacity-groups header span { color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.capacity-chart { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.capacity-chart li { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 128px); gap: 4px 10px; }
.capacity-chart li > div { min-width: 0; display: flex; gap: 5px; }
.capacity-chart strong { font-size: 12px; text-transform: capitalize; }
.capacity-chart li > div span { overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.capacity-chart b { font-size: 11px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; white-space: nowrap; }
.capacity-track { height: 8px; overflow: hidden; border-radius: 999px; background: #edf0f3; }
.capacity-track i { width: var(--capacity-width); height: 100%; display: block; border-radius: inherit; background: var(--accent); }
.capacity-chart li.local-runtime .capacity-track i { background: var(--purple); }
.capacity-chart small { min-width: 0; overflow: hidden; color: var(--muted); font-size: 12px; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.capacity-empty { margin: 0; border: 1px dashed var(--border); border-radius: 6px; padding: 12px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.capacity-loading { min-height: 74px; }
.capacity-caveat { margin: 12px 0 0; color: var(--muted); font-size: 10.5px; line-height: 1.4; }
.capacity-next-actions { margin-top: 14px; border-top: 1px solid var(--border); padding-top: 11px; }
.capacity-next-actions h3 { margin: 0 0 4px; font-size: 12px; }
.capacity-next-actions li { grid-template-columns: 54px 1fr; padding: 8px 0; }
.capacity-next-actions b, .capacity-next-actions span { font-size: 11px; }
.section-navigation { display: flex; align-items: center; gap: 6px; overflow-x: auto; border-bottom: 1px solid var(--border); padding-bottom: 9px; scroll-snap-type: x proximity; }
.section-navigation a { scroll-snap-align: start; min-height: 44px; display: inline-flex; align-items: center; border-radius: 6px; padding: 0 12px; color: var(--muted); font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.section-navigation a:hover { background: var(--surface); color: var(--text); }
.section-navigation a[aria-current="page"] { background: var(--surface); color: var(--text); box-shadow: inset 0 -2px 0 var(--accent); }

/* A source view this session cannot read stays in the navigation and stays
   reachable: the lock marks the boundary, and selecting it explains the access
   required. Hiding it would read as "this capability does not exist". */
.section-navigation a.section-withheld { gap: 6px; color: var(--muted); opacity: 0.72; }
.section-navigation a.section-withheld:hover { opacity: 1; }
.section-navigation a.section-withheld svg { color: var(--warning); }

.capability-withheld { display: grid; gap: 14px; border-left: 3px solid var(--warning); }
.capability-withheld-heading { display: flex; align-items: flex-start; gap: 12px; }
.capability-withheld-heading svg { flex: none; color: var(--warning); }
.capability-withheld-heading p { margin: 0 0 2px; color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: 0.04em; }
.capability-withheld-heading h2 { margin: 0; font-size: 19px; }
.capability-withheld > p { margin: 0; max-width: 68ch; color: var(--muted); font-size: 14px; }
.capability-withheld-detail { display: grid; gap: 10px; margin: 0; padding: 14px; border: 1px solid var(--border); border-radius: 8px; background: var(--warning-soft); }
.capability-withheld-detail > div { display: grid; gap: 3px; }
.capability-withheld-detail dt { color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: 0.04em; }
.capability-withheld-detail dd { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; color: var(--text); font-size: 13px; }
.capability-withheld-detail code { padding: 2px 6px; border-radius: 4px; background: var(--surface); font: 650 12px ui-monospace, monospace; }
.capability-withheld-detail dd span { color: var(--muted); }
.capability-withheld-next { font-size: 13px; }

/* Your own access, always reachable from the top bar. A PIQ session takes its
   roles from the credential used at sign-in, so without this the only way to
   discover your access is to be refused. */
.session-identity { position: relative; }
.session-identity > summary { min-height: 44px; display: inline-flex; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); color: var(--muted); font-size: 12px; font-weight: 650; list-style: none; cursor: pointer; max-width: 220px; }
.session-identity > summary::-webkit-details-marker { display: none; }
.session-identity > summary span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.session-identity > summary:hover { color: var(--text); }
.session-identity[open] > summary { color: var(--text); }
.session-identity[open] > summary svg:last-child { transform: rotate(180deg); }
.session-identity-panel { position: absolute; right: 0; top: calc(100% + 6px); z-index: 40; width: min(380px, calc(100vw - 32px)); max-height: min(70vh, 560px); overflow-y: auto; display: grid; gap: 10px; padding: 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); box-shadow: 0 14px 40px rgb(0 0 0 / 28%); white-space: normal; }
.session-identity-principal { margin: 0; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.session-identity-panel h3 { margin: 4px 0 0; color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: 0.04em; }
.session-identity-roles, .session-identity-capabilities { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.session-identity-roles li { display: grid; gap: 2px; }
.session-identity-roles code { justify-self: start; padding: 2px 6px; border-radius: 4px; background: var(--accent-soft); color: var(--text); font: 650 12px ui-monospace, monospace; }
.session-identity-roles span { color: var(--muted); font-size: 12px; }
.session-identity-capabilities li { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px; font-size: 12px; }
.session-identity-capabilities code { color: var(--muted); font: 600 11px ui-monospace, monospace; }
.session-identity-note { display: flex; align-items: flex-start; gap: 8px; margin: 2px 0 0; padding-top: 10px; border-top: 1px solid var(--border); color: var(--muted); font-size: 12px; }
.session-identity-note svg { flex: none; margin-top: 2px; }
.accessible-table-region { max-width: 100%; overflow: auto; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); }
.accessible-table-region:focus-visible { outline-offset: 3px; }
.accessible-table { width: 100%; min-width: 780px; border-collapse: collapse; font-size: 14px; }
.accessible-table th { position: sticky; top: 0; z-index: 1; background: #f0f3f5; color: #52606d; font-size: 12px; font-weight: 750; letter-spacing: .03em; text-align: left; text-transform: uppercase; }
.accessible-table th, .accessible-table td { max-width: 320px; padding: 11px 13px; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; white-space: normal; }
.accessible-table th.numeric, .accessible-table td.numeric { text-align: right; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; white-space: nowrap; }
.accessible-table.compact { min-width: 640px; font-size: 12px; }
.accessible-table.compact th, .accessible-table.compact td { padding: 8px 10px; }
.accessible-table tbody tr:last-child td { border-bottom: 0; }
.accessible-table tbody tr:hover td { background: #fbfcfd; }
/* A measured-live run stands out among rehearsal rows. */
.accessible-table tbody tr.run-row-measured-live > td:first-child { box-shadow: inset 3px 0 0 var(--accent); }
.mobile-table-summary li.run-row-measured-live { border-left: 3px solid var(--accent); }
.responsive-data-table { min-width: 0; }
.mobile-table-summary, .mobile-table-toggle { display: none; }
.mobile-table-summary { border: 1px solid var(--border); border-radius: 7px; background: var(--surface); }
.mobile-table-summary > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--border); padding: 9px 11px; }
.mobile-table-summary > header strong { font-size: 12px; }
.mobile-table-summary > header span { color: var(--muted); font-size: 10px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.mobile-table-summary ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.mobile-table-empty { margin: 0; padding: 14px 11px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.mobile-table-summary li { border-bottom: 1px solid var(--border); padding: 10px 11px; }
.mobile-table-summary li:last-child { border-bottom: 0; }
.mobile-table-summary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; margin: 0; }
.mobile-table-summary dl > div { min-width: 0; }
.mobile-table-summary dt { color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .02em; text-transform: uppercase; }
.mobile-table-summary dd { margin: 3px 0 0; overflow-wrap: anywhere; font-size: 11px; font-weight: 650; line-height: 1.35; }
.mobile-table-summary dd code, .mobile-table-summary dd .truncate-code { max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
.mobile-table-empty { margin: 0; padding: 18px 12px; color: var(--muted); font-size: 12px; line-height: 1.45; text-align: center; }
.mobile-table-toggle { width: 100%; align-items: center; justify-content: space-between; margin-top: 8px; cursor: pointer; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); padding: 10px 11px; color: var(--text); font-size: 11px; font-weight: 750; text-align: left; }
.mobile-table-toggle span { color: var(--muted); font-size: 10px; font-weight: 600; }
.mobile-table-toggle[aria-expanded="true"] { border-radius: 7px 7px 0 0; }
.mobile-table-toggle[aria-expanded="true"] + .table-panel .accessible-table-region { margin-top: -1px; border-radius: 0 0 7px 7px; }
.truncate-code { display: block; max-width: 100%; overflow-wrap: anywhere; font-size: 12px; white-space: normal; }
.source-badge { min-height: 25px; display: inline-flex; align-items: center; border: 1px solid var(--border); border-radius: 999px; padding: 0 8px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.source-badge.fixture { border-color: #e7bd7e; background: var(--warning-soft); color: #8a4304; }
.source-badge.demo { border-color: #cbbca6; background: var(--demo-soft); color: var(--demo); }
.scheduler-evidence-cell { min-width: 170px; display: grid; gap: 5px; white-space: normal; }
.scheduler-evidence-cell small { max-width: 270px; color: var(--muted); font-size: 10.5px; line-height: 1.35; }
.scheduler-evidence-badge { width: fit-content; display: inline-flex; align-items: center; min-height: 23px; border: 1px solid var(--border); border-radius: 999px; background: #f4f6f8; padding: 0 8px; color: #52606d; font-size: 10px; font-weight: 750; white-space: nowrap; }
.scheduler-evidence-badge.recorded { border-color: #abc5f7; background: var(--blue-soft); color: #194c9d; }
.scheduler-evidence-badge.verified { border-color: #9dd8c2; background: var(--accent-soft); color: #075f45; }
.scheduler-evidence-badge.conflict { border-color: #e4a9a5; background: var(--danger-soft); color: var(--danger); }
.source-badge.external-asserted { border-color: #abc5f7; background: var(--blue-soft); color: #194c9d; }
.source-badge.local-runtime { border-color: #c9b8ef; background: var(--purple-soft); color: #51338d; }
.source-badge.measured-live { border-color: #9dd8c2; background: var(--accent-soft); color: #075f45; }

.rapid-eval-card {
  display: grid;
  gap: 18px;
  border-color: color-mix(in srgb, var(--accent) 36%, var(--border));
}

.rapid-eval-heading,
.rapid-eval-observations > div:first-child,
.rapid-eval-actions,
.rapid-eval-qualification {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.rapid-eval-heading p,
.rapid-eval-observations p,
.rapid-eval-qualification p:first-child {
  margin: 0 0 5px;
  color: var(--accent);
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.rapid-eval-heading h2,
.rapid-eval-observations h3,
.rapid-eval-qualification h3 {
  margin: 0;
}

.rapid-eval-heading span,
.rapid-eval-observations > div:first-child span,
.rapid-eval-qualification > div:first-child span {
  display: block;
  margin-top: 6px;
  color: var(--muted);
}

.rapid-eval-heading > strong {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid color-mix(in srgb, var(--warning) 58%, var(--border));
  border-radius: 6px;
  color: var(--warning);
  font-size: .78rem;
}

.rapid-eval-mode-grid,
.rapid-eval-context,
.rapid-eval-qualification dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.rapid-eval-mode-grid > div,
.rapid-eval-context > div,
.rapid-eval-qualification dl > div {
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
}

.rapid-eval-mode-grid > div.active {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
}

.rapid-eval-mode-grid span,
.rapid-eval-context dt,
.rapid-eval-qualification dt {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: .72rem;
  text-transform: uppercase;
}

.rapid-eval-mode-grid small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
}

.rapid-eval-context {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rapid-eval-context dd,
.rapid-eval-qualification dd {
  margin: 0;
  font-weight: 700;
}

.rapid-eval-observations {
  display: grid;
  gap: 12px;
}

.rapid-eval-observations > ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rapid-eval-comparability {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface) 94%, transparent);
}

.rapid-eval-comparability dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.rapid-eval-comparability dt {
  color: var(--muted);
  font-size: .72rem;
  text-transform: uppercase;
}

.rapid-eval-comparability dd {
  margin: 3px 0 0;
  font-weight: 700;
}

.rapid-eval-comparability p {
  margin: 0;
  color: var(--muted);
}

.rapid-eval-comparability strong {
  color: var(--warning);
  font-size: .82rem;
}

.rapid-eval-observations > ul > li {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 7px;
}

.rapid-eval-observations li > div small,
.rapid-eval-observations li > b small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: .75rem;
  font-weight: 500;
}

.rapid-eval-observations details {
  grid-column: 1 / -1;
}

.rapid-eval-observations details ul {
  display: grid;
  gap: 6px;
  margin: 9px 0 0;
  padding: 0;
  list-style: none;
}

.rapid-eval-observations details li {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  color: var(--muted);
  font-size: .78rem;
}

.rapid-eval-actions {
  align-items: center;
  padding-top: 4px;
  border-top: 1px solid var(--border);
}

.rapid-eval-actions > div {
  flex: 1 1;
}

.rapid-eval-actions > div span {
  display: block;
  max-width: 62ch;
  margin-top: 4px;
  color: var(--muted);
}

.rapid-eval-claim-boundary {
  padding: 12px 14px;
  border-left: 3px solid var(--warning);
  background: var(--warning-soft);
}

.rapid-eval-claim-boundary p,
.rapid-eval-claim-boundary span {
  margin: 4px 0 0;
  color: var(--muted);
}

.rapid-eval-claim-boundary span {
  display: block;
}

.rapid-eval-qualification {
  display: grid;
  padding: 15px;
  border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--border));
  border-radius: 7px;
}

.rapid-eval-qualification dl {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rapid-eval-boundary {
  margin: 0;
  color: var(--muted);
}

.rapid-eval-plan-loader {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 13px;
  border: 1px dashed var(--border);
  border-radius: 7px;
}

.rapid-eval-plan-loader > div {
  display: grid;
  gap: 6px;
  width: 100%;
}

.rapid-eval-plan-loader label {
  font-weight: 700;
}

.rapid-eval-plan-loader span,
.rapid-eval-plan-summary span,
.rapid-eval-plan-summary small {
  color: var(--muted);
}

.rapid-eval-plan-loader-controls {
  display: flex;
  gap: 8px;
  align-items: stretch;
}

.rapid-eval-plan-loader-controls input {
  min-width: 0;
  flex: 1 1;
}

.rapid-eval-plan-loader-controls button {
  flex: 0 0 auto;
}

.rapid-eval-plan-loader input {
  width: 100%;
  margin-top: 2px;
}

.rapid-eval-plan-summary {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-left: 3px solid var(--accent);
  background: var(--accent-soft);
}

.rapid-eval-template-builder {
  border: 1px solid var(--border);
  border-radius: 7px;
  padding: 12px;
}

.rapid-eval-template-builder > summary {
  cursor: pointer;
  font-weight: 750;
}

.rapid-eval-template-builder > span,
.rapid-eval-template-builder fieldset > span,
.rapid-eval-template-submit > span {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.45;
}

.rapid-eval-template-builder form {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.rapid-eval-template-builder fieldset {
  display: grid;
  gap: 10px;
  margin: 0;
  border: 1px solid var(--border);
  border-radius: 7px;
  padding: 12px;
}

.rapid-eval-template-builder legend {
  padding: 0 5px;
  font-weight: 750;
}

.rapid-eval-template-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.rapid-eval-template-fields > label,
.rapid-eval-directed-inputs label,
.rapid-eval-order-grid label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 700;
}

.rapid-eval-template-fields input,
.rapid-eval-template-fields textarea,
.rapid-eval-template-fields select,
.rapid-eval-order-grid select {
  width: 100%;
}

.rapid-eval-template-fields textarea {
  min-height: 72px;
  resize: vertical;
}

.rapid-eval-directed-inputs {
  display: grid;
  grid-template-columns: minmax(120px, .55fr) repeat(2, minmax(0, 1fr));
  grid-column: 1 / -1;
  gap: 10px;
  align-items: end;
  border-top: 1px solid var(--border);
  padding-top: 10px;
}

.rapid-eval-directed-inputs > strong {
  align-self: center;
}

.rapid-eval-authorship-note {
  align-self: end;
  margin: 0;
  border-left: 3px solid var(--accent);
  padding: 8px 10px;
  background: var(--accent-soft);
}

.rapid-eval-order-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 10px;
}

.rapid-eval-order-grid > div {
  display: grid;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 10px;
}

.rapid-eval-derived-pins {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.rapid-eval-derived-pins dd {
  overflow-wrap: anywhere;
  font-family: var(--font-mono);
  font-size: .75rem;
}

.rapid-eval-template-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.rapid-eval-template-submit > span {
  margin: 0;
}

.rapid-eval-qualification-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.rapid-eval-qualification-action button:disabled {
  cursor: not-allowed;
  opacity: .58;
}

.rapid-eval-empty {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px;
  border: 1px dashed var(--border);
  border-radius: 7px;
}

.rapid-eval-empty p {
  margin: 4px 0 0;
  color: var(--muted);
}

.rapid-eval-definitions {
  border-top: 1px solid var(--border);
  padding-top: 10px;
}

.rapid-eval-definitions dl {
  display: grid;
  gap: 8px;
  margin-bottom: 0;
}

.rapid-eval-definitions dl > div {
  display: grid;
  grid-template-columns: minmax(130px, .3fr) 1fr;
  gap: 14px;
}

.rapid-eval-definitions dt {
  font-weight: 700;
}

.rapid-eval-definitions dd {
  margin: 0;
  color: var(--muted);
}

@media (max-width: 760px) {
  .rapid-eval-heading,
  .rapid-eval-actions,
  .rapid-eval-qualification-action,
  .rapid-eval-plan-loader-controls,
  .rapid-eval-template-submit {
    display: grid;
  }

  .rapid-eval-template-fields,
  .rapid-eval-directed-inputs,
  .rapid-eval-derived-pins {
    grid-template-columns: 1fr !important;
  }

  .rapid-eval-directed-inputs > strong,
  .rapid-eval-template-fields > .wide-field {
    grid-column: auto;
  }

  .rapid-eval-heading > strong {
    width: fit-content;
  }

  .rapid-eval-context {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rapid-eval-actions > a,
  .rapid-eval-actions > button {
    justify-content: center;
    width: 100%;
  }
}

.hardware-intelligence {
  gap: 20px;
}

.hardware-answer-summary,
.qualification-decision-summary {
  border-top: 4px solid var(--accent);
}

.hardware-answer-summary[data-result-class="planning-only"],
.hardware-answer-summary[data-result-class="no-current-answer"],
.qualification-decision-summary:has([data-state="attention"]) {
  border-top-color: var(--warning);
}

.hardware-answer-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.hardware-answer-heading p {
  margin: 0 0 6px;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.hardware-answer-heading h2 {
  margin: 0 0 7px;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
}

.hardware-answer-heading > div > span {
  display: block;
  max-width: 82ch;
  color: var(--muted);
  line-height: 1.55;
}

.hardware-result-class,
.hardware-candidate-disposition {
  width: fit-content;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 5px 9px;
  color: var(--muted);
  font-size: 0.875rem;
  font-weight: 750;
  text-transform: capitalize;
}

.hardware-candidate-disposition[data-disposition="eligible"] {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
  background: var(--accent-soft);
  color: var(--accent);
}

.hardware-candidate-disposition[data-disposition="ineligible"] {
  border-color: color-mix(in srgb, var(--warning) 45%, var(--border));
  background: var(--warning-soft);
  color: var(--warning);
}

.hardware-answer-context {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 18px 0 0;
  border: 1px solid var(--border);
}

.hardware-answer-context > div {
  min-width: 0;
  border-right: 1px solid var(--border);
  padding: 13px;
}

.hardware-answer-context > div:last-child { border-right: 0; }
.hardware-answer-context dt { color: var(--muted); font-size: 0.75rem; font-weight: 750; text-transform: uppercase; }
.hardware-answer-context dd { margin: 5px 0 0; overflow-wrap: anywhere; font-size: 0.95rem; font-weight: 700; }
.hardware-answer-context small { display: block; margin-top: 4px; color: var(--muted); font-size: 0.875rem; font-weight: 400; line-height: 1.45; }

.hardware-primary-next {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}

.hardware-primary-next > span,
.hardware-primary-next > code {
  min-width: 0;
  color: var(--muted);
  font-size: 0.875rem;
  overflow-wrap: anywhere;
}

.hardware-state-withheld {
  margin: 16px 0 0;
  border-top: 1px solid var(--border);
  padding-top: 12px;
  color: var(--muted);
  font-size: 0.875rem;
  line-height: 1.5;
}

.qualification-state-path,
.provisioning-stage-list {
  display: grid;
  gap: 0;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.qualification-state-path {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--border);
}

.qualification-state-path li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  border-right: 1px solid var(--border);
  padding: 14px;
}

.qualification-state-path li:last-child { border-right: 0; }
.qualification-state-path li > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--bg); color: var(--muted); font-weight: 800; }
.qualification-state-path li[data-state="current"] > span,
.qualification-state-path li[data-state="clear"] > span { background: var(--accent-soft); color: var(--accent); }
.qualification-state-path li[data-state="attention"] > span { background: var(--warning-soft); color: var(--warning); }
.qualification-state-path div { display: grid; gap: 4px; }
.qualification-state-path small { color: var(--muted); font-size: 0.875rem; line-height: 1.45; }

.material-change-actions {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}

.material-change-actions > a { justify-self: start; }

.provision-request-preview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 18px;
  border: 1px solid var(--border);
  background: var(--bg);
}

.provision-request-preview > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  border-right: 1px solid var(--border);
  padding: 12px;
}

.provision-request-preview > div:nth-child(4) { border-right: 0; }
.provision-request-preview > div > span { color: var(--muted); font-size: 0.75rem; font-weight: 750; text-transform: uppercase; }
.provision-request-preview > div > strong { overflow-wrap: anywhere; font-size: 0.95rem; }
.provision-request-preview > p { grid-column: 1 / -1; margin: 0; border-top: 1px solid var(--border); padding: 10px 12px; color: var(--muted); font-size: 0.875rem; line-height: 1.45; }

.provisioning-stage-list {
  border: 1px solid var(--border);
  border-radius: 7px;
}

.provisioning-stage-list li {
  position: relative;
  display: grid;
  grid-template-columns: minmax(130px, 0.35fr) minmax(0, 1fr);
  gap: 12px;
  border-top: 1px solid var(--border);
  padding: 9px 12px 9px 30px;
}

.provisioning-stage-list li:first-child { border-top: 0; }
.provisioning-stage-list li::before { content: ""; position: absolute; top: 14px; left: 12px; width: 8px; height: 8px; border: 2px solid var(--muted); border-radius: 50%; }
.provisioning-stage-list li[data-stage-state="complete"]::before { border-color: var(--accent); background: var(--accent); }
.provisioning-stage-list li[data-stage-state="current"]::before { border-color: var(--blue); background: var(--blue); }
.provisioning-stage-list li[data-stage-state="attention"]::before { border-color: var(--warning); background: var(--warning); }
.provisioning-stage-list strong { font-size: 0.875rem; }
.provisioning-stage-list span { color: var(--muted); font-size: 0.875rem; line-height: 1.45; }

.workspace-selector {
  display: grid;
  gap: 18px;
}

.workspace-selector > div:first-child {
  max-width: 820px;
}

.workspace-selector p,
.hardware-status-grid p {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.workspace-selector h2 {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  margin: 0 0 7px;
}

.workspace-selector > div > span {
  color: var(--muted);
}

.workspace-tabs {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.workspace-tabs button {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  color: inherit;
  cursor: pointer;
  display: grid;
  gap: 5px;
  min-height: 96px;
  padding: 15px;
  text-align: left;
}

.workspace-tabs button:hover {
  border-color: var(--muted);
}

.workspace-tabs button.active {
  border-color: var(--accent);
  box-shadow: inset 3px 0 0 var(--accent);
}

.workspace-tabs button span {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.experiment-factory { gap: 18px; }
.experiment-factory .workspace-tabs { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.experiment-command-bar { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.experiment-command-bar label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 650; }
.experiment-command-bar select { min-width: min(420px, 72vw); border: 1px solid var(--control-border); border-radius: 8px; background: var(--surface); color: var(--text); padding: 9px 34px 9px 11px; }
.experiment-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.experiment-controls button { display: inline-flex; align-items: center; gap: 6px; }
.experiment-intent-form { display: grid; gap: 18px; margin-top: 18px; }
.experiment-intent-form > fieldset,
.experiment-repeater > fieldset { min-width: 0; margin: 0; border: 1px solid var(--border); border-radius: 10px; padding: 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 15px; }
.experiment-intent-form legend { max-width: 100%; padding: 0 7px; color: var(--text); font-size: 13px; font-weight: 720; line-height: 1.35; }
.experiment-intent-form label { min-width: 0; display: grid; align-content: start; gap: 6px; color: var(--text); font-size: 13px; font-weight: 650; }
.experiment-intent-form label > span { line-height: 1.35; }
.experiment-intent-form input,
.experiment-intent-form select,
.experiment-intent-form textarea { width: 100%; min-width: 0; border: 1px solid var(--control-border); border-radius: 8px; background: var(--surface); color: var(--text); padding: 10px 11px; font: inherit; font-weight: 480; line-height: 1.4; }
.experiment-intent-form textarea { min-height: 92px; resize: vertical; font-family: inherit; line-height: 1.5; }
.experiment-intent-form input:focus-visible,
.experiment-intent-form select:focus-visible,
.experiment-intent-form textarea:focus-visible { border-color: var(--accent); outline-offset: 1px; }
.experiment-intent-form input:disabled,
.experiment-intent-form select:disabled { cursor: not-allowed; opacity: .64; }
.experiment-intent-form small { color: var(--muted); font-size: 11px; font-weight: 450; line-height: 1.45; }
.experiment-form-wide { grid-column: 1 / -1; }
.experiment-repeater { min-width: 0; display: grid; gap: 12px; border: 1px solid color-mix(in srgb, var(--border) 78%, var(--accent)); border-radius: 9px; background: var(--bg); padding: 13px; }
.experiment-repeater > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.experiment-repeater > fieldset { background: var(--surface); }
.experiment-repeater > fieldset > button { align-self: end; justify-self: start; }
.experiment-knob-row { min-width: 0; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) auto; align-items: end; gap: 10px; }
.experiment-advanced-settings > div { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 15px; }
.experiment-intent-form .experiment-checkbox { display: flex; flex-direction: row; align-items: center; align-self: center; gap: 9px; min-height: 44px; }
.experiment-intent-form .experiment-checkbox input { flex: 0 0 auto; width: auto; margin: 0; }
.experiment-intent-form .experiment-controls { grid-column: 1 / -1; align-items: center; padding-top: 2px; }
.experiment-intent-form .experiment-controls small { flex: 1 1 300px; }
.experiment-preview-stale { margin-top: 14px; border-left: 4px solid var(--warning); background: var(--warning-soft); padding: 10px 12px; color: var(--text); font-size: 12px; line-height: 1.45; }
.experiment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.experiment-grid .analytics-card { min-width: 0; }
.experiment-wide { grid-column: 1 / -1; }
.experiment-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.experiment-stat-grid > div, .experiment-grid dl > div { display: grid; gap: 3px; }
.experiment-stat-grid dt, .experiment-grid dl dt { color: var(--muted); font-size: 11px; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; }
.experiment-stat-grid dd, .experiment-grid dl dd { margin: 0; font-weight: 680; overflow-wrap: anywhere; }
.experiment-stat-grid small, .experiment-grid dl small { display: block; color: var(--muted); font-weight: 450; margin-top: 3px; }
.compact-list, .evidence-list { display: grid; gap: 8px; list-style: none; margin: 14px 0 0; padding: 0; }
.compact-list li { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--border); padding-top: 8px; }
.compact-list span { color: var(--muted); text-align: right; overflow-wrap: anywhere; }
.evidence-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 12px; border: 1px solid var(--border); border-radius: 8px; padding: 11px; }
.evidence-list small { grid-column: 1 / -1; color: var(--muted); }
.experiment-phase { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.experiment-phase p { color: var(--muted); margin: 0; }
.experiment-empty { display: grid; place-items: center; gap: 6px; min-height: 180px; padding: 28px; text-align: center; color: var(--muted); }
.experiment-empty h3, .experiment-empty p { margin: 0; }
.experiment-warning { display: flex; align-items: flex-start; gap: 9px; border: 1px solid var(--warning-border, var(--border)); border-radius: 9px; background: var(--warning-soft, var(--surface)); padding: 11px 13px; }
.experiment-warning svg { flex: 0 0 auto; color: var(--warning, #a15c00); }
.experiment-preview-findings { display: grid; gap: 12px; margin-top: 14px; border-left: 4px solid var(--warning); background: var(--warning-soft); padding: 12px 14px; }
.experiment-preview-findings h3 { margin: 0; }
.experiment-preview-findings > div { min-width: 0; }

@media (max-width: 800px) {
  .experiment-command-bar, .experiment-phase { align-items: stretch; flex-direction: column; }
  .experiment-command-bar select { min-width: 0; width: 100%; }
  .experiment-intent-form > fieldset,
  .experiment-repeater > fieldset,
  .experiment-advanced-settings > div { grid-template-columns: 1fr; }
  .experiment-knob-row { grid-template-columns: 1fr; align-items: stretch; }
  .experiment-knob-row > button { justify-self: start; }
  .experiment-form-wide { grid-column: 1; }
  .experiment-repeater > div:first-child { align-items: flex-start; }
  .experiment-grid { grid-template-columns: 1fr; }
  .experiment-factory .workspace-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .experiment-wide { grid-column: auto; }
  .experiment-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .experiment-intent-form > fieldset,
  .experiment-repeater { padding: 12px; }
  .experiment-intent-form .experiment-controls > button { width: 100%; justify-content: center; }
  .experiment-stat-grid { grid-template-columns: 1fr; }
}

.hardware-workspace-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.hardware-form {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hardware-form label {
  display: grid;
  gap: 6px;
}

.hardware-form label > span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.hardware-form input,
.hardware-form select,
.hardware-form textarea {
  background: var(--bg);
  border: 1px solid var(--control-border);
  border-radius: 7px;
  color: inherit;
  font: inherit;
  min-width: 0;
  padding: 10px 11px;
}

.hardware-form input:focus,
.hardware-form select:focus,
.hardware-form textarea:focus {
  border-color: var(--accent);
  outline: 2px solid color-mix(in srgb, var(--accent) 25%, transparent);
  outline-offset: 1px;
}

.hardware-form textarea {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  min-height: 280px;
  resize: vertical;
}

.hardware-form textarea.compact-textarea {
  min-height: 78px;
}

.hardware-form small {
  color: var(--muted);
  line-height: 1.45;
}

.hardware-readback {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 7px;
  display: grid;
  gap: 6px;
  padding: 11px;
}

.hardware-readback code {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.hardware-configuration-editor {
  display: grid;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: var(--surface);
  padding: 14px;
}

.hardware-configuration-heading {
  display: grid;
  gap: 4px;
}

.hardware-configuration-heading small {
  max-width: 76ch;
}

.hardware-configuration-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.hardware-configuration-empty {
  display: grid;
  align-content: center;
  gap: 4px;
  min-height: 72px;
  border: 1px dashed var(--border);
  border-radius: 7px;
  padding: 10px 11px;
}

.hardware-configuration-empty strong {
  color: var(--muted);
  font-size: 0.78rem;
}

.hardware-configuration-empty span {
  font-size: 0.86rem;
}

.hardware-configuration-collection {
  display: grid;
  grid-column: 1 / -1;
  gap: 10px;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 7px;
  padding: 11px;
}

.hardware-configuration-collection > legend,
.hardware-configuration-collection-item > legend {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0 4px;
}

.hardware-configuration-collection-heading,
.hardware-configuration-collection-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
}

.hardware-configuration-collection-row > label {
  flex: 1 1;
}

.hardware-configuration-collection-item {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
  border: 1px dashed var(--border);
  border-radius: 7px;
  padding: 10px;
}

.hardware-configuration-collection-item > button {
  justify-self: start;
}

.hardware-form-details {
  border-top: 1px solid var(--border);
  padding-top: 10px;
}

.hardware-form-details > summary,
.hardware-evidence-card > details > summary,
.execution-list details > summary {
  color: var(--muted);
  cursor: pointer;
  font-size: 0.82rem;
}

.hardware-evidence-card pre {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 7px;
  font-size: 0.72rem;
  max-height: 320px;
  overflow: auto;
  padding: 10px;
  white-space: pre-wrap;
}

.hardware-normalized-readback {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 10px;
}

.hardware-normalized-readback section {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--surface);
  padding: 10px;
}

.hardware-normalized-readback dl {
  display: grid;
  gap: 7px;
  margin: 9px 0 0;
}

.hardware-normalized-readback dl > div {
  display: grid;
  grid-template-columns: minmax(110px, .85fr) minmax(0, 1.15fr);
  gap: 8px;
}

.hardware-normalized-readback dt {
  color: var(--muted);
  font-size: .72rem;
}

.hardware-normalized-readback dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-size: .76rem;
}

.wide-field {
  grid-column: 1 / -1;
}

.form-actions {
  align-items: start;
}

.form-actions button {
  justify-self: start;
}

.sizing-result-groups {
  display: grid;
  gap: 18px;
}

.sizing-result-groups section {
  border-top: 1px solid var(--border);
  display: grid;
  gap: 9px;
  padding-top: 14px;
}

.sizing-result-groups section:first-child {
  border-top: 0;
  padding-top: 0;
}

.sizing-result-groups h3,
.qualification-plan p {
  margin: 0;
}

.sizing-result-groups article {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  display: grid;
  gap: 5px;
  padding: 12px;
}

.sizing-result-groups article span,
.sizing-result-groups article small,
.qualification-plan details,
.empty-state {
  color: var(--muted);
}

.qualification-plan code,
.execution-list code {
  overflow-wrap: anywhere;
}

/* A refused surface, rendered as a verdict rather than a blank. Paired with
   GateRefusal in gate-refusal.tsx; see that file for why an empty state and a
   refusal must not look alike. */
.gate-refusal {
  border: 1px solid var(--border);
  border-left: 3px solid var(--warning);
  border-radius: 0 6px 6px 0;
  background: var(--warning-soft);
  padding: 14px 18px;
  margin: 12px 0;
}

.gate-refusal.terminal {
  border-left-color: var(--muted);
  background: var(--surface);
}

.gate-refusal-verdict {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  margin: 0 0 10px;
  color: var(--text);
  font-weight: 600;
}

.gate-refusal-badge {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 3px;
  border: 1px solid var(--warning);
  color: var(--warning);
  white-space: nowrap;
}

.gate-refusal.terminal .gate-refusal-badge {
  border-color: var(--muted);
  color: var(--muted);
}

.gate-refusal-detail {
  display: grid;
  gap: 8px;
  margin: 0;
}

.gate-refusal-detail > div {
  display: grid;
  grid-template-columns: minmax(7rem, max-content) 1fr;
  gap: 4px 14px;
  align-items: baseline;
}

.gate-refusal-detail dt {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.gate-refusal-detail dd {
  margin: 0;
  color: var(--text);
  font-size: 0.94rem;
}

.gate-refusal-action,
.gate-refusal-foot {
  margin: 10px 0 0;
  font-size: 0.9rem;
  color: var(--muted);
}

/* Inside a comparison verdict card the shared eyebrow rule (.decision-verdict p,
   type+class) outranks the component's single-class paragraphs and would render
   the refusal verdict and foot as uppercase 12px eyebrows. Restore the
   component's own voice with a more specific scope. */
.decision-verdict .gate-refusal-verdict {
  margin: 0 0 10px;
  color: var(--text);
  font-size: 0.94rem;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
}

.decision-verdict .gate-refusal-action,
.decision-verdict .gate-refusal-foot {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: normal;
  text-transform: none;
}

@media (max-width: 640px) {
  .gate-refusal-detail > div {
    grid-template-columns: 1fr;
  }
}

.hardware-status-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hardware-status-grid article {
  display: grid;
  gap: 7px;
}

.hardware-status-grid article > strong {
  font-size: 1.7rem;
}

.hardware-status-grid article > span,
.hardware-status-grid article > small {
  color: var(--muted);
  line-height: 1.45;
}

.hardware-status-grid article > span {
  font-size: 0.82rem;
}

.boundary-list,
.execution-list {
  display: grid;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.boundary-list li,
.execution-list li {
  border-top: 1px solid var(--border);
  display: grid;
  gap: 5px;
  padding: 13px 0;
}

.boundary-list li:first-child,
.execution-list li:first-child {
  border-top: 0;
}

.boundary-list span,
.execution-list span,
.execution-list small {
  color: var(--muted);
}

.execution-list li > div {
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.inline-review-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 7px;
}

.inline-review-form input {
  background: var(--bg);
  border: 1px solid var(--control-border);
  border-radius: 7px;
  color: inherit;
  flex: 1 1 220px;
  font: inherit;
  min-width: 0;
  padding: 9px 10px;
}

.hardware-receipt {
  display: grid;
  gap: 6px;
  margin: 10px 0 0;
}

.hardware-receipt > div {
  display: grid;
  gap: 2px;
  grid-template-columns: 120px minmax(0, 1fr);
}

.hardware-receipt dt {
  color: var(--muted);
}

.hardware-receipt dd {
  margin: 0;
  min-width: 0;
}

@media (max-width: 1000px) {
  .hardware-workspace-grid,
  .hardware-status-grid {
    grid-template-columns: 1fr 1fr;
  }

  .hardware-answer-context,
  .provision-request-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hardware-answer-context > div:nth-child(2),
  .provision-request-preview > div:nth-child(2) { border-right: 0; }
  .hardware-answer-context > div:nth-child(-n + 2),
  .provision-request-preview > div:nth-child(-n + 2) { border-bottom: 1px solid var(--border); }
}

@media (max-width: 720px) {
  .workspace-tabs,
  .hardware-workspace-grid,
  .hardware-status-grid,
  .hardware-form,
  .hardware-configuration-fields,
  .hardware-configuration-collection-item,
  .hardware-normalized-readback {
    grid-template-columns: 1fr;
  }

  .hardware-answer-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .hardware-answer-context,
  .qualification-state-path,
  .provision-request-preview {
    grid-template-columns: 1fr;
  }

  .hardware-answer-context > div,
  .qualification-state-path li,
  .provision-request-preview > div {
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .hardware-answer-context > div:last-child,
  .qualification-state-path li:last-child,
  .provision-request-preview > div:nth-child(4) {
    border-bottom: 0;
  }

  .provisioning-stage-list li { grid-template-columns: 1fr; gap: 3px; }

  .hardware-configuration-collection-heading,
  .hardware-configuration-collection-row {
    align-items: stretch;
    flex-direction: column;
  }

  .wide-field {
    grid-column: auto;
  }

  .execution-list li > div {
    align-items: start;
    flex-direction: column;
  }
}

@media (max-width: 520px) {
  .rapid-eval-mode-grid,
  .rapid-eval-context,
  .rapid-eval-qualification dl,
  .rapid-eval-comparability dl {
    grid-template-columns: 1fr;
  }

  .rapid-eval-observations > ul > li {
    grid-template-columns: minmax(0, 1fr);
  }

  .rapid-eval-observations > ul > li > b {
    grid-column: 1;
  }

  .rapid-eval-observations details {
    grid-column: 1 / -1;
  }

  .rapid-eval-observations details li,
  .rapid-eval-definitions dl > div {
    grid-template-columns: 1fr;
  }
}
.program-health { min-height: 25px; display: inline-flex; align-items: center; border: 1px solid var(--border); border-radius: 999px; padding: 0 8px; font-size: 12px; font-weight: 700; white-space: nowrap; text-transform: capitalize; }
.program-health.healthy { border-color: #9dd8c2; background: var(--accent-soft); color: #075f45; }
.program-health.idle, .program-health.disabled { border-color: #cbd5e1; background: #f1f5f9; color: #475569; }
.program-health.pending, .program-health.running { border-color: #abc5f7; background: var(--blue-soft); color: #194c9d; }
.program-health.due, .program-health.missed, .program-health.stuck { border-color: #e7bd7e; background: var(--warning-soft); color: #8a4304; }
.evaluation-currentness-summary { margin-bottom: 12px; }
.program-table .accessible-table { min-width: 1480px; table-layout: fixed; }
.program-table th:nth-child(1) { width: 16%; }
.program-table th:nth-child(2) { width: 9%; }
.program-table th:nth-child(3) { width: 11%; }
.program-table th:nth-child(4) { width: 14%; }
.program-table th:nth-child(5) { width: 7%; }
.program-table th:nth-child(6) { width: 6%; }
.program-table th:nth-child(7) { width: 16%; }
.program-table th:nth-child(8) { width: 9%; }
.program-table th:nth-child(9) { width: 12%; }
.program-execution-cell { width: 100%; white-space: normal; }
.program-execution-state { display: block; font-size: 13px; line-height: 1.35; text-transform: capitalize; }
.program-execution-id { display: block; max-width: 220px; margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.program-health-reason { display: block; margin-top: 5px; color: #52606d; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; white-space: normal; }
.program-health-reasons { margin-top: 5px; color: #52606d; font-size: 12px; line-height: 1.4; white-space: normal; }
.program-health-reasons summary { cursor: pointer; overflow-wrap: anywhere; }
.program-health-reasons ul { display: grid; gap: 3px; margin: 5px 0 0; padding-left: 17px; }
.program-binding code { overflow-wrap: anywhere; white-space: normal; }
.program-asset code { overflow-wrap: anywhere; white-space: normal; }
.admin-recovery-queue > ol { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.admin-recovery-queue > ol > li { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px 13px; align-items: start; border: 1px solid var(--border); border-left: 3px solid var(--warning); border-radius: 7px; background: var(--bg); padding: 11px 12px; }
.admin-recovery-rank { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--warning-soft); color: var(--warning); font-size: 11px; font-weight: 800; }
.admin-recovery-queue li > div > strong { display: block; font-size: 13px; }
.admin-recovery-queue li > div > span { display: block; margin-top: 3px; color: var(--muted); font-size: 11.5px; line-height: 1.45; }
.admin-recovery-queue li dl { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 8px 0 0; }
.admin-recovery-queue li dl > div { display: flex; gap: 5px; }
.admin-recovery-queue li dt { color: var(--muted); font-size: 10px; font-weight: 700; }
.admin-recovery-queue li dd { margin: 0; font-size: 10px; font-weight: 650; }
.admin-recovery-queue li > button, .admin-recovery-queue li > a { min-height: 44px; white-space: nowrap; }
.admin-recovery-clear { display: flex; gap: 9px; align-items: center; border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border)); border-radius: 6px; background: var(--accent-soft); padding: 11px 12px; color: var(--accent); }
.admin-recovery-clear span { color: var(--text); font-size: 12px; }
.admin-health-card .card-heading { margin-bottom: 11px; }
.admin-health-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; overflow: hidden; margin: 0; border: 1px solid var(--border); border-radius: 7px; background: var(--border); }
.admin-health-strip > div { min-width: 0; min-height: 72px; background: var(--surface); padding: 10px 12px; box-shadow: inset 0 3px 0 #9aa3ad; }
.admin-health-strip > div.ready { box-shadow: inset 0 3px 0 var(--accent); }
.admin-health-strip > div.attention { background: #fffaf2; box-shadow: inset 0 3px 0 var(--warning); }
.admin-health-strip dd { font-size: 14px; }
.query-inventory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.query-inventory li { min-width: 0; display: grid; gap: 7px; border: 1px solid var(--border); border-radius: 6px; background: #fbfcfd; padding: 9px 11px; }
.query-inventory li.empty { border-color: #e7bd7e; background: var(--warning-soft); }
.query-inventory li > div { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.query-inventory code { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.query-inventory span { flex: 0 0 auto; color: var(--muted); font-size: 12px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.query-inventory meter { width: 100%; height: 7px; accent-color: var(--blue); }
.query-inventory meter::-webkit-meter-bar { border: 0; border-radius: 999px; background: #e2e8f0; }
.query-inventory meter::-webkit-meter-optimum-value { border-radius: 999px; background: var(--blue); }
.query-inventory meter::-moz-meter-bar { border-radius: 999px; background: var(--blue); }
.query-inventory li.empty meter { accent-color: var(--warning); }
.numeric { font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.decision-workspace { min-width: 0; font-size: 13.5px; }
.decision-heading { align-items: flex-start; gap: 24px; }
.decision-heading h1 { font-size: 30px; }
.heading-copy { max-width: 680px; margin: 8px 0 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.minimum-touch-link { display: inline-flex; min-height: 44px; align-items: center; }
.decision-heading-actions { display: flex; align-items: flex-end; gap: 10px; }
.compact-field { display: grid; gap: 5px; min-width: 280px; color: var(--muted); font-size: 11px; font-weight: 700; }
.compact-field select, .run-selectors select, .field input, .field select, .field textarea { width: 100%; border: 1px solid var(--control-border); border-radius: 6px; background: var(--surface); color: var(--text); }
.compact-field select, .run-selectors select, .field input, .field select { min-height: 44px; padding: 0 10px; }
/* A select sizes to its longest option; long decision questions must not widen the page on narrow screens. */
.form-field select { max-width: 100%; }
.field textarea { min-height: 92px; padding: 10px; resize: vertical; line-height: 1.45; }
.primary-button, .secondary-button, .verify-button, .purple-button, .selected-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border-radius: 6px; padding: 0 14px; font-weight: 700; }
.primary-button { border: 1px solid var(--accent); background: var(--accent); color: white; }
.primary-button:disabled, .secondary-button:disabled, .purple-button:disabled, .selected-button:disabled { cursor: not-allowed; opacity: .5; }
.primary-button.blocked:disabled { border-color: var(--warning); background: var(--warning-soft); color: var(--warning); opacity: 1; }
.secondary-button { border: 1px solid var(--border); background: var(--surface); color: var(--text); }
.secondary-button:hover { border-color: #9aa3ad; }
.verify-button { border: 1px solid var(--blue); background: var(--blue); color: white; }
.purple-button { border: 1px solid var(--purple); background: var(--purple); color: white; white-space: nowrap; }
.selected-button { border: 1px solid var(--accent); background: var(--accent-soft); color: #066446; }
.decision-stagebar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 22px; padding: 0; border: 1px solid var(--border); background: var(--surface); list-style: none; }
.decision-stagebar li { position: relative; min-height: 76px; display: grid; grid-template-columns: 28px 1fr; grid-template-rows: auto auto; column-gap: 9px; align-content: center; padding: 13px 18px; border-right: 1px solid var(--border); color: var(--muted); }
.decision-stagebar li:last-child { border-right: 0; }
.decision-stagebar li > span { grid-row: 1 / 3; width: 28px; height: 28px; display: grid; place-items: center; align-self: center; border: 1px solid var(--border); border-radius: 50%; background: var(--bg); font-weight: 700; }
.decision-stagebar li b { align-self: end; color: var(--text); font-size: 13px; }
.decision-stagebar li small { align-self: start; margin-top: 2px; font-size: 11px; }
.decision-stagebar li.active { box-shadow: inset 0 -3px 0 var(--accent); }
.decision-stagebar li.active > span { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.decision-stagebar li.longitudinal { box-shadow: inset 0 -3px 0 var(--purple); }
.decision-stagebar li.longitudinal > span { border-color: var(--purple); background: var(--purple-soft); color: var(--purple); }
.decision-notice { display: flex; align-items: flex-start; gap: 9px; margin-bottom: 18px; border: 1px solid #9dd8c2; border-radius: 6px; background: var(--accent-soft); padding: 11px 13px; color: #075f45; font-size: 13px; line-height: 1.45; }
.decision-notice svg { flex: 0 0 auto; margin-top: 1px; }
.decision-stage { margin-bottom: 20px; border: 1px solid var(--border); background: var(--surface); padding: 22px; }
.stage-title { display: flex; align-items: center; gap: 11px; margin-bottom: 18px; }
.stage-title > span:first-child { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 6px; background: var(--accent-soft); color: var(--accent); }
.stage-title p { margin: 0 0 2px; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.stage-title h2 { margin: 0; font-size: 18px; line-height: 1.3; }
.record-revision { margin-left: auto; border: 1px solid var(--border); border-radius: 5px; padding: 5px 8px; color: var(--muted); font: 600 11px ui-monospace, monospace; }
.run-selectors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.run-selectors label { display: grid; gap: 6px; }
.run-selectors label > span, .field > span { color: #3f4853; font-size: 11px; font-weight: 700; }
.inline-warning { margin: 0 0 14px; border-left: 3px solid var(--warning); background: var(--warning-soft); padding: 9px 11px; color: #8a4304; font-size: 12px; }
.alternative-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 14px; }
.imported-comparison { display: grid; gap: 14px; }
.imported-comparison-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--border); border-radius: 7px; background: var(--bg); }
.imported-comparison-summary > div { min-width: 0; padding: 12px; border-right: 1px solid var(--border); }
.imported-comparison-summary > div:last-child { border-right: 0; }
.imported-comparison-summary span, .imported-alternative-facts dt { display: block; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.imported-comparison-summary strong { display: block; overflow: hidden; margin-top: 4px; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.comparison-revalidation-note { display: flex; align-items: flex-start; gap: 8px; margin: 0; border-left: 3px solid var(--blue); background: var(--blue-soft); padding: 10px 12px; color: #194c9d; font-size: 12px; line-height: 1.45; }
.comparison-revalidation-note svg { flex: 0 0 auto; margin-top: 1px; }
.imported-alternatives { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.imported-alternative-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0 0 14px; background: var(--border); }
.imported-alternative-facts > div { min-width: 0; background: var(--surface); padding: 9px; }
.imported-alternative-facts dd { margin: 4px 0 0; font-size: 12px; font-weight: 650; line-height: 1.35; }
.alternative-card { min-width: 0; border: 1px solid var(--border); border-radius: 7px; background: #fbfcfd; padding: 17px; }
.alternative-card.selected { border-color: #69bb9d; background: #fbfffd; box-shadow: inset 0 3px 0 var(--accent); }
.alternative-card-head { min-height: 58px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.alternative-card-head > div { min-width: 0; }
.alternative-card-head h3 { margin: 2px 0; overflow-wrap: anywhere; font-size: 20px; }
.alternative-card-head small { color: var(--muted); font-size: 11px; }
.status-pill { display: inline-flex; align-items: center; min-height: 25px; border: 1px solid var(--border); border-radius: 999px; padding: 0 9px; font-size: 10px; font-weight: 750; text-transform: capitalize; white-space: nowrap; }
.status-pill.positive { border-color: #9dd8c2; background: var(--accent-soft); color: #075f45; }
.status-pill.draft { border-color: #abc5f7; background: var(--blue-soft); color: #194c9d; }
.status-pill.warning { border-color: #e7bd7e; background: var(--warning-soft); color: #8a4304; }
.status-pill.negative { border-color: #e4a9a5; background: var(--danger-soft); color: #9d2119; }
.claim-trust-bar { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(360px, .9fr); gap: 20px; margin: -4px 0 20px; border: 1px solid var(--border); border-left-width: 4px; border-radius: 7px; background: var(--surface); padding: 15px 17px; }
.claim-trust-bar.blocked { border-left-color: var(--warning); background: #fffdf9; }
.claim-trust-bar.eligible { border-left-color: var(--accent); background: #fbfffd; }
.claim-trust-copy { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.claim-trust-copy > svg { flex: 0 0 auto; margin-top: 2px; color: var(--warning); }
.claim-trust-bar.eligible .claim-trust-copy > svg { color: var(--accent); }
.claim-trust-copy span { display: block; color: var(--muted); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.claim-trust-copy strong { display: block; margin-top: 3px; font-size: 14px; line-height: 1.35; }
.claim-trust-copy p { margin: 4px 0 0; color: #4d5966; font-size: 12px; line-height: 1.45; }
.claim-trust-gates { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); }
.claim-trust-gates > div { min-width: 0; padding: 10px; border-right: 1px solid var(--border); }
.claim-trust-gates > div:last-child { border-right: 0; }
.claim-trust-gates dt { color: var(--muted); font-size: 12px; font-weight: 700; line-height: 1.3; text-transform: uppercase; }
.claim-trust-gates dd { margin: 4px 0 0; font-size: 12px; font-weight: 700; }
.claim-trust-bar > .trust-chain { grid-column: 1 / -1; }
.trust-chain { position: relative; min-width: 0; border: 1px solid var(--border); border-left: 4px solid #9aa3ad; border-radius: 7px; background: var(--surface); }
.trust-chain.verified { border-left-color: var(--accent); }
.trust-chain.attention { border-left-color: var(--warning); }
.trust-chain.blocked { border-left-color: var(--danger); }
.trust-chain.pending { border-left-color: var(--blue); }
/* Bounded pending: a check that has run past its threshold keeps reporting
   truthfully as pending but presents with attention styling so it does not
   read as frozen. Declared after .pending so both classes together resolve
   to the attention look. */
.trust-chain.slow-pending { border-left-color: var(--warning); }
.trust-chain summary { min-height: 54px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 10px; cursor: pointer; list-style: none; padding: 9px 12px; }
.trust-chain summary::-webkit-details-marker { display: none; }
.trust-chain-summary-icon, .trust-chain-step-icon { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #eef1f4; color: #596574; }
.trust-chain.verified .trust-chain-summary-icon, .trust-chain li.verified .trust-chain-step-icon { background: var(--accent-soft); color: var(--accent); }
.trust-chain.attention .trust-chain-summary-icon, .trust-chain li.attention .trust-chain-step-icon { background: var(--warning-soft); color: var(--warning); }
.trust-chain.blocked .trust-chain-summary-icon, .trust-chain li.blocked .trust-chain-step-icon { background: #fff0ef; color: var(--danger); }
.trust-chain.pending .trust-chain-summary-icon, .trust-chain li.pending .trust-chain-step-icon { background: var(--blue-soft); color: var(--blue); }
.trust-chain.slow-pending .trust-chain-summary-icon { background: var(--warning-soft); color: var(--warning); }
.trust-chain-summary-copy { min-width: 0; display: grid; gap: 1px; }
.trust-chain-summary-copy small { color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.trust-chain-summary-copy strong { overflow: hidden; font-size: 13px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.trust-chain-summary-copy > span { color: var(--muted); font-size: 10.5px; line-height: 1.35; overflow-wrap: anywhere; }
.trust-chain.compact .trust-chain-summary-copy { grid-template-columns: auto minmax(0, 1fr); column-gap: 8px; }
.trust-chain.compact .trust-chain-summary-copy > small { grid-column: 1 / -1; }
.trust-chain.compact .trust-chain-summary-copy > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Provenance sits quietly at the trailing end of the strip: keep the compact
   trust-chain content, but bound the receipt width so its defining sentence
   clamps to one line (ellipsis) instead of expanding the strip into overflow. */
.trust-chain.compact > summary { min-height: 44px; padding: 6px 11px; }
.global-context-receipt > .trust-chain { flex: 1 1; min-width: 0; }
.trust-chain-status { min-height: 23px; display: inline-flex; align-items: center; border: 1px solid var(--border); border-radius: 999px; padding: 0 8px; color: var(--muted); font-size: 10px; font-weight: 750; white-space: nowrap; }
.trust-chain-status.verified { border-color: #9dd8c2; background: var(--accent-soft); color: #075f45; }
.trust-chain-status.attention { border-color: #e7bd7e; background: var(--warning-soft); color: #8a4304; }
.trust-chain-status.blocked { border-color: #efb0aa; background: #fff0ef; color: var(--danger); }
.trust-chain-status.pending { border-color: #abc5f7; background: var(--blue-soft); color: #194c9d; }
.trust-chain-status.slow-pending { border-color: #e7bd7e; background: var(--warning-soft); color: var(--warning); }
.trust-chain-chevron { color: var(--muted); transition: transform .16s ease; }
.trust-chain[open] .trust-chain-chevron { transform: rotate(180deg); }
.trust-chain-panel { border-top: 1px solid var(--border); padding: 13px 15px 16px; }
/* The compact variant's summary-row span stays one-line-clamped at every width
   because it lives in the sticky top bar; the full defining sentence is instead
   repeated unclamped here inside the opened panel. */
.trust-chain-panel-detail { margin: 0 0 10px; color: var(--muted); font-size: 11.5px; line-height: 1.5; overflow-wrap: anywhere; }
.trust-chain-intro { margin: 0 0 13px; color: #4d5966; font-size: 12px; line-height: 1.5; }
.trust-chain ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.trust-chain li { position: relative; min-width: 0; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; padding: 0 0 14px; }
.trust-chain li:last-child { padding-bottom: 0; }
.trust-chain li:not(:last-child)::after { position: absolute; top: 29px; bottom: 0; left: 14px; width: 1px; background: var(--border); content: ""; }
.trust-chain-step-icon { position: relative; z-index: 1; width: 29px; height: 29px; background: var(--bg); }
.trust-chain-step-copy { min-width: 0; padding-top: 3px; }
.trust-chain-step-copy > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.trust-chain-step-copy > div > strong { margin: 0; font-size: 12px; line-height: 1.35; }
.trust-chain-step-copy > div > span { color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; white-space: nowrap; }
.trust-chain li.verified .trust-chain-step-copy > div > span { color: var(--accent); }
.trust-chain li.attention .trust-chain-step-copy > div > span { color: var(--warning); }
.trust-chain li.blocked .trust-chain-step-copy > div > span { color: var(--danger); }
.trust-chain li.pending .trust-chain-step-copy > div > span { color: var(--blue); }
.trust-chain-step-copy > p { margin: 3px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.trust-chain-step-copy dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 7px; margin: 9px 0 0; }
.trust-chain-step-copy dl > div { min-width: 0; border: 1px solid var(--border); border-radius: 5px; background: var(--bg); padding: 7px 8px; }
.trust-chain-step-copy dt { color: var(--muted); font-size: 8.5px; font-weight: 750; letter-spacing: .025em; text-transform: uppercase; }
.trust-chain-step-copy dd { margin: 2px 0 0; overflow-wrap: anywhere; font: 650 10.5px ui-monospace, SFMono-Regular, Menlo, monospace; }
.trust-chain-step-copy a { min-height: 44px; display: inline-flex; align-items: center; color: var(--blue); }
/* On narrow screens the evidence dl + label/status row must collapse so the
   trust-chain panel never pushes past the viewport. (The compact popover's own
   overflow is fixed in the max-width:600px block below, by re-anchoring it to
   the full-width .global-context strip.) */
@media (max-width: 640px) {
  .trust-chain-step-copy dl { grid-template-columns: 1fr; }
  .trust-chain-step-copy > div { flex-wrap: wrap; }
}
.trust-chain.compact { flex: 1 1 auto; border: 0; background: transparent; }
.trust-chain.compact summary { min-height: 44px; padding: 2px 0; }
.trust-chain.compact .trust-chain-summary-icon { width: 27px; height: 27px; }
.global-context .trust-chain-summary-copy { grid-template-columns: minmax(0, 1fr); }
.global-context .trust-chain-summary-copy > span { display: none; }
.trust-chain.compact .trust-chain-panel { position: absolute; top: calc(100% + 7px); left: 0; z-index: 110; width: min(780px, calc(100vw - 44px)); max-height: calc(100vh - 128px); overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); box-shadow: 0 16px 34px rgb(15 23 42 / 16%); }
.analytics-result > .trust-chain { margin: 14px 0; }
.metric-list { margin: 0 0 14px; border-top: 1px solid var(--border); }
.metric-list > div { min-height: 49px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--border); }
.metric-list dt { color: var(--muted); font-size: 11px; }
.metric-list dd { margin: 0; text-align: right; font-weight: 700; }
.metric-list dd small { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; font-weight: 500; }
.metric-list .missing dd { color: var(--warning); font-weight: 600; }
.metric-list .suppressed { align-items: flex-start; padding: 10px 0; }
.metric-list .suppressed dt { padding-top: 2px; }
.metric-list .suppressed dd { max-width: 230px; }
.metric-suppressed { display: inline-block; color: #8a4304; font-size: 11px; font-weight: 650; line-height: 1.35; }
.digest-placeholder { display: inline-flex; align-items: center; gap: 5px; color: #8a4304; -webkit-text-decoration: line-through dashed; text-decoration: line-through dashed; }
.digest-placeholder em { flex: 0 0 auto; border: 1px solid #e7bd7e; border-radius: 999px; background: var(--warning-soft); padding: 0 6px; color: #8a4304; font-size: 10px; font-style: normal; font-weight: 700; letter-spacing: 0.04em; text-decoration: none; text-transform: uppercase; }
.candidate-proof { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; color: var(--muted); font-size: 10.5px; }
.candidate-proof + .candidate-proof { margin-top: -7px; }
.candidate-proof span { display: inline-flex; align-items: center; gap: 5px; }
.candidate-proof b { overflow: hidden; color: #4d5966; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; text-overflow: ellipsis; white-space: nowrap; }
.alternative-card > button { width: 100%; }
.approval-stage { border-top: 3px solid var(--accent); }
.decision-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.field { display: grid; align-content: start; gap: 6px; }
.field.wide { grid-column: 1 / -1; }
.baseline-toggle { display: flex; align-items: flex-start; gap: 10px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg); padding: 12px; }
.baseline-toggle input { margin-top: 3px; }
.baseline-toggle span { display: grid; gap: 3px; }
.baseline-toggle small { color: var(--muted); font-size: 11px; line-height: 1.4; }
.approval-footer { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); }
.approval-footer p { display: flex; align-items: flex-start; gap: 7px; max-width: 700px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.approval-footer svg { flex: 0 0 auto; color: var(--blue); }
.locked-stage { border-style: dashed; background: transparent; color: var(--muted); }
.locked-stage p { margin: 0; }
.decision-empty { min-height: 220px; display: grid; place-items: center; align-content: center; gap: 9px; color: var(--muted); text-align: center; }
.decision-empty h3, .decision-empty p { max-width: 560px; margin: 0; }
.decision-empty h3 { color: var(--text); font-size: 16px; }
.decision-empty p { line-height: 1.5; }
.workload-answer-recovery { min-height: 0; margin-bottom: 16px; border: 1px solid #e7bd7e; border-radius: 7px; background: var(--warning-soft); padding: 16px; }
.workload-answer-recovery > p { color: var(--text); font-weight: 750; }
.workload-answer-recovery > small { max-width: 760px; line-height: 1.5; }
.workload-answer-recovery .decision-heading-actions { justify-content: center; }
.recovery-summary { width: min(100%, 760px); display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin: 8px 0; border: 1px solid var(--border); border-radius: 7px; background: var(--bg); text-align: left; }
.recovery-summary > div { min-width: 0; padding: 11px 13px; border-right: 1px solid var(--border); }
.recovery-summary > div:last-child { border-right: 0; }
.recovery-summary dt { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .025em; text-transform: uppercase; }
.recovery-summary dd { margin: 5px 0 0; overflow-wrap: anywhere; color: var(--text); font-size: 12px; font-weight: 700; line-height: 1.4; }
.recovery-actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.record-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.record-summary-grid > div { min-width: 0; border-left: 3px solid var(--accent); background: var(--bg); padding: 12px 14px; }
.record-summary-grid span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.record-summary-grid p { margin: 5px 0 0; overflow-wrap: anywhere; line-height: 1.5; }
.workload-answer-authority { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 18px 0 14px; }
.workload-authority-card { min-width: 0; border: 1px solid var(--border); border-radius: 7px; background: var(--bg); padding: 16px; }
.workload-authority-card h3 { margin: 0 0 12px; font-size: 15px; }
.workload-authority-identities { display: grid; gap: 9px; margin: 0 0 14px; }
.workload-authority-identities > div { min-width: 0; }
.workload-authority-identities dt { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.workload-authority-identities dd { margin: 3px 0 0; overflow-wrap: anywhere; line-height: 1.45; }
.workload-authority-form { display: grid; gap: 12px; }
.workload-authority-form > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.workload-authority-form .primary-button { justify-self: start; }
.workload-authority-checkbox { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; line-height: 1.45; }
.workload-authority-checkbox input { flex: 0 0 auto; margin-top: 2px; }
.successor-review-shell { margin: 18px 0; border: 1px solid var(--border); border-top: 3px solid var(--blue); border-radius: 7px; background: var(--surface); padding: 18px; }
.successor-review-shell > p[role="status"] { margin: 0; }
.successor-review-heading { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 10px; }
.successor-review-heading > svg { margin-top: 2px; color: var(--blue); }
.successor-review-heading > div { min-width: 0; }
.successor-review-heading p { margin: 0; color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.successor-review-heading h3 { margin: 3px 0 0; font-size: 18px; line-height: 1.3; }
.successor-review-heading .status-pill { align-self: center; font-size: 11px; }
.successor-review-verdict { display: grid; grid-template-columns: minmax(180px, .4fr) minmax(0, 1fr); align-items: center; gap: 18px; margin-top: 16px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 14px 0; }
.successor-review-verdict > div { display: grid; gap: 3px; }
.successor-review-verdict span { color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.successor-review-verdict strong { font-size: 21px; line-height: 1.25; }
.successor-review-verdict p { margin: 0; color: #4d5966; line-height: 1.55; }
.successor-review-consequence { margin: 14px 0 0; border: 1px solid #9dd8c2; border-radius: 6px; background: var(--accent-soft); padding: 11px 13px; color: #075f45; font-size: 13px; font-weight: 650; line-height: 1.55; }
.successor-review-consequence.reviewable { border-color: #e7bd7e; background: var(--warning-soft); color: #7b3d05; }
.successor-review-consequence.blocked, .successor-review-boundary { border-color: #e4a9a5; background: var(--danger-soft); color: #8f1f17; }
.successor-review-boundary { margin: 14px 0 0; border: 1px solid #e4a9a5; border-radius: 6px; padding: 11px 13px; font-size: 13px; line-height: 1.55; }
.successor-review-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 17px 0 0; border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.successor-review-facts > div { min-width: 0; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 11px 13px; }
.successor-review-facts dt { color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.successor-review-facts dd { display: grid; gap: 3px; margin: 5px 0 0; overflow-wrap: anywhere; font-size: 12px; line-height: 1.45; }
.successor-review-facts dd > strong { color: var(--text); }
.successor-review-facts dd > code { color: #4d5966; font-size: 11px; }
.successor-review-facts a { min-height: 44px; display: inline-flex; align-items: center; color: var(--blue); font-weight: 700; text-underline-offset: 3px; }
.successor-review-reasons { margin-top: 17px; }
.successor-review-reasons h4, .successor-review-roles h4, .successor-review-recorded h4, .successor-review-form h4 { margin: 0; font-size: 14px; }
.successor-review-reasons p { margin: 7px 0 0; color: #4d5966; font-size: 12.5px; line-height: 1.55; }
.successor-review-reasons ul { display: grid; gap: 7px; margin: 9px 0 0; padding-left: 20px; }
.successor-review-reasons li { padding-left: 3px; line-height: 1.5; }
.successor-review-reasons code { overflow-wrap: anywhere; }
.successor-review-roles { margin-top: 17px; border-top: 1px solid var(--border); padding-top: 15px; }
.successor-review-roles dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 10px 0 0; }
.successor-review-roles dl > div { padding: 0 13px; border-right: 1px solid var(--border); }
.successor-review-roles dl > div:first-child { padding-left: 0; }
.successor-review-roles dl > div:last-child { border-right: 0; padding-right: 0; }
.successor-review-roles dt { font-size: 12px; font-weight: 750; }
.successor-review-roles dd { margin: 4px 0 0; color: #4d5966; font-size: 12px; line-height: 1.5; }
.successor-review-recorded { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; margin-top: 17px; border: 1px solid #9dd8c2; border-radius: 6px; background: var(--accent-soft); padding: 13px; color: #075f45; }
.successor-review-recorded > svg { margin-top: 1px; }
.successor-review-recorded p { margin: 4px 0 0; line-height: 1.5; }
.successor-review-form { display: grid; gap: 12px; margin-top: 17px; border-top: 1px solid var(--border); padding-top: 15px; }
.successor-review-form > div:first-child p, .successor-review-form > p { margin: 4px 0 0; color: #4d5966; font-size: 12px; line-height: 1.5; }
.successor-review-form textarea { min-height: 88px; resize: vertical; }
.successor-review-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.successor-review-actions button { min-height: 44px; }
.successor-review-proof { margin: 14px 0 0; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.source-freshness { display: grid; gap: 10px; margin-top: 14px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg); padding: 13px 14px; }
.source-freshness-head { display: flex; align-items: flex-start; gap: 9px; }
.source-freshness-head > span { display: grid; place-items: center; margin-top: 1px; color: var(--blue); }
.source-freshness-head b { display: block; font-size: 13px; }
.source-freshness-head small, .source-freshness-rows small, .evidence-rerun-routing small { display: block; margin-top: 3px; color: var(--muted); font-size: 11.5px; line-height: 1.45; }
.source-freshness-empty { margin: 0; color: var(--muted); font-size: 12px; }
.source-freshness-rows { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.source-freshness-rows li { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--border); border-left-width: 3px; border-radius: 6px; background: var(--surface); padding: 9px 11px; }
.source-freshness-rows li.current { border-left-color: var(--accent); }
.source-freshness-rows li.approaching, .source-freshness-rows li.aged-past { border-left-color: var(--warning); background: var(--warning-soft); }
.source-freshness-rows li.unknown { border-left-color: #9aa3ad; }
.source-freshness-rows li b { font-size: 12.5px; }
.source-freshness-rows .status-pill { flex-shrink: 0; max-width: 46%; white-space: normal; text-align: right; }
.evidence-rerun-routing { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); padding: 10px 11px; }
.evidence-rerun-routing.warning { border-color: #e7bd7e; background: var(--warning-soft); }
.evidence-rerun-routing b { font-size: 12.5px; }
.evidence-rerun-routing .secondary-button { flex-shrink: 0; }
.evidence-rerun-routing .button-row { display: flex; flex-shrink: 0; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.report-stage { border-top: 3px solid var(--blue); }
.report-stage .stage-title > span:first-child { background: var(--blue-soft); color: var(--blue); }
.report-stage .stage-title > .status-pill { width: auto; height: auto; display: inline-flex; margin-left: auto; background: var(--accent-soft); }
.report-status-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--border); }
.report-status-grid > div { min-height: 112px; display: flex; flex-direction: column; justify-content: center; padding: 15px; border-right: 1px solid var(--border); }
.report-status-grid > div:last-child { border-right: 0; }
.report-status-grid span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.report-status-grid b { margin-top: 6px; font-size: 14px; line-height: 1.35; }
.report-status-grid small { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.report-status-grid .positive { box-shadow: inset 0 3px 0 var(--accent); }
.report-status-grid .warning { box-shadow: inset 0 3px 0 var(--warning); }
.report-status-grid .negative { box-shadow: inset 0 3px 0 var(--danger); }
.report-status-grid .neutral { box-shadow: inset 0 3px 0 #9aa3ad; }
.report-identity-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); border-top: 0; background: var(--bg); }
.report-identity-grid > div { min-width: 0; padding: 12px 15px; border-right: 1px solid var(--border); }
.report-identity-grid > div:last-child { border-right: 0; }
.report-identity-grid dt { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.report-identity-grid dd { margin: 5px 0 0; overflow-wrap: anywhere; font-size: 13px; font-weight: 700; line-height: 1.35; }
.report-identity-grid small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.report-actions { display: flex; align-items: center; gap: 9px; margin-top: 14px; }
.report-actions > span { margin-left: auto; color: var(--muted); font: 600 10.5px ui-monospace, SFMono-Regular, Menlo, monospace; }
.report-export-warning { margin: 10px 0 0; border-left: 3px solid var(--warning); background: var(--warning-soft); padding: 9px 11px; color: #8a3f00; font-size: 11.5px; font-weight: 600; }
.report-source-status { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; color: var(--muted); font-size: 11px; }
.report-source-status b { color: var(--text); }
.verification-detail { margin: 12px 0 0; border-left: 3px solid var(--blue); background: var(--blue-soft); padding: 9px 11px; color: #194c9d; font-size: 12px; }
.report-limitations { margin-top: 14px; border-top: 1px solid var(--border); padding-top: 12px; color: var(--muted); font-size: 11px; }
.report-limitations ul { margin: 6px 0 0; padding-left: 18px; line-height: 1.55; }
.report-limitations li { overflow-wrap: anywhere; }
.learn-stage { border-top: 3px solid var(--purple); }
.learn-stage .stage-title > span:first-child { background: var(--purple-soft); color: var(--purple); }
.outcome-timeline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--border); }
.outcome-timeline > div { min-height: 104px; display: flex; flex-direction: column; justify-content: center; padding: 14px; border-right: 1px solid var(--border); }
.outcome-timeline > div:last-child { border-right: 0; }
.outcome-timeline span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.outcome-timeline b { margin-top: 5px; font-size: 14px; }
.outcome-timeline small { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.outcome-timeline .baseline-action { align-self: flex-start; min-height: 44px; margin-top: 9px; padding: 0 9px; font-size: 11px; }
.outcome-timeline .positive { box-shadow: inset 0 3px 0 var(--accent); }
.outcome-timeline .longitudinal { box-shadow: inset 0 3px 0 var(--purple); background: #fdfbff; }
.outcome-timeline .warning { box-shadow: inset 0 3px 0 var(--warning); }
.outcome-timeline .neutral { box-shadow: inset 0 3px 0 #9aa3ad; }
.outcome-form { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; align-items: end; gap: 12px; margin-top: 16px; }
/* The wide measured-source field pushes the submit button into an implicit
   row, where auto-placement would drop it into the 180px first column and the
   grid would stretch it narrower than its nowrap label. */
.outcome-form button { grid-column: 1 / -1; justify-self: start; }
.outcome-summary { min-width: 0; }
.outcome-readback { display: flex; align-items: flex-start; gap: 9px; margin-top: 14px; border: 1px solid #c9b8ef; background: var(--purple-soft); padding: 12px; color: #51338d; }
.outcome-readback div { display: grid; gap: 4px; }
.outcome-readback span { font-size: 11px; }
.outcome-note { display: flex; align-items: center; gap: 7px; margin: 13px 0 0; color: var(--muted); font-size: 10.5px; }
.decision-workspace { font-size: 14px; }
.decision-workspace .eyebrow, .compact-field, .decision-stagebar li small, .stage-title p, .record-revision, .run-selectors label > span, .field > span, .status-pill, .metric-list dt, .metric-list dd small, .candidate-proof, .approval-footer p, .record-summary-grid span, .report-status-grid span, .report-status-grid small, .report-identity-grid dt, .report-identity-grid small, .report-actions > span, .report-source-status, .report-limitations, .outcome-timeline span, .outcome-timeline small, .outcome-readback span, .outcome-note, .claim-trust-copy span, .claim-trust-gates dt, .metric-suppressed { font-size: 12px; }
.decision-workspace input, .decision-workspace select, .decision-workspace textarea, .decision-workspace button { font-size: 14px; }
.spin { animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
/* A trust-chain step can stay pending while the reader works on the page: a
   section that loads when scrolled to, or a step waiting for a selection.
   WCAG 2.2.2 allows motion beside other content for five seconds, so the
   pending icon stops after six turns (4.8 s). Its status text keeps reporting
   the wait. */
.trust-chain .spin { animation-iteration-count: 6; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .spin { animation: none; }
}
@media (max-width: 1100px) {
  .global-context { flex-wrap: wrap; gap: 10px 24px; }
  .global-context-receipt { flex-basis: 100%; max-width: 100%; margin-left: 0; }
  .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-grid.two-one { grid-template-columns: 1fr; }
  .content-grid.two-one.capacity-evidence-grid { grid-template-columns: 1fr; }
  .performance-graph-nodes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .performance-graph-nodes li:nth-child(3n) { border-right: 1px solid var(--border); }
  .performance-graph-nodes li:nth-child(2n) { border-right: 0; }
  .performance-graph-nodes li:nth-last-child(-n+3) { border-bottom: 1px solid var(--border); }
  .performance-graph-nodes li:nth-last-child(-n+2) { border-bottom: 0; }
  .performance-graph-nodes[data-node-count="9"] li:nth-last-child(-n+3) { border-bottom: 0; }
  .performance-graph-nodes[data-node-count="7"] li:nth-last-child(-n+2) { border-bottom: 1px solid var(--border); }
  .performance-graph-nodes[data-node-count="7"] li:last-child { border-bottom: 0; }
  .performance-graph-nodes[data-node-count="10"] li:last-child { grid-column: auto; }
  .performance-loop { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .performance-graph-evidence-first { grid-template-columns: 1fr 1fr; }
  .performance-graph-next { grid-column: 1 / -1; border-top: 1px solid var(--border); border-left: 0; padding: 10px 0 0; }
  .performance-loop li:nth-child(3n) { border-right: 1px solid var(--border); }
  .performance-loop li:nth-child(2n) { border-right: 0; }
  .performance-loop li:nth-child(-n+4) { border-bottom: 1px solid var(--border); }
  /* .picker-grid / .comparison-intent / .field-picker-options collapse moved
     below their base rules (see "Responsive collapse" block after the comparison
     workspace) — their base 2-col rules come later in source, so an override
     here (equal specificity, earlier) never won and mobile never collapsed. */
  .claim-trust-bar { grid-template-columns: 1fr; }
  .report-status-grid, .report-identity-grid, .outcome-timeline, .imported-comparison-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-status-grid > div:nth-child(2), .report-identity-grid > div:nth-child(2), .outcome-timeline > div:nth-child(2) { border-right: 0; }
  .report-status-grid > div:nth-child(-n+2), .report-identity-grid > div:nth-child(-n+2), .outcome-timeline > div:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .outcome-form { grid-template-columns: 170px minmax(0, 1fr); }
  .outcome-form button { grid-column: 1 / -1; justify-self: stretch; }
}
@media (min-width: 601px) {
  .global-context .trust-chain.compact .trust-chain-panel { left: auto; right: 0; }
}
@media (max-width: 800px) {
  .product-shell { grid-template-columns: minmax(0, 1fr); grid-template-rows: 60px auto auto minmax(0, 1fr); }
  .product-shell.evaluation-product-shell { grid-template-rows: 60px auto minmax(0, 1fr); }
  .product-topbar { height: 60px; padding: 0 14px; }
  .product-brand span { display: none; }
  /* The related-destination strip scrolls; the fading edge shows there is more. */
  .section-navigation { padding-right: 28px; -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent); }
  .global-context { top: 60px; min-height: 58px; flex-wrap: wrap; align-items: flex-start; gap: 12px; padding: 9px 14px; }
  .global-context-trust div { display: block; }
  .global-context-trust strong { display: block; max-width: 55vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .global-context-trust span { display: block; max-width: 55vw; margin-top: 1px; }
  .global-context > dl > div { display: grid; gap: 0; padding: 0 8px; }
  .global-context > dl > div:nth-child(2) { display: none; }
  .global-context-receipt { max-width: 100%; margin-left: 0; flex-basis: 100%; }
  .strip-cta { display: none; }
  .global-context .trust-chain-status { display: inline-flex; }
  .global-context .trust-chain-summary-copy strong { max-width: 48vw; }
  .global-context > dl dt { font-size: 11px; }
  .product-sidebar { position: sticky; top: 118px; z-index: 80; grid-column: 1; width: 100%; min-width: 0; max-width: 100vw; height: auto; flex-direction: row; align-items: center; gap: 8px; overflow: hidden; border-right: 0; border-bottom: 1px solid var(--border); background: rgb(255 255 255 / 97%); padding: 8px 12px; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
  .product-shell:not(.evaluation-product-shell) > .product-sidebar { position: static; top: auto; z-index: auto; }
  .product-sidebar > nav { min-width: 0; max-width: 100%; flex: 1 1 auto; display: flex; gap: 4px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-padding-inline: 12px; scrollbar-width: thin; }
  .product-sidebar > nav .product-nav-group { flex: 0 0 auto; }
  .product-nav-group + .product-nav-group { margin-top: 0; }
  .product-sidebar ul { display: flex; gap: 4px; margin: 0; }
  .nav-group-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
  .product-nav-link { min-height: 44px; gap: 7px; padding: 0 10px; white-space: nowrap; }
  .product-nav-link[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--accent); }
  .admin-navigation { flex: 0 0 auto; display: block; border-top: 0; border-left: 1px solid var(--border); padding: 0 0 0 8px; }
  .product-main { grid-column: 1; scroll-margin-top: 300px; padding: 22px 16px 48px; }
  .evaluation-product-shell .product-sidebar { top: 60px; height: auto; }
  .evaluation-product-shell .product-main { grid-column: 1; }
  .view-heading { margin-bottom: 20px; }
  .performance-graph-heading { display: grid; padding: 18px; }
  .performance-graph-heading > a { justify-self: start; }
  .performance-graph-model { grid-template-columns: 1fr; }
  .performance-graph-hub { border-right: 0; border-bottom: 1px solid #39434d; }
  .summary-card { min-height: 148px; }
  .content-card { padding: 15px; }
  .source-metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .serving-inventory-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .serving-signal-grid { grid-template-columns: 1fr; }
  .serving-row-controls { grid-template-columns: 1fr; align-items: stretch; }
  .serving-row-controls label, .serving-row-controls input { grid-column: auto; }
  .serving-row-controls button { width: 100%; }
  .run-inventory-controls { grid-template-columns: 1fr; }
  .run-inventory-controls > span { grid-column: auto; }
  .query-inventory { grid-template-columns: 1fr; }
  .brand small { display: none; }
  .content { padding: 20px 16px 40px; }
  .tabs { gap: 16px; padding: 0 16px; overflow-x: auto; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats article:nth-child(2) { border-right: 0; }
  .stats article:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .split, .system-grid, .alternative-grid, .run-selectors, .decision-form-grid, .record-summary-grid, .workload-answer-authority, .imported-comparison-summary { grid-template-columns: 1fr; }
  .decision-heading { display: grid; }
  .decision-heading-actions, .compact-field { width: 100%; min-width: 0; }
  .recovery-summary { grid-template-columns: 1fr; }
  .recovery-summary > div { border-right: 0; border-bottom: 1px solid var(--border); }
  .recovery-summary > div:last-child { border-bottom: 0; }
  .recovery-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .recovery-actions > * { width: 100%; }
  .decision-stagebar { grid-template-columns: 1fr; }
  .decision-stagebar li { min-height: 62px; border-right: 0; border-bottom: 1px solid var(--border); }
  .decision-stagebar li:last-child { border-bottom: 0; }
  .evidence-rerun-routing { align-items: stretch; flex-direction: column; }
  .evidence-rerun-routing .button-row { justify-content: flex-start; }
  .successor-review-heading { grid-template-columns: auto minmax(0, 1fr); }
  .successor-review-heading .status-pill { grid-column: 1 / -1; justify-self: start; }
  .successor-review-verdict, .successor-review-facts, .successor-review-roles dl { grid-template-columns: 1fr; }
  .successor-review-roles dl > div, .successor-review-roles dl > div:first-child, .successor-review-roles dl > div:last-child { border-right: 0; border-bottom: 1px solid var(--border); padding: 10px 0; }
  .successor-review-roles dl > div:last-child { border-bottom: 0; }
  .successor-review-actions { display: grid; grid-template-columns: 1fr; }
  .successor-review-actions button { width: 100%; justify-content: center; }
  .claim-trust-gates { grid-template-columns: 1fr; }
  .claim-trust-gates > div { border-right: 0; border-bottom: 1px solid var(--border); }
  .claim-trust-gates > div:last-child { border-bottom: 0; }
  .decision-stage { padding: 16px; }
  /* The revision chips (.record-revision) cannot shrink below their digest
     content, so the stage heading must wrap them onto their own line instead
     of overflowing the viewport. */
  .stage-title { flex-wrap: wrap; }
  .stage-title > div { min-width: 0; }
  .field.wide { grid-column: auto; }
  .approval-footer { align-items: stretch; flex-direction: column; }
  .report-actions { align-items: stretch; flex-direction: column; }
  .report-actions button { width: 100%; }
  .report-actions > span { margin: 3px 0 0; text-align: center; }
  .report-status-grid, .report-identity-grid, .outcome-timeline { grid-template-columns: 1fr; }
  .report-status-grid > div, .report-status-grid > div:nth-child(2), .report-identity-grid > div, .report-identity-grid > div:nth-child(2), .outcome-timeline > div, .outcome-timeline > div:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--border); }
  .report-status-grid > div:last-child, .report-identity-grid > div:last-child, .outcome-timeline > div:last-child { border-bottom: 0; }
  .outcome-form { grid-template-columns: 1fr; }
  .outcome-form button { grid-column: auto; }
}
@media (max-width: 600px) {
  /* Brand, guidance, assistant, status and refresh stay whole; account
     controls move into the overflow menu rendered at this width. The action
     row wraps instead of truncating, so status and Ask PIQ labels stay
     readable. Icon buttons, visually hidden text, disclosures and dialogs keep
     their own rules. */
  .product-topbar { gap: 4px; }
  .product-brand { flex: 0 0 auto; }
  .product-brand strong { font-size: 18px; }
  .product-top-actions { flex: 1 1; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
  .product-top-actions > :not(.icon-button):not(.sr-only):not(dialog):not(details) { overflow: visible; text-overflow: clip; white-space: normal; }
}
@media (max-width: 600px) {
  .capacity-money-shot { padding: 15px; }
  .capacity-money-shot-heading { display: grid; gap: 12px; }
  .capacity-money-shot-heading > strong { justify-self: start; }
  .capacity-money-shot > dl { grid-template-columns: 1fr; }
  .capacity-money-shot > dl > div, .capacity-money-shot > dl > div:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--border); }
  .capacity-money-shot > dl > div:last-child { border-bottom: 0; }
  .health { display: flex; padding: 0 4px; font-size: 11px; }
  .global-context-trust { align-self: center; }
  .global-context > dl { display: none; }
  .global-context .global-trust-chain { width: 100%; }
  .global-context-trust strong { max-width: 52vw; overflow: visible; line-height: 1.15; text-overflow: clip; white-space: normal; }
  .global-context-trust span { display: none; }
  .global-context > dl > div { padding: 0 6px; }
  .global-context-receipt { flex-direction: column; align-items: stretch; gap: 8px; }
  .global-context-receipt > .trust-chain { flex: 0 1 auto; width: 100%; }
  .global-context-receipt > .secondary-button { width: 100%; justify-content: center; }
  .global-context .trust-chain-summary-copy small { display: none; }
  .global-context .trust-chain-summary-copy strong { max-width: 42vw; white-space: normal; }
  .global-context-receipt > .trust-chain > summary { grid-template-columns: auto minmax(0, 1fr) auto; }
  .global-context-receipt .trust-chain-summary-copy { display: block; }
  .global-context-receipt .trust-chain-summary-copy strong { max-width: none; }
  .global-context-receipt .trust-chain-status { grid-column: 2; grid-row: 2; justify-self: start; }
  .global-context-receipt .trust-chain-chevron { grid-column: 3; grid-row: 1 / 3; }
  .trust-chain summary { grid-template-columns: auto minmax(0, 1fr) auto; }
  /* The compact popover is positioned relative to its trigger, which sits
     right-aligned and narrow inside .global-context-receipt — so left:0 pins
     the 100vw-wide panel at the trigger's x and it runs off the right edge.
     Drop the relative containing block on the trigger so the panel anchors to
     the full-width sticky .global-context strip instead, with symmetric
     viewport gutters that can never overflow the page. */
  .trust-chain.compact { position: static; }
  .trust-chain.compact .trust-chain-panel { left: 12px; right: 12px; width: auto; max-width: none; }
  .trust-chain:not(.compact) .trust-chain-status { grid-column: 2; justify-self: start; }
  .trust-chain:not(.compact) .trust-chain-chevron { grid-column: 3; grid-row: 1 / 3; }
  .trust-chain-step-copy dl { grid-template-columns: 1fr; }
  .summary-grid { grid-template-columns: 1fr; }
  .performance-graph-nodes, .performance-loop { grid-template-columns: 1fr; }
  .performance-graph-evidence-first { grid-template-columns: 1fr; padding: 14px 18px; }
  .performance-graph-evidence-first dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .performance-graph-next { grid-column: auto; }
  .performance-graph-nodes li, .performance-graph-nodes li:nth-child(2n), .performance-graph-nodes li:nth-child(3n), .performance-loop li, .performance-loop li:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--border); }
  .performance-graph-nodes li:last-child, .performance-loop li:last-child { border-bottom: 0; }
  .insights-view .summary-grid { grid-template-columns: 1fr; gap: 10px; }
  .insights-view .summary-card { grid-template-columns: 26px minmax(0, 1fr); gap: 8px; padding: 11px; }
  .insights-view .summary-card-icon { width: 26px; height: 26px; }
  .insights-view .summary-card-icon svg { width: 16px; height: 16px; }
  .insights-view .summary-card p { font-size: 12px; }
  .insights-view .summary-card strong { font-size: 15px; }
  .insights-view .summary-card div > span { font-size: 10.5px; }
  .product-sidebar { flex-direction: column; align-items: stretch; gap: 6px; padding: 6px 8px; }
  .mobile-nav-toggle { width: 100%; min-height: 44px; display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center; gap: 8px; margin-top: 12px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); padding: 0 10px; color: var(--text); text-align: left; }
  .mobile-nav-toggle > span { color: var(--muted); font-size: 11px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
  .mobile-nav-toggle > strong { min-width: 0; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-nav-chevron { transition: transform 140ms ease; }
  .mobile-nav-toggle[aria-expanded="true"] .mobile-nav-chevron { transform: rotate(180deg); }
  .product-sidebar > nav { display: none; width: 100%; max-width: none; }
  .product-sidebar > nav.mobile-open { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 10px 8px; overflow: visible; }
  .product-sidebar > nav .product-nav-group { min-width: 0; display: grid; align-content: start; }
  .product-sidebar > nav .product-nav-group > ul { min-width: 0; display: grid; gap: 6px; }
  .product-nav-link { min-width: 0; min-height: 44px; align-items: center; gap: 7px; padding: 6px 8px; font-size: 14px; line-height: 1.25; white-space: normal; }
  .product-nav-link span { min-width: 0; overflow-wrap: anywhere; }
  .product-nav-link svg { width: 14px; height: 14px; }
  .admin-navigation { display: grid; align-items: stretch; padding-left: 6px; }
  .summary-card { min-height: 0; }
  .attention-summary { grid-template-columns: 30px minmax(0, 1fr); gap: 9px; padding: 10px 11px; }
  .attention-summary-icon { width: 30px; height: 30px; }
  .attention-summary > a { grid-column: 2; justify-self: start; }
  .source-metric-strip > div { min-height: 80px; padding: 10px; }
  .source-metric-strip dd { font-size: 17px; }
  .admin-health-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-health-strip > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .admin-recovery-queue > ol > li { grid-template-columns: 28px minmax(0, 1fr); }
  .admin-recovery-queue li > button, .admin-recovery-queue li > a { grid-column: 2; justify-self: start; min-height: 44px; }
  .admin-recovery-queue li dl { display: grid; gap: 5px; }
  .card-heading { display: grid; }
  .card-heading > a { justify-self: start; }
  .decision-heading-actions { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  .decision-heading-actions .compact-field select { min-width: 0; max-width: 100%; }
  .decision-heading-actions > button { width: 100%; }
  .workflow-stage-heading.card-heading, .workflow-stage-heading.stage-title { display: grid; grid-template-columns: auto minmax(0, 1fr); }
  .workflow-stage-heading.card-heading .workflow-stage-copy, .workflow-stage-heading.card-heading .workflow-stage-controls { grid-column: 1 / -1; }
  .workflow-stage-heading.stage-title .workflow-stage-controls { grid-column: 1 / -1; margin-left: 0; }
  .workflow-stage-controls { width: 100%; justify-content: flex-start; margin-left: 0; }
  .workflow-stage-toggle { min-width: 0; }
}

/* Standalone PerformanceReport */
.standalone-report { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 34px 0 48px; }
.standalone-report-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; margin-bottom: 22px; }
.standalone-report-header > div { min-width: 0; }
/* The record's source class reads as part of its label line, not as a pill
   floating above the heading. */
.standalone-report-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.standalone-report-header h1 { max-width: 780px; margin: 5px 0 0; overflow-wrap: anywhere; font-size: clamp(24px, 3.2vw, 38px); line-height: 1.14; }
.report-subtitle { margin: 9px 0 0; color: var(--muted); font-size: 12px; }
/* Page actions beside a record heading. Identity and sign-out live in the
   RecordShell topbar. */
.standalone-report-header-actions { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-end; gap: 10px; }
.report-icon-actions { display: flex; gap: 7px; }
.report-icon-actions button, .report-icon-actions a { min-width: 62px; height: 52px; display: grid; place-items: center; align-content: center; gap: 2px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); color: var(--text); text-decoration: none; }
.report-icon-actions button:hover, .report-icon-actions a:hover { border-color: #98a2ae; background: #fafbfc; }
.report-icon-actions span { color: var(--muted); font-size: 12px; font-weight: 700; }
.report-trust-banner { display: flex; align-items: center; gap: 12px; border: 1px solid var(--border); border-left: 4px solid #9aa3ad; background: var(--surface); padding: 14px 16px; }
.report-trust-banner > svg { flex: 0 0 auto; }
.report-trust-banner div { display: grid; gap: 2px; }
.report-trust-banner strong { font-size: 14px; }
.report-trust-banner span { color: var(--muted); font-size: 11px; }
.report-trust-banner.positive { border-left-color: var(--accent); background: #fbfffd; color: #075f45; }
.report-trust-banner.warning { border-left-color: var(--warning); background: #fffdf9; color: #8a4304; }
.report-trust-banner.negative { border-left-color: var(--danger); background: #fffafa; color: var(--danger); }
.report-trust-chain { border-radius: 7px 7px 0 0; }
.report-verification-blocked-note { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 18px; border: 1px solid #efb0aa; border-left: 4px solid var(--danger); border-radius: 7px; background: #fff0ef; padding: 12px 15px; color: var(--danger); font-size: 12.5px; line-height: 1.5; }
.report-verification-blocked-note svg { flex: 0 0 auto; margin-top: 2px; }
/* De-emphasize, never hide: unverified metrics stay inspectable for audit but
   lose their full-strength color while the blocked note explains why. */
.standalone-report-grid.verification-blocked { filter: grayscale(1); }
.standalone-report-facts { display: grid; grid-template-columns: 1.25fr 1.25fr 1fr 1fr; margin: 0 0 18px; border: 1px solid var(--border); border-top: 0; background: var(--surface); }
.standalone-report-facts > div { min-width: 0; padding: 12px 15px; border-right: 1px solid var(--border); }
.standalone-report-facts > div:last-child { border-right: 0; }
.standalone-report-facts dt, .report-detail-list dt, .report-alternatives dt { color: var(--muted); font-size: 12px; font-weight: 750; text-transform: uppercase; }
.standalone-report-facts dd { margin: 4px 0 0; overflow-wrap: anywhere; font: 650 11px ui-monospace, SFMono-Regular, Menlo, monospace; }
.standalone-report-facts small { display: block; margin-top: 2px; color: var(--muted); font: 400 10px Inter, ui-sans-serif, system-ui, sans-serif; }
.standalone-report-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr); gap: 18px; }
.report-panel { min-width: 0; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); padding: 20px; }
.report-panel.report-wide { grid-column: 1 / -1; }
.report-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.report-panel-heading p { margin: 0 0 3px; color: var(--muted); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.report-panel-heading h2 { margin: 0; overflow-wrap: anywhere; font-size: 17px; line-height: 1.4; }
/* Report panels list bare sha256 digests as text rather than in <code>, so the
   base <code> wrap does not reach them. An unwrapped digest does not widen its
   own box -- the block keeps its width and the text run overflows -- which is
   why this shows up as page scroll width with no oversized element to blame. */
.report-panel li, .report-panel dd, .report-panel td { overflow-wrap: anywhere; }
.report-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); background: var(--bg); }
.report-detail-list > div { min-width: 0; padding: 11px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.report-detail-list > div:nth-child(2n) { border-right: 0; }
.report-detail-list > div:nth-last-child(-n+2) { border-bottom: 0; }
.report-detail-list dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 12px; font-weight: 650; }
.report-body-copy { margin: 0 0 16px; color: #4d5966; font-size: 13px; line-height: 1.55; }
.report-decision-action { display: grid; gap: 4px; margin: 0 0 12px; border-left: 3px solid var(--accent); background: var(--accent-soft); padding: 10px 12px; }
.report-decision-action strong { color: var(--accent); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.report-decision-action span { color: var(--text); font-size: 13px; font-weight: 700; line-height: 1.45; }
.report-rationale-details { margin: 0 0 12px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg); }
.report-rationale-details summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; padding: 8px 11px; color: var(--text); font-size: 12px; font-weight: 750; }
.report-rationale-details p { margin: 0; border-top: 1px solid var(--border); padding: 11px; color: var(--muted); font-size: 12px; line-height: 1.55; }
/* Report index rows carry digests and long gate text, which must wrap inside a phone viewport. */
.reports-index li, .reports-index dd { min-width: 0; overflow-wrap: anywhere; }
.report-alternatives { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.report-alternatives article { min-width: 0; border: 1px solid var(--border); border-radius: 6px; background: #fbfcfd; padding: 15px; }
.report-alternatives article.selected { border-color: #69bb9d; box-shadow: inset 0 3px 0 var(--accent); }
.report-alternatives article > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.report-alternatives h3 { margin: 0; overflow-wrap: anywhere; font-size: 15px; }
.report-alternatives article > div span { display: inline-flex; align-items: center; gap: 4px; color: var(--accent); font-size: 10px; font-weight: 750; }
.report-alternatives p { color: var(--muted); font-size: 11px; }
.report-alternatives dl { display: grid; grid-template-columns: 1fr auto; gap: 14px; margin: 0; }
.report-alternatives dd { margin: 3px 0 0; overflow-wrap: anywhere; font-size: 11px; font-weight: 650; }
.report-alternatives .responsive-data-table { margin-top: 12px; }
.report-table-wrap { overflow-x: auto; border: 1px solid var(--border); }
.report-manifest td strong, .report-manifest td small { display: block; }
.report-manifest td small { color: var(--muted); }
.report-source-identity { min-width: 0; display: grid; gap: 2px; }
.report-source-identity strong, .report-source-identity small { overflow-wrap: anywhere; }
.report-source-identity small { color: var(--muted); font-size: 10px; font-weight: 500; }
.report-lifecycle-panel { border-top: 3px solid var(--purple); }
.report-lifecycle-loading { min-height: 92px; display: flex; align-items: center; justify-content: center; gap: 9px; color: var(--muted); }
.report-lifecycle-error { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 5px 14px; border: 1px solid #efb0aa; border-left: 4px solid var(--danger); border-radius: 6px; background: #fff0ef; padding: 13px 15px; color: var(--danger); }
.report-lifecycle-error span { color: var(--muted); font-size: 11px; }
.report-lifecycle-error button { grid-column: 2; grid-row: 1 / 3; }
.report-lifecycle-summary { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(320px, .8fr); align-items: center; gap: 13px; border: 1px solid var(--border); border-left: 4px solid var(--purple); border-radius: 6px; background: var(--bg); padding: 13px 15px; }
.report-lifecycle-summary > svg { color: var(--purple); }
.report-lifecycle-summary > div { display: grid; gap: 3px; }
.report-lifecycle-summary > div span { color: var(--muted); font-size: 11px; line-height: 1.5; }
.report-lifecycle-summary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.report-lifecycle-summary dl > div { min-width: 0; border-left: 1px solid var(--border); padding-left: 13px; }
.report-lifecycle-summary dt { color: var(--muted); font-size: 12px; font-weight: 750; text-transform: uppercase; }
.report-lifecycle-summary dd { margin: 4px 0 0; overflow-wrap: anywhere; font: 650 10px ui-monospace, SFMono-Regular, Menlo, monospace; }
.report-lifecycle-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 18px; margin-top: 18px; }
.report-lifecycle-grid h3 { margin: 0 0 10px; font-size: 14px; }
.report-lifecycle-events { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.report-lifecycle-events li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; }
.report-lifecycle-events li > span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; background: var(--bg); color: var(--muted); font-size: 10px; font-weight: 800; }
.report-lifecycle-events li > div { display: grid; gap: 4px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg); padding: 11px 13px; }
.report-lifecycle-events p { margin: 0; font-size: 12px; line-height: 1.45; }
.report-lifecycle-events small { color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.report-lifecycle-events code { color: var(--purple); font-size: 10px; overflow-wrap: anywhere; }
.report-lifecycle-form { align-self: start; display: grid; gap: 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg); padding: 15px; }
.report-lifecycle-form > div:first-child { display: flex; align-items: flex-start; gap: 9px; }
.report-lifecycle-form > div:first-child svg { flex: 0 0 auto; color: var(--purple); }
.report-lifecycle-form h3 { margin-bottom: 3px; }
.report-lifecycle-form > div:first-child p { margin: 0; color: var(--muted); font-size: 10.5px; line-height: 1.45; }
.report-lifecycle-form label { display: grid; gap: 5px; color: var(--text); font-size: 11px; font-weight: 700; }
.report-lifecycle-form label small { color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.4; }
.report-lifecycle-form input, .report-lifecycle-form select, .report-lifecycle-form textarea { min-height: 44px; width: 100%; min-width: 0; border: 1px solid var(--control-border); border-radius: 5px; padding: 8px 9px; font: inherit; font-weight: 500; }
.report-lifecycle-form textarea { resize: vertical; }
.report-lifecycle-form .primary-button { justify-content: center; }
.report-lifecycle-form-error, .report-lifecycle-form-success, .report-lifecycle-final { margin: 0; border-left: 3px solid var(--danger); padding: 8px 10px; color: var(--danger); font-size: 11px; line-height: 1.45; }
.report-lifecycle-form-success { border-left-color: var(--accent); color: var(--accent); }
.report-lifecycle-final { border-left-color: var(--warning); color: var(--warning); }
.report-limitations-panel ul { margin: 0; padding-left: 20px; color: #4d5966; font-size: 12px; line-height: 1.65; }
.report-limitations-panel li { overflow-wrap: anywhere; }
.standalone-report .table-panel { min-width: 0; max-width: 100%; }
.standalone-report .accessible-table-region { width: 100%; }
.standalone-report .accessible-table td > code { max-width: 100%; display: block; overflow: hidden; text-overflow: ellipsis; }
.standalone-report-footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 18px; border-top: 1px solid var(--border); padding-top: 13px; color: var(--muted); font: 600 10px ui-monospace, SFMono-Regular, Menlo, monospace; }
.standalone-report-state { min-height: 100vh; display: grid; place-items: center; align-content: center; gap: 9px; padding: 24px; color: var(--muted); text-align: center; }
.standalone-report-state h1, .standalone-report-state p { max-width: 520px; margin: 0; }
.standalone-report-state h1 { color: var(--text); font-size: 23px; }
.standalone-report-state .button { display: inline-flex; align-items: center; gap: 7px; margin-top: 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); padding: 8px 12px; color: var(--text); text-decoration: none; }
/* RecordShell: the one chrome for record pages outside the application shell.
   It reuses the product topbar and brand; the back link, Ask PIQ, identity and
   sign-out wrap onto a second row on narrow screens instead of overflowing. */
.product-topbar.record-topbar { min-height: 64px; height: auto; gap: 16px; }
.record-topbar-actions { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; padding: 8px 0; }
.record-back-link { min-height: 44px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); color: var(--text); font-size: 13px; font-weight: 650; text-decoration: none; white-space: nowrap; }
.record-back-link:hover { border-color: var(--muted); }
/* A loading, refused or missing record keeps the record chrome above it. */
.standalone-report > .standalone-report-state { min-height: min(60vh, 560px); }
@media (max-width: 760px) {
  .standalone-report { width: min(100% - 28px, 1180px); padding-top: 20px; }
  .product-topbar.record-topbar { height: auto; padding: 0 14px; }
  .standalone-report-header { display: grid; gap: 16px; }
  .report-icon-actions { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .report-icon-actions button, .report-icon-actions a { width: 100%; min-width: 0; }
  .standalone-report-facts, .standalone-report-grid { grid-template-columns: 1fr; }
  .standalone-report-facts > div { border-right: 0; border-bottom: 1px solid var(--border); }
  .standalone-report-facts > div:last-child { border-bottom: 0; }
  .report-panel.report-wide { grid-column: auto; }
  .report-detail-list { grid-template-columns: 1fr; }
  .report-detail-list > div, .report-detail-list > div:nth-child(2n), .report-detail-list > div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--border); }
  .report-detail-list > div:last-child { border-bottom: 0; }
  .report-lifecycle-summary, .report-lifecycle-grid { grid-template-columns: 1fr; }
  .report-lifecycle-summary > svg { display: none; }
  .report-lifecycle-summary dl > div:first-child { border-left: 0; padding-left: 0; }
  .report-lifecycle-error { grid-template-columns: 1fr; }
  .report-lifecycle-error button { grid-column: auto; grid-row: auto; justify-self: start; }
  .standalone-report-footer { display: grid; }
}
@media (max-width: 600px) {
  .mobile-table-summary { display: block; }
  .mobile-table-toggle { display: flex; }
  .responsive-data-table > .table-panel:not(.mobile-expanded) { display: none; }
}
@media print {
  @page { margin: 14mm; }
  body { background: white; color: black; }
  .standalone-report { width: 100%; padding: 0; }
  .record-topbar, .skip-link { display: none; }
  .report-icon-actions { display: none; }
  .report-lifecycle-form { display: none; }
  .responsive-data-table > .table-panel { display: block; }
  .mobile-table-summary, .mobile-table-toggle { display: none; }
  .accessible-table.compact { min-width: 0; }
  .standalone-report-grid { gap: 10px; }
  .report-panel { page-break-inside: avoid; break-inside: avoid; box-shadow: none; }
  .report-table-wrap { overflow: visible; }
  .report-manifest th, .report-manifest td { white-space: normal; }
}

/* Connected analytical workspaces */
.analytics-workspace, .comparison-workspace, .ask-workspace { font-size: 14px; }
.analytics-workspace input, .analytics-workspace select, .analytics-workspace button, .comparison-workspace input, .comparison-workspace select, .comparison-workspace button, .ask-workspace input, .ask-workspace textarea, .ask-workspace button { font-size: 14px; }
.analytics-builder, .comparison-setup, .constraint-builder { padding: 22px; }
.explore-goals { display: grid; gap: 14px; }
.explore-goal-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.explore-goal-options button { min-height: 76px; display: grid; gap: 5px; align-content: center; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); padding: 12px 14px; color: var(--text); text-align: left; cursor: pointer; }
.explore-goal-options button:hover, .explore-goal-options button.selected { border-color: var(--accent); background: var(--accent-soft); }
.explore-goal-options button:focus-visible { outline-offset: 2px; }
.explore-query-summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--border); padding-top: 13px; }
.explore-query-summary > div { display: grid; gap: 3px; }
.explore-query-summary span { color: var(--muted); font-size: 11px; font-weight: 700; }
.explore-query-summary strong { color: var(--text); font-size: 15px; }
.explore-query-summary p { margin: 0; color: var(--muted); font-size: 11.5px; line-height: 1.45; text-align: right; }
.explore-goal-options a { min-width: 0; min-height: 88px; display: grid; align-content: center; gap: 5px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg); padding: 12px 14px; color: var(--text); text-align: left; text-decoration: none; }
.explore-goal-options a:hover { border-color: var(--blue); background: var(--blue-soft); }
.explore-goal-options strong { font-size: 13px; }
.explore-goal-options span { color: var(--muted); font-size: 12px; line-height: 1.4; }
.explore-goal-options small { color: var(--blue); font-size: 10.5px; font-weight: 750; }
.explore-goal-boundary { margin: 0; border-top: 1px solid var(--border); padding-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.explore-goal-boundary a { min-height: 44px; display: inline-flex; align-items: center; color: var(--blue); font-weight: 750; text-underline-offset: 3px; }
.analytics-loading { min-height: 220px; display: grid; place-items: center; color: var(--muted); }
.read-progress { display: grid; gap: 8px; align-content: center; justify-items: center; text-align: center; color: var(--muted); }
.read-progress p { margin: 0; max-width: 60ch; }
.read-progress-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.dataset-select { width: min(300px, 100%); display: grid; gap: 5px; flex: 0 0 auto; }
.dataset-select > span, .filter-row label > span, .sort-row label > span, .query-controls label > span, .cohort-card-heading label > span, .commercial-grid label > span, .constraint-row label > span, .policy-settings label > span, .comparison-intent > label > span { color: #3f4853; font-size: 12px; font-weight: 700; }
.dataset-select select, .filter-row select, .filter-row input, .sort-row select, .query-controls select, .query-controls input, .cohort-card-heading input, .commercial-grid input, .constraint-row select, .constraint-row input, .policy-settings input, .comparison-intent select { width: 100%; min-height: 44px; border: 1px solid var(--control-border); border-radius: 6px; background: var(--surface); padding: 0 10px; color: var(--text); }
.dataset-description { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 19px; border: 1px solid #abc5f7; border-radius: 7px; background: var(--blue-soft); padding: 12px 14px; color: #194c9d; }
.dataset-description svg { flex: 0 0 auto; margin-top: 2px; }
.dataset-description div { display: grid; gap: 2px; }
.dataset-description span { font-size: 13px; line-height: 1.45; }
.picker-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.field-picker { min-width: 0; margin: 0; border: 1px solid var(--border); border-radius: 7px; padding: 13px; }
.field-picker legend { padding: 0 6px; color: #3f4853; font-size: 13px; font-weight: 750; }
.field-picker-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; margin-bottom: 8px; }
.field-picker-search input { min-width: 0; width: 100%; min-height: 44px; border: 1px solid var(--control-border); border-radius: 6px; padding: 0 9px; }
.field-picker-search span { flex: 0 0 auto; color: var(--muted); font-size: 10.5px; white-space: nowrap; }
.field-picker-options { max-height: 292px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; overflow: auto; padding: 2px; }
.field-picker label { min-width: 0; min-height: 44px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 7px; border: 1px solid transparent; border-radius: 6px; padding: 6px 8px; background: #f8fafb; }
.field-picker label:hover { border-color: var(--border); }
.field-picker-options input { width: 15px; height: 15px; accent-color: var(--accent); }
.field-picker span { overflow: hidden; font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.field-picker small { color: var(--muted); font-size: 10.5px; white-space: nowrap; }
.filter-builder { margin-top: 20px; border-top: 1px solid var(--border); padding-top: 18px; }
.subsection-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.subsection-heading > div { display: flex; align-items: flex-start; gap: 9px; }
.subsection-heading svg { margin-top: 2px; color: var(--blue); }
.subsection-heading h3 { margin: 0; font-size: 15px; }
.subsection-heading p { margin: 2px 0 0; color: var(--muted); font-size: 12px; }
.empty-inline { margin: 12px 0 0; border: 1px dashed var(--border); border-radius: 6px; padding: 12px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.filter-list { min-width: 0; display: grid; gap: 8px; margin: 12px 0 0; border: 0; padding: 0; }
.filter-row { min-inline-size: 0; display: grid; grid-template-columns: minmax(150px, 1fr) minmax(140px, .8fr) minmax(180px, 1.2fr) 36px; align-items: end; gap: 8px; margin: 0; border: 0; padding: 0; }
.filter-row-error { grid-column: 1 / -1; margin: 0; color: var(--danger); font-size: 12px; }
.filter-row label, .sort-row label, .query-controls label, .commercial-grid label, .constraint-row label, .policy-settings label { min-width: 0; display: grid; gap: 5px; }
.filter-row .icon-button { width: 44px; height: 44px; }
.sort-builder { margin-top: 18px; border-top: 1px solid var(--border); padding-top: 18px; }
.sort-list { display: grid; gap: 8px; margin-top: 12px; }
.sort-row { min-inline-size: 0; display: grid; grid-template-columns: 30px minmax(190px, 1fr) minmax(140px, .45fr) 36px; align-items: end; gap: 8px; margin: 0; border: 0; padding: 0; }
.sort-priority { width: 30px; height: 40px; display: grid; place-items: center; border: 1px solid #abc5f7; border-radius: 6px; background: var(--blue-soft); color: #194c9d; font-size: 12px; font-weight: 800; }
.sort-row .icon-button { width: 44px; height: 44px; }
[aria-invalid="true"] { border-color: var(--danger) !important; box-shadow: 0 0 0 2px rgb(180 35 24 / 10%); }
.query-controls { display: grid; grid-template-columns: 120px minmax(260px, 1fr); align-items: end; gap: 10px; margin-top: 18px; border-top: 1px solid var(--border); padding-top: 18px; }
.builder-actions { display: flex; justify-content: flex-end; gap: 8px; }
.source-class-requirement, .ask-safety { display: flex; align-items: center; gap: 7px; margin: 12px 0 0; color: #075f45; font-size: 12px; }
.query-error { margin: 14px 0 0; }
.analytics-result { min-width: 0; }
.result-heading > .status-pill { flex: 0 0 auto; }
.result-truth-note { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 15px; border-left: 3px solid var(--warning); background: var(--warning-soft); padding: 10px 12px; color: #8a4304; }
.result-truth-note svg { flex: 0 0 auto; margin-top: 1px; }
.result-truth-note p { margin: 0; font-size: 12px; line-height: 1.5; }
.result-truth-note.compact { display: block; padding-block: 8px; }
.result-truth-note.compact summary { cursor: pointer; font-size: 11px; font-weight: 750; }
.result-truth-note.compact[open] summary { margin-bottom: 8px; }
.result-chart { margin-bottom: 16px; border: 1px solid var(--border); border-radius: 7px; padding: 14px; }
.mini-heading { display: flex; align-items: center; gap: 9px; margin-bottom: 13px; }
.mini-heading svg { color: var(--blue); }
.mini-heading h3, .mini-heading p { margin: 0; }
.mini-heading h3 { font-size: 14px; }
.mini-heading p { color: var(--muted); font-size: 11px; }
.result-chart ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.result-chart li { display: grid; grid-template-columns: minmax(130px, 220px) minmax(120px, 1fr) minmax(100px, auto); align-items: center; gap: 10px; }
.result-chart li > span { overflow: hidden; color: #4d5966; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.result-chart li > .result-chart-collision-label { min-width: 0; overflow: visible; text-overflow: clip; white-space: normal; }
.result-chart-base-label { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.result-chart-discriminator { display: block; margin-top: 2px; color: var(--text); font-size: 10.5px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; white-space: normal; }
.result-chart li > div { height: 9px; overflow: hidden; border-radius: 99px; background: #edf0f3; }
.result-chart li i { height: 100%; display: block; border-radius: inherit; background: var(--blue); }
.result-chart li b { text-align: right; font-size: 11px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.result-drill-button { min-height: 44px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #abc5f7; border-radius: 6px; background: var(--blue-soft); padding: 0 10px; color: #194c9d; font-size: 12px; font-weight: 750; white-space: nowrap; }
.result-drill-button:hover:not(:disabled) { border-color: var(--blue); background: #e9f1ff; }
.result-drill-button:disabled { cursor: not-allowed; opacity: .58; }
.analytics-run-link { min-width: 0; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; }
.analytics-run-link code { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analytics-run-link span { flex: 0 0 auto; color: var(--blue); font-size: 10.5px; font-weight: 750; }
.drill-through-panel { border-top: 4px solid var(--blue); }
.drill-through-scope { display: flex; align-items: flex-start; gap: 9px; margin-bottom: 15px; border: 1px solid #abc5f7; border-radius: 7px; background: var(--blue-soft); padding: 11px 13px; color: #194c9d; }
.drill-through-scope svg { flex: 0 0 auto; margin-top: 1px; }
.drill-through-scope p { margin: 0; font-size: 12px; line-height: 1.5; }
.drill-through-loading { min-height: 140px; display: grid; place-items: center; color: var(--muted); font-size: 13px; }
.drill-comparison-handoff { margin-top: 17px; border-top: 1px solid var(--border); padding-top: 17px; }
.drill-run-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 12px 0 0; border: 0; padding: 0; }
.drill-run-picker legend { grid-column: 1 / -1; margin-bottom: 2px; color: #3f4853; font-size: 11px; font-weight: 750; }
.drill-run-picker label { min-width: 0; min-height: 44px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: 7px; background: #fbfcfd; padding: 10px; cursor: pointer; }
.drill-run-picker code { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.drill-run-picker span { color: var(--muted); font-size: 10.5px; }
.drill-handoff-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 12px; }
.drill-handoff-actions p { margin: 0; color: var(--muted); font-size: 11.5px; }
.drill-handoff-actions .primary-button { flex: 0 0 auto; }
.direct-comparison-handoff { margin-inline: -18px; padding-inline: 18px; }
.run-selection-tools { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.persistent-handoff { position: sticky; z-index: 4; bottom: 10px; border: 1px solid var(--border); border-radius: 7px; background: color-mix(in srgb, var(--surface) 96%, transparent); padding: 10px 12px; box-shadow: 0 8px 22px rgb(0 0 0 / 9%); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.comparison-import { display: flex; align-items: flex-start; gap: 11px; border-left: 4px solid var(--accent); background: var(--accent-soft); color: #075f45; }
.comparison-import.invalid { border-left-color: var(--danger); background: #fff1f0; color: #8f1f17; }
.comparison-import.window-warning { border-left-color: var(--warning); background: var(--warning-soft); color: #7b3d05; }
.comparison-import > svg { flex: 0 0 auto; margin-top: 1px; }
.comparison-import strong, .comparison-import p, .comparison-import span { display: block; }
.comparison-import p { margin: 3px 0 0; font-size: 12px; font-weight: 700; }
.comparison-import span { margin-top: 4px; font-size: 12px; line-height: 1.5; }
.comparison-evidence-readiness { display: grid; gap: 12px; border-top: 3px solid var(--blue); }
.comparison-evidence-readiness-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.comparison-evidence-readiness-heading p { margin: 0; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.comparison-evidence-readiness-heading h2 { margin: 3px 0 0; font-size: 16px; }
.comparison-evidence-readiness-heading > span { color: var(--muted); font-size: 11px; text-align: right; }
.comparison-evidence-readiness dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
.comparison-evidence-readiness dl > div { min-width: 0; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); padding: 10px 11px; }
.comparison-evidence-readiness dt { color: var(--muted); font-size: 10.5px; font-weight: 750; }
.comparison-evidence-readiness dd { display: flex; align-items: baseline; gap: 5px; margin: 4px 0 0; }
.comparison-evidence-readiness dd strong { font-size: 20px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.comparison-evidence-readiness dd span { color: var(--muted); font-size: 11px; line-height: 1.35; }
.comparison-evidence-definition { margin: 0; color: var(--muted); font-size: 11.5px; line-height: 1.5; }
.comparison-evidence-definition strong { color: var(--text); }
.comparison-evidence-gap { display: flex; align-items: flex-start; gap: 8px; margin: 0; border: 1px solid #e7bd7e; border-radius: 7px; background: var(--warning-soft); padding: 9px 11px; color: #7b3d05; font-size: 11.5px; line-height: 1.45; }
.comparison-evidence-gap svg { flex: 0 0 auto; margin-top: 1px; }
.comparison-evidence-gap strong { font-weight: 750; }
.query-readback, .evaluation-details, .policy-settings { margin-top: 14px; border: 1px solid var(--border); border-radius: 7px; background: #fbfcfd; }
.query-readback summary, .evaluation-details summary, .policy-settings summary { cursor: pointer; padding: 11px 13px; font-size: 12px; font-weight: 750; }
.query-readback dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; border-top: 1px solid var(--border); padding: 13px; }
.query-readback dl > div { min-width: 0; }
.query-readback dt { color: var(--muted); font-size: 10.5px; font-weight: 700; text-transform: uppercase; }
.query-readback dd { margin: 3px 0 0; overflow-wrap: anywhere; font-size: 12px; }

/* Ask PIQ */
.ask-hero { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 16px; border: 1px solid #c9b8ef; border-radius: 9px; background: linear-gradient(135deg, #fff 0%, var(--purple-soft) 100%); padding: 23px; }
.ask-hero-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 9px; background: var(--purple); color: white; }
.ask-hero p, .decision-verdict p, .comparison-intent p { margin: 0; color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.ask-hero h2 { margin: 3px 0 0; font-size: 22px; line-height: 1.3; }
.ask-hero div > span { display: block; max-width: 850px; margin-top: 6px; color: #52606d; font-size: 13px; line-height: 1.5; }
.ask-form > label { display: block; margin-bottom: 7px; color: #3f4853; font-size: 12px; font-weight: 750; }
.question-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 10px; }
.question-input textarea { min-height: 92px; border: 1px solid var(--control-border); border-radius: 7px; padding: 12px; resize: vertical; line-height: 1.5; }
.question-input button { min-width: 125px; align-self: end; }
.ask-validation { margin: 8px 0 0; color: var(--danger); font-size: 12px; font-weight: 700; }
.ask-intent-hint { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.ask-intent-hint:empty { margin: 0; }
.ask-intent-hint strong { color: var(--text); }
.ask-progress { margin-top: 14px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg); padding: 12px 14px; }
.ask-progress strong { color: var(--text); font-size: 13px; }
.ask-progress p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.ask-progress .secondary-button { margin-top: 10px; }
.question-examples { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 12px; }
.question-examples > span { color: var(--muted); font-size: 11px; font-weight: 700; }
.question-examples button { min-height: 44px; border: 1px solid var(--border); border-radius: 999px; background: #f8fafb; padding: 6px 9px; color: #4d5966; font-size: 11px; }
.question-examples button:hover { border-color: var(--purple); color: var(--purple); }
.payer-question-group { margin-top: 14px; }
.payer-question-group h3 { margin: 0 0 8px; color: var(--muted); font-size: 10.5px; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.payer-question-bank .ask-safety a { font-weight: 750; }
.interpretation-confidence { max-width: 260px; display: grid; justify-items: end; gap: 5px; text-align: right; }
.interpretation-confidence small { color: var(--muted); font-size: 11px; line-height: 1.35; }
.response-binding-recovery { display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid var(--border); border-left: 4px solid var(--danger); border-radius: 7px; background: var(--surface); padding: 14px; color: var(--text); }
.response-binding-recovery strong { color: var(--danger); }
.response-binding-recovery p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.response-binding-recovery .secondary-button { flex: 0 0 auto; }
.plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0 0 15px; border: 1px solid var(--border); border-radius: 7px; }
.plan-grid > div { min-width: 0; padding: 12px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.plan-grid > div:nth-child(2n) { border-right: 0; }
.plan-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
.plan-grid dt, .assumption-list h3 { color: var(--muted); font-size: 10.5px; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.plan-grid dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 12px; line-height: 1.45; }
.assumption-list h3 { margin: 0 0 8px; }
.assumption-list ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.assumption-list li { display: flex; align-items: flex-start; gap: 7px; color: #4d5966; font-size: 12px; }
.assumption-list svg { flex: 0 0 auto; margin-top: 1px; color: var(--accent); }
.plan-actions { display: flex; justify-content: flex-end; margin: -3px 0 15px; }
.plan-actions a { min-height: 44px; display: inline-flex; align-items: center; gap: 5px; color: #194c9d; font-size: 12px; font-weight: 750; }
.clarification-card { display: flex; align-items: flex-start; gap: 11px; margin-top: 16px; border: 1px solid #e7bd7e; border-radius: 7px; background: var(--warning-soft); padding: 14px; color: #8a4304; }
.clarification-card > svg { flex: 0 0 auto; margin-top: 2px; }
.clarification-card h2 { margin: 0; font-size: 14px; line-height: 1.4; }
.clarification-card p { margin: 4px 0 8px; font-size: 12px; line-height: 1.5; }
.clarification-card a { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 750; }
.analytical-readout { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 14px; border-left: 4px solid var(--purple); background: linear-gradient(135deg, #fff 0%, var(--purple-soft) 100%); }
.analytical-readout > svg { width: 42px; height: 42px; border-radius: 8px; background: var(--purple); padding: 10px; color: #fff; }
.analytical-readout p { margin: 0; color: var(--muted); font-size: 10.5px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.analytical-readout h2 { margin: 3px 0 0; font-size: 18px; line-height: 1.35; }
.analytical-readout span { display: block; margin-top: 5px; color: #4d5966; font-size: 12px; line-height: 1.5; }
.analytical-readout > a { justify-self: end; text-decoration: none; white-space: nowrap; }

/* Comparison workspace */
.comparison-intent { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 420px); align-items: center; gap: 24px; border-left: 4px solid var(--blue); }
.comparison-intent > div { display: flex; align-items: flex-start; gap: 11px; }
.comparison-intent > div > svg { flex: 0 0 auto; margin-top: 3px; color: var(--blue); }
.comparison-intent h2 { margin: 3px 0 0; font-size: 19px; line-height: 1.35; }
.comparison-intent div span { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.comparison-intent > label { display: grid; gap: 5px; }

/* Responsive collapse for the governed query builder + decision-question card.
   MUST stay after the base .picker-grid / .field-picker-options / .comparison-intent
   grid rules above: they share specificity, so source order decides. When this
   lived in the early @media(max-width:1100px) block it was overridden and the
   mobile single-column layout never fired (labels/search truncated to fragments,
   the decision-question card overlapped illegibly). */
@media (max-width: 1100px) {
  .picker-grid, .comparison-intent { grid-template-columns: 1fr; }
  .field-picker-options { grid-template-columns: 1fr; }
}
.objective-policy-boundary { display: block; color: var(--warning); font-size: 12px; line-height: 1.45; }
.empty-cohort { min-height: 140px; display: grid; place-items: center; align-content: center; gap: 5px; border: 1px dashed var(--border); border-radius: 7px; color: var(--muted); }
.empty-cohort strong { color: var(--text); }
.cohort-grid, .comparison-evaluations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.comparison-evaluations { align-items: start; }
.objective-selection-readback { overflow-wrap: anywhere; color: var(--muted); font-size: 11px; line-height: 1.4; }
.cohort-card { min-width: 0; border: 1px solid var(--border); border-radius: 8px; background: #fbfcfd; padding: 15px; }
.cohort-card-heading { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: end; gap: 9px; }
.cohort-card-heading > span { width: 28px; height: 28px; display: grid; place-items: center; align-self: center; border-radius: 50%; background: var(--accent-soft); color: var(--accent); font-size: 12px; font-weight: 800; }
.cohort-card-heading label { min-width: 0; display: grid; gap: 5px; }
.run-picker { margin-top: 13px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); }
.run-picker summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; padding: 0 11px; color: #3f4853; font-size: 12px; font-weight: 750; list-style: none; }
.run-picker[open] summary svg { transform: rotate(180deg); }
.run-picker > div { max-height: 360px; overflow: auto; border-top: 1px solid var(--border); padding: 5px; }
.run-picker label { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; border-radius: 5px; padding: 8px; }
.run-picker label:hover { background: #f5f7f8; }
.run-picker label.disabled { opacity: .48; }
.run-picker input { accent-color: var(--accent); }
.run-picker label > span { min-width: 0; display: grid; gap: 2px; }
.run-picker strong, .run-picker small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.run-picker strong { font-size: 11px; }
.run-picker small { color: var(--muted); font-size: 10.5px; }
.run-picker .run-cohort-identity { display: block; font-size: 10px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.run-picker .run-cohort-identity code { color: #485463; font-size: inherit; }
.run-picker .run-cohort-identity.unavailable { color: #8a4304; font-weight: 700; white-space: normal; }
.run-picker em { color: #8a4304; font-size: 10px; font-style: normal; font-weight: 700; line-height: 1.35; }
.run-picker .source-badge { font-style: normal; font-size: 10.5px; }
.economics-toggle { min-height: 44px; display: flex; align-items: center; gap: 7px; margin-top: 12px; color: #3f4853; cursor: pointer; font-size: 12px; font-weight: 700; }
.economics-toggle input { accent-color: var(--warning); }
.economics-toggle span { display: inline-flex; align-items: center; gap: 6px; }
.economics-toggle svg { color: var(--warning); }
.commercial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 12px; border-top: 1px solid var(--border); padding-top: 12px; }
.constraint-list { display: grid; gap: 9px; }
.constraint-row { display: grid; grid-template-columns: minmax(190px, 1.4fr) minmax(170px, 1.1fr) minmax(125px, .7fr) minmax(110px, .7fr) minmax(100px, .6fr) 80px 36px; align-items: end; gap: 7px; min-width: 0; margin: 0; border: 1px solid var(--border); border-radius: 7px; background: #fbfcfd; padding: 10px; }
.constraint-row .icon-button { width: 44px; height: 44px; }
.constraint-row .field-error { display: block; margin-top: 4px; color: var(--danger); font-size: 10.5px; font-weight: 700; line-height: 1.35; }
.constraint-row [aria-invalid="true"] { border-color: var(--danger); box-shadow: 0 0 0 1px color-mix(in srgb, var(--danger) 28%, transparent); }
.policy-settings { margin-top: 16px; }
.policy-settings > div { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; border-top: 1px solid var(--border); padding: 13px; }
.policy-settings > p { margin: 0; padding: 0 13px 13px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.validation-summary { border: 1px solid #e7bd7e; border-left: 4px solid var(--warning); border-radius: 7px; background: var(--warning-soft); padding: 13px; color: #8a4304; }
.validation-summary ul { margin: 6px 0 0; padding-left: 19px; }
.validation-summary p { margin: 5px 0 0; }
.comparison-submit { display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid #9dd8c2; border-radius: 8px; background: #fbfffd; padding: 15px 17px; }
.comparison-submit > div { display: flex; align-items: flex-start; gap: 9px; color: #075f45; }
.comparison-submit svg { flex: 0 0 auto; margin-top: 1px; }
.comparison-submit p { margin: 0; }
.comparison-submit p span { display: block; margin-top: 2px; font-size: 12px; }

/* Reframe: winner hero + head-to-head bars + opportunity list (Compare verdict,
   Decision result, Insights home). Results-forward, action-first. */
.winner-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; border: 1px solid var(--accent); border-left: 4px solid var(--accent); border-radius: 9px; background: var(--accent-soft); padding: 16px 18px; }
.winner-hero-figure { display: grid; gap: 3px; min-width: 0; }
.winner-hero-figure .eyebrow { color: var(--accent); }
.winner-hero-figure h2, .winner-hero-figure h3 { margin: 0; font-size: 22px; line-height: 1.2; }
.winner-hero-figure strong { font-size: 15px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.winner-hero-figure span { color: var(--muted); font-size: 12px; }
.winner-hero-figure .report-hero-objective { color: var(--text); font-weight: 650; }
.winner-hero-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.report-current-answer-callout { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 14px; border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: 7px; background: var(--surface-subtle); padding: 12px 14px; }
.report-current-answer-callout > div { min-width: 0; display: grid; gap: 3px; }
.report-current-answer-callout p { margin: 0; color: var(--accent); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.report-current-answer-callout strong { font-size: 13px; }
.report-current-answer-callout span { color: var(--muted); font-size: 11px; line-height: 1.45; }
.report-current-answer-callout > a { min-height: 44px; display: inline-flex; align-items: center; flex: 0 0 auto; color: var(--blue); font-size: 12px; font-weight: 750; text-decoration: none; }
.report-current-answer-callout > a:hover { text-decoration: underline; }
.head-to-head { display: grid; gap: 8px; margin: 6px 0; }
.head-to-head-row { display: grid; grid-template-columns: minmax(90px, 150px) minmax(0, 1fr) auto; align-items: center; gap: 10px; font-size: 13px; }
.head-to-head-row > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.head-to-head-bar { height: 12px; border-radius: 6px; background: var(--border); overflow: hidden; }
.head-to-head-fill { height: 100%; border-radius: 6px; background: var(--muted); }
.head-to-head-fill.winner { background: var(--accent); }
.head-to-head-row b { font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.opportunity-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.opportunity-list li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 11px 13px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); }
.opportunity-list li > svg { flex: 0 0 auto; color: var(--warning); }
.opportunity-list li b { display: block; font-size: 13px; }
.opportunity-list li span { color: var(--muted); font-size: 12px; }
@media (max-width: 640px) {
  .opportunity-list li { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
  .opportunity-list li > div { min-width: 0; }
  .opportunity-list li > .secondary-button { width: 100%; grid-column: 1 / -1; justify-content: center; }
  .winner-hero { flex-direction: column; align-items: stretch; }
  .report-current-answer-callout { align-items: stretch; flex-direction: column; }
  /* Wrap so the status pills + CTA don't force a single 392px-wide row on a
     358px column — the CTA drops to its own full-width line instead of
     overflowing the page. */
  .winner-hero-actions { width: 100%; flex-wrap: wrap; }
  .winner-hero-actions .primary-button, .winner-hero-actions > a { flex: 1 1 100%; justify-content: center; }
  .payer-question-bank .opportunity-list li { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
  .payer-question-bank .opportunity-list li > .secondary-button { grid-column: 1 / -1; width: 100%; justify-content: center; }
}
.comparison-result.stale { opacity: .72; }
.stale-result { border: 1px solid #e7bd7e; border-radius: 7px; background: var(--warning-soft); padding: 10px 12px; color: #8a4304; font-size: 12px; font-weight: 700; }
.decision-verdict { display: grid; grid-template-columns: 46px minmax(0, 1fr) minmax(250px, .7fr) auto; align-items: start; gap: 15px; border-left: 4px solid var(--warning); }
.decision-verdict.eligible { border-left-color: var(--accent); }
.decision-verdict.notice { border-left-color: var(--purple); }
.verdict-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 8px; background: var(--warning-soft); color: var(--warning); }
.decision-verdict.eligible .verdict-icon { background: var(--accent-soft); color: var(--accent); }
.decision-verdict.notice .verdict-icon { background: var(--purple-soft); color: var(--purple); }
.decision-verdict .verdict-freshness-notice { margin: 10px 0 0; padding: 9px 11px; border-radius: 6px; background: var(--purple-soft); color: var(--purple); font-size: 12px; font-weight: 650; letter-spacing: normal; text-transform: none; line-height: 1.5; }
.decision-verdict h2 { margin: 3px 0 0; font-size: 21px; }
.decision-verdict div > span { display: block; margin-top: 6px; color: #52606d; font-size: 12px; line-height: 1.5; }
.decision-verdict ul { margin: 8px 0 0; padding-left: 18px; color: #8a4304; font-size: 11px; line-height: 1.5; }
.verdict-gates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); border-radius: 7px; }
.verdict-gates > div { padding: 9px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.verdict-gates > div:nth-child(2n) { border-right: 0; }
.verdict-gates > div:nth-last-child(-n+2) { border-bottom: 0; }
.verdict-gates dt { color: var(--muted); font-size: 10.5px; font-weight: 750; text-transform: uppercase; }
.verdict-gates dd { margin: 3px 0 0; font-size: 12px; font-weight: 750; text-transform: capitalize; }
.verdict-gates .confidence-boundary { grid-column: 1 / -1; border-right: 0; }
.verdict-gates .confidence-boundary dd { line-height: 1.45; text-transform: none; }
.decision-verdict > a { text-decoration: none; white-space: nowrap; }
.directional-readout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); gap: 20px; border-left: 4px solid var(--purple); background: linear-gradient(135deg, #fff 0%, var(--purple-soft) 100%); }
.directional-readout p { margin: 0; color: var(--purple); font-size: 11px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.directional-readout h2 { margin: 5px 0 11px; font-size: 19px; line-height: 1.3; }
.directional-readout strong { display: block; font-size: 15px; }
.directional-readout span { display: block; margin-top: 5px; color: #52606d; font-size: 12px; line-height: 1.5; }
.directional-readout dl { display: grid; margin: 0; border: 1px solid #d8cff2; border-radius: 7px; background: rgb(255 255 255 / 84%); }
.directional-readout dl > div { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 10px; padding: 9px 11px; border-bottom: 1px solid #e7e1f6; }
.directional-readout dl > div:last-child { border-bottom: 0; }
.directional-readout dt { color: var(--muted); font-size: 10.5px; font-weight: 750; text-transform: uppercase; }
.directional-readout dd { margin: 0; font-size: 11.5px; font-weight: 650; line-height: 1.4; }
.disabled-action { cursor: not-allowed; opacity: .58; white-space: nowrap; }
.evaluation-card, .stack-diff-card { overflow: hidden; padding: 0; }
.evaluation-card.selected { border-color: #69bb9d; box-shadow: inset 0 3px 0 var(--accent); }
.result-evidence-summary { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 9px 14px; cursor: pointer; list-style: none; padding: 15px 17px; }
.result-evidence-summary::-webkit-details-marker { display: none; }
.result-evidence-summary:hover { background: var(--bg); }
.evaluation-card[open] > .result-evidence-summary, .stack-diff-card[open] > .result-evidence-summary { border-bottom: 1px solid var(--border); }
.evaluation-card-summary-copy { min-width: 0; }
.evaluation-card-summary-copy p { margin: 0; color: var(--muted); font-size: 11px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.evaluation-card-summary-copy h2 { margin: 3px 0 0; overflow-wrap: anywhere; font-size: 18px; line-height: 1.3; }
.evaluation-card-summary-copy > span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.result-disclosure-action { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--blue); font-size: 11.5px; font-weight: 750; }
.result-disclosure-open { display: none; }
.result-disclosure-chevron { flex: 0 0 auto; transition: transform .16s ease; }
.evaluation-card[open] .result-disclosure-closed, .stack-diff-card[open] .result-disclosure-closed { display: none; }
.evaluation-card[open] .result-disclosure-open, .stack-diff-card[open] .result-disclosure-open { display: inline; }
.evaluation-card[open] .result-disclosure-chevron, .stack-diff-card[open] .result-disclosure-chevron { transform: rotate(180deg); }
.evaluation-card-body, .stack-diff-body { padding: 17px; }
.stack-diff-summary .status-pill { justify-self: end; }
.evaluation-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 15px; border: 1px solid var(--border); border-radius: 6px; }
.evaluation-summary > div { min-width: 0; padding: 9px; border-right: 1px solid var(--border); }
.evaluation-summary > div:last-child { border-right: 0; }
.evaluation-summary dt { color: var(--muted); font-size: 10.5px; font-weight: 700; text-transform: uppercase; }
.evaluation-summary dd { margin: 3px 0 0; overflow: hidden; font-size: 12px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.observed-configuration { margin-bottom: 14px; border: 1px solid #abc5f7; border-radius: 7px; background: #f8fbff; padding: 12px; }
.observed-configuration-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .8fr); align-items: start; gap: 14px; margin-bottom: 10px; }
.observed-configuration-heading span { color: #194c9d; font-size: 10px; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.observed-configuration-heading h3 { margin: 2px 0 0; font-size: 13px; line-height: 1.35; }
.observed-configuration-heading small { color: var(--muted); font-size: 10.5px; line-height: 1.45; }
.configuration-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); }
.configuration-highlights > div { min-width: 0; min-height: 59px; padding: 8px 9px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.configuration-highlights > div:nth-child(3n) { border-right: 0; }
.configuration-highlights > div:nth-last-child(-n+3) { border-bottom: 0; }
.configuration-highlights dt { color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.configuration-highlights dd { margin: 4px 0 0; overflow: hidden; font-size: 11px; font-weight: 700; line-height: 1.35; text-overflow: ellipsis; }
.configuration-highlights dd.unobserved { color: var(--warning); font-weight: 600; }
.configuration-details { background: var(--surface); }
.configuration-table { border: 1px solid var(--border); border-radius: 5px; background: var(--surface); }
.configuration-table > div { display: grid; grid-template-columns: minmax(190px, .9fr) minmax(180px, 1.1fr); border-top: 1px solid var(--border); }
.configuration-table > div:first-child { border-top: 0; }
.configuration-table code, .configuration-table span { min-width: 0; padding: 8px 9px; overflow-wrap: anywhere; font-size: 10.5px; }
.configuration-table code { border-right: 1px solid var(--border); color: #415363; }
.observed-workload { border-color: #a8d5c5; background: linear-gradient(135deg, #f7fffb 0%, #fbfdff 100%); }
.observed-workload.unprofiled { border-color: #e7bd7e; background: #fffaf2; }
.observed-workload-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 16px; }
.observed-workload-heading p { margin: 0; color: #08715a; font-size: 11px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.observed-workload.unprofiled .observed-workload-heading p { color: #8a4304; }
.observed-workload-heading h2 { margin: 4px 0 3px; overflow-wrap: anywhere; font-size: 18px; line-height: 1.3; }
.observed-workload-heading span { color: var(--muted); font-size: 12.5px; line-height: 1.5; }
.workload-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 14px 0 0; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); }
.workload-highlights > div { min-width: 0; min-height: 64px; padding: 10px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.workload-highlights > div:nth-child(3n) { border-right: 0; }
.workload-highlights > div:nth-last-child(-n+3) { border-bottom: 0; }
.workload-highlights dt { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .025em; text-transform: uppercase; }
.workload-highlights dd { margin: 5px 0 0; overflow: hidden; font-size: 12.5px; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.workload-warning, .workload-boundary { display: flex; align-items: flex-start; gap: 8px; margin-top: 12px; border: 1px solid #e7bd7e; border-radius: 6px; padding: 9px 10px; background: #fff7e8; color: #713b08; }
.workload-boundary { border-color: #abc5f7; background: var(--blue-soft); color: #194c9d; }
.workload-warning svg, .workload-boundary svg { flex: 0 0 auto; margin-top: 1px; }
.workload-warning p, .workload-boundary p { margin: 0; font-size: 12px; line-height: 1.45; }
.workload-details { margin-top: 12px; }
.constraint-diagnosis { margin-bottom: 14px; border: 1px solid var(--border); border-left: 3px solid var(--blue); border-radius: 6px; background: var(--blue-soft); padding: 11px; }
.constraint-diagnosis.identified { border-left-color: var(--warning); background: var(--warning-soft); }
.constraint-diagnosis > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.constraint-diagnosis span, .constraint-diagnosis dt { color: var(--muted); font-size: 10.5px; font-weight: 750; text-transform: uppercase; }
.constraint-diagnosis strong { font-size: 12px; text-transform: capitalize; }
.constraint-diagnosis p { margin: 5px 0 7px; font-size: 11px; line-height: 1.45; }
.constraint-diagnosis dl { display: grid; grid-template-columns: 85px minmax(0, 1fr); gap: 7px; margin: 4px 0; }
.constraint-diagnosis dd { margin: 0; font-size: 11.5px; }
.constraint-diagnosis small { display: block; margin-top: 8px; border-top: 1px solid rgb(0 0 0 / 8%); padding-top: 7px; color: var(--muted); font-size: 10.5px; }
.evaluation-subheading { margin: 0 0 8px; font-size: 13px; }
.distribution-table { border: 1px solid var(--border); border-radius: 6px; overflow-x: auto; }
.distribution-head, .distribution-row { display: grid; grid-template-columns: minmax(145px, 1.15fr) 90px minmax(150px, 1fr) 82px 82px 82px; align-items: stretch; }
.distribution-head { background: #f0f3f5; color: #52606d; font-size: 10.5px; font-weight: 750; letter-spacing: .025em; text-transform: uppercase; }
.distribution-head > span, .distribution-row > span { min-width: 0; padding: 8px; border-right: 1px solid var(--border); }
.distribution-head > span:last-child, .distribution-row > span:last-child { border-right: 0; }
.distribution-row { border-top: 1px solid var(--border); font-size: 11.5px; }
.distribution-row > span { display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
.distribution-row b, .distribution-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.distribution-row small { display: block; margin-top: 2px; color: var(--muted); font-size: 10.5px; line-height: 1.3; }
.distribution-suppressed { grid-column: 3 / -1; flex-direction: row !important; align-items: center; gap: 6px; color: #8a4304; font-weight: 700; }
/* An alternative that failed a hard limit is not ranked; its measurements stay readable but muted. */
.evaluation-ineligible .distribution-row { color: var(--muted); }
.evaluation-details > :not(summary) { margin: 0 12px 12px; }
.constraint-results { display: grid; gap: 7px; padding: 0; list-style: none; }
.constraint-results li { display: flex; align-items: flex-start; gap: 7px; border-left: 3px solid #9aa3ad; padding: 7px 9px; background: var(--surface); }
.constraint-results li.pass { border-left-color: var(--accent); }
.constraint-results li.fail { border-left-color: var(--danger); }
.constraint-results li.unknown { border-left-color: var(--warning); }
.constraint-results li > span { color: var(--muted); }
.constraint-results li.pass > span { color: var(--accent); }
.constraint-results li.fail > span { color: var(--danger); }
.constraint-results strong, .constraint-results small { display: block; }
.constraint-results strong { font-size: 11px; }
.constraint-results small { margin-top: 2px; color: var(--muted); font-size: 10.5px; }
.economics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 12px 12px !important; border: 1px solid var(--border); }
.economics-grid > div { padding: 9px; border-right: 1px solid var(--border); }
.economics-grid > div:last-child { border-right: 0; }
.economics-grid dt { color: var(--muted); font-size: 10.5px; text-transform: uppercase; }
.economics-grid dd { margin: 3px 0 0; font-size: 12px; font-weight: 750; }
.economics-basis { color: var(--muted); font-size: 10.5px; line-height: 1.45; }
.economics-blocked { display: flex; gap: 7px; border-left: 3px solid var(--warning); background: var(--warning-soft); padding: 9px; color: #8a4304; }
.economics-blocked svg { flex: 0 0 auto; }
.economics-blocked p { margin: 0; font-size: 11px; }
.limitations-list { padding-left: 18px; color: var(--muted); font-size: 10.5px; line-height: 1.5; }
.digest { overflow-wrap: anywhere; color: var(--muted); font: 600 10.5px ui-monospace, monospace; }
.stack-diff-table { overflow: auto; border: 1px solid var(--border); border-radius: 6px; }
.stack-diff-head, .stack-diff-row { min-width: 760px; display: grid; grid-template-columns: minmax(190px, .8fr) repeat(6, minmax(180px, 1fr)); }
.stack-diff-head { background: #f0f3f5; color: #52606d; font-size: 10px; font-weight: 750; text-transform: uppercase; }
.stack-diff-head > span, .stack-diff-row > * { padding: 9px 11px; border-right: 1px solid var(--border); }
.stack-diff-row { border-top: 1px solid var(--border); font-size: 11px; }
.stack-diff-row code { color: #415363; font-size: 10px; }

.benchmark-workspace { font-size: 13px; }
.benchmark-release-grid { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 2fr); align-items: start; gap: 20px; }
.benchmark-catalog-filter { display: grid; grid-template-columns: 1fr auto; gap: 4px 8px; margin-bottom: 10px; }
.benchmark-catalog-filter label { font-size: 10.5px; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.benchmark-catalog-filter input { grid-column: 1 / -1; min-width: 0; min-height: 44px; width: 100%; border: 1px solid var(--control-border); border-radius: 6px; background: var(--surface); padding: 8px 9px; color: var(--text); font: inherit; }
.benchmark-catalog-filter > span { color: var(--muted); font-size: 12px; line-height: 1.35; }
.benchmark-catalog-filter > span:last-child { text-align: right; white-space: nowrap; }
.benchmark-catalog-list { display: grid; gap: 7px; }
.benchmark-catalog-list button { min-width: 44px; min-height: 44px; display: grid; gap: 3px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); padding: 10px 11px; color: var(--text); text-align: left; }
.benchmark-catalog-list button:hover { border-color: #9aa3ad; background: var(--bg); }
.benchmark-catalog-list button.selected { border-color: #69bb9d; background: var(--accent-soft); box-shadow: inset 3px 0 0 var(--accent); }
.benchmark-catalog-list strong { overflow-wrap: anywhere; font-size: 12.5px; }
.benchmark-catalog-list span { color: var(--muted); font-size: 10.5px; line-height: 1.35; }
.benchmark-catalog-empty { margin: 0; border: 1px dashed var(--border); border-radius: 7px; padding: 14px 10px; color: var(--muted); text-align: center; }
.benchmark-catalog-toggle { width: 100%; justify-content: center; margin-top: 10px; }
.benchmark-catalog-error { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.benchmark-catalog-error strong { display: block; }
.benchmark-catalog-error p { margin: 3px 0 0; overflow-wrap: anywhere; }
.benchmark-catalog-error button { flex: 0 0 auto; }
.benchmark-release-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.benchmark-release-heading p { margin: 0; color: var(--muted); font-size: 10.5px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.benchmark-release-heading h2 { margin: 3px 0 0; font-size: 24px; line-height: 1.25; letter-spacing: -.02em; }
.benchmark-summary { max-width: 900px; margin: 12px 0 16px; color: #52606d; line-height: 1.55; }
.benchmark-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); border-radius: 7px; overflow: hidden; }
.benchmark-facts > div { min-width: 0; padding: 10px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.benchmark-facts > div:nth-child(3n) { border-right: 0; }
.benchmark-facts > div:nth-last-child(-n+3) { border-bottom: 0; }
.benchmark-facts dt { color: var(--muted); font-size: 12px; font-weight: 750; text-transform: uppercase; }
.benchmark-facts dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 11.5px; font-weight: 700; text-transform: capitalize; }
.benchmark-facts code { font-size: 10.5px; }
.benchmark-output-boundary { margin: 10px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.benchmark-output-boundary strong { margin-right: 5px; color: var(--text); }
.benchmark-claim-boundary { display: flex; align-items: flex-start; gap: 9px; margin-top: 14px; border-left: 3px solid var(--warning); background: var(--warning-soft); padding: 10px 12px; color: #713b08; }
.benchmark-claim-boundary svg { flex: 0 0 auto; margin-top: 1px; }
.benchmark-claim-boundary strong { font-size: 11px; text-transform: uppercase; }
.benchmark-claim-boundary p, .benchmark-roadmap p { margin: 3px 0 0; font-size: 12px; line-height: 1.5; }
.benchmark-roadmap { margin-top: 12px; border-left: 3px solid var(--blue); background: var(--blue-soft); padding: 9px 11px; color: var(--blue); }
.benchmark-roadmap strong { font-size: 11px; text-transform: uppercase; }
.benchmark-source-pins { margin-top: 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); }
.benchmark-source-pins summary { cursor: pointer; padding: 8px 10px; font-weight: 700; }
.benchmark-source-pins ul { display: grid; gap: 6px; margin: 0; border-top: 1px solid var(--border); padding: 9px 10px; list-style: none; }
.benchmark-source-pins li { min-width: 0; display: grid; grid-template-columns: minmax(130px, .8fr) minmax(0, 1.3fr) auto; align-items: center; gap: 8px; }
.benchmark-source-pins a { min-height: 44px; display: inline-flex; align-items: center; color: var(--blue); font-weight: 700; text-decoration: none; }
.benchmark-source-pins code { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.benchmark-source-pins li > span { color: var(--muted); font-size: 10px; }
.benchmark-run-selection .card-heading > span { color: var(--muted); font-weight: 700; white-space: nowrap; }
.benchmark-run-error { display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid #e2aaa6; border-left: 4px solid var(--danger); border-radius: 7px; background: #fff7f6; padding: 12px; color: #8f201b; }
.benchmark-run-error strong { display: block; font-size: 12px; }
.benchmark-run-error p { margin: 3px 0 0; overflow-wrap: anywhere; font-size: 11px; line-height: 1.45; }
.benchmark-run-error button { flex: 0 0 auto; }
.benchmark-run-filter { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; margin-bottom: 10px; }
.benchmark-run-filter label { font-size: 10.5px; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.benchmark-run-filter input { grid-column: 1 / -1; min-width: 0; min-height: 44px; width: 100%; border: 1px solid var(--control-border); border-radius: 6px; background: var(--surface); padding: 8px 9px; color: var(--text); }
.benchmark-run-filter span { color: var(--muted); font-size: 10px; line-height: 1.4; }
.benchmark-run-filter span:last-child { text-align: right; }
.benchmark-run-filter span.warning { color: var(--warning); font-weight: 700; }
.benchmark-run-picker { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 8px; }
.benchmark-run-picker label { min-width: 0; min-height: 44px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 5px 9px; border: 1px solid var(--border); border-radius: 7px; padding: 10px; cursor: pointer; }
.benchmark-run-picker label:hover { background: var(--bg); }
.benchmark-run-picker label.selected { border-color: #69bb9d; background: var(--accent-soft); }
.benchmark-run-picker input { margin-top: 4px; }
.benchmark-run-picker label > span { min-width: 0; display: grid; gap: 2px; }
.benchmark-run-picker strong, .benchmark-run-picker code { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.benchmark-run-picker code { color: var(--muted); font-size: 12px; }
.benchmark-run-picker em { font-style: normal; font-size: 12px; }
.benchmark-run-picker small { grid-column: 2 / -1; color: var(--muted); font-size: 10.5px; }
.benchmark-empty { margin: 0; border: 1px dashed var(--border); border-radius: 7px; padding: 18px; color: var(--muted); text-align: center; }
.benchmark-actions { display: flex; gap: 9px; margin-top: 14px; }
.benchmark-eval-evidence { gap: 14px; }
.benchmark-eval-sections { display: grid; gap: 18px; }
.benchmark-eval-list, .benchmark-eval-results, .benchmark-unqualified > ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.benchmark-eval-list > li, .benchmark-unqualified > ul > li { display: grid; gap: 10px; border: 1px solid var(--border); border-radius: 7px; padding: 12px; }
.benchmark-eval-identity { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.benchmark-eval-identity > div { min-width: 0; display: grid; gap: 3px; }
.benchmark-eval-identity code { overflow-wrap: anywhere; color: var(--muted); font-size: 10px; }
.benchmark-eval-empty { margin: 0; color: var(--muted); font-size: 11px; }
.benchmark-eval-results > li { display: grid; grid-template-columns: minmax(120px, .35fr) minmax(0, 1fr) auto; align-items: start; gap: 12px; border-left: 3px solid var(--accent); background: var(--accent-soft); padding: 10px 12px; }
.benchmark-eval-results > li > div { display: grid; gap: 2px; }
.benchmark-eval-results > li > div > strong { font-size: 20px; }
.benchmark-eval-results > li > div > span, .benchmark-eval-results dt { color: var(--muted); font-size: 12px; }
.benchmark-eval-results dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 12px; margin: 0; }
.benchmark-eval-results dd { margin: 2px 0 0; overflow-wrap: anywhere; font-size: 10.5px; }
.benchmark-eval-results a { align-self: center; font-size: 10.5px; }
.benchmark-eval-list details { color: var(--muted); font-size: 10.5px; line-height: 1.45; }
.benchmark-eval-list summary { cursor: pointer; color: var(--text); font-weight: 700; }
.benchmark-eval-list details p { margin: 8px 0; }
.benchmark-unqualified { display: grid; gap: 9px; }
.benchmark-unqualified h3 { margin: 0; font-size: 14px; }
.benchmark-unqualified p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.benchmark-unqualified li li { margin-top: 4px; color: var(--muted); font-size: 10.5px; }
.benchmark-readiness-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.benchmark-readiness-summary article { min-height: 122px; display: grid; grid-template-columns: 30px minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: 8px; }
.benchmark-readiness-summary svg { grid-row: 1 / 4; color: var(--accent); }
.benchmark-readiness-summary p { margin: 0; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.benchmark-readiness-summary strong { margin-top: 5px; font-size: 21px; line-height: 1.25; text-transform: capitalize; }
.benchmark-readiness-summary span { margin-top: 4px; color: var(--muted); font-size: 11px; }
.benchmark-acceptance { border-left: 4px solid var(--blue); }
.benchmark-acceptance.unlikely { border-left-color: var(--warning); }
.benchmark-acceptance > p { margin: 0; color: var(--muted); font-size: 11.5px; }
.benchmark-blockers ol { display: grid; gap: 7px; margin: 0; padding-left: 23px; }
.benchmark-blockers li { border-left: 3px solid var(--warning); background: var(--warning-soft); padding: 7px 9px; color: #713b08; line-height: 1.45; }
.benchmark-requirement-name { display: grid; gap: 2px; }
.benchmark-requirement-name code { color: var(--muted); font-size: 12px; }
.benchmark-platform-gates ul { display: grid; gap: 1px; margin: 0; padding: 0; background: var(--border); list-style: none; }
.benchmark-platform-gates li { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 10px; background: var(--surface); padding: 10px; }
.benchmark-platform-gates strong { font-size: 11.5px; text-transform: capitalize; }
.benchmark-platform-gates p { margin: 2px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.benchmark-package-result { display: flex; align-items: flex-start; gap: 11px; margin-top: 12px; border: 1px solid #9dd8c2; border-radius: 7px; background: var(--accent-soft); padding: 12px; color: #075f45; }
.benchmark-package-result > svg { flex: 0 0 auto; }
.benchmark-package-result div { min-width: 0; display: grid; gap: 3px; }
.benchmark-package-result p { margin: 0; font-size: 10px; font-weight: 750; text-transform: uppercase; }
.benchmark-package-result code { overflow-wrap: anywhere; font-size: 12px; }
.benchmark-package-result span { font-size: 11px; }

.benchmark-two-output { border-top: 4px solid var(--blue); }
.benchmark-output-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.benchmark-output-card { min-width: 0; display: grid; align-content: start; gap: 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-subtle); padding: 14px; }
.benchmark-output-card > p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.benchmark-output-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.benchmark-output-heading p { margin: 0 0 2px; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.benchmark-output-heading strong { font-size: 17px; }
.benchmark-output-card > dl, .benchmark-native-receipt dl { display: grid; gap: 1px; margin: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 6px; background: var(--border); }
.benchmark-output-card > dl > div, .benchmark-native-receipt dl > div { min-width: 0; display: grid; grid-template-columns: minmax(120px, .8fr) minmax(0, 1.2fr); gap: 8px; background: var(--surface); padding: 7px 9px; }
.benchmark-output-card dt, .benchmark-native-receipt dt { color: var(--muted); font-size: 10px; }
.benchmark-output-card dd, .benchmark-native-receipt dd { margin: 0; font-size: 10.5px; font-weight: 700; overflow-wrap: anywhere; }
.benchmark-output-card > button { width: fit-content; min-height: 44px; }
.benchmark-output-hint, .benchmark-output-warning { color: var(--muted); font-size: 10.5px; }
.benchmark-native-receipt summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-size: 11px; font-weight: 700; }
.benchmark-native-receipt > p { margin: 9px 0 0; color: var(--muted); font-size: 10.5px; line-height: 1.5; }

.benchmark-mlperf-export { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin-top: 12px; }
.benchmark-mlperf-hint { color: var(--muted); font-size: 10.5px; }
.benchmark-mlperf-result { margin-top: 4px; gap: 12px; }
.benchmark-mlperf-result h3 { margin: 2px 0 0; font-size: 15px; }
.benchmark-mlperf-files { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.benchmark-mlperf-files > li { border: 1px solid var(--border); border-radius: 6px; background: var(--surface); }
.benchmark-mlperf-files summary { cursor: pointer; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 8px 10px; }
.benchmark-mlperf-files summary code { font-size: 11px; font-weight: 700; overflow-wrap: anywhere; }
.benchmark-mlperf-files summary span { color: var(--muted); font-size: 10px; }
.benchmark-mlperf-file-digest { margin: 0; padding: 0 10px; color: var(--muted); font-size: 10px; }
.benchmark-mlperf-file-digest code { overflow-wrap: anywhere; }
.benchmark-mlperf-files pre { margin: 6px 0 0; border-top: 1px solid var(--border); padding: 9px 10px; max-height: 220px; overflow: auto; font-size: 10.5px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }

@media (min-width: 901px) {
  .benchmark-catalog-list { max-height: min(38vh, 460px); overflow-y: auto; overscroll-behavior: contain; padding-right: 4px; scrollbar-gutter: stable; }
}

@media (max-width: 1200px) {
  .constraint-row { grid-template-columns: repeat(3, minmax(0, 1fr)) 36px; }
  .constraint-label { grid-column: span 2; }
  .policy-settings > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .decision-verdict { grid-template-columns: 46px minmax(0, 1fr) minmax(230px, .7fr); }
  .directional-readout { grid-template-columns: 1fr; }
  .decision-verdict > a { grid-column: 2 / -1; justify-self: start; }
  .comparison-evaluations { grid-template-columns: 1fr; }
  .benchmark-release-grid { grid-template-columns: minmax(220px, .65fr) minmax(0, 1.5fr); }
}
@media (max-width: 900px) {
  .cohort-grid { grid-template-columns: 1fr; }
  .query-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .builder-actions { justify-content: flex-start; }
  .filter-row { grid-template-columns: repeat(2, minmax(0, 1fr)) 36px; }
  .filter-row .filter-value { grid-column: 1 / 3; }
  .sort-row { grid-template-columns: 30px minmax(0, 1fr) minmax(130px, .5fr) 36px; }
  .distribution-table { overflow: auto; }
  .distribution-head, .distribution-row { min-width: 720px; }
  .decision-verdict { grid-template-columns: 46px minmax(0, 1fr); }
  .verdict-gates { grid-column: 1 / -1; }
  .decision-verdict > a { grid-column: 1 / -1; }
  .observed-configuration-heading { grid-template-columns: 1fr; }
  .workload-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workload-highlights > div, .workload-highlights > div:nth-child(3n), .workload-highlights > div:nth-last-child(-n+3) { border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
  .workload-highlights > div:nth-child(2n) { border-right: 0; }
  .workload-highlights > div:last-child { border-bottom: 0; }
  .configuration-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .configuration-highlights > div, .configuration-highlights > div:nth-child(3n), .configuration-highlights > div:nth-last-child(-n+3) { border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
  .configuration-highlights > div:nth-child(2n) { border-right: 0; }
  .configuration-highlights > div:nth-last-child(-n+2) { border-bottom: 0; }
  .analytical-readout { grid-template-columns: 42px minmax(0, 1fr); }
  .analytical-readout > a { grid-column: 2; justify-self: start; }
  .benchmark-release-grid { grid-template-columns: 1fr; }
  .benchmark-catalog-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .benchmark-readiness-summary { grid-template-columns: 1fr; }
  .benchmark-output-grid { grid-template-columns: 1fr; }
  .benchmark-eval-results > li { grid-template-columns: 1fr; }
  .benchmark-eval-results a { justify-self: start; }
}
@media (max-width: 650px) {
  .analytics-builder, .comparison-setup, .constraint-builder { padding: 15px; }
  .explore-goal-options { grid-template-columns: 1fr; }
  .explore-query-summary { align-items: flex-start; flex-direction: column; gap: 6px; }
  .explore-query-summary p { text-align: left; }
  .comparison-evidence-readiness-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
  .comparison-evidence-readiness-heading > span { text-align: left; }
  .comparison-evidence-readiness dl { grid-template-columns: 1fr; }
  .dataset-select { width: 100%; }
  .filter-row, .sort-row, .query-controls, .commercial-grid, .constraint-row, .policy-settings > div, .plan-grid { grid-template-columns: 1fr; }
  .filter-row .filter-value, .constraint-label { grid-column: auto; }
  .filter-row .icon-button, .sort-row .icon-button, .constraint-row .icon-button { width: 100%; }
  .sort-priority { width: 100%; height: 32px; }
  .builder-actions, .comparison-submit, .subsection-heading { align-items: stretch; flex-direction: column; }
  .builder-actions button, .comparison-submit button { width: 100%; }
  .result-chart li { grid-template-columns: minmax(100px, 1fr) minmax(80px, 1fr); }
  .result-chart li b { grid-column: 2; }
  .query-readback dl { grid-template-columns: 1fr; }
  .ask-hero { grid-template-columns: 1fr; }
  .question-input { grid-template-columns: 1fr; }
  .question-input button { width: 100%; }
  .interpretation-confidence { max-width: none; justify-items: start; text-align: left; }
  .response-binding-recovery { align-items: stretch; flex-direction: column; }
  .response-binding-recovery .secondary-button { width: 100%; }
  .analytical-readout { grid-template-columns: 1fr; }
  .benchmark-eval-results dl, .benchmark-facts { grid-template-columns: 1fr; }
  .analytical-readout > a { grid-column: auto; width: 100%; justify-content: center; }
  .plan-grid > div { border-right: 0; border-bottom: 1px solid var(--border) !important; }
  .plan-grid > div:last-child { border-bottom: 0 !important; }
  .run-picker label { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
  .run-picker .source-badge { grid-column: 2; max-width: 100%; justify-self: start; overflow-wrap: anywhere; white-space: normal; }
  .result-evidence-summary { grid-template-columns: 1fr; }
  .result-evidence-summary > .source-badge, .stack-diff-summary .status-pill { justify-self: start; }
  .evaluation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evaluation-summary > div:nth-child(2) { border-right: 0; }
  .evaluation-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .economics-grid { grid-template-columns: 1fr; }
  .economics-grid > div { border-right: 0; border-bottom: 1px solid var(--border); }
  .economics-grid > div:last-child { border-bottom: 0; }
  .drill-run-picker { grid-template-columns: 1fr; }
  .drill-handoff-actions { align-items: stretch; flex-direction: column; }
  .drill-handoff-actions .primary-button { width: 100%; justify-content: center; }
  .configuration-highlights { grid-template-columns: 1fr; }
  .observed-workload-heading { grid-template-columns: 1fr; }
  .workload-highlights { grid-template-columns: 1fr; }
  .workload-highlights > div, .workload-highlights > div:nth-child(2n), .workload-highlights > div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--border); }
  .workload-highlights > div:last-child { border-bottom: 0; }
  .configuration-highlights > div, .configuration-highlights > div:nth-child(2n), .configuration-highlights > div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--border); }
  .configuration-highlights > div:last-child { border-bottom: 0; }
  .configuration-table > div { grid-template-columns: 1fr; }
  .configuration-table code { border-right: 0; border-bottom: 1px solid var(--border); }
  .benchmark-catalog-filter { grid-template-columns: 1fr; }
  .benchmark-catalog-filter input { grid-column: auto; }
  .benchmark-catalog-filter > span:last-child { text-align: left; }
  .benchmark-catalog-list, .benchmark-facts { grid-template-columns: 1fr; }
  .benchmark-facts > div, .benchmark-facts > div:nth-child(3n), .benchmark-facts > div:nth-last-child(-n+3) { border-right: 0; border-bottom: 1px solid var(--border); }
  .benchmark-facts > div:last-child { border-bottom: 0; }
  .benchmark-source-pins li { grid-template-columns: 1fr; }
  .benchmark-actions { align-items: stretch; flex-direction: column; }
  .benchmark-actions button { width: 100%; }
  .benchmark-run-error, .benchmark-catalog-error { align-items: stretch; flex-direction: column; }
  .benchmark-run-error button, .benchmark-catalog-error button { width: 100%; }
  .benchmark-run-filter { grid-template-columns: 1fr; }
  .benchmark-run-filter input { grid-column: auto; }
  .benchmark-run-filter span:last-child { text-align: left; }
  .benchmark-run-picker { grid-template-columns: 1fr; }
}

/* PIQ product screens use the dark palette. Public entry pages keep the
   source-backed light palette shared by marketing and sign-in. */
@media screen {
  :root[data-theme="dark"] {
    color-scheme: dark;
    --bg: #0b0f14;
    --surface: #141a21;
    --border: #34404c;
    --control-border: #64748b;
    --text: #edf2f7;
    --muted: #aab5c2;
    --accent: #5bd6a8;
    --blue: #8ab4ff;
    --warning: #f4b860;
    --purple: #c47cce; /* re-stepped from #c0a7ff: vs --blue, protan ΔE 1.5 → 8.3, normal 7.4 → 15.4; ≥4.5:1 kept on surface + --purple-soft */
    --demo: #999256; /* the dark step of the light block's demo note; worst dichromat separation 14.6 */
    --danger: #ff8a80;
    --accent-soft: #12382f;
    --blue-soft: #172d4d;
    --warning-soft: #3b2a16;
    --purple-soft: #2c2443;
    --demo-soft: #2a2617;
    --danger-soft: #331d1a;
    --focus-ring: #9bc0ff;
  }

  button, input, select, textarea { color: var(--text); }
  input, select, textarea { background: var(--surface); }
  :root[data-theme="dark"] .login-panel form button, .loading button, .primary-button, .strip-cta { color: #07130f; }
  .verify-button { color: #08111e; }
  .purple-button, .ask-hero-icon, .analytical-readout > svg { color: #120d1d; }
  .skip-link { background: #f1f5f9; color: #111827; }
  .icon-button:hover, .secondary-button:hover, .report-icon-actions button:hover, .report-icon-actions a:hover {
    border-color: #687686;
  }
  .report-icon-actions button:hover, .report-icon-actions a:hover { background: #1d252e; }

  :root[data-theme="dark"] .login-shell { background: #0e141b; }
  :root[data-theme="dark"] .brand-mark { background: var(--accent-soft); }
  .product-topbar { background: rgb(20 26 33 / 96%); }
  .global-context, .global-context.eligible, .global-context.neutral { background: #151b22; }
  .global-context.eligible { background: #12221d; }
  .product-nav-link { color: #c1cad5; }
  .product-nav-link:hover { background: #1e2730; }
  .product-nav-link[aria-current="page"], .selected-button { color: var(--accent); }

  th, .accessible-table th, .distribution-head, .stack-diff-head {
    background: #202832;
    color: var(--muted);
  }
  .accessible-table tbody tr:hover td, .run-picker label:hover,
  .benchmark-catalog-list button:hover, .benchmark-run-picker label:hover { background: #1b232c; }
  .result-drill-button:hover:not(:disabled) { background: #223a5c; }
  .source-mix-track, .capacity-track, .result-chart li > div,
  .query-inventory meter::-webkit-meter-bar { background: #29333e; }

  .summary-card-icon, .query-inventory li, .alternative-card, .report-alternatives article,
  .field-picker label, .question-examples button, .drill-run-picker label,
  .query-readback, .evaluation-details, .policy-settings, .cohort-card, .constraint-row,
  .trust-chain-step-copy dl > div {
    background: #192129;
  }
  .alternative-card.selected, .comparison-submit, .benchmark-catalog-list button.selected,
  .benchmark-run-picker label.selected, .benchmark-package-result { background: #12221d; }
  .admin-health-strip > div.attention, .observed-workload.unprofiled { background: #261d12; }
  .outcome-timeline .longitudinal { background: #1d1927; }

  .view-heading > span, .attention-summary div > span, .claim-trust-copy p,
  .candidate-proof b, .report-body-copy, .report-limitations-panel ul,
  .result-chart li > span, .ask-hero div > span, .question-examples button,
  .assumption-list li, .analytical-readout span, .decision-verdict div > span,
  .directional-readout span, .trust-chain-intro, .benchmark-summary { color: #b8c2ce; }
  .summary-card-icon, .stack-diff-row code, .configuration-table code,
  .run-picker .run-cohort-identity code { color: #c2ccd7; }
  .dataset-select > span, .filter-row label > span, .sort-row label > span,
  .query-controls label > span, .cohort-card-heading label > span,
  .commercial-grid label > span, .constraint-row label > span,
  .policy-settings label > span, .comparison-intent > label > span,
  .run-selectors label > span, .field > span, .field-picker legend,
  .drill-run-picker legend, .ask-form > label, .run-picker summary,
  .economics-toggle { color: #d1d8e0; }

  .workflow-stage-summary, .decision-notice, .status-pill.positive,
  .source-badge.measured-live, .scheduler-evidence-badge.verified,
  .report-trust-banner.positive,
  .comparison-import, .source-class-requirement, .ask-safety,
  .comparison-submit > div, .observed-workload-heading p,
  .trust-chain-status.verified, .benchmark-package-result { color: var(--accent); }
  .workflow-stage-summary span { color: #9edbc6; }
  .dataset-description, .comparison-revalidation-note, .verification-detail,
  .source-badge.external-asserted, .status-pill.draft, .plan-actions a,
  .sort-priority, .result-drill-button, .drill-through-scope, .workload-boundary,
  .observed-configuration-heading span { color: var(--blue); }
  .source-badge.fixture, .status-pill.warning, .inline-warning,
  .report-export-warning, .report-trust-banner.warning, .metric-suppressed,
  .result-truth-note, .clarification-card, .validation-summary,
  .stale-result, .decision-verdict ul, .run-picker .run-cohort-identity.unavailable,
  .run-picker em, .comparison-import.window-warning, .distribution-suppressed,
  .comparison-evidence-gap,
  .economics-blocked, .observed-workload.unprofiled .observed-workload-heading p,
  .workload-warning, .benchmark-claim-boundary, .benchmark-blockers li { color: var(--warning); }
  .source-badge.local-runtime, .outcome-readback { color: var(--purple); }
  .alert, .error, .comparison-import.invalid, .status-pill.negative,
  .run-exclusion-heading p, .run-exclusion-cell > code,
  .run-exclusion-cell .run-exclusion-cell-claims, .run-exclusion-heading > svg,
  .run-exclusion-claims > strong { color: var(--danger); }

  .attention-summary { border-color: #496d9f; background: #142033; }
  .attention-summary.warning, .query-inventory li.empty, .clarification-card,
  .validation-summary, .stale-result, .workload-warning,
  .observed-workload.unprofiled { border-color: #8c6534; }
  .attention-summary.positive, .decision-notice, .comparison-submit,
  .observed-workload { border-color: #34775f; }
  .alternative-card.selected, .report-alternatives article.selected,
  .evaluation-card.selected { border-color: #34775f; }
  .source-badge.fixture, .status-pill.warning { border-color: #8c6534; }
  .status-pill.negative, .run-exclusion-notice { border-color: #7a4341; }
  .source-badge.demo, .capacity-evidence-class[data-evidence="demo"] { border-color: #5f5936; }
  .source-badge.external-asserted, .status-pill.draft, .dataset-description,
  .drill-through-scope, .workload-boundary, .observed-configuration { border-color: #496d9f; }
  .source-badge.local-runtime, .outcome-readback, .ask-hero { border-color: #66548d; }
  .source-badge.measured-live, .status-pill.positive { border-color: #34775f; }

  .attention-summary.warning .attention-summary-icon { background: #4a3217; }
  .attention-summary.positive .attention-summary-icon { background: #174536; }
  .claim-trust-bar.blocked, .report-trust-banner.warning { background: #211a12; }
  .claim-trust-bar.eligible, .report-trust-banner.positive { background: #12221d; }
  .report-trust-banner.negative, .comparison-import.invalid { background: #321a1b; }
  .trust-chain.blocked .trust-chain-summary-icon, .trust-chain li.blocked .trust-chain-step-icon,
  .trust-chain-status.blocked { background: #321a1b; }
  /* The light pill hexes (#8a4304, #194c9d) disappear against the dark soft
     backgrounds, so the dark theme re-anchors the pill text on its tokens. */
  .trust-chain-status.attention { border-color: #8c6534; color: var(--warning); }
  .trust-chain-status.pending { border-color: #496d9f; color: var(--blue); }
  .trust-chain-status.slow-pending { border-color: #8c6534; color: var(--warning); }
  .report-verification-blocked-note { border-color: #7a4341; background: #321a1b; }
  .run-exclusion-notice { background: #321a1b; }
  .run-exclusion-heading span:not(.status-pill), .run-exclusion-facts dt,
  .run-exclusion-cell small, .run-exclusion-claims li { color: #d4aaa6; }
  .run-exclusion-facts > div, .run-exclusion-claims li { border-color: #7a4341; background: #211a1a; }
  .report-lifecycle-error { border-color: #7a4341; background: #321a1b; }
  .digest-placeholder, .digest-placeholder em { color: var(--warning); }
  .program-health.healthy { border-color: #34775f; color: var(--accent); }
  .program-health.idle, .program-health.disabled { border-color: #4a5768; background: #202832; color: #b8c2ce; }
  .program-health.pending, .program-health.running { border-color: #496d9f; color: var(--blue); }
  .program-health.due, .program-health.missed, .program-health.stuck { border-color: #8c6534; color: var(--warning); }
  .program-health-reason, .program-health-reasons { color: #b8c2ce; }
  .trust-chain.compact .trust-chain-panel { background: var(--surface); box-shadow: 0 16px 34px rgb(0 0 0 / 38%); }
  .observed-configuration { background: #142033; }
  .observed-workload { background: linear-gradient(135deg, #12231d 0%, #141d26 100%); }
  .workload-warning { background: var(--warning-soft); }

  .ask-hero, .analytical-readout, .directional-readout {
    background: linear-gradient(135deg, var(--surface) 0%, var(--purple-soft) 100%);
  }
  .directional-readout dl { border-color: #51446f; background: rgb(20 26 33 / 84%); }
  .directional-readout dl > div { border-bottom-color: #403752; }
  .constraint-diagnosis small { border-top-color: rgb(255 255 255 / 10%); }

  @media (max-width: 760px) {
    .product-sidebar { background: rgb(20 26 33 / 97%); }
  }
}

.controlled-comparison-workspace {
  --controlled-line: color-mix(in srgb, var(--border) 82%, #64748b);
}

.controlled-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr);
  gap: 24px;
  border: 1px solid var(--controlled-line);
  border-top: 4px solid var(--accent);
  border-radius: 10px;
  background: var(--surface);
  padding: 24px;
}

.controlled-hero p,
.controlled-outcome-step > p,
.controlled-block-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.controlled-hero h1 {
  margin: 5px 0 4px;
  font-size: clamp(22px, 3vw, 32px);
  overflow-wrap: anywhere;
}

.controlled-hero > div > span,
.controlled-block-heading span {
  color: var(--muted);
  font-size: 13px;
}

.controlled-hero dl,
.controlled-record-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--border);
}

.controlled-hero dl > div,
.controlled-record-grid > div {
  min-width: 0;
  background: var(--surface);
  padding: 12px;
}

.controlled-hero dt,
.controlled-record-grid dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.controlled-hero dd,
.controlled-record-grid dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 700;
}

.controlled-hero code,
.controlled-record-grid code {
  font-size: 11px;
}

.controlled-outcome-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.controlled-outcome-step {
  min-height: 190px;
  border: 1px solid var(--border);
  border-left-width: 4px;
  border-radius: 8px;
  background: var(--surface);
  padding: 18px;
}

.controlled-outcome-step.ready { border-left-color: var(--accent); }
.controlled-outcome-step.attention { border-left-color: var(--warning); }
.controlled-outcome-step.blocked { border-left-color: var(--danger); }
.controlled-outcome-step.neutral { border-left-color: var(--muted); }
.controlled-outcome-step h2 { margin: 8px 0; font-size: 18px; }
.controlled-outcome-step > span,
.controlled-outcome-step > small { display: block; color: var(--muted); }
.controlled-outcome-step > strong { display: block; margin-top: 12px; }
.controlled-outcome-step ul { margin: 12px 0 0; padding-left: 18px; color: var(--muted); }

.controlled-matrix-section {
  display: grid;
  gap: 14px;
}

.controlled-block-list {
  display: grid;
  gap: 14px;
}

.controlled-block-card {
  overflow: hidden;
  border: 1px solid var(--controlled-line);
  border-radius: 8px;
  background: var(--surface);
}

.controlled-block-card.complete { border-top: 3px solid var(--accent); }
.controlled-block-card.blocked { border-top: 3px solid var(--warning); }

.controlled-block-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 18px;
}

.controlled-block-heading h3 {
  margin: 3px 0 2px;
  font-size: 17px;
}

.controlled-block-status {
  display: grid;
  justify-items: end;
  gap: 6px;
}

.status-chip,
.boundary-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  padding: 4px 9px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.status-chip.ready { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); color: var(--accent); }
.status-chip.blocked { border-color: color-mix(in srgb, var(--warning) 45%, var(--border)); color: var(--warning); }

.controlled-matrix-scroll {
  overflow: auto;
  border-top: 1px solid var(--border);
}

.controlled-matrix-table {
  min-width: 980px;
}

.controlled-matrix-table th,
.controlled-matrix-table td {
  max-width: 280px;
  white-space: normal;
  vertical-align: top;
}

.matrix-cell,
.matrix-distribution {
  min-width: 145px;
}

.matrix-cell > *,
.matrix-distribution > * {
  display: block;
}

.matrix-cell a {
  color: var(--blue);
  text-decoration: none;
}

.matrix-cell small,
.matrix-distribution small,
.contrast-pair small,
.contrast-effect small,
.directional-test small,
.contrast-block-estimates small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.4;
}

.matrix-cell.eligible { background: color-mix(in srgb, var(--accent-soft) 58%, var(--surface)); }
.matrix-cell.ineligible,
.matrix-cell.missing { background: color-mix(in srgb, var(--warning-soft) 65%, var(--surface)); }
.matrix-cell.missing strong { color: var(--warning); }

.controlled-scope-note {
  margin: 0;
  border-left: 3px solid var(--muted);
  padding-left: 11px;
  color: var(--muted);
  font-size: 12px;
}

.controlled-power-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.controlled-power-list li {
  display: grid;
  gap: 5px;
  border: 1px solid var(--border);
  border-radius: 7px;
  padding: 12px;
}

.controlled-power-list li.ready { border-left: 3px solid var(--accent); }
.controlled-power-list li.underpowered { border-left: 3px solid var(--warning); }
.controlled-power-list span,
.controlled-power-list small { color: var(--muted); }

.controlled-contrast-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr)) auto;
  align-items: end;
  gap: 10px;
  margin-bottom: 14px;
}

.controlled-contrast-filters label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.controlled-contrast-filters select {
  min-height: 44px;
  border: 1px solid var(--control-border);
  border-radius: 6px;
  background: var(--surface);
  padding: 0 9px;
  color: var(--text);
}

.contrast-pair,
.contrast-effect,
.directional-test,
.contrast-block-estimates {
  display: grid;
  gap: 3px;
  min-width: 160px;
  white-space: normal;
}

.directional-test {
  border-left: 3px solid var(--border);
  padding-left: 8px;
}

.directional-test.reject { border-left-color: var(--accent); }
.directional-test.retain { border-left-color: var(--muted); }

.controlled-effect-plot {
  position: relative;
  display: block;
  width: 160px;
  height: 22px;
  margin: 3px 0;
  border-radius: 4px;
  background: color-mix(in srgb, var(--bg) 76%, var(--surface));
}

.controlled-effect-zero {
  position: absolute;
  top: 2px;
  bottom: 2px;
  width: 1px;
  background: var(--muted);
}

.controlled-effect-interval {
  position: absolute;
  top: 10px;
  height: 2px;
  background: var(--blue);
}

.controlled-effect-point {
  position: absolute;
  top: 6px;
  width: 10px;
  height: 10px;
  margin-left: -5px;
  border: 2px solid var(--surface);
  border-radius: 50%;
  background: var(--blue);
}

.controlled-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
}

.controlled-pagination span {
  color: var(--muted);
  font-size: 12px;
  text-align: center;
}

.controlled-record-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.controlled-lineage-timeline {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.controlled-lineage-timeline li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  border-bottom: 1px solid var(--border);
  padding: 13px 0;
}

.controlled-lineage-timeline li:last-child { border-bottom: 0; }

.lineage-sequence {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--blue-soft);
  color: var(--blue);
  font-weight: 800;
}

.controlled-lineage-timeline p { margin: 3px 0; }
.controlled-lineage-timeline small { display: block; color: var(--muted); overflow-wrap: anywhere; }

.controlled-workspace-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid var(--border);
  padding-top: 14px;
  color: var(--muted);
  font-size: 12px;
}

.controlled-workspace-footer a {
  color: var(--blue);
  font-weight: 700;
}

@media (max-width: 1100px) {
  .controlled-hero,
  .controlled-outcome-flow {
    grid-template-columns: 1fr;
  }

  .controlled-hero dl,
  .controlled-record-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .controlled-contrast-filters {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}

@media (max-width: 680px) {
  .controlled-hero { padding: 18px; }

  .controlled-hero dl,
  .controlled-record-grid,
  .controlled-contrast-filters {
    grid-template-columns: 1fr;
  }

  .controlled-block-heading,
  .controlled-pagination,
  .controlled-workspace-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .controlled-block-status { justify-items: start; }
  .controlled-effect-plot { width: 130px; }
}

@media (pointer: coarse) {
  :where(a[href], button, input:not([type="checkbox"]):not([type="radio"]), select, textarea, summary, [role="button"]) {
    min-block-size: 44px;
    min-inline-size: 44px;
  }
  label:has(> input[type="checkbox"], > input[type="radio"]) { min-block-size: 44px; }
}

/* Evaluation program / execution detail surfaces (source/evaluators). These
   reuse the standalone-report layout, trust-chain, and program-health tokens;
   the rules below only add list styling and stacked table-cell text in the
   existing palette so the new surfaces do not introduce a separate look. */
.program-reason-list { margin: 14px 0 0; padding-left: 20px; color: var(--muted); font-size: 12px; line-height: 1.6; display: grid; gap: 5px; }
.program-binding-list { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.program-binding-list li { padding: 9px 11px; border: 1px solid var(--border); border-radius: 6px; background: var(--bg); font-size: 12px; }
.program-binding-list strong { display: block; }
.program-binding-list code { overflow-wrap: anywhere; }
.timeline-recorded, .timeline-reason, .timeline-run, .timeline-chain { display: inline-flex; flex-direction: column; gap: 2px; }
.timeline-recorded small, .timeline-reason small, .timeline-run small, .timeline-chain small { color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.timeline-run code, .timeline-chain code { overflow-wrap: anywhere; }
.execution-outcome-note { margin: 13px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.program-detail-link { min-height: 44px; display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
.program-detail-link strong { color: var(--text); }
.program-detail-link:hover strong, .program-detail-link:focus-visible strong { text-decoration: underline; }
a.program-execution-id { text-decoration: none; }
a.program-execution-id:hover, a.program-execution-id:focus-visible { text-decoration: underline; }

/* Native dashboards surface (Recharts) */
.dashboard-qualification-overview { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(420px, 1.35fr); align-items: center; gap: 14px 22px; border: 1px solid var(--border); border-left: 4px solid var(--accent); border-radius: 8px; background: var(--surface); padding: 16px 18px; }
.dashboard-qualification-overview > div:first-child p { margin: 0; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.dashboard-qualification-overview > div:first-child h2 { margin: 3px 0 0; font-size: 18px; line-height: 1.3; }
.dashboard-qualification-overview > div:first-child span, .dashboard-qualification-unavailable span, .dashboard-qualification-answer span { display: block; margin-top: 5px; color: var(--muted); font-size: 11.5px; line-height: 1.5; }
.dashboard-qualification-counts { align-self: center; }
.dashboard-qualification-answer { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-top: 1px solid var(--border); padding-top: 10px; }
.dashboard-qualification-answer strong { font-size: 13px; }
.dashboard-qualification-answer span { margin: 0; }
.dashboard-qualification-answer button { flex: 0 0 auto; min-height: 44px; }
.dashboard-qualification-unavailable { border: 1px dashed var(--border); border-radius: 6px; background: var(--bg); padding: 12px; }
.dashboard-qualification-unavailable strong { display: block; font-size: 13px; }
.dashboards-tablist { display: flex; gap: 6px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline proximity; scrollbar-width: thin; border-bottom: 1px solid var(--border); padding: 0 2px 4px; }
.dashboards-tab { min-height: 44px; flex: 0 0 auto; scroll-snap-align: start; border: 1px solid transparent; border-bottom: 2px solid transparent; border-radius: 6px 6px 0 0; background: transparent; padding: 9px 13px; color: var(--muted); font-size: 13px; font-weight: 650; white-space: nowrap; cursor: pointer; }
.dashboards-tab:hover { color: var(--text); background: var(--accent-soft); }
.dashboards-tab.active { color: var(--text); border-bottom-color: var(--accent); }
.dashboards-tab:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.dashboards-tabpanel { display: grid; gap: 18px; }
.dashboards-tab-title { margin: 4px 0 0; font-size: 18px; }
.dashboards-tab-note { max-width: 820px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
@media (max-width: 800px) {
  .dashboard-qualification-overview { grid-template-columns: 1fr; padding: 14px; }
  .dashboard-qualification-answer { grid-column: auto; display: grid; gap: 2px; }
  .dashboard-qualification-answer button { justify-self: start; min-height: 44px; margin-top: 6px; }
  .dashboards-tablist { margin-inline: -4px; padding-inline: 4px; }
}
.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.kpi-grid > .surface-data-boundary { display: grid; align-content: start; min-width: 0; }
.kpi-card strong { display: block; margin: 6px 0 2px; font-size: 24px; line-height: 1.15; overflow-wrap: anywhere; }
.kpi-card .source-badge { margin-top: 8px; }
.kpi-card .secondary-button { margin-top: 8px; }
.kpi-card > .surface-demo-data, .kpi-card > .surface-live-reason { grid-column: 1 / -1; margin: 0; }
.kpi-card .surface-demo-data strong { margin: 0; font-size: 11px; line-height: 1.4; }
.kpi-card .surface-demo-data .source-badge { margin: 0; }
.kpi-card .surface-demo-data > span:last-child { flex-basis: 100%; }
.dashboard-panel { min-width: 0; display: grid; gap: 12px; }
.dashboard-panel .card-heading h3 { font-size: 15px; }
.panel-analysis-note { margin: 0; color: var(--muted); font-size: 12px; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; }
.panel-source-legend { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.panel-suppressed-note { margin: 0; color: var(--warning); font-size: 12px; line-height: 1.5; }
.dashboard-panel-error { display: grid; gap: 8px; }
.chart-frame { min-width: 0; width: 100%; max-width: 100%; overflow: hidden; display: grid; gap: 8px; }
.chart-figure { min-width: 0; max-width: 100%; margin: 0; }
.chart-canvas { min-width: 0; width: 100%; max-width: 100%; overflow: hidden; }
.chart-canvas-placeholder { min-height: 300px; border: 1px dashed var(--border); border-radius: 6px; }
.chart-data-fallback { min-width: 0; width: 100%; max-width: 100%; border-top: 1px solid var(--border); padding-top: 8px; }
.chart-data-fallback .accessible-table-region { min-width: 0; width: 100%; max-width: 100%; max-height: min(50vh, 420px); overscroll-behavior: contain; }
.chart-data-fallback > summary { cursor: pointer; color: var(--muted); font-size: 12px; font-weight: 700; }
.chart-data-fallback[open] > summary { margin-bottom: 8px; }
.qualification-scatter { display: grid; gap: 14px; }
.qualification-authority { display: grid; gap: 11px; border-top: 1px solid var(--border); padding-top: 13px; }
.qualification-answer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, auto); align-items: center; gap: 12px 18px; border: 1px solid var(--border); border-left: 4px solid var(--warning); border-radius: 7px; background: var(--bg); padding: 12px 14px; }
.qualification-answer[data-answer-class="selected-qualified-configuration"] { border-left-color: var(--accent); }
.qualification-answer[data-answer-class="insufficient-evidence"] { border-left-color: var(--blue); }
.qualification-answer p { margin: 0; color: var(--muted); font-size: 10.5px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.qualification-answer h4 { margin: 3px 0 0; font-size: 17px; line-height: 1.3; }
.qualification-answer span { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.qualification-answer > strong { color: var(--text); font-size: 12px; line-height: 1.5; }
.qualification-counts { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; }
.qualification-counts > div { min-width: 92px; display: flex; align-items: baseline; justify-content: space-between; gap: 9px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); padding: 7px 9px; }
.qualification-counts dt { color: var(--muted); font-size: 10px; font-weight: 700; }
.qualification-counts dd { margin: 0; font-size: 13px; font-weight: 800; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.qualification-counts > div[data-verdict="qualified"] dd { color: var(--accent); }
.qualification-counts > div[data-verdict="ineligible"] dd { color: var(--warning); }
.qualification-counts > div[data-verdict="failed"] dd { color: var(--danger); }
.qualification-authority-note { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.qualification-evidence-table { min-width: 0; }
.qualification-evidence-table .accessible-table { min-width: 1180px; }
.qualification-point-id { max-width: 210px; display: block; overflow-wrap: anywhere; white-space: normal; }
.qualification-verdict { display: inline-flex; min-height: 24px; align-items: center; border: 1px solid var(--border); border-radius: 999px; padding: 2px 8px; font-size: 10.5px; font-weight: 750; white-space: nowrap; }
.qualification-verdict[data-verdict="qualified"] { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); color: var(--accent); }
.qualification-verdict[data-verdict="ineligible"] { border-color: color-mix(in srgb, var(--warning) 50%, var(--border)); color: var(--warning); }
.qualification-verdict[data-verdict="failed"] { border-color: color-mix(in srgb, var(--danger) 45%, var(--border)); color: var(--danger); }
.qualification-reason-list { display: grid; gap: 4px; min-width: 220px; margin: 0; padding-left: 16px; font-size: 10.5px; line-height: 1.45; }
.qualification-reason-list code { overflow-wrap: anywhere; white-space: normal; }
.qualification-no-reason, .qualification-no-evidence { color: var(--muted); font-size: 10.5px; }
.qualification-evidence-link { color: var(--accent); font-size: 11px; font-weight: 700; text-underline-offset: 3px; }
.qualification-tooltip-evidence { max-width: min(360px, calc(100vw - 40px)); display: grid; gap: 4px; margin-top: 6px; border-top: 1px solid var(--border); padding-top: 6px; line-height: 1.4; white-space: normal; }
.qualification-tooltip-evidence > span { overflow-wrap: anywhere; }
.qualification-tooltip-evidence .qualification-reason-list { min-width: 0; }
@media (max-width: 600px) {
  .qualification-answer { grid-template-columns: 1fr; }
  .qualification-counts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qualification-counts > div { min-width: 0; }
  .qualification-evidence-table .mobile-table-summary li { padding-block: 12px; }
  .qualification-evidence-table .mobile-table-summary dl { grid-template-columns: 1fr; gap: 10px; }
  .qualification-evidence-table .mobile-table-toggle { min-height: 44px; }
  .qualification-evidence-table .qualification-evidence-link { min-height: 44px; display: inline-flex; align-items: center; }
}
.dashboard-freshness .freshness-readout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.dashboard-freshness .freshness-readout div { border: 1px solid var(--border); border-radius: 6px; padding: 12px; }
.dashboard-freshness .freshness-readout dt { color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.dashboard-freshness .freshness-readout dd { margin: 6px 0 0; font-size: 16px; font-weight: 650; }

.run-detail-link { color: inherit; text-decoration: none; }
.run-detail-link code { text-decoration: underline; text-decoration-color: var(--border); text-underline-offset: 3px; }
.run-detail-link:hover code, .run-detail-link:focus-visible code { text-decoration-color: var(--accent); color: var(--accent); }
.run-lineage-handoff { display: grid; gap: 3px; }
.run-lineage-handoff span { color: var(--blue); font-size: 10.5px; font-weight: 700; }
.run-detail-page { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; min-width: 0; }
.run-detail-page > * { min-width: 0; }
.run-detail-id { font-size: clamp(16px, 2.2vw, 22px); overflow-wrap: anywhere; }
.run-detail-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 0; }
.run-detail-facts div { border: 1px solid var(--border); border-radius: 6px; padding: 10px 12px; min-width: 0; }
.run-detail-facts dt { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.run-detail-facts dd { margin: 5px 0 0; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.experiment-footprint-summary { margin: 18px 0; border: 1px solid var(--border); border-radius: 8px; padding: 16px; background: var(--surface); }
.experiment-footprint-summary .run-detail-facts { margin-top: 14px; }
.experiment-footprint-summary .run-detail-facts small { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.experiment-footprint-note { margin: 14px 0 0; color: var(--muted); font-size: 12px; }
.run-disposition-unrecorded { color: var(--muted); font-size: 11px; }
.run-exclusion-cell { display: grid; width: 100%; min-width: 0; max-width: 330px; justify-items: start; gap: 5px; }
.run-exclusion-cell > code, .run-exclusion-cell small code { max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
.run-exclusion-cell > code { color: var(--danger); font-size: 10.5px; font-weight: 700; }
.run-exclusion-cell small { max-width: 100%; color: var(--muted); font-size: 10.5px; line-height: 1.4; overflow-wrap: anywhere; white-space: normal; }
.run-exclusion-cell .run-exclusion-cell-claims { color: #7c2d27; font-weight: 650; }
.run-exclusion-notice { border-color: #e4a9a5; border-left: 5px solid var(--danger); background: var(--danger-soft); }
.run-exclusion-heading { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 11px; }
.run-exclusion-heading > svg { margin-top: 2px; color: var(--danger); }
.run-exclusion-heading p { margin: 0; color: #9d2119; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.run-exclusion-heading h2 { margin: 3px 0 2px; font-size: 18px; line-height: 1.3; }
.run-exclusion-heading span:not(.status-pill) { color: #5f3a36; font-size: 12px; line-height: 1.5; }
.run-exclusion-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 9px; margin: 14px 0 0; }
.run-exclusion-facts > div { min-width: 0; border: 1px solid rgb(157 33 25 / 22%); border-radius: 6px; background: rgb(255 255 255 / 58%); padding: 9px 10px; }
.run-exclusion-facts dt { color: #7c2d27; font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.run-exclusion-facts dd { margin: 4px 0 0; font-size: 12px; font-weight: 650; overflow-wrap: anywhere; }
.run-exclusion-facts code { white-space: normal; }
.run-exclusion-claims { margin-top: 12px; border-top: 1px solid rgb(157 33 25 / 22%); padding-top: 10px; }
.run-exclusion-claims > strong { color: #7c2d27; font-size: 11px; letter-spacing: .02em; }
.run-exclusion-claims ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 7px 0 0; padding: 0; list-style: none; }
.run-exclusion-claims li { border: 1px solid rgb(157 33 25 / 28%); border-radius: 999px; background: rgb(255 255 255 / 62%); padding: 4px 8px; color: #6e2520; font-size: 10.5px; font-weight: 700; }
.run-scheduler-evidence { display: grid; grid-template-columns: minmax(190px, .65fr) minmax(260px, 1.35fr); gap: 6px 18px; margin-top: 12px; border: 1px solid var(--border); border-left: 4px solid #9aa3ad; border-radius: 7px; background: var(--surface-subtle); padding: 11px 13px; }
.run-scheduler-evidence.recorded { border-left-color: var(--blue); background: color-mix(in srgb, var(--blue) 8%, var(--surface)); }
.run-scheduler-evidence.verified { border-left-color: var(--accent); background: var(--accent-soft); }
.run-scheduler-evidence.conflict { border-color: #e4a9a5; border-left: 4px solid var(--danger); background: var(--danger-soft); }
.run-scheduler-evidence p { margin: 0; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.run-scheduler-evidence strong { display: block; margin-top: 3px; color: var(--text); font-size: 13px; }
.run-scheduler-evidence > span { align-self: center; color: var(--muted); font-size: 12px; line-height: 1.45; }
.run-scheduler-evidence > small { grid-column: 1 / -1; color: var(--muted); font-size: 11px; line-height: 1.4; }
.run-receipt-scope-note { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 16px; border: 1px solid color-mix(in srgb, var(--blue) 35%, var(--border)); border-radius: 7px; background: color-mix(in srgb, var(--blue) 8%, var(--surface)); padding: 11px 13px; color: var(--muted); }
.run-receipt-scope-note > svg { flex: 0 0 auto; margin-top: 2px; }
.run-receipt-scope-note p { display: grid; gap: 3px; margin: 0; font-size: 12px; line-height: 1.45; }
.run-receipt-scope-note strong { color: var(--text); }
.retained-run-performance { border-left: 4px solid var(--blue); }
.retained-run-performance-kpis { margin-top: 2px; }
.retained-run-performance-details { margin-top: 14px; }
.retained-run-query-boundary { margin: 0; border: 1px solid color-mix(in srgb, var(--blue) 30%, var(--border)); border-radius: 7px; background: color-mix(in srgb, var(--blue) 6%, var(--surface)); padding: 10px 12px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.run-custody-status { margin-top: 8px; border: 1px solid var(--border); border-radius: 7px; padding: 12px; }
.run-custody-status.ready { border-color: color-mix(in srgb, var(--accent) 42%, var(--border)); background: var(--accent-soft); }
.run-custody-status.attention { border-color: #e4a9a5; background: var(--danger-soft); }
.run-custody-status .card-heading { margin-bottom: 12px; }
.run-detail-panels { margin-top: 4px; }
.run-request-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.run-request-chart-grid > * { min-width: 0; }

@media (max-width: 900px) {
  .run-request-chart-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .run-exclusion-cell { max-width: 100%; }
  .run-exclusion-heading { grid-template-columns: auto minmax(0, 1fr); }
  .run-exclusion-heading > .status-pill { grid-column: 2; justify-self: start; }
  .run-scheduler-evidence { grid-template-columns: 1fr; }
  .run-scheduler-evidence > small { grid-column: auto; }
}

.ci-interval-card .card-heading span { max-width: 820px; }
.ci-interval-legend { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 0; padding: 0; list-style: none; }
.ci-interval-legend li { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ci-interval-legend strong { font-size: 13px; }
.ci-interval-grid { display: grid; gap: 18px; }
.ci-interval-figure { display: grid; gap: 6px; margin: 0; }
.ci-interval-figure > figcaption { color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ci-interval-row { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(200px, 2fr) minmax(170px, 1fr); align-items: center; gap: 12px; border: 1px solid var(--border); border-radius: 6px; padding: 10px 12px; }
.ci-interval-label { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.ci-interval-label strong { font-size: 13px; }
.ci-interval-runs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; flex-basis: 100%; color: var(--muted); font-size: 11px; }
.ci-interval-track { position: relative; height: 26px; min-width: 0; }
/* The whisker: the server's 95% interval as a 2px band with end caps. */
.ci-interval-band { position: absolute; top: 12px; height: 2px; border-radius: 1px; }
.ci-interval-band::before, .ci-interval-band::after { content: ""; position: absolute; top: -4px; width: 2px; height: 10px; border-radius: 1px; background: inherit; }
.ci-interval-band::before { left: 0; }
.ci-interval-band::after { right: 0; }
/* The mean dot wears a 2px surface ring so it stays legible over the band. */
.ci-interval-mean { position: absolute; top: 8px; width: 10px; height: 10px; margin-left: -5px; border-radius: 50%; border: 2px solid var(--surface); box-sizing: content-box; }
.ci-interval-value b { display: block; font-size: 14px; }
.ci-interval-value small { color: var(--muted); font-size: 11px; line-height: 1.4; }
.ci-interval-note { grid-column: 2 / -1; margin: 0; color: var(--muted); font-size: 12px; }

@media screen and (max-width: 900px) {
  .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ci-interval-row { grid-template-columns: 1fr; }
  .ci-interval-note { grid-column: auto; }
}
@media screen and (max-width: 620px) {
  .kpi-grid { grid-template-columns: 1fr; }
  .dashboard-freshness .freshness-readout { grid-template-columns: 1fr; }
}
/* Optimization studies workspace. These rules reuse the shared card, chip, and
   evidence tokens (content-card, card-heading, capacity-evidence-class) and only
   add the study rail, the successive-halving bracket, and the advance form in
   the existing palette — no separate look. Elimination state is never conveyed
   by color alone: every card carries an explicit text label, eliminated cards
   are dashed, pending cards dotted, and the winner adds an inset accent bar. */
.challenger-handoff { display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid var(--border); border-left: 4px solid var(--blue); border-radius: 8px; background: var(--surface); padding: 18px 20px; }
.challenger-handoff > div { min-width: 0; }
.challenger-handoff p, .challenger-handoff-detail section > p { margin: 0; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.challenger-handoff h2 { margin: 3px 0 0; font-size: 20px; line-height: 1.3; }
.challenger-handoff h2 + span { display: block; max-width: 900px; margin-top: 5px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.challenger-handoff > a { flex: 0 0 auto; }
.challenger-handoff-detail { display: grid; gap: 14px; }
.challenger-handoff-loading, .challenger-handoff-failure, .challenger-handoff-result { justify-content: flex-start; }
.challenger-handoff-loading > svg, .challenger-handoff-failure > svg, .challenger-handoff-result > svg { width: 26px; height: 26px; flex: 0 0 auto; }
.challenger-handoff-loading > div, .challenger-handoff-failure > div, .challenger-handoff-result > div { flex: 1 1 auto; }
.challenger-handoff-loading p, .challenger-handoff-failure p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.challenger-handoff-failure { border-left-color: var(--warning); }
.challenger-handoff-failure small { display: block; margin-top: 5px; color: var(--muted); overflow-wrap: anywhere; }
.challenger-handoff-failure button { margin-top: 12px; }
.challenger-handoff-result[data-tone="positive"] { border-left-color: var(--accent); }
.challenger-handoff-result[data-tone="positive"] > svg { color: var(--accent); }
.challenger-handoff-result[data-tone="warning"] { border-left-color: var(--warning); }
.challenger-handoff-result[data-tone="warning"] > svg { color: var(--warning); }
.challenger-handoff-result[data-tone="blocked"] { border-left-color: var(--danger); }
.challenger-handoff-result[data-tone="blocked"] > svg { color: var(--danger); }
.challenger-handoff-result[data-tone="neutral"] > svg { color: var(--blue); }
.challenger-handoff-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 14px; }
.challenger-handoff-actions a { min-height: 44px; }
.challenger-handoff-boundary { display: grid; gap: 3px; border: 1px solid color-mix(in srgb, var(--blue) 28%, var(--border)); border-left: 4px solid var(--blue); border-radius: 7px; background: var(--blue-soft); padding: 12px 14px; }
.challenger-handoff-boundary strong { font-size: 13px; }
.challenger-handoff-boundary span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.challenger-handoff-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.challenger-handoff-columns > section { min-width: 0; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 16px; }
.challenger-handoff-columns h3, .challenger-handoff-reasons h3 { margin: 4px 0 12px; font-size: 16px; }
.challenger-handoff-columns dl, .challenger-handoff-evidence dl { display: grid; gap: 0; margin: 0; }
.challenger-handoff-columns dl > div, .challenger-handoff-evidence dl > div { display: grid; grid-template-columns: minmax(130px, .45fr) minmax(0, 1fr); gap: 12px; border-top: 1px solid var(--border); padding: 9px 0; }
.challenger-handoff-columns dl > div:first-child, .challenger-handoff-evidence dl > div:first-child { border-top: 0; }
.challenger-handoff-columns dt, .challenger-handoff-evidence dt { color: var(--muted); font-size: 11px; font-weight: 700; }
.challenger-handoff-columns dd, .challenger-handoff-evidence dd { margin: 0; overflow-wrap: anywhere; font-size: 12px; line-height: 1.45; }
.challenger-handoff-columns code, .challenger-handoff-evidence code { white-space: normal; overflow-wrap: anywhere; }
.challenger-handoff-evidence { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 0 15px; }
.challenger-handoff-evidence summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-size: 13px; font-weight: 750; }
.challenger-handoff-evidence dl { border-top: 1px solid var(--border); padding: 8px 0 12px; }
.challenger-handoff-evidence ul { display: grid; gap: 4px; margin: 0; padding-left: 18px; }
.challenger-handoff-reasons { border-left: 4px solid var(--warning); border-radius: 5px; background: var(--warning-soft); padding: 12px 14px; }
.challenger-handoff-reasons ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.challenger-handoff-reasons code { display: inline-block; border: 1px solid color-mix(in srgb, var(--warning) 35%, var(--border)); border-radius: 5px; background: var(--surface); padding: 3px 7px; overflow-wrap: anywhere; white-space: normal; }
.challenger-authority-sequence { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.challenger-authority-sequence li { min-width: 0; display: grid; align-content: start; gap: 4px; border-top: 3px solid var(--border); padding: 10px 12px 0 0; }
.challenger-authority-sequence li[data-current="true"] { border-color: var(--blue); }
.challenger-authority-sequence strong { font-size: 12px; }
.challenger-authority-sequence span { color: var(--muted); font-size: 11px; line-height: 1.45; }
.qualification-point-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; border-top: 1px solid var(--border); padding-top: 12px; }
.qualification-point-actions a { min-height: 44px; }
.qualification-point-actions span { flex: 1 1 280px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.optimization-workspace { max-width: 1480px; }
.optimization-layout { display: grid; grid-template-columns: minmax(260px, 0.9fr) minmax(0, 2.6fr); gap: 20px; align-items: start; }
.optimization-rail .card-heading { margin-bottom: 8px; }
.optimization-study-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.optimization-study-list > li { border-top: 1px solid var(--border); }
.optimization-study-list > li:first-child { border-top: 0; }
.optimization-study-button { width: 100%; display: grid; gap: 7px; border: 0; border-radius: 7px; background: transparent; padding: 12px 10px; color: var(--text); text-align: left; }
.optimization-study-button:hover { background: var(--bg); }
.optimization-study-button[aria-current="true"] { background: var(--accent-soft); box-shadow: inset 3px 0 0 var(--accent); }
.optimization-study-button strong { font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
.optimization-study-button small { color: var(--muted); font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.optimization-chip-row { display: flex; flex-wrap: wrap; gap: 6px; }
.optimization-state, .optimization-outcome { flex: 0 0 auto; border: 1px solid var(--border); border-radius: 999px; padding: 3px 8px; color: var(--muted); font-size: 11px; font-weight: 750; }
.optimization-state[data-state="active"] { border-color: color-mix(in srgb, var(--blue) 42%, var(--border)); background: var(--blue-soft); color: var(--blue); }
.optimization-outcome[data-outcome="promoted"] { border-color: color-mix(in srgb, var(--accent) 42%, var(--border)); background: var(--accent-soft); color: var(--accent); }
/* Wave 2 W3 challenger states and shadow roles. `.optimization-state` was
   written for study states (active/completed), so every challenger value fell
   through to the neutral base: a refused challenger and a promoted one looked
   identical in the rail, and champion and candidate rows were indistinguishable
   in the shadow table. Nothing errored and the tests passed — it simply failed
   to draw the distinction the screen exists to show. */
.optimization-state[data-state="promoted"] { border-color: color-mix(in srgb, var(--accent) 42%, var(--border)); background: var(--accent-soft); color: var(--accent); }
.optimization-state[data-state="unavailable"],
.optimization-state[data-state="refused"],
.optimization-state[data-state="rolled-back"] { border-color: color-mix(in srgb, var(--warning) 42%, var(--border)); background: var(--warning-soft); color: var(--warning); }
.optimization-state[data-state="registered"] { border-color: color-mix(in srgb, var(--blue) 42%, var(--border)); background: var(--blue-soft); color: var(--blue); }
/* The two sides of the comparison. Which row measured which side is the whole
   content of the shadow-execution table. Only the CANDIDATE is highlighted, on
   purpose: the champion is the incumbent and should read as the neutral status
   quo, so the eye lands on the thing under test. Do not "complete" this by
   colouring champion too. */
.optimization-state[data-state="candidate"] { border-color: color-mix(in srgb, var(--blue) 42%, var(--border)); background: var(--blue-soft); color: var(--blue); }
.optimization-mission-control { border-top: 4px solid var(--accent); }
.optimization-answer { border-top: 4px solid var(--accent); }
.optimization-answer[data-result-class="non-qualifying"],
.optimization-answer[data-result-class="hold-or-no-action"] { border-top-color: var(--warning); }
.optimization-answer[data-result-class="comparison-in-progress"] { border-top-color: var(--blue); }
.optimization-answer-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.optimization-answer-heading p { margin: 0 0 6px; color: var(--muted); font-size: 11px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.optimization-answer-heading h2 { margin: 0 0 7px; font-size: clamp(1.35rem, 2vw, 1.8rem); }
.optimization-answer-heading > div > span { display: block; max-width: 84ch; color: var(--muted); font-size: 14px; line-height: 1.5; }
.optimization-answer-context { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 16px 0 0; border: 1px solid var(--border); }
.optimization-answer-context > div { min-width: 0; border-right: 1px solid var(--border); padding: 13px; }
.optimization-answer-context > div:last-child { border-right: 0; }
.optimization-answer-context dt { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.optimization-answer-context dd { margin: 5px 0 0; overflow-wrap: anywhere; font-size: 15px; font-weight: 750; text-transform: capitalize; }
.optimization-answer-context small { display: block; margin-top: 4px; color: var(--muted); font-size: 14px; font-weight: 400; line-height: 1.45; text-transform: none; }
.optimization-answer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.optimization-answer-actions > span { color: var(--muted); font-size: 14px; line-height: 1.45; }
.optimization-arm-disposition { font-size: 14px; font-weight: 700; line-height: 1.4; }
.optimization-cycle-candidates { display: grid; gap: 10px; margin-top: 12px; border-top: 1px solid var(--border); padding-top: 12px; }
.optimization-cycle-candidates > div { display: grid; gap: 3px; }
.optimization-cycle-candidates h3 { margin: 0; font-size: 16px; }
.optimization-cycle-candidates > div > span,
.optimization-cycle-candidates > p,
.optimization-cycle-candidates > small { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.optimization-cycle-candidates ol { display: grid; gap: 0; margin: 0; border: 1px solid var(--border); padding: 0; list-style: none; }
.optimization-cycle-candidates li { display: grid; grid-template-columns: minmax(190px, 1fr) minmax(150px, .65fr) minmax(120px, .45fr); gap: 7px 14px; min-width: 0; border-top: 1px solid var(--border); padding: 10px 12px; }
.optimization-cycle-candidates li:first-child { border-top: 0; }
.optimization-cycle-candidates li[data-disposition="ineligible"],
.optimization-cycle-candidates li[data-disposition="unresolved"] { background: color-mix(in srgb, var(--warning-soft) 50%, transparent); }
.optimization-cycle-candidates li > div { display: grid; gap: 2px; }
.optimization-cycle-candidates li > div > span { color: var(--muted); font-size: 14px; font-weight: 700; }
.optimization-cycle-candidates li > small { min-width: 0; overflow-wrap: anywhere; color: var(--muted); font-size: 13px; }
.optimization-cycle-candidates li > code { min-width: 0; overflow-wrap: anywhere; color: var(--muted); font-size: 12px; }
.optimization-cycle-candidates li > span { grid-column: 1 / -1; color: var(--warning); font-size: 14px; line-height: 1.45; }
.optimization-action-lifecycle { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 12px 0 0; border: 1px solid var(--border); padding: 0; list-style: none; }
.optimization-action-lifecycle li { position: relative; display: grid; align-content: start; gap: 5px; min-width: 0; border-right: 1px solid var(--border); padding: 12px 11px 12px 27px; }
.optimization-action-lifecycle li:last-child { border-right: 0; }
.optimization-action-lifecycle li::before { content: ""; position: absolute; top: 16px; left: 11px; width: 7px; height: 7px; border: 2px solid var(--muted); border-radius: 50%; }
.optimization-action-lifecycle li[data-stage-state="complete"]::before { border-color: var(--accent); background: var(--accent); }
.optimization-action-lifecycle li[data-stage-state="current"]::before { border-color: var(--blue); background: var(--blue); }
.optimization-action-lifecycle li[data-stage-state="attention"]::before { border-color: var(--warning); background: var(--warning); }
.optimization-action-lifecycle strong { font-size: 14px; }
.optimization-action-lifecycle span { overflow-wrap: anywhere; color: var(--muted); font-size: 14px; line-height: 1.45; }
.optimization-control-announcement { margin: 12px 0 0; border: 1px solid color-mix(in srgb, var(--blue) 35%, var(--border)); background: var(--blue-soft); padding: 10px 12px; font-size: 14px; line-height: 1.5; }
.optimization-control-groups { display: grid; gap: 0; margin-top: 12px; border: 1px solid var(--border); }
.optimization-control-groups > section { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; border-top: 1px solid var(--border); padding: 11px 12px; }
.optimization-control-groups > section:first-child { border-top: 0; }
.optimization-control-groups > section > div:first-child { display: grid; gap: 3px; }
.optimization-control-groups > section > div:first-child > span { color: var(--muted); font-size: 14px; line-height: 1.45; }
.optimization-control-groups .optimization-control-actions { justify-content: flex-end; margin: 0; }
.optimization-emergency-control { background: color-mix(in srgb, var(--warning-soft) 35%, transparent); }
.danger-button { border-color: color-mix(in srgb, var(--warning) 55%, var(--border)); color: var(--warning); }
.optimization-control-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); }
.optimization-control-grid > div { min-width: 0; border-right: 1px solid var(--border); padding: 13px; }
.optimization-control-grid > div:last-child { border-right: 0; }
.optimization-control-grid dt { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.optimization-control-grid dd { margin: 5px 0 0; overflow-wrap: anywhere; font-size: 15px; font-weight: 750; }
.optimization-control-grid small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.optimization-selection-explanation { margin: 12px 0 0; border-left: 3px solid var(--blue); background: var(--blue-soft); padding: 10px 12px; color: var(--text); font-size: 12px; line-height: 1.5; }
.optimization-control-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 12px; }
.optimization-control-actions > span { flex: 1 1 320px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.optimization-control-unavailable { margin: 12px 0 0; border-top: 1px solid var(--border); padding-top: 12px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.optimization-outcome[data-outcome="promotion-refused"],
.optimization-outcome[data-outcome="budget-exhausted"] { border-color: color-mix(in srgb, var(--warning) 42%, var(--border)); background: var(--warning-soft); color: var(--warning); }
.optimization-rail-reasons { border-left: 3px solid var(--warning); padding-left: 8px; color: var(--warning); font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
/* A disqualifier carried inside a list row, where there is no room for the
   full warning block. Same warning treatment as the optimization rail so a
   non-qualifying record reads the same way on every list surface. */
.non-qualifying-note { display: block; margin-top: 3px; color: var(--warning); font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.optimization-bracket { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(216px, 380px); justify-content: start; gap: 22px; margin: 0; padding: 2px 0 10px; list-style: none; overflow-x: auto; scrollbar-width: thin; }
.optimization-round { min-width: 0; display: grid; align-content: start; gap: 10px; }
.optimization-round > header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--border); padding-bottom: 6px; }
.optimization-round h3 { margin: 0; font-size: 12px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.optimization-round > header span { color: var(--muted); font-size: 11px; }
.optimization-round ul { display: grid; align-content: start; gap: 10px; margin: 0; padding: 0; list-style: none; }
.optimization-arm-card { position: relative; min-width: 0; display: grid; gap: 4px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); padding: 10px 12px; }
.optimization-arm-card[data-flow="advances"] { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); }
/* Survivors visually flow into the next round: a short accent connector bridges
   the column gap. The flow is also stated in the card's text label. */
.optimization-arm-card[data-flow="advances"]::after,
.optimization-arm-card[data-flow="winner"]::after { content: ""; position: absolute; top: 50%; right: -23px; width: 22px; height: 2px; background: var(--accent); }
.optimization-round:last-child .optimization-arm-card::after { content: none; }
.optimization-arms-section th { white-space: nowrap; }
.optimization-arm-card[data-flow="eliminated"] { border-style: dashed; background: var(--bg); }
.optimization-arm-card[data-flow="pending"] { border-style: dotted; }
.optimization-arm-card[data-flow="winner"] { border-color: color-mix(in srgb, var(--accent) 55%, var(--border)); background: color-mix(in srgb, var(--accent-soft) 62%, var(--surface)); box-shadow: inset 3px 0 0 var(--accent); }
.optimization-arm-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px; }
.optimization-arm-title strong { font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; }
.optimization-baseline-tag { flex: 0 0 auto; border: 1px solid var(--border); border-radius: 999px; padding: 2px 7px; color: var(--muted); font-size: 10px; font-weight: 750; }
.optimization-arm-value { font-size: 15px; font-weight: 750; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.optimization-arm-card small { color: var(--muted); font-size: 10px; line-height: 1.4; overflow-wrap: anywhere; }
.optimization-arm-flow { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 700; }
.optimization-arm-card[data-flow="advances"] .optimization-arm-flow,
.optimization-arm-card[data-flow="winner"] .optimization-arm-flow { color: var(--accent); }
.optimization-objective { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); }
.optimization-objective > div { min-width: 0; border-right: 1px solid var(--border); padding: 13px; }
.optimization-objective > div:last-child { border-right: 0; }
.optimization-objective dt { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.optimization-objective dd { margin: 5px 0 0; overflow-wrap: anywhere; font-size: 15px; font-weight: 750; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.optimization-objective dd small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 400; }
.optimization-guardrails { display: grid; gap: 0; margin: 12px 0 0; padding: 0; list-style: none; }
.optimization-guardrails li { min-width: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-top: 1px solid var(--border); padding: 9px 0; }
.optimization-guardrails li:first-child { border-top: 0; }
.optimization-guardrails strong { font-size: 12px; overflow-wrap: anywhere; }
.optimization-guardrails li > span { color: var(--muted); font-size: 12px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.optimization-parameter-list { display: flex; flex-wrap: wrap; gap: 4px; }
.optimization-parameter-list code { border: 1px solid var(--border); border-radius: 5px; background: var(--bg); padding: 1px 5px; font-size: 11px; overflow-wrap: anywhere; white-space: normal; }
.optimization-promotion { border-left: 4px solid var(--accent); }
.optimization-promotion-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); }
.optimization-promotion-values > div { min-width: 0; border-right: 1px solid var(--border); padding: 13px; }
.optimization-promotion-values > div:last-child { border-right: 0; }
.optimization-promotion-values dt { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.optimization-promotion-values dd { margin: 5px 0 0; overflow-wrap: anywhere; font-size: 20px; font-weight: 750; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.optimization-promotion-values dd small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 400; overflow-wrap: anywhere; }
.optimization-digest-list { display: grid; gap: 0; margin: 12px 0 0; }
.optimization-digest-list > div { display: grid; grid-template-columns: minmax(170px, 0.4fr) minmax(0, 1fr); gap: 12px; border-top: 1px solid var(--border); padding: 8px 0; }
.optimization-digest-list dt { color: var(--muted); font-size: 12px; font-weight: 700; }
.optimization-digest-list dd { margin: 0; overflow-wrap: anywhere; font-size: 12px; }
.optimization-refusal-reasons { display: grid; gap: 5px; margin: 0; padding: 0 0 0 2px; list-style: none; }
.optimization-refusal-reasons li { border-left: 3px solid var(--warning); padding-left: 9px; color: var(--text); font-size: 12px; line-height: 1.5; }
.optimization-instruction { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 14px; margin: 0 0 14px; border-left: 3px solid var(--blue); background: var(--blue-soft); padding: 11px 13px; }
.optimization-instruction .wide { grid-column: 1 / -1; }
.optimization-instruction dt { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.optimization-instruction dd { margin: 3px 0 0; overflow-wrap: anywhere; font-size: 12px; font-weight: 700; }
.optimization-advance form { display: grid; gap: 9px; max-width: 480px; }
.optimization-advance label { display: grid; gap: 5px; font-size: 12px; font-weight: 700; }
.optimization-advance input, .optimization-advance select { min-height: 44px; width: 100%; border: 1px solid var(--control-border); border-radius: 5px; background: var(--surface); padding: 7px 9px; color: var(--text); }
.optimization-advance form > p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.optimization-advance-actions { display: flex; flex-wrap: wrap; gap: 9px; }
@media (max-width: 1100px) {
  .optimization-layout { grid-template-columns: 1fr; }
  .optimization-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .optimization-control-grid > div:nth-child(2) { border-right: 0; }
  .optimization-control-grid > div:nth-child(-n + 2) { border-bottom: 1px solid var(--border); }
  .optimization-objective { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .optimization-objective > div:nth-child(2) { border-right: 0; }
  .optimization-objective > div:nth-child(-n + 2) { border-bottom: 1px solid var(--border); }
  .optimization-answer-context { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .optimization-answer-context > div:nth-child(2) { border-right: 0; }
  .optimization-answer-context > div:nth-child(-n + 2) { border-bottom: 1px solid var(--border); }
  .optimization-action-lifecycle { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .optimization-action-lifecycle li:nth-child(2n) { border-right: 0; }
  .optimization-action-lifecycle li { border-bottom: 1px solid var(--border); }
  .optimization-action-lifecycle li:last-child { border-bottom: 0; }
}
@media (max-width: 650px) {
  .challenger-handoff { align-items: stretch; flex-direction: column; padding: 16px; }
  .challenger-handoff-loading, .challenger-handoff-failure, .challenger-handoff-result { display: grid; grid-template-columns: auto minmax(0, 1fr); }
  .challenger-handoff-result .challenger-handoff-actions { grid-column: 1 / -1; }
  .challenger-handoff-columns { grid-template-columns: 1fr; }
  .challenger-handoff-columns dl > div, .challenger-handoff-evidence dl > div { grid-template-columns: 1fr; gap: 3px; }
  .challenger-authority-sequence { grid-template-columns: 1fr; gap: 8px; }
  .challenger-authority-sequence li { border-top: 0; border-left: 3px solid var(--border); padding: 2px 0 2px 10px; }
  .challenger-authority-sequence li[data-current="true"] { border-color: var(--blue); }
  .challenger-handoff-actions > a { width: 100%; justify-content: center; }
  .optimization-control-grid { grid-template-columns: 1fr; }
  .optimization-control-grid > div { border-right: 0; border-bottom: 1px solid var(--border); }
  .optimization-control-grid > div:last-child { border-bottom: 0; }
  .optimization-objective, .optimization-promotion-values { grid-template-columns: 1fr; }
  .optimization-objective > div, .optimization-promotion-values > div { border-right: 0; border-bottom: 1px solid var(--border); }
  .optimization-objective > div:last-child, .optimization-promotion-values > div:last-child { border-bottom: 0; }
  .optimization-instruction { grid-template-columns: 1fr; }
  .optimization-digest-list > div { grid-template-columns: 1fr; gap: 3px; }
  .optimization-bracket { grid-auto-columns: minmax(190px, 85%); }
  .optimization-answer-heading { align-items: stretch; flex-direction: column; }
  .optimization-answer-context,
  .optimization-action-lifecycle { grid-template-columns: 1fr; }
  .optimization-answer-context > div,
  .optimization-action-lifecycle li { border-right: 0; border-bottom: 1px solid var(--border); }
  .optimization-answer-context > div:last-child,
  .optimization-action-lifecycle li:last-child { border-bottom: 0; }
  .optimization-cycle-candidates li,
  .optimization-control-groups > section { grid-template-columns: 1fr; }
  .optimization-control-groups .optimization-control-actions { justify-content: flex-start; }
  .optimization-answer-actions > a,
  .optimization-control-groups button { justify-content: center; width: 100%; }
}

/* Qualification campaign and authoritative workload-answer surfaces. */
.qualification-workspace { max-width: 1480px; }
.qualification-mode { display: flex; align-items: center; gap: 5px; width: fit-content; max-width: 100%; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); padding: 5px; }
.qualification-mode > span { padding: 0 8px; color: var(--muted); font-size: 12px; font-weight: 700; }
.qualification-mode a { min-height: 44px; display: inline-flex; align-items: center; border-radius: 5px; padding: 0 12px; color: var(--muted); font-size: 13px; font-weight: 700; text-decoration: none; }
.qualification-mode a:hover { background: var(--bg); color: var(--text); }
.qualification-mode a[aria-current="page"] { background: var(--accent-soft); color: var(--accent); }
.qualification-perspective { display: grid; gap: 2px; border-left: 3px solid var(--blue); padding: 3px 0 3px 12px; }
.qualification-perspective strong { font-size: 13px; }
.qualification-perspective span { max-width: 1020px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.qualification-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: var(--muted); font-size: 13px; }
.qualification-breadcrumb a { min-height: 44px; display: inline-flex; align-items: center; color: var(--blue); }
.qualification-breadcrumb span:last-child { overflow-wrap: anywhere; color: var(--text); font-weight: 700; }
.qualification-scope, .qualification-campaign-heading { min-width: 0; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); align-items: end; gap: 28px; border-bottom: 1px solid var(--border); padding: 5px 0 22px; }
.qualification-scope p, .qualification-campaign-heading p, .qualification-section-heading p, .qualification-campaign-answer > div > p, .qualification-selected p, .qualification-campaign-list li > div > p { margin: 0; color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.qualification-scope h2, .qualification-campaign-heading h2 { margin: 5px 0 0; overflow-wrap: anywhere; font-size: clamp(23px, 2.5vw, 32px); line-height: 1.2; letter-spacing: -.02em; }
.qualification-scope > div > span, .qualification-campaign-heading > div > span { display: block; margin-top: 8px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.qualification-scope form { min-width: 0; display: grid; gap: 7px; }
.qualification-scope form > label, .qualification-filters label > span { color: var(--muted); font-size: 12px; font-weight: 700; }
.qualification-scope form > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.qualification-scope input, .qualification-filters input, .qualification-filters select { min-width: 0; min-height: 44px; width: 100%; border: 1px solid var(--control-border); border-radius: 5px; background: var(--surface); padding: 9px 11px; color: var(--text); font-size: 16px; }
.qualification-scope .primary-button { min-height: 44px; }
.qualification-workspace .secondary-button { min-height: 44px; }
.qualification-loading, .qualification-failure, .qualification-empty { min-height: 190px; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 18px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 24px; }
.qualification-loading { grid-template-columns: 32px minmax(0, 1fr); }
.qualification-loading > svg, .qualification-empty > svg { color: var(--muted); }
.qualification-failure { align-items: start; grid-template-columns: 32px minmax(0, 1fr); border-color: var(--warning); }
.qualification-failure > svg { color: var(--warning); }
.qualification-loading strong, .qualification-loading span, .qualification-empty h2, .qualification-empty p, .qualification-failure h2, .qualification-failure p { display: block; margin: 0; }
.qualification-loading span, .qualification-empty p, .qualification-failure p { margin-top: 5px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.qualification-failure h2, .qualification-empty h2 { font-size: 19px; }
.qualification-failure details { margin-top: 12px; color: var(--muted); font-size: 12px; }
.qualification-failure code { overflow-wrap: anywhere; }
.qualification-failure button { margin-top: 14px; }
.qualification-section-heading { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.qualification-section-heading > div { min-width: 0; }
.qualification-section-heading h2, .qualification-section-heading h3 { margin: 4px 0 0; font-size: 20px; line-height: 1.3; }
.qualification-section-heading > div > span { display: block; max-width: 920px; margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.qualification-section-heading > strong, .qualification-section-heading > span { flex: 0 0 auto; color: var(--muted); font-size: 12px; font-weight: 700; }
.qualification-campaign-list { display: grid; gap: 14px; }
.qualification-campaign-list > ol { display: grid; gap: 0; margin: 0; border: 1px solid var(--border); border-radius: 8px; padding: 0; background: var(--surface); list-style: none; }
.qualification-campaign-list > ol > li { min-width: 0; display: grid; grid-template-columns: minmax(230px, .8fr) minmax(0, 1.5fr) auto; align-items: center; gap: 20px; border-top: 1px solid var(--border); padding: 18px; }
.qualification-campaign-list > ol > li:first-child { border-top: 0; }
.qualification-campaign-list h3 { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 17px; }
.qualification-campaign-list h3 a { min-height: 44px; display: inline-flex; align-items: center; color: var(--text); }
.qualification-campaign-list li > div > span { display: block; margin-top: 5px; color: var(--muted); font-size: 13px; }
.qualification-campaign-list dl, .qualification-campaign-heading dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.qualification-campaign-list dl > div, .qualification-campaign-heading dl > div { min-width: 0; border-left: 1px solid var(--border); padding: 2px 12px; }
.qualification-campaign-list dt, .qualification-campaign-heading dt, .qualification-point-facts dt, .qualification-coverage dt, .qualification-campaign-answer dt { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.qualification-campaign-list dd, .qualification-campaign-heading dd, .qualification-point-facts dd, .qualification-coverage dd, .qualification-campaign-answer dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 13px; font-weight: 700; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.qualification-campaign-heading { align-items: start; }
.qualification-campaign-heading dl { grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--border); background: var(--surface); }
.qualification-campaign-heading dl > div { border-left: 0; border-top: 1px solid var(--border); padding: 12px; }
.qualification-campaign-heading dl > div:nth-child(-n+2) { border-top: 0; }
.qualification-campaign-heading dl > div:nth-child(2n) { border-left: 1px solid var(--border); }
.qualification-stale { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; border: 1px solid var(--warning); border-radius: 7px; background: var(--warning-soft); padding: 14px 16px; }
.qualification-stale > svg { color: var(--warning); }
.qualification-stale strong, .qualification-stale span { display: block; }
.qualification-stale strong { color: var(--warning); }
.qualification-stale span { margin-top: 3px; color: var(--muted); font-size: 13px; }
.qualification-coverage { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.qualification-coverage > dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin: 0; }
.qualification-coverage dl > div { min-width: 0; border-left: 1px solid var(--border); padding: 14px 16px; }
.qualification-coverage dl > div:first-child { border-left: 0; }
.qualification-coverage dd { font-size: 18px; }
.qualification-coverage dd small { display: block; max-width: 340px; margin-top: 5px; color: var(--muted); font-size: 11px; font-weight: 400; line-height: 1.45; }
.qualification-coverage > p { margin: 0; border-top: 1px solid var(--border); padding: 11px 16px; color: var(--muted); font-size: 12px; }
.qualification-coverage > p code, .qualification-reasons p code { display: inline-block; margin: 2px 3px; }
/* Warning callout on the theme tokens: the light pairing (#b45309 on #fff7e8)
   and the dark pairing (#f4b860 on #3b2a16) are both gated at >= 4.5:1 by
   design-token-contrast.test.ts. Hardcoded light hexes here previously shipped
   a cream callout into the dark app (#835). */
.qualification-blocker-summary { display: grid; grid-template-columns: minmax(250px, .9fr) minmax(320px, 1.1fr); gap: 12px 22px; border-top: 1px solid var(--border); border-left: 4px solid var(--warning); background: var(--warning-soft); padding: 14px 16px 14px 12px; }
.qualification-blocker-summary strong { display: block; color: var(--warning); font-size: 14px; line-height: 1.4; }
.qualification-blocker-summary > div > span { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.qualification-blocker-summary ul { display: grid; align-content: start; gap: 7px; margin: 0; padding: 0; list-style: none; }
.qualification-blocker-summary li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 8px; font-size: 12px; line-height: 1.5; }
.qualification-blocker-summary code { border: 1px solid var(--border); border-radius: 4px; background: var(--surface); padding: 1px 6px; color: var(--muted); font-size: 10.5px; }
.qualification-scenario { min-width: 0; display: grid; gap: 18px; }
.qualification-scenario + .qualification-scenario { border-top: 1px solid var(--border); padding-top: 28px; }
.qualification-campaign-answer { min-width: 0; display: grid; grid-template-columns: 44px minmax(0, 1fr) minmax(230px, .45fr); gap: 16px; border: 1px solid var(--border); border-top: 4px solid var(--muted); border-radius: 8px; background: var(--surface); padding: 20px; }
.qualification-campaign-answer[data-tone="positive"] { border-top-color: var(--accent); }
.qualification-campaign-answer[data-tone="warning"] { border-top-color: var(--warning); }
.qualification-campaign-answer[data-tone="blocked"] { border-top-color: var(--danger); }
.qualification-campaign-answer-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--bg); color: var(--muted); }
.qualification-campaign-answer[data-tone="positive"] .qualification-campaign-answer-icon { color: var(--accent); }
.qualification-campaign-answer[data-tone="warning"] .qualification-campaign-answer-icon { color: var(--warning); }
.qualification-campaign-answer[data-tone="blocked"] .qualification-campaign-answer-icon { color: var(--danger); }
.qualification-campaign-answer h2 { margin: 5px 0 0; font-size: clamp(23px, 2.4vw, 31px); line-height: 1.2; letter-spacing: -.02em; }
.qualification-campaign-answer > div > span { display: block; max-width: 790px; margin-top: 8px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.qualification-campaign-answer > dl { display: grid; align-content: start; gap: 12px; margin: 0; border-left: 1px solid var(--border); padding-left: 16px; }
.qualification-campaign-answer-reasons { display: grid; gap: 6px; margin: 12px 0 0; padding: 0; list-style: none; }
.qualification-campaign-answer-reasons li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 8px; font-size: 12.5px; line-height: 1.45; }
.qualification-campaign-answer-reasons code { border: 1px solid var(--border); border-radius: 4px; background: var(--bg); padding: 1px 6px; color: var(--muted); font-size: 10.5px; }
.qualification-selected { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; border: 1px solid var(--accent); border-radius: 8px; background: var(--accent-soft); padding: 17px; }
.qualification-selected > svg { color: var(--accent); }
.qualification-selected strong { display: block; margin-top: 3px; overflow-wrap: anywhere; font-size: 21px; }
.qualification-selected span { display: block; margin-top: 4px; color: var(--muted); font-size: 13px; }
.qualification-governance, .qualification-configurations { min-width: 0; display: grid; gap: 14px; }
.qualification-governance > dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.qualification-governance > dl > div { min-width: 0; border-top: 1px solid var(--border); border-left: 1px solid var(--border); padding: 14px; }
.qualification-governance > dl > div:nth-child(-n+3) { border-top: 0; }
.qualification-governance > dl > div:nth-child(3n+1) { border-left: 0; }
.qualification-governance dt { color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.qualification-governance dd { margin: 8px 0 0; }
.qualification-governance dd > strong, .qualification-governance dd > span { display: block; }
.qualification-governance dd > span { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.qualification-governance ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.qualification-governance li { display: grid; gap: 2px; }
.qualification-governance li code { overflow-wrap: anywhere; font-size: 11px; }
.qualification-governance li span { color: var(--muted); font-size: 12px; }
.qualification-governance [data-governed="missing"] { background: var(--warning-soft); }
.qualification-filters { min-width: 0; display: grid; grid-template-columns: minmax(220px, 1fr) minmax(180px, .5fr) minmax(220px, .8fr); align-items: end; gap: 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 13px; }
.qualification-filters label { min-width: 0; display: grid; gap: 5px; }
.qualification-filters p { min-height: 44px; display: flex; align-items: center; gap: 8px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.qualification-filter-notice { margin: 0; border: 1px solid var(--warning); border-radius: 6px; background: var(--warning-soft); padding: 10px 12px; font-size: 13px; }
.qualification-configuration-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.qualification-configuration { min-width: 0; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); overflow: hidden; }
.qualification-configuration > header { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 16px 18px; }
.qualification-configuration > header p { margin: 0; color: var(--muted); font-size: 11px; font-weight: 700; }
.qualification-configuration h4 { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 18px; }
.qualification-status-stack { flex: 0 0 auto; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.qualification-status, .qualification-currentness { min-height: 30px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--border); border-radius: 999px; padding: 4px 9px; color: var(--muted); font-size: 12px; font-weight: 700; white-space: nowrap; }
.qualification-status[data-tone="positive"], .qualification-currentness[data-currentness="current"] { border-color: var(--accent); color: var(--accent); }
.qualification-status[data-tone="blocked"] { border-color: var(--danger); color: var(--danger); }
.qualification-status[data-tone="warning"], .qualification-currentness[data-currentness="stale"] { border-color: var(--warning); color: var(--warning); }
.qualification-point-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--bg); }
.qualification-point-facts > div { min-width: 0; border-left: 1px solid var(--border); padding: 11px 14px; }
.qualification-point-facts > div:first-child { border-left: 0; }
.qualification-point-columns { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qualification-point-columns > section { min-width: 0; padding: 16px 18px; }
.qualification-point-columns > section + section { border-left: 1px solid var(--border); }
.qualification-point-columns h5, .qualification-reasons h5 { margin: 0 0 10px; font-size: 13px; }
.qualification-metric-list { display: grid; gap: 0; margin: 0; }
.qualification-metric-list > div { min-width: 0; display: grid; grid-template-columns: minmax(130px, .65fr) minmax(0, 1fr); gap: 12px; border-top: 1px solid var(--border); padding: 8px 0; }
.qualification-metric-list > div:first-child { border-top: 0; padding-top: 0; }
.qualification-metric-list dt { overflow-wrap: anywhere; color: var(--muted); font-size: 12px; }
.qualification-metric-list dd { margin: 0; }
.qualification-metric-list strong, .qualification-metric-list span { display: block; overflow-wrap: anywhere; }
.qualification-metric-list strong { font-size: 13px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.qualification-metric-list span { color: var(--muted); font-size: 11px; }
.qualification-limit-results { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.qualification-limit-results li { min-width: 0; display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 8px; border: 1px solid var(--border); border-radius: 5px; padding: 8px 10px; }
.qualification-limit-results li[data-passed="true"] > svg { color: var(--accent); }
.qualification-limit-results li[data-passed="false"] > svg { color: var(--danger); }
.qualification-limit-results strong, .qualification-limit-results small { display: block; overflow-wrap: anywhere; }
.qualification-limit-results strong { font-size: 12px; }
.qualification-limit-results small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.qualification-unavailable { margin: 0; color: var(--muted); font-size: 13px; }
.qualification-reasons { border-top: 1px solid var(--border); padding: 14px 18px; }
.qualification-reasons ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.qualification-reasons li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 8px; font-size: 12px; line-height: 1.5; }
.qualification-reasons li code { border: 1px solid var(--border); border-radius: 4px; background: var(--bg); padding: 1px 6px; color: var(--muted); font-size: 10.5px; }
.qualification-reasons p { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.qualification-evidence { border-top: 1px solid var(--border); padding: 12px 18px 15px; }
.qualification-evidence summary, .qualification-provenance summary { min-height: 44px; display: flex; align-items: center; color: var(--blue); font-size: 12px; font-weight: 700; }
.qualification-evidence > dl, .qualification-provenance > dl { display: grid; gap: 8px; margin: 8px 0 0; }
.qualification-evidence dl > div, .qualification-provenance dl > div { min-width: 0; display: grid; grid-template-columns: minmax(150px, .3fr) minmax(0, 1fr); gap: 12px; border-top: 1px solid var(--border); padding-top: 8px; }
.qualification-evidence dt, .qualification-provenance dt { color: var(--muted); font-size: 11px; font-weight: 700; }
.qualification-evidence dd, .qualification-provenance dd { min-width: 0; margin: 0; font-size: 12px; }
.qualification-evidence code, .qualification-provenance code { overflow-wrap: anywhere; }
.qualification-evidence ul { display: flex; flex-wrap: wrap; gap: 5px 12px; margin: 0; padding: 0; list-style: none; }
.qualification-evidence a { min-height: 44px; display: inline-flex; align-items: center; color: var(--blue); }
.qualification-local-empty { min-height: 150px; display: grid; place-items: center; align-content: center; gap: 5px; border: 1px dashed var(--border); border-radius: 8px; padding: 20px; text-align: center; }
.qualification-local-empty strong, .qualification-local-empty span { display: block; }
.qualification-local-empty span { color: var(--muted); font-size: 13px; }
.qualification-local-empty button { margin-top: 8px; }
.qualification-more { display: flex; align-items: center; justify-content: space-between; gap: 14px; border-top: 1px solid var(--border); padding-top: 12px; }
.qualification-more span { color: var(--muted); font-size: 12px; }
.qualification-provenance { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 12px 16px; }

@media (max-width: 1100px) {
  .qualification-scope, .qualification-campaign-heading { grid-template-columns: 1fr; align-items: start; }
  .qualification-campaign-list > ol > li { grid-template-columns: minmax(210px, .7fr) minmax(0, 1.3fr); }
  .qualification-campaign-list > ol > li > .secondary-button { grid-column: 1 / -1; justify-self: start; }
  .qualification-campaign-answer { grid-template-columns: 44px minmax(0, 1fr); }
  .qualification-campaign-answer > dl { grid-column: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 0; border-top: 1px solid var(--border); padding: 12px 0 0; }
  .qualification-governance > dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qualification-governance > dl > div, .qualification-governance > dl > div:nth-child(-n+3), .qualification-governance > dl > div:nth-child(3n+1) { border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
  .qualification-governance > dl > div:nth-child(-n+2) { border-top: 0; }
  .qualification-governance > dl > div:nth-child(2n+1) { border-left: 0; }
  .qualification-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qualification-filters p { grid-column: 1 / -1; }
}

@media (max-width: 800px) {
  .qualification-campaign-list > ol > li { grid-template-columns: 1fr; }
  .qualification-campaign-list > ol > li > .secondary-button { grid-column: auto; justify-self: stretch; text-align: center; }
  .qualification-campaign-list dl, .qualification-coverage > dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qualification-blocker-summary { grid-template-columns: 1fr; }
  .qualification-campaign-list dl > div, .qualification-coverage dl > div { border-top: 1px solid var(--border); border-left: 1px solid var(--border); padding: 10px; }
  .qualification-campaign-list dl > div:nth-child(-n+2), .qualification-coverage dl > div:nth-child(-n+2) { border-top: 0; }
  .qualification-campaign-list dl > div:nth-child(2n+1), .qualification-coverage dl > div:nth-child(2n+1) { border-left: 0; }
  .qualification-point-columns { grid-template-columns: 1fr; }
  .qualification-point-columns > section + section { border-top: 1px solid var(--border); border-left: 0; }
  .qualification-point-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qualification-point-facts > div { border-top: 1px solid var(--border); }
  .qualification-point-facts > div:nth-child(-n+2) { border-top: 0; }
  .qualification-point-facts > div:nth-child(2n+1) { border-left: 0; }
}

@media (max-width: 600px) {
  .qualification-mode { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .qualification-mode > span { grid-column: 1 / -1; padding: 3px 7px 0; }
  .qualification-mode a { min-height: 44px; justify-content: center; text-align: center; }
  .qualification-scope form > div, .qualification-filters, .qualification-governance > dl, .qualification-campaign-heading dl, .qualification-campaign-list dl, .qualification-coverage > dl, .qualification-point-facts { grid-template-columns: 1fr; }
  .qualification-scope .primary-button { width: 100%; }
  .qualification-loading, .qualification-failure, .qualification-empty { grid-template-columns: 32px minmax(0, 1fr); align-items: start; padding: 18px; }
  .qualification-empty > .secondary-button { grid-column: 1 / -1; width: 100%; text-align: center; }
  .qualification-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .qualification-campaign-heading dl > div, .qualification-campaign-heading dl > div:nth-child(-n+2), .qualification-campaign-heading dl > div:nth-child(2n), .qualification-campaign-list dl > div, .qualification-campaign-list dl > div:nth-child(-n+2), .qualification-campaign-list dl > div:nth-child(2n+1), .qualification-coverage dl > div, .qualification-coverage dl > div:nth-child(-n+2), .qualification-coverage dl > div:nth-child(2n+1), .qualification-point-facts > div, .qualification-point-facts > div:nth-child(-n+2), .qualification-point-facts > div:nth-child(2n+1) { border-top: 1px solid var(--border); border-left: 0; }
  .qualification-campaign-heading dl > div:first-child, .qualification-campaign-list dl > div:first-child, .qualification-coverage dl > div:first-child, .qualification-point-facts > div:first-child { border-top: 0; }
  .qualification-campaign-answer { grid-template-columns: 36px minmax(0, 1fr); padding: 16px; }
  .qualification-campaign-answer-icon { width: 34px; height: 34px; }
  .qualification-campaign-answer > dl { grid-template-columns: 1fr; }
  .qualification-governance > dl > div, .qualification-governance > dl > div:nth-child(-n+2), .qualification-governance > dl > div:nth-child(2n+1) { border-top: 1px solid var(--border); border-left: 0; }
  .qualification-governance > dl > div:first-child { border-top: 0; }
  .qualification-filters p { grid-column: auto; }
  .qualification-configuration > header { align-items: stretch; flex-direction: column; }
  .qualification-status-stack { justify-content: flex-start; }
  .qualification-status, .qualification-currentness { white-space: normal; }
  .qualification-more { align-items: stretch; flex-direction: column; }
  .qualification-metric-list > div, .qualification-evidence dl > div, .qualification-provenance dl > div { grid-template-columns: 1fr; gap: 3px; }
}

/* Default-on journey guidance. The closed control stays in normal document
   flow so it never covers a primary page action. */
.route-guidance { position: relative; z-index: 60; width: 100%; border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--surface) 94%, transparent); padding: 8px clamp(12px, 3vw, 28px); }
.guidance-info { min-width: 0; }
.guidance-info.dock { width: min(100%, 1480px); display: grid; justify-items: end; margin: 0 auto; }
.guidance-info.inline { position: relative; display: inline-flex; align-items: center; flex: 0 0 auto; }
.workflow-stage-title-line { min-width: 0; display: flex; align-items: center; gap: 8px; }
.workflow-stage-title-line h2 { min-width: 0; }
.guidance-trigger, .guidance-close, .guidance-restore, .guidance-preference-button { min-height: 44px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); color: var(--text); font: inherit; cursor: pointer; }
.guidance-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 7px 10px; color: var(--blue); font-size: 12px; font-weight: 750; }
.guidance-trigger:hover, .guidance-trigger:focus-visible, .guidance-close:hover, .guidance-close:focus-visible, .guidance-restore:hover, .guidance-restore:focus-visible, .guidance-preference-button:hover, .guidance-preference-button:focus-visible { border-color: var(--blue); }
.guidance-trigger[aria-expanded="true"] { border-color: var(--blue); background: var(--blue-soft); }
.guidance-info.inline .guidance-trigger { width: 44px; padding: 0; border-radius: 999px; }
.guidance-panel-position { position: fixed; z-index: 500; right: 20px; bottom: 20px; width: min(440px, calc(100vw - 32px)); }
.guidance-info.dock .guidance-panel-position { position: static; width: min(760px, 100%); margin-top: 8px; }
.guidance-panel { max-height: min(720px, calc(100vh - 32px)); overflow: auto; border: 1px solid var(--blue); border-radius: 10px; background: var(--surface); box-shadow: 0 18px 52px rgb(0 0 0 / .24); padding: 18px; color: var(--text); text-align: left; }
.guidance-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.guidance-panel-heading p { margin: 0; color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.guidance-panel-heading h2 { margin: 4px 0 0; font-size: 20px; line-height: 1.25; }
.guidance-close { width: 44px; display: grid; place-items: center; flex: 0 0 auto; padding: 0; }
.guidance-narrative { display: grid; gap: 0; margin: 16px 0 0; }
.guidance-narrative > div { display: grid; grid-template-columns: minmax(118px, .32fr) minmax(0, 1fr); gap: 14px; border-top: 1px solid var(--border); padding: 11px 0; }
.guidance-narrative dt { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.guidance-narrative dd { margin: 0; font-size: 14px; line-height: 1.5; }
.guidance-narrative dd > p { margin: 0; }
.guidance-narrative .guidance-useful-result { margin-top: 8px; color: var(--muted); }
.guidance-narrative .guidance-useful-result strong { color: var(--text); }
.guidance-details { margin-top: 4px; border-top: 1px solid var(--border); }
.guidance-details > summary { min-height: 44px; padding: 12px 0 10px; color: var(--blue); font-size: 13px; font-weight: 750; line-height: 1.45; cursor: pointer; }
.guidance-details > summary:focus-visible { border-radius: 4px; outline: 2px solid var(--blue); outline-offset: 2px; }
.guidance-details-body { display: grid; gap: 16px; padding: 8px 0 2px; }
.guidance-limits h3, .guidance-steps-section h3, .guidance-states h3 { margin: 0 0 8px; font-size: 14px; }
.guidance-limits p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.guidance-steps { display: grid; gap: 8px; margin: 6px 0 0; padding: 0; list-style: none; }
.guidance-steps li { min-width: 0; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; border: 1px solid var(--border); border-radius: 7px; padding: 10px; }
.guidance-steps li > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 999px; background: var(--blue-soft); color: var(--blue); font-size: 12px; font-weight: 800; }
.guidance-steps strong, .guidance-steps p { display: block; }
.guidance-steps strong { font-size: 13px; }
.guidance-steps p { margin: 3px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.guidance-states { margin-top: 0; }
.guidance-states ol { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.guidance-states li { min-width: 0; border-top: 1px solid var(--border); padding: 8px 0; font-size: 13px; line-height: 1.45; }
.guidance-preference-button { width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; padding: 8px 12px; color: var(--muted); font-size: 12px; font-weight: 700; }
.guidance-restore { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 8px clamp(12px, 3vw, 28px) 8px auto; padding: 7px 10px; color: var(--blue); font-size: 12px; font-weight: 750; }
.guidance-restore.inline { width: 44px; flex: 0 0 auto; margin: 0; padding: 0; border-radius: 999px; }

@media (max-width: 600px) {
  .route-guidance { padding: 7px 10px; }
  .guidance-info.dock .guidance-trigger { width: 100%; justify-content: flex-start; }
  .guidance-info.dock .guidance-panel-position { width: 100%; }
  .guidance-panel-position { right: 8px; bottom: 8px; width: calc(100vw - 16px); }
  .guidance-panel { max-height: calc(100vh - 16px); padding: 14px; }
  .guidance-narrative > div { grid-template-columns: 1fr; gap: 4px; }
  .guidance-restore:not(.inline) { width: calc(100% - 20px); margin: 7px 10px; }
}

@media print {
  .route-guidance, .guidance-restore, .guidance-info.inline, .guidance-panel-position { display: none !important; }
}

/* Continuous benchmark record: per-arm latest sealed result above each trend figure. */
.benchmark-trend { margin: 18px 0 6px; }
.benchmark-trend figcaption { margin-bottom: 8px; color: var(--text); }
.benchmark-trend-strip { display: flex; flex-wrap: wrap; gap: 10px 18px; list-style: none; margin: 0 0 10px; padding: 0; }
.benchmark-trend-strip li { display: flex; flex-direction: column; gap: 2px; min-width: 160px; font-size: 13px; color: var(--muted); }
.benchmark-trend-strip li strong { font-size: 18px; color: var(--text); font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.benchmark-trend-arm { font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; }

/* Continuous benchmark record: the observed measurement environment. */
.benchmark-environment { margin: 6px 0 14px; font-size: 13px; color: var(--muted); }
.benchmark-record-insights { margin: 18px 0 22px; }
.benchmark-record-insights .card-heading h3 { margin: 2px 0 0; font-size: 18px; line-height: 1.35; }
.benchmark-record-insights .summary-card { min-height: 176px; }

/* Continuous benchmark record: whether the measured stack moved between attempts. */
.benchmark-stack-change { color: var(--warning); font-size: 12px; }
.benchmark-stack-same { color: var(--muted); font-size: 12px; }

/* How much of the record is joined to physical identity. Product, not caveat. */
.benchmark-coverage { margin: 0 0 18px; padding: 0; }
.benchmark-coverage figcaption { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; font-weight: 600; }
.benchmark-coverage figcaption span { font-weight: 400; font-size: 13px; color: var(--muted); max-width: 68ch; }
.benchmark-coverage ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.benchmark-coverage li { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1.4fr); gap: 10px; align-items: baseline; font-size: 13px; }
@media (max-width: 900px) { .benchmark-coverage li { grid-template-columns: 1fr; gap: 2px; } }
.benchmark-coverage-arm { font-weight: 600; overflow-wrap: anywhere; }
.benchmark-coverage-count,
.benchmark-coverage-observed,
.benchmark-coverage-sealed { font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; color: var(--muted); }

/* Attempts the record proves it never saw. */
.benchmark-gaps { margin: 0 0 18px; padding: 0; }
.benchmark-gaps figcaption { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; font-weight: 600; }
.benchmark-gaps figcaption span { font-weight: 400; font-size: 13px; color: var(--muted); max-width: 68ch; }
.benchmark-gaps p { font-size: 13px; color: var(--muted); margin: 0; max-width: 68ch; }
.benchmark-gaps ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.benchmark-gaps li { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border: 1px solid var(--warning); border-radius: 6px; font-size: 13px; }
.benchmark-gap-arm { font-weight: 600; color: var(--warning); }
.benchmark-gap-why,
.benchmark-gap-bracket { color: var(--muted); overflow-wrap: anywhere; }

/* Baselines the record drew for itself, with nobody declaring one. */
.benchmark-baselines { margin: 0 0 18px; padding: 0; }
.benchmark-baselines figcaption { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; font-weight: 600; }
.benchmark-baselines figcaption span { font-weight: 400; font-size: 13px; color: var(--muted); max-width: 68ch; }
.benchmark-baselines ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.benchmark-baselines li { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr); gap: 10px; align-items: baseline; padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px; font-size: 13px; }
@media (max-width: 900px) { .benchmark-baselines li { grid-template-columns: 1fr; gap: 3px; } }
.benchmark-baseline-arm { font-weight: 600; overflow-wrap: anywhere; }
/* Digits line up so two bands can be compared by eye, not by reading. */
.benchmark-baseline-band { font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.benchmark-baseline-epoch { color: var(--muted); overflow-wrap: anywhere; }
/* A duplicated series is a warning, not a second data point. */
.benchmark-baseline-mirrors { color: var(--warning); }
.benchmark-baseline-vsband { font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
/* Outside the band is drawn as ATTENTION, never as good or bad: half these
   arms are bandwidth and half are latency, so a green/red pair would be wrong
   on one of them whichever way round it went. */
.benchmark-baseline-above,
.benchmark-baseline-below { color: var(--warning); }
.benchmark-baseline-inside { color: var(--muted); }

/* Exact terminal-result evidence used by the issue #329 live browser proof. */
.issue329-evidence-surface { width: min(1180px, calc(100% - 32px)); margin: 24px auto; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); padding: clamp(16px, 3vw, 24px); box-shadow: 0 12px 32px rgb(0 0 0 / .12); }
.issue329-evidence-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.issue329-evidence-heading h2 { margin: 3px 0 0; font-size: clamp(20px, 3vw, 28px); }
.issue329-vision-boundary { max-width: 84ch; margin: 12px 0 18px; color: var(--muted); line-height: 1.55; }
.issue329-vision-boundary [data-piq-narrative-stage] { color: var(--text); }
.issue329-evidence-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.issue329-evidence-card { min-width: 0; border: 1px solid var(--border); border-radius: 8px; padding: 14px; background: var(--surface); overflow-wrap: anywhere; }
.issue329-evidence-card strong, .issue329-evidence-card > span { display: block; }
.issue329-evidence-label { margin-bottom: 8px; color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.issue329-evidence-card table { width: 100%; border-collapse: collapse; font-size: 13px; }
.issue329-evidence-card caption { margin-bottom: 8px; color: var(--text); font-weight: 700; text-align: left; }
.issue329-evidence-card th, .issue329-evidence-card td { border-top: 1px solid var(--border); padding: 7px 0; text-align: left; }
.issue329-evidence-card td { text-align: right; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.issue329-evidence-chart { display: grid; gap: 12px; }
.issue329-evidence-point { width: 44px; height: 44px; display: grid; place-items: center; border: 2px solid var(--blue); border-radius: 999px; background: var(--blue-soft); color: var(--text); font-weight: 800; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.issue329-evidence-tooltip { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.issue329-evidence-card a { display: inline-flex; margin-top: 10px; color: var(--blue); font-weight: 700; }

@media (max-width: 900px) {
  .issue329-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .issue329-evidence-surface { width: calc(100% - 20px); margin: 16px auto; padding: 14px; }
  .issue329-evidence-grid { grid-template-columns: 1fr; }
}

@media print {
  .issue329-evidence-surface { display: none !important; }
}

.surface-data-boundary { display: contents; }
.run-request-chart-grid > .surface-data-boundary[data-piq-surface-kind="data"] { display: grid; align-content: start; min-width: 0; }
.surface-demo-data { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-bottom: 12px; border: 1px solid color-mix(in srgb, var(--demo) 38%, var(--border)); border-radius: 6px; background: var(--demo-soft); padding: 8px 10px; color: var(--text); font-size: 12px; }
.surface-demo-data strong { flex: 0 0 auto; color: var(--demo); font-size: 11px; letter-spacing: .06em; }
.surface-demo-data span { color: var(--muted); }
.surface-live-reason { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 10px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.surface-live-state { display: inline-flex; align-items: center; min-height: 22px; border: 1px solid var(--border); border-radius: 999px; background: var(--bg); padding: 0 9px; color: var(--text); font-size: 11px; font-weight: 650; }
.surface-live-reason details { font-size: 11px; }
.surface-live-reason summary { cursor: pointer; color: var(--muted); }
.surface-live-reason code { color: var(--text); font-size: 11px; overflow-wrap: anywhere; }
/* A labeled placeholder is never styled like a measured value. */
.metric-placeholder { display: inline-block; padding: 2px 8px; border: 1px dashed var(--muted); border-radius: 6px; color: var(--muted); font-style: italic; font-weight: 600; }
.kpi-card strong.metric-placeholder { display: inline-block; font-size: 15px; }

.optimization-demo-live-state { margin: 0; border-left: 3px solid var(--border-strong); padding-left: 10px; color: var(--muted); font-size: 13px; }
.optimization-demo-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; border-bottom: 1px solid var(--border); padding-bottom: 8px; }
.optimization-demo-tabs button { border: 1px solid var(--border); border-radius: 999px; background: var(--surface); padding: 7px 12px; color: var(--muted); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.optimization-demo-tabs button[aria-selected="true"] { border-color: var(--demo); background: var(--demo-soft); color: var(--text); }
.optimization-demo-panel { min-height: 170px; padding-top: 16px; }
.optimization-demo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.optimization-demo-grid div { border: 1px solid var(--border); border-radius: 6px; padding: 10px; }
.optimization-demo-grid dt { color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.optimization-demo-grid dd { margin: 5px 0 0; font-size: 13px; }
.optimization-demo-candidates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0; list-style: none; }
.optimization-demo-candidates li { display: grid; gap: 4px; border: 1px solid var(--border); border-radius: 6px; padding: 10px; }
.optimization-demo-candidates span, .optimization-demo-note { color: var(--muted); font-size: 12px; }

.surface-live-state {
  color: var(--text-secondary);
  font-size: .75rem;
  line-height: 1.4;
}
.surface-kpi-demo {
  color: var(--text-secondary);
  font-size: .75rem;
  line-height: 1.4;
}
.surface-kpi-demo b {
  color: #edb65b;
  letter-spacing: .05em;
}

/* The workspace evidence context is one compact line at every width: the
   context lead, the evidence facts that fit, a text link to the charts and the
   compact trust-chain status. The full trust chain opens from that status. */
.global-context { flex-wrap: nowrap; }
.global-context-link { min-height: 44px; flex: 0 0 auto; display: inline-flex; align-items: center; color: var(--blue); font-size: 12px; font-weight: 650; white-space: nowrap; }
@media (max-width: 1100px) {
  .global-context { flex-wrap: nowrap; gap: 12px; }
  .global-context-receipt { flex: 1 1 auto; flex-basis: auto; max-width: none; margin-left: auto; }
}
@media (max-width: 800px) {
  .global-context { flex-wrap: nowrap; align-items: center; }
  .global-context > dl > div:not(:first-child) { display: none; }
  .global-context-link { display: none; }
}
@media (max-width: 600px) {
  .global-context-receipt > .trust-chain > summary { grid-template-columns: auto minmax(0, 1fr) auto auto; }
  .global-context-receipt .trust-chain-summary-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .global-context-receipt .trust-chain-status { grid-column: 3; grid-row: 1; justify-self: end; }
  .global-context-receipt .trust-chain-chevron { grid-column: 4; grid-row: 1; }
}

