/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Inter","arguments":[{"subsets":["latin"],"weight":["400","500","600","700"],"display":"swap","variable":"--font-sans-loaded"}],"variableName":"inter"} ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/ba9851c3c22cd980-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/8e9860b6e62d6359-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/ba9851c3c22cd980-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/8e9860b6e62d6359-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/ba9851c3c22cd980-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/8e9860b6e62d6359-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/ba9851c3c22cd980-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/8e9860b6e62d6359-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Inter_8b3a0b';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Inter_Fallback_8b3a0b';src: local("Arial");ascent-override: 90.49%;descent-override: 22.56%;line-gap-override: 0.00%;size-adjust: 107.06%
}.__className_8b3a0b {font-family: '__Inter_8b3a0b', '__Inter_Fallback_8b3a0b';font-style: normal
}.__variable_8b3a0b {--font-sans-loaded: '__Inter_8b3a0b', '__Inter_Fallback_8b3a0b'
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"EB_Garamond","arguments":[{"subsets":["latin"],"weight":["400","500","600"],"style":["normal","italic"],"display":"swap","variable":"--font-display-loaded"}],"variableName":"ebGaramond"} ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/38d2ad5ff295456b-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/d0f9686aa1d87075-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/7cca5b7fafd5ba4d-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/c1930cc46295bf92-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/e6aa852f4bbfb242-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/78c8ae6f07320bcf-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/33b26eb373ecdf02-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/38d2ad5ff295456b-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/d0f9686aa1d87075-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/7cca5b7fafd5ba4d-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/c1930cc46295bf92-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/e6aa852f4bbfb242-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/78c8ae6f07320bcf-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/33b26eb373ecdf02-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/38d2ad5ff295456b-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/d0f9686aa1d87075-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/7cca5b7fafd5ba4d-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/c1930cc46295bf92-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/e6aa852f4bbfb242-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/78c8ae6f07320bcf-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/33b26eb373ecdf02-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/d7b29b398dd797a1-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/65303d7bdb6c1b1a-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/891631c764a307b2-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/73b9b49ded63c2ac-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/59be34f4d8f1ff65-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/39a40c15606bb1f5-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/23081e227a96aa1a-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/d7b29b398dd797a1-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/65303d7bdb6c1b1a-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/891631c764a307b2-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/73b9b49ded63c2ac-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/59be34f4d8f1ff65-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/39a40c15606bb1f5-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/23081e227a96aa1a-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/d7b29b398dd797a1-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/65303d7bdb6c1b1a-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/891631c764a307b2-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/73b9b49ded63c2ac-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/59be34f4d8f1ff65-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/39a40c15606bb1f5-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__EB_Garamond_ce5c51';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/23081e227a96aa1a-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__EB_Garamond_Fallback_ce5c51';src: local("Times New Roman");ascent-override: 106.26%;descent-override: 31.44%;line-gap-override: 0.00%;size-adjust: 94.77%
}.__className_ce5c51 {font-family: '__EB_Garamond_ce5c51', '__EB_Garamond_Fallback_ce5c51'
}.__variable_ce5c51 {--font-display-loaded: '__EB_Garamond_ce5c51', '__EB_Garamond_Fallback_ce5c51'
}

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

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Poppins","arguments":[{"subsets":["latin"],"weight":["400","500","600","700"],"display":"swap","variable":"--font-poppins"}],"variableName":"poppins"} ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* devanagari */
@font-face {
  font-family: '__Poppins_6bee3b';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/034d78ad42e9620c-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Poppins_6bee3b';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/fe0777f1195381cb-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Poppins_6bee3b';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/eafabf029ad39a43-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: '__Poppins_6bee3b';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/db911767852bc875-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Poppins_6bee3b';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/f10b8e9d91f3edcb-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Poppins_6bee3b';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/8888a3826f4a3af4-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: '__Poppins_6bee3b';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/29e7bbdce9332268-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Poppins_6bee3b';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/c3bc380753a8436c-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Poppins_6bee3b';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/0484562807a97172-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: '__Poppins_6bee3b';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/29a4aea02fdee119-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Poppins_6bee3b';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/a1386beebedccca4-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Poppins_6bee3b';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/b957ea75a84b6ea7-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Poppins_Fallback_6bee3b';src: local("Arial");ascent-override: 93.62%;descent-override: 31.21%;line-gap-override: 8.92%;size-adjust: 112.16%
}.__className_6bee3b {font-family: '__Poppins_6bee3b', '__Poppins_Fallback_6bee3b';font-style: normal
}.__variable_6bee3b {--font-poppins: '__Poppins_6bee3b', '__Poppins_Fallback_6bee3b'
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Cormorant_Garamond","arguments":[{"subsets":["latin"],"weight":["400","500","600","700"],"style":["normal","italic"],"display":"swap","variable":"--font-cormorant"}],"variableName":"cormorantGaramond"} ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/fd3893c623c32b6d-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/ea896c3885e026c1-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/024ead497118aa23-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/e74f24ed7f0e4323-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/e18f83c737786aa7-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/fd3893c623c32b6d-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/ea896c3885e026c1-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/024ead497118aa23-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/e74f24ed7f0e4323-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/e18f83c737786aa7-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/fd3893c623c32b6d-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/ea896c3885e026c1-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/024ead497118aa23-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/e74f24ed7f0e4323-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/e18f83c737786aa7-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/fd3893c623c32b6d-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/ea896c3885e026c1-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/024ead497118aa23-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/e74f24ed7f0e4323-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/e18f83c737786aa7-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/393d45a2251e223a-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/8715d2ed531152f4-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/48410f3df60da620-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/393d45a2251e223a-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/8715d2ed531152f4-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/48410f3df60da620-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/393d45a2251e223a-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/8715d2ed531152f4-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/48410f3df60da620-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/393d45a2251e223a-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/8715d2ed531152f4-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/48410f3df60da620-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Cormorant_Garamond_e9ff3d';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Cormorant_Garamond_Fallback_e9ff3d';src: local("Times New Roman");ascent-override: 95.27%;descent-override: 29.59%;line-gap-override: 0.00%;size-adjust: 96.98%
}.__className_e9ff3d {font-family: '__Cormorant_Garamond_e9ff3d', '__Cormorant_Garamond_Fallback_e9ff3d'
}.__variable_e9ff3d {--font-cormorant: '__Cormorant_Garamond_e9ff3d', '__Cormorant_Garamond_Fallback_e9ff3d'
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Playfair_Display","arguments":[{"subsets":["latin"],"weight":["400","500","600","700"],"style":["normal","italic"],"display":"swap","variable":"--font-playfair"}],"variableName":"playfairDisplay"} ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/19150647d2c2f572-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/000030d1699f2fb3-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/1926da171a0ba1a5-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/19150647d2c2f572-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/000030d1699f2fb3-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/1926da171a0ba1a5-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/19150647d2c2f572-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/000030d1699f2fb3-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/1926da171a0ba1a5-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/19150647d2c2f572-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/000030d1699f2fb3-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/1926da171a0ba1a5-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/47f136985ef5b5cb-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/28a2004cf8372660-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/47f136985ef5b5cb-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/28a2004cf8372660-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/47f136985ef5b5cb-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/28a2004cf8372660-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/47f136985ef5b5cb-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/28a2004cf8372660-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Playfair_Display_745915';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Playfair_Display_Fallback_745915';src: local("Times New Roman");ascent-override: 97.25%;descent-override: 22.56%;line-gap-override: 0.00%;size-adjust: 111.26%
}.__className_745915 {font-family: '__Playfair_Display_745915', '__Playfair_Display_Fallback_745915'
}.__variable_745915 {--font-playfair: '__Playfair_Display_745915', '__Playfair_Display_Fallback_745915'
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/styles/tokens.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ============================================================================
 * GENERATED FILE — DO NOT EDIT BY HAND.
 * Source of truth: packages/blocks/src/themes/tokens.source.ts
 * Regenerate:      pnpm --filter @saia/blocks gen:tokens
 * Drift guard:     pnpm --filter @saia/blocks check:tokens
 * ========================================================================== */

/*
 * Mission Control — Design Tokens (static fallback for every theme).
 *
 * The live app-wide theme comes from the active `theme` DB row, injected
 * by app/src/app/layout.tsx as BOTH a `:root` (light) and a
 * `:root[data-theme="dark"]` (dark) rule. These static `:root` +
 * `[data-theme="<name>"]` values are the pre-DB fallback and the per-page
 * provider input. ThemeToggle still flips the `data-theme` attribute.
 */

/* Default theme: editorial */
:root,
[data-theme='editorial'] {
  /* Surfaces */
  --canvas:        #FAF6EE;
  --paper:         #FFFFFF;
  --paper-alt:     #F4EFE3;
  --paper-sunk:    #ECE6D5;
  --hairline:      #D8CFB6;
  --hairline-soft: #E6DFCB;

  /* Ink */
  --ink:         #1A1612;
  --ink-soft:    #3D342A;
  --ink-mute:    #6B6258;
  --ink-faint:   #A39787;
  --nav-dark:    #0F172A;
  --nav-band:    #1E293B;
  --utility-bar: #334155;

  /* Gold */
  --gold:        #A68230;
  --gold-strong: #6B4F10;
  --gold-soft:   #F2E9D3;
  --gold-line:   rgba(166,130,48,0.45);
  --gold-shadow: rgba(166,130,48,0.28);
  --gold-wash:   rgba(166,130,48,0.06);
  --gold-glow:   rgba(166,130,48,0.12);

  /* Accent */
  --accent:        #7A2E22;
  --accent-strong: #5D2018;
  --accent-soft:   #F1DCD7;
  --accent-line:   rgba(122,46,34,0.32);

  /* Status */
  --ok:            #4A6E2E;
  --ok-soft:       #E6EDD7;
  --warn:          #B5821C;
  --warn-soft:     #F6E6BE;
  --critical:      #A0382B;
  --critical-soft: #F2DAD6;
  --info:          #3C5F7F;
  --info-soft:     #E1ECF4;
  --offline:       #8A7E6E;
  --offline-soft:  #E8DFCD;

  /* Status tints */
  --status-ok-tint:       rgba(74, 110, 46, 0.32);
  --status-ok-wash:       rgba(74, 110, 46, 0.08);
  --status-warn-tint:     rgba(181, 130, 28, 0.40);
  --status-warn-wash:     rgba(181, 130, 28, 0.06);
  --status-critical-tint: rgba(160, 56, 43, 0.40);
  --status-critical-wash: rgba(160, 56, 43, 0.08);
  --status-info-tint:     rgba(60, 95, 127, 0.32);
  --status-info-wash:     rgba(60, 95, 127, 0.08);

  /* Overlays */
  --overlay-ink-soft:      rgba(26, 22, 18, 0.06);
  --overlay-ink-faint:     rgba(26, 22, 18, 0.04);
  --overlay-accent:        rgba(122, 46, 34, 0.15);
  --shadow-knob:           0 1px 2px rgba(26, 22, 18, 0.15);
  --scrim:                 rgba(31, 26, 21, 0.55);
  --image-scrim-strong:    rgba(26, 22, 18, 0.80);
  --image-scrim-soft:      rgba(26, 22, 18, 0.30);
  --canvas-on-dark:        rgba(255, 255, 255, 0.15);
  --canvas-on-dark-strong: rgba(255, 255, 255, 0.20);
  --canvas-on-dark-wash:   rgba(255, 255, 255, 0.08);
  --canvas-on-dark-mute:   rgba(255, 255, 255, 0.60);

  /* Series */
  --series-1: #2A231B;
  --series-2: #A68230;
  --series-3: #5689B6;
  --series-4: #4A6E2E;
  --series-5: #7E5BA8;
  --series-6: #7A2E22;

  /* Typography */
  --font-display: Georgia, "EB Garamond", "Cormorant Garamond", "Times New Roman", serif;
  --font-serif:   Georgia, "EB Garamond", "Cormorant Garamond", "Times New Roman", serif;
  --font-sans:    Poppins, ui-sans-serif, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-mono:    "Courier New", monospace;

  /* Radii */
  --radius:       0px;
  --radius-sharp: 0;
  --radius-input: 0;
  --radius-card:  0;
  --radius-pill:  999px;

  /* Shadows */
  --shadow-card:   0 1px 2px rgba(26,22,18,0.06), 0 4px 12px rgba(26,22,18,0.04);
  --shadow-lifted: 0 12px 32px rgba(26,22,18,0.12), 0 4px 12px rgba(26,22,18,0.06);
  --shadow-focus:  0 0 0 3px var(--gold-shadow);

  /* Shadows (spec) */
  --shadow-sm:   0 1px 2px rgb(26 22 18 / 0.06);
  --shadow-md:   0 4px 12px -2px rgb(26 22 18 / 0.08), 0 2px 6px -2px rgb(26 22 18 / 0.04);
  --shadow-lg:   0 12px 32px -4px rgb(26 22 18 / 0.12), 0 4px 12px -2px rgb(26 22 18 / 0.06);
  --shadow-xl:   0 32px 64px -8px rgb(26 22 18 / 0.18), 0 12px 32px -4px rgb(26 22 18 / 0.10);
  --shadow-glow: 0 0 0 1px rgb(166 130 48 / 0.3), 0 8px 24px -4px rgb(166 130 48 / 0.20);

  /* Motion */
  --ease:          cubic-bezier(0.2, 0.65, 0.3, 1);
  --duration-fast: 120ms;
  --duration-base: 240ms;
  --duration-slow: 400ms;

  /* Spacing rhythm */
  --space-tight:   8px;
  --space:         16px;
  --space-loose:   24px;
  --space-section: 48px;

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  /* Rule */
  --rule: 1px;

  /* Layout */
  --container-max: 1320px;
  --shell-pad:     16px;
  --sidebar-w:     232px;

  /* SAIA colours (rgb triplets) */
  --color-canvas:        250 246 238;
  --color-paper:         255 255 255;
  --color-ink:           26 22 18;
  --color-ink-mute:      107 98 88;
  --color-accent:        166 130 48;
  --color-accent-strong: 107 79 16;
  --color-edge:          216 207 182;
  --color-surface:       15 23 42;
  --color-surface-ink:   250 246 238;
}

/* Coastal — light */
[data-theme='coastal'] {
  /* Surfaces */
  --canvas:        #F7F9F8;
  --paper:         #FFFFFF;
  --paper-alt:     #F0F3F1;
  --paper-sunk:    #E8EDEA;
  --hairline:      #DDE5E2;
  --hairline-soft: #EAF0ED;

  /* Ink */
  --ink:         #1F2D2A;
  --ink-soft:    #3A4A46;
  --ink-mute:    #6A7A75;
  --ink-faint:   #9AA8A3;
  --nav-dark:    #E8C9A6;
  --nav-band:    #D9B58F;
  --utility-bar: #C9A07A;

  /* Gold */
  --gold:        #5DA9A1;
  --gold-strong: #2F6C66;
  --gold-soft:   #D6EAE7;
  --gold-line:   rgba(93,169,161,0.45);
  --gold-shadow: rgba(93,169,161,0.28);
  --gold-wash:   rgba(93,169,161,0.06);
  --gold-glow:   rgba(93,169,161,0.12);

  /* Accent */
  --accent:        #2F6C66;
  --accent-strong: #1F4D48;
  --accent-soft:   #D6EAE7;
  --accent-line:   rgba(47,108,102,0.32);

  /* Status */
  --ok:            #4A6E2E;
  --ok-soft:       #E6EDD7;
  --warn:          #B5821C;
  --warn-soft:     #F6E6BE;
  --critical:      #A0382B;
  --critical-soft: #F2DAD6;
  --info:          #3C5F7F;
  --info-soft:     #E1ECF4;
  --offline:       #8A7E6E;
  --offline-soft:  #E8DFCD;

  /* Status tints */
  --status-ok-tint:       rgba(74, 110, 46, 0.32);
  --status-ok-wash:       rgba(74, 110, 46, 0.08);
  --status-warn-tint:     rgba(181, 130, 28, 0.40);
  --status-warn-wash:     rgba(181, 130, 28, 0.06);
  --status-critical-tint: rgba(160, 56, 43, 0.40);
  --status-critical-wash: rgba(160, 56, 43, 0.08);
  --status-info-tint:     rgba(60, 95, 127, 0.32);
  --status-info-wash:     rgba(60, 95, 127, 0.08);

  /* Overlays */
  --overlay-ink-soft:      rgba(31, 45, 42, 0.06);
  --overlay-ink-faint:     rgba(31, 45, 42, 0.04);
  --overlay-accent:        rgba(47, 108, 102, 0.15);
  --shadow-knob:           0 1px 2px rgba(31, 45, 42, 0.15);
  --scrim:                 rgba(31, 45, 42, 0.55);
  --image-scrim-strong:    rgba(31, 45, 42, 0.80);
  --image-scrim-soft:      rgba(31, 45, 42, 0.30);
  --canvas-on-dark:        rgba(255, 255, 255, 0.15);
  --canvas-on-dark-strong: rgba(255, 255, 255, 0.20);
  --canvas-on-dark-wash:   rgba(255, 255, 255, 0.08);
  --canvas-on-dark-mute:   rgba(255, 255, 255, 0.60);

  /* Series */
  --series-1: #1F2D2A;
  --series-2: #5DA9A1;
  --series-3: #5689B6;
  --series-4: #4A6E2E;
  --series-5: #7E5BA8;
  --series-6: #C9A07A;

  /* Typography */
  --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-serif:   "Cormorant Garamond", Georgia, serif;
  --font-sans:    Inter, ui-sans-serif, -apple-system, "Helvetica Neue", sans-serif;
  --font-mono:    "JetBrains Mono", "Courier New", monospace;

  /* Radii */
  --radius:       4px;
  --radius-sharp: 0;
  --radius-input: 4px;
  --radius-card:  8px;
  --radius-pill:  999px;

  /* Shadows */
  --shadow-card:   0 1px 2px rgba(31,45,42,0.06), 0 4px 16px rgba(31,45,42,0.08);
  --shadow-lifted: 0 12px 36px rgba(31,45,42,0.12), 0 4px 12px rgba(93,169,161,0.08);
  --shadow-focus:  0 0 0 3px var(--gold-shadow);

  /* Shadows (spec) */
  --shadow-sm:   0 1px 2px rgb(31 45 42 / 0.06);
  --shadow-md:   0 4px 16px -2px rgb(31 45 42 / 0.08), 0 2px 6px -2px rgb(31 45 42 / 0.04);
  --shadow-lg:   0 12px 36px -4px rgb(31 45 42 / 0.12), 0 4px 12px -2px rgb(93 169 161 / 0.08);
  --shadow-xl:   0 32px 72px -8px rgb(31 45 42 / 0.16), 0 12px 32px -4px rgb(93 169 161 / 0.10);
  --shadow-glow: 0 0 0 1px rgb(93 169 161 / 0.3), 0 8px 24px -4px rgb(93 169 161 / 0.25);

  /* Motion */
  --ease:          cubic-bezier(0.2, 0.65, 0.3, 1);
  --duration-fast: 120ms;
  --duration-base: 240ms;
  --duration-slow: 400ms;

  /* Spacing rhythm */
  --space-tight:   8px;
  --space:         16px;
  --space-loose:   24px;
  --space-section: 48px;

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  /* Rule */
  --rule: 1px;

  /* Layout */
  --container-max: 1320px;
  --shell-pad:     16px;
  --sidebar-w:     232px;

  /* SAIA colours (rgb triplets) */
  --color-canvas:        247 249 248;
  --color-paper:         255 255 255;
  --color-ink:           31 45 42;
  --color-ink-mute:      106 122 117;
  --color-accent:        93 169 161;
  --color-accent-strong: 47 108 102;
  --color-edge:          221 229 226;
  --color-surface:       232 201 166;
  --color-surface-ink:   31 45 42;
}

/* Nautical — dark */
[data-theme='nautical'] {
  /* Surfaces */
  --canvas:        #0E141C;
  --paper:         #141D29;
  --paper-alt:     #1A2330;
  --paper-sunk:    #0A1018;
  --hairline:      #2A3645;
  --hairline-soft: #1F2A38;

  /* Ink */
  --ink:         #EFE9DB;
  --ink-soft:    #C8C2B5;
  --ink-mute:    #9CA8B7;
  --ink-faint:   #6A7889;
  --nav-dark:    #FAF3E2;
  --nav-band:    #E8DEC6;
  --utility-bar: #C9B98E;

  /* Gold */
  --gold:        #B8743A;
  --gold-strong: #8F5526;
  --gold-soft:   #3A2614;
  --gold-line:   rgba(184,116,58,0.45);
  --gold-shadow: rgba(184,116,58,0.35);
  --gold-wash:   rgba(184,116,58,0.08);
  --gold-glow:   rgba(184,116,58,0.18);

  /* Accent */
  --accent:        #8F5526;
  --accent-strong: #6E3F18;
  --accent-soft:   #3A2614;
  --accent-line:   rgba(143,85,38,0.40);

  /* Status */
  --ok:            #7AAA52;
  --ok-soft:       #1E2C14;
  --warn:          #D9A744;
  --warn-soft:     #2E2410;
  --critical:      #D8624E;
  --critical-soft: #341612;
  --info:          #6FA2C8;
  --info-soft:     #15242F;
  --offline:       #8A7E6E;
  --offline-soft:  #251D14;

  /* Status tints */
  --status-ok-tint:       rgba(122, 170, 82, 0.40);
  --status-ok-wash:       rgba(122, 170, 82, 0.12);
  --status-warn-tint:     rgba(217, 167, 68, 0.45);
  --status-warn-wash:     rgba(217, 167, 68, 0.10);
  --status-critical-tint: rgba(216, 98, 78, 0.45);
  --status-critical-wash: rgba(216, 98, 78, 0.12);
  --status-info-tint:     rgba(111, 162, 200, 0.40);
  --status-info-wash:     rgba(111, 162, 200, 0.10);

  /* Overlays */
  --overlay-ink-soft:      rgba(0, 0, 0, 0.40);
  --overlay-ink-faint:     rgba(0, 0, 0, 0.30);
  --overlay-accent:        rgba(184, 116, 58, 0.20);
  --shadow-knob:           0 1px 2px rgba(0, 0, 0, 0.45);
  --scrim:                 rgba(8, 12, 18, 0.70);
  --image-scrim-strong:    rgba(8, 12, 18, 0.85);
  --image-scrim-soft:      rgba(8, 12, 18, 0.40);
  --canvas-on-dark:        rgba(239, 233, 219, 0.15);
  --canvas-on-dark-strong: rgba(239, 233, 219, 0.22);
  --canvas-on-dark-wash:   rgba(239, 233, 219, 0.08);
  --canvas-on-dark-mute:   rgba(239, 233, 219, 0.60);

  /* Series */
  --series-1: #EFE9DB;
  --series-2: #B8743A;
  --series-3: #6FA2C8;
  --series-4: #7AAA52;
  --series-5: #A98BCB;
  --series-6: #D8624E;

  /* Typography */
  --font-display: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-serif:   "Playfair Display", Georgia, serif;
  --font-sans:    Inter, ui-sans-serif, sans-serif;
  --font-mono:    "JetBrains Mono", monospace;

  /* Radii */
  --radius:       2px;
  --radius-sharp: 0;
  --radius-input: 2px;
  --radius-card:  2px;
  --radius-pill:  999px;

  /* Shadows */
  --shadow-card:   0 1px 2px rgba(0,0,0,0.40), 0 6px 16px rgba(0,0,0,0.50);
  --shadow-lifted: 0 16px 40px rgba(0,0,0,0.60), 0 0 0 1px rgba(184,116,58,0.10);
  --shadow-focus:  0 0 0 3px var(--gold-shadow);

  /* Shadows (spec) */
  --shadow-sm:   0 1px 2px rgb(0 0 0 / 0.4);
  --shadow-md:   0 6px 16px -2px rgb(0 0 0 / 0.5), 0 0 0 1px rgb(184 116 58 / 0.06);
  --shadow-lg:   0 16px 40px -4px rgb(0 0 0 / 0.6), 0 0 0 1px rgb(184 116 58 / 0.10);
  --shadow-xl:   0 32px 80px -8px rgb(0 0 0 / 0.7), 0 0 0 1px rgb(184 116 58 / 0.15);
  --shadow-glow: 0 0 0 1px rgb(184 116 58 / 0.5), 0 8px 32px -4px rgb(184 116 58 / 0.35);

  /* Motion */
  --ease:          cubic-bezier(0.2, 0.65, 0.3, 1);
  --duration-fast: 120ms;
  --duration-base: 280ms;
  --duration-slow: 480ms;

  /* Spacing rhythm */
  --space-tight:   8px;
  --space:         16px;
  --space-loose:   24px;
  --space-section: 48px;

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  /* Rule */
  --rule: 1px;

  /* Layout */
  --container-max: 1320px;
  --shell-pad:     16px;
  --sidebar-w:     232px;

  /* SAIA colours (rgb triplets) */
  --color-canvas:        14 20 28;
  --color-paper:         20 29 41;
  --color-ink:           239 233 219;
  --color-ink-mute:      156 168 183;
  --color-accent:        184 116 58;
  --color-accent-strong: 143 85 38;
  --color-edge:          42 54 69;
  --color-surface:       250 243 226;
  --color-surface-ink:   14 20 28;
}

/* Tropical — light */
[data-theme='tropical'] {
  /* Surfaces */
  --canvas:        #FFFFFF;
  --paper:         #FAFAFA;
  --paper-alt:     #F5F5F5;
  --paper-sunk:    #EEEEEE;
  --hairline:      #E5E5E5;
  --hairline-soft: #EFEFEF;

  /* Ink */
  --ink:         #111111;
  --ink-soft:    #2A2A2A;
  --ink-mute:    #6B7280;
  --ink-faint:   #9CA3AF;
  --nav-dark:    #111111;
  --nav-band:    #1F1F1F;
  --utility-bar: #374151;

  /* Gold */
  --gold:        #FF6A3D;
  --gold-strong: #D94F22;
  --gold-soft:   #FFE7DE;
  --gold-line:   rgba(255,106,61,0.45);
  --gold-shadow: rgba(255,106,61,0.30);
  --gold-wash:   rgba(255,106,61,0.06);
  --gold-glow:   rgba(255,106,61,0.14);

  /* Accent */
  --accent:        #D94F22;
  --accent-strong: #B23E18;
  --accent-soft:   #FFE7DE;
  --accent-line:   rgba(217,79,34,0.36);

  /* Status */
  --ok:            #16A34A;
  --ok-soft:       #DCFCE7;
  --warn:          #CA8A04;
  --warn-soft:     #FEF9C3;
  --critical:      #DC2626;
  --critical-soft: #FEE2E2;
  --info:          #2563EB;
  --info-soft:     #DBEAFE;
  --offline:       #9CA3AF;
  --offline-soft:  #F3F4F6;

  /* Status tints */
  --status-ok-tint:       rgba(22, 163, 74, 0.32);
  --status-ok-wash:       rgba(22, 163, 74, 0.08);
  --status-warn-tint:     rgba(202, 138, 4, 0.36);
  --status-warn-wash:     rgba(202, 138, 4, 0.08);
  --status-critical-tint: rgba(220, 38, 38, 0.36);
  --status-critical-wash: rgba(220, 38, 38, 0.08);
  --status-info-tint:     rgba(37, 99, 235, 0.32);
  --status-info-wash:     rgba(37, 99, 235, 0.08);

  /* Overlays */
  --overlay-ink-soft:      rgba(17, 17, 17, 0.06);
  --overlay-ink-faint:     rgba(17, 17, 17, 0.04);
  --overlay-accent:        rgba(217, 79, 34, 0.15);
  --shadow-knob:           0 1px 2px rgba(17, 17, 17, 0.12);
  --scrim:                 rgba(17, 17, 17, 0.55);
  --image-scrim-strong:    rgba(17, 17, 17, 0.80);
  --image-scrim-soft:      rgba(17, 17, 17, 0.30);
  --canvas-on-dark:        rgba(255, 255, 255, 0.15);
  --canvas-on-dark-strong: rgba(255, 255, 255, 0.20);
  --canvas-on-dark-wash:   rgba(255, 255, 255, 0.08);
  --canvas-on-dark-mute:   rgba(255, 255, 255, 0.60);

  /* Series */
  --series-1: #111111;
  --series-2: #FF6A3D;
  --series-3: #2563EB;
  --series-4: #16A34A;
  --series-5: #7C3AED;
  --series-6: #DC2626;

  /* Typography */
  --font-display: Inter, ui-sans-serif, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-serif:   Inter, ui-sans-serif, sans-serif;
  --font-sans:    Inter, ui-sans-serif, sans-serif;
  --font-mono:    "JetBrains Mono", monospace;

  /* Radii */
  --radius:       12px;
  --radius-sharp: 0;
  --radius-input: 8px;
  --radius-card:  12px;
  --radius-pill:  999px;

  /* Shadows */
  --shadow-card:   0 2px 4px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.06);
  --shadow-lifted: 0 24px 64px rgba(0,0,0,0.10), 0 8px 24px rgba(0,0,0,0.04);
  --shadow-focus:  0 0 0 3px var(--gold-shadow);

  /* Shadows (spec) */
  --shadow-sm:   0 2px 4px rgb(0 0 0 / 0.04);
  --shadow-md:   0 8px 24px -4px rgb(0 0 0 / 0.06), 0 2px 8px -2px rgb(0 0 0 / 0.04);
  --shadow-lg:   0 24px 64px -8px rgb(0 0 0 / 0.10), 0 8px 24px -4px rgb(0 0 0 / 0.04);
  --shadow-xl:   0 48px 96px -12px rgb(0 0 0 / 0.14), 0 16px 32px -8px rgb(0 0 0 / 0.06);
  --shadow-glow: 0 0 0 1px rgb(255 106 61 / 0.4), 0 16px 48px -8px rgb(255 106 61 / 0.30);

  /* Motion */
  --ease:          cubic-bezier(0.2, 0.65, 0.3, 1);
  --duration-fast: 150ms;
  --duration-base: 300ms;
  --duration-slow: 500ms;

  /* Spacing rhythm */
  --space-tight:   8px;
  --space:         16px;
  --space-loose:   24px;
  --space-section: 48px;

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  /* Rule */
  --rule: 1px;

  /* Layout */
  --container-max: 1320px;
  --shell-pad:     16px;
  --sidebar-w:     232px;

  /* SAIA colours (rgb triplets) */
  --color-canvas:        255 255 255;
  --color-paper:         250 250 250;
  --color-ink:           17 17 17;
  --color-ink-mute:      107 114 128;
  --color-accent:        255 106 61;
  --color-accent-strong: 217 79 34;
  --color-edge:          229 229 229;
  --color-surface:       17 17 17;
  --color-surface-ink:   255 255 255;
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/app/globals.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: var(--font-sans); /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: var(--font-mono); /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: var(--canvas);
    color: var(--ink-soft);
    font-family: var(--font-sans);
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: background-color .2s ease, color .2s ease;
  }

html:not([data-theme]) body { visibility: hidden; }

h1, h2, h3, h4 { color: var(--ink); letter-spacing: -0.012em; }

h1 { font-family: var(--font-display); font-size: 44px; line-height: 1.12; font-weight: 400; }

h2 { font-family: var(--font-display); font-size: 30px; line-height: 1.18; font-weight: 400; }

h3 { font-family: var(--font-sans);    font-size: 18px; line-height: 1.35; font-weight: 600; }

h4 { font-family: var(--font-sans);    font-size: 13px; line-height: 1.4;  font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-mute); }

::-moz-selection { background: var(--gold-soft); color: var(--ink); }

::selection { background: var(--gold-soft); color: var(--ink); }

/* ── Editorial scrollbar (global) ──────────────────────────────────────
     Thin, ink-faint thumb on a near-paper track; gold on hover. Applies to
     every scrollable surface — the chat thread, the right rail, settings
     panels, /dev inbox, anywhere overflow:auto fires. Firefox uses the
     standard scrollbar-* properties; WebKit/Blink the ::-webkit-* pseudos. */

* {
    scrollbar-width: thin;
    scrollbar-color: var(--ink-faint) transparent;
  }

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
  }

::-webkit-scrollbar-track {
    background: transparent;
  }

::-webkit-scrollbar-thumb {
    background-color: var(--ink-faint);
    border: 2px solid transparent;
    background-clip: padding-box;
    border-radius: 999px;
  }

::-webkit-scrollbar-thumb:hover {
    background-color: var(--gold-strong);
  }

::-webkit-scrollbar-corner { background: transparent; }

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

a:hover { text-decoration: underline; text-underline-offset: 4px; }

hr { border: 0; border-top: 1px solid var(--hairline); }

code, kbd {
    font-family: var(--font-mono);
    font-size: 0.875em;
    background: var(--paper-sunk);
    color: var(--ink);
    padding: 2px 6px;
    border-radius: var(--radius-input);
  }

kbd { box-shadow: inset 0 -1px 0 var(--hairline); }
.container{
  width: 100%;
}
@media (min-width: 640px){

  .container{
    max-width: 640px;
  }
}
@media (min-width: 768px){

  .container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){

  .container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){

  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1536px){

  .container{
    max-width: 1536px;
  }
}
/* ── Layout primitives ────────────────────────────────────────────── */
.eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-mute);
  }
.card {
    background: var(--paper);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
  }
/* ── Buttons ──────────────────────────────────────────────────────── */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    height: 40px; padding: 0 22px;
    font-size: 13px; font-weight: 500;
    text-transform: uppercase; letter-spacing: 0.04em;
    border-radius: var(--radius-sharp);
    border: 1px solid transparent;
    cursor: pointer; -webkit-user-select: none; -moz-user-select: none; user-select: none;
    transition: background-color .12s ease, color .12s ease, border-color .12s ease, opacity .12s ease;
  }
.btn:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
.btn[disabled], .btn:disabled { opacity: 0.4; cursor: not-allowed; }
.btn-sm { height: 32px; padding: 0 16px; font-size: 11px; gap: 6px; }
.btn-icon { width: 40px; padding: 0; }
.btn-icon.btn-sm { width: 32px; }
/* SAIA studio: primary CTA is the dark `surface` (navy in editorial), not gold. */
.btn-primary    { background: rgb(var(--color-surface)); color: rgb(var(--color-surface-ink)); }
.btn-primary:hover:not(:disabled) { background: rgb(var(--color-surface) / 0.9); }
.btn-secondary  { background: var(--paper); color: var(--ink); border-color: var(--hairline); }
.btn-secondary:hover:not(:disabled) { background: var(--paper-alt); border-color: var(--ink-mute); }
.btn-ghost      { background: transparent; color: var(--ink); }
.btn-ghost:hover:not(:disabled) { background: var(--paper-alt); }
/* ── Pills / badges ───────────────────────────────────────────────── */
.tag {
    display: inline-flex; align-items: center; gap: 6px;
    height: 24px; padding: 0 10px;
    font-size: 12px; font-weight: 500;
    background: var(--paper-alt); color: var(--ink-soft);
    border: 1px solid var(--hairline);
    border-radius: var(--radius-input);
  }
/* ── Form controls ────────────────────────────────────────────────── */
.\!input {
    width: 100% !important; height: 40px !important; padding: 0 12px !important;
    background: var(--paper) !important;
    color: var(--ink) !important;
    border: 1px solid var(--hairline) !important;
    border-radius: var(--radius-input) !important;
    font-size: 14px !important; font-family: var(--font-sans) !important;
    transition: border-color .12s ease, box-shadow .12s ease !important;
  }
.input, .textarea, .select {
    width: 100%; height: 40px; padding: 0 12px;
    background: var(--paper);
    color: var(--ink);
    border: 1px solid var(--hairline);
    border-radius: var(--radius-input);
    font-size: 14px; font-family: var(--font-sans);
    transition: border-color .12s ease, box-shadow .12s ease;
  }
.textarea { height: auto; min-height: 96px; padding: 10px 12px; resize: vertical; }
.\!input:focus {
    outline: none !important; border-color: var(--gold) !important; box-shadow: var(--shadow-focus) !important;
  }
.input:focus, .textarea:focus, .select:focus {
    outline: none; border-color: var(--gold); box-shadow: var(--shadow-focus);
  }
.\!input::-moz-placeholder { color: var(--ink-faint) !important; }
.\!input::placeholder { color: var(--ink-faint) !important; }
.input::-moz-placeholder, .textarea::-moz-placeholder { color: var(--ink-faint); }
.input::placeholder, .textarea::placeholder { color: var(--ink-faint); }
.\!input[aria-invalid="true"] { border-color: var(--critical) !important; }
.input[aria-invalid="true"], .textarea[aria-invalid="true"] { border-color: var(--critical); }
.checkbox, .radio {
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    width: 18px; height: 18px; flex-shrink: 0;
    background: var(--paper); border: 1px solid var(--hairline);
    cursor: pointer; position: relative;
    transition: background-color .12s, border-color .12s;
  }
.checkbox { border-radius: 3px; }
.radio    { border-radius: 50%; }
.checkbox:checked, .radio:checked { background: var(--gold); border-color: var(--gold); }
.checkbox:checked::after {
    content: ""; position: absolute; left: 5px; top: 1px;
    width: 5px; height: 10px; border: solid #fff;
    border-width: 0 2px 2px 0; transform: rotate(45deg);
  }
.radio:checked::after {
    content: ""; position: absolute; left: 4px; top: 4px;
    width: 8px; height: 8px; border-radius: 50%; background: #fff;
  }
.checkbox:focus-visible, .radio:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
.switch {
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    width: 36px; height: 20px; flex-shrink: 0;
    background: var(--hairline); border-radius: 999px;
    cursor: pointer; position: relative;
    transition: background-color .15s;
  }
.switch::after {
    content: ""; position: absolute; top: 2px; left: 2px;
    width: 16px; height: 16px; background: #fff; border-radius: 50%;
    transition: transform .15s;
  }
.switch:checked { background: var(--gold); }
.switch:checked::after { transform: translateX(16px); }
.switch:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
/* ── Alerts ───────────────────────────────────────────────────────── */
.alert {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 14px 16px;
    border: 1px solid; border-left-width: 3px;
    border-radius: var(--radius-input);
    font-size: 14px;
  }
.alert-ok       { background: var(--ok-soft);       color: var(--ok);       border-color: var(--ok); }
.alert-warn     { background: var(--warn-soft);     color: var(--warn);     border-color: var(--warn); }
.alert-critical { background: var(--critical-soft); color: var(--critical); border-color: var(--critical); }
.alert-info     { background: var(--info-soft);     color: var(--info);     border-color: var(--info); }
/* ── Tables ───────────────────────────────────────────────────────── */
/* ── Tabs ─────────────────────────────────────────────────────────── */
.tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--hairline); }
.tab {
    padding: 10px 14px; font-size: 13px; font-weight: 500;
    color: var(--ink-mute); border-bottom: 2px solid transparent;
    margin-bottom: -1px; cursor: pointer;
    transition: color .12s, border-color .12s;
    text-decoration: none;
  }
.tab:hover { color: var(--ink-soft); text-decoration: none; }
.tab[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--gold); }
/* ── User cog + popover menu ──────────────────────────────────────── */
.user-pill-wrap { position: relative; display: inline-flex; }
.user-cog {
    width: 32px; height: 32px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--paper); border: 1px solid var(--hairline);
    border-radius: 8px;
    color: var(--ink-mute);
    cursor: pointer;
    transition: border-color .12s, color .12s, background-color .12s;
  }
.user-cog:hover, .user-cog.is-open {
    border-color: var(--gold-line); color: var(--gold-strong); background: var(--paper-alt);
  }
.app-sidebar {
    position: sticky;
    top: 16px;
    z-index: 20;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    width: 232px;
    height: calc(100vh - 32px);
    padding: 20px;
  }
.user-pill-wrap { position: relative; z-index: 30; }
.user-menu {
    position: absolute;
    bottom: 0;
    left: calc(100% + 12px);
    width: 420px;
    background-color: var(--paper);
    background-image: none;
    border: 1px solid var(--hairline);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-lifted);
    z-index: 1000;
    overflow: hidden;
    animation: user-menu-in 140ms ease-out;
  }
@keyframes user-menu-in {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
  }
.user-menu-header {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 16px;
    border-bottom: 1px solid var(--hairline);
    background: var(--paper-alt);
  }
.user-menu-name  { font-size: 14px; font-weight: 600; color: var(--ink); line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-menu-email { font-size: 12px; color: var(--ink-mute); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-menu-section { padding: 4px; border-bottom: 1px solid var(--hairline-soft); }
.user-menu-section:last-child { border-bottom: 0; }
/* Nav section splits its links into two columns so the menu reads as a
     tight editorial grid instead of a tall list. Theme + Sign-out stay
     full-width below (they're in their own sections). */
.user-menu-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px 6px;
    padding: 6px;
  }
.user-menu-row {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 10px;
    border-radius: 6px;
    color: var(--ink-soft);
    font-size: 13px;
    cursor: pointer;
    transition: background-color .1s;
    text-decoration: none;
  }
.user-menu-row:hover { background: var(--paper-alt); color: var(--ink); text-decoration: none; }
.user-menu-row.is-danger { color: var(--critical); }
.user-menu-row.is-danger:hover { background: var(--critical-soft); color: var(--critical); }
.user-menu-row-icon {
    width: 24px; height: 24px;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--ink-mute);
  }
.user-menu-row:hover .user-menu-row-icon { color: var(--ink); }
.user-menu-row.is-danger .user-menu-row-icon { color: var(--critical); }
.user-menu-row-label { font-weight: 500; }
/* ── Vo brand mark ────────────────────────────────────────────────── */
/* The rounded-square badge that holds the family acorn illustration.
     Border colour follows the parent's text colour (currentColor) so a
     dark-theme container can re-tint the frame without re-exporting art. */
/* Tiny acorn glyph inside the Vo AI button — sized to match the previous
     14 px Chat icon. Width is auto so the wide aspect isn't squashed. */
/* ── Nav tile ─────────────────────────────────────────────────────── */
.nav-tile {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 3px; padding: 10px 2px;
    border-radius: 8px;
    color: var(--ink-soft);
    transition: background-color .12s, color .12s;
    text-decoration: none;
  }
.nav-tile:hover { background: var(--paper-alt); text-decoration: none; }
.nav-tile .label { font-size: 10px; font-weight: 500; letter-spacing: 0.01em; }
.nav-tile .\!label { font-size: 10px !important; font-weight: 500 !important; letter-spacing: 0.01em !important; }
.nav-tile .icon { color: var(--ink-mute); transition: color .12s; }
/* MCShell chrome — fleet blocks (booking-list, booking-detail,
     charter-calendar, new-booking, vessel-list/detail/edit) wrap their
     content in MCShell which renders its OWN sidebar + header. When
     they're embedded inside the app shell (i.e. via /bookings,
     /vessels, etc.) we don't want a second sidebar — only the inner
     content matters. Hide the chrome + reset MCShell's outer flex so
     the inner main fills the app-main area cleanly. */
.app-main [data-mcshell-chrome="aside"],
  .app-main [data-mcshell-chrome="header"] {
    display: none !important;
  }
.app-main [data-mcshell-chrome="root"] {
    min-height: 0 !important;
    background: transparent !important;
    display: block;
  }
.app-main [data-mcshell-chrome="root"] > div {
    /* MCShell's inner content column resets to a normal block flow. */
    display: block;
    width: 100%;
  }
.app-main [data-mcshell-chrome="root"] > div > main {
    padding: 0;
  }
/* Todo routes — sidebar entries whose page.tsx isn't built yet. Faded,
     amber dot in the corner, italic label. Still clickable; the route
     returns 404 today but the entry stays visible so we see the gap. */
.nav-tile-todo {
    opacity: 0.55;
    position: relative;
  }
.nav-tile-todo .label { font-style: italic; }
.nav-tile-todo .\!label { font-style: italic !important; }
.nav-tile-todo::after {
    content: '';
    position: absolute;
    top: 6px;
    right: 6px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d97706;          /* amber-600 — "needs build" marker */
  }
.nav-tile-todo:hover { opacity: 0.8; }
/* ── Sidebar foot: AI Makers strip + tucked settings ──────────────── */
.sidebar-foot {
    position: relative;
    margin-top: 8px;
    padding-top: 14px;
    margin-bottom: -6px; /* drop the band into the card's base padding so it centres */
    border-top: 1px solid var(--hairline-soft);
    display: flex; justify-content: center; align-items: center;
  }
.sidebar-foot .aimakers-band {
    display: inline-block;
    padding: 0;
    margin: 0;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-sans); font-size: 9px;
    letter-spacing: 0.20em; text-transform: uppercase;
    color: var(--ink-faint);
    text-decoration: none;
    transition: color .15s ease;
  }
.sidebar-foot .aimakers-band:hover { color: var(--gold-strong); text-decoration: none; }
.sidebar-foot .user-pill-wrap {
    position: absolute; right: 0; top: 10px;
  }
.sidebar-foot .user-cog {
    width: 20px; height: 20px;
    background: transparent; border: none;
    color: var(--ink-faint);
  }
.sidebar-foot .user-cog:hover,
  .sidebar-foot .user-cog.is-open {
    color: var(--gold-strong); background: transparent; border: none;
  }
.sidebar-foot .user-cog svg { width: 13px; height: 13px; }
/* SAIA studio: active nav = accent tint + accent-strong text (per-theme). */
.nav-tile-active,
  .nav-tile-active:hover {
    background: rgb(var(--color-accent) / 0.15);
    color: rgb(var(--color-accent-strong));
  }
.nav-tile-active .icon { color: rgb(var(--color-accent)); }
/* ── Grouped primary nav (sections + scroll) ──────────────────────── */
/* Scrolls vertically but the scrollbar is fully hidden — quieter chrome. */
.app-sidebar-sections {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    margin-top: 12px;
    padding-right: 4px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    scrollbar-width: none;          /* Firefox */
    -ms-overflow-style: none;       /* IE/Edge legacy */
  }
.app-sidebar-sections::-webkit-scrollbar { width: 0; height: 0; display: none; }
.app-sidebar-group { display: flex; flex-direction: column; gap: 1px; }
.app-sidebar-group-title {
    margin: 0;
    padding: 4px 8px;
    font-family: var(--font-sans);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--ink-faint);
  }
/* Each section's items stay a 3-col tile grid (.app-sidebar-nav + .nav-tile),
     now grouped under .app-sidebar-group-title subheadings. */
/* ── Avatar ───────────────────────────────────────────────────────── */
.avatar {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--paper-alt); color: var(--ink-soft);
    font-size: 12px; font-weight: 600;
    position: relative;
    border: 1px solid var(--hairline);
  }
.avatar-lg { width: 48px; height: 48px; font-size: 16px; }
/* ── Provider badge (LLM providers, NoraAI pattern) ───────────────── */
.provider-badge .mark {
    width: 18px; height: 18px; border-radius: 4px;
    background: var(--ink); color: var(--paper);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 10px; font-weight: 700;
  }
.provider-claude .mark { background: #D97757; color: #fff; }
.provider-openai .mark { background: #10A37F; color: #fff; }
.provider-gemini .mark { background: #1A73E8; color: #fff; }
/* ── Search input ─────────────────────────────────────────────────── */
.search {
    display: inline-flex; align-items: center; gap: 8px;
    height: 36px; padding: 0 12px;
    background: var(--paper); border: 1px solid var(--hairline);
    border-radius: var(--radius-input);
    color: var(--ink);
  }
.search:focus-within { border-color: var(--gold); box-shadow: var(--shadow-focus); }
.search input {
    background: transparent; border: 0; outline: none;
    font-size: 14px; color: inherit; flex: 1;
  }
.search input::-moz-placeholder { color: var(--ink-faint); }
.search input::placeholder { color: var(--ink-faint); }
/* ── Spinner ──────────────────────────────────────────────────────── */
.spinner {
    display: inline-block;
    width: 16px; height: 16px;
    border: 2px solid var(--hairline);
    border-top-color: var(--gold);
    border-radius: 50%;
    animation: spin .8s linear infinite;
  }
@keyframes spin { to { transform: rotate(360deg); } }
/* ── Main scroll surface ──────────────────────────────────────────── */
/* overflow-y: scroll forces the gutter to always exist (no layout jump
     when content height crosses the viewport). The webkit-scrollbar rules
     defeat macOS's "auto-hide scrollbar" setting so the bar is always
     visible, matching Windows/Linux behaviour. */
.main-scroll {
    overflow-y: scroll;
    overflow-x: hidden;
    scrollbar-gutter: stable;
  }
.main-scroll::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    background: var(--paper-alt);
  }
.main-scroll::-webkit-scrollbar-thumb {
    background: var(--hairline);
    border-radius: 999px;
    border: 2px solid var(--paper-alt);
  }
.main-scroll::-webkit-scrollbar-thumb:hover { background: var(--ink-faint); }
.main-scroll::-webkit-scrollbar-corner { background: var(--paper-alt); }
/* ── Empty state ──────────────────────────────────────────────────── */
.\!empty {
    display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
    padding: 64px 32px !important;
    text-align: center !important;
    color: var(--ink-mute) !important;
    border: 1px dashed var(--hairline) !important;
    border-radius: var(--radius-card) !important;
    background: var(--paper-alt) !important;
  }
.empty {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 64px 32px;
    text-align: center;
    color: var(--ink-mute);
    border: 1px dashed var(--hairline);
    border-radius: var(--radius-card);
    background: var(--paper-alt);
  }
.\!empty .empty-icon { color: var(--ink-faint) !important; margin-bottom: 16px !important; }
.empty .empty-icon { color: var(--ink-faint); margin-bottom: 16px; }
.\!empty .empty-title { font-size: 16px !important; font-weight: 500 !important; color: var(--ink) !important; margin-bottom: 6px !important; }
.empty .empty-title { font-size: 16px; font-weight: 500; color: var(--ink); margin-bottom: 6px; }
.\!empty .empty-body  { font-size: 14px !important; max-width: 360px !important; }
.empty .empty-body  { font-size: 14px; max-width: 360px; }
/* ── Editorial primitives ─────────────────────────────────────────── */
.display {
    font-family: var(--font-display);
    font-weight: 400;
    letter-spacing: -0.014em;
    line-height: 1.06;
    color: var(--ink);
  }
.lede {
    font-family: var(--font-sans);
    font-size: 17px;
    line-height: 1.6;
    color: var(--ink-soft);
    max-width: 62ch;
  }
/* Period-end accent — the editorial full stop in oxblood */
/* Editorial section header — numbered eyebrow + serif title pattern */
.section-eyebrow {
    display: flex; align-items: baseline; gap: 12px;
    font-family: var(--font-sans);
    font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.22em;
    color: var(--gold-strong);
    margin-bottom: 12px;
  }
.section-eyebrow .num { color: var(--ink-mute); }
.section-eyebrow .rule { flex: 1; height: 1px; background: var(--hairline); margin-left: 4px; }
.section-eyebrow .\!rule { flex: 1 !important; height: 1px !important; background: var(--hairline) !important; margin-left: 4px !important; }
/* Huge figure (financial display) */
/* Letterhead / memo block */
/* Photography frame placeholder */
/* If a background-image is set inline, suppress the placeholder gradient */
/* Sign-off block (end of editorial documents) */
.sign-off {
    border-top: 1px solid var(--gold-line);
    padding-top: 24px;
    display: flex; flex-direction: column; gap: 6px;
  }
.sign-off .sig {
    font-family: var(--font-display); font-size: 28px; color: var(--ink);
  }
.sign-off .role {
    font-family: var(--font-sans); font-size: 12px; letter-spacing: 0.12em;
    text-transform: uppercase; color: var(--ink-mute);
  }
.sign-off .\!role {
    font-family: var(--font-sans) !important; font-size: 12px !important; letter-spacing: 0.12em !important;
    text-transform: uppercase !important; color: var(--ink-mute) !important;
  }
/* Numbered list with serif index */
/* Editorial card variants used in the design catalogue */
/* Itinerary row (travel / event) */
/* Crest / monogram block */
/* Financial-grade dl */
/* ── App header band (across the top of the main content panel) ──── */
/* Briefing — editorial morning memo, used at / */
.briefing-item .num {
    font-family: var(--font-display); font-size: 22px; color: var(--gold-strong);
    font-variant-numeric: tabular-nums;
  }
.briefing-item .\!title { font-family: var(--font-display) !important; font-size: 20px !important; color: var(--ink) !important; line-height: 1.3 !important; }
.briefing-item .title { font-family: var(--font-display); font-size: 20px; color: var(--ink); line-height: 1.3; }
.briefing-item .meta  { font-family: var(--font-sans); font-size: 12px; color: var(--ink-mute); margin-top: 4px; letter-spacing: 0.04em; }
.briefing-item .\!action {
    font-family: var(--font-sans) !important; font-size: 12px !important; font-weight: 600 !important;
    letter-spacing: 0.10em !important; text-transform: uppercase !important;
    color: var(--gold-strong) !important;
    text-decoration: none !important;
  }
.briefing-item .action {
    font-family: var(--font-sans); font-size: 12px; font-weight: 600;
    letter-spacing: 0.10em; text-transform: uppercase;
    color: var(--gold-strong);
    text-decoration: none;
  }
.briefing-item .\!action:hover { color: var(--ink) !important; text-decoration: none !important; }
.briefing-item .action:hover { color: var(--ink); text-decoration: none; }
/* ── Workflow rendering (Anatomy of a flight delay) ───────────────── */
/* Precheck list (AI prep · what was checked first) */
/* ── SOP / Standard Operating Procedure ───────────────────────────── */
/* legacy step-tag kept for the .task-row auto-pill (used elsewhere) */
/* ── Owner badge — replaces the chip on .sop-step ─────────────────── */
/* ── Checklist variant ────────────────────────────────────────────── */
/* Per-step completion footer (timestamp + attribution) */
/* Progress bar atop the checklist */
/* All-done celebration ribbon */
@keyframes cd-in {
    0%   { opacity: 0; transform: translateY(8px) scale(0.985); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
  }
/* ═════════════════════════════════════════════════════════════════════
   * V2 patterns — design catalog sections 18-35
   * ════════════════════════════════════════════════════════════════════ */
/* 18. App header band ────────────────────────────────────────────── */
.ah-chip .av { width: 32px; height: 32px; border-radius: 50%;
    background: var(--ink); color: var(--paper);
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--font-sans); font-size: 12px; font-weight: 600; letter-spacing: 0.03em;
    box-shadow: inset 0 0 0 2px var(--paper), 0 0 0 1px var(--gold-line); }
.ah-chip .\!name { font-family: var(--font-display) !important; font-size: 16px !important; color: var(--ink) !important; line-height: 1 !important; letter-spacing: -0.005em !important; }
.ah-chip .name { font-family: var(--font-display); font-size: 16px; color: var(--ink); line-height: 1; letter-spacing: -0.005em; }
.ah-chip .sub  { font-family: var(--font-sans); font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-mute); margin-top: 4px; line-height: 1; }
.ah-cmdk .ph { font-family: var(--font-sans); font-size: 13.5px; color: var(--ink-mute); flex: 1; }
.ah-bell .dot { position: absolute; top: -3px; right: -3px;
    min-width: 16px; height: 16px; padding: 0 4px;
    background: var(--accent); color: #fff; border: 2px solid var(--paper); border-radius: 999px;
    font-family: var(--font-sans); font-size: 10px; font-weight: 600;
    display: inline-flex; align-items: center; justify-content: center; }
.ah-agent .pulse { position: relative; width: 8px; height: 8px;
    border-radius: 50%; background: var(--gold-strong); }
.ah-agent .pulse::after { content: ""; position: absolute; inset: -4px;
    border-radius: 50%; background: var(--gold); opacity: 0.35;
    animation: ah-pulse 1.6s cubic-bezier(0,0,0.2,1) infinite; }
@keyframes ah-pulse {
    0% { transform: scale(0.6); opacity: 0.5; }
    80%, 100% { transform: scale(2.4); opacity: 0; }
  }
/* 19. Command palette ────────────────────────────────────────────── */
.cmdk-group .\!label { display: flex !important; align-items: baseline !important; gap: 12px !important; padding: 8px 22px 4px !important;
    font-family: var(--font-sans) !important; font-size: 10px !important; font-weight: 600 !important;
    letter-spacing: 0.18em !important; text-transform: uppercase !important; color: var(--ink-mute) !important; }
.cmdk-group .label { display: flex; align-items: baseline; gap: 12px; padding: 8px 22px 4px;
    font-family: var(--font-sans); font-size: 10px; font-weight: 600;
    letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-mute); }
.cmdk-row:hover, .cmdk-row.is-selected { background: var(--paper-alt); color: var(--ink); }
.cmdk-row .glyph { color: var(--ink-mute); width: 16px; display: inline-flex; }
.cmdk-row .crumb { color: var(--ink-mute); font-size: 11px; }
/* 20. Drawer ─────────────────────────────────────────────────────── */
.drawer { width: 360px; flex-shrink: 0;
    background: var(--paper); border: 1px solid var(--hairline);
    border-radius: var(--radius-card); box-shadow: var(--shadow-lifted);
    overflow: hidden; display: flex; flex-direction: column; }
.drawer-row .\!title { font-family: var(--font-sans) !important; font-size: 13px !important; font-weight: 500 !important; color: var(--ink) !important; line-height: 1.35 !important; }
.drawer-row .title { font-family: var(--font-sans); font-size: 13px; font-weight: 500; color: var(--ink); line-height: 1.35; }
.drawer-row .meta { font-family: var(--font-sans); font-size: 11px; color: var(--ink-mute); margin-top: 3px; }
.drawer-row .go { font-family: var(--font-sans); font-size: 10px; font-weight: 600;
    letter-spacing: 0.10em; text-transform: uppercase; color: var(--gold-strong);
    margin-top: 6px; display: inline-block; }
/* 21. Thread row + thread view ───────────────────────────────────── */
/* 22. Routing rule card ──────────────────────────────────────────── */
/* 23. Timezone strip + week ledger ───────────────────────────────── */
/* Design page grid — TOC anchors to right edge, main keeps editorial width */
.design-page-grid {
    width: 100%;
    max-width: none;
    margin: 0;
  }
.design-page-main {
    max-width: 1100px;
    margin-left: 0;
    margin-right: auto;
  }
/* TOC rail — plain text column, no card chassis */
.design-toc-aside {
    position: sticky;
    top: 32px;
    align-self: start;
    z-index: 5;
  }
.design-toc {
    display: flex;
    flex-direction: column;
    max-height: calc(100dvh - 96px);
  }
.design-toc-head {
    flex: 0 0 auto;
    padding-bottom: 12px;
    background: transparent;
  }
.design-toc-eyebrow {
    font-family: var(--font-sans); font-size: 10px; font-weight: 600;
    letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-faint);
    margin-bottom: 12px;
  }
.design-toc-list {
    flex: 1 1 auto; min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 16px 6px 40px 0;
    scrollbar-width: thin;
    scrollbar-color: var(--hairline) transparent;
  }
.design-toc-list::-webkit-scrollbar { width: 6px; }
.design-toc-list::-webkit-scrollbar-track { background: transparent; }
.design-toc-list::-webkit-scrollbar-thumb { background: var(--hairline); border-radius: 3px; }
.design-toc-list::-webkit-scrollbar-thumb:hover { background: var(--gold-line); }
.design-toc-group + .design-toc-group { margin-top: 20px; }
.design-toc-group-head.is-active { border-bottom-color: var(--gold-line); }
/* TOC rows + scroll-spy active state */
.design-toc .toc-row {
    position: relative;
    transition: color .15s ease;
    font-family: var(--font-sans);
    font-size: 12px;
    line-height: 1.4;
  }
.design-toc .toc-link {
    font-family: var(--font-sans);
    font-size: 12px;
    color: var(--ink-soft);
    text-decoration: none;
    transition: color .15s ease;
    display: block;
    padding: 2px 0;
  }
.design-toc .toc-link:hover { color: var(--ink); }
.design-toc .toc-row.is-active { padding-left: 6px; }
.design-toc .toc-row.is-active::before {
    content: '';
    position: absolute;
    left: -8px; top: 4px; bottom: 4px;
    width: 2px;
    background: var(--accent);
    border-radius: 1px;
  }
.design-toc .toc-row.is-active .toc-link { color: var(--ink); font-weight: 600; }
/* 23.1 tz-strip hover-translation + offset chip */
/* 41. Dashboard hero clock ───────────────────────────────────────── */
/* 24. Task row + auto-creation strip ─────────────────────────────── */
/* 25. Itinerary card (full) + approval band ──────────────────────── */
/* 26. Provenance strip + trust badges ────────────────────────────── */
/* 27. Knowledge card ─────────────────────────────────────────────── */
/* 28. Cadence column ─────────────────────────────────────────────── */
/* 29. Invoice memo + aging strip ─────────────────────────────────── */
/* 30. Custody log timeline ───────────────────────────────────────── */
/* 31. Roster grid ────────────────────────────────────────────────── */
/* 32. Auction lot memo + estimate range ──────────────────────────── */
/* 33. Person card ────────────────────────────────────────────────── */
/* 34. Audit row + agents-access matrix ───────────────────────────── */
/* 35. Empty / 404 / error states ─────────────────────────────────── */
/* Photo hero (single editorial photograph) + artefact card ──────── */
/* 36. Staff access matrix ───────────────────────────────────────── */
/* 37. Staff directory ───────────────────────────────────────────── */
.contact-list {
    display: grid; grid-template-columns: 86px 1fr; gap: 6px 14px;
    font-family: var(--font-sans); font-size: 12.5px;
    padding-top: 10px; border-top: 1px solid var(--hairline-soft);
  }
.contact-list dt {
    color: var(--ink-faint); font-size: 9.5px; font-weight: 600;
    letter-spacing: 0.12em; text-transform: uppercase; padding-top: 2px;
  }
.contact-list dd { color: var(--ink); margin: 0; word-break: break-all; }
.contact-list dd .mono { font-family: var(--font-mono); font-size: 12px; color: var(--ink-soft); }
.contact-list dd .label { color: var(--ink-mute); font-size: 11px; margin-left: 4px; }
.contact-list dd .\!label { color: var(--ink-mute) !important; font-size: 11px !important; margin-left: 4px !important; }
.channels { display: flex; gap: 6px; flex-wrap: wrap; }
.staff-channels { display: inline-flex; gap: 6px; }
.ch-dot {
    width: 22px; height: 22px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--font-sans); font-size: 10px; font-weight: 700;
    color: #fff; cursor: default;
    transition: transform .15s ease;
  }
.ch-dot:hover { transform: scale(1.08); }
.ch-dot.s { background: #4A154B; }
.ch-dot.\!s { background: #4A154B !important; }
.ch-dot.g { background: #C5221F; }
.ch-dot.\!g { background: #C5221F !important; }
.ch-dot.w { background: #25D366; }
.ch-dot.p { background: var(--ink); }
.ch-dot.\!p { background: var(--ink) !important; }
/* Live local-time pill on staff cards + table */
.local-time {
    display: inline-flex; align-items: baseline; gap: 6px;
    margin-left: 10px;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--gold-soft);
    border: 1px solid var(--gold-line);
  }
.local-time .lt-num {
    font-family: var(--font-display); font-style: italic;
    font-size: 12px; color: var(--gold-strong);
    font-variant-numeric: tabular-nums;
  }
.local-time .lt-code {
    font-family: var(--font-sans); font-size: 9px; font-weight: 600;
    letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-strong);
  }
/* View toggle (Cards / Table) — used on staff directory + reusable */
.view-toggle {
    display: inline-flex;
    border: 1px solid var(--hairline);
    border-radius: var(--radius-input);
    background: var(--paper);
    overflow: hidden;
  }
.view-toggle-btn {
    padding: 7px 14px;
    font-family: var(--font-sans); font-size: 11px; font-weight: 600;
    letter-spacing: 0.10em; text-transform: uppercase;
    color: var(--ink-mute);
    background: transparent;
    border: 0; border-left: 1px solid var(--hairline);
    cursor: pointer;
    transition: background-color .12s ease, color .12s ease;
  }
.view-toggle-btn:first-child { border-left: 0; }
.view-toggle-btn:hover { color: var(--ink); background: var(--paper-alt); }
.view-toggle-btn.is-active {
    background: var(--gold-soft);
    color: var(--gold-strong);
  }
/* Staff directory — table view */
.staff-person { display: flex; align-items: center; gap: 12px; }
.staff-person .av {
    width: 34px; height: 34px; border-radius: 50%;
    background: var(--ink); color: var(--paper);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 11.5px; font-weight: 600;
    flex-shrink: 0;
  }
.staff-person .nm { font-family: var(--font-display); font-size: 16px; color: var(--ink); line-height: 1.2; letter-spacing: -0.005em; }
.staff-person .rl { font-size: 11px; color: var(--ink-mute); margin-top: 2px; }
.staff-channels { display: inline-flex; gap: 4px; }
.staff-channels .ch-dot {
    width: 22px; height: 22px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 9px; font-weight: 700; color: #fff;
  }
.staff-channels .ch-dot.s { background: #4A154B; }
.staff-channels .ch-dot.\!s { background: #4A154B !important; }
.staff-channels .ch-dot.g { background: #C5221F; }
.staff-channels .ch-dot.\!g { background: #C5221F !important; }
.staff-channels .ch-dot.w { background: #25D366; }
.staff-channels .ch-dot.p { background: var(--ink); }
.staff-channels .ch-dot.\!p { background: var(--ink) !important; }
/* ═══ Universal hover-focus: subtle scale + lift across rows and cards ═══
   * Only applied to rows/cards that ARE interactive (have hover handlers
   * or wrap an anchor/button). Doesn't fire on plain content.
   */
.thread-row, .task-row, .audit-row, .itin, .briefing-item, .cadence-item,
  .roster-cell, .access-matrix tbody tr, .staff-matrix tbody tr,
  .data-table tbody tr {
    transition: background-color .15s ease, transform .15s ease;
  }
.thread-row:hover, .task-row:hover, .audit-row:hover,
  .itin:hover, .briefing-item:hover, .cadence-item:hover {
    background: var(--paper-alt);
  }
/* Cards get a gentle lift + gold edge */
.artefact, .know-card, .person, .staff-card, .card-asset,
  .photo-frame, .lot {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }
 .\!person {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
  }
.artefact:hover, .know-card:hover, .person:hover,
  .staff-card:hover, .card-asset:hover, .lot:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lifted);
    border-color: var(--gold-line);
  }
 .\!person:hover {
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-lifted) !important;
    border-color: var(--gold-line) !important;
  }
/* Sidebar nav tile gets the same treatment, keyed by gold-soft instead of lift */
.nav-tile { transition: background-color .15s ease, color .15s ease, transform .15s ease; }
.nav-tile:hover { transform: translateY(-1px); }
/* Buttons: subtle lift on hover (in addition to their existing bg change) */
.btn { transition: background-color .12s ease, color .12s ease, border-color .12s ease, transform .12s ease; }
.btn-primary:hover:not(:disabled),
  .btn-ink:hover:not(:disabled) { transform: translateY(-1px); }
/* ── 38 · Trip plan · orchestration ────────────────────────────────── */
/* ── 39 · Item card · hero + 2-column body ───────────────────────── */
/* ── 39 · Item card · containerized blocks (main column) ─────────── */
/* ── 39 · Item card · right rail panels ──────────────────────────── */
/* ── 40 · Inventory analytics · sparkline cards ──────────────────── */
/* ── 40 · Movers row ─────────────────────────────────────────────── */
/* ── 40 · Liquidity ladder ───────────────────────────────────────── */
/* ── 43 · Holdings ticker ─────────────────────────────────────────── */
/* A. Top band */
/* Sparkline shared visual */
/* B. Asset classes */
/* C. Movers strip */
/* D. Footer band */
/* ── 45 · Vo activity feed ──────────────────────────────────────────── */
/* ── §44 · Residences strip ─────────────────────────────────────── */
/* ── 42 · Active trip card ────────────────────────────────────────── */
/* A. Head band */
/* B. Phase progress */
@keyframes trip-status-pulse {
    0%   { transform: scale(0.8); opacity: 0.85; }
    60%  { transform: scale(1.6); opacity: 0;    }
    100% { transform: scale(1.6); opacity: 0;    }
  }
/* C. Three-column meta */
/* D. Lower band — conditions + next */
/* E. Bottom action band */
/* §46 — STAFF ON DUTY ───────────────────────────────────────────────── */
/* §47 — OPEN DECISIONS ───────────────────────────────────────────── */
/* §48 — NEXT 7 DAYS ──────────────────────────────────────────────── */
/* ====== MOBILE/TABLET RESPONSIVE — SHELL =================================
     Owned by Agent A. Append shell + sidebar + .card media queries between
     the SHELL-START and SHELL-END markers below.
     ======================================================================== */
/* SHELL-START */
/* Base shell layout — desktop-first. Mirrors the old utility classes:
     "h-screen w-screen flex gap-4 p-4 bg-canvas overflow-hidden". */
.app-shell {
    display: flex;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    gap: 16px;
    padding: 16px;
    background: var(--canvas);
    overflow: hidden;
    position: relative;
  }
/* Mobile-only top app-bar — hidden by default, shown < 640px. */
.app-headerbar {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 30;
    height: calc(56px + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) 12px 0;
    background: var(--paper);
    border-bottom: 1px solid var(--hairline);
    align-items: center;
    gap: 8px;
  }
.app-headerbar-trigger {
    width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent;
    border: 1px solid var(--hairline);
    border-radius: var(--radius-input);
    color: var(--ink);
    cursor: pointer;
  }
.app-headerbar-trigger:focus-visible {
    outline: none;
    box-shadow: var(--shadow-focus);
  }
.app-headerbar-brand {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 0;
  }
.app-headerbar-wordmark {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.18em;
    color: var(--ink);
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
.app-headerbar-spacer { width: 40px; flex-shrink: 0; }
/* Drawer close button — hidden on desktop/tablet, shown in mobile drawer. */
.app-sidebar-close {
    display: none;
    position: absolute;
    top: 12px; right: 12px;
    width: 36px; height: 36px;
    align-items: center; justify-content: center;
    background: transparent;
    border: 1px solid var(--hairline);
    border-radius: var(--radius-input);
    color: var(--ink-mute);
    cursor: pointer;
    z-index: 2;
  }
.app-sidebar-close:hover { color: var(--ink); border-color: var(--ink-mute); }
/* Backdrop — fades in behind drawer at mobile. */
.app-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 38;
    background: rgba(20, 16, 12, 0.45);
    border: 0;
    cursor: pointer;
    animation: vo-backdrop-in 200ms ease-out;
  }
@keyframes vo-backdrop-in {
    from { opacity: 0; }
    to   { opacity: 1; }
  }
/* ====== MC ASSISTANT — floating Captain button + popover =============== */
/* The collapsed state is a pill-shaped FAB anchored bottom-right of the
     viewport. The expanded state is a floating popover anchored to the same
     corner. Neither participates in the .app-shell flex layout — they
     overlay content, so the main column never squeezes. */
.mc-assistant-fab {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 50;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px 11px 16px;
    border-radius: 999px;
    border: 1px solid var(--accent);
    background: var(--nav-dark, #1F2A36);
    color: var(--paper, #fff);
    font-family: var(--font-sans, ui-sans-serif), system-ui;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.01em;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(20, 30, 40, 0.18), 0 2px 6px rgba(20, 30, 40, 0.10);
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
  }
.mc-assistant-fab:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(20, 30, 40, 0.22), 0 3px 8px rgba(20, 30, 40, 0.12);
    background: var(--ink, #14202C);
  }
.mc-assistant-fab:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }
.mc-assistant-fab__label { line-height: 1; }
.mc-assistant-fab__unread {
    position: absolute;
    top: -4px; right: -4px;
    min-width: 18px; height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #C0492F;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    border: 2px solid var(--nav-dark, #1F2A36);
  }
.mc-assistant-popover {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 50;
    width: 400px;
    max-width: calc(100vw - 32px);
    height: min(640px, calc(100vh - 40px));
    display: flex;
    flex-direction: column;
    background: var(--paper);
    border: 1px solid var(--hairline);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(20, 30, 40, 0.18), 0 4px 12px rgba(20, 30, 40, 0.10);
    animation: mc-pop-in 180ms cubic-bezier(0.16, 1, 0.3, 1);
  }
@keyframes mc-pop-in {
    from { opacity: 0; transform: translateY(8px) scale(0.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
  }
.mc-assistant__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 14px;
    border-bottom: 1px solid var(--hairline);
    background: var(--canvas);
  }
.mc-assistant__identity { display: flex; align-items: center; gap: 10px; min-width: 0; }
.mc-assistant__identity-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.mc-assistant__name {
    font-family: var(--font-sans, ui-sans-serif), system-ui;
    font-weight: 600;
    font-size: 14px;
    color: var(--ink);
    line-height: 1.1;
  }
.mc-assistant__agent-select {
    font-family: var(--font-sans, ui-sans-serif), system-ui;
    font-weight: 600;
    font-size: 14px;
    color: var(--ink);
    line-height: 1.1;
    background: transparent;
    border: 0;
    padding: 0 18px 0 0;
    margin: 0;
    cursor: pointer;
    max-width: 220px;
  }
.mc-assistant__agent-select:disabled { cursor: default; opacity: 0.6; }
.mc-assistant__collapse {
    width: 32px; height: 32px;
    display: inline-flex;
    align-items: center; justify-content: center;
    border: 1px solid var(--hairline);
    background: transparent;
    border-radius: 8px;
    color: var(--ink-mute);
    cursor: pointer;
  }
.mc-assistant__collapse:hover { background: var(--paper); color: var(--ink); }
.mc-assistant__close-glyph { font-size: 18px; line-height: 1; font-weight: 400; }
.mc-assistant__feed {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 0;
  }
.mc-assistant__empty {
    padding: 18px 16px;
    border-radius: 10px;
    background: var(--canvas);
    border: 1px dashed var(--hairline);
    color: var(--ink-mute);
  }
.mc-assistant__streaming { padding: 4px 2px; }
.mc-assistant__error {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 10px;
    border-radius: 8px;
    background: var(--canvas);
    border: 1px solid var(--hairline);
  }
.mc-assistant__error-dismiss {
    margin-left: auto;
    font-size: 11px;
    color: var(--ink-mute);
    text-decoration: underline;
    background: transparent;
    border: 0;
    cursor: pointer;
  }
.mc-assistant__suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0 14px 10px 14px;
    border-top: 1px solid var(--hairline);
    padding-top: 10px;
    background: var(--paper);
  }
.mc-assistant__suggestion {
    font-family: var(--font-sans, ui-sans-serif), system-ui;
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid var(--hairline);
    background: var(--canvas);
    color: var(--ink);
    cursor: pointer;
    transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
  }
.mc-assistant__suggestion:hover:not(:disabled) {
    border-color: var(--accent);
    color: var(--accent-strong);
  }
.mc-assistant__suggestion:disabled { opacity: 0.5; cursor: not-allowed; }
.mc-assistant__input {
    display: flex;
    gap: 8px;
    padding: 12px 14px 14px 14px;
    border-top: 1px solid var(--hairline);
    background: var(--paper);
    align-items: flex-end;
  }
.mc-assistant__textarea {
    flex: 1;
    resize: none;
    font-family: var(--font-sans, ui-sans-serif), system-ui;
    font-size: 13px;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid var(--hairline);
    background: var(--canvas);
    color: var(--ink);
    line-height: 1.4;
    min-height: 38px;
    max-height: 140px;
  }
.mc-assistant__textarea:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);
  }
/* Hide the floating Captain on mobile — /chat owns small viewports. */
@media (max-width: 639px) {
    .mc-assistant-fab,
    .mc-assistant-popover { display: none !important; }
  }
/* Tablet: keep the popover but slimmer. */
@media (min-width: 640px) and (max-width: 1023px) {
    .mc-assistant-popover { width: 340px; }
  }
/* =============== TABLET ( 640 – 1023px ) — collapsed icon rail =========== */
@media (min-width: 640px) and (max-width: 1023px) {
    .app-shell { gap: 12px; padding: 12px; }

    .app-sidebar {
      width: 72px !important;
      padding: 14px 8px !important;
      height: calc(100vh - 24px) !important;
      height: calc(100dvh - 24px) !important;
    }

    /* Logo strip — hide the wordmark, keep only the V mark */
    .app-sidebar-logo > div { display: none; }
    .app-sidebar-logo { padding: 8px 0 4px; }
    .app-sidebar-logo .brand-mark { width: 40px !important; height: 40px !important; font-size: 20px !important; }

    /* Nav becomes a single-column stack of icon-only tiles */
    .app-sidebar-nav {
      display: flex !important;
      flex-direction: column;
      gap: 6px;
      margin-top: 14px;
    }
    .app-sidebar .nav-tile {
      width: 100%;
      padding: 10px 0;
      border-radius: var(--radius-input);
    }
    .app-sidebar .nav-tile .label { display: none; }

    /* Vo AI button becomes a circular icon button */
    .app-sidebar-aibtn {
      width: 48px !important;
      height: 48px !important;
      padding: 0 !important;
      margin: 16px auto 0 !important;
      border-radius: 999px !important;
    }
    .app-sidebar-aibtn .app-sidebar-aibtn-label { display: none; }

    /* Foot — hide AI Makers band; keep settings cog centred */
    .app-sidebar .sidebar-foot {
      display: flex;
      justify-content: center;
      padding-top: 12px;
      margin-top: 12px;
      margin-bottom: 0;
    }
    .app-sidebar .sidebar-foot .aimakers-band { display: none; }
    .app-sidebar .sidebar-foot .user-pill-wrap {
      position: static;
    }
    .app-sidebar .sidebar-foot .user-cog {
      width: 28px; height: 28px;
    }

    /* Notices are inline with full-screen menu — hide in icon rail */
    .app-sidebar .app-sidebar-notices { display: none; }

    /* Icon rail: drop the section subheadings (the existing .app-sidebar-nav +
       .nav-tile rules below already collapse each grid to an icon stack). */
    .app-sidebar .app-sidebar-sections { margin-top: 10px; gap: 8px; }
    .app-sidebar .app-sidebar-group-title { display: none; }

    .app-main { padding: 0; }

    /* Logo strip — hide the wordmark, keep only the V mark */

    /* Nav becomes a single-column stack of icon-only tiles */
    .app-sidebar .nav-tile .\!label { display: none !important; }

    /* Vo AI button becomes a circular icon button */

    /* Foot — hide AI Makers band; keep settings cog centred */

    /* Notices are inline with full-screen menu — hide in icon rail */

    /* Icon rail: drop the section subheadings (the existing .app-sidebar-nav +
       .nav-tile rules below already collapse each grid to an icon stack). */
  }
/* =============== MOBILE ( < 640px ) — full-screen menu =================== */
@media (max-width: 639px) {
    /* Relax body overflow lock — let mobile do native scroll */
    html, body {
      overflow: visible;
      height: auto;
      min-height: 100dvh;
    }

    .app-shell {
      display: block;
      width: 100%;
      height: auto;
      min-height: 100dvh;
      padding: 0;
      gap: 0;
      overflow: visible;
    }

    /* Show the top app-bar */
    .app-headerbar { display: flex; }

    /* Sidebar becomes a full-screen menu */
    .app-sidebar {
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      right: 0 !important;
      bottom: 0 !important;
      width: 100vw !important;
      max-width: 100vw !important;
      height: 100dvh !important;
      margin: 0 !important;
      padding: calc(env(safe-area-inset-top) + 64px) 20px calc(24px + env(safe-area-inset-bottom)) 20px !important;
      border-radius: 0 !important;
      border: none !important;
      z-index: 40;
      background: var(--paper);
      transform: translateX(-100%);
      transition: transform 240ms ease-out;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
    }
    .app-sidebar.is-open { transform: translateX(0); }

    /* Generous close target — 44px minimum, set above the safe-area inset */
    .app-sidebar-close {
      display: inline-flex !important;
      position: fixed !important;
      top: calc(env(safe-area-inset-top) + 10px) !important;
      right: 12px !important;
      width: 44px !important;
      height: 44px !important;
      background: var(--paper) !important;
      border: 1px solid var(--hairline) !important;
      z-index: 41;
    }
    .app-sidebar-close svg { width: 18px; height: 18px; }

    /* Logo strip — keep editorial wordmark at the top */
    .app-sidebar-logo { padding: 4px 0 8px !important; }

    /* Full-screen menu: 2-col with row-tiles, generous tap area */
    .app-sidebar .app-sidebar-nav {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 10px !important;
      margin-top: 16px !important;
    }
    .app-sidebar .nav-tile {
      padding: 16px 14px !important;
      min-height: 56px;
      flex-direction: row !important;
      align-items: center !important;
      justify-content: flex-start !important;
      gap: 12px !important;
      border: 1px solid var(--hairline-soft);
      border-radius: var(--radius-input);
    }
    .app-sidebar .nav-tile .icon { width: 22px; height: 22px; flex-shrink: 0; }
    .app-sidebar .nav-tile .label {
      display: inline !important;
      font-size: 14px !important;
      font-weight: 500;
      letter-spacing: 0.005em;
      line-height: 1;
    }
    .app-sidebar .nav-tile-active {
      border-color: var(--gold-line);
    }

    /* Vo AI button — full-width pill, becomes the primary call-to-action */
    .app-sidebar-aibtn {
      width: 100% !important;
      height: 52px !important;
      padding: 0 18px !important;
      margin: 18px 0 0 !important;
      border-radius: var(--radius-input) !important;
      font-size: 13px !important;
      letter-spacing: 0.10em;
    }
    .app-sidebar-aibtn .app-sidebar-aibtn-label {
      display: inline !important;
      font-size: 13px !important;
    }

    /* Notices: visible, sits between nav and Vo AI button */
    .app-sidebar-notices {
      margin-top: auto !important;
      padding-top: 0 !important;
    }
    .app-sidebar-notices ul li {
      padding-top: 10px !important;
      padding-bottom: 10px !important;
    }

    /* Foot — full editorial layout returns: AI Makers band + settings cog */
    .app-sidebar .sidebar-foot {
      display: flex !important;
      justify-content: space-between !important;
      align-items: center !important;
      margin-top: 16px !important;
      padding-top: 14px !important;
      margin-bottom: 0 !important;
      border-top: 1px solid var(--hairline-soft);
    }
    /* phantom left spacer = cog width, so the AI Makers band centres */
    .app-sidebar .sidebar-foot::before {
      content: "";
      width: 44px;
      flex-shrink: 0;
    }
    .app-sidebar .sidebar-foot .aimakers-band {
      display: inline-block !important;
      font-size: 10px !important;
      letter-spacing: 0.22em;
    }
    .app-sidebar .sidebar-foot .user-pill-wrap {
      position: static !important;
      top: auto !important; right: auto !important;
    }
    .app-sidebar .sidebar-foot .user-cog {
      width: 44px !important;
      height: 44px !important;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--hairline-soft);
      border-radius: var(--radius-input);
    }
    .app-sidebar .sidebar-foot .user-cog svg { width: 16px; height: 16px; }

    /* Main: edge-to-edge cream card with breathable padding.
       Width = viewport minus the 12px gutter on each side, so margin
       doesn't push past 100vw. */
    .app-main {
      flex: none !important;
      width: calc(100% - 24px);
      min-height: calc(100dvh - 56px - env(safe-area-inset-top));
      margin: 12px;
      margin-top: calc(56px + env(safe-area-inset-top) + 12px);
      padding: 16px;
      border: 1px solid var(--hairline);
      border-radius: var(--radius-card);
      overflow: visible;
      overflow-y: visible;
    }

    /* Disable the bespoke main-scroll behaviour at mobile — native scroll wins */
    .main-scroll {
      overflow-y: visible;
      overflow-x: visible;
      scrollbar-gutter: auto;
    }

    /* Backdrop hidden — menu is full-screen */
    .app-drawer-backdrop { display: none; }
    /* Relax body overflow lock — let mobile do native scroll */

    /* Show the top app-bar */

    /* Sidebar becomes a full-screen menu */

    /* Generous close target — 44px minimum, set above the safe-area inset */

    /* Logo strip — keep editorial wordmark at the top */

    /* Full-screen menu: 2-col with row-tiles, generous tap area */
    .app-sidebar .nav-tile .\!label {
      display: inline !important;
      font-size: 14px !important;
      font-weight: 500 !important;
      letter-spacing: 0.005em !important;
      line-height: 1 !important;
    }

    /* Vo AI button — full-width pill, becomes the primary call-to-action */

    /* Notices: visible, sits between nav and Vo AI button */

    /* Foot — full editorial layout returns: AI Makers band + settings cog */
    /* phantom left spacer = cog width, so the AI Makers band centres */

    /* Main: edge-to-edge cream card with breathable padding.
       Width = viewport minus the 12px gutter on each side, so margin
       doesn't push past 100vw. */

    /* Disable the bespoke main-scroll behaviour at mobile — native scroll wins */

    /* Backdrop hidden — menu is full-screen */
  }
/* SHELL-END */
/* ====== MOBILE/TABLET RESPONSIVE — DESIGN PAGE ===========================
     Owned by Agent B. Append design-page section media queries between the
     DESIGN-START and DESIGN-END markers below.
     ======================================================================== */
/* DESIGN-START */
/* Shared scroll wrapper used by data-table / staff-matrix / access-matrix /
     roster / staff-table. Gives a touch-momentum scroll on mobile + a soft
     fade hint on the right edge when overflow is present. */
.table-scroll {
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
.table-scroll > table,
  .table-scroll > .roster { min-width: 100%; }
/* Workflow flow-canvas — fixed 4-col layout is far too wide for phones.
     Allow horizontal scroll so the editorial layout is preserved. */
/* ────────────────────────────────────────────────────────────────────
     TABLET + MOBILE — applies below desktop (≤ 1023px)
     ──────────────────────────────────────────────────────────────────── */
@media (max-width: 1023px) {
    /* Editorial display sizes — keep proportion, just smaller */
    .display-responsive.display-lg { font-size: 44px; line-height: 1.08; }
    .display-xl { font-size: 64px; }
    .display-md { font-size: 42px; }

    /* Figures — match the reduced display scale */
    .figure-lg { font-size: 60px; }
    .figure-md { font-size: 42px; }

    /* Letterhead — generous padding becomes cramped on tablet */
    .letterhead { padding: 36px 36px; }
    .letterhead::before { left: 36px; right: 36px; top: 18px; }
    .letterhead .lh-body { font-size: 17px; }
    .letterhead .lh-signature { font-size: 22px; }

    /* Trip plan meta — 5 columns → 2 columns on tablet */
    .trip-plan-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    /* Cadence, aging — 4 columns → 2 on tablet */
    .cadence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .aging { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    /* Dash clock — face still inline-left but tighter */
    .dash-clock { grid-template-columns: 200px 1fr; gap: 24px; padding: 24px 24px; }
    .dash-clock .face { width: 200px; height: 200px; }
    .dash-clock .digital .big { font-size: 56px; }

    /* SOP step — owner pill drops to a new row under the body */
    .sop-step { grid-template-columns: 40px 1fr; row-gap: 8px; }
    .sop-step .step-owner { grid-column: 2 / -1; justify-self: start; width: auto; }
    .sop-step.is-checklist .step-check-wrap { grid-column: 1; }

    /* Task row — owner + due collapse below title */
    .task-row { grid-template-columns: 1fr 1fr; gap: 8px 14px; }
    .task-row .due { text-align: right; }

    /* Lot card — stack photo above body */
    .lot { grid-template-columns: 1fr; }
    .lot .photo { min-height: 200px; }

    /* Photography hero caption stays stacked elegantly */
    .photo-hero-caption { flex-direction: column; align-items: start; gap: 8px; }

    /* Itinerary row — let the rightmost "who" wrap if needed */
    .itin { grid-template-columns: 80px 1fr; gap: 14px; padding: 16px 0; }
    .itin .who { grid-column: 2; text-align: left; padding-top: 2px; }

    /* Audit row — collapse to two visual lines */
    .audit-row { grid-template-columns: 90px 1fr; gap: 4px 12px; padding: 12px 0; }
    .audit-row .ts { grid-column: 1; grid-row: 1; }
    .audit-row .actor { grid-column: 2; grid-row: 1; }
    .audit-row > div:nth-child(3) { grid-column: 1 / -1; grid-row: 2; padding-left: 0; }
    .audit-row .right { display: none; }

    /* Holdings tile — responsive rules now live in the block CSS
       (packages/blocks/src/asset/holdings-ticker/holdings-ticker.css). */

    /* Vo activity feed — head + stats stack */
    .vo-feed-head { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .vo-feed-head .stats { flex-wrap: wrap; gap: 18px; }
    .vo-feed-head .stats .stat { align-items: flex-start; }
    .vo-feed-head .stats .stat:not(:first-child) { padding-left: 18px; }
    .vo-feed-head .stats .stat .lbl { text-align: left; }

    /* Flow canvas keeps horizontal scroll on tablet */
    .flow-canvas-scroll > .grid { min-width: 760px; }
    .flow-canvas-scroll svg.flow-edges { min-width: 760px; }

    /* Photography hero — minimum height that still looks editorial.
       Aspect-ratio dropped so min-height doesn't force width. */
    .photo-hero-fill {
      aspect-ratio: auto;
      width: 100%;
      max-width: 100%;
      height: 240px;
      min-height: 240px;
    }
  }
/* ────────────────────────────────────────────────────────────────────
     PHONE — < 640px
     ──────────────────────────────────────────────────────────────────── */
@media (max-width: 639px) {
    /* Editorial display — fits a 375px viewport without overflow */
    .display-responsive.display-lg { font-size: 36px; line-height: 1.1; }
    .display-xl { font-size: 44px; }
    .display-md { font-size: 32px; }
    .lede { font-size: 15.5px; }

    /* Section eyebrow — tighter letter-spacing fits short widths */
    .section-eyebrow { gap: 8px; }

    /* Figures — tabular nums + phone-friendly sizes per R2.9 spec */
    .figure-lg { font-size: 44px; font-variant-numeric: tabular-nums; line-height: 1; }
    .figure-md { font-size: 32px; font-variant-numeric: tabular-nums; line-height: 1.05; }
    .figure-sm { font-size: 24px; font-variant-numeric: tabular-nums; line-height: 1.1; }

    /* Cover §00 dl */
    .dl-fin { grid-template-columns: 110px 1fr; }

    /* Letterhead — phone padding */
    .letterhead { padding: 24px 22px; }
    .letterhead::before { left: 22px; right: 22px; top: 12px; }
    .letterhead .lh-meta { flex-direction: column; gap: 4px; margin-bottom: 20px; }
    .letterhead .lh-body { font-size: 15.5px; line-height: 1.5; }
    .letterhead .lh-signature { font-size: 20px; margin-top: 24px; }

    /* Precheck — 2 col → 1 col */
    .precheck { padding: 14px 16px; }
    .precheck ul { grid-template-columns: 1fr; gap: 8px 0; }

    /* Trip plan meta — 5 cols → 1 col */
    .trip-plan-meta { grid-template-columns: minmax(0, 1fr); gap: 12px;
      padding-top: 12px; margin-top: 14px; }
    .trip-plan-meta .cell {
      padding-bottom: 12px;
      border-bottom: 1px solid var(--hairline-soft);
    }
    .trip-plan-meta .cell:last-child { border-bottom: 0; padding-bottom: 0; }

    /* Cadence + aging — 4 → 1 col */
    .cadence { grid-template-columns: minmax(0, 1fr); }
    .aging { grid-template-columns: minmax(0, 1fr); }

    /* SOP header — title + meta stack */
    .sop { padding: 20px 18px; }
    .sop-header { flex-direction: column; align-items: stretch; gap: 8px; }
    .sop-meta { flex-wrap: wrap; gap: 8px 14px; font-size: 10px; }
    .sop-title { font-size: 19px; }
    .sop-step { grid-template-columns: 32px 1fr; gap: 4px 12px; }
    .sop-step .step-num { font-size: 16px; }

    /* Dash clock — stack vertically, face above digital */
    .dash-clock { grid-template-columns: minmax(0, 1fr);
      gap: 18px; padding: 20px 18px; align-items: stretch; }
    .dash-clock .face { width: 180px; height: 180px; margin: 0 auto; }
    .dash-clock .digital .big { font-size: 48px; }
    .dash-clock .digital .big .secs { font-size: 22px; }
    .dash-clock .world-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); padding-top: 12px; }
    .dash-clock .world-strip .wz { padding: 0 6px; }
    .dash-clock .world-strip .wz .wt { font-size: 16px; }
    .dash-clock .world-strip .wz .wc { font-size: 9.5px; }
    .dash-clock .world-strip .wz .lbl { font-size: 8.5px; letter-spacing: 0.10em; }
    .dash-clock .sun-arc { margin-top: 14px; height: 48px; }
    .dash-clock .sun-arc .sun-cap { font-size: 8.5px; letter-spacing: 0.10em; }

    /* Trip status — head 2-col + foot 2-col + meta 3-col all collapse */
    .trip-status-head { padding: 22px 20px 20px; gap: 16px; }
    .trip-status-title { font-size: 26px; }
    .trip-status-lede { font-size: 13px; }
    .trip-status-tail-num { font-size: 22px; }
    .trip-status-meta .cell { padding: 16px 20px; }
    .trip-status-foot .foot-l,
    .trip-status-foot .foot-r { padding: 18px 20px; }
    .trip-status-actions { padding: 16px 20px; gap: 8px; }

    /* Holdings — responsive rules now live in the block CSS. */

    /* Vo activity feed — timeline left + dot columns shrink */
    .vo-feed-head { padding: 18px 20px; }
    .vo-feed-tabs { padding: 10px 20px; gap: 14px; overflow-x: auto;
      -webkit-overflow-scrolling: touch; flex-wrap: nowrap; }
    .vo-feed-tabs .tab { white-space: nowrap; flex: 0 0 auto; }
    .vo-feed-list { padding: 4px 20px; }
    .vo-feed-row { grid-template-columns: 64px 18px 1fr; -moz-column-gap: 10px; column-gap: 10px;
      padding: 12px 0; }
    .vo-feed-row .vo-feed-when { font-size: 12px; }
    .vo-feed-row .vo-feed-when .day { font-size: 8.5px; letter-spacing: 0.12em; }
    .vo-feed-track { width: 18px; }
    .vo-feed-foot { padding: 14px 20px; flex-direction: column; gap: 6px; align-items: flex-start; }
    .vo-feed-head .stats { gap: 14px; }
    .vo-feed-head .stats .stat .num { font-size: 28px; }
    .vo-feed-head .stats .stat:not(:first-child) { padding-left: 14px; }

    /* Inventory analytics — movers stack */
    .movers-row { grid-template-columns: minmax(0, 1fr); gap: 6px;
      padding: 14px 18px; }
    .movers-row .movers-delta { text-align: left; }

    /* Itin row — narrower */
    .itin { grid-template-columns: 64px 1fr; gap: 12px; padding: 14px 0; }
    .itin .what .title { font-size: 17px; }

    /* Workflow flow-canvas — keep horizontal scroll on phone too */
    .flow-canvas-scroll > .grid { min-width: 680px; }
    .flow-canvas-scroll svg.flow-edges { min-width: 680px; }

    /* Photography hero — phone-friendly. aspect-ratio +
       min-height: 200px would lock the *width* at 467 (= 200 × 21/9),
       overflowing on 375. Drop aspect-ratio + use min-height instead. */
    .photo-hero-fill {
      aspect-ratio: auto;
      width: 100%;
      min-height: 200px;
      height: 200px;
      max-width: 100%;
    }
    .photo-hero-caption { padding: 14px 18px; }

    /* Lot — body padding tightens */
    .lot .body { padding: 18px 20px; }
    .lot .title { font-size: 20px; }
    .est-range { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .est-range .nums { font-size: 24px; }

    /* Subtle gold fade on the right edge of any scrollable table to hint */
    .table-scroll::after {
      content: "";
      position: absolute;
      top: 0; right: 0; bottom: 0;
      width: 28px;
      pointer-events: none;
      background: linear-gradient(90deg, rgba(255,253,247,0) 0%, var(--paper) 100%);
      opacity: 0.85;
    }

    /* Staff directory — single column via auto-fill already works */
    .staff-card { padding: 16px 16px; }
    .contact-list { grid-template-columns: 76px 1fr; gap: 4px 10px; }

    /* Tighter section eyebrow on phone */
    .section-eyebrow { font-size: 10px; letter-spacing: 0.18em; }

    /* Tighter h2 / h3 headings */
    h2 { font-size: 26px; line-height: 1.15; }
    h3 { font-size: 17px; }
    /* Editorial display — fits a 375px viewport without overflow */

    /* Section eyebrow — tighter letter-spacing fits short widths */

    /* Figures — tabular nums + phone-friendly sizes per R2.9 spec */

    /* Cover §00 dl */

    /* Letterhead — phone padding */

    /* Precheck — 2 col → 1 col */

    /* Trip plan meta — 5 cols → 1 col */
    .trip-plan-meta .\!cell {
      padding-bottom: 12px !important;
      border-bottom: 1px solid var(--hairline-soft) !important;
    }
    .trip-plan-meta .\!cell:last-child { border-bottom: 0 !important; padding-bottom: 0 !important; }

    /* Cadence + aging — 4 → 1 col */

    /* SOP header — title + meta stack */

    /* Dash clock — stack vertically, face above digital */

    /* Trip status — head 2-col + foot 2-col + meta 3-col all collapse */
    .trip-status-meta .\!cell { padding: 16px 20px !important; }

    /* Holdings — responsive rules now live in the block CSS. */

    /* Vo activity feed — timeline left + dot columns shrink */

    /* Inventory analytics — movers stack */

    /* Itin row — narrower */

    /* Workflow flow-canvas — keep horizontal scroll on phone too */

    /* Photography hero — phone-friendly. aspect-ratio +
       min-height: 200px would lock the *width* at 467 (= 200 × 21/9),
       overflowing on 375. Drop aspect-ratio + use min-height instead. */

    /* Lot — body padding tightens */

    /* Subtle gold fade on the right edge of any scrollable table to hint */

    /* Staff directory — single column via auto-fill already works */

    /* Tighter section eyebrow on phone */

    /* Tighter h2 / h3 headings */
    /* Editorial display — fits a 375px viewport without overflow */

    /* Section eyebrow — tighter letter-spacing fits short widths */

    /* Figures — tabular nums + phone-friendly sizes per R2.9 spec */

    /* Cover §00 dl */

    /* Letterhead — phone padding */

    /* Precheck — 2 col → 1 col */

    /* Trip plan meta — 5 cols → 1 col */
    .trip-plan-meta .\!cell {
      padding-bottom: 12px !important;
      border-bottom: 1px solid var(--hairline-soft) !important;
    }
    .trip-plan-meta .\!cell:last-child { border-bottom: 0 !important; padding-bottom: 0 !important; }

    /* Cadence + aging — 4 → 1 col */

    /* SOP header — title + meta stack */

    /* Dash clock — stack vertically, face above digital */

    /* Trip status — head 2-col + foot 2-col + meta 3-col all collapse */
    .trip-status-meta .\!cell { padding: 16px 20px !important; }

    /* Holdings — responsive rules now live in the block CSS. */

    /* Vo activity feed — timeline left + dot columns shrink */

    /* Inventory analytics — movers stack */

    /* Itin row — narrower */

    /* Workflow flow-canvas — keep horizontal scroll on phone too */

    /* Photography hero — phone-friendly. aspect-ratio +
       min-height: 200px would lock the *width* at 467 (= 200 × 21/9),
       overflowing on 375. Drop aspect-ratio + use min-height instead. */

    /* Lot — body padding tightens */

    /* Subtle gold fade on the right edge of any scrollable table to hint */

    /* Staff directory — single column via auto-fill already works */

    /* Tighter section eyebrow on phone */

    /* Tighter h2 / h3 headings */
    /* Editorial display — fits a 375px viewport without overflow */

    /* Section eyebrow — tighter letter-spacing fits short widths */

    /* Figures — tabular nums + phone-friendly sizes per R2.9 spec */

    /* Cover §00 dl */

    /* Letterhead — phone padding */

    /* Precheck — 2 col → 1 col */

    /* Trip plan meta — 5 cols → 1 col */
    .trip-plan-meta .\!cell {
      padding-bottom: 12px !important;
      border-bottom: 1px solid var(--hairline-soft) !important;
    }
    .trip-plan-meta .\!cell:last-child { border-bottom: 0 !important; padding-bottom: 0 !important; }

    /* Cadence + aging — 4 → 1 col */

    /* SOP header — title + meta stack */

    /* Dash clock — stack vertically, face above digital */

    /* Trip status — head 2-col + foot 2-col + meta 3-col all collapse */
    .trip-status-meta .\!cell { padding: 16px 20px !important; }

    /* Holdings — responsive rules now live in the block CSS. */

    /* Vo activity feed — timeline left + dot columns shrink */

    /* Inventory analytics — movers stack */

    /* Itin row — narrower */

    /* Workflow flow-canvas — keep horizontal scroll on phone too */

    /* Photography hero — phone-friendly. aspect-ratio +
       min-height: 200px would lock the *width* at 467 (= 200 × 21/9),
       overflowing on 375. Drop aspect-ratio + use min-height instead. */

    /* Lot — body padding tightens */

    /* Subtle gold fade on the right edge of any scrollable table to hint */

    /* Staff directory — single column via auto-fill already works */

    /* Tighter section eyebrow on phone */

    /* Tighter h2 / h3 headings */
    /* Editorial display — fits a 375px viewport without overflow */

    /* Section eyebrow — tighter letter-spacing fits short widths */

    /* Figures — tabular nums + phone-friendly sizes per R2.9 spec */

    /* Cover §00 dl */

    /* Letterhead — phone padding */

    /* Precheck — 2 col → 1 col */

    /* Trip plan meta — 5 cols → 1 col */

    /* Cadence + aging — 4 → 1 col */

    /* SOP header — title + meta stack */

    /* Dash clock — stack vertically, face above digital */

    /* Trip status — head 2-col + foot 2-col + meta 3-col all collapse */

    /* Holdings — responsive rules now live in the block CSS. */

    /* Vo activity feed — timeline left + dot columns shrink */

    /* Inventory analytics — movers stack */

    /* Itin row — narrower */
    .itin .what .\!title { font-size: 17px !important; }

    /* Workflow flow-canvas — keep horizontal scroll on phone too */

    /* Photography hero — phone-friendly. aspect-ratio +
       min-height: 200px would lock the *width* at 467 (= 200 × 21/9),
       overflowing on 375. Drop aspect-ratio + use min-height instead. */

    /* Lot — body padding tightens */
    .lot .\!title { font-size: 20px !important; }

    /* Subtle gold fade on the right edge of any scrollable table to hint */

    /* Staff directory — single column via auto-fill already works */

    /* Tighter section eyebrow on phone */

    /* Tighter h2 / h3 headings */
    /* Editorial display — fits a 375px viewport without overflow */

    /* Section eyebrow — tighter letter-spacing fits short widths */

    /* Figures — tabular nums + phone-friendly sizes per R2.9 spec */

    /* Cover §00 dl */

    /* Letterhead — phone padding */

    /* Precheck — 2 col → 1 col */

    /* Trip plan meta — 5 cols → 1 col */

    /* Cadence + aging — 4 → 1 col */

    /* SOP header — title + meta stack */

    /* Dash clock — stack vertically, face above digital */

    /* Trip status — head 2-col + foot 2-col + meta 3-col all collapse */

    /* Holdings — responsive rules now live in the block CSS. */

    /* Vo activity feed — timeline left + dot columns shrink */

    /* Inventory analytics — movers stack */

    /* Itin row — narrower */

    /* Workflow flow-canvas — keep horizontal scroll on phone too */

    /* Photography hero — phone-friendly. aspect-ratio +
       min-height: 200px would lock the *width* at 467 (= 200 × 21/9),
       overflowing on 375. Drop aspect-ratio + use min-height instead. */

    /* Lot — body padding tightens */
    .lot .\!body { padding: 18px 20px !important; }

    /* Subtle gold fade on the right edge of any scrollable table to hint */

    /* Staff directory — single column via auto-fill already works */

    /* Tighter section eyebrow on phone */

    /* Tighter h2 / h3 headings */
    /* Editorial display — fits a 375px viewport without overflow */

    /* Section eyebrow — tighter letter-spacing fits short widths */

    /* Figures — tabular nums + phone-friendly sizes per R2.9 spec */

    /* Cover §00 dl */

    /* Letterhead — phone padding */

    /* Precheck — 2 col → 1 col */

    /* Trip plan meta — 5 cols → 1 col */

    /* Cadence + aging — 4 → 1 col */

    /* SOP header — title + meta stack */

    /* Dash clock — stack vertically, face above digital */

    /* Trip status — head 2-col + foot 2-col + meta 3-col all collapse */

    /* Holdings — responsive rules now live in the block CSS. */

    /* Vo activity feed — timeline left + dot columns shrink */

    /* Inventory analytics — movers stack */

    /* Itin row — narrower */
    .itin .what .\!title { font-size: 17px !important; }

    /* Workflow flow-canvas — keep horizontal scroll on phone too */

    /* Photography hero — phone-friendly. aspect-ratio +
       min-height: 200px would lock the *width* at 467 (= 200 × 21/9),
       overflowing on 375. Drop aspect-ratio + use min-height instead. */

    /* Lot — body padding tightens */
    .lot .\!title { font-size: 20px !important; }

    /* Subtle gold fade on the right edge of any scrollable table to hint */

    /* Staff directory — single column via auto-fill already works */

    /* Tighter section eyebrow on phone */

    /* Tighter h2 / h3 headings */
  }
/* ────────────────────────────────────────────────────────────────────
     R2.9 PHONE additions — covers item-card, routing rule, holdings,
     dashboard clock, inventory, vo-feed dot collapse, staff cards,
     trip-plan owner collapse, audit, table-scroll wrapping
     ──────────────────────────────────────────────────────────────────── */
/* Cap design-page-main width on tablet + phone so no child SVG / table
     / grid item can push the viewport sideways. Inner sections still scroll
     individually where appropriate (table-scroll / flow-canvas-scroll). */
@media (max-width: 1023px) {
    .design-page-main {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      overflow-x: hidden;
    }
    .design-page-main > section { max-width: 100%; min-width: 0; }
    .design-page-main .grid > * { min-width: 0; }
    .spark-card svg { max-width: 100%; height: auto; }
    .dash-clock .sun-arc svg { max-width: 100%; }

    /* §18 App header showcase — command-K pill */
    .design-page-main .ah-cmdk { max-width: 100%; }
    /* §20 Drawer showcase — fixed 360px width drawer; let it scroll */
    .design-page-main .drawer-demo { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .design-page-main .drawer-demo .drawer { width: 280px; }
    /* Generic Tailwind grid items inside design page */
    .design-page-main [class*="grid-cols"] > * { min-width: 0; }
  }
@media (max-width: 639px) {
    /* §22 Routing rule — let inline strong wrap properly */
    .route-rule {
      padding: 14px 16px;
      font-size: 15.5px; line-height: 1.5;
      overflow-wrap: anywhere;
      word-break: break-word;
    }
    .route-rule strong {
      display: inline; padding: 1px 3px;
      overflow-wrap: anywhere;
    }
    .route-rule .num { display: inline; font-size: 12px; margin-right: 6px; }

    /* §39 Item card — hero shorter, rail panels stack inline */
    .item-hero-fill { aspect-ratio: 4 / 3; }
    .item-hero-cap { padding: 14px 16px; }
    .item-grid { gap: 18px; }
    .item-block-head { padding: 12px 16px; gap: 10px; flex-wrap: wrap; }
    .item-block-body { padding: 16px 16px; }
    .item-rail-head { padding: 10px 16px; }
    .item-rail-body { padding: 16px 16px; }
    /* Right-rail panels become inline cards below main column — order
       follows the natural DOM since item-grid collapses to 1-col already */

    /* §39 Item card maintenance table — horizontal scroll */
    .item-block .data-table { display: block; overflow-x: auto;
      -webkit-overflow-scrolling: touch; min-width: 0; }
    .item-block .data-table > thead,
    .item-block .data-table > tbody { min-width: 520px; }

    /* §40 Inventory analytics — sparkline cards already 1-col via flow */
    .spark-card { padding: 12px 14px 14px; }
    .spark-card .spark-value { font-size: 17px; }

    /* §41 Dashboard clock — already mostly handled; ensure single column */
    .dash-clock { grid-template-columns: minmax(0, 1fr); }
    .dash-clock .face { width: 180px; height: 180px; }

    /* §43 Holdings — responsive rules now live in the block CSS. */

    /* §17 SOP step-owner — avatar-only with name underneath title */
    .sop-step { grid-template-columns: 32px 1fr; gap: 8px 12px; }
    .sop-step .step-owner {
      grid-column: 2 / -1;
      justify-self: start;
      display: inline-flex; align-items: center; gap: 8px;
      max-width: 100%; min-width: 0;
    }
    .sop-step .step-owner .text { min-width: 0; }
    .sop-step .step-owner .nm,
    .sop-step .step-owner .lbl {
      overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
      max-width: 60vw;
    }

    /* §34 Audit table → tighter rows already done; ensure right column drops */
    .audit-row .right { display: none; }

    /* §37 Staff directory — staff-card 1-col, table view scrolls */
    .staff-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .staff-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

    /* §36 Staff access matrix and §34 audit-matrix — horizontal scroll */
    .staff-matrix, .access-matrix {
      display: block; overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }

    /* §28 Cadence column already 1-col; tighten padding */
    .cadence-item { padding: 14px 16px; }

    /* Active trip status — tighten action bar */
    .trip-status-actions { flex-wrap: wrap; }
    .trip-status-actions .btn { flex: 1; min-width: 0; }

    /* Briefing greeting on home — keep numerals tabular */
    .briefing-greeting { font-variant-numeric: tabular-nums; }

    /* Generic Tailwind grid-cols-2/3 reflow on tight phones — keep
       2-col KPI grid but tighten cells */
    .panel.p-5 { padding: 14px !important; }
    /* §22 Routing rule — let inline strong wrap properly */

    /* §39 Item card — hero shorter, rail panels stack inline */
    /* Right-rail panels become inline cards below main column — order
       follows the natural DOM since item-grid collapses to 1-col already */

    /* §39 Item card maintenance table — horizontal scroll */

    /* §40 Inventory analytics — sparkline cards already 1-col via flow */

    /* §41 Dashboard clock — already mostly handled; ensure single column */

    /* §43 Holdings — responsive rules now live in the block CSS. */

    /* §17 SOP step-owner — avatar-only with name underneath title */
    .sop-step .step-owner .\!text { min-width: 0 !important; }

    /* §34 Audit table → tighter rows already done; ensure right column drops */

    /* §37 Staff directory — staff-card 1-col, table view scrolls */

    /* §36 Staff access matrix and §34 audit-matrix — horizontal scroll */

    /* §28 Cadence column already 1-col; tighten padding */

    /* Active trip status — tighten action bar */

    /* Briefing greeting on home — keep numerals tabular */

    /* Generic Tailwind grid-cols-2/3 reflow on tight phones — keep
       2-col KPI grid but tighten cells */
  }
/* DESIGN-END */
/* ====== MOBILE/TABLET RESPONSIVE — APP ROUTES ============================
     Owned by Agent C. Append real-app route media queries between the
     ROUTES-START and ROUTES-END markers below.
     ======================================================================== */
/* ROUTES-START */
/* ── Home briefing — / ─────────────────────────────────────────────── */
@media (max-width: 639px) {
    .briefing-greeting {
      font-size: 36px;
      line-height: 1.1;
      letter-spacing: -0.012em;
    }
    /* Reflow the 56px / 1fr / auto row so the action drops underneath
       the title instead of crushing into a third column. */
    .briefing-item {
      grid-template-columns: 36px 1fr;
      grid-template-areas:
        "num  body"
        ".    action";
      -moz-column-gap: 14px;
           column-gap: 14px;
      row-gap: 6px;
      padding: 14px 0;
    }
    .briefing-item .num    { grid-area: num;   font-size: 18px; }
    .briefing-item > div:nth-child(2) { grid-area: body; }
    .briefing-item .title  { font-size: 17px; }
    .briefing-item .action {
      grid-area: action;
      justify-self: start;
      font-size: 11px;
    }
    /* Reflow the 56px / 1fr / auto row so the action drops underneath
       the title instead of crushing into a third column. */
    .briefing-item .\!title  { font-size: 17px !important; }
    /* Reflow the 56px / 1fr / auto row so the action drops underneath
       the title instead of crushing into a third column. */
    .briefing-item .\!action {
      grid-area: action !important;
      justify-self: start !important;
      font-size: 11px !important;
    }
  }
/* ── Section eyebrow — keep numbers from wrapping awkwardly ────────── */
@media (max-width: 639px) {
    .section-eyebrow { gap: 10px; }
  }
/* ── Settings tabs — already a flex row; allow horizontal scroll so
       the four tabs don't crush on narrow screens. ──────────────────── */
@media (max-width: 639px) {
    .tabs {
      overflow-x: auto;
      flex-wrap: nowrap;
      scrollbar-width: none;
      margin-left: -4px;
      margin-right: -4px;
      padding-left: 4px;
      padding-right: 4px;
    }
    .tabs::-webkit-scrollbar { display: none; }
    .tabs .tab { white-space: nowrap; flex: 0 0 auto; }
  }
/* ROUTES-END */
/* §49 — FULL CALENDAR ───────────────────────────────────────────── */
/* — Header band — */
/* — Filter chips — */
/* — Month view — */
/* Multi-day overlay bars on month rows */
/* — Week view — */
/* — Day view — */
/* Day-view side panel */
/* — Year view — */
/* — Mobile responsive — */
/* ------ TABLET ( 641 – 1023px ) ------ */
/* ------ PHONE ( ≤ 640px ) — dot-mode month, stacked week ------ */
/* §49.1 — CALENDAR EVENT DRAWER ──────────────────────────────────── */
/* Event detail drawer — */
@keyframes cal-drawer-bd-in {
    from { opacity: 0; }
    to   { opacity: 1; }
  }
@keyframes cal-drawer-in {
    from { transform: translateX(100%); }
    to   { transform: translateX(0); }
  }
/* ═════════════════════════════════════════════════════════════════════
   *  R3.5 — INVENTORY EXPANSION · §51-§65
   *  Family-office inventory system. Editorial chassis throughout.
   * ════════════════════════════════════════════════════════════════════ */
/* ── §51 · Inventory table ──────────────────────────────────────── */
/* ── §52 · Valuation history ────────────────────────────────────── */
/* ── §53 · Insurance binder ─────────────────────────────────────── */
/* ── §54 · Document vault ───────────────────────────────────────── */
/* ── §55 · Comparables list ─────────────────────────────────────── */
/* ── §56 · Provenance chain ─────────────────────────────────────── */
/* ── §57 · Vendor contract ──────────────────────────────────────── */
/* ── §58 · Use log ──────────────────────────────────────────────── */
/* ── §59 · Condition report ─────────────────────────────────────── */
/* ── §60 · Storage location ledger ──────────────────────────────── */
/* ── §61 · Loan record ──────────────────────────────────────────── */
/* ── §62 · Restoration project ──────────────────────────────────── */
/* ── §63 · Acquisition pipeline ─────────────────────────────────── */
/* ── §64 · Asset relationship graph ─────────────────────────────── */
/* ── §65 · Tax assessment ───────────────────────────────────────── */
/* §MCP — Settings · MCP servers page + mapping inspector drawer */
/* Drawer scrim — covers the whole viewport with a soft veil. */
.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none{
  pointer-events: none;
}
.pointer-events-auto{
  pointer-events: auto;
}
.\!visible{
  visibility: visible !important;
}
.visible{
  visibility: visible;
}
.invisible{
  visibility: hidden;
}
.collapse{
  visibility: collapse;
}
.static{
  position: static;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.sticky{
  position: sticky;
}
.inset-0{
  inset: 0px;
}
.inset-x-0{
  left: 0px;
  right: 0px;
}
.inset-y-0{
  top: 0px;
  bottom: 0px;
}
.-bottom-0\.5{
  bottom: -0.125rem;
}
.-bottom-\[3px\]{
  bottom: -3px;
}
.-bottom-\[5px\]{
  bottom: -5px;
}
.-left-\[10000px\]{
  left: -10000px;
}
.-right-0\.5{
  right: -0.125rem;
}
.-right-\[5px\]{
  right: -5px;
}
.-top-0\.5{
  top: -0.125rem;
}
.-top-3{
  top: -0.75rem;
}
.bottom-0{
  bottom: 0px;
}
.bottom-1{
  bottom: 0.25rem;
}
.bottom-3{
  bottom: 0.75rem;
}
.bottom-6{
  bottom: 1.5rem;
}
.bottom-\[12px\]{
  bottom: 12px;
}
.bottom-\[26px\]{
  bottom: 26px;
}
.left-0{
  left: 0px;
}
.left-0\.5{
  left: 0.125rem;
}
.left-1{
  left: 0.25rem;
}
.left-1\.5{
  left: 0.375rem;
}
.left-1\/2{
  left: 50%;
}
.left-2{
  left: 0.5rem;
}
.left-3{
  left: 0.75rem;
}
.left-4{
  left: 1rem;
}
.left-5{
  left: 1.25rem;
}
.left-6{
  left: 1.5rem;
}
.left-\[11px\]{
  left: 11px;
}
.left-\[14px\]{
  left: 14px;
}
.left-\[15px\]{
  left: 15px;
}
.left-\[3px\]{
  left: 3px;
}
.right-0{
  right: 0px;
}
.right-1{
  right: 0.25rem;
}
.right-2{
  right: 0.5rem;
}
.right-3{
  right: 0.75rem;
}
.right-4{
  right: 1rem;
}
.right-6{
  right: 1.5rem;
}
.right-\[11px\]{
  right: 11px;
}
.right-\[12px\]{
  right: 12px;
}
.right-\[20px\]{
  right: 20px;
}
.top-0{
  top: 0px;
}
.top-0\.5{
  top: 0.125rem;
}
.top-1{
  top: 0.25rem;
}
.top-1\/2{
  top: 50%;
}
.top-10{
  top: 2.5rem;
}
.top-2{
  top: 0.5rem;
}
.top-3{
  top: 0.75rem;
}
.top-3\.5{
  top: 0.875rem;
}
.top-4{
  top: 1rem;
}
.top-\[104px\]{
  top: 104px;
}
.top-\[11px\]{
  top: 11px;
}
.top-\[14px\]{
  top: 14px;
}
.top-\[20px\]{
  top: 20px;
}
.top-\[33px\]{
  top: 33px;
}
.top-\[3px\]{
  top: 3px;
}
.top-\[88px\]{
  top: 88px;
}
.top-full{
  top: 100%;
}
.isolate{
  isolation: isolate;
}
.z-10{
  z-index: 10;
}
.z-20{
  z-index: 20;
}
.z-30{
  z-index: 30;
}
.z-40{
  z-index: 40;
}
.z-50{
  z-index: 50;
}
.z-\[1\]{
  z-index: 1;
}
.z-\[2\]{
  z-index: 2;
}
.z-\[60\]{
  z-index: 60;
}
.z-\[80\]{
  z-index: 80;
}
.col-span-2{
  grid-column: span 2 / span 2;
}
.row-span-2{
  grid-row: span 2 / span 2;
}
.\!m-0{
  margin: 0px !important;
}
.m-0{
  margin: 0px;
}
.m-1{
  margin: 0.25rem;
}
.m-2{
  margin: 0.5rem;
}
.m-3{
  margin: 0.75rem;
}
.m-4{
  margin: 1rem;
}
.m-6{
  margin: 1.5rem;
}
.m-auto{
  margin: auto;
}
.-mx-3{
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}
.-mx-4{
  margin-left: -1rem;
  margin-right: -1rem;
}
.-mx-6{
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}
.mx-1{
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-2{
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-\[54px\]{
  margin-left: 54px;
  margin-right: 54px;
}
.mx-\[9px\]{
  margin-left: 9px;
  margin-right: 9px;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.my-1{
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-1\.5{
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
}
.my-10{
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.my-2{
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-3{
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.my-4{
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-5{
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
.my-6{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.-mb-px{
  margin-bottom: -1px;
}
.-mr-0\.5{
  margin-right: -0.125rem;
}
.-mt-2{
  margin-top: -0.5rem;
}
.-mt-px{
  margin-top: -1px;
}
.mb-0\.5{
  margin-bottom: 0.125rem;
}
.mb-1{
  margin-bottom: 0.25rem;
}
.mb-1\.5{
  margin-bottom: 0.375rem;
}
.mb-10{
  margin-bottom: 2.5rem;
}
.mb-2{
  margin-bottom: 0.5rem;
}
.mb-2\.5{
  margin-bottom: 0.625rem;
}
.mb-3{
  margin-bottom: 0.75rem;
}
.mb-3\.5{
  margin-bottom: 0.875rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-5{
  margin-bottom: 1.25rem;
}
.mb-6{
  margin-bottom: 1.5rem;
}
.mb-8{
  margin-bottom: 2rem;
}
.mb-\[10px\]{
  margin-bottom: 10px;
}
.mb-\[11px\]{
  margin-bottom: 11px;
}
.mb-\[13px\]{
  margin-bottom: 13px;
}
.mb-\[14px\]{
  margin-bottom: 14px;
}
.mb-\[15px\]{
  margin-bottom: 15px;
}
.mb-\[16px\]{
  margin-bottom: 16px;
}
.mb-\[18px\]{
  margin-bottom: 18px;
}
.mb-\[22px\]{
  margin-bottom: 22px;
}
.mb-\[26px\]{
  margin-bottom: 26px;
}
.mb-\[2px\]{
  margin-bottom: 2px;
}
.mb-\[3px\]{
  margin-bottom: 3px;
}
.mb-\[5px\]{
  margin-bottom: 5px;
}
.mb-\[6px\]{
  margin-bottom: 6px;
}
.mb-\[7px\]{
  margin-bottom: 7px;
}
.mb-\[9px\]{
  margin-bottom: 9px;
}
.ml-0\.5{
  margin-left: 0.125rem;
}
.ml-1{
  margin-left: 0.25rem;
}
.ml-1\.5{
  margin-left: 0.375rem;
}
.ml-2{
  margin-left: 0.5rem;
}
.ml-5{
  margin-left: 1.25rem;
}
.ml-\[18px\]{
  margin-left: 18px;
}
.ml-\[1px\]{
  margin-left: 1px;
}
.ml-\[2px\]{
  margin-left: 2px;
}
.ml-\[4px\]{
  margin-left: 4px;
}
.ml-\[6px\]{
  margin-left: 6px;
}
.ml-auto{
  margin-left: auto;
}
.mr-1{
  margin-right: 0.25rem;
}
.mr-1\.5{
  margin-right: 0.375rem;
}
.mr-2{
  margin-right: 0.5rem;
}
.mr-\[5px\]{
  margin-right: 5px;
}
.mt-0\.5{
  margin-top: 0.125rem;
}
.mt-1{
  margin-top: 0.25rem;
}
.mt-1\.5{
  margin-top: 0.375rem;
}
.mt-10{
  margin-top: 2.5rem;
}
.mt-12{
  margin-top: 3rem;
}
.mt-14{
  margin-top: 3.5rem;
}
.mt-2{
  margin-top: 0.5rem;
}
.mt-2\.5{
  margin-top: 0.625rem;
}
.mt-3{
  margin-top: 0.75rem;
}
.mt-3\.5{
  margin-top: 0.875rem;
}
.mt-4{
  margin-top: 1rem;
}
.mt-5{
  margin-top: 1.25rem;
}
.mt-6{
  margin-top: 1.5rem;
}
.mt-7{
  margin-top: 1.75rem;
}
.mt-8{
  margin-top: 2rem;
}
.mt-\[10px\]{
  margin-top: 10px;
}
.mt-\[11px\]{
  margin-top: 11px;
}
.mt-\[12px\]{
  margin-top: 12px;
}
.mt-\[13px\]{
  margin-top: 13px;
}
.mt-\[14px\]{
  margin-top: 14px;
}
.mt-\[15px\]{
  margin-top: 15px;
}
.mt-\[16px\]{
  margin-top: 16px;
}
.mt-\[1px\]{
  margin-top: 1px;
}
.mt-\[22px\]{
  margin-top: 22px;
}
.mt-\[24px\]{
  margin-top: 24px;
}
.mt-\[26px\]{
  margin-top: 26px;
}
.mt-\[2px\]{
  margin-top: 2px;
}
.mt-\[30px\]{
  margin-top: 30px;
}
.mt-\[3px\]{
  margin-top: 3px;
}
.mt-\[5px\]{
  margin-top: 5px;
}
.mt-\[6px\]{
  margin-top: 6px;
}
.mt-\[7px\]{
  margin-top: 7px;
}
.mt-\[8px\]{
  margin-top: 8px;
}
.mt-\[9px\]{
  margin-top: 9px;
}
.mt-auto{
  margin-top: auto;
}
.mt-px{
  margin-top: 1px;
}
.line-clamp-2{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.\!block{
  display: block !important;
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.inline-flex{
  display: inline-flex;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.inline-grid{
  display: inline-grid;
}
.contents{
  display: contents;
}
.hidden{
  display: none;
}
.aspect-\[16\/10\]{
  aspect-ratio: 16/10;
}
.aspect-\[3\/2\]{
  aspect-ratio: 3/2;
}
.aspect-\[3\/5\]{
  aspect-ratio: 3/5;
}
.aspect-\[4\/3\]{
  aspect-ratio: 4/3;
}
.aspect-\[4\/5\]{
  aspect-ratio: 4/5;
}
.aspect-\[5\/4\]{
  aspect-ratio: 5/4;
}
.aspect-square{
  aspect-ratio: 1 / 1;
}
.aspect-video{
  aspect-ratio: 16 / 9;
}
.h-0{
  height: 0px;
}
.h-0\.5{
  height: 0.125rem;
}
.h-1{
  height: 0.25rem;
}
.h-1\.5{
  height: 0.375rem;
}
.h-1\/2{
  height: 50%;
}
.h-1\/3{
  height: 33.333333%;
}
.h-10{
  height: 2.5rem;
}
.h-11{
  height: 2.75rem;
}
.h-12{
  height: 3rem;
}
.h-14{
  height: 3.5rem;
}
.h-16{
  height: 4rem;
}
.h-2{
  height: 0.5rem;
}
.h-2\.5{
  height: 0.625rem;
}
.h-2\/3{
  height: 66.666667%;
}
.h-20{
  height: 5rem;
}
.h-24{
  height: 6rem;
}
.h-3{
  height: 0.75rem;
}
.h-3\.5{
  height: 0.875rem;
}
.h-3\/5{
  height: 60%;
}
.h-32{
  height: 8rem;
}
.h-4{
  height: 1rem;
}
.h-48{
  height: 12rem;
}
.h-5{
  height: 1.25rem;
}
.h-56{
  height: 14rem;
}
.h-6{
  height: 1.5rem;
}
.h-7{
  height: 1.75rem;
}
.h-8{
  height: 2rem;
}
.h-9{
  height: 2.25rem;
}
.h-\[100dvh\]{
  height: 100dvh;
}
.h-\[10px\]{
  height: 10px;
}
.h-\[120px\]{
  height: 120px;
}
.h-\[13px\]{
  height: 13px;
}
.h-\[180px\]{
  height: 180px;
}
.h-\[18px\]{
  height: 18px;
}
.h-\[19px\]{
  height: 19px;
}
.h-\[1em\]{
  height: 1em;
}
.h-\[21px\]{
  height: 21px;
}
.h-\[22px\]{
  height: 22px;
}
.h-\[23px\]{
  height: 23px;
}
.h-\[24px\]{
  height: 24px;
}
.h-\[26px\]{
  height: 26px;
}
.h-\[28px\]{
  height: 28px;
}
.h-\[2px\]{
  height: 2px;
}
.h-\[32px\]{
  height: 32px;
}
.h-\[34px\]{
  height: 34px;
}
.h-\[360px\]{
  height: 360px;
}
.h-\[38px\]{
  height: 38px;
}
.h-\[3px\]{
  height: 3px;
}
.h-\[40px\]{
  height: 40px;
}
.h-\[54px\]{
  height: 54px;
}
.h-\[56px\]{
  height: 56px;
}
.h-\[5px\]{
  height: 5px;
}
.h-\[64px\]{
  height: 64px;
}
.h-\[6px\]{
  height: 6px;
}
.h-\[7px\]{
  height: 7px;
}
.h-\[8px\]{
  height: 8px;
}
.h-\[9px\]{
  height: 9px;
}
.h-\[calc\(100vh-200px\)\]{
  height: calc(100vh - 200px);
}
.h-\[min\(880px\2c 92vh\)\]{
  height: min(880px, 92vh);
}
.h-auto{
  height: auto;
}
.h-full{
  height: 100%;
}
.h-px{
  height: 1px;
}
.h-screen{
  height: 100vh;
}
.max-h-24{
  max-height: 6rem;
}
.max-h-48{
  max-height: 12rem;
}
.max-h-\[28rem\]{
  max-height: 28rem;
}
.max-h-\[520px\]{
  max-height: 520px;
}
.max-h-\[640px\]{
  max-height: 640px;
}
.max-h-\[92vh\]{
  max-height: 92vh;
}
.max-h-\[calc\(100vh-230px\)\]{
  max-height: calc(100vh - 230px);
}
.min-h-0{
  min-height: 0px;
}
.min-h-\[1200px\]{
  min-height: 1200px;
}
.min-h-\[120px\]{
  min-height: 120px;
}
.min-h-\[160px\]{
  min-height: 160px;
}
.min-h-\[16rem\]{
  min-height: 16rem;
}
.min-h-\[200px\]{
  min-height: 200px;
}
.min-h-\[20rem\]{
  min-height: 20rem;
}
.min-h-\[44px\]{
  min-height: 44px;
}
.min-h-\[48px\]{
  min-height: 48px;
}
.min-h-\[56px\]{
  min-height: 56px;
}
.min-h-\[6rem\]{
  min-height: 6rem;
}
.min-h-\[70px\]{
  min-height: 70px;
}
.min-h-\[70vh\]{
  min-height: 70vh;
}
.min-h-\[7rem\]{
  min-height: 7rem;
}
.min-h-\[800px\]{
  min-height: 800px;
}
.min-h-\[80px\]{
  min-height: 80px;
}
.min-h-\[80vh\]{
  min-height: 80vh;
}
.min-h-\[96px\]{
  min-height: 96px;
}
.min-h-screen{
  min-height: 100vh;
}
.w-0{
  width: 0px;
}
.w-0\.5{
  width: 0.125rem;
}
.w-1{
  width: 0.25rem;
}
.w-1\.5{
  width: 0.375rem;
}
.w-10{
  width: 2.5rem;
}
.w-11{
  width: 2.75rem;
}
.w-12{
  width: 3rem;
}
.w-14{
  width: 3.5rem;
}
.w-16{
  width: 4rem;
}
.w-2{
  width: 0.5rem;
}
.w-2\.5{
  width: 0.625rem;
}
.w-20{
  width: 5rem;
}
.w-24{
  width: 6rem;
}
.w-3{
  width: 0.75rem;
}
.w-3\.5{
  width: 0.875rem;
}
.w-32{
  width: 8rem;
}
.w-4{
  width: 1rem;
}
.w-5{
  width: 1.25rem;
}
.w-56{
  width: 14rem;
}
.w-6{
  width: 1.5rem;
}
.w-60{
  width: 15rem;
}
.w-7{
  width: 1.75rem;
}
.w-72{
  width: 18rem;
}
.w-8{
  width: 2rem;
}
.w-9{
  width: 2.25rem;
}
.w-\[10px\]{
  width: 10px;
}
.w-\[120px\]{
  width: 120px;
}
.w-\[12px\]{
  width: 12px;
}
.w-\[130px\]{
  width: 130px;
}
.w-\[138px\]{
  width: 138px;
}
.w-\[13px\]{
  width: 13px;
}
.w-\[14px\]{
  width: 14px;
}
.w-\[150px\]{
  width: 150px;
}
.w-\[180px\]{
  width: 180px;
}
.w-\[18px\]{
  width: 18px;
}
.w-\[19px\]{
  width: 19px;
}
.w-\[21px\]{
  width: 21px;
}
.w-\[22px\]{
  width: 22px;
}
.w-\[23px\]{
  width: 23px;
}
.w-\[24px\]{
  width: 24px;
}
.w-\[260px\]{
  width: 260px;
}
.w-\[26px\]{
  width: 26px;
}
.w-\[280px\]{
  width: 280px;
}
.w-\[28px\]{
  width: 28px;
}
.w-\[2px\]{
  width: 2px;
}
.w-\[32px\]{
  width: 32px;
}
.w-\[34\%\]{
  width: 34%;
}
.w-\[34px\]{
  width: 34px;
}
.w-\[36px\]{
  width: 36px;
}
.w-\[3px\]{
  width: 3px;
}
.w-\[400px\]{
  width: 400px;
}
.w-\[40px\]{
  width: 40px;
}
.w-\[42px\]{
  width: 42px;
}
.w-\[430px\]{
  width: 430px;
}
.w-\[44px\]{
  width: 44px;
}
.w-\[48px\]{
  width: 48px;
}
.w-\[4px\]{
  width: 4px;
}
.w-\[54px\]{
  width: 54px;
}
.w-\[56px\]{
  width: 56px;
}
.w-\[5px\]{
  width: 5px;
}
.w-\[64px\]{
  width: 64px;
}
.w-\[66px\]{
  width: 66px;
}
.w-\[6px\]{
  width: 6px;
}
.w-\[7px\]{
  width: 7px;
}
.w-\[82\%\]{
  width: 82%;
}
.w-\[88px\]{
  width: 88px;
}
.w-\[8px\]{
  width: 8px;
}
.w-\[92vw\]{
  width: 92vw;
}
.w-\[96px\]{
  width: 96px;
}
.w-\[9px\]{
  width: 9px;
}
.w-\[min\(1040px\2c 94vw\)\]{
  width: min(1040px, 94vw);
}
.w-\[min\(560px\2c 94vw\)\]{
  width: min(560px, 94vw);
}
.w-\[min\(560px\2c calc\(100vw-2rem\)\)\]{
  width: min(560px, calc(100vw - 2rem));
}
.w-auto{
  width: auto;
}
.w-fit{
  width: -moz-fit-content;
  width: fit-content;
}
.w-full{
  width: 100%;
}
.w-px{
  width: 1px;
}
.min-w-0{
  min-width: 0px;
}
.min-w-\[104px\]{
  min-width: 104px;
}
.min-w-\[10rem\]{
  min-width: 10rem;
}
.min-w-\[12rem\]{
  min-width: 12rem;
}
.min-w-\[160px\]{
  min-width: 160px;
}
.min-w-\[190px\]{
  min-width: 190px;
}
.min-w-\[2\.25rem\]{
  min-width: 2.25rem;
}
.min-w-\[200px\]{
  min-width: 200px;
}
.min-w-\[210px\]{
  min-width: 210px;
}
.min-w-\[220px\]{
  min-width: 220px;
}
.min-w-\[240px\]{
  min-width: 240px;
}
.min-w-\[62px\]{
  min-width: 62px;
}
.min-w-\[7rem\]{
  min-width: 7rem;
}
.min-w-\[8rem\]{
  min-width: 8rem;
}
.min-w-\[90px\]{
  min-width: 90px;
}
.max-w-2xl{
  max-width: 42rem;
}
.max-w-3xl{
  max-width: 48rem;
}
.max-w-4xl{
  max-width: 56rem;
}
.max-w-5xl{
  max-width: 64rem;
}
.max-w-6xl{
  max-width: 72rem;
}
.max-w-7xl{
  max-width: 80rem;
}
.max-w-\[1100px\]{
  max-width: 1100px;
}
.max-w-\[1280px\]{
  max-width: 1280px;
}
.max-w-\[1600px\]{
  max-width: 1600px;
}
.max-w-\[1800px\]{
  max-width: 1800px;
}
.max-w-\[200px\]{
  max-width: 200px;
}
.max-w-\[220px\]{
  max-width: 220px;
}
.max-w-\[260px\]{
  max-width: 260px;
}
.max-w-\[28px\]{
  max-width: 28px;
}
.max-w-\[320px\]{
  max-width: 320px;
}
.max-w-\[330px\]{
  max-width: 330px;
}
.max-w-\[420px\]{
  max-width: 420px;
}
.max-w-\[520px\]{
  max-width: 520px;
}
.max-w-\[560px\]{
  max-width: 560px;
}
.max-w-\[680px\]{
  max-width: 680px;
}
.max-w-\[720px\]{
  max-width: 720px;
}
.max-w-\[760px\]{
  max-width: 760px;
}
.max-w-\[78px\]{
  max-width: 78px;
}
.max-w-\[80\%\]{
  max-width: 80%;
}
.max-w-\[85\%\]{
  max-width: 85%;
}
.max-w-\[880px\]{
  max-width: 880px;
}
.max-w-\[90\%\]{
  max-width: 90%;
}
.max-w-\[920px\]{
  max-width: 920px;
}
.max-w-\[93vw\]{
  max-width: 93vw;
}
.max-w-\[980px\]{
  max-width: 980px;
}
.max-w-full{
  max-width: 100%;
}
.max-w-md{
  max-width: 28rem;
}
.max-w-none{
  max-width: none;
}
.max-w-prose{
  max-width: 65ch;
}
.max-w-sm{
  max-width: 24rem;
}
.max-w-xl{
  max-width: 36rem;
}
.max-w-xs{
  max-width: 20rem;
}
.flex-1{
  flex: 1 1 0%;
}
.flex-\[2\]{
  flex: 2;
}
.flex-none{
  flex: none;
}
.shrink-0{
  flex-shrink: 0;
}
.grow{
  flex-grow: 1;
}
.border-collapse{
  border-collapse: collapse;
}
.origin-top{
  transform-origin: top;
}
.-translate-x-1\/2{
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0\.5{
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-5{
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-\[18px\]{
  --tw-translate-x: 18px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0{
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-5{
  --tw-translate-y: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-90{
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-y-0{
  --tw-scale-y: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform{
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.animate-\[fadeIn_120ms_ease-out\]{
  animation: fadeIn 120ms ease-out;
}
.animate-\[popIn_140ms_cubic-bezier\(0\.16\2c 1\2c 0\.3\2c 1\)\]{
  animation: popIn 140ms cubic-bezier(0.16,1,0.3,1);
}
@keyframes ping{

  75%, 100%{
    transform: scale(2);
    opacity: 0;
  }
}
.animate-ping{
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes pulse{

  50%{
    opacity: .5;
  }
}
.animate-pulse{
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin{

  to{
    transform: rotate(360deg);
  }
}
.animate-spin{
  animation: spin 1s linear infinite;
}
.cursor-default{
  cursor: default;
}
.cursor-grab{
  cursor: grab;
}
.cursor-not-allowed{
  cursor: not-allowed;
}
.cursor-pointer{
  cursor: pointer;
}
.cursor-text{
  cursor: text;
}
.cursor-wait{
  cursor: wait;
}
.select-none{
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none{
  resize: none;
}
.resize-y{
  resize: vertical;
}
.resize{
  resize: both;
}
.snap-x{
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-mandatory{
  --tw-scroll-snap-strictness: mandatory;
}
.snap-start{
  scroll-snap-align: start;
}
.scroll-mt-24{
  scroll-margin-top: 6rem;
}
.scroll-mt-32{
  scroll-margin-top: 8rem;
}
.list-inside{
  list-style-position: inside;
}
.list-decimal{
  list-style-type: decimal;
}
.list-disc{
  list-style-type: disc;
}
.list-none{
  list-style-type: none;
}
.appearance-none{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.columns-1{
  -moz-columns: 1;
       columns: 1;
}
.break-inside-avoid{
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-\[110px_1fr\]{
  grid-template-columns: 110px 1fr;
}
.grid-cols-\[12px_220px_1fr_140px_90px\]{
  grid-template-columns: 12px 220px 1fr 140px 90px;
}
.grid-cols-\[130px_1fr\]{
  grid-template-columns: 130px 1fr;
}
.grid-cols-\[140px_24px_1fr_auto\]{
  grid-template-columns: 140px 24px 1fr auto;
}
.grid-cols-\[160px_1fr_140px\]{
  grid-template-columns: 160px 1fr 140px;
}
.grid-cols-\[180px_1fr\]{
  grid-template-columns: 180px 1fr;
}
.grid-cols-\[1fr_120px\]{
  grid-template-columns: 1fr 120px;
}
.grid-cols-\[1fr_auto_1fr\]{
  grid-template-columns: 1fr auto 1fr;
}
.grid-cols-\[1fr_auto_1fr_1\.5fr\]{
  grid-template-columns: 1fr auto 1fr 1.5fr;
}
.grid-cols-\[1fr_auto_auto\]{
  grid-template-columns: 1fr auto auto;
}
.grid-cols-\[24px_180px_1fr_120px_120px\]{
  grid-template-columns: 24px 180px 1fr 120px 120px;
}
.grid-cols-\[3rem_1fr_auto\]{
  grid-template-columns: 3rem 1fr auto;
}
.grid-cols-\[40px_140px_1fr_auto_24px\]{
  grid-template-columns: 40px 140px 1fr auto 24px;
}
.grid-cols-\[40px_minmax\(180px\2c 1fr\)_minmax\(0\2c 2fr\)_auto\]{
  grid-template-columns: 40px minmax(180px,1fr) minmax(0,2fr) auto;
}
.grid-cols-\[64px_1fr\]{
  grid-template-columns: 64px 1fr;
}
.grid-cols-\[80px_1fr\]{
  grid-template-columns: 80px 1fr;
}
.grid-rows-\[1fr\]{
  grid-template-rows: 1fr;
}
.flex-row{
  flex-direction: row;
}
.flex-row-reverse{
  flex-direction: row-reverse;
}
.flex-col{
  flex-direction: column;
}
.flex-wrap{
  flex-wrap: wrap;
}
.place-items-center{
  place-items: center;
}
.items-start{
  align-items: flex-start;
}
.items-end{
  align-items: flex-end;
}
.items-center{
  align-items: center;
}
.items-baseline{
  align-items: baseline;
}
.items-stretch{
  align-items: stretch;
}
.justify-start{
  justify-content: flex-start;
}
.justify-end{
  justify-content: flex-end;
}
.justify-center{
  justify-content: center;
}
.justify-between{
  justify-content: space-between;
}
.gap-0{
  gap: 0px;
}
.gap-0\.5{
  gap: 0.125rem;
}
.gap-1{
  gap: 0.25rem;
}
.gap-1\.5{
  gap: 0.375rem;
}
.gap-10{
  gap: 2.5rem;
}
.gap-12{
  gap: 3rem;
}
.gap-14{
  gap: 3.5rem;
}
.gap-2{
  gap: 0.5rem;
}
.gap-2\.5{
  gap: 0.625rem;
}
.gap-3{
  gap: 0.75rem;
}
.gap-3\.5{
  gap: 0.875rem;
}
.gap-4{
  gap: 1rem;
}
.gap-5{
  gap: 1.25rem;
}
.gap-6{
  gap: 1.5rem;
}
.gap-7{
  gap: 1.75rem;
}
.gap-8{
  gap: 2rem;
}
.gap-\[10px\]{
  gap: 10px;
}
.gap-\[11px\]{
  gap: 11px;
}
.gap-\[12px\]{
  gap: 12px;
}
.gap-\[13px\]{
  gap: 13px;
}
.gap-\[14px\]{
  gap: 14px;
}
.gap-\[15px\]{
  gap: 15px;
}
.gap-\[16px\]{
  gap: 16px;
}
.gap-\[18px\]{
  gap: 18px;
}
.gap-\[1px\]{
  gap: 1px;
}
.gap-\[20px\]{
  gap: 20px;
}
.gap-\[22px\]{
  gap: 22px;
}
.gap-\[26px\]{
  gap: 26px;
}
.gap-\[2px\]{
  gap: 2px;
}
.gap-\[30px\]{
  gap: 30px;
}
.gap-\[3px\]{
  gap: 3px;
}
.gap-\[5px\]{
  gap: 5px;
}
.gap-\[6px\]{
  gap: 6px;
}
.gap-\[7px\]{
  gap: 7px;
}
.gap-\[8px\]{
  gap: 8px;
}
.gap-\[9px\]{
  gap: 9px;
}
.gap-px{
  gap: 1px;
}
.gap-x-10{
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}
.gap-x-12{
  -moz-column-gap: 3rem;
       column-gap: 3rem;
}
.gap-x-2{
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.gap-x-3{
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-x-4{
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-5{
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
.gap-x-6{
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-x-8{
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.gap-x-\[11px\]{
  -moz-column-gap: 11px;
       column-gap: 11px;
}
.gap-x-\[13px\]{
  -moz-column-gap: 13px;
       column-gap: 13px;
}
.gap-x-\[14px\]{
  -moz-column-gap: 14px;
       column-gap: 14px;
}
.gap-x-\[16px\]{
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.gap-x-\[18px\]{
  -moz-column-gap: 18px;
       column-gap: 18px;
}
.gap-x-\[22px\]{
  -moz-column-gap: 22px;
       column-gap: 22px;
}
.gap-y-0\.5{
  row-gap: 0.125rem;
}
.gap-y-1{
  row-gap: 0.25rem;
}
.gap-y-1\.5{
  row-gap: 0.375rem;
}
.gap-y-10{
  row-gap: 2.5rem;
}
.gap-y-12{
  row-gap: 3rem;
}
.gap-y-2{
  row-gap: 0.5rem;
}
.gap-y-3{
  row-gap: 0.75rem;
}
.gap-y-4{
  row-gap: 1rem;
}
.gap-y-5{
  row-gap: 1.25rem;
}
.gap-y-7{
  row-gap: 1.75rem;
}
.gap-y-8{
  row-gap: 2rem;
}
.gap-y-\[10px\]{
  row-gap: 10px;
}
.gap-y-\[6px\]{
  row-gap: 6px;
}
.gap-y-\[8px\]{
  row-gap: 8px;
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-10 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}
.space-y-12 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-7 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.75rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.divide-x > :not([hidden]) ~ :not([hidden]){
  --tw-divide-x-reverse: 0;
  border-right-width: calc(1px * var(--tw-divide-x-reverse));
  border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
}
.divide-y > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-edge > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(var(--color-edge) / var(--tw-divide-opacity, 1));
}
.divide-edge\/50 > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(var(--color-edge) / 0.5);
}
.divide-edge\/60 > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(var(--color-edge) / 0.6);
}
.self-start{
  align-self: flex-start;
}
.self-end{
  align-self: flex-end;
}
.self-center{
  align-self: center;
}
.self-stretch{
  align-self: stretch;
}
.justify-self-start{
  justify-self: start;
}
.justify-self-end{
  justify-self: end;
}
.justify-self-center{
  justify-self: center;
}
.overflow-auto{
  overflow: auto;
}
.overflow-hidden{
  overflow: hidden;
}
.overflow-x-auto{
  overflow-x: auto;
}
.overflow-y-auto{
  overflow-y: auto;
}
.overflow-x-hidden{
  overflow-x: hidden;
}
.truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text-ellipsis{
  text-overflow: ellipsis;
}
.whitespace-nowrap{
  white-space: nowrap;
}
.whitespace-pre-wrap{
  white-space: pre-wrap;
}
.break-words{
  overflow-wrap: break-word;
}
.break-all{
  word-break: break-all;
}
.rounded{
  border-radius: var(--radius);
}
.rounded-2xl{
  border-radius: 1rem;
}
.rounded-\[10px\]{
  border-radius: 10px;
}
.rounded-\[11px\]{
  border-radius: 11px;
}
.rounded-\[12px\]{
  border-radius: 12px;
}
.rounded-\[13px\]{
  border-radius: 13px;
}
.rounded-\[14px\]{
  border-radius: 14px;
}
.rounded-\[16px\]{
  border-radius: 16px;
}
.rounded-\[20px\]{
  border-radius: 20px;
}
.rounded-\[2px\]{
  border-radius: 2px;
}
.rounded-\[3px\]{
  border-radius: 3px;
}
.rounded-\[4px\]{
  border-radius: 4px;
}
.rounded-\[5px\]{
  border-radius: 5px;
}
.rounded-\[6px\]{
  border-radius: 6px;
}
.rounded-\[7px\]{
  border-radius: 7px;
}
.rounded-\[8px\]{
  border-radius: 8px;
}
.rounded-\[9px\]{
  border-radius: 9px;
}
.rounded-card{
  border-radius: var(--radius-card);
}
.rounded-full{
  border-radius: 9999px;
}
.rounded-lg{
  border-radius: calc(var(--radius) * 2);
}
.rounded-md{
  border-radius: 0.375rem;
}
.rounded-none{
  border-radius: 0px;
}
.rounded-sm{
  border-radius: calc(var(--radius) * 0.5);
}
.rounded-xl{
  border-radius: 0.75rem;
}
.rounded-r{
  border-top-right-radius: var(--radius);
  border-bottom-right-radius: var(--radius);
}
.rounded-t{
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}
.rounded-t-\[2px\]{
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
.rounded-t-\[3px\]{
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.rounded-bl-sm{
  border-bottom-left-radius: calc(var(--radius) * 0.5);
}
.rounded-br-sm{
  border-bottom-right-radius: calc(var(--radius) * 0.5);
}
.rounded-tl-none{
  border-top-left-radius: 0px;
}
.rounded-tr-none{
  border-top-right-radius: 0px;
}
.border{
  border-width: 1px;
}
.border-0{
  border-width: 0px;
}
.border-2{
  border-width: 2px;
}
.border-\[1\.5px\]{
  border-width: 1.5px;
}
.border-\[3px\]{
  border-width: 3px;
}
.border-y{
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b{
  border-bottom-width: 1px;
}
.border-b-2{
  border-bottom-width: 2px;
}
.border-l{
  border-left-width: 1px;
}
.border-l-2{
  border-left-width: 2px;
}
.border-l-4{
  border-left-width: 4px;
}
.border-l-\[3px\]{
  border-left-width: 3px;
}
.border-r{
  border-right-width: 1px;
}
.border-r-2{
  border-right-width: 2px;
}
.border-t{
  border-top-width: 1px;
}
.border-t-2{
  border-top-width: 2px;
}
.border-t-\[1\.5px\]{
  border-top-width: 1.5px;
}
.border-dashed{
  border-style: dashed;
}
.border-none{
  border-style: none;
}
.\!border-white\/40{
  border-color: rgb(255 255 255 / 0.4) !important;
}
.border-\[\#143F3D\]{
  --tw-border-opacity: 1;
  border-color: rgb(20 63 61 / var(--tw-border-opacity, 1));
}
.border-\[\#2E6D65\]{
  --tw-border-opacity: 1;
  border-color: rgb(46 109 101 / var(--tw-border-opacity, 1));
}
.border-\[\#2E6D65\]\/30{
  border-color: rgb(46 109 101 / 0.3);
}
.border-\[\#5B4FA8\]{
  --tw-border-opacity: 1;
  border-color: rgb(91 79 168 / var(--tw-border-opacity, 1));
}
.border-\[\#A68230\]\/30{
  border-color: rgb(166 130 48 / 0.3);
}
.border-\[\#C0492F\]{
  --tw-border-opacity: 1;
  border-color: rgb(192 73 47 / var(--tw-border-opacity, 1));
}
.border-\[\#C0492F\]\/30{
  border-color: rgb(192 73 47 / 0.3);
}
.border-\[\#C9C3E8\]{
  --tw-border-opacity: 1;
  border-color: rgb(201 195 232 / var(--tw-border-opacity, 1));
}
.border-\[\#DCEAE7\]{
  --tw-border-opacity: 1;
  border-color: rgb(220 234 231 / var(--tw-border-opacity, 1));
}
.border-\[\#E2ECF1\]{
  --tw-border-opacity: 1;
  border-color: rgb(226 236 241 / var(--tw-border-opacity, 1));
}
.border-\[\#E7C9A5\]{
  --tw-border-opacity: 1;
  border-color: rgb(231 201 165 / var(--tw-border-opacity, 1));
}
.border-\[\#E8D9A8\]{
  --tw-border-opacity: 1;
  border-color: rgb(232 217 168 / var(--tw-border-opacity, 1));
}
.border-\[\#E9C3C5\]{
  --tw-border-opacity: 1;
  border-color: rgb(233 195 197 / var(--tw-border-opacity, 1));
}
.border-\[\#EAE8F6\]{
  --tw-border-opacity: 1;
  border-color: rgb(234 232 246 / var(--tw-border-opacity, 1));
}
.border-\[\#FBF1D8\]{
  --tw-border-opacity: 1;
  border-color: rgb(251 241 216 / var(--tw-border-opacity, 1));
}
.border-\[\#a4504a\]{
  --tw-border-opacity: 1;
  border-color: rgb(164 80 74 / var(--tw-border-opacity, 1));
}
.border-\[\#d5dee6\]{
  --tw-border-opacity: 1;
  border-color: rgb(213 222 230 / var(--tw-border-opacity, 1));
}
.border-\[\#e0c89e\]{
  --tw-border-opacity: 1;
  border-color: rgb(224 200 158 / var(--tw-border-opacity, 1));
}
.border-\[\#e8eeea\]{
  --tw-border-opacity: 1;
  border-color: rgb(232 238 234 / var(--tw-border-opacity, 1));
}
.border-\[rgba\(231\2c 201\2c 165\2c 0\.3\)\]{
  border-color: rgba(231,201,165,0.3);
}
.border-\[rgba\(46\2c 125\2c 91\2c 0\.4\)\]{
  border-color: rgba(46,125,91,0.4);
}
.border-accent{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-accent) / var(--tw-border-opacity, 1));
}
.border-accent-soft{
  border-color: var(--accent-soft);
}
.border-accent-strong{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-accent-strong) / var(--tw-border-opacity, 1));
}
.border-accent\/30{
  border-color: rgb(var(--color-accent) / 0.3);
}
.border-accent\/40{
  border-color: rgb(var(--color-accent) / 0.4);
}
.border-accent\/50{
  border-color: rgb(var(--color-accent) / 0.5);
}
.border-amber-200{
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-300\/60{
  border-color: rgb(252 211 77 / 0.6);
}
.border-canvas\/10{
  border-color: rgb(var(--color-canvas) / 0.1);
}
.border-canvas\/15{
  border-color: rgb(var(--color-canvas) / 0.15);
}
.border-canvas\/20{
  border-color: rgb(var(--color-canvas) / 0.2);
}
.border-canvas\/25{
  border-color: rgb(var(--color-canvas) / 0.25);
}
.border-canvas\/30{
  border-color: rgb(var(--color-canvas) / 0.3);
}
.border-critical{
  border-color: var(--critical);
}
.border-current{
  border-color: currentColor;
}
.border-edge{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-edge) / var(--tw-border-opacity, 1));
}
.border-edge\/60{
  border-color: rgb(var(--color-edge) / 0.6);
}
.border-edge\/70{
  border-color: rgb(var(--color-edge) / 0.7);
}
.border-emerald-200{
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.border-emerald-300\/60{
  border-color: rgb(110 231 183 / 0.6);
}
.border-gold{
  border-color: var(--gold);
}
.border-hairline{
  border-color: var(--hairline);
}
.border-hairline-soft{
  border-color: var(--hairline-soft);
}
.border-info{
  border-color: var(--info);
}
.border-ink{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-ink) / var(--tw-border-opacity, 1));
}
.border-ink-faint{
  border-color: var(--ink-faint);
}
.border-ink-mute{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-ink-mute) / var(--tw-border-opacity, 1));
}
.border-ink-soft{
  border-color: var(--ink-soft);
}
.border-ink\/80{
  border-color: rgb(var(--color-ink) / 0.8);
}
.border-nav-dark{
  border-color: var(--nav-dark);
}
.border-ok{
  border-color: var(--ok);
}
.border-paper{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-paper) / var(--tw-border-opacity, 1));
}
.border-red-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-surface{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-surface) / var(--tw-border-opacity, 1));
}
.border-surface-ink\/15{
  border-color: rgb(var(--color-surface-ink) / 0.15);
}
.border-surface-ink\/20{
  border-color: rgb(var(--color-surface-ink) / 0.2);
}
.border-surface-ink\/25{
  border-color: rgb(var(--color-surface-ink) / 0.25);
}
.border-transparent{
  border-color: transparent;
}
.border-warn{
  border-color: var(--warn);
}
.border-white\/20{
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/30{
  border-color: rgb(255 255 255 / 0.3);
}
.border-white\/40{
  border-color: rgb(255 255 255 / 0.4);
}
.border-l-\[\#2E7D5B\]{
  --tw-border-opacity: 1;
  border-left-color: rgb(46 125 91 / var(--tw-border-opacity, 1));
}
.border-l-\[\#BC5238\]{
  --tw-border-opacity: 1;
  border-left-color: rgb(188 82 56 / var(--tw-border-opacity, 1));
}
.border-l-\[\#C2902F\]{
  --tw-border-opacity: 1;
  border-left-color: rgb(194 144 47 / var(--tw-border-opacity, 1));
}
.border-l-accent{
  --tw-border-opacity: 1;
  border-left-color: rgb(var(--color-accent) / var(--tw-border-opacity, 1));
}
.border-l-accent-strong{
  --tw-border-opacity: 1;
  border-left-color: rgb(var(--color-accent-strong) / var(--tw-border-opacity, 1));
}
.border-l-edge{
  --tw-border-opacity: 1;
  border-left-color: rgb(var(--color-edge) / var(--tw-border-opacity, 1));
}
.border-l-info{
  border-left-color: var(--info);
}
.border-l-warn{
  border-left-color: var(--warn);
}
.border-t-edge{
  --tw-border-opacity: 1;
  border-top-color: rgb(var(--color-edge) / var(--tw-border-opacity, 1));
}
.border-t-transparent{
  border-top-color: transparent;
}
.bg-\[\#1A2A33\]{
  --tw-bg-opacity: 1;
  background-color: rgb(26 42 51 / var(--tw-bg-opacity, 1));
}
.bg-\[\#2E6D65\]{
  --tw-bg-opacity: 1;
  background-color: rgb(46 109 101 / var(--tw-bg-opacity, 1));
}
.bg-\[\#2E6D65\]\/10{
  background-color: rgb(46 109 101 / 0.1);
}
.bg-\[\#2E7D54\]{
  --tw-bg-opacity: 1;
  background-color: rgb(46 125 84 / var(--tw-bg-opacity, 1));
}
.bg-\[\#2f6a5c\]{
  --tw-bg-opacity: 1;
  background-color: rgb(47 106 92 / var(--tw-bg-opacity, 1));
}
.bg-\[\#3E7C9E\]{
  --tw-bg-opacity: 1;
  background-color: rgb(62 124 158 / var(--tw-bg-opacity, 1));
}
.bg-\[\#4F9D69\]{
  --tw-bg-opacity: 1;
  background-color: rgb(79 157 105 / var(--tw-bg-opacity, 1));
}
.bg-\[\#5B4FA8\]{
  --tw-bg-opacity: 1;
  background-color: rgb(91 79 168 / var(--tw-bg-opacity, 1));
}
.bg-\[\#9A6A0E\]{
  --tw-bg-opacity: 1;
  background-color: rgb(154 106 14 / var(--tw-bg-opacity, 1));
}
.bg-\[\#9FB0A8\]{
  --tw-bg-opacity: 1;
  background-color: rgb(159 176 168 / var(--tw-bg-opacity, 1));
}
.bg-\[\#9aa39e\]{
  --tw-bg-opacity: 1;
  background-color: rgb(154 163 158 / var(--tw-bg-opacity, 1));
}
.bg-\[\#9fb0a8\]{
  --tw-bg-opacity: 1;
  background-color: rgb(159 176 168 / var(--tw-bg-opacity, 1));
}
.bg-\[\#A68230\]\/10{
  background-color: rgb(166 130 48 / 0.1);
}
.bg-\[\#C0492F\]{
  --tw-bg-opacity: 1;
  background-color: rgb(192 73 47 / var(--tw-bg-opacity, 1));
}
.bg-\[\#C0492F\]\/10{
  background-color: rgb(192 73 47 / 0.1);
}
.bg-\[\#C2902F\]{
  --tw-bg-opacity: 1;
  background-color: rgb(194 144 47 / var(--tw-bg-opacity, 1));
}
.bg-\[\#D7E6E3\]{
  --tw-bg-opacity: 1;
  background-color: rgb(215 230 227 / var(--tw-bg-opacity, 1));
}
.bg-\[\#D8EADF\]{
  --tw-bg-opacity: 1;
  background-color: rgb(216 234 223 / var(--tw-bg-opacity, 1));
}
.bg-\[\#DCEAE7\]{
  --tw-bg-opacity: 1;
  background-color: rgb(220 234 231 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E2ECF1\]{
  --tw-bg-opacity: 1;
  background-color: rgb(226 236 241 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E2F0E5\]{
  --tw-bg-opacity: 1;
  background-color: rgb(226 240 229 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E3F0E8\]{
  --tw-bg-opacity: 1;
  background-color: rgb(227 240 232 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E7F0EE\]{
  --tw-bg-opacity: 1;
  background-color: rgb(231 240 238 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E8EDEB\]{
  --tw-bg-opacity: 1;
  background-color: rgb(232 237 235 / var(--tw-bg-opacity, 1));
}
.bg-\[\#EAE8F6\]{
  --tw-bg-opacity: 1;
  background-color: rgb(234 232 246 / var(--tw-bg-opacity, 1));
}
.bg-\[\#EFF3F1\]{
  --tw-bg-opacity: 1;
  background-color: rgb(239 243 241 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F1E4E1\]{
  --tw-bg-opacity: 1;
  background-color: rgb(241 228 225 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F2E6D2\]{
  --tw-bg-opacity: 1;
  background-color: rgb(242 230 210 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F2E9D3\]{
  --tw-bg-opacity: 1;
  background-color: rgb(242 233 211 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F2F8F6\]{
  --tw-bg-opacity: 1;
  background-color: rgb(242 248 246 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F3E6D3\]{
  --tw-bg-opacity: 1;
  background-color: rgb(243 230 211 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F7E0DA\]{
  --tw-bg-opacity: 1;
  background-color: rgb(247 224 218 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F7E3DE\]{
  --tw-bg-opacity: 1;
  background-color: rgb(247 227 222 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FBEAEA\]{
  --tw-bg-opacity: 1;
  background-color: rgb(251 234 234 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FBEDE3\]{
  --tw-bg-opacity: 1;
  background-color: rgb(251 237 227 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FBEEDB\]{
  --tw-bg-opacity: 1;
  background-color: rgb(251 238 219 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FBF1D8\]{
  --tw-bg-opacity: 1;
  background-color: rgb(251 241 216 / var(--tw-bg-opacity, 1));
}
.bg-\[\#a4504a\]{
  --tw-bg-opacity: 1;
  background-color: rgb(164 80 74 / var(--tw-bg-opacity, 1));
}
.bg-\[\#a7cfc6\]{
  --tw-bg-opacity: 1;
  background-color: rgb(167 207 198 / var(--tw-bg-opacity, 1));
}
.bg-\[\#c79a4e\]{
  --tw-bg-opacity: 1;
  background-color: rgb(199 154 78 / var(--tw-bg-opacity, 1));
}
.bg-\[\#dfeae5\]{
  --tw-bg-opacity: 1;
  background-color: rgb(223 234 229 / var(--tw-bg-opacity, 1));
}
.bg-\[\#e3efea\]{
  --tw-bg-opacity: 1;
  background-color: rgb(227 239 234 / var(--tw-bg-opacity, 1));
}
.bg-\[\#e8eeea\]{
  --tw-bg-opacity: 1;
  background-color: rgb(232 238 234 / var(--tw-bg-opacity, 1));
}
.bg-\[\#ecd9bd\]{
  --tw-bg-opacity: 1;
  background-color: rgb(236 217 189 / var(--tw-bg-opacity, 1));
}
.bg-\[\#eceeec\]{
  --tw-bg-opacity: 1;
  background-color: rgb(236 238 236 / var(--tw-bg-opacity, 1));
}
.bg-\[\#eef2f6\]{
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 246 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f4e7ce\]{
  --tw-bg-opacity: 1;
  background-color: rgb(244 231 206 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f6e9e7\]{
  --tw-bg-opacity: 1;
  background-color: rgb(246 233 231 / var(--tw-bg-opacity, 1));
}
.bg-\[\#faece7\]{
  --tw-bg-opacity: 1;
  background-color: rgb(250 236 231 / var(--tw-bg-opacity, 1));
}
.bg-\[rgba\(15\2c 23\2c 42\2c 0\.55\)\]{
  background-color: rgba(15,23,42,0.55);
}
.bg-\[rgba\(188\2c 82\2c 56\2c 0\.12\)\]{
  background-color: rgba(188,82,56,0.12);
}
.bg-\[rgba\(194\2c 144\2c 47\2c 0\.14\)\]{
  background-color: rgba(194,144,47,0.14);
}
.bg-\[rgba\(20\2c 30\2c 40\2c 0\.42\)\]{
  background-color: rgba(20,30,40,0.42);
}
.bg-\[rgba\(231\2c 201\2c 165\2c 0\.15\)\]{
  background-color: rgba(231,201,165,0.15);
}
.bg-\[rgba\(231\2c 201\2c 165\2c 0\.92\)\]{
  background-color: rgba(231,201,165,0.92);
}
.bg-\[rgba\(255\2c 255\2c 255\2c 0\.9\)\]{
  background-color: rgba(255,255,255,0.9);
}
.bg-\[rgba\(30\2c 44\2c 39\2c 0\.34\)\]{
  background-color: rgba(30,44,39,0.34);
}
.bg-\[rgba\(46\2c 125\2c 91\2c 0\.12\)\]{
  background-color: rgba(46,125,91,0.12);
}
.bg-accent{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-accent) / var(--tw-bg-opacity, 1));
}
.bg-accent-soft{
  background-color: var(--accent-soft);
}
.bg-accent-strong{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-accent-strong) / var(--tw-bg-opacity, 1));
}
.bg-accent-strong\/10{
  background-color: rgb(var(--color-accent-strong) / 0.1);
}
.bg-accent\/10{
  background-color: rgb(var(--color-accent) / 0.1);
}
.bg-accent\/15{
  background-color: rgb(var(--color-accent) / 0.15);
}
.bg-accent\/20{
  background-color: rgb(var(--color-accent) / 0.2);
}
.bg-accent\/25{
  background-color: rgb(var(--color-accent) / 0.25);
}
.bg-accent\/40{
  background-color: rgb(var(--color-accent) / 0.4);
}
.bg-accent\/5{
  background-color: rgb(var(--color-accent) / 0.05);
}
.bg-accent\/60{
  background-color: rgb(var(--color-accent) / 0.6);
}
.bg-amber-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-500{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-black\/15{
  background-color: rgb(0 0 0 / 0.15);
}
.bg-black\/55{
  background-color: rgb(0 0 0 / 0.55);
}
.bg-canvas{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-canvas) / var(--tw-bg-opacity, 1));
}
.bg-canvas\/10{
  background-color: rgb(var(--color-canvas) / 0.1);
}
.bg-canvas\/15{
  background-color: rgb(var(--color-canvas) / 0.15);
}
.bg-canvas\/20{
  background-color: rgb(var(--color-canvas) / 0.2);
}
.bg-canvas\/30{
  background-color: rgb(var(--color-canvas) / 0.3);
}
.bg-canvas\/40{
  background-color: rgb(var(--color-canvas) / 0.4);
}
.bg-canvas\/5{
  background-color: rgb(var(--color-canvas) / 0.05);
}
.bg-canvas\/50{
  background-color: rgb(var(--color-canvas) / 0.5);
}
.bg-canvas\/60{
  background-color: rgb(var(--color-canvas) / 0.6);
}
.bg-canvas\/90{
  background-color: rgb(var(--color-canvas) / 0.9);
}
.bg-canvas\/95{
  background-color: rgb(var(--color-canvas) / 0.95);
}
.bg-critical{
  background-color: var(--critical);
}
.bg-critical-soft{
  background-color: var(--critical-soft);
}
.bg-current{
  background-color: currentColor;
}
.bg-edge{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-edge) / var(--tw-bg-opacity, 1));
}
.bg-edge\/60{
  background-color: rgb(var(--color-edge) / 0.6);
}
.bg-emerald-50{
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500{
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-gold{
  background-color: var(--gold);
}
.bg-gold-soft{
  background-color: var(--gold-soft);
}
.bg-hairline-soft{
  background-color: var(--hairline-soft);
}
.bg-info-soft{
  background-color: var(--info-soft);
}
.bg-ink{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-ink) / var(--tw-bg-opacity, 1));
}
.bg-ink-faint{
  background-color: var(--ink-faint);
}
.bg-ink-mute{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-ink-mute) / var(--tw-bg-opacity, 1));
}
.bg-ink-mute\/20{
  background-color: rgb(var(--color-ink-mute) / 0.2);
}
.bg-ink-mute\/40{
  background-color: rgb(var(--color-ink-mute) / 0.4);
}
.bg-ink-mute\/50{
  background-color: rgb(var(--color-ink-mute) / 0.5);
}
.bg-ink\/10{
  background-color: rgb(var(--color-ink) / 0.1);
}
.bg-ink\/15{
  background-color: rgb(var(--color-ink) / 0.15);
}
.bg-ink\/20{
  background-color: rgb(var(--color-ink) / 0.2);
}
.bg-ink\/40{
  background-color: rgb(var(--color-ink) / 0.4);
}
.bg-ink\/5{
  background-color: rgb(var(--color-ink) / 0.05);
}
.bg-ink\/65{
  background-color: rgb(var(--color-ink) / 0.65);
}
.bg-ink\/95{
  background-color: rgb(var(--color-ink) / 0.95);
}
.bg-nav-dark{
  background-color: var(--nav-dark);
}
.bg-offline-soft{
  background-color: var(--offline-soft);
}
.bg-ok{
  background-color: var(--ok);
}
.bg-ok-soft{
  background-color: var(--ok-soft);
}
.bg-paper{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-paper) / var(--tw-bg-opacity, 1));
}
.bg-paper-alt{
  background-color: var(--paper-alt);
}
.bg-paper\/80{
  background-color: rgb(var(--color-paper) / 0.8);
}
.bg-paper\/85{
  background-color: rgb(var(--color-paper) / 0.85);
}
.bg-paper\/90{
  background-color: rgb(var(--color-paper) / 0.9);
}
.bg-paper\/95{
  background-color: rgb(var(--color-paper) / 0.95);
}
.bg-red-400{
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}
.bg-red-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-500{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-stone-950{
  --tw-bg-opacity: 1;
  background-color: rgb(12 10 9 / var(--tw-bg-opacity, 1));
}
.bg-surface{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-surface) / var(--tw-bg-opacity, 1));
}
.bg-surface-ink\/10{
  background-color: rgb(var(--color-surface-ink) / 0.1);
}
.bg-surface-ink\/20{
  background-color: rgb(var(--color-surface-ink) / 0.2);
}
.bg-surface-ink\/25{
  background-color: rgb(var(--color-surface-ink) / 0.25);
}
.bg-surface\/90{
  background-color: rgb(var(--color-surface) / 0.9);
}
.bg-transparent{
  background-color: transparent;
}
.bg-warn{
  background-color: var(--warn);
}
.bg-warn-soft{
  background-color: var(--warn-soft);
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-\[linear-gradient\(150deg\2c \#1E2F29_0\%\2c \#264a43_55\%\2c \#2E6D65_100\%\)\]{
  background-image: linear-gradient(150deg,#1E2F29 0%,#264a43 55%,#2E6D65 100%);
}
.bg-\[linear-gradient\(150deg\2c \#2f6a5c\2c \#27594d\)\]{
  background-image: linear-gradient(150deg,#2f6a5c,#27594d);
}
.bg-\[linear-gradient\(160deg\2c \#3E7C9E\2c \#264a43\)\]{
  background-image: linear-gradient(160deg,#3E7C9E,#264a43);
}
.bg-\[linear-gradient\(160deg\2c \#5a86a4\2c \#2E6D65\)\]{
  background-image: linear-gradient(160deg,#5a86a4,#2E6D65);
}
.bg-\[linear-gradient\(160deg\2c \#6b9e95\2c \#1E2F29\)\]{
  background-image: linear-gradient(160deg,#6b9e95,#1E2F29);
}
.bg-\[linear-gradient\(90deg\2c \#3E7C9E\2c \#345F78\)\]{
  background-image: linear-gradient(90deg,#3E7C9E,#345F78);
}
.bg-\[linear-gradient\(90deg\2c \#4F9D69\2c \#2E6D65\)\]{
  background-image: linear-gradient(90deg,#4F9D69,#2E6D65);
}
.bg-\[repeating-linear-gradient\(135deg\2c \#FBF9F4_0\2c \#FBF9F4_11px\2c \#FFFFFF_11px\2c \#FFFFFF_22px\)\]{
  background-image: repeating-linear-gradient(135deg,#FBF9F4 0,#FBF9F4 11px,#FFFFFF 11px,#FFFFFF 22px);
}
.bg-\[url\(\'data\:image\/svg\+xml\;utf8\2c \%3Csvg\%20xmlns\=\%22http\:\/\/www\.w3\.org\/2000\/svg\%22\%20width\=\%2210\%22\%20height\=\%226\%22\%20viewBox\=\%220\%200\%2010\%206\%22\%3E\%3Cpath\%20d\=\%22M1\%201l4\%204\%204-4\%22\%20stroke\=\%22\%236f7c76\%22\%20stroke-width\=\%221\.5\%22\%20fill\=\%22none\%22\%20stroke-linecap\=\%22round\%22\/\%3E\%3C\/svg\%3E\'\)\]{
  background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2210%22%20height=%226%22%20viewBox=%220%200%2010%206%22%3E%3Cpath%20d=%22M1%201l4%204%204-4%22%20stroke=%22%236f7c76%22%20stroke-width=%221.5%22%20fill=%22none%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E');
}
.bg-\[url\(\'data\:image\/svg\+xml\;utf8\2c \%3Csvg\%20xmlns\=\%22http\:\/\/www\.w3\.org\/2000\/svg\%22\%20width\=\%2212\%22\%20height\=\%2212\%22\%20viewBox\=\%220\%200\%2024\%2024\%22\%20fill\=\%22none\%22\%20stroke\=\%22currentColor\%22\%20stroke-width\=\%221\.5\%22\%20stroke-linecap\=\%22round\%22\%20stroke-linejoin\=\%22round\%22\%3E\%3Cpath\%20d\=\%22m6\%209\%206\%206\%206-6\%22\/\%3E\%3C\/svg\%3E\'\)\]{
  background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2212%22%20height=%2212%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22currentColor%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22m6%209%206%206%206-6%22/%3E%3C/svg%3E');
}
.bg-gradient-to-b{
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t{
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.bg-none{
  background-image: none;
}
.from-\[\#143F3D\]{
  --tw-gradient-from: #143F3D var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 63 61 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-accent{
  --tw-gradient-from: rgb(var(--color-accent) / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(var(--color-accent) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-accent\/10{
  --tw-gradient-from: rgb(var(--color-accent) / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(var(--color-accent) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/55{
  --tw-gradient-from: rgb(0 0 0 / 0.55) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-ink\/40{
  --tw-gradient-from: rgb(var(--color-ink) / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(var(--color-ink) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-ink\/45{
  --tw-gradient-from: rgb(var(--color-ink) / 0.45) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(var(--color-ink) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-ink\/90{
  --tw-gradient-from: rgb(var(--color-ink) / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(var(--color-ink) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent{
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-accent{
  --tw-gradient-to: rgb(var(--color-accent) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-accent) / 1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-ink\/40{
  --tw-gradient-to: rgb(var(--color-ink) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-ink) / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[\#1F6F6B\]{
  --tw-gradient-to: #1F6F6B var(--tw-gradient-to-position);
}
.to-accent-strong{
  --tw-gradient-to: rgb(var(--color-accent-strong) / 1) var(--tw-gradient-to-position);
}
.to-ink\/10{
  --tw-gradient-to: rgb(var(--color-ink) / 0.1) var(--tw-gradient-to-position);
}
.to-transparent{
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.bg-\[right_11px_center\]{
  background-position: right 11px center;
}
.bg-\[right_center\]{
  background-position: right center;
}
.bg-no-repeat{
  background-repeat: no-repeat;
}
.fill-current{
  fill: currentColor;
}
.stroke-edge{
  stroke: rgb(var(--color-edge) / 1);
}
.object-contain{
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}
.p-0{
  padding: 0px;
}
.p-0\.5{
  padding: 0.125rem;
}
.p-1{
  padding: 0.25rem;
}
.p-1\.5{
  padding: 0.375rem;
}
.p-10{
  padding: 2.5rem;
}
.p-16{
  padding: 4rem;
}
.p-2{
  padding: 0.5rem;
}
.p-2\.5{
  padding: 0.625rem;
}
.p-3{
  padding: 0.75rem;
}
.p-4{
  padding: 1rem;
}
.p-5{
  padding: 1.25rem;
}
.p-6{
  padding: 1.5rem;
}
.p-8{
  padding: 2rem;
}
.p-\[15px\]{
  padding: 15px;
}
.p-\[18px\]{
  padding: 18px;
}
.p-\[22px\]{
  padding: 22px;
}
.p-\[3px\]{
  padding: 3px;
}
.p-px{
  padding: 1px;
}
.px-0\.5{
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.px-1{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5{
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-10{
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5{
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5{
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7{
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-\[10px\]{
  padding-left: 10px;
  padding-right: 10px;
}
.px-\[11px\]{
  padding-left: 11px;
  padding-right: 11px;
}
.px-\[12px\]{
  padding-left: 12px;
  padding-right: 12px;
}
.px-\[13px\]{
  padding-left: 13px;
  padding-right: 13px;
}
.px-\[14px\]{
  padding-left: 14px;
  padding-right: 14px;
}
.px-\[15px\]{
  padding-left: 15px;
  padding-right: 15px;
}
.px-\[16px\]{
  padding-left: 16px;
  padding-right: 16px;
}
.px-\[17px\]{
  padding-left: 17px;
  padding-right: 17px;
}
.px-\[18px\]{
  padding-left: 18px;
  padding-right: 18px;
}
.px-\[20px\]{
  padding-left: 20px;
  padding-right: 20px;
}
.px-\[22px\]{
  padding-left: 22px;
  padding-right: 22px;
}
.px-\[2px\]{
  padding-left: 2px;
  padding-right: 2px;
}
.px-\[46px\]{
  padding-left: 46px;
  padding-right: 46px;
}
.px-\[54px\]{
  padding-left: 54px;
  padding-right: 54px;
}
.px-\[5px\]{
  padding-left: 5px;
  padding-right: 5px;
}
.px-\[6px\]{
  padding-left: 6px;
  padding-right: 6px;
}
.px-\[7px\]{
  padding-left: 7px;
  padding-right: 7px;
}
.px-\[8px\]{
  padding-left: 8px;
  padding-right: 8px;
}
.px-\[9px\]{
  padding-left: 9px;
  padding-right: 9px;
}
.px-\[max\(24px\2c calc\(\(100\%-600px\)\/2\)\)\]{
  padding-left: max(24px, calc((100% - 600px) / 2));
  padding-right: max(24px, calc((100% - 600px) / 2));
}
.py-0{
  padding-top: 0px;
  padding-bottom: 0px;
}
.py-0\.5{
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5{
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12{
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-14{
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
.py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5{
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-20{
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-24{
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5{
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-7{
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}
.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-\[10px\]{
  padding-top: 10px;
  padding-bottom: 10px;
}
.py-\[11px\]{
  padding-top: 11px;
  padding-bottom: 11px;
}
.py-\[12px\]{
  padding-top: 12px;
  padding-bottom: 12px;
}
.py-\[13px\]{
  padding-top: 13px;
  padding-bottom: 13px;
}
.py-\[14px\]{
  padding-top: 14px;
  padding-bottom: 14px;
}
.py-\[15px\]{
  padding-top: 15px;
  padding-bottom: 15px;
}
.py-\[16px\]{
  padding-top: 16px;
  padding-bottom: 16px;
}
.py-\[17px\]{
  padding-top: 17px;
  padding-bottom: 17px;
}
.py-\[18px\]{
  padding-top: 18px;
  padding-bottom: 18px;
}
.py-\[1px\]{
  padding-top: 1px;
  padding-bottom: 1px;
}
.py-\[20px\]{
  padding-top: 20px;
  padding-bottom: 20px;
}
.py-\[22px\]{
  padding-top: 22px;
  padding-bottom: 22px;
}
.py-\[24px\]{
  padding-top: 24px;
  padding-bottom: 24px;
}
.py-\[26px\]{
  padding-top: 26px;
  padding-bottom: 26px;
}
.py-\[2px\]{
  padding-top: 2px;
  padding-bottom: 2px;
}
.py-\[3px\]{
  padding-top: 3px;
  padding-bottom: 3px;
}
.py-\[46px\]{
  padding-top: 46px;
  padding-bottom: 46px;
}
.py-\[4px\]{
  padding-top: 4px;
  padding-bottom: 4px;
}
.py-\[5px\]{
  padding-top: 5px;
  padding-bottom: 5px;
}
.py-\[6px\]{
  padding-top: 6px;
  padding-bottom: 6px;
}
.py-\[7px\]{
  padding-top: 7px;
  padding-bottom: 7px;
}
.py-\[8px\]{
  padding-top: 8px;
  padding-bottom: 8px;
}
.py-\[9px\]{
  padding-top: 9px;
  padding-bottom: 9px;
}
.py-px{
  padding-top: 1px;
  padding-bottom: 1px;
}
.pb-0{
  padding-bottom: 0px;
}
.pb-0\.5{
  padding-bottom: 0.125rem;
}
.pb-1{
  padding-bottom: 0.25rem;
}
.pb-1\.5{
  padding-bottom: 0.375rem;
}
.pb-12{
  padding-bottom: 3rem;
}
.pb-2{
  padding-bottom: 0.5rem;
}
.pb-2\.5{
  padding-bottom: 0.625rem;
}
.pb-3{
  padding-bottom: 0.75rem;
}
.pb-4{
  padding-bottom: 1rem;
}
.pb-5{
  padding-bottom: 1.25rem;
}
.pb-6{
  padding-bottom: 1.5rem;
}
.pb-8{
  padding-bottom: 2rem;
}
.pb-\[10px\]{
  padding-bottom: 10px;
}
.pb-\[11px\]{
  padding-bottom: 11px;
}
.pb-\[14px\]{
  padding-bottom: 14px;
}
.pb-\[16px\]{
  padding-bottom: 16px;
}
.pb-\[17px\]{
  padding-bottom: 17px;
}
.pb-\[18px\]{
  padding-bottom: 18px;
}
.pb-\[22px\]{
  padding-bottom: 22px;
}
.pb-\[2px\]{
  padding-bottom: 2px;
}
.pb-\[38px\]{
  padding-bottom: 38px;
}
.pb-\[40px\]{
  padding-bottom: 40px;
}
.pb-\[4px\]{
  padding-bottom: 4px;
}
.pb-\[6px\]{
  padding-bottom: 6px;
}
.pb-\[7px\]{
  padding-bottom: 7px;
}
.pb-\[8px\]{
  padding-bottom: 8px;
}
.pb-\[max\(0\.75rem\2c env\(safe-area-inset-bottom\)\)\]{
  padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
}
.pl-2{
  padding-left: 0.5rem;
}
.pl-3{
  padding-left: 0.75rem;
}
.pl-4{
  padding-left: 1rem;
}
.pl-5{
  padding-left: 1.25rem;
}
.pl-7{
  padding-left: 1.75rem;
}
.pl-8{
  padding-left: 2rem;
}
.pl-9{
  padding-left: 2.25rem;
}
.pl-\[11px\]{
  padding-left: 11px;
}
.pl-\[12px\]{
  padding-left: 12px;
}
.pl-\[14px\]{
  padding-left: 14px;
}
.pl-\[1px\]{
  padding-left: 1px;
}
.pl-\[34px\]{
  padding-left: 34px;
}
.pl-\[54px\]{
  padding-left: 54px;
}
.pl-\[64px\]{
  padding-left: 64px;
}
.pl-\[8px\]{
  padding-left: 8px;
}
.pl-\[98px\]{
  padding-left: 98px;
}
.pl-\[9px\]{
  padding-left: 9px;
}
.pr-0\.5{
  padding-right: 0.125rem;
}
.pr-1{
  padding-right: 0.25rem;
}
.pr-10{
  padding-right: 2.5rem;
}
.pr-14{
  padding-right: 3.5rem;
}
.pr-3{
  padding-right: 0.75rem;
}
.pr-4{
  padding-right: 1rem;
}
.pr-6{
  padding-right: 1.5rem;
}
.pr-9{
  padding-right: 2.25rem;
}
.pr-\[11px\]{
  padding-right: 11px;
}
.pr-\[12px\]{
  padding-right: 12px;
}
.pr-\[30px\]{
  padding-right: 30px;
}
.pr-\[54px\]{
  padding-right: 54px;
}
.pr-\[9px\]{
  padding-right: 9px;
}
.pt-0{
  padding-top: 0px;
}
.pt-0\.5{
  padding-top: 0.125rem;
}
.pt-1{
  padding-top: 0.25rem;
}
.pt-10{
  padding-top: 2.5rem;
}
.pt-2{
  padding-top: 0.5rem;
}
.pt-2\.5{
  padding-top: 0.625rem;
}
.pt-20{
  padding-top: 5rem;
}
.pt-3{
  padding-top: 0.75rem;
}
.pt-4{
  padding-top: 1rem;
}
.pt-5{
  padding-top: 1.25rem;
}
.pt-6{
  padding-top: 1.5rem;
}
.pt-8{
  padding-top: 2rem;
}
.pt-9{
  padding-top: 2.25rem;
}
.pt-\[10px\]{
  padding-top: 10px;
}
.pt-\[11px\]{
  padding-top: 11px;
}
.pt-\[12px\]{
  padding-top: 12px;
}
.pt-\[13px\]{
  padding-top: 13px;
}
.pt-\[14px\]{
  padding-top: 14px;
}
.pt-\[18px\]{
  padding-top: 18px;
}
.pt-\[1px\]{
  padding-top: 1px;
}
.pt-\[22px\]{
  padding-top: 22px;
}
.pt-\[2px\]{
  padding-top: 2px;
}
.pt-\[30px\]{
  padding-top: 30px;
}
.pt-\[32px\]{
  padding-top: 32px;
}
.pt-\[3px\]{
  padding-top: 3px;
}
.pt-\[44px\]{
  padding-top: 44px;
}
.pt-\[46px\]{
  padding-top: 46px;
}
.pt-\[5px\]{
  padding-top: 5px;
}
.pt-\[7px\]{
  padding-top: 7px;
}
.pt-\[8px\]{
  padding-top: 8px;
}
.pt-\[9px\]{
  padding-top: 9px;
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.align-top{
  vertical-align: top;
}
.align-middle{
  vertical-align: middle;
}
.align-bottom{
  vertical-align: bottom;
}
.font-display{
  font-family: var(--font-display);
}
.font-mono{
  font-family: var(--font-mono);
}
.font-sans{
  font-family: var(--font-sans);
}
.font-serif{
  font-family: var(--font-serif);
}
.text-2xl{
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl{
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl{
  font-size: 3rem;
  line-height: 1;
}
.text-\[0\.65rem\]{
  font-size: 0.65rem;
}
.text-\[0\.85em\]{
  font-size: 0.85em;
}
.text-\[10\.5px\]{
  font-size: 10.5px;
}
.text-\[10px\]{
  font-size: 10px;
}
.text-\[11\.5px\]{
  font-size: 11.5px;
}
.text-\[11px\]{
  font-size: 11px;
}
.text-\[12\.5px\]{
  font-size: 12.5px;
}
.text-\[12px\]{
  font-size: 12px;
}
.text-\[13\.5px\]{
  font-size: 13.5px;
}
.text-\[13px\]{
  font-size: 13px;
}
.text-\[14\.5px\]{
  font-size: 14.5px;
}
.text-\[14px\]{
  font-size: 14px;
}
.text-\[15px\]{
  font-size: 15px;
}
.text-\[16px\]{
  font-size: 16px;
}
.text-\[17px\]{
  font-size: 17px;
}
.text-\[18px\]{
  font-size: 18px;
}
.text-\[19px\]{
  font-size: 19px;
}
.text-\[20px\]{
  font-size: 20px;
}
.text-\[21px\]{
  font-size: 21px;
}
.text-\[22px\]{
  font-size: 22px;
}
.text-\[24px\]{
  font-size: 24px;
}
.text-\[25px\]{
  font-size: 25px;
}
.text-\[26px\]{
  font-size: 26px;
}
.text-\[27px\]{
  font-size: 27px;
}
.text-\[28px\]{
  font-size: 28px;
}
.text-\[30px\]{
  font-size: 30px;
}
.text-\[33px\]{
  font-size: 33px;
}
.text-\[38px\]{
  font-size: 38px;
}
.text-\[46px\]{
  font-size: 46px;
}
.text-\[54px\]{
  font-size: 54px;
}
.text-\[8\.5px\]{
  font-size: 8.5px;
}
.text-\[8px\]{
  font-size: 8px;
}
.text-\[9\.5px\]{
  font-size: 9.5px;
}
.text-\[9px\]{
  font-size: 9px;
}
.text-\[clamp\(1\.75rem\2c 4vw\2c 2\.75rem\)\]{
  font-size: clamp(1.75rem, 4vw, 2.75rem);
}
.text-\[clamp\(2\.75rem\2c 6vw\2c 4\.75rem\)\]{
  font-size: clamp(2.75rem, 6vw, 4.75rem);
}
.text-base{
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl{
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs{
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-bold{
  font-weight: 700;
}
.font-medium{
  font-weight: 500;
}
.font-normal{
  font-weight: 400;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.lowercase{
  text-transform: lowercase;
}
.capitalize{
  text-transform: capitalize;
}
.normal-case{
  text-transform: none;
}
.italic{
  font-style: italic;
}
.not-italic{
  font-style: normal;
}
.ordinal{
  --tw-ordinal: ordinal;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.tabular-nums{
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-\[1\.02\]{
  line-height: 1.02;
}
.leading-\[1\.04\]{
  line-height: 1.04;
}
.leading-\[1\.05\]{
  line-height: 1.05;
}
.leading-\[1\.15\]{
  line-height: 1.15;
}
.leading-\[1\.1\]{
  line-height: 1.1;
}
.leading-\[1\.25\]{
  line-height: 1.25;
}
.leading-\[1\.2\]{
  line-height: 1.2;
}
.leading-\[1\.55\]{
  line-height: 1.55;
}
.leading-\[1\.5\]{
  line-height: 1.5;
}
.leading-\[1\.6\]{
  line-height: 1.6;
}
.leading-\[1\.7\]{
  line-height: 1.7;
}
.leading-none{
  line-height: 1;
}
.leading-relaxed{
  line-height: 1.625;
}
.leading-snug{
  line-height: 1.375;
}
.leading-tight{
  line-height: 1.25;
}
.tracking-\[-0\.02em\]{
  letter-spacing: -0.02em;
}
.tracking-\[\.4px\]{
  letter-spacing: .4px;
}
.tracking-\[\.5px\]{
  letter-spacing: .5px;
}
.tracking-\[0\.01em\]{
  letter-spacing: 0.01em;
}
.tracking-\[0\.02em\]{
  letter-spacing: 0.02em;
}
.tracking-\[0\.03em\]{
  letter-spacing: 0.03em;
}
.tracking-\[0\.04em\]{
  letter-spacing: 0.04em;
}
.tracking-\[0\.05em\]{
  letter-spacing: 0.05em;
}
.tracking-\[0\.06em\]{
  letter-spacing: 0.06em;
}
.tracking-\[0\.07em\]{
  letter-spacing: 0.07em;
}
.tracking-\[0\.08em\]{
  letter-spacing: 0.08em;
}
.tracking-\[0\.09em\]{
  letter-spacing: 0.09em;
}
.tracking-\[0\.10em\]{
  letter-spacing: 0.10em;
}
.tracking-\[0\.12em\]{
  letter-spacing: 0.12em;
}
.tracking-\[0\.14em\]{
  letter-spacing: 0.14em;
}
.tracking-\[0\.15em\]{
  letter-spacing: 0.15em;
}
.tracking-\[0\.16em\]{
  letter-spacing: 0.16em;
}
.tracking-\[0\.1em\]{
  letter-spacing: 0.1em;
}
.tracking-\[0\.2px\]{
  letter-spacing: 0.2px;
}
.tracking-\[0\.3em\]{
  letter-spacing: 0.3em;
}
.tracking-\[0\.3px\]{
  letter-spacing: 0.3px;
}
.tracking-\[0\.4px\]{
  letter-spacing: 0.4px;
}
.tracking-\[0\.5px\]{
  letter-spacing: 0.5px;
}
.tracking-\[0\.6px\]{
  letter-spacing: 0.6px;
}
.tracking-\[1\.8px\]{
  letter-spacing: 1.8px;
}
.tracking-\[1px\]{
  letter-spacing: 1px;
}
.tracking-eyebrow{
  letter-spacing: 0.22em;
}
.tracking-normal{
  letter-spacing: 0em;
}
.tracking-tight{
  letter-spacing: -0.025em;
}
.tracking-wide{
  letter-spacing: 0.025em;
}
.tracking-wider{
  letter-spacing: 0.05em;
}
.\!text-white{
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}
.text-\[\#2E6D45\]{
  --tw-text-opacity: 1;
  color: rgb(46 109 69 / var(--tw-text-opacity, 1));
}
.text-\[\#2E6D65\]{
  --tw-text-opacity: 1;
  color: rgb(46 109 101 / var(--tw-text-opacity, 1));
}
.text-\[\#2E7D54\]{
  --tw-text-opacity: 1;
  color: rgb(46 125 84 / var(--tw-text-opacity, 1));
}
.text-\[\#2E7D5B\]{
  --tw-text-opacity: 1;
  color: rgb(46 125 91 / var(--tw-text-opacity, 1));
}
.text-\[\#2f6a5c\]{
  --tw-text-opacity: 1;
  color: rgb(47 106 92 / var(--tw-text-opacity, 1));
}
.text-\[\#3E7C9E\]{
  --tw-text-opacity: 1;
  color: rgb(62 124 158 / var(--tw-text-opacity, 1));
}
.text-\[\#5A451C\]{
  --tw-text-opacity: 1;
  color: rgb(90 69 28 / var(--tw-text-opacity, 1));
}
.text-\[\#5B4FA8\]{
  --tw-text-opacity: 1;
  color: rgb(91 79 168 / var(--tw-text-opacity, 1));
}
.text-\[\#5b6b78\]{
  --tw-text-opacity: 1;
  color: rgb(91 107 120 / var(--tw-text-opacity, 1));
}
.text-\[\#5f5e5a\]{
  --tw-text-opacity: 1;
  color: rgb(95 94 90 / var(--tw-text-opacity, 1));
}
.text-\[\#6B4F10\]{
  --tw-text-opacity: 1;
  color: rgb(107 79 16 / var(--tw-text-opacity, 1));
}
.text-\[\#6f7c76\]{
  --tw-text-opacity: 1;
  color: rgb(111 124 118 / var(--tw-text-opacity, 1));
}
.text-\[\#8A6A22\]{
  --tw-text-opacity: 1;
  color: rgb(138 106 34 / var(--tw-text-opacity, 1));
}
.text-\[\#8A6A2E\]{
  --tw-text-opacity: 1;
  color: rgb(138 106 46 / var(--tw-text-opacity, 1));
}
.text-\[\#8a6a37\]{
  --tw-text-opacity: 1;
  color: rgb(138 106 55 / var(--tw-text-opacity, 1));
}
.text-\[\#993c1d\]{
  --tw-text-opacity: 1;
  color: rgb(153 60 29 / var(--tw-text-opacity, 1));
}
.text-\[\#9A6A0E\]{
  --tw-text-opacity: 1;
  color: rgb(154 106 14 / var(--tw-text-opacity, 1));
}
.text-\[\#A9C3BD\]{
  --tw-text-opacity: 1;
  color: rgb(169 195 189 / var(--tw-text-opacity, 1));
}
.text-\[\#B4232A\]{
  --tw-text-opacity: 1;
  color: rgb(180 35 42 / var(--tw-text-opacity, 1));
}
.text-\[\#B5651D\]{
  --tw-text-opacity: 1;
  color: rgb(181 101 29 / var(--tw-text-opacity, 1));
}
.text-\[\#B5821C\]{
  --tw-text-opacity: 1;
  color: rgb(181 130 28 / var(--tw-text-opacity, 1));
}
.text-\[\#B6C8C3\]{
  --tw-text-opacity: 1;
  color: rgb(182 200 195 / var(--tw-text-opacity, 1));
}
.text-\[\#BC5238\]{
  --tw-text-opacity: 1;
  color: rgb(188 82 56 / var(--tw-text-opacity, 1));
}
.text-\[\#C0492F\]{
  --tw-text-opacity: 1;
  color: rgb(192 73 47 / var(--tw-text-opacity, 1));
}
.text-\[\#C2902F\]{
  --tw-text-opacity: 1;
  color: rgb(194 144 47 / var(--tw-text-opacity, 1));
}
.text-\[\#C4D6D1\]{
  --tw-text-opacity: 1;
  color: rgb(196 214 209 / var(--tw-text-opacity, 1));
}
.text-\[\#D5E2DE\]{
  --tw-text-opacity: 1;
  color: rgb(213 226 222 / var(--tw-text-opacity, 1));
}
.text-\[\#E7C9A5\]{
  --tw-text-opacity: 1;
  color: rgb(231 201 165 / var(--tw-text-opacity, 1));
}
.text-\[\#a4504a\]{
  --tw-text-opacity: 1;
  color: rgb(164 80 74 / var(--tw-text-opacity, 1));
}
.text-\[\#a7cfc6\]{
  --tw-text-opacity: 1;
  color: rgb(167 207 198 / var(--tw-text-opacity, 1));
}
.text-\[\#cfe4dd\]{
  --tw-text-opacity: 1;
  color: rgb(207 228 221 / var(--tw-text-opacity, 1));
}
.text-accent{
  --tw-text-opacity: 1;
  color: rgb(var(--color-accent) / var(--tw-text-opacity, 1));
}
.text-accent-soft{
  color: var(--accent-soft);
}
.text-accent-strong{
  --tw-text-opacity: 1;
  color: rgb(var(--color-accent-strong) / var(--tw-text-opacity, 1));
}
.text-accent\/10{
  color: rgb(var(--color-accent) / 0.1);
}
.text-accent\/80{
  color: rgb(var(--color-accent) / 0.8);
}
.text-amber-300{
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.text-amber-600{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700{
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800{
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-canvas{
  --tw-text-opacity: 1;
  color: rgb(var(--color-canvas) / var(--tw-text-opacity, 1));
}
.text-canvas\/55{
  color: rgb(var(--color-canvas) / 0.55);
}
.text-canvas\/60{
  color: rgb(var(--color-canvas) / 0.6);
}
.text-canvas\/65{
  color: rgb(var(--color-canvas) / 0.65);
}
.text-canvas\/70{
  color: rgb(var(--color-canvas) / 0.7);
}
.text-canvas\/75{
  color: rgb(var(--color-canvas) / 0.75);
}
.text-canvas\/80{
  color: rgb(var(--color-canvas) / 0.8);
}
.text-canvas\/85{
  color: rgb(var(--color-canvas) / 0.85);
}
.text-canvas\/90{
  color: rgb(var(--color-canvas) / 0.9);
}
.text-canvas\/95{
  color: rgb(var(--color-canvas) / 0.95);
}
.text-critical{
  color: var(--critical);
}
.text-edge{
  --tw-text-opacity: 1;
  color: rgb(var(--color-edge) / var(--tw-text-opacity, 1));
}
.text-emerald-300{
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.text-emerald-600{
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700{
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-emerald-800{
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}
.text-gold{
  color: var(--gold);
}
.text-gold-strong{
  color: var(--gold-strong);
}
.text-info{
  color: var(--info);
}
.text-inherit{
  color: inherit;
}
.text-ink{
  --tw-text-opacity: 1;
  color: rgb(var(--color-ink) / var(--tw-text-opacity, 1));
}
.text-ink-faint{
  color: var(--ink-faint);
}
.text-ink-mute{
  --tw-text-opacity: 1;
  color: rgb(var(--color-ink-mute) / var(--tw-text-opacity, 1));
}
.text-ink-mute\/40{
  color: rgb(var(--color-ink-mute) / 0.4);
}
.text-ink-mute\/50{
  color: rgb(var(--color-ink-mute) / 0.5);
}
.text-ink-mute\/60{
  color: rgb(var(--color-ink-mute) / 0.6);
}
.text-ink-mute\/70{
  color: rgb(var(--color-ink-mute) / 0.7);
}
.text-ink-soft{
  color: var(--ink-soft);
}
.text-offline{
  color: var(--offline);
}
.text-ok{
  color: var(--ok);
}
.text-paper{
  --tw-text-opacity: 1;
  color: rgb(var(--color-paper) / var(--tw-text-opacity, 1));
}
.text-red-400{
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-600{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700{
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-stone-300{
  --tw-text-opacity: 1;
  color: rgb(214 211 209 / var(--tw-text-opacity, 1));
}
.text-stone-600{
  --tw-text-opacity: 1;
  color: rgb(87 83 78 / var(--tw-text-opacity, 1));
}
.text-surface-ink{
  --tw-text-opacity: 1;
  color: rgb(var(--color-surface-ink) / var(--tw-text-opacity, 1));
}
.text-surface-ink\/30{
  color: rgb(var(--color-surface-ink) / 0.3);
}
.text-surface-ink\/60{
  color: rgb(var(--color-surface-ink) / 0.6);
}
.text-surface-ink\/75{
  color: rgb(var(--color-surface-ink) / 0.75);
}
.text-surface-ink\/80{
  color: rgb(var(--color-surface-ink) / 0.8);
}
.text-surface-ink\/85{
  color: rgb(var(--color-surface-ink) / 0.85);
}
.text-transparent{
  color: transparent;
}
.text-warn{
  color: var(--warn);
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/70{
  color: rgb(255 255 255 / 0.7);
}
.text-white\/80{
  color: rgb(255 255 255 / 0.8);
}
.underline{
  text-decoration-line: underline;
}
.line-through{
  text-decoration-line: line-through;
}
.no-underline{
  text-decoration-line: none;
}
.decoration-accent\/40{
  text-decoration-color: rgb(var(--color-accent) / 0.4);
}
.decoration-1{
  text-decoration-thickness: 1px;
}
.underline-offset-2{
  text-underline-offset: 2px;
}
.accent-accent{
  accent-color: rgb(var(--color-accent) / 1);
}
.opacity-0{
  opacity: 0;
}
.opacity-100{
  opacity: 1;
}
.opacity-25{
  opacity: 0.25;
}
.opacity-40{
  opacity: 0.4;
}
.opacity-45{
  opacity: 0.45;
}
.opacity-50{
  opacity: 0.5;
}
.opacity-60{
  opacity: 0.6;
}
.opacity-65{
  opacity: 0.65;
}
.opacity-70{
  opacity: 0.7;
}
.opacity-75{
  opacity: 0.75;
}
.opacity-80{
  opacity: 0.8;
}
.opacity-90{
  opacity: 0.9;
}
.opacity-\[0\.72\]{
  opacity: 0.72;
}
.shadow{
  --tw-shadow: var(--shadow-md);
  --tw-shadow-colored: var(--shadow-md);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl{
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[-20px_0_50px_-24px_rgba\(30\2c 44\2c 39\2c 0\.4\)\]{
  --tw-shadow: -20px 0 50px -24px rgba(30,44,39,0.4);
  --tw-shadow-colored: -20px 0 50px -24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-8px_24px_-12px_rgba\(0\2c 0\2c 0\2c 0\.18\)\]{
  --tw-shadow: 0 -8px 24px -12px rgba(0,0,0,0.18);
  --tw-shadow-colored: 0 -8px 24px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_18px_44px_-28px_rgba\(30\2c 44\2c 39\2c 0\.4\)\]{
  --tw-shadow: 0 18px 44px -28px rgba(30,44,39,0.4);
  --tw-shadow-colored: 0 18px 44px -28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_0_0_var\(--color-edge\)\]{
  --tw-shadow: 0 1px 0 0 var(--color-edge);
  --tw-shadow-colored: 0 1px 0 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_2px_rgba\(20\2c 30\2c 40\2c 0\.08\)\]{
  --tw-shadow: 0 1px 2px rgba(20,30,40,0.08);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_2px_rgba\(20\2c 40\2c 45\2c 0\.04\)\2c 0_8px_24px_rgba\(20\2c 40\2c 45\2c 0\.06\)\]{
  --tw-shadow: 0 1px 2px rgba(20,40,45,0.04),0 8px 24px rgba(20,40,45,0.06);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color), 0 8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_3px_rgba\(20\2c 30\2c 40\2c 0\.04\)\]{
  --tw-shadow: 0 1px 3px rgba(20,30,40,0.04);
  --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_24px_60px_rgba\(20\2c 30\2c 40\2c 0\.3\)\]{
  --tw-shadow: 0 24px 60px rgba(20,30,40,0.3);
  --tw-shadow-colored: 0 24px 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_24px_70px_rgba\(15\2c 23\2c 42\2c 0\.35\)\]{
  --tw-shadow: 0 24px 70px rgba(15,23,42,0.35);
  --tw-shadow-colored: 0 24px 70px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_8px_rgba\(20\2c 30\2c 40\2c 0\.03\)\]{
  --tw-shadow: 0 2px 8px rgba(20,30,40,0.03);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_14px_rgba\(20\2c 30\2c 40\2c 0\.04\)\]{
  --tw-shadow: 0 4px 14px rgba(20,30,40,0.04);
  --tw-shadow-colored: 0 4px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_15px_rgba\(46\2c 109\2c 101\2c 0\.1\)\]{
  --tw-shadow: 0 4px 15px rgba(46,109,101,0.1);
  --tw-shadow-colored: 0 4px 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_5px_18px_rgba\(20\2c 30\2c 40\2c 0\.05\)\]{
  --tw-shadow: 0 5px 18px rgba(20,30,40,0.05);
  --tw-shadow-colored: 0 5px 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_18px_rgba\(20\2c 30\2c 40\2c 0\.10\)\]{
  --tw-shadow: 0 6px 18px rgba(20,30,40,0.10);
  --tw-shadow-colored: 0 6px 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_22px_rgba\(20\2c 30\2c 40\2c 0\.12\)\]{
  --tw-shadow: 0 8px 22px rgba(20,30,40,0.12);
  --tw-shadow-colored: 0 8px 22px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_24px_rgba\(20\2c 30\2c 40\2c 0\.14\)\]{
  --tw-shadow: 0 8px 24px rgba(20,30,40,0.14);
  --tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-focus{
  --tw-shadow: var(--shadow-focus);
  --tw-shadow-colored: var(--shadow-focus);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-glow{
  --tw-shadow: var(--shadow-glow);
  --tw-shadow-colored: var(--shadow-glow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg{
  --tw-shadow: var(--shadow-lg);
  --tw-shadow-colored: var(--shadow-lg);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lifted{
  --tw-shadow: var(--shadow-lifted);
  --tw-shadow-colored: var(--shadow-lifted);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md{
  --tw-shadow: var(--shadow-md);
  --tw-shadow-colored: var(--shadow-md);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm{
  --tw-shadow: var(--shadow-sm);
  --tw-shadow-colored: var(--shadow-sm);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl{
  --tw-shadow: var(--shadow-xl);
  --tw-shadow-colored: var(--shadow-xl);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline-none{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline{
  outline-style: solid;
}
.ring{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-0{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-4{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-inset{
  --tw-ring-inset: inset;
}
.ring-accent{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(var(--color-accent) / var(--tw-ring-opacity, 1));
}
.ring-accent\/0{
  --tw-ring-color: rgb(var(--color-accent) / 0);
}
.ring-accent\/20{
  --tw-ring-color: rgb(var(--color-accent) / 0.2);
}
.ring-accent\/30{
  --tw-ring-color: rgb(var(--color-accent) / 0.3);
}
.ring-accent\/40{
  --tw-ring-color: rgb(var(--color-accent) / 0.4);
}
.ring-canvas\/0{
  --tw-ring-color: rgb(var(--color-canvas) / 0);
}
.ring-edge{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(var(--color-edge) / var(--tw-ring-opacity, 1));
}
.ring-surface-ink\/20{
  --tw-ring-color: rgb(var(--color-surface-ink) / 0.2);
}
.blur{
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.invert{
  --tw-invert: invert(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur{
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[2px\]{
  --tw-backdrop-blur: blur(2px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[4px\]{
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-md{
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm{
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-filter{
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: var(--ease);
  transition-duration: var(--duration-base);
}
.transition-\[0\.15s\]{
  transition-property: 0.15s;
  transition-timing-function: var(--ease);
  transition-duration: var(--duration-base);
}
.transition-\[border-color\2c background\]{
  transition-property: border-color,background;
  transition-timing-function: var(--ease);
  transition-duration: var(--duration-base);
}
.transition-\[border-color\2c box-shadow\]{
  transition-property: border-color,box-shadow;
  transition-timing-function: var(--ease);
  transition-duration: var(--duration-base);
}
.transition-\[color\2c border-color\]{
  transition-property: color,border-color;
  transition-timing-function: var(--ease);
  transition-duration: var(--duration-base);
}
.transition-\[opacity\2c transform\]{
  transition-property: opacity,transform;
  transition-timing-function: var(--ease);
  transition-duration: var(--duration-base);
}
.transition-\[width\]{
  transition-property: width;
  transition-timing-function: var(--ease);
  transition-duration: var(--duration-base);
}
.transition-all{
  transition-property: all;
  transition-timing-function: var(--ease);
  transition-duration: var(--duration-base);
}
.transition-colors{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: var(--ease);
  transition-duration: var(--duration-base);
}
.transition-opacity{
  transition-property: opacity;
  transition-timing-function: var(--ease);
  transition-duration: var(--duration-base);
}
.transition-shadow{
  transition-property: box-shadow;
  transition-timing-function: var(--ease);
  transition-duration: var(--duration-base);
}
.transition-transform{
  transition-property: transform;
  transition-timing-function: var(--ease);
  transition-duration: var(--duration-base);
}
.duration-150{
  transition-duration: 150ms;
}
.duration-200{
  transition-duration: 200ms;
}
.duration-300{
  transition-duration: 300ms;
}
.duration-500{
  transition-duration: 500ms;
}
.duration-700{
  transition-duration: 700ms;
}
.duration-\[120ms\]{
  transition-duration: 120ms;
}
.duration-\[130ms\]{
  transition-duration: 130ms;
}
.duration-\[140ms\]{
  transition-duration: 140ms;
}
.duration-\[250ms\]{
  transition-duration: 250ms;
}
.duration-fast{
  transition-duration: var(--duration-fast);
}
.duration-slow{
  transition-duration: var(--duration-slow);
}
.ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out{
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.\[-ms-overflow-style\:none\]{
  -ms-overflow-style: none;
}
.\[background-image\:repeating-linear-gradient\(135deg\2c transparent_0\2c transparent_2px\2c rgba\(255\2c 255\2c 255\2c 0\.25\)_2px\2c rgba\(255\2c 255\2c 255\2c 0\.25\)_4px\)\]{
  background-image: repeating-linear-gradient(135deg,transparent 0,transparent 2px,rgba(255,255,255,0.25) 2px,rgba(255,255,255,0.25) 4px);
}
.\[color-scheme\:dark\]{
  color-scheme: dark;
}
.\[font-feature-settings\:\'tnum\'_1\]{
  font-feature-settings: 'tnum' 1;
}
.\[scrollbar-width\:none\]{
  scrollbar-width: none;
}
.\[seed\:auth\]{
  seed: auth;
}

@media (min-width: 640px){

  @media (max-width: 639px) {
    /* §22 Routing rule — let inline strong wrap properly */

    /* §39 Item card — hero shorter, rail panels stack inline */
    /* Right-rail panels become inline cards below main column — order
       follows the natural DOM since item-grid collapses to 1-col already */

    /* §39 Item card maintenance table — horizontal scroll */

    /* §40 Inventory analytics — sparkline cards already 1-col via flow */

    /* §41 Dashboard clock — already mostly handled; ensure single column */

    /* §43 Holdings — responsive rules now live in the block CSS. */

    /* §17 SOP step-owner — avatar-only with name underneath title */

    /* §34 Audit table → tighter rows already done; ensure right column drops */

    /* §37 Staff directory — staff-card 1-col, table view scrolls */

    /* §36 Staff access matrix and §34 audit-matrix — horizontal scroll */

    /* §28 Cadence column already 1-col; tighten padding */

    /* Active trip status — tighten action bar */

    /* Briefing greeting on home — keep numerals tabular */

    /* Generic Tailwind grid-cols-2/3 reflow on tight phones — keep
       2-col KPI grid but tighten cells */
    .sm\:p-5.panel { padding: 14px !important; }
  }
}

@media (min-width: 768px){
  @media (max-width: 1023px) {
    /* Editorial display sizes — keep proportion, just smaller */

    /* Figures — match the reduced display scale */

    /* Letterhead — generous padding becomes cramped on tablet */

    /* Trip plan meta — 5 columns → 2 columns on tablet */

    /* Cadence, aging — 4 columns → 2 on tablet */

    /* Dash clock — face still inline-left but tighter */

    /* SOP step — owner pill drops to a new row under the body */

    /* Task row — owner + due collapse below title */

    /* Lot card — stack photo above body */

    /* Photography hero caption stays stacked elegantly */

    /* Itinerary row — let the rightmost "who" wrap if needed */

    /* Audit row — collapse to two visual lines */

    /* Holdings tile — responsive rules now live in the block CSS
       (packages/blocks/src/asset/holdings-ticker/holdings-ticker.css). */

    /* Vo activity feed — head + stats stack */

    /* Flow canvas keeps horizontal scroll on tablet */
    .flow-canvas-scroll > .md\:grid { min-width: 760px; }

    /* Photography hero — minimum height that still looks editorial.
       Aspect-ratio dropped so min-height doesn't force width. */
  }
  @media (max-width: 639px) {
    /* Editorial display — fits a 375px viewport without overflow */

    /* Section eyebrow — tighter letter-spacing fits short widths */

    /* Figures — tabular nums + phone-friendly sizes per R2.9 spec */

    /* Cover §00 dl */

    /* Letterhead — phone padding */

    /* Precheck — 2 col → 1 col */

    /* Trip plan meta — 5 cols → 1 col */

    /* Cadence + aging — 4 → 1 col */

    /* SOP header — title + meta stack */

    /* Dash clock — stack vertically, face above digital */

    /* Trip status — head 2-col + foot 2-col + meta 3-col all collapse */

    /* Holdings — responsive rules now live in the block CSS. */

    /* Vo activity feed — timeline left + dot columns shrink */

    /* Inventory analytics — movers stack */

    /* Itin row — narrower */

    /* Workflow flow-canvas — keep horizontal scroll on phone too */
    .flow-canvas-scroll > .md\:grid { min-width: 680px; }

    /* Photography hero — phone-friendly. aspect-ratio +
       min-height: 200px would lock the *width* at 467 (= 200 × 21/9),
       overflowing on 375. Drop aspect-ratio + use min-height instead. */

    /* Lot — body padding tightens */

    /* Subtle gold fade on the right edge of any scrollable table to hint */

    /* Staff directory — single column via auto-fill already works */

    /* Tighter section eyebrow on phone */

    /* Tighter h2 / h3 headings */
  }
  @media (max-width: 1023px) {
    .design-page-main .md\:grid > * { min-width: 0; }

    /* §18 App header showcase — command-K pill */
    /* §20 Drawer showcase — fixed 360px width drawer; let it scroll */
    /* Generic Tailwind grid items inside design page */
  }

  @media (max-width: 639px) {
    /* §22 Routing rule — let inline strong wrap properly */

    /* §39 Item card — hero shorter, rail panels stack inline */
    /* Right-rail panels become inline cards below main column — order
       follows the natural DOM since item-grid collapses to 1-col already */

    /* §39 Item card maintenance table — horizontal scroll */

    /* §40 Inventory analytics — sparkline cards already 1-col via flow */

    /* §41 Dashboard clock — already mostly handled; ensure single column */

    /* §43 Holdings — responsive rules now live in the block CSS. */

    /* §17 SOP step-owner — avatar-only with name underneath title */

    /* §34 Audit table → tighter rows already done; ensure right column drops */

    /* §37 Staff directory — staff-card 1-col, table view scrolls */

    /* §36 Staff access matrix and §34 audit-matrix — horizontal scroll */

    /* §28 Cadence column already 1-col; tighten padding */

    /* Active trip status — tighten action bar */

    /* Briefing greeting on home — keep numerals tabular */

    /* Generic Tailwind grid-cols-2/3 reflow on tight phones — keep
       2-col KPI grid but tighten cells */
    .md\:p-5.panel { padding: 14px !important; }
  }
}

@media (min-width: 1024px){
  @media (max-width: 1023px) {
    /* Editorial display sizes — keep proportion, just smaller */

    /* Figures — match the reduced display scale */

    /* Letterhead — generous padding becomes cramped on tablet */

    /* Trip plan meta — 5 columns → 2 columns on tablet */

    /* Cadence, aging — 4 columns → 2 on tablet */

    /* Dash clock — face still inline-left but tighter */

    /* SOP step — owner pill drops to a new row under the body */

    /* Task row — owner + due collapse below title */

    /* Lot card — stack photo above body */

    /* Photography hero caption stays stacked elegantly */

    /* Itinerary row — let the rightmost "who" wrap if needed */

    /* Audit row — collapse to two visual lines */

    /* Holdings tile — responsive rules now live in the block CSS
       (packages/blocks/src/asset/holdings-ticker/holdings-ticker.css). */

    /* Vo activity feed — head + stats stack */

    /* Flow canvas keeps horizontal scroll on tablet */
    .flow-canvas-scroll > .lg\:grid { min-width: 760px; }

    /* Photography hero — minimum height that still looks editorial.
       Aspect-ratio dropped so min-height doesn't force width. */
  }
  @media (max-width: 639px) {
    /* Editorial display — fits a 375px viewport without overflow */

    /* Section eyebrow — tighter letter-spacing fits short widths */

    /* Figures — tabular nums + phone-friendly sizes per R2.9 spec */

    /* Cover §00 dl */

    /* Letterhead — phone padding */

    /* Precheck — 2 col → 1 col */

    /* Trip plan meta — 5 cols → 1 col */

    /* Cadence + aging — 4 → 1 col */

    /* SOP header — title + meta stack */

    /* Dash clock — stack vertically, face above digital */

    /* Trip status — head 2-col + foot 2-col + meta 3-col all collapse */

    /* Holdings — responsive rules now live in the block CSS. */

    /* Vo activity feed — timeline left + dot columns shrink */

    /* Inventory analytics — movers stack */

    /* Itin row — narrower */

    /* Workflow flow-canvas — keep horizontal scroll on phone too */
    .flow-canvas-scroll > .lg\:grid { min-width: 680px; }

    /* Photography hero — phone-friendly. aspect-ratio +
       min-height: 200px would lock the *width* at 467 (= 200 × 21/9),
       overflowing on 375. Drop aspect-ratio + use min-height instead. */

    /* Lot — body padding tightens */

    /* Subtle gold fade on the right edge of any scrollable table to hint */

    /* Staff directory — single column via auto-fill already works */

    /* Tighter section eyebrow on phone */

    /* Tighter h2 / h3 headings */
  }
  @media (max-width: 1023px) {
    .design-page-main .lg\:grid > * { min-width: 0; }

    /* §18 App header showcase — command-K pill */
    /* §20 Drawer showcase — fixed 360px width drawer; let it scroll */
    /* Generic Tailwind grid items inside design page */
  }
}

.placeholder\:text-canvas\/40::-moz-placeholder{
  color: rgb(var(--color-canvas) / 0.4);
}

.placeholder\:text-canvas\/40::placeholder{
  color: rgb(var(--color-canvas) / 0.4);
}

.placeholder\:text-ink-faint::-moz-placeholder{
  color: var(--ink-faint);
}

.placeholder\:text-ink-faint::placeholder{
  color: var(--ink-faint);
}

.placeholder\:text-ink-mute::-moz-placeholder{
  --tw-text-opacity: 1;
  color: rgb(var(--color-ink-mute) / var(--tw-text-opacity, 1));
}

.placeholder\:text-ink-mute::placeholder{
  --tw-text-opacity: 1;
  color: rgb(var(--color-ink-mute) / var(--tw-text-opacity, 1));
}

.placeholder\:text-ink-mute\/60::-moz-placeholder{
  color: rgb(var(--color-ink-mute) / 0.6);
}

.placeholder\:text-ink-mute\/60::placeholder{
  color: rgb(var(--color-ink-mute) / 0.6);
}

.placeholder\:text-ink-mute\/70::-moz-placeholder{
  color: rgb(var(--color-ink-mute) / 0.7);
}

.placeholder\:text-ink-mute\/70::placeholder{
  color: rgb(var(--color-ink-mute) / 0.7);
}

.placeholder\:text-surface-ink\/60::-moz-placeholder{
  color: rgb(var(--color-surface-ink) / 0.6);
}

.placeholder\:text-surface-ink\/60::placeholder{
  color: rgb(var(--color-surface-ink) / 0.6);
}

.backdrop\:bg-ink\/60::backdrop{
  background-color: rgb(var(--color-ink) / 0.6);
}

.backdrop\:backdrop-blur-sm::backdrop{
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.before\:absolute::before{
  content: var(--tw-content);
  position: absolute;
}

.before\:-top-\[80px\]::before{
  content: var(--tw-content);
  top: -80px;
}

.before\:left-\[7\.5px\]::before{
  content: var(--tw-content);
  left: 7.5px;
}

.before\:right-\[30px\]::before{
  content: var(--tw-content);
  right: 30px;
}

.before\:top-\[2px\]::before{
  content: var(--tw-content);
  top: 2px;
}

.before\:h-\[13px\]::before{
  content: var(--tw-content);
  height: 13px;
}

.before\:h-\[200px\]::before{
  content: var(--tw-content);
  height: 200px;
}

.before\:w-\[200px\]::before{
  content: var(--tw-content);
  width: 200px;
}

.before\:w-\[2px\]::before{
  content: var(--tw-content);
  width: 2px;
}

.before\:rounded-full::before{
  content: var(--tw-content);
  border-radius: 9999px;
}

.before\:border::before{
  content: var(--tw-content);
  border-width: 1px;
}

.before\:border-\[1\.5px\]::before{
  content: var(--tw-content);
  border-width: 1.5px;
}

.before\:border-\[rgba\(255\2c 255\2c 255\2c 0\.07\)\]::before{
  content: var(--tw-content);
  border-color: rgba(255,255,255,0.07);
}

.before\:bg-\[\#E7C9A5\]::before{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(231 201 165 / var(--tw-bg-opacity, 1));
}

.before\:content-\[\'\'\]::before{
  --tw-content: '';
  content: var(--tw-content);
}

.after\:absolute::after{
  content: var(--tw-content);
  position: absolute;
}

.after\:inset-x-0::after{
  content: var(--tw-content);
  left: 0px;
  right: 0px;
}

.after\:-bottom-0\.5::after{
  content: var(--tw-content);
  bottom: -0.125rem;
}

.after\:-bottom-\[90px\]::after{
  content: var(--tw-content);
  bottom: -90px;
}

.after\:-right-\[60px\]::after{
  content: var(--tw-content);
  right: -60px;
}

.after\:bottom-0::after{
  content: var(--tw-content);
  bottom: 0px;
}

.after\:left-\[2px\]::after{
  content: var(--tw-content);
  left: 2px;
}

.after\:top-\[7\.5px\]::after{
  content: var(--tw-content);
  top: 7.5px;
}

.after\:h-\[2px\]::after{
  content: var(--tw-content);
  height: 2px;
}

.after\:h-\[340px\]::after{
  content: var(--tw-content);
  height: 340px;
}

.after\:h-\[60\%\]::after{
  content: var(--tw-content);
  height: 60%;
}

.after\:h-px::after{
  content: var(--tw-content);
  height: 1px;
}

.after\:w-\[13px\]::after{
  content: var(--tw-content);
  width: 13px;
}

.after\:w-\[340px\]::after{
  content: var(--tw-content);
  width: 340px;
}

.after\:origin-left::after{
  content: var(--tw-content);
  transform-origin: left;
}

.after\:scale-x-0::after{
  content: var(--tw-content);
  --tw-scale-x: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.after\:rounded-full::after{
  content: var(--tw-content);
  border-radius: 9999px;
}

.after\:border::after{
  content: var(--tw-content);
  border-width: 1px;
}

.after\:border-\[1\.5px\]::after{
  content: var(--tw-content);
  border-width: 1.5px;
}

.after\:border-\[rgba\(255\2c 255\2c 255\2c 0\.08\)\]::after{
  content: var(--tw-content);
  border-color: rgba(255,255,255,0.08);
}

.after\:bg-\[\#E7C9A5\]::after{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(231 201 165 / var(--tw-bg-opacity, 1));
}

.after\:bg-accent::after{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-accent) / var(--tw-bg-opacity, 1));
}

.after\:bg-current::after{
  content: var(--tw-content);
  background-color: currentColor;
}

.after\:bg-\[linear-gradient\(transparent\2c rgba\(20\2c 30\2c 40\2c 0\.55\)\)\]::after{
  content: var(--tw-content);
  background-image: linear-gradient(transparent,rgba(20,30,40,0.55));
}

.after\:transition-transform::after{
  content: var(--tw-content);
  transition-property: transform;
  transition-timing-function: var(--ease);
  transition-duration: var(--duration-base);
}

.after\:duration-300::after{
  content: var(--tw-content);
  transition-duration: 300ms;
}

.after\:content-\[\'\'\]::after{
  --tw-content: '';
  content: var(--tw-content);
}

.first\:border-t-0:first-child{
  border-top-width: 0px;
}

.first\:pt-0:first-child{
  padding-top: 0px;
}

.last\:mb-0:last-child{
  margin-bottom: 0px;
}

.last\:border-0:last-child{
  border-width: 0px;
}

.last\:border-b-0:last-child{
  border-bottom-width: 0px;
}

.last\:border-r-0:last-child{
  border-right-width: 0px;
}

.last\:pb-0:last-child{
  padding-bottom: 0px;
}

.focus-within\:border-accent:focus-within{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-accent) / var(--tw-border-opacity, 1));
}

.focus-within\:bg-canvas\/10:focus-within{
  background-color: rgb(var(--color-canvas) / 0.1);
}

.hover\:-mx-2:hover{
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

.hover\:-translate-y-0\.5:hover{
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:-translate-y-\[1px\]:hover{
  --tw-translate-y: -1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:translate-x-0\.5:hover{
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-\[1\.02\]:hover{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-\[1\.04\]:hover{
  --tw-scale-x: 1.04;
  --tw-scale-y: 1.04;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-\[1\.05\]:hover{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:rounded-\[7px\]:hover{
  border-radius: 7px;
}

.hover\:border-\[\#C0492F\]:hover{
  --tw-border-opacity: 1;
  border-color: rgb(192 73 47 / var(--tw-border-opacity, 1));
}

.hover\:border-\[\#a4504a\]:hover{
  --tw-border-opacity: 1;
  border-color: rgb(164 80 74 / var(--tw-border-opacity, 1));
}

.hover\:border-accent:hover{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-accent) / var(--tw-border-opacity, 1));
}

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

.hover\:border-accent-strong:hover{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-accent-strong) / var(--tw-border-opacity, 1));
}

.hover\:border-accent\/40:hover{
  border-color: rgb(var(--color-accent) / 0.4);
}

.hover\:border-accent\/50:hover{
  border-color: rgb(var(--color-accent) / 0.5);
}

.hover\:border-accent\/60:hover{
  border-color: rgb(var(--color-accent) / 0.6);
}

.hover\:border-edge:hover{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-edge) / var(--tw-border-opacity, 1));
}

.hover\:border-gold:hover{
  border-color: var(--gold);
}

.hover\:border-ink:hover{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-ink) / var(--tw-border-opacity, 1));
}

.hover\:border-ink-faint:hover{
  border-color: var(--ink-faint);
}

.hover\:border-ink-mute:hover{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-ink-mute) / var(--tw-border-opacity, 1));
}

.hover\:border-ink\/40:hover{
  border-color: rgb(var(--color-ink) / 0.4);
}

.hover\:\!bg-white\/10:hover{
  background-color: rgb(255 255 255 / 0.1) !important;
}

.hover\:bg-\[\#27594d\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(39 89 77 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#EFF3F1\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(239 243 241 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#F1E4E1\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(241 228 225 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#e3efea\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(227 239 234 / var(--tw-bg-opacity, 1));
}

.hover\:bg-accent:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-accent) / var(--tw-bg-opacity, 1));
}

.hover\:bg-accent-soft:hover{
  background-color: var(--accent-soft);
}

.hover\:bg-accent-strong:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-accent-strong) / var(--tw-bg-opacity, 1));
}

.hover\:bg-accent\/10:hover{
  background-color: rgb(var(--color-accent) / 0.1);
}

.hover\:bg-accent\/90:hover{
  background-color: rgb(var(--color-accent) / 0.9);
}

.hover\:bg-canvas:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-canvas) / var(--tw-bg-opacity, 1));
}

.hover\:bg-canvas\/10:hover{
  background-color: rgb(var(--color-canvas) / 0.1);
}

.hover\:bg-canvas\/20:hover{
  background-color: rgb(var(--color-canvas) / 0.2);
}

.hover\:bg-canvas\/30:hover{
  background-color: rgb(var(--color-canvas) / 0.3);
}

.hover\:bg-canvas\/40:hover{
  background-color: rgb(var(--color-canvas) / 0.4);
}

.hover\:bg-canvas\/5:hover{
  background-color: rgb(var(--color-canvas) / 0.05);
}

.hover\:bg-canvas\/60:hover{
  background-color: rgb(var(--color-canvas) / 0.6);
}

.hover\:bg-critical-soft:hover{
  background-color: var(--critical-soft);
}

.hover\:bg-gold-soft:hover{
  background-color: var(--gold-soft);
}

.hover\:bg-ink\/90:hover{
  background-color: rgb(var(--color-ink) / 0.9);
}

.hover\:bg-paper:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-paper) / var(--tw-bg-opacity, 1));
}

.hover\:bg-paper-alt:hover{
  background-color: var(--paper-alt);
}

.hover\:bg-paper\/50:hover{
  background-color: rgb(var(--color-paper) / 0.5);
}

.hover\:bg-surface-ink\/10:hover{
  background-color: rgb(var(--color-surface-ink) / 0.1);
}

.hover\:bg-surface-ink\/20:hover{
  background-color: rgb(var(--color-surface-ink) / 0.2);
}

.hover\:bg-surface\/90:hover{
  background-color: rgb(var(--color-surface) / 0.9);
}

.hover\:bg-white\/10:hover{
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:px-2:hover{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.hover\:text-\[\#C0492F\]:hover{
  --tw-text-opacity: 1;
  color: rgb(192 73 47 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#a4504a\]:hover{
  --tw-text-opacity: 1;
  color: rgb(164 80 74 / var(--tw-text-opacity, 1));
}

.hover\:text-accent:hover{
  --tw-text-opacity: 1;
  color: rgb(var(--color-accent) / var(--tw-text-opacity, 1));
}

.hover\:text-accent-strong:hover{
  --tw-text-opacity: 1;
  color: rgb(var(--color-accent-strong) / var(--tw-text-opacity, 1));
}

.hover\:text-canvas:hover{
  --tw-text-opacity: 1;
  color: rgb(var(--color-canvas) / var(--tw-text-opacity, 1));
}

.hover\:text-critical:hover{
  color: var(--critical);
}

.hover\:text-ink:hover{
  --tw-text-opacity: 1;
  color: rgb(var(--color-ink) / var(--tw-text-opacity, 1));
}

.hover\:text-surface-ink:hover{
  --tw-text-opacity: 1;
  color: rgb(var(--color-surface-ink) / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:underline:hover{
  text-decoration-line: underline;
}

.hover\:decoration-accent:hover{
  text-decoration-color: rgb(var(--color-accent) / 1);
}

.hover\:opacity-100:hover{
  opacity: 1;
}

.hover\:opacity-80:hover{
  opacity: 0.8;
}

.hover\:opacity-90:hover{
  opacity: 0.9;
}

.hover\:shadow-\[0_10px_30px_rgba\(20\2c 30\2c 40\2c 0\.09\)\]:hover{
  --tw-shadow: 0 10px 30px rgba(20,30,40,0.09);
  --tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[0_3px_9px_rgba\(20\2c 30\2c 40\2c 0\.1\)\]:hover{
  --tw-shadow: 0 3px 9px rgba(20,30,40,0.1);
  --tw-shadow-colored: 0 3px 9px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[0_4px_14px_rgba\(20\2c 30\2c 40\2c 0\.08\)\]:hover{
  --tw-shadow: 0 4px 14px rgba(20,30,40,0.08);
  --tw-shadow-colored: 0 4px 14px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[0_8px_30px_rgba\(0\2c 0\2c 0\2c 0\.25\)\]:hover{
  --tw-shadow: 0 8px 30px rgba(0,0,0,0.25);
  --tw-shadow-colored: 0 8px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-lg:hover{
  --tw-shadow: var(--shadow-lg);
  --tw-shadow-colored: var(--shadow-lg);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-md:hover{
  --tw-shadow: var(--shadow-md);
  --tw-shadow-colored: var(--shadow-md);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-sm:hover{
  --tw-shadow: var(--shadow-sm);
  --tw-shadow-colored: var(--shadow-sm);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:ring-1:hover{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.hover\:ring-accent:hover{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(var(--color-accent) / var(--tw-ring-opacity, 1));
}

.hover\:ring-accent\/30:hover{
  --tw-ring-color: rgb(var(--color-accent) / 0.3);
}

.hover\:ring-accent\/40:hover{
  --tw-ring-color: rgb(var(--color-accent) / 0.4);
}

.hover\:after\:scale-x-100:hover::after{
  content: var(--tw-content);
  --tw-scale-x: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.focus\:border-accent:focus{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-accent) / var(--tw-border-opacity, 1));
}

.focus\:border-gold:focus{
  border-color: var(--gold);
}

.focus\:bg-paper:focus{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-paper) / var(--tw-bg-opacity, 1));
}

.focus\:shadow-\[0_0_0_3px_\#e3efea\]:focus{
  --tw-shadow: 0 0 0 3px #e3efea;
  --tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.focus\:outline-none:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-1:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-2:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-accent:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(var(--color-accent) / var(--tw-ring-opacity, 1));
}

.focus\:ring-accent\/25:focus{
  --tw-ring-color: rgb(var(--color-accent) / 0.25);
}

.focus\:ring-accent\/30:focus{
  --tw-ring-color: rgb(var(--color-accent) / 0.3);
}

.focus\:ring-accent\/40:focus{
  --tw-ring-color: rgb(var(--color-accent) / 0.4);
}

.focus-visible\:border-accent:focus-visible{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-accent) / var(--tw-border-opacity, 1));
}

.focus-visible\:border-accent-strong:focus-visible{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-accent-strong) / var(--tw-border-opacity, 1));
}

.focus-visible\:outline-none:focus-visible{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:ring-0:focus-visible{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-1:focus-visible{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-2:focus-visible{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-accent:focus-visible{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(var(--color-accent) / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-accent-strong:focus-visible{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(var(--color-accent-strong) / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-offset-2:focus-visible{
  --tw-ring-offset-width: 2px;
}

.focus-visible\:ring-offset-surface:focus-visible{
  --tw-ring-offset-color: rgb(var(--color-surface) / 1);
}

.active\:cursor-grabbing:active{
  cursor: grabbing;
}

.disabled\:cursor-not-allowed:disabled{
  cursor: not-allowed;
}

.disabled\:cursor-progress:disabled{
  cursor: progress;
}

.disabled\:opacity-100:disabled{
  opacity: 1;
}

.disabled\:opacity-30:disabled{
  opacity: 0.3;
}

.disabled\:opacity-40:disabled{
  opacity: 0.4;
}

.disabled\:opacity-50:disabled{
  opacity: 0.5;
}

.disabled\:opacity-60:disabled{
  opacity: 0.6;
}

.disabled\:opacity-\[0\.45\]:disabled{
  opacity: 0.45;
}

.disabled\:hover\:border-edge:hover:disabled{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-edge) / var(--tw-border-opacity, 1));
}

.disabled\:hover\:bg-paper:hover:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-paper) / var(--tw-bg-opacity, 1));
}

.disabled\:hover\:text-ink:hover:disabled{
  --tw-text-opacity: 1;
  color: rgb(var(--color-ink) / var(--tw-text-opacity, 1));
}

.disabled\:hover\:text-ink-mute:hover:disabled{
  --tw-text-opacity: 1;
  color: rgb(var(--color-ink-mute) / var(--tw-text-opacity, 1));
}

.group\/menu[open] .group-open\/menu\:rotate-180{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group[open] .group-open\:rotate-180{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group\/menu[open] .group-open\/menu\:text-accent{
  --tw-text-opacity: 1;
  color: rgb(var(--color-accent) / var(--tw-text-opacity, 1));
}

.group[open] .group-open\:text-accent{
  --tw-text-opacity: 1;
  color: rgb(var(--color-accent) / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:w-\[96px\]{
  width: 96px;
}

.group:hover .group-hover\:-translate-y-px{
  --tw-translate-y: -1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:translate-x-0\.5{
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:translate-x-1{
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:-rotate-6{
  --tw-rotate: -6deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-\[1\.03\]{
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-\[1\.06\]{
  --tw-scale-x: 1.06;
  --tw-scale-y: 1.06;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-y-100{
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:border-accent{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-accent) / var(--tw-border-opacity, 1));
}

.group:hover .group-hover\:border-accent\/40{
  border-color: rgb(var(--color-accent) / 0.4);
}

.group:hover .group-hover\:bg-accent{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-accent) / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-accent\/10{
  background-color: rgb(var(--color-accent) / 0.1);
}

.group:hover .group-hover\:bg-canvas{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-canvas) / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:text-accent{
  --tw-text-opacity: 1;
  color: rgb(var(--color-accent) / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-accent-strong{
  --tw-text-opacity: 1;
  color: rgb(var(--color-accent-strong) / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-ink{
  --tw-text-opacity: 1;
  color: rgb(var(--color-ink) / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:opacity-100{
  opacity: 1;
}

.group:hover .group-hover\:ring-accent\/40{
  --tw-ring-color: rgb(var(--color-accent) / 0.4);
}

.peer:checked ~ .peer-checked\:translate-x-4{
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.peer:checked ~ .peer-checked\:translate-x-\[18px\]{
  --tw-translate-x: 18px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.peer:checked ~ .peer-checked\:border-accent{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-accent) / var(--tw-border-opacity, 1));
}

.peer:checked ~ .peer-checked\:border-ink{
  --tw-border-opacity: 1;
  border-color: rgb(var(--color-ink) / var(--tw-border-opacity, 1));
}

.peer:checked ~ .peer-checked\:bg-accent{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-accent) / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .peer-checked\:bg-accent-strong{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-accent-strong) / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .peer-checked\:bg-ink{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-ink) / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .peer-checked\:text-canvas{
  --tw-text-opacity: 1;
  color: rgb(var(--color-canvas) / var(--tw-text-opacity, 1));
}

@supports (backdrop-filter: var(--tw)){

  .supports-\[backdrop-filter\]\:bg-paper\/75{
    background-color: rgb(var(--color-paper) / 0.75);
  }
}

@media (prefers-reduced-motion: reduce){

  .motion-reduce\:transform-none{
    transform: none;
  }
}

@media (max-width: 1000px){

  .max-\[1000px\]\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px){

  .max-\[720px\]\:mx-\[24px\]{
    margin-left: 24px;
    margin-right: 24px;
  }

  .max-\[720px\]\:flex-col{
    flex-direction: column;
  }

  .max-\[720px\]\:gap-\[14px\]{
    gap: 14px;
  }

  .max-\[720px\]\:px-\[24px\]{
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media (max-width: 640px){

  .max-\[640px\]\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .max-\[640px\]\:flex-col{
    flex-direction: column;
  }

  .max-\[640px\]\:gap-\[18px\]{
    gap: 18px;
  }

  .max-\[640px\]\:px-\[22px\]{
    padding-left: 22px;
    padding-right: 22px;
  }

  .max-\[640px\]\:py-\[30px\]{
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .max-\[640px\]\:text-left{
    text-align: left;
  }
}

@media (min-width: 640px){

  .sm\:bottom-6{
    bottom: 1.5rem;
  }

  .sm\:bottom-8{
    bottom: 2rem;
  }

  .sm\:right-6{
    right: 1.5rem;
  }

  .sm\:right-8{
    right: 2rem;
  }

  .sm\:col-span-2{
    grid-column: span 2 / span 2;
  }

  .sm\:inline{
    display: inline;
  }

  .sm\:inline-flex{
    display: inline-flex;
  }

  .sm\:h-\[640px\]{
    height: 640px;
  }

  .sm\:max-h-\[calc\(100vh-3rem\)\]{
    max-height: calc(100vh - 3rem);
  }

  .sm\:w-\[400px\]{
    width: 400px;
  }

  .sm\:w-\[62\%\]{
    width: 62%;
  }

  .sm\:min-w-\[260px\]{
    min-width: 260px;
  }

  .sm\:max-w-\[calc\(100vw-3rem\)\]{
    max-width: calc(100vw - 3rem);
  }

  .sm\:columns-2{
    -moz-columns: 2;
         columns: 2;
  }

  .sm\:grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .sm\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:grid-cols-\[160px_1fr\]{
    grid-template-columns: 160px 1fr;
  }

  .sm\:grid-cols-\[1fr_180px\]{
    grid-template-columns: 1fr 180px;
  }

  .sm\:grid-cols-\[1fr_auto\]{
    grid-template-columns: 1fr auto;
  }

  .sm\:grid-cols-\[2fr_1fr\]{
    grid-template-columns: 2fr 1fr;
  }

  .sm\:flex-row{
    flex-direction: row;
  }

  .sm\:flex-wrap{
    flex-wrap: wrap;
  }

  .sm\:items-end{
    align-items: flex-end;
  }

  .sm\:items-center{
    align-items: center;
  }

  .sm\:justify-between{
    justify-content: space-between;
  }

  .sm\:gap-3{
    gap: 0.75rem;
  }

  .sm\:gap-4{
    gap: 1rem;
  }

  .sm\:gap-6{
    gap: 1.5rem;
  }

  .sm\:gap-x-6{
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }

  .sm\:self-end{
    align-self: flex-end;
  }

  .sm\:rounded-xl{
    border-radius: 0.75rem;
  }

  .sm\:p-10{
    padding: 2.5rem;
  }

  .sm\:p-5{
    padding: 1.25rem;
  }

  .sm\:p-6{
    padding: 1.5rem;
  }

  .sm\:p-7{
    padding: 1.75rem;
  }

  .sm\:p-8{
    padding: 2rem;
  }

  .sm\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:px-7{
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .sm\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .sm\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .sm\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .sm\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .sm\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .sm\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .sm\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .sm\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .sm\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 768px){

  .md\:top-\[104px\]{
    top: 104px;
  }

  .md\:top-\[112px\]{
    top: 112px;
  }

  .md\:col-span-1{
    grid-column: span 1 / span 1;
  }

  .md\:col-span-2{
    grid-column: span 2 / span 2;
  }

  .md\:-mx-0{
    margin-left: -0px;
    margin-right: -0px;
  }

  .md\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }

  .md\:mb-12{
    margin-bottom: 3rem;
  }

  .md\:mb-14{
    margin-bottom: 3.5rem;
  }

  .md\:mb-8{
    margin-bottom: 2rem;
  }

  .md\:mt-16{
    margin-top: 4rem;
  }

  .md\:block{
    display: block;
  }

  .md\:flex{
    display: flex;
  }

  .md\:inline-flex{
    display: inline-flex;
  }

  .md\:grid{
    display: grid;
  }

  .md\:hidden{
    display: none;
  }

  .md\:aspect-\[16\/10\]{
    aspect-ratio: 16/10;
  }

  .md\:aspect-auto{
    aspect-ratio: auto;
  }

  .md\:h-14{
    height: 3.5rem;
  }

  .md\:h-16{
    height: 4rem;
  }

  .md\:h-\[480px\]{
    height: 480px;
  }

  .md\:h-full{
    height: 100%;
  }

  .md\:min-h-\[240px\]{
    min-height: 240px;
  }

  .md\:min-h-\[640px\]{
    min-height: 640px;
  }

  .md\:min-h-\[90vh\]{
    min-height: 90vh;
  }

  .md\:w-16{
    width: 4rem;
  }

  .md\:w-56{
    width: 14rem;
  }

  .md\:w-6{
    width: 1.5rem;
  }

  .md\:w-auto{
    width: auto;
  }

  .md\:shrink{
    flex-shrink: 1;
  }

  .md\:columns-3{
    -moz-columns: 3;
         columns: 3;
  }

  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .md\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .md\:grid-cols-\[1\.2fr_1fr\]{
    grid-template-columns: 1.2fr 1fr;
  }

  .md\:grid-cols-\[1fr_2fr_auto\]{
    grid-template-columns: 1fr 2fr auto;
  }

  .md\:grid-cols-\[240px_1fr_auto\]{
    grid-template-columns: 240px 1fr auto;
  }

  .md\:flex-row{
    flex-direction: row;
  }

  .md\:items-start{
    align-items: flex-start;
  }

  .md\:items-end{
    align-items: flex-end;
  }

  .md\:items-center{
    align-items: center;
  }

  .md\:items-stretch{
    align-items: stretch;
  }

  .md\:justify-start{
    justify-content: flex-start;
  }

  .md\:justify-between{
    justify-content: space-between;
  }

  .md\:gap-10{
    gap: 2.5rem;
  }

  .md\:gap-12{
    gap: 3rem;
  }

  .md\:gap-14{
    gap: 3.5rem;
  }

  .md\:gap-3{
    gap: 0.75rem;
  }

  .md\:gap-5{
    gap: 1.25rem;
  }

  .md\:gap-6{
    gap: 1.5rem;
  }

  .md\:gap-8{
    gap: 2rem;
  }

  .md\:gap-y-8{
    row-gap: 2rem;
  }

  .md\:overflow-visible{
    overflow: visible;
  }

  .md\:p-10{
    padding: 2.5rem;
  }

  .md\:p-12{
    padding: 3rem;
  }

  .md\:p-14{
    padding: 3.5rem;
  }

  .md\:p-5{
    padding: 1.25rem;
  }

  .md\:p-6{
    padding: 1.5rem;
  }

  .md\:p-8{
    padding: 2rem;
  }

  .md\:px-0{
    padding-left: 0px;
    padding-right: 0px;
  }

  .md\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  .md\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .md\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .md\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .md\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .md\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .md\:px-7{
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .md\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .md\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .md\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .md\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .md\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .md\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .md\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .md\:py-28{
    padding-top: 7rem;
    padding-bottom: 7rem;
  }

  .md\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .md\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .md\:py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .md\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .md\:pb-0{
    padding-bottom: 0px;
  }

  .md\:pb-14{
    padding-bottom: 3.5rem;
  }

  .md\:pb-16{
    padding-bottom: 4rem;
  }

  .md\:pb-8{
    padding-bottom: 2rem;
  }

  .md\:pt-12{
    padding-top: 3rem;
  }

  .md\:pt-24{
    padding-top: 6rem;
  }

  .md\:pt-8{
    padding-top: 2rem;
  }

  .md\:text-right{
    text-align: right;
  }

  .md\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .md\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .md\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .md\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .md\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .md\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

  .md\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .md\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .md\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .md\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

@media (min-width: 1024px){

  .lg\:sticky{
    position: sticky;
  }

  .lg\:top-24{
    top: 6rem;
  }

  .lg\:top-6{
    top: 1.5rem;
  }

  .lg\:col-span-1{
    grid-column: span 1 / span 1;
  }

  .lg\:col-span-12{
    grid-column: span 12 / span 12;
  }

  .lg\:col-span-2{
    grid-column: span 2 / span 2;
  }

  .lg\:col-span-3{
    grid-column: span 3 / span 3;
  }

  .lg\:col-span-4{
    grid-column: span 4 / span 4;
  }

  .lg\:col-span-5{
    grid-column: span 5 / span 5;
  }

  .lg\:col-span-7{
    grid-column: span 7 / span 7;
  }

  .lg\:col-span-8{
    grid-column: span 8 / span 8;
  }

  .lg\:m-8{
    margin: 2rem;
  }

  .lg\:block{
    display: block;
  }

  .lg\:flex{
    display: flex;
  }

  .lg\:table-row{
    display: table-row;
  }

  .lg\:grid{
    display: grid;
  }

  .lg\:contents{
    display: contents;
  }

  .lg\:hidden{
    display: none;
  }

  .lg\:aspect-auto{
    aspect-ratio: auto;
  }

  .lg\:min-h-\[560px\]{
    min-height: 560px;
  }

  .lg\:min-h-\[720px\]{
    min-height: 720px;
  }

  .lg\:columns-3{
    -moz-columns: 3;
         columns: 3;
  }

  .lg\:columns-4{
    -moz-columns: 4;
         columns: 4;
  }

  .lg\:grid-cols-12{
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .lg\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .lg\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .lg\:grid-cols-7{
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .lg\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[1\.1fr_1fr\]{
    grid-template-columns: 1.1fr 1fr;
  }

  .lg\:grid-cols-\[1\.4fr_1fr_1\.4fr\]{
    grid-template-columns: 1.4fr 1fr 1.4fr;
  }

  .lg\:grid-cols-\[1\.4fr_1fr_1fr_1fr_auto\]{
    grid-template-columns: 1.4fr 1fr 1fr 1fr auto;
  }

  .lg\:grid-cols-\[1\.6fr_1fr\]{
    grid-template-columns: 1.6fr 1fr;
  }

  .lg\:grid-cols-\[1fr_290px\]{
    grid-template-columns: 1fr 290px;
  }

  .lg\:grid-cols-\[1fr_2fr\]{
    grid-template-columns: 1fr 2fr;
  }

  .lg\:grid-cols-\[1fr_360px\]{
    grid-template-columns: 1fr 360px;
  }

  .lg\:grid-cols-\[20rem_minmax\(0\2c 1fr\)\]{
    grid-template-columns: 20rem minmax(0,1fr);
  }

  .lg\:grid-cols-\[220px_1fr\]{
    grid-template-columns: 220px 1fr;
  }

  .lg\:grid-cols-\[24px_180px_1fr_120px_120px\]{
    grid-template-columns: 24px 180px 1fr 120px 120px;
  }

  .lg\:grid-cols-\[264px_1fr_286px\]{
    grid-template-columns: 264px 1fr 286px;
  }

  .lg\:grid-cols-\[2fr_1fr\]{
    grid-template-columns: 2fr 1fr;
  }

  .lg\:grid-cols-\[2fr_3fr\]{
    grid-template-columns: 2fr 3fr;
  }

  .lg\:grid-cols-\[300px_1fr\]{
    grid-template-columns: 300px 1fr;
  }

  .lg\:grid-cols-\[320px_1fr\]{
    grid-template-columns: 320px 1fr;
  }

  .lg\:grid-cols-\[3fr_2fr\]{
    grid-template-columns: 3fr 2fr;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1\.15fr\)\]{
    grid-template-columns: minmax(0,1fr) minmax(0,1.15fr);
  }

  .lg\:flex-row{
    flex-direction: row;
  }

  .lg\:flex-nowrap{
    flex-wrap: nowrap;
  }

  .lg\:items-start{
    align-items: flex-start;
  }

  .lg\:items-end{
    align-items: flex-end;
  }

  .lg\:justify-end{
    justify-content: flex-end;
  }

  .lg\:justify-center{
    justify-content: center;
  }

  .lg\:justify-between{
    justify-content: space-between;
  }

  .lg\:gap-0{
    gap: 0px;
  }

  .lg\:gap-10{
    gap: 2.5rem;
  }

  .lg\:gap-12{
    gap: 3rem;
  }

  .lg\:gap-3{
    gap: 0.75rem;
  }

  .lg\:gap-6{
    gap: 1.5rem;
  }

  .lg\:gap-8{
    gap: 2rem;
  }

  .lg\:gap-x-10{
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }

  .lg\:space-y-10 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
  }

  .lg\:space-y-14 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3.5rem * var(--tw-space-y-reverse));
  }

  .lg\:space-y-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
  }

  .lg\:divide-x > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  .lg\:divide-dotted > :not([hidden]) ~ :not([hidden]){
    border-style: dotted;
  }

  .lg\:divide-accent\/30 > :not([hidden]) ~ :not([hidden]){
    border-color: rgb(var(--color-accent) / 0.3);
  }

  .lg\:divide-edge > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgb(var(--color-edge) / var(--tw-divide-opacity, 1));
  }

  .lg\:self-start{
    align-self: flex-start;
  }

  .lg\:rounded-xl{
    border-radius: 0.75rem;
  }

  .lg\:p-8{
    padding: 2rem;
  }

  .lg\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .lg\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .lg\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .lg\:py-28{
    padding-top: 7rem;
    padding-bottom: 7rem;
  }

  .lg\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .lg\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .lg\:pb-8{
    padding-bottom: 2rem;
  }

  .lg\:pl-10{
    padding-left: 2.5rem;
  }

  .lg\:pl-4{
    padding-left: 1rem;
  }

  .lg\:pl-6{
    padding-left: 1.5rem;
  }

  .lg\:pr-10{
    padding-right: 2.5rem;
  }

  .lg\:text-right{
    text-align: right;
  }

  .lg\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .lg\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .first\:lg\:pl-0:first-child{
    padding-left: 0px;
  }

  .last\:lg\:pr-0:last-child{
    padding-right: 0px;
  }
}

@media (min-width: 1280px){

  .xl\:grid-cols-12{
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .xl\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .xl\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media print{

  .print\:hidden{
    display: none;
  }
}

.\[\&\+li\]\:border-t+li{
  border-top-width: 1px;
}

.\[\&\+li\]\:border-edge\/60+li{
  border-color: rgb(var(--color-edge) / 0.6);
}

.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{
  display: none;
}

.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-sm::-webkit-scrollbar-thumb{
  border-radius: calc(var(--radius) * 0.5);
}

.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-edge::-webkit-scrollbar-thumb{
  --tw-bg-opacity: 1;
  background-color: rgb(var(--color-edge) / var(--tw-bg-opacity, 1));
}

.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{
  display: none;
}

.\[\&\:\:-webkit-scrollbar\]\:w-1\.5::-webkit-scrollbar{
  width: 0.375rem;
}

.\[\&\:not\(\:last-child\)\]\:mb-4:not(:last-child){
  margin-bottom: 1rem;
}

.\[\&\>\*\]\:fill-current>*{
  fill: currentColor;
}

.\[\&\>p\+p\]\:mt-4>p+p{
  margin-top: 1rem;
}

.\[\&\>svg\]\:fill-current>svg{
  fill: currentColor;
}

.last\:\[\&\>td\]\:border-b-0>td:last-child{
  border-bottom-width: 0px;
}

.\[\&_svg\]\:h-4 svg{
  height: 1rem;
}

.\[\&_svg\]\:h-\[10px\] svg{
  height: 10px;
}

.\[\&_svg\]\:h-\[12px\] svg{
  height: 12px;
}

.\[\&_svg\]\:h-\[13px\] svg{
  height: 13px;
}

.\[\&_svg\]\:h-\[14px\] svg{
  height: 14px;
}

.\[\&_svg\]\:w-4 svg{
  width: 1rem;
}

.\[\&_svg\]\:w-\[10px\] svg{
  width: 10px;
}

.\[\&_svg\]\:w-\[12px\] svg{
  width: 12px;
}

.\[\&_svg\]\:w-\[13px\] svg{
  width: 13px;
}

.\[\&_svg\]\:w-\[14px\] svg{
  width: 14px;
}

.\[\&_svg\]\:flex-none svg{
  flex: none;
}

.\[\&_svg\]\:text-ink-faint svg{
  color: var(--ink-faint);
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/_shared.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — primitives · shared utility classes
 *
 * The `micro-eyebrow` and `panel` primitives were re-ported to the SAIA
 * studio component code and now emit studio Tailwind classes directly, so
 * their per-block scoped CSS was deleted. But the `.micro*` and `.panel*`
 * class names are also consumed as raw shared utilities by dozens of other
 * blocks (agents/*, dashboard/*, workflow/*, conversation/chat-surface/*).
 * Those base definitions live here so the wider library keeps rendering
 * after the conversion. Tokens only — no hex.
 * ──────────────────────────────────────────────────────────────────────── */

/* ── micro — uppercase tracked micro-label ────────────────────────────── */
.micro {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.micro-gold { color: var(--gold); }
.micro-accent { color: var(--accent); }

/* Ornament — small leading marker for editorial flourish. */
.micro-has-ornament {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}
.micro-ornament {
  display: inline-block;
  background: currentColor;
}
.micro-ornament-dot {
  width: 4px;
  height: 4px;
  border-radius: var(--radius-pill);
}
.micro-ornament-dash {
  width: 16px;
  height: 1px;
}

/* ── panel — the cream-paper hairline card chassis ────────────────────── */
.panel {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  transition: all 240ms cubic-bezier(0.2, 0.65, 0.3, 1);
}

/* SAIA Card variants */
.panel-canvas { background: var(--canvas); border-color: var(--hairline); }
.panel-surface {
  background: var(--nav-band);
  color: var(--canvas);
  border-color: transparent;
}
.panel-ghost { background: transparent; border-color: var(--hairline); }

/* Elevation tokens — shadow-sm / shadow-md / shadow-lg equivalents */
.panel-elev-raised   { box-shadow: 0 1px 2px var(--overlay-ink-soft); }
.panel-elev-floating { box-shadow: var(--shadow-card); }
.panel-elev-lifted   { box-shadow: var(--shadow-lifted); }

/* Hoverable nav cards — 2px lift + lifted shadow */
.panel-hoverable:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lifted);
}
@media (prefers-reduced-motion: reduce) {
  .panel-hoverable:hover { transform: none; }
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/figure/figure.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — figure
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.figure {
  font-family: var(--font-display);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.figure-sm { font-size: 36px; }
.figure-md { font-size: 56px; }
.figure-lg { font-size: 84px; }
.figure-unit { font-size: 0.45em; color: var(--ink-mute); font-family: var(--font-sans); letter-spacing: 0; margin-left: 0.25em; }
.figure-prefix { font-size: 0.55em; color: var(--ink-mute); font-family: var(--font-sans); margin-right: 0.18em; vertical-align: baseline; }
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/stop/stop.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — stop
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.stop { color: var(--accent); }
.stop-gold { color: var(--gold-strong); }
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/hairline/hairline.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — hairline
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.hairline { background: var(--hairline); height: 1px; width: 100%; }
.gold-rule { background: var(--gold-line); height: 1px; width: 100%; }
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/dl-fin/dl-fin.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — dl-fin
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.dl-fin {
  display: grid; grid-template-columns: 200px 1fr;
  row-gap: 14px; -moz-column-gap: 24px; column-gap: 24px;
  font-family: var(--font-sans); font-size: 14px;
}
.dl-fin dt {
  color: var(--ink-mute); font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.10em;
  padding-top: 2px;
}
.dl-fin dd { color: var(--ink); font-variant-numeric: tabular-nums; }
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/num-list/num-list.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — num-list
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.num-list { counter-reset: vlist; }
.num-list > li {
  list-style: none;
  display: grid; grid-template-columns: 56px 1fr;
  align-items: baseline; gap: 16px;
  padding: 14px 0;
  border-top: 1px solid var(--hairline-soft);
}
.num-list > li:first-child { border-top: 0; }
.num-list > li::before {
  counter-increment: vlist;
  content: counter(vlist, decimal-leading-zero);
  font-family: var(--font-display); font-size: 22px; color: var(--gold-strong);
  font-variant-numeric: tabular-nums;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/data-table/data-table.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — data-table
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.data-table {
  width: 100%;
  font-size: 14px;
  border-collapse: collapse;
}
.data-table thead th {
  text-align: left;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-mute);
  padding: 10px 12px;
  border-bottom: 1px solid var(--hairline);
  background: var(--paper-alt);
}
.data-table tbody td {
  padding: 12px;
  border-bottom: 1px solid var(--hairline-soft);
  color: var(--ink-soft);
}
.data-table tbody tr:hover { background: var(--paper-alt); }
.data-table .num { text-align: right; font-variant-numeric: tabular-nums; color: var(--ink); }
.data-table thead th:first-child,
.data-table tbody td:first-child { padding-left: 28px; }
.data-table thead th:last-child,
.data-table tbody td:last-child  { padding-right: 28px; }
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/letterhead/letterhead.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — letterhead
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.letterhead {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 48px 56px;
  position: relative;
}
.letterhead::before {
  content: "";
  position: absolute; left: 56px; right: 56px; top: 24px;
  height: 1px; background: var(--accent-line);
}
.letterhead .lh-meta {
  display: flex; justify-content: space-between; gap: 24px;
  font-family: var(--font-sans);
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 32px;
}
.letterhead .lh-body {
  font-family: var(--font-display);
  font-size: 20px; line-height: 1.55;
  color: var(--ink);
  max-width: 60ch;
}
.letterhead .lh-body p + p { margin-top: 18px; }
.letterhead .lh-signature {
  margin-top: 36px;
  font-family: var(--font-display); font-size: 28px; font-weight: 400;
  color: var(--ink);
}
.letterhead .lh-signature .role {
  display: block;
  font-family: var(--font-sans); font-size: 12px; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-mute); margin-top: 6px;
}
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/avatar-stack/avatar-stack.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — avatar-stack
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */


.av-stack {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-sans);
}
.av-stack .av-stack-row {
  display: inline-flex;
  align-items: center;
}
.av-stack .av-stack-row .av {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  color: var(--paper);
  background: var(--ink);
  box-shadow: inset 0 0 0 2px var(--paper), 0 0 0 1px var(--gold-line);
  margin-left: -8px;
}
.av-stack .av-stack-row .av:first-child {
  margin-left: 0;
}
.av-stack .av-stack-caption {
  font-size: 12px;
  color: var(--ink-mute);
  letter-spacing: 0.04em;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/checklist-item/checklist-item.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — checklist-item
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.sop-step {
  display: grid; grid-template-columns: 48px 1fr 240px;
  align-items: baseline; gap: 18px;
  padding: 14px 0;
  border-top: 1px solid var(--hairline-soft);
}
.sop-step:first-of-type { border-top: 0; }
.sop-step .step-num {
  font-family: var(--font-display); font-size: 18px; color: var(--gold-strong);
  font-variant-numeric: tabular-nums;
}
.sop-step .step-body .step-title {
  font-family: var(--font-sans); font-size: 14px; font-weight: 600; color: var(--ink);
  line-height: 1.35;
}
.sop-step .step-body .step-detail {
  font-family: var(--font-sans); font-size: 13px; color: var(--ink-mute);
  line-height: 1.5; margin-top: 4px; max-width: 60ch;
}
.sop-step .step-tag {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-sans); font-size: 10px;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-mute);
  padding: 4px 8px;
  border: 1px solid var(--hairline);
  border-radius: 999px;
  background: var(--paper-alt);
  white-space: nowrap;
}
.sop-step .step-tag.is-auto    { color: var(--gold-strong); border-color: var(--gold-line); background: var(--gold-soft); }
.sop-step .step-tag.is-human   { color: var(--accent);      border-color: var(--accent-line); background: var(--accent-soft); }
.sop-step .step-owner {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 6px 14px 6px 6px;
  border: 1px solid var(--hairline);
  border-radius: 999px;
  background: var(--paper);
  width: 100%; justify-self: stretch;
  transition: border-color .15s ease, background-color .15s ease;
}
.sop-step .step-owner:hover { border-color: var(--gold-line); background: var(--paper-alt); }
.sop-step .step-owner .av,
.sop-step .step-owner .av-agent {
  width: 30px; height: 30px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-sans); font-size: 11px; font-weight: 600;
  flex-shrink: 0;
}
.sop-step .step-owner .av {
  background: var(--ink); color: var(--paper);
  box-shadow: inset 0 0 0 2px var(--paper), 0 0 0 1px var(--gold-line);
}
.sop-step .step-owner.is-agent {
  border-color: var(--gold-line);
  background: var(--gold-soft);
}
.sop-step .step-owner.is-agent .av-agent {
  background: var(--paper); color: var(--gold-strong);
  border: 1.5px solid var(--gold-strong);
  position: relative;
  font-family: var(--font-display); font-size: 14px; font-weight: 400;
}
.sop-step .step-owner.is-agent .av-agent .pulse {
  position: absolute; inset: -3px;
  border-radius: 50%; border: 1px solid var(--gold-line);
  animation: vo-pulse 2.2s ease-in-out infinite;
}
.sop-step .step-owner .text { display: flex; flex-direction: column; line-height: 1.15; }
.sop-step .step-owner .nm {
  font-family: var(--font-sans); font-size: 13px; font-weight: 600; color: var(--ink);
}
.sop-step .step-owner.is-agent .nm { color: var(--gold-strong); }
.sop-step .step-owner .lbl {
  font-family: var(--font-sans); font-size: 9.5px;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-mute);
  margin-top: 3px;
}
.sop-step .step-owner.is-agent .lbl { color: var(--gold-strong); opacity: 0.7; }
.sop-checklist .sop-step.is-checklist {
  grid-template-columns: 60px 1fr 240px;
}
.sop-step .step-check-wrap {
  display: inline-flex; align-items: center; gap: 10px;
  cursor: pointer;
}
.sop-step .step-check {
  -moz-appearance: none;
       appearance: none; -webkit-appearance: none;
  width: 20px; height: 20px;
  border: 1.5px solid var(--hairline);
  border-radius: 4px;
  background: var(--paper);
  cursor: pointer;
  position: relative;
  transition: background-color .15s ease, border-color .15s ease;
  flex-shrink: 0;
}
.sop-step .step-check:hover { border-color: var(--gold-strong); }
.sop-step .step-check:checked {
  background: var(--gold-strong);
  border-color: var(--gold-strong);
}
.sop-step .step-check:checked::after {
  content: "";
  position: absolute; left: 5px; top: 1px;
  width: 6px; height: 12px;
  border: solid var(--paper); border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.sop-step.is-done .step-title {
  color: var(--ink-mute);
  text-decoration: line-through;
  text-decoration-color: var(--gold-line);
  text-decoration-thickness: 1px;
}
.sop-step.is-done .step-detail { color: var(--ink-faint); }
.sop-step.is-done .step-num    { color: var(--ink-faint); }
.sop-step.is-done .step-owner  { opacity: 0.55; }
.sop-step .step-done-meta {
  display: none;
  align-items: center; gap: 6px;
  margin-top: 8px;
  font-family: var(--font-sans); font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--gold-strong);
}
.sop-step.is-done .step-done-meta { display: inline-flex; }
.sop-step .step-done-meta svg { color: var(--gold-strong); flex-shrink: 0; }
@keyframes vo-pulse {
  0%, 100% { opacity: 0.7; transform: scale(1); }
  50%      { opacity: 0; transform: scale(1.4); }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/workflow-rendering/workflow-rendering.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — workflow-rendering
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.flow-canvas {
  position: relative;
  padding: 28px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
}
.flow-canvas svg.flow-edges {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  pointer-events: none;
}
.flow-canvas svg.flow-edges path { stroke: var(--ink-mute); stroke-width: 1.2; fill: none; }
.flow-canvas svg.flow-edges .arrow-head { fill: var(--ink-mute); }
.flow-canvas svg.flow-edges .edge-accent { stroke: var(--accent); }
.flow-node {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 14px 16px;
  position: relative;
  z-index: 1;
  box-shadow: var(--shadow-card);
}
.flow-node .fn-eyebrow {
  font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-mute);
  margin-bottom: 4px;
}
.flow-node .fn-title { font-family: var(--font-display); font-size: 16px; color: var(--ink); line-height: 1.25; }
.flow-node .fn-meta { font-family: var(--font-sans); font-size: 11px; color: var(--ink-mute); margin-top: 4px; }
.flow-node.is-trigger { border-left: 3px solid var(--gold-strong); }
.flow-node.is-trigger .fn-eyebrow { color: var(--gold-strong); }
.flow-node.is-decision {
  border: 1.5px solid var(--accent);
  background: var(--accent-soft);
}
.flow-node.is-decision .fn-eyebrow { color: var(--accent); }
.flow-node.is-terminal { border-style: dashed; }
.precheck {
  background: var(--paper-alt);
  border: 1px solid var(--hairline-soft);
  border-radius: var(--radius-card);
  padding: 18px 22px;
}
.precheck .pc-title {
  font-family: var(--font-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-strong);
  margin-bottom: 12px;
}
.precheck ul { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; }
.precheck li {
  display: flex; align-items: flex-start; gap: 10px;
  font-family: var(--font-sans); font-size: 13px; color: var(--ink-soft);
  line-height: 1.4;
}
.precheck li::before {
  content: "✓";
  color: var(--ok); font-weight: 600; font-size: 13px;
  width: 16px; flex-shrink: 0;
}
.flow-canvas-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 1023px) {
  .flow-canvas-scroll > .grid { min-width: 760px; }
  .flow-canvas-scroll svg.flow-edges { min-width: 760px; }
}
@media (max-width: 639px) {
  .precheck { padding: 14px 16px; }
  .precheck ul { grid-template-columns: 1fr; gap: 8px 0; }
  .flow-canvas-scroll > .grid { min-width: 680px; }
  .flow-canvas-scroll svg.flow-edges { min-width: 680px; }
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/sop-section/sop-section.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — sop-section
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.sop {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}
.sop-header {
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 14px; margin-bottom: 18px;
}
.sop-title { font-family: var(--font-display); font-size: 22px; color: var(--ink); }
.sop-meta {
  display: flex; gap: 18px;
  font-family: var(--font-sans); font-size: 11px;
  letter-spacing: 0.10em; text-transform: uppercase; color: var(--ink-mute);
}
.sop-meta strong { color: var(--ink); font-weight: 600; }
.checklist-progress {
  display: grid; grid-template-columns: 1fr auto;
  align-items: center; gap: 18px;
  padding: 14px 0 8px;
  border-bottom: 1px solid var(--hairline-soft);
  margin-bottom: 4px;
}
.checklist-progress .cp-track {
  height: 6px; border-radius: 999px;
  background: var(--paper-sunk);
  overflow: hidden;
}
.checklist-progress .cp-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--gold-strong), var(--gold));
  border-radius: 999px;
  transition: width .35s cubic-bezier(.4,.0,.2,1);
}
.checklist-progress .cp-meta {
  display: flex; align-items: baseline; gap: 12px;
  font-family: var(--font-sans);
}
.checklist-progress .cp-pct {
  font-family: var(--font-display); font-size: 22px; color: var(--ink);
  font-variant-numeric: tabular-nums; letter-spacing: -0.01em;
  line-height: 1;
}
.checklist-progress .cp-pct .unit { font-family: var(--font-sans); font-size: 12px; color: var(--ink-mute); margin-left: 2px; }
.checklist-progress .cp-state {
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-mute);
}
.checklist-done {
  margin-top: 18px;
  display: grid; grid-template-columns: 48px 1fr auto;
  gap: 18px; align-items: center;
  padding: 18px 22px;
  background: var(--gold-soft);
  border: 1.5px solid var(--gold-line);
  border-radius: var(--radius-card);
  animation: cd-in .35s cubic-bezier(.34,1.3,.4,1);
}
.checklist-done .cd-mark {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--gold-strong); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
}
.checklist-done .cd-lbl {
  font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-strong);
}
.checklist-done .cd-title {
  font-family: var(--font-display); font-size: 22px; color: var(--ink);
  line-height: 1.2; letter-spacing: -0.005em; margin-top: 2px;
}
.checklist-done .cd-meta { font-family: var(--font-sans); font-size: 12px; color: var(--ink-mute); margin-top: 4px; }
.checklist-done .cd-btn { flex-shrink: 0; }

@keyframes cd-in {
  0%   { opacity: 0; transform: translateY(8px) scale(0.985); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 639px) {
  .sop { padding: 20px 18px; }
  .sop-header { flex-direction: column; align-items: stretch; gap: 8px; }
  .sop-meta { flex-wrap: wrap; gap: 8px 14px; font-size: 10px; }
  .sop-title { font-size: 19px; }
}
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/task-row/task-row.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — task-row
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.task-row { display: grid; grid-template-columns: 1fr 200px 160px;
  gap: 16px; align-items: center; padding: 14px 0;
  border-top: 1px solid var(--hairline-soft); }
.task-row:first-child { border-top: 0; }
.task-row .pri { width: 8px; height: 8px; border-radius: 50%; background: var(--ink-faint);
  display: inline-block; vertical-align: middle; margin-right: 8px; }
.task-row .pri.is-critical { background: var(--accent); }
.task-row .pri.is-warn { background: var(--gold-strong); }
.task-row .title { font-family: var(--font-sans); font-size: 14px; font-weight: 500; color: var(--ink); }
.task-row .src { font-family: var(--font-sans); font-size: 11.5px; color: var(--ink-mute); margin-top: 4px; }
.task-row .src .auto-tag {
  display: inline-flex; height: 18px; padding: 0 6px; align-items: center;
  font-size: 9.5px; font-weight: 600; letter-spacing: 0.10em; text-transform: uppercase;
  color: var(--gold-strong); background: var(--gold-soft);
  border: 1px solid var(--gold-line); border-radius: 999px; margin-right: 6px; }
.task-row .owner {
  display: grid; grid-template-columns: 22px 1fr; gap: 8px; align-items: center;
  font-family: var(--font-sans); font-size: 12px; color: var(--ink-soft);
}
.task-row .owner .av { justify-self: center; }
.task-row .owner .nm { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-row .due { text-align: right; font-family: var(--font-sans); font-size: 12px; color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.task-row .due .abs { font-size: 10.5px; color: var(--ink-mute); display: block; margin-top: 2px; }
.autobar { display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 12px 18px;
  background: var(--gold-soft); border: 1px solid var(--gold-line);
  border-radius: var(--radius-card); }
.autobar .left { font-family: var(--font-sans); font-size: 13px; color: var(--ink); }
.autobar .left strong { color: var(--gold-strong); font-weight: 600; }
.autobar .right { font-family: var(--font-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.10em; text-transform: uppercase; color: var(--gold-strong); }

@media (max-width: 1023px) {
  .task-row { grid-template-columns: 1fr 1fr; gap: 8px 14px; }
  .task-row .due { text-align: right; }
}
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/itinerary/itinerary.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — itinerary
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.itin {
  display: grid; grid-template-columns: 100px 1fr auto;
  gap: 24px; padding: 18px 0;
  border-top: 1px solid var(--hairline-soft);
}
.itin:first-child { border-top: 0; }
.itin .when {
  font-family: var(--font-display); font-style: italic; font-size: 16px; color: var(--gold-strong);
  line-height: 1.2;
}
.itin .when .day { display: block; font-size: 12px; font-style: normal; letter-spacing: 0.12em; color: var(--ink-mute); text-transform: uppercase; margin-top: 4px; }
.itin .what .title { font-family: var(--font-display); font-size: 20px; color: var(--ink); line-height: 1.25; }
.itin .what .where { font-family: var(--font-sans); font-size: 13px; color: var(--ink-mute); margin-top: 4px; }
.itin .who { font-family: var(--font-sans); font-size: 12px; color: var(--ink-mute); text-align: right; align-self: center; letter-spacing: 0.08em; text-transform: uppercase; }

@media (max-width: 1023px) {
  .itin { grid-template-columns: 80px 1fr; gap: 14px; padding: 16px 0; }
  .itin .who { grid-column: 2; text-align: left; padding-top: 2px; }
}
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/itinerary-card/itinerary-card.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — itinerary-card
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.itin-card { background: var(--paper); border: 1px solid var(--hairline);
  border-radius: var(--radius-card); overflow: hidden; }
.itin-card .ic-head { padding: 22px 28px; border-bottom: 1px solid var(--hairline); }
.itin-card .ic-section { padding: 20px 28px; border-top: 1px solid var(--hairline-soft); }
.itin-card .ic-section:first-of-type { border-top: 0; }
.approval { display: grid; grid-template-columns: 1fr auto;
  gap: 24px; align-items: end; padding: 22px 28px;
  background: var(--paper-alt); border-top: 1.5px solid var(--accent); }
.approval .left .lbl { font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); }
.approval .left .cost { font-family: var(--font-display); font-size: 48px; color: var(--ink);
  font-variant-numeric: tabular-nums; letter-spacing: -0.02em; margin-top: 4px; line-height: 1; }
.approval .left .cost .unit { font-family: var(--font-sans); font-size: 16px; color: var(--ink-mute); margin-right: 8px; vertical-align: baseline; }
.approval .left .if-nothing { font-family: var(--font-sans); font-size: 12.5px; color: var(--accent); margin-top: 8px; }
.approval .left .if-nothing strong { color: var(--accent-strong); font-weight: 600; }
.approval .actions { display: flex; gap: 8px; }
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/routing-rule/routing-rule.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — routing-rule
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.route-rule { padding: 18px 22px; background: var(--paper);
  border: 1px solid var(--hairline); border-radius: var(--radius-card);
  font-family: var(--font-display); font-size: 17px; line-height: 1.55; color: var(--ink-soft); }
.route-rule strong { color: var(--ink); font-weight: 500;
  background: var(--gold-soft); padding: 1px 4px; border-bottom: 1px dashed var(--gold-line); }
.route-rule .num { display: inline-block;
  font-family: var(--font-display); font-size: 13px; color: var(--gold-strong);
  margin-right: 10px; font-variant-numeric: tabular-nums; }
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/routing-rule-list/routing-rule-list.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/routing-rule-editor/routing-rule-editor.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/routing-matrix/routing-matrix.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/routing-trace/routing-trace.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/routing-test-bench/routing-test-bench.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/cadence-column/cadence-column.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/thread-row/thread-row.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/workflow-roster/workflow-roster.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/workflow-detail/workflow-detail.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/workflow-steps/workflow-steps.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/workflow-run-report/workflow-run-report.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/workflow-run-trace/workflow-run-trace.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/workflow/workflow-kpis/workflow-kpis.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/page-header/page-header.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — page-header
 *
 * The editorial cover for every route. Micro-gold eyebrow, serif H1
 * with oxblood stop, optional lede. All styling lives here — pages
 * MUST NOT define their own <header>. The block is self-contained.
 * ──────────────────────────────────────────────────────────────────────── */

.page-header { display: block; }

.page-header-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold-strong);
  margin-bottom: 14px;
}

.page-header-title {
  font-family: var(--font-display);
  font-size: 44px;
  line-height: 1.08;
  letter-spacing: -0.012em;
  color: var(--ink);
  margin: 0;
  font-weight: 400;
}
.page-header-title .stop { color: var(--accent); }

.page-header-lede {
  font-family: var(--font-display);
  font-size: 17px;
  line-height: 1.5;
  color: var(--ink-mute);
  margin: 18px 0 0;
  max-width: 60ch;
}

@media (max-width: 720px) {
  .page-header-title { font-size: 30px; line-height: 1.12; }
  .page-header-lede  { font-size: 15px; }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/notices/notices.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — notices
 *
 * A collapsible list of dismissible notices. Gold uppercase eyebrow with a
 * rotating caret and a live count; each row a coloured severity dot, a
 * title, and a timestamp·source meta line. Tucked dismiss control on the
 * right. Built for the app sidebar — owns its open + dismissed state.
 * ──────────────────────────────────────────────────────────────────────── */

.vo-notices {
  font-family: var(--font-sans);
}

.vo-notices-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0 0 6px;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--hairline-soft);
  cursor: pointer;
  text-align: left;
}

.vo-notices-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: var(--gold-strong);
}

.vo-notices-caret {
  display: inline-flex;
  color: var(--gold-strong);
  transition: transform 160ms ease;
}
.vo-notices-caret.is-open { transform: rotate(90deg); }

.vo-notices-count {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.20em;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}

.vo-notices-list {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
}

.vo-notice {
  position: relative;
  padding: 8px 24px 8px 0;
}
.vo-notice + .vo-notice {
  border-top: 1px dashed var(--hairline-soft);
}

.vo-notice-link {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  text-decoration: none;
}

.vo-notice-dot {
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  margin-top: 5px;
  border-radius: 50%;
  background: var(--ink-faint);
}
.vo-notice-dot.is-warn { background: var(--gold-strong); }
.vo-notice-dot.is-needs {
  background: var(--accent);
  box-shadow: 0 0 0 3px var(--overlay-accent);
}

.vo-notice-text {
  min-width: 0;
  flex: 1;
}

.vo-notice-title {
  display: block;
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--ink);
}

.vo-notice-meta {
  display: block;
  margin-top: 2px;
  font-size: 10px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}

.vo-notice-dismiss {
  position: absolute;
  top: 8px;
  right: 0;
  width: 18px;
  height: 18px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--ink-faint);
  cursor: pointer;
  transition: color 120ms ease;
}
.vo-notice-dismiss:hover { color: var(--ink); }

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/request-modal/request-modal.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — request-modal
 *
 * The "AI Makers" intake pop-up. Desktop: a centred editorial card over an
 * ink scrim. Mobile: a full-screen sheet that rises from the bottom edge.
 * Message field, dashed drop zone, voice recorder, staged-attachment list,
 * a gold submit, and a success state. Self-contained — owns all its state.
 * ──────────────────────────────────────────────────────────────────────── */

.vo-rm-trigger {
  font-family: var(--font-sans);
  font-size: 12px;
  padding: 8px 14px;
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  cursor: pointer;
}

.vo-rm-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: var(--scrim);
  animation: vo-rm-fade 160ms ease-out;
}

.vo-rm-sheet {
  position: relative;
  width: 100%;
  max-width: 480px;
  max-height: 86vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-lifted);
  padding: 30px 28px 28px;
  animation: vo-rm-rise 200ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

@keyframes vo-rm-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes vo-rm-rise {
  from { opacity: 0; transform: translateY(10px) scale(0.985); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.vo-rm-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  color: var(--ink-mute);
  cursor: pointer;
  transition: color .12s, border-color .12s;
}
.vo-rm-close:hover {
  color: var(--ink);
  border-color: var(--ink-mute);
}

.vo-rm-head {
  margin-bottom: 18px;
  padding-right: 30px;
}
.vo-rm-eyebrow {
  display: block;
  margin-bottom: 8px;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.vo-rm-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 27px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.vo-rm-stop { color: var(--accent); }
.vo-rm-body {
  margin: 8px 0 0;
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-mute);
}

.vo-rm-message {
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: 96px;
  resize: vertical;
  margin-bottom: 12px;
  padding: 12px 13px;
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
}
.vo-rm-message::-moz-placeholder { color: var(--ink-faint); }
.vo-rm-message::placeholder { color: var(--ink-faint); }
.vo-rm-message:focus {
  outline: none;
  border-color: var(--gold);
  background: var(--paper);
}

.vo-rm-drop {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  background: var(--paper-alt);
  border: 1px dashed var(--hairline);
  border-radius: var(--radius-input);
  color: var(--ink-mute);
  cursor: pointer;
  transition: border-color .12s, background .12s, color .12s;
}
.vo-rm-drop:hover {
  border-color: var(--gold);
  color: var(--ink-soft);
}
.vo-rm-drop.is-over {
  border-color: var(--gold);
  background: var(--gold-soft);
  color: var(--gold-strong);
}
.vo-rm-drop:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.vo-rm-drop-icon {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--gold-strong);
}
.vo-rm-drop-text {
  font-family: var(--font-sans);
  font-size: 13px;
}
.vo-rm-drop-text em {
  font-style: normal;
  color: var(--gold-strong);
  text-decoration: underline;
}

.vo-rm-rec { margin-top: 10px; }
.vo-rm-rec-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--ink-soft);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  cursor: pointer;
  transition: border-color .12s, color .12s, background .12s;
}
.vo-rm-rec-btn:hover {
  border-color: var(--ink-mute);
  color: var(--ink);
}
.vo-rm-rec-btn.is-recording {
  color: var(--accent);
  background: var(--accent-soft);
  border-color: var(--accent-line);
}
.vo-rm-rec-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
  animation: vo-rm-pulse 1s ease-in-out infinite;
}
@keyframes vo-rm-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.25; }
}

.vo-rm-list {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.vo-rm-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
}
.vo-rm-item-kind {
  flex-shrink: 0;
  padding: 3px 6px;
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-mute);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: 3px;
}
.vo-rm-item-kind.is-voice {
  color: var(--accent);
  border-color: var(--accent-line);
}
.vo-rm-item-kind.is-image {
  color: var(--gold-strong);
  border-color: var(--gold);
}
.vo-rm-item-main {
  min-width: 0;
  flex: 1;
}
.vo-rm-item-name {
  font-family: var(--font-sans);
  font-size: 12.5px;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vo-rm-item-meta {
  margin-top: 1px;
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}
.vo-rm-audio {
  display: block;
  width: 100%;
  height: 34px;
  margin-top: 6px;
}
.vo-rm-item-x {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--ink-faint);
  cursor: pointer;
  transition: color .12s;
}
.vo-rm-item-x:hover { color: var(--accent); }

.vo-rm-error {
  margin-top: 12px;
  padding: 9px 12px;
  font-family: var(--font-sans);
  font-size: 12.5px;
  color: var(--critical);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
  border-radius: var(--radius-input);
}

.vo-rm-submit {
  width: 100%;
  margin-top: 16px;
  padding: 13px 18px;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--paper);
  background: var(--gold-strong);
  border: 1px solid var(--gold-strong);
  border-radius: var(--radius-input);
  cursor: pointer;
  transition: background .12s, border-color .12s, opacity .12s;
}
.vo-rm-submit:hover {
  background: var(--ink);
  border-color: var(--ink);
}
.vo-rm-submit:disabled {
  opacity: 0.6;
  cursor: default;
}

.vo-rm-done {
  text-align: center;
  padding: 18px 6px 6px;
}
.vo-rm-done-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: 14px;
  border-radius: 50%;
  color: var(--ok);
  background: var(--gold-soft);
}
.vo-rm-done .vo-rm-body { margin-top: 6px; }
.vo-rm-done .vo-rm-submit { margin-top: 20px; }

/* ── Mobile: full-screen sheet ─────────────────────────────────────────── */
@media (max-width: 639px) {
  .vo-rm-backdrop { padding: 0; }
  .vo-rm-sheet {
    width: 100%;
    max-width: none;
    min-height: 100dvh;
    max-height: 100dvh;
    border: none;
    border-radius: 0;
    padding: calc(env(safe-area-inset-top) + 26px) 20px calc(env(safe-area-inset-bottom) + 28px);
    animation: vo-rm-slide 220ms cubic-bezier(0.2, 0.7, 0.2, 1);
  }
  @keyframes vo-rm-slide {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
  }
  .vo-rm-title { font-size: 30px; }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/request-inbox/request-inbox.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — request-inbox
 *
 * The /dev submissions inbox. One editorial card per dev_request —
 * submitter + timestamp, the message, file/voice attachments, and a
 * new/seen/done triage row. A left status bar tints by state.
 * ──────────────────────────────────────────────────────────────────────── */

.vo-ri {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.vo-ri-empty {
  padding: 48px 24px;
  text-align: center;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
}
.vo-ri-empty-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 20px;
  color: var(--ink);
}
.vo-ri-empty-sub {
  margin: 6px 0 0;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
}

.vo-ri-card {
  position: relative;
  padding: 18px 20px 16px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  border-left: 3px solid var(--hairline);
  box-shadow: var(--shadow-card);
}
.vo-ri-card.is-new  { border-left-color: var(--accent); }
.vo-ri-card.is-seen { border-left-color: var(--gold); }
.vo-ri-card.is-done { border-left-color: var(--ok); }

.vo-ri-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.vo-ri-who {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.vo-ri-name {
  font-family: var(--font-sans);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink);
}
.vo-ri-when {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}

.vo-ri-badge {
  flex-shrink: 0;
  padding: 3px 9px;
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
}
.vo-ri-badge.is-new {
  color: var(--accent);
  background: var(--accent-soft);
  border-color: var(--accent-line);
}
.vo-ri-badge.is-seen {
  color: var(--gold-strong);
  background: var(--gold-soft);
  border-color: var(--gold);
}
.vo-ri-badge.is-done {
  color: var(--ok);
  background: var(--gold-soft);
  border-color: var(--hairline);
}

.vo-ri-message {
  margin: 12px 0 0;
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-soft);
  white-space: pre-wrap;
}

.vo-ri-attachments {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 14px;
}

.vo-ri-file {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  text-decoration: none;
  transition: border-color .12s;
}
.vo-ri-file:hover { border-color: var(--ink-mute); }
.vo-ri-file-kind {
  flex-shrink: 0;
  padding: 2px 6px;
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-mute);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: 3px;
}
.vo-ri-file-kind.is-image { color: var(--gold-strong); border-color: var(--gold); }
.vo-ri-file-name {
  min-width: 0;
  flex: 1;
  font-family: var(--font-sans);
  font-size: 12.5px;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vo-ri-file-size {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}

.vo-ri-voice {
  padding: 8px 10px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
}
.vo-ri-voice-label {
  display: block;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent);
}
.vo-ri-audio {
  display: block;
  width: 100%;
  height: 34px;
  margin-top: 6px;
}

.vo-ri-actions {
  display: flex;
  gap: 6px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--hairline);
}
.vo-ri-status-btn {
  padding: 5px 12px;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ink-mute);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  cursor: pointer;
  transition: color .12s, border-color .12s, background .12s;
}
.vo-ri-status-btn:hover:not(:disabled) {
  color: var(--ink);
  border-color: var(--ink-mute);
}
.vo-ri-status-btn.is-current {
  cursor: default;
}
.vo-ri-status-btn.is-current.is-new {
  color: var(--accent);
  background: var(--accent-soft);
  border-color: var(--accent-line);
}
.vo-ri-status-btn.is-current.is-seen {
  color: var(--gold-strong);
  background: var(--gold-soft);
  border-color: var(--gold);
}
.vo-ri-status-btn.is-current.is-done {
  color: var(--ok);
  background: var(--gold-soft);
  border-color: var(--ok);
}
.vo-ri-status-btn:disabled:not(.is-current) {
  opacity: 0.5;
  cursor: default;
}

@media (max-width: 639px) {
  .vo-ri-card { padding: 16px 15px 14px; }
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/db-visualizer/db-visualizer.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — db-visualizer
 *
 * The canonical Vo data architecture, rendered. Store overview cards,
 * search, schema-table cards with column rows, folder trees. The
 * coordination map for vo.db.
 * ──────────────────────────────────────────────────────────────────────── */

.dbv { display: block; }

/* ─── Header ────────────────────────────────────────────────────────── */
.dbv-head { margin-bottom: 22px; }
.dbv-head .eb {
  font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold-strong); margin-bottom: 10px;
}
.dbv-title {
  font-family: var(--font-display); font-weight: 400;
  font-size: 32px; line-height: 1.13; color: var(--ink); margin: 0;
  letter-spacing: -0.01em;
}
.dbv-title .stop { color: var(--accent); }
.dbv-sub {
  font-family: var(--font-display); font-size: 15px;
  color: var(--ink-mute); line-height: 1.55; margin: 10px 0 0;
  max-width: 70ch;
}

/* ─── Store overview cards ──────────────────────────────────────────── */
.dbv-stores {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 22px;
}
.dbv-store-card {
  display: flex; flex-direction: column; gap: 4px;
  text-align: left;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-top: 3px solid var(--ink);
  border-radius: var(--radius-card);
  padding: 14px 16px;
  cursor: pointer;
  transition: border-color .14s ease, background .14s ease, transform .14s ease;
}
.dbv-store-card:hover { transform: translateY(-2px); border-top-color: var(--gold); }
.dbv-store-card.is-active {
  border-top-color: var(--gold);
  background: var(--gold-soft);
}
.dbv-store-card .letter {
  font-family: var(--font-display); font-size: 22px; color: var(--gold-strong);
  line-height: 1;
}
.dbv-store-card .name {
  font-family: var(--font-display); font-size: 17px; color: var(--ink);
  letter-spacing: -0.005em;
}
.dbv-store-card .backing {
  font-family: var(--font-mono); font-size: 10px; color: var(--ink-mute);
  line-height: 1.4;
}
.dbv-store-card .count {
  font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
  margin-top: 2px;
}

/* ─── Search ────────────────────────────────────────────────────────── */
.dbv-search {
  display: flex; align-items: center; gap: 12px;
  height: 46px; padding: 0 16px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  margin-bottom: 12px;
  transition: border-color .14s ease, box-shadow .14s ease;
}
.dbv-search:focus-within {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px var(--gold-soft);
}
.dbv-search svg { color: var(--gold-strong); flex-shrink: 0; }
.dbv-search input {
  flex: 1; background: transparent; border: 0; outline: 0;
  font-family: var(--font-display); font-size: 15px; color: var(--ink);
  padding: 0;
}
.dbv-search input::-moz-placeholder { color: var(--ink-faint); font-style: italic; }
.dbv-search input::placeholder { color: var(--ink-faint); font-style: italic; }
.dbv-clear {
  flex-shrink: 0; background: transparent; border: 0;
  font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--ink-mute); cursor: pointer; padding: 4px 10px;
  border-radius: var(--radius-pill);
}
.dbv-clear:hover { color: var(--ink); background: var(--paper-sunk); }

.dbv-meta {
  font-family: var(--font-display); font-style: italic;
  font-size: 13px; color: var(--ink-mute);
  padding-bottom: 18px;
  border-bottom: 1px solid var(--hairline);
  margin-bottom: 24px;
}
.dbv-meta .num {
  font-family: var(--font-mono); font-style: normal;
  color: var(--gold-strong); font-variant-numeric: tabular-nums;
}
.dbv-meta .lnk {
  background: transparent; border: 0; padding: 0; cursor: pointer;
  font-family: var(--font-display); font-style: italic; font-size: 13px;
  color: var(--gold-strong); text-decoration: underline;
  text-underline-offset: 2px;
}

/* ─── Store section ─────────────────────────────────────────────────── */
.dbv-body { display: flex; flex-direction: column; gap: 36px; }
.dbv-store-eb {
  display: flex; align-items: baseline; gap: 12px; margin-bottom: 8px;
}
.dbv-store-eb .letter {
  font-family: var(--font-display); font-size: 20px; color: var(--gold-strong);
}
.dbv-store-eb .name {
  font-family: var(--font-sans); font-size: 12px; font-weight: 600;
  letter-spacing: 0.20em; text-transform: uppercase; color: var(--ink);
  white-space: nowrap;
}
.dbv-store-eb .rule { flex: 1; height: 1px; background: var(--hairline); }
.dbv-store-eb .backing {
  font-family: var(--font-mono); font-size: 10.5px; color: var(--ink-mute);
  white-space: nowrap;
}
.dbv-store-summary {
  font-family: var(--font-display); font-style: italic;
  font-size: 13.5px; color: var(--ink-mute); line-height: 1.5;
  margin: 0 0 18px; max-width: 78ch;
}

/* ─── Table grid + cards ────────────────────────────────────────────── */
.dbv-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.dbv-table {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 16px 18px;
}
.dbv-table.is-hit { border-color: var(--gold); box-shadow: 0 0 0 3px var(--gold-soft); }
.dbv-table-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; margin-bottom: 6px;
}
.dbv-table-name {
  font-family: var(--font-mono); font-size: 14px; font-weight: 600;
  color: var(--ink);
}
.dbv-table-kind {
  font-family: var(--font-sans); font-size: 8.5px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  padding: 3px 7px; border-radius: 2px; white-space: nowrap;
}
.dbv-table-kind.kind-mutable     { background: var(--paper-sunk);  color: var(--ink-mute); }
.dbv-table-kind.kind-append-only { background: var(--accent-soft); color: var(--accent); }
.dbv-table-kind.kind-derived     { background: var(--gold-soft);   color: var(--gold-strong); }
.dbv-table-kind.kind-view        { background: var(--info-soft);   color: var(--info); }
.dbv-table-desc {
  font-family: var(--font-sans); font-size: 12px; color: var(--ink-mute);
  line-height: 1.5; margin: 0 0 12px;
}

/* ─── Column rows ───────────────────────────────────────────────────── */
.dbv-cols { width: 100%; border-collapse: collapse; }
.dbv-col td {
  padding: 5px 8px 5px 0;
  border-top: 1px solid var(--hairline-soft);
  vertical-align: baseline;
}
.dbv-col:first-child td { border-top: 1px solid var(--hairline); }
.dbv-col .c-name code {
  font-family: var(--font-mono); font-size: 11.5px; color: var(--ink);
}
.dbv-col.role-pk .c-name code { color: var(--gold-strong); font-weight: 600; }
.dbv-col.role-fk .c-name code { color: var(--info); }
.dbv-col .c-type {
  width: 40%;
}
.dbv-col .c-type code {
  font-family: var(--font-mono); font-size: 10.5px; color: var(--ink-mute);
}
.dbv-col .c-ref code.ref {
  font-family: var(--font-mono); font-size: 10.5px; color: var(--info);
}
.dbv-col .c-ref .note {
  font-family: var(--font-sans); font-size: 10.5px; color: var(--ink-faint);
  font-style: italic;
}
.dbv-col .badge {
  display: inline-block; margin-left: 6px;
  font-family: var(--font-sans); font-size: 7.5px; font-weight: 700;
  letter-spacing: 0.10em; padding: 1px 4px; border-radius: 2px;
  vertical-align: middle;
}
.dbv-col .badge.pk { background: var(--gold); color: var(--paper); }
.dbv-col .badge.fk { background: var(--info); color: var(--paper); }
.dbv-col .nullable {
  display: inline-block; margin-left: 5px;
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-faint);
}
.dbv-table-backs {
  margin-top: 12px; padding-top: 10px;
  border-top: 1px solid var(--hairline-soft);
  font-family: var(--font-sans); font-size: 10.5px; color: var(--ink-mute);
  line-height: 1.5;
}
.dbv-table-backs .lbl {
  font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-faint); margin-right: 6px;
}

/* ─── Folder tree ───────────────────────────────────────────────────── */
.dbv-tree {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 16px 20px;
}
.dbv-tree-row {
  display: flex; align-items: baseline; gap: 8px;
  padding: 5px 0;
  border-bottom: 1px dashed var(--hairline-soft);
}
.dbv-tree-row:last-child { border-bottom: 0; }
.dbv-tree-row .glyph {
  font-size: 9px; color: var(--gold-strong); flex-shrink: 0;
}
.dbv-tree-row.is-file .glyph { color: var(--ink-faint); }
.dbv-tree-row .path {
  font-family: var(--font-mono); font-size: 12px; color: var(--ink);
  white-space: nowrap;
}
.dbv-tree-row.is-file .path { color: var(--ink-soft); }
.dbv-tree-row .note {
  font-family: var(--font-sans); font-size: 11px; color: var(--ink-mute);
  font-style: italic;
}

/* ─── Empty ─────────────────────────────────────────────────────────── */
.dbv-empty {
  padding: 50px 24px; text-align: center;
  border: 1px dashed var(--hairline);
  border-radius: var(--radius-card);
  background: var(--paper-alt);
}
.dbv-empty .eb {
  font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold-strong); margin-bottom: 8px;
}
.dbv-empty p {
  font-family: var(--font-display); font-style: italic;
  font-size: 15px; color: var(--ink-mute); margin: 0;
}

/* ─── Responsive ────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .dbv-stores { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dbv-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .dbv-title { font-size: 24px; }
  .dbv-stores { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dbv-store-eb { flex-wrap: wrap; }
  .dbv-store-eb .backing { width: 100%; }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/people/_shared.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — people / shared rules
 *
 * Lifted from app/src/app/globals.css. These selectors are used by more
 * than one block in the People domain — person-card, staff-directory,
 * staff-on-duty all share the local-time chip; staff-directory and
 * full-calendar share the view-toggle. Putting them here keeps the per-
 * block CSS files orthogonal.
 * ──────────────────────────────────────────────────────────────────────── */

.contact-list {
  display: grid; grid-template-columns: 86px 1fr; gap: 6px 14px;
  font-family: var(--font-sans); font-size: 12.5px;
  padding-top: 10px; border-top: 1px solid var(--hairline-soft);
}
.contact-list dt {
  color: var(--ink-faint); font-size: 9.5px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase; padding-top: 2px;
}
.contact-list dd { color: var(--ink); margin: 0; word-break: break-all; }
.contact-list dd .mono { font-family: var(--font-mono); font-size: 12px; color: var(--ink-soft); }
.contact-list dd .label { color: var(--ink-mute); font-size: 11px; margin-left: 4px; }

.staff-channels { display: inline-flex; gap: 6px; }
.ch-dot {
  width: 22px; height: 22px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-sans); font-size: 10px; font-weight: 700;
  color: #fff; cursor: default;
  transition: transform .15s ease;
}
.ch-dot:hover { transform: scale(1.08); }
.ch-dot.s { background: #4A154B; }
.ch-dot.g { background: #C5221F; }
.ch-dot.w { background: #25D366; }
.ch-dot.p { background: var(--ink); }

/* Live local-time pill on staff cards + table + person card */
.local-time {
  display: inline-flex; align-items: baseline; gap: 6px;
  margin-left: 10px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--gold-soft);
  border: 1px solid var(--gold-line);
}
.local-time .lt-num {
  font-family: var(--font-display); font-style: italic;
  font-size: 12px; color: var(--gold-strong);
  font-variant-numeric: tabular-nums;
}
.local-time .lt-code {
  font-family: var(--font-sans); font-size: 9px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-strong);
}

/* View toggle (Cards / Table) — used on staff directory + full calendar */
.view-toggle {
  display: inline-flex;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  background: var(--paper);
  overflow: hidden;
}
.view-toggle-btn {
  padding: 7px 14px;
  font-family: var(--font-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.10em; text-transform: uppercase;
  color: var(--ink-mute);
  background: transparent;
  border: 0; border-left: 1px solid var(--hairline);
  cursor: pointer;
  transition: background-color .12s ease, color .12s ease;
}
.view-toggle-btn:first-child { border-left: 0; }
.view-toggle-btn:hover { color: var(--ink); background: var(--paper-alt); }
.view-toggle-btn.is-active {
  background: var(--gold-soft);
  color: var(--gold-strong);
}

/* Common chassis hover for cards in the people domain. Mirrors globals. */
.person:hover, .staff-card:hover {
  border-color: var(--hairline);
  background: var(--paper-alt);
  transition: background-color .15s ease, border-color .15s ease;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/people/staff-roster/staff-roster.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — staff-roster
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.roster { display: grid; grid-template-columns: 200px repeat(7, 1fr);
  border: 1px solid var(--hairline); border-radius: var(--radius-card);
  overflow: hidden; background: var(--paper); }
.roster-head { background: var(--paper-alt); padding: 10px 12px;
  border-bottom: 1px solid var(--hairline-soft);
  border-left: 1px solid var(--hairline-soft);
  font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-mute); }
.roster-head:first-child { border-left: 0; }
.roster-prop { padding: 14px 12px; border-top: 1px solid var(--hairline-soft);
  font-family: var(--font-display); font-size: 14px; color: var(--ink);
  background: var(--paper-alt); }
.roster-cell { padding: 12px 8px;
  border-top: 1px solid var(--hairline-soft);
  border-left: 1px solid var(--hairline-soft);
  font-family: var(--font-sans); font-size: 12px; color: var(--ink-soft); min-height: 50px; }
.roster-cell .who { color: var(--ink); }
.roster-cell .shift { font-size: 10.5px; color: var(--ink-mute); margin-top: 1px; font-variant-numeric: tabular-nums; }
.roster-cell.is-off { color: var(--ink-faint); }
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/people/person-card/person-card.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — person-card
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.person { background: var(--paper); border: 1px solid var(--hairline);
  border-radius: var(--radius-card); padding: 18px 20px;
  display: flex; gap: 14px; }
.person .av { width: 56px; height: 56px; border-radius: 50%;
  background: var(--ink); color: var(--paper);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-sans); font-size: 18px; font-weight: 600;
  letter-spacing: 0.02em; flex-shrink: 0; }
.person .body { flex: 1; min-width: 0; }
.person .name { font-family: var(--font-display); font-size: 19px; color: var(--ink); line-height: 1.2; letter-spacing: -0.005em; }
.person .role { font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-mute); margin-top: 4px; }
.person .meta { font-family: var(--font-sans); font-size: 12px; color: var(--ink-mute);
  margin-top: 8px; line-height: 1.55; display: flex; flex-direction: column; gap: 2px; }
.person .meta .row { display: flex; gap: 8px; }
.person .meta .row .k { color: var(--ink-faint); width: 70px;
  text-transform: uppercase; font-size: 9.5px; letter-spacing: 0.10em; padding-top: 1px; }
.person.is-external { border-left: 3px solid var(--accent); }
.person.is-principal { border-left: 3px solid var(--gold-strong); }
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/people/staff-directory/staff-directory.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — staff-directory
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.staff-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 14px;
}
.staff-card {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 20px 22px;
  display: flex; flex-direction: column; gap: 12px;
}
.staff-card .top { display: flex; gap: 14px; align-items: start; }
.staff-card .av {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--ink); color: var(--paper);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-sans); font-size: 18px; font-weight: 600;
  letter-spacing: 0.02em; flex-shrink: 0;
}
.staff-card .head { flex: 1; min-width: 0; }
.staff-card .name { font-family: var(--font-display); font-size: 20px; color: var(--ink); line-height: 1.2; letter-spacing: -0.005em; }
.staff-card .role { font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-mute); margin-top: 4px; }
.staff-card .where { font-family: var(--font-sans); font-size: 12px; color: var(--ink-soft); margin-top: 4px; }
.staff-card.is-principal { border-left: 3px solid var(--gold-strong); }
.staff-card.is-external { border-left: 3px solid var(--accent); }
.staff-card .where { display: flex; align-items: center; flex-wrap: wrap; row-gap: 4px; }
.staff-table .local-time { margin-left: 0; }
.staff-table-wrap {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  overflow: hidden;
}
.staff-table { width: 100%; border-collapse: collapse; font-family: var(--font-sans); }
.staff-table thead th {
  text-align: left; padding: 12px 14px;
  background: var(--paper-alt);
  border-bottom: 1px solid var(--hairline);
  font-size: 10px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-mute);
}
.staff-table tbody td {
  padding: 14px;
  border-bottom: 1px solid var(--hairline-soft);
  font-size: 12.5px; color: var(--ink-soft);
  vertical-align: middle;
}
.staff-table tbody tr:last-child td { border-bottom: 0; }
.staff-table tbody tr {
  transition: background-color .12s ease;
}
.staff-table tbody tr:hover { background: var(--paper-alt); }
.staff-table tbody tr.is-principal td:first-child { box-shadow: inset 3px 0 0 var(--gold-strong); }
.staff-table tbody tr.is-external  td:first-child { box-shadow: inset 3px 0 0 var(--accent); }
.staff-table .mono-cell { font-family: var(--font-mono); font-size: 11.5px; color: var(--ink); }
.staff-table .mono-cell .mono { font-family: var(--font-mono); }
.staff-table .mono-cell .label { color: var(--ink-mute); font-size: 10px; margin-left: 4px; font-family: var(--font-sans); }
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/people/staff-access-matrix/staff-access-matrix.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — staff-access-matrix
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.staff-matrix {
  width: 100%; border-collapse: separate; border-spacing: 0;
  font-family: var(--font-sans);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  overflow: hidden;
  background: var(--paper);
}
.staff-matrix th, .staff-matrix td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--hairline-soft);
  border-left: 1px solid var(--hairline-soft);
  text-align: center;
  font-size: 11.5px;
  vertical-align: middle;
}
.staff-matrix tr > th:first-child,
.staff-matrix tr > td:first-child { border-left: 0; }
.staff-matrix thead th {
  font-size: 9.5px; font-weight: 600;
  letter-spacing: 0.10em; text-transform: uppercase;
  color: var(--ink-mute); background: var(--paper-alt);
  border-bottom: 1px solid var(--hairline);
  padding: 11px 8px;
}
.staff-matrix tbody th {
  text-align: left;
  font-family: var(--font-sans); font-weight: 500; color: var(--ink);
  padding: 10px 14px;
}
.staff-matrix tbody th .role-line {
  font-size: 10px; font-weight: 500; color: var(--ink-mute);
  letter-spacing: 0.08em; text-transform: uppercase;
  margin-top: 2px;
}
.staff-matrix .cell-full    { color: var(--ok); font-weight: 700; }
.staff-matrix .cell-edit    { color: var(--gold-strong); font-weight: 600; }
.staff-matrix .cell-view    { color: var(--ink-mute); }
.staff-matrix .cell-deny    { color: var(--offline); }
.staff-matrix .cell-approve { color: var(--accent); font-weight: 600; }
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/people/staff-on-duty/staff-on-duty.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — staff-on-duty
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.duty {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  overflow: hidden;
}
.duty-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
  padding: 22px 28px;
  border-bottom: 1px solid var(--hairline-soft);
}
.duty-head-l { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.duty-count {
  display: inline-flex; align-items: baseline; gap: 8px;
  font-family: var(--font-display); color: var(--ink);
  letter-spacing: -0.01em;
}
.duty-count-num {
  font-size: 30px; font-variant-numeric: tabular-nums;
  color: var(--gold-strong); line-height: 1;
}
.duty-count-of {
  font-size: 14px; font-style: italic; color: var(--ink-mute);
  font-variant-numeric: tabular-nums;
}
.duty-count-cap {
  font-family: var(--font-sans); font-size: 11px;
  text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--ink-mute); margin-left: 4px;
}
.duty-head-r { display: flex; align-items: center; gap: 8px; }
.duty-groups { display: flex; flex-direction: column; }
.duty-group { padding: 18px 28px 22px; border-bottom: 1px solid var(--hairline-soft); }
.duty-group:last-child { border-bottom: 0; }
.duty-group-head {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 12px;
}
.duty-group-lbl {
  font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.18em; color: var(--gold-strong);
}
.duty-group-ct {
  font-family: var(--font-display); font-style: italic;
  font-size: 12px; color: var(--ink-mute);
  font-variant-numeric: tabular-nums;
}
.duty-group-rule { flex: 1; height: 1px; background: var(--hairline-soft); }
.duty-rows { display: flex; flex-direction: column; gap: 8px; }
.duty-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto auto auto;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  background: var(--paper);
  border: 1px solid var(--hairline-soft);
  border-radius: var(--radius-card);
  transition: border-color .15s ease, background-color .15s ease;
}
.duty-row:hover { border-color: var(--hairline); background: var(--paper-alt); }
.duty-row.is-on       { border-left: 3px solid var(--ok); }
.duty-row.is-off      { border-left: 3px solid var(--hairline); opacity: 0.85; }
.duty-row.is-standby  { border-left: 3px solid var(--warn); }
.duty-row.is-principal{ border-left: 3px solid var(--gold-strong); }
.duty-av {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--ink); color: var(--paper);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-sans); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.02em;
}
.duty-row.is-principal .duty-av { background: var(--gold-strong); }
.duty-id { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.duty-name {
  font-family: var(--font-display); font-size: 15px; line-height: 1.2;
  color: var(--ink); letter-spacing: -0.005em;
}
.duty-role {
  font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.14em; color: var(--gold-strong);
}
.duty-window {
  font-family: var(--font-sans); font-style: italic;
  font-size: 11.5px; color: var(--ink-mute);
  margin-top: 2px;
}
.duty-window em {
  font-style: italic; color: var(--gold-strong);
  font-variant-numeric: tabular-nums; font-weight: 500;
}
.duty-row.is-off .duty-window em { color: var(--ink-mute); }
.duty-time { white-space: nowrap; }
.duty-time .local-time { margin-left: 0; }
.duty-status { white-space: nowrap; }
.duty-channels { display: inline-flex; gap: 6px; }
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/people/staff-matrix/staff-matrix.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — staff-matrix
 *
 * The staff control surface. Editorial and quiet — a private-ledger feel:
 * cream paper, espresso ink, antique gold for what's live, faint em-dashes for
 * what isn't. Identity · login · channels · roles · agent access. WhatsApp
 * pairing is a single header action (one office gateway), never a per-row pill.
 * ──────────────────────────────────────────────────────────────────────── */

.staff-matrix {
  font-family: var(--font-sans);
  color: var(--ink);
  padding: 4px 20px 8px;
}

/* ── Header ──────────────────────────────────────────────────────────── */
.staff-matrix .sm-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.staff-matrix .sm-eyebrow {
  font-size: 10.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gold-strong, var(--gold));
}
.staff-matrix .sm-route {
  margin-top: 6px;
  font-size: 12px;
  color: var(--ink-mute);
}
.staff-matrix .sm-trigger { font-family: var(--font-mono); color: var(--gold-strong, var(--gold)); }
.staff-matrix .sm-route-agent { color: var(--ink); font-weight: 600; }
.staff-matrix .sm-head-right { display: flex; align-items: center; gap: 8px; }

/* Buttons — quiet outline by default; one filled primary. */
.staff-matrix .sm-btn {
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill, 999px);
  padding: 6px 14px;
  cursor: pointer;
  transition: border-color 140ms ease, background-color 140ms ease;
}
.staff-matrix .sm-btn:hover { border-color: var(--gold, var(--ink-mute)); }
.staff-matrix .sm-btn-primary {
  color: var(--paper);
  background: var(--ink);
  border-color: var(--ink);
}
.staff-matrix .sm-btn-primary:hover { background: var(--ink-soft, var(--ink)); border-color: var(--ink-soft, var(--ink)); }
.staff-matrix .sm-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* ── Table ───────────────────────────────────────────────────────────── */
.staff-matrix .sm-table { width: 100%; }
.staff-matrix .sm-row {
  display: grid;
  grid-template-columns: 1.4fr 1.4fr 1.1fr 0.9fr 1.8fr;
  gap: 14px;
  align-items: start;
  padding: 8px 4px;
  border-bottom: 1px solid var(--hairline);
}
.staff-matrix .sm-row-head {
  border-bottom: 1px solid var(--hairline);
  padding: 0 4px 7px;
  font-size: 9.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint, var(--ink-mute));
}
.staff-matrix .sm-row:last-child { border-bottom: 0; }
.staff-matrix .sm-empty { padding: 22px 4px; color: var(--ink-mute); font-size: 13px; }
.staff-matrix .sm-c { min-width: 0; font-size: 12.5px; }
.staff-matrix .sm-faint { color: var(--ink-faint, var(--ink-mute)); }

/* ── Person — no avatar; name + tight sub-line ───────────────────────── */
.staff-matrix .sm-c-person { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.staff-matrix .sm-name {
  font-family: var(--font-display);
  font-size: 14px;
  line-height: 1.2;
  color: var(--ink);
}
.staff-matrix .sm-sub {
  font-size: 9.5px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-faint, var(--ink-mute));
}
.staff-matrix .sm-name-btn {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  text-align: left;
  border-bottom: 1px solid transparent;
  transition: color 140ms ease, border-color 140ms ease;
}
.staff-matrix .sm-name-btn:hover { color: var(--gold-strong, var(--gold)); border-bottom-color: var(--gold, var(--hairline)); }

/* ── Login ───────────────────────────────────────────────────────────── */
.staff-matrix .sm-login { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.staff-matrix .sm-login-email { font-size: 12.5px; color: var(--ink); }
.staff-matrix .sm-tag {
  font-size: 9.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-mute);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill, 999px);
  padding: 1px 7px;
}
.staff-matrix .sm-tag-stop { color: var(--accent); border-color: var(--accent-line, var(--accent)); }

/* ── Channels — quiet chips; connected = gold dot ────────────────────── */
.staff-matrix .sm-c-chan { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.staff-matrix .sm-chan {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  color: var(--ink-faint, var(--ink-mute));
}
.staff-matrix .sm-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid var(--ink-faint, var(--ink-mute));
}
.staff-matrix .sm-chan.is-on { color: var(--ink); }
.staff-matrix .sm-chan.is-on .sm-dot { background: var(--gold, var(--ink)); border-color: var(--gold, var(--ink)); }

/* Channel label stays bold-ish; the handle that follows is the actually
   actionable bit (the phone/@/email you'd send to). Keep it readable but
   slightly muted so the eye can scan a column of chips quickly. */
.staff-matrix .sm-chan-label { font-weight: 500; }
.staff-matrix .sm-chan-handle {
  margin-left: 4px;
  color: var(--ink-mute, var(--ink-faint));
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum';
}
.staff-matrix .sm-chan.is-on .sm-chan-handle { color: var(--ink); }

/* ── Roles ───────────────────────────────────────────────────────────── */
.staff-matrix .sm-c-roles { display: flex; flex-wrap: wrap; gap: 4px 10px; }
.staff-matrix .sm-role {
  font-size: 11px;
  color: var(--gold-strong, var(--gold));
}
.staff-matrix .sm-role + .sm-role::before { content: ''; }

/* ── Agent access ────────────────────────────────────────────────────── */
.staff-matrix .sm-c-agents { align-content: start; }
/* The full agent roster — one ticked row per agent, two columns when wide. */
.staff-matrix .sm-agent-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 14px;
  align-content: start;
}
.staff-matrix .sm-agent-opt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ink-faint, var(--ink-mute));
}
.staff-matrix .sm-agent-opt.is-on { color: var(--ink); }
.staff-matrix .sm-agent-btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: none;
  padding: 1px 2px;
  margin: 0;
  text-align: left;
  cursor: pointer;
  border-radius: 5px;
  font-family: var(--font-sans);
}
.staff-matrix .sm-agent-btn:hover:not(:disabled) { background: var(--paper-alt, rgba(0, 0, 0, 0.03)); }
.staff-matrix .sm-agent-btn:disabled { opacity: 0.5; cursor: default; }
.staff-matrix .sm-agent-name { white-space: nowrap; }
/* The tick box — empty hairline square off, accent check on. */
.staff-matrix .sm-tick {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  line-height: 1;
  border: 1px solid var(--line, var(--edge, #d8cfb6));
  border-radius: 4px;
  color: transparent;
  background: var(--paper, #fff);
}
.staff-matrix .sm-tick.is-on {
  color: #fff;
  border-color: var(--accent);
  background: var(--accent);
}
.staff-matrix .sm-lvl {
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-faint, var(--ink-mute));
}
.staff-matrix .sm-lvl-admin { color: var(--accent); }
.staff-matrix .sm-lvl-write { color: var(--gold-strong, var(--gold)); }

/* ── Inline login editor ─────────────────────────────────────────────── */
.staff-matrix .sm-select {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink);
  background: var(--paper-alt, var(--paper));
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input, 6px);
  padding: 2px 5px;
  cursor: pointer;
}
.staff-matrix .sm-select-lg { font-size: 13px; padding: 8px 10px; }
.staff-matrix .sm-mini {
  font-family: var(--font-sans);
  font-size: 9.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-mute);
  background: transparent;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill, 999px);
  padding: 2px 8px;
  cursor: pointer;
}
.staff-matrix .sm-mini:hover { border-color: var(--ink-mute); }

/* ── Add-staff composer ──────────────────────────────────────────────── */
.staff-matrix .sm-add {
  border: 1px solid var(--hairline);
  border-left: 3px solid var(--gold, var(--hairline));
  border-radius: var(--radius-card, 8px);
  background: var(--paper-alt, var(--paper));
  padding: 18px;
  margin-bottom: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.staff-matrix .sm-add-row { display: grid; grid-template-columns: 1.4fr 1fr 1.6fr; gap: 10px; }
.staff-matrix .sm-input {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input, 6px);
  padding: 9px 11px;
  outline: none;
}
.staff-matrix .sm-input:focus, .staff-matrix .sm-select-lg:focus { border-color: var(--gold); }
.staff-matrix .sm-add-check { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--ink-soft, var(--ink)); }
.staff-matrix .sm-add-actions { display: flex; align-items: center; gap: 10px; }
.staff-matrix .sm-error { font-size: 12.5px; color: var(--accent); }

/* ── Connect modal ───────────────────────────────────────────────────── */
.staff-matrix .sm-modal-backdrop {
  position: fixed;
  inset: 0;
  background: var(--scrim);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  z-index: 50;
}
.staff-matrix .sm-modal {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card, 10px);
  padding: 28px;
  max-width: 380px;
  width: 100%;
  text-align: center;
}
.staff-matrix .sm-modal-eyebrow { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-strong, var(--gold)); }
.staff-matrix .sm-modal-title { font-family: var(--font-display); font-size: 23px; color: var(--ink); margin: 4px 0 10px; }
.staff-matrix .sm-modal-lede { font-size: 13px; line-height: 1.55; color: var(--ink-mute); margin: 0 0 18px; text-align: left; }
.staff-matrix .sm-modal-status { font-size: 13px; color: var(--ink-mute); padding: 24px 0; }
.staff-matrix .sm-ok { color: var(--ink); }
.staff-matrix .sm-qr { display: flex; justify-content: center; align-items: center; min-height: 200px; margin-bottom: 18px; }
.staff-matrix .sm-qr-img {
  width: 232px;
  height: 232px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input, 8px);
  background: #fff;
  padding: 10px;
}

/* ── Detail drawer ───────────────────────────────────────────────────── */
.staff-matrix .sm-drawer {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card, 10px);
  padding: 28px;
  max-width: 560px;
  width: 100%;
  max-height: 86vh;
  overflow-y: auto;
}
.staff-matrix .sm-drawer-name {
  font-family: var(--font-display);
  font-size: 22px;
  width: 100%;
  margin: 6px 0 4px;
  padding: 6px 10px;
}
.staff-matrix .sm-drawer-login { font-size: 12px; color: var(--ink-mute); margin-bottom: 16px; }
.staff-matrix .sm-field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 14px;
}
.staff-matrix .sm-field { display: flex; flex-direction: column; gap: 5px; }
.staff-matrix .sm-field-label {
  font-size: 9.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.staff-matrix .sm-channels-head { color: var(--gold-strong, var(--gold)); }
.staff-matrix .sm-channels-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 6px 0 10px;
}
.staff-matrix .sm-channels-actions { display: inline-flex; align-items: center; gap: 12px; }
.staff-matrix .sm-connected {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--ink);
}
.staff-matrix .sm-connected .sm-dot { background: var(--gold, var(--ink)); border-color: var(--gold, var(--ink)); }

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (max-width: 1000px) {
  .staff-matrix .sm-row { grid-template-columns: 1.4fr 1.4fr; gap: 10px 16px; }
  .staff-matrix .sm-row-head { display: none; }
  .staff-matrix .sm-c-chan, .staff-matrix .sm-c-roles, .staff-matrix .sm-c-agents { grid-column: span 1; }
  .staff-matrix .sm-agent-list { grid-template-columns: 1fr; }
  .staff-matrix .sm-add-row { grid-template-columns: 1fr; }
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/briefing-hero/briefing-hero.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/open-decisions/open-decisions.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/audit-log/audit-log.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — audit-log
 *
 * A viewer onto the hash-chained audit ledger. Editorial header, an
 * integrity verdict surfaced first, client-side actor/outcome filters, and
 * a hairline-ruled list of events newest-first. Counsel-grade: quiet, dense,
 * legible. Tokens only — no SaaS-bright, no emoji, no Material.
 * ──────────────────────────────────────────────────────────────────────── */

.audit-log {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

/* ── Editorial header ─────────────────────────────────────────────────── */
.audit-log .al-head {
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 16px;
  margin-bottom: 18px;
}
.audit-log .al-title {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--ink);
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin: 4px 0 0;
}
.audit-log .al-lede {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
  line-height: 1.6;
  max-width: 60ch;
  margin: 8px 0 0;
}

/* ── Integrity verdict ────────────────────────────────────────────────── */
.audit-log .al-integrity {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  margin-bottom: 16px;
}
.audit-log .al-integrity.is-ok {
  background: var(--gold-soft);
  border-color: var(--gold);
}
.audit-log .al-integrity.is-broken {
  background: var(--accent-soft);
  border-color: var(--accent-line);
}
.audit-log .al-integrity-mark {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.audit-log .al-integrity.is-ok .al-integrity-mark { background: var(--ok); }
.audit-log .al-integrity.is-broken .al-integrity-mark { background: var(--accent); }
.audit-log .al-integrity-text {
  font-family: var(--font-sans);
  font-size: 12.5px;
  line-height: 1.5;
}
.audit-log .al-integrity.is-ok .al-integrity-text { color: var(--gold-strong); }
.audit-log .al-integrity.is-broken .al-integrity-text { color: var(--accent); }
.audit-log .al-integrity-num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

/* ── Count + filters ──────────────────────────────────────────────────── */
.audit-log .al-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--hairline);
  margin-bottom: 4px;
}
.audit-log .al-count {
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.audit-log .al-count-num {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
.audit-log .al-filters {
  display: flex;
  align-items: center;
  gap: 12px;
}
.audit-log .al-filter-group {
  display: inline-flex;
  gap: 4px;
}
.audit-log .al-filter-rule {
  width: 1px;
  height: 16px;
  background: var(--hairline);
}
.audit-log .al-chip {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-mute);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  padding: 3px 11px;
  cursor: pointer;
}
.audit-log .al-chip:hover { color: var(--ink); }
.audit-log .al-chip.is-on {
  color: var(--gold-strong);
  background: var(--gold-soft);
  border-color: var(--gold);
}

/* ── Event list ───────────────────────────────────────────────────────── */
.audit-log .al-empty {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-faint);
  font-style: italic;
  margin: 14px 0 0;
}
.audit-log .al-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.audit-log .al-row {
  display: grid;
  grid-template-columns: 92px 1fr auto;
  gap: 16px;
  padding: 13px 0;
  border-bottom: 1px solid var(--hairline);
}
.audit-log .al-row:last-child { border-bottom: 0; }

/* ── Timestamp gutter ─────────────────────────────────────────────────── */
.audit-log .al-when {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.audit-log .al-rel {
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.audit-log .al-abs {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}

/* ── Event body ───────────────────────────────────────────────────────── */
.audit-log .al-main { min-width: 0; }
.audit-log .al-line {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.audit-log .al-actor {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
}
.audit-log .al-actor-person {
  color: var(--gold-strong);
  background: var(--gold-soft);
  border-color: var(--gold);
}
.audit-log .al-actor-agent {
  color: var(--ink-soft);
  background: var(--paper-alt);
  border-color: var(--hairline);
}
.audit-log .al-actor-system {
  color: var(--ink-mute);
  background: var(--canvas);
  border-color: var(--hairline);
}
.audit-log .al-actor-label {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}
.audit-log .al-action {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--gold-strong);
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  border-radius: var(--radius-input);
  padding: 1px 7px;
}
.audit-log .al-object {
  font-family: var(--font-sans);
  font-size: 11.5px;
  color: var(--ink-mute);
}
.audit-log .al-object-id {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--ink-mute);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 1px 6px;
}
.audit-log .al-meta {
  font-family: var(--font-sans);
  font-size: 11.5px;
  color: var(--ink-faint);
  line-height: 1.55;
  margin: 5px 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── Outcome + seq side ───────────────────────────────────────────────── */
.audit-log .al-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  text-align: right;
}
.audit-log .al-outcome {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.audit-log .al-outcome.is-fail { color: var(--accent); }
.audit-log .al-seq {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}
.audit-log .al-row.is-failed .al-action {
  color: var(--accent);
  background: var(--accent-soft);
  border-color: var(--accent-line);
}

@media (max-width: 720px) {
  .audit-log { padding: 20px 18px; }
  .audit-log .al-row {
    grid-template-columns: 1fr auto;
    gap: 4px 12px;
  }
  .audit-log .al-when {
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
  }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/embeddings-toggle/embeddings-toggle.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — embeddings-toggle
 *
 * The semantic-search settings card. An editorial on/off switch over the
 * embeddings feature: model, Gemini key state, embedding coverage. Calm,
 * counsel-grade — antique gold for the "on" state, hairline for "off".
 * ──────────────────────────────────────────────────────────────────────── */

.embeddings-toggle {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

/* ── Header ───────────────────────────────────────────────────────────── */
.embeddings-toggle .et-eyebrow {
  margin-bottom: 8px;
}
.embeddings-toggle .et-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 27px;
  font-weight: 400;
  line-height: 1.15;
  color: var(--ink);
}
.embeddings-toggle .et-title .stop {
  color: var(--accent);
}
.embeddings-toggle .et-lede {
  margin: 10px 0 0;
  font-family: var(--font-sans);
  font-size: 13.5px;
  line-height: 1.62;
  color: var(--ink-mute);
  max-width: 56ch;
}

/* ── Switch row ───────────────────────────────────────────────────────── */
.embeddings-toggle .et-switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 20px;
  padding: 16px 18px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
}
.embeddings-toggle .et-switch-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.embeddings-toggle .et-switch-label {
  font-family: var(--font-sans);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink);
}
.embeddings-toggle .et-switch-state {
  font-family: var(--font-sans);
  font-size: 11.5px;
  color: var(--ink-mute);
}

/* ── The switch itself ────────────────────────────────────────────────── */
.embeddings-toggle .et-switch {
  flex-shrink: 0;
  position: relative;
  width: 46px;
  height: 26px;
  padding: 0;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  background: var(--paper);
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease;
}
.embeddings-toggle .et-switch:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.embeddings-toggle .et-switch.is-on {
  background: var(--gold-strong);
  border-color: var(--gold-strong);
}
.embeddings-toggle .et-switch:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}
.embeddings-toggle .et-switch-knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  border-radius: var(--radius-pill);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  box-shadow: var(--shadow-card);
  transition: transform 140ms ease, background 140ms ease;
}
.embeddings-toggle .et-switch.is-on .et-switch-knob {
  transform: translateX(20px);
  background: var(--gold-soft);
  border-color: var(--gold);
}

/* ── Inline error ─────────────────────────────────────────────────────── */
.embeddings-toggle .et-error {
  margin: 10px 0 0;
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--critical);
}

/* ── Status lines ─────────────────────────────────────────────────────── */
.embeddings-toggle .et-status {
  margin: 20px 0 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding-top: 18px;
  border-top: 1px solid var(--hairline);
}
.embeddings-toggle .et-status-row {
  display: flex;
  gap: 16px;
  align-items: baseline;
}
.embeddings-toggle .et-status-row dt {
  flex-shrink: 0;
  width: 132px;
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.embeddings-toggle .et-status-row dd {
  margin: 0;
}
.embeddings-toggle .et-mono {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink);
}
.embeddings-toggle .et-key {
  font-family: var(--font-sans);
  font-size: 12.5px;
}
.embeddings-toggle .et-key.is-connected {
  color: var(--ok);
  font-weight: 600;
}
.embeddings-toggle .et-key.is-absent {
  color: var(--ink-faint);
  font-style: italic;
}
.embeddings-toggle .et-coverage {
  font-family: var(--font-sans);
  font-size: 12.5px;
  color: var(--ink-mute);
}
.embeddings-toggle .et-num {
  font-family: var(--font-mono);
  font-size: 12.5px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.embeddings-toggle .et-coverage-sep {
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}
.embeddings-toggle .et-coverage-unit {
  color: var(--ink-mute);
}

/* ── Quiet callout — no key ───────────────────────────────────────────── */
.embeddings-toggle .et-callout {
  margin: 18px 0 0;
  padding: 12px 14px;
  font-family: var(--font-sans);
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--ink-soft);
  background: var(--gold-soft);
  border: 1px solid var(--hairline);
  border-left: 3px solid var(--gold);
  border-radius: var(--radius-input);
}

@media (max-width: 720px) {
  .embeddings-toggle { padding: 20px 18px; }
  .embeddings-toggle .et-status-row { flex-direction: column; gap: 3px; }
  .embeddings-toggle .et-status-row dt { width: auto; }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/theme-editor/theme-editor.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — theme-editor
 *
 * The /settings/theme surface — DB-driven app-wide theming. An editorial
 * header over a theme picker, the 30-token contract grouped by family,
 * and a sticky live-preview column with the save / activate actions.
 * Calm, counsel-grade — antique gold accents, hairline rules, oxblood
 * for the period and the destructive action.
 * ──────────────────────────────────────────────────────────────────────── */

.theme-editor {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

/* ── Header ───────────────────────────────────────────────────────────── */
.theme-editor .te-head {
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 18px;
}
.theme-editor .te-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-strong);
  margin-bottom: 6px;
}
.theme-editor .te-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: -0.012em;
  line-height: 1.2;
  margin: 0;
}
.theme-editor .te-title .stop {
  color: var(--accent);
}
.theme-editor .te-lede {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.6;
  max-width: 66ch;
  margin: 10px 0 0;
}
.theme-editor .te-code {
  font-family: var(--font-mono);
  font-size: 12px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 1px 5px;
  color: var(--ink-soft);
}

/* ── Alerts ───────────────────────────────────────────────────────────── */
.theme-editor .te-alert {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.55;
  padding: 11px 14px;
  border-radius: var(--radius-input);
  border: 1px solid var(--hairline);
}
.theme-editor .te-alert strong {
  font-weight: 600;
}
.theme-editor .te-alert-critical {
  background: var(--accent-soft);
  border-color: var(--accent-line);
  color: var(--accent);
}
.theme-editor .te-alert-ok {
  background: var(--gold-soft);
  border-color: var(--hairline);
  color: var(--gold-strong);
}

/* ── Theme picker ─────────────────────────────────────────────────────── */
.theme-editor .te-themes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.theme-editor .te-loading {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
}
.theme-editor .te-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  padding: 7px 14px;
  cursor: pointer;
  transition: border-color 120ms ease, background 120ms ease;
}
.theme-editor .te-chip:hover {
  border-color: var(--gold);
}
.theme-editor .te-chip.is-selected {
  border-color: var(--gold);
  background: var(--gold-soft);
  color: var(--ink);
}
.theme-editor .te-chip-name {
  font-weight: 500;
}
.theme-editor .te-chip-flag {
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold-strong);
  border: 1px solid var(--gold);
  border-radius: var(--radius-pill);
  padding: 1px 7px;
}
.theme-editor .te-chip-flag-quiet {
  color: var(--ink-mute);
  border-color: var(--hairline);
}
.theme-editor .te-chip-add {
  border-style: dashed;
  color: var(--gold-strong);
}
.theme-editor .te-chip:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ── Body — two-column editor / preview ──────────────────────────────── */
.theme-editor .te-body {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 32px;
  align-items: start;
}
@media (max-width: 880px) {
  .theme-editor .te-body {
    grid-template-columns: 1fr;
  }
}

/* ── Editor column ────────────────────────────────────────────────────── */
.theme-editor .te-editor-col {
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-width: 0;
}
.theme-editor .te-name-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.theme-editor .te-field-label {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.theme-editor .te-name-input {
  max-width: 320px;
  font-size: 15px;
}

/* ── Light / dark sub-toggle — which token set is being edited ────────── */
.theme-editor .te-mode-toggle {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  background: var(--paper-sunk);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  width: -moz-fit-content;
  width: fit-content;
}
.theme-editor .te-mode-btn {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-mute);
  background: transparent;
  border: none;
  border-radius: var(--radius-pill);
  padding: 6px 18px;
  cursor: pointer;
}
.theme-editor .te-mode-btn:hover {
  color: var(--ink);
}
.theme-editor .te-mode-btn.is-active {
  color: var(--paper);
  background: var(--ink);
}

.theme-editor .te-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.theme-editor .te-group-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 400;
  color: var(--ink);
  margin: 0;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--hairline);
}
.theme-editor .te-token-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.theme-editor .te-token-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 16px;
}
.theme-editor .te-token-label {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
  min-width: 0;
}
.theme-editor .te-token-key {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--ink-faint);
}
.theme-editor .te-token-inputs {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ── Inputs ───────────────────────────────────────────────────────────── */
.theme-editor .te-text-input {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 6px 9px;
  width: 100%;
}
.theme-editor .te-text-input:focus {
  outline: none;
  border-color: var(--gold);
}
.theme-editor .te-text-input-color {
  width: 168px;
}
.theme-editor .te-color-input {
  width: 34px;
  height: 30px;
  padding: 2px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  background: var(--paper);
  cursor: pointer;
  flex: none;
}
.theme-editor .te-color-input::-webkit-color-swatch-wrapper {
  padding: 0;
}
.theme-editor .te-color-input::-webkit-color-swatch {
  border: none;
  border-radius: 2px;
}

/* ── Preview column ───────────────────────────────────────────────────── */
.theme-editor .te-preview-sticky {
  position: sticky;
  top: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.theme-editor .te-preview-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.theme-editor .te-preview-mode {
  font-size: 9px;
  letter-spacing: 0.12em;
  color: var(--ink-mute);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  padding: 1px 8px;
}
.theme-editor .te-preview {
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  overflow: hidden;
}

/* ── Preview sampler — re-themes from inherited custom properties ─────── */
.theme-editor .te-prev-inner {
  background: var(--canvas);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.theme-editor .te-prev-eyebrow {
  font-family: var(--font-sans);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.theme-editor .te-prev-h {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  color: var(--ink);
  line-height: 1.18;
}
.theme-editor .te-prev-stop {
  color: var(--accent);
}
.theme-editor .te-prev-body {
  font-family: var(--font-sans);
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--ink-mute);
  margin: 0;
}
.theme-editor .te-prev-rule {
  height: var(--rule);
  background: var(--hairline);
}
.theme-editor .te-prev-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.theme-editor .te-prev-pill {
  font-family: var(--font-sans);
  font-size: 10.5px;
  font-weight: 600;
  color: var(--gold-strong);
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  border-radius: var(--radius-pill);
  padding: 2px 10px;
}
.theme-editor .te-prev-sig {
  font-family: var(--font-sans);
  font-size: 10.5px;
  font-weight: 600;
  border-radius: var(--radius-pill);
  padding: 2px 10px;
  color: var(--paper);
}
.theme-editor .te-prev-sig-ok {
  background: var(--ok);
}
.theme-editor .te-prev-sig-warn {
  background: var(--warn);
}
.theme-editor .te-prev-sig-crit {
  background: var(--critical);
}
.theme-editor .te-prev-card {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.theme-editor .te-prev-card-label {
  font-family: var(--font-sans);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.theme-editor .te-prev-card-figure {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.theme-editor .te-prev-card-sub {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-faint);
}
.theme-editor .te-prev-mono {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
}

/* ── Actions ──────────────────────────────────────────────────────────── */
.theme-editor .te-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.theme-editor .te-btn {
  font-family: var(--font-sans);
  font-size: 12.5px;
  font-weight: 500;
  color: var(--ink-soft);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 8px 14px;
  cursor: pointer;
  transition: border-color 120ms ease, background 120ms ease;
}
.theme-editor .te-btn:hover:not(:disabled) {
  border-color: var(--gold);
}
.theme-editor .te-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.theme-editor .te-btn-primary {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
.theme-editor .te-btn-primary:hover:not(:disabled) {
  background: var(--ink-soft);
  border-color: var(--ink-soft);
}
.theme-editor .te-btn-accent {
  background: var(--gold-soft);
  border-color: var(--gold);
  color: var(--gold-strong);
}
.theme-editor .te-btn-danger {
  color: var(--accent);
  border-color: var(--accent-line);
}
.theme-editor .te-btn-danger:hover:not(:disabled) {
  background: var(--accent-soft);
  border-color: var(--accent);
}
.theme-editor .te-action-note {
  font-family: var(--font-sans);
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--ink-mute);
  margin: 0;
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/audit-access-matrix/audit-access-matrix.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — audit-access-matrix
 *
 * Extracted from app/src/app/globals.css by scripts/scaffold-block.ts.
 * Edit this file by hand once extraction is done; keep the rules byte-equal
 * to the originals while R2 verifies identical render, then remove the
 * dupes from globals.css.
 * ──────────────────────────────────────────────────────────────────────── */

.audit-row { display: grid; grid-template-columns: 110px 200px 1fr 130px;
  gap: 16px; padding: 10px 0; align-items: baseline;
  border-top: 1px solid var(--hairline-soft);
  font-family: var(--font-sans); font-size: 12.5px; }
.audit-row:first-child { border-top: 0; }
.audit-row .ts { color: var(--ink-mute); font-variant-numeric: tabular-nums; font-size: 11px; }
.audit-row .actor { color: var(--ink); }
.audit-row .actor.is-agent { color: var(--gold-strong); font-weight: 600; }
.audit-row .verb { font-weight: 500; color: var(--ink-soft); }
.audit-row .target { font-family: var(--font-mono); font-size: 11px; color: var(--ink-mute); }
.audit-row .right { text-align: right; color: var(--ink-mute); font-size: 11px; }
.access-matrix { width: 100%; border-collapse: separate; border-spacing: 0;
  font-family: var(--font-sans);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  overflow: hidden;
  background: var(--paper); }
.access-matrix th, .access-matrix td { padding: 9px 10px;
  border-bottom: 1px solid var(--hairline-soft);
  text-align: center; font-size: 11.5px; }
.access-matrix thead th { font-size: 10px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-mute); background: var(--paper-alt);
  border-bottom: 1px solid var(--hairline); }
.access-matrix tbody th { text-align: left;
  font-family: var(--font-sans); font-weight: 500; color: var(--ink); }
.access-matrix .cell-allow { color: var(--ok); font-weight: 600; }
.access-matrix .cell-read  { color: var(--ink-mute); }
.access-matrix .cell-deny  { color: var(--offline); }
.access-matrix .cell-approve { color: var(--gold-strong); font-weight: 600; }
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/prompts-admin/prompts-admin.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — prompts-admin
 *
 * The /settings/prompts surface — versioned system prompts. Editorial
 * header over a "New prompt" composer and a list of collapsible slug rows,
 * each expanding into its version history.
 * ──────────────────────────────────────────────────────────────────────── */

.prompts-admin {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

/* ── Header ────────────────────────────────────────────────────────────── */
.prompts-admin .pa-head {
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 18px;
}
.prompts-admin .pa-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.prompts-admin .pa-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: -0.012em;
  line-height: 1.2;
  margin: 6px 0 0;
}
.prompts-admin .pa-stop {
  color: var(--accent);
}
.prompts-admin .pa-lede {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.6;
  max-width: 64ch;
  margin: 10px 0 0;
}
.prompts-admin .pa-code {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 1px 5px;
}

/* ── Alert ─────────────────────────────────────────────────────────────── */
.prompts-admin .pa-alert {
  font-family: var(--font-sans);
  font-size: 13px;
  border-radius: var(--radius-card);
  padding: 12px 16px;
}
.prompts-admin .pa-alert-critical {
  color: var(--critical);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
}

/* ── Toolbar ───────────────────────────────────────────────────────────── */
.prompts-admin .pa-toolbar {
  display: flex;
  justify-content: flex-end;
}

/* ── Buttons ───────────────────────────────────────────────────────────── */
.prompts-admin .pa-btn {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  border-radius: var(--radius-input);
  padding: 8px 14px;
  cursor: pointer;
  transition: opacity 0.12s ease;
}
.prompts-admin .pa-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.prompts-admin .pa-btn-primary {
  color: var(--paper);
  background: var(--ink);
  border: 1px solid var(--ink);
}
.prompts-admin .pa-btn-secondary {
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
}
.prompts-admin .pa-btn-ghost {
  color: var(--ink-soft);
  background: transparent;
  border: 1px solid transparent;
  padding: 4px 8px;
}
.prompts-admin .pa-btn-ghost:hover {
  background: var(--paper-alt);
}

/* ── Empty / muted ─────────────────────────────────────────────────────── */
.prompts-admin .pa-empty {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink-mute);
  text-align: center;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 32px;
}
.prompts-admin .pa-muted {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
}

/* ── Slug list ─────────────────────────────────────────────────────────── */
.prompts-admin .pa-list {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  overflow: hidden;
}
.prompts-admin .pa-slug + .pa-slug {
  border-top: 1px solid var(--hairline);
}
.prompts-admin .pa-slug-head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}
.prompts-admin .pa-slug-head:hover {
  background: var(--paper-alt);
}
.prompts-admin .pa-chevron {
  color: var(--ink-faint);
  font-size: 11px;
  flex-shrink: 0;
}
.prompts-admin .pa-slug-name {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--ink);
}
.prompts-admin .pa-slug-meta {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-mute);
}

/* ── Pills ─────────────────────────────────────────────────────────────── */
.prompts-admin .pa-pill {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: var(--radius-pill);
  padding: 2px 9px;
}
.prompts-admin .pa-pill-ok {
  color: var(--ok);
  background: var(--status-ok-wash);
  border: 1px solid var(--status-ok-tint);
}

/* ── Slug body / versions ──────────────────────────────────────────────── */
.prompts-admin .pa-slug-body {
  padding: 0 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.prompts-admin .pa-versions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.prompts-admin .pa-version {
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  background: var(--paper-alt);
  padding: 12px 16px;
}
.prompts-admin .pa-version-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.prompts-admin .pa-version-num {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
}
.prompts-admin .pa-version-label {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-mute);
}
.prompts-admin .pa-version-vars {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-faint);
}
.prompts-admin .pa-version-body {
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--ink-soft);
  white-space: pre-wrap;
  line-height: 1.55;
  margin: 0;
}

/* ── Form ──────────────────────────────────────────────────────────────── */
.prompts-admin .pa-form {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.prompts-admin .pa-form-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.prompts-admin .pa-input {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 9px 12px;
  width: 100%;
  resize: vertical;
}
.prompts-admin .pa-input:focus {
  outline: none;
  border-color: var(--gold);
}
.prompts-admin .pa-input.pa-mono {
  font-family: var(--font-mono);
  font-size: 12.5px;
  line-height: 1.55;
}
.prompts-admin .pa-detected {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-faint);
}
.prompts-admin .pa-err {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--critical);
}
.prompts-admin .pa-form-foot {
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 720px) {
  .prompts-admin .pa-slug-head { padding: 12px 14px; }
  .prompts-admin .pa-slug-body { padding: 0 14px 16px; }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/integrations-admin/integrations-admin.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — integrations-admin
 *
 * The /settings/integrations surface. Editorial header, a four-cell status
 * summary, a stack of integration cards each with a connect rail, and a
 * closing note on credential storage.
 * ──────────────────────────────────────────────────────────────────────── */

.integrations-admin {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* ── Header ────────────────────────────────────────────────────────────── */
.integrations-admin .ia-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.integrations-admin .ia-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: -0.012em;
  line-height: 1.2;
  margin: 6px 0 0;
}
.integrations-admin .ia-stop {
  color: var(--accent);
}
.integrations-admin .ia-lede {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.6;
  max-width: 64ch;
  margin: 10px 0 0;
}
.integrations-admin .ia-code {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 1px 5px;
}

/* ── Alert ─────────────────────────────────────────────────────────────── */
.integrations-admin .ia-alert {
  font-family: var(--font-sans);
  font-size: 13px;
  border-radius: var(--radius-card);
  padding: 12px 16px;
}
.integrations-admin .ia-alert-critical {
  color: var(--critical);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
}

/* ── Summary grid ──────────────────────────────────────────────────────── */
.integrations-admin .ia-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.integrations-admin .ia-summary {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 18px 20px;
}
.integrations-admin .ia-summary-label {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.integrations-admin .ia-summary-figure {
  font-family: var(--font-display);
  font-size: 32px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  margin-top: 6px;
}
.integrations-admin .ia-summary-figure.is-critical {
  color: var(--critical);
}
.integrations-admin .ia-summary-sub {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);
  margin-top: 6px;
}

/* ── Cards ─────────────────────────────────────────────────────────────── */
.integrations-admin .ia-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.integrations-admin .ia-card {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 24px;
}
.integrations-admin .ia-card-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 24px;
}
.integrations-admin .ia-card-main {
  min-width: 0;
}
.integrations-admin .ia-card-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.integrations-admin .ia-micro-gold {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.integrations-admin .ia-micro-faint {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.integrations-admin .ia-card-name {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: -0.012em;
  margin: 8px 0 0;
}
.integrations-admin .ia-card-role {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.6;
  max-width: 68ch;
  margin: 8px 0 0;
}
.integrations-admin .ia-vendors {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 16px;
}
.integrations-admin .ia-tag {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-soft);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 2px 8px;
}
.integrations-admin .ia-rule {
  height: 1px;
  background: var(--hairline);
  margin: 20px 0;
}
.integrations-admin .ia-section-label {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 12px;
}
.integrations-admin .ia-needs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.integrations-admin .ia-need {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1.6;
}
.integrations-admin .ia-need-label {
  color: var(--ink);
  font-weight: 600;
}
.integrations-admin .ia-need-detail {
  color: var(--ink-mute);
}
.integrations-admin .ia-need-where {
  color: var(--ink-faint);
}

/* ── Live rows ─────────────────────────────────────────────────────────── */
.integrations-admin .ia-rows {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.integrations-admin .ia-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.integrations-admin .ia-row-main {
  min-width: 0;
}
.integrations-admin .ia-row-label {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.integrations-admin .ia-row-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-mute);
  margin-top: 2px;
}
.integrations-admin .ia-row-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* ── Card rail ─────────────────────────────────────────────────────────── */
.integrations-admin .ia-card-rail {
  border-left: 1px solid var(--hairline);
  padding-left: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.integrations-admin .ia-builtin {
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 14px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
}
.integrations-admin .ia-rail-rows {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-faint);
  line-height: 1.6;
}
.integrations-admin .ia-rail-rows strong {
  color: var(--ink-mute);
}

/* ── Buttons ───────────────────────────────────────────────────────────── */
.integrations-admin .ia-btn {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  border-radius: var(--radius-input);
  padding: 9px 14px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  transition: opacity 0.12s ease;
}
.integrations-admin .ia-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.integrations-admin .ia-btn-primary {
  color: var(--paper);
  background: var(--ink);
  border: 1px solid var(--ink);
}
.integrations-admin .ia-btn-secondary {
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
}
.integrations-admin .ia-btn-ghost {
  color: var(--ink-soft);
  background: transparent;
  border: 1px solid transparent;
  padding: 4px 8px;
}
.integrations-admin .ia-btn-ghost:hover {
  background: var(--paper-alt);
}

/* ── Pills ─────────────────────────────────────────────────────────────── */
.integrations-admin .ia-pill {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: var(--radius-pill);
  padding: 2px 9px;
}
.integrations-admin .ia-pill-ok {
  color: var(--ok);
  background: var(--status-ok-wash);
  border: 1px solid var(--status-ok-tint);
}
.integrations-admin .ia-pill-warn {
  color: var(--warn);
  background: var(--status-warn-wash);
  border: 1px solid var(--status-warn-tint);
}
.integrations-admin .ia-pill-critical {
  color: var(--critical);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
}
.integrations-admin .ia-pill-info {
  color: var(--gold-strong);
  background: var(--gold-soft);
  border: 1px solid var(--hairline);
}
.integrations-admin .ia-pill-neutral {
  color: var(--ink-mute);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
}
.integrations-admin .ia-pill-offline {
  color: var(--ink-faint);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
}

/* ── Closing note ──────────────────────────────────────────────────────── */
.integrations-admin .ia-note {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 20px;
}
.integrations-admin .ia-note-mark {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-input);
  background: var(--gold-soft);
  color: var(--gold-strong);
  font-family: var(--font-display);
  font-size: 20px;
}
.integrations-admin .ia-note-body {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1.6;
}
.integrations-admin .ia-note-title {
  color: var(--ink);
  font-weight: 600;
  margin-bottom: 4px;
}

@media (max-width: 860px) {
  .integrations-admin .ia-summary-grid { grid-template-columns: repeat(2, 1fr); }
  .integrations-admin .ia-card-grid { grid-template-columns: 1fr; }
  .integrations-admin .ia-card-rail {
    border-left: none;
    border-top: 1px solid var(--hairline);
    padding-left: 0;
    padding-top: 16px;
  }
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/mcp-admin/mcp-admin.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — mcp-admin
 *
 * The /settings/mcp surface. Editorial header, stat strip, connected-server
 * cards, available-server grid, and a field-mapping inspector drawer.
 * ──────────────────────────────────────────────────────────────────────── */

.mcp-admin {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* ── Header ────────────────────────────────────────────────────────────── */
.mcp-admin .mca-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.mcp-admin .mca-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: -0.012em;
  line-height: 1.2;
  margin: 6px 0 0;
}
.mcp-admin .mca-stop {
  color: var(--accent);
}
.mcp-admin .mca-lede {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.6;
  max-width: 64ch;
  margin: 10px 0 0;
}
.mcp-admin .mca-code {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 1px 5px;
}

/* ── Stat strip ────────────────────────────────────────────────────────── */
.mcp-admin .mca-stat-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.mcp-admin .mca-stat {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 18px 20px;
}
.mcp-admin .mca-stat-label {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.mcp-admin .mca-stat-figure {
  font-family: var(--font-display);
  font-size: 28px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  margin-top: 8px;
}
.mcp-admin .mca-stat-figure.is-warn {
  color: var(--warn);
}
.mcp-admin .mca-stat-sub {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);
  margin-top: 8px;
}

/* ── Section ───────────────────────────────────────────────────────────── */
.mcp-admin .mca-section-eyebrow {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-family: var(--font-sans);
}
.mcp-admin .mca-num {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--gold-strong);
  font-weight: 600;
}
.mcp-admin .mca-section-name {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  color: var(--ink);
}
.mcp-admin .mca-card-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
}
.mcp-admin .mca-available-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 24px;
}

/* ── Card ──────────────────────────────────────────────────────────────── */
.mcp-admin .mca-card {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 24px;
}
.mcp-admin .mca-card-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.mcp-admin .mca-card-main {
  min-width: 0;
  flex: 1;
}
.mcp-admin .mca-card-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.mcp-admin .mca-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  display: inline-block;
}
.mcp-admin .mca-dot-faint {
  background: var(--ink-faint);
}
.mcp-admin .mca-micro-gold {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.mcp-admin .mca-micro {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.mcp-admin .mca-card-name {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: -0.012em;
  margin: 8px 0 0;
}
.mcp-admin .mca-card-name-sm {
  font-size: 20px;
}
.mcp-admin .mca-meta-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 12px;
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);
}
.mcp-admin .mca-meta-strip strong {
  color: var(--ink);
}
.mcp-admin .mca-num-inline {
  font-variant-numeric: tabular-nums;
}
.mcp-admin .mca-feeds {
  margin-top: 20px;
}
.mcp-admin .mca-section-label {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: 8px;
}
.mcp-admin .mca-feeds-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.mcp-admin .mca-feed-link {
  text-decoration: none;
}
.mcp-admin .mca-feed-link:hover {
  background: var(--gold-soft);
}

/* ── Card rail ─────────────────────────────────────────────────────────── */
.mcp-admin .mca-card-rail {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 180px;
}
.mcp-admin .mca-rail-note {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-faint);
  margin-top: 4px;
}

/* ── Available card ────────────────────────────────────────────────────── */
.mcp-admin .mca-available-card {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 20px;
  opacity: 0.82;
}
.mcp-admin .mca-available-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.mcp-admin .mca-available-reason {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
  line-height: 1.6;
  max-width: 44ch;
  margin: 8px 0 0;
}

/* ── Buttons ───────────────────────────────────────────────────────────── */
.mcp-admin .mca-btn {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  border-radius: var(--radius-input);
  padding: 8px 14px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  transition: opacity 0.12s ease;
}
.mcp-admin .mca-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.mcp-admin .mca-btn-ink {
  color: var(--paper);
  background: var(--ink);
  border: 1px solid var(--ink);
}
.mcp-admin .mca-btn-secondary {
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
}
.mcp-admin .mca-btn-ghost {
  color: var(--ink-soft);
  background: transparent;
  border: 1px solid transparent;
}
.mcp-admin .mca-btn-ghost:hover {
  background: var(--paper-alt);
}
.mcp-admin .mca-btn-danger {
  color: var(--critical);
}
.mcp-admin .mca-btn-icon {
  padding: 6px 10px;
}

/* ── Pills ─────────────────────────────────────────────────────────────── */
.mcp-admin .mca-pill {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: var(--radius-pill);
  padding: 2px 9px;
}
.mcp-admin .mca-pill-ok {
  color: var(--ok);
  background: var(--status-ok-wash);
  border: 1px solid var(--status-ok-tint);
}
.mcp-admin .mca-pill-warn {
  color: var(--warn);
  background: var(--status-warn-wash);
  border: 1px solid var(--status-warn-tint);
}
.mcp-admin .mca-pill-critical {
  color: var(--critical);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
}
.mcp-admin .mca-pill-info {
  color: var(--gold-strong);
  background: var(--gold-soft);
  border: 1px solid var(--hairline);
}
.mcp-admin .mca-pill-neutral {
  color: var(--ink-mute);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
}
.mcp-admin .mca-pill-offline {
  color: var(--ink-faint);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
}

/* ── Alert ─────────────────────────────────────────────────────────────── */
.mcp-admin .mca-alert {
  font-family: var(--font-sans);
  font-size: 12.5px;
  border-radius: var(--radius-input);
  padding: 10px 14px;
  margin-top: 16px;
}
.mcp-admin .mca-alert-warn {
  color: var(--warn);
  background: var(--status-warn-wash);
  border: 1px solid var(--status-warn-tint);
}

/* ── Closing note ──────────────────────────────────────────────────────── */
.mcp-admin .mca-note {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 20px;
}
.mcp-admin .mca-note-mark {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-input);
  background: var(--gold-soft);
  color: var(--gold-strong);
  font-family: var(--font-display);
  font-size: 20px;
}
.mcp-admin .mca-note-body {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1.6;
}
.mcp-admin .mca-note-title {
  color: var(--ink);
  font-weight: 600;
  margin-bottom: 4px;
}
.mcp-admin .mca-muted {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
  padding: 24px;
}
.mcp-admin .mca-faint {
  color: var(--ink-faint);
}

/* ── Drawer ────────────────────────────────────────────────────────────── */
.mcp-admin .mca-drawer-scrim {
  position: fixed;
  inset: 0;
  background: var(--scrim);
  display: flex;
  justify-content: flex-end;
  z-index: 60;
}
.mcp-admin .mca-drawer {
  width: min(880px, 92vw);
  height: 100%;
  background: var(--canvas);
  border-left: 1px solid var(--hairline);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.mcp-admin .mca-drawer-head {
  padding: 24px;
  border-bottom: 1px solid var(--hairline);
  background: var(--paper);
}
.mcp-admin .mca-drawer-head-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.mcp-admin .mca-drawer-title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: -0.012em;
  margin: 4px 0 0;
}
.mcp-admin .mca-drawer-lede {
  font-family: var(--font-sans);
  font-size: 12.5px;
  color: var(--ink-mute);
  line-height: 1.6;
  max-width: 58ch;
  margin: 12px 0 0;
}
.mcp-admin .mca-drawer-body {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* ── Mapping section ───────────────────────────────────────────────────── */
.mcp-admin .mca-mapping-section {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 18px 20px;
}
.mcp-admin .mca-mapping-head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.mcp-admin .mca-mapping-fn {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-mute);
}
.mcp-admin .mca-mapping-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--ink);
  margin: 0 0 12px;
}
.mcp-admin .mca-mapping-table {
  display: flex;
  flex-direction: column;
}
.mcp-admin .mca-mapping-row {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr) minmax(0, 0.55fr) minmax(0, 0.75fr);
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--hairline);
  align-items: start;
}
.mcp-admin .mca-mapping-row > * { min-width: 0; }
.mcp-admin .mca-mapping-row-head {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint);
  align-items: center;
}
.mcp-admin .mca-mapping-path {
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--ink-soft);
  display: block;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
  line-height: 1.55;
}
.mcp-admin .mca-mapping-field {
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--ink);
  display: block;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
  line-height: 1.55;
}
.mcp-admin .mca-mapping-transform {
  font-size: 11.5px;
}
.mcp-admin .mca-transform-name {
  color: var(--gold-strong);
  font-family: var(--font-display);
}
.mcp-admin .mca-mapping-notes {
  font-family: var(--font-sans);
  font-size: 11.5px;
  color: var(--ink-mute);
  padding: 6px 0 8px;
  line-height: 1.55;
}
.mcp-admin .mca-mapping-link {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
  margin-top: 12px;
  display: inline-block;
}
.mcp-admin .mca-mapping-link:hover {
  color: var(--gold-strong);
}

@media (max-width: 860px) {
  .mcp-admin .mca-stat-strip { grid-template-columns: repeat(2, 1fr); }
  .mcp-admin .mca-available-grid { grid-template-columns: 1fr; }
  .mcp-admin .mca-mapping-row { grid-template-columns: 1fr; gap: 4px; }
}

/* ── Clickable card (opens the configure modal) ─────────────────────── */

.mcp-admin .mca-card-clickable {
  cursor: pointer;
  transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}
.mcp-admin .mca-card-clickable:hover {
  border-color: var(--gold-300, var(--ink-soft));
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.06);
}
.mcp-admin .mca-card-clickable:focus-visible {
  outline: none;
  border-color: var(--gold-500, var(--ink));
  box-shadow: 0 0 0 3px rgba(166, 130, 48, 0.18);
}

/* ── Configure modal (centered, dim backdrop) ───────────────────────── */

.mcp-admin .mca-modal-scrim {
  position: fixed;
  inset: 0;
  background: var(--scrim);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  z-index: 70;
  animation: mcaModalScrimIn 140ms ease-out;
}
.mcp-admin .mca-modal {
  position: relative;
  width: min(1280px, calc(100vw - 64px));
  max-height: calc(100vh - 64px);
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.18), 0 2px 6px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: mcaModalIn 180ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.mcp-admin .mca-modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  z-index: 1;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--ink-soft, var(--ink));
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}
.mcp-admin .mca-modal-close:hover {
  background: var(--paper);
  border-color: var(--hairline);
  color: var(--ink);
}
.mcp-admin .mca-modal-close:focus-visible {
  outline: none;
  border-color: var(--gold-500, var(--ink));
  box-shadow: 0 0 0 3px rgba(166, 130, 48, 0.18);
}
.mcp-admin .mca-modal-body {
  overflow-y: auto;
  padding: 36px 40px;
  background: var(--canvas);
}
@keyframes mcaModalScrimIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes mcaModalIn {
  from { opacity: 0; transform: translateY(8px) scale(0.985); }
  to   { opacity: 1; transform: translateY(0)  scale(1);      }
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/providers-admin/providers-admin.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — providers-admin
 *
 * The /settings/ai-providers surface. Editorial header over a list of
 * collapsible provider rows; each expands into its credential keys and a
 * connect form carrying the full API-key + OAuth flows.
 * ──────────────────────────────────────────────────────────────────────── */

.providers-admin {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

/* ── Header ────────────────────────────────────────────────────────────── */
.providers-admin .pra-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.providers-admin .pra-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: -0.012em;
  line-height: 1.2;
  margin: 6px 0 0;
}
.providers-admin .pra-stop {
  color: var(--accent);
}
.providers-admin .pra-lede {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.6;
  max-width: 64ch;
  margin: 10px 0 0;
}

/* ── Alert / footnote ──────────────────────────────────────────────────── */
.providers-admin .pra-alert {
  font-family: var(--font-sans);
  font-size: 13px;
  border-radius: var(--radius-card);
  padding: 12px 16px;
}
.providers-admin .pra-alert-critical {
  color: var(--critical);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
}
.providers-admin .pra-footnote {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-faint);
  line-height: 1.6;
}
.providers-admin .pra-empty {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink-mute);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 32px;
}

/* ── Provider list ─────────────────────────────────────────────────────── */
.providers-admin .pra-list {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  overflow: hidden;
}
.providers-admin .pra-provider + .pra-provider {
  border-top: 1px solid var(--hairline);
}
.providers-admin .pra-provider-head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}
.providers-admin .pra-provider-head:hover {
  background: var(--paper-alt);
}
.providers-admin .pra-chevron {
  color: var(--ink-faint);
  font-size: 11px;
  flex-shrink: 0;
}
.providers-admin .pra-provider-sub {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);
}
.providers-admin .pra-provider-tail {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}
.providers-admin .pra-count {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-mute);
}

/* ── Provider badge ────────────────────────────────────────────────────── */
.providers-admin .pra-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}
.providers-admin .pra-badge-mark {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-input);
  font-family: var(--font-display);
  font-size: 12px;
  color: var(--paper);
}
.providers-admin .pra-badge-claude .pra-badge-mark {
  background: var(--accent);
}
.providers-admin .pra-badge-openai .pra-badge-mark {
  background: var(--ink);
}
.providers-admin .pra-badge-gemini .pra-badge-mark {
  background: var(--gold-strong);
}

/* ── Provider body ─────────────────────────────────────────────────────── */
.providers-admin .pra-provider-body {
  padding: 0 20px 20px;
}
.providers-admin .pra-keys {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}

/* ── Key row ───────────────────────────────────────────────────────────── */
.providers-admin .pra-key {
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  background: var(--paper-alt);
  padding: 12px 16px;
}
.providers-admin .pra-key-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.providers-admin .pra-key-label {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}
.providers-admin .pra-key-hint {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-mute);
}
.providers-admin .pra-key-meta {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-mute);
}
.providers-admin .pra-key-actions {
  margin-left: auto;
  display: flex;
  gap: 4px;
}
.providers-admin .pra-key-error {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--critical);
  margin-top: 8px;
}
.providers-admin .pra-key-test {
  font-family: var(--font-sans);
  font-size: 12px;
  margin-top: 8px;
}
.providers-admin .pra-key-test-ok {
  color: var(--ok);
}
.providers-admin .pra-key-test-fail {
  color: var(--critical);
}
.providers-admin .pra-key-test-pending {
  color: var(--ink-mute);
}

/* ── Pills ─────────────────────────────────────────────────────────────── */
.providers-admin .pra-pill {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: var(--radius-pill);
  padding: 2px 9px;
}
.providers-admin .pra-pill-ok {
  color: var(--ok);
  background: var(--status-ok-wash);
  border: 1px solid var(--status-ok-tint);
}
.providers-admin .pra-pill-warn {
  color: var(--warn);
  background: var(--status-warn-wash);
  border: 1px solid var(--status-warn-tint);
}
.providers-admin .pra-pill-critical {
  color: var(--critical);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
}
.providers-admin .pra-pill-info {
  color: var(--gold-strong);
  background: var(--gold-soft);
  border: 1px solid var(--hairline);
}
.providers-admin .pra-pill-neutral {
  color: var(--ink-mute);
  background: var(--paper);
  border: 1px solid var(--hairline);
}
.providers-admin .pra-pill-offline {
  color: var(--ink-faint);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
}

/* ── Buttons ───────────────────────────────────────────────────────────── */
.providers-admin .pra-btn {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  border-radius: var(--radius-input);
  padding: 8px 14px;
  cursor: pointer;
  text-align: center;
  transition: opacity 0.12s ease;
}
.providers-admin .pra-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.providers-admin .pra-btn-sm {
  padding: 6px 12px;
}
.providers-admin .pra-btn-primary {
  color: var(--paper);
  background: var(--ink);
  border: 1px solid var(--ink);
}
.providers-admin .pra-btn-secondary {
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
}
.providers-admin .pra-btn-ghost {
  color: var(--ink-soft);
  background: transparent;
  border: 1px solid transparent;
  padding: 4px 8px;
}
.providers-admin .pra-btn-ghost:hover {
  background: var(--paper);
}

/* ── Connect form ──────────────────────────────────────────────────────── */
.providers-admin .pra-connect {
  border-top: 1px solid var(--hairline);
  padding-top: 16px;
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.providers-admin .pra-connect-head {
  display: flex;
  align-items: center;
  gap: 12px;
}
.providers-admin .pra-connect-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.providers-admin .pra-method-toggle {
  margin-left: auto;
  display: flex;
  gap: 4px;
}
.providers-admin .pra-connect-row {
  display: flex;
  gap: 12px;
  align-items: center;
}
.providers-admin .pra-connect-row .pra-input {
  flex: 1;
}
.providers-admin .pra-checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
  white-space: nowrap;
}
.providers-admin .pra-input {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 9px 12px;
  width: 100%;
}
.providers-admin .pra-input:focus {
  outline: none;
  border-color: var(--gold);
}
.providers-admin .pra-input.pra-mono {
  font-family: var(--font-mono);
  font-size: 13px;
}
.providers-admin .pra-key-input {
  position: relative;
}
.providers-admin .pra-key-input .pra-input {
  padding-right: 56px;
}
.providers-admin .pra-reveal {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
}
.providers-admin .pra-connect-note {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);
  line-height: 1.6;
  margin: 0;
}
.providers-admin .pra-link {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: var(--gold);
}
.providers-admin .pra-link:hover {
  text-decoration-color: var(--gold-strong);
}
.providers-admin .pra-err {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--critical);
}
.providers-admin .pra-connect-foot {
  display: flex;
  justify-content: flex-end;
}
.providers-admin .pra-connect-foot-pair {
  gap: 8px;
}
.providers-admin .pra-mono {
  font-family: var(--font-mono);
}
.providers-admin .pra-faint {
  color: var(--ink-faint);
}

/* ── OAuth step ────────────────────────────────────────────────────────── */
.providers-admin .pra-oauth-step {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.providers-admin .pra-device-code {
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  background: var(--paper-alt);
  padding: 16px;
  text-align: center;
}
.providers-admin .pra-device-code-value {
  font-family: var(--font-mono);
  font-size: 22px;
  letter-spacing: 0.18em;
  color: var(--ink);
}
.providers-admin .pra-device-code-label {
  font-family: var(--font-sans);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--ink-mute);
  margin-top: 8px;
}
.providers-admin .pra-device-status {
  font-family: var(--font-sans);
  font-size: 12.5px;
  color: var(--ink-mute);
}

@media (max-width: 720px) {
  .providers-admin .pra-provider-head { padding: 12px 14px; }
  .providers-admin .pra-provider-body { padding: 0 14px 16px; }
  .providers-admin .pra-connect-row { flex-direction: column; align-items: stretch; }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/mattermost-config/mattermost-config.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — mattermost-config
 * ──────────────────────────────────────────────────────────────────────── */

.mattermost-config {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* ── Header ────────────────────────────────────────────────────────────── */
.mattermost-config .mm-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.mattermost-config .mm-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: -0.012em;
  line-height: 1.2;
  margin: 6px 0 0;
}
.mattermost-config .mm-stop { color: var(--accent); }
.mattermost-config .mm-lede {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.6;
  max-width: 64ch;
  margin: 10px 0 0;
}

/* ── Stat strip ────────────────────────────────────────────────────────── */
.mattermost-config .mm-stat-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.mattermost-config .mm-stat {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 18px 20px;
}
.mattermost-config .mm-stat-label {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.mattermost-config .mm-stat-figure {
  font-family: var(--font-display);
  font-size: 28px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  margin-top: 8px;
}
.mattermost-config .mm-stat-figure.is-ok   { color: var(--ok); }
.mattermost-config .mm-stat-figure.is-warn { color: var(--warn); }
.mattermost-config .mm-stat-sub {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);
  margin-top: 8px;
}

/* ── Status strip ──────────────────────────────────────────────────────── */
.mattermost-config .mm-status-strip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
}
.mattermost-config .mm-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.mattermost-config .mm-status-label {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--ink);
  flex: 1;
}
.mattermost-config .mm-status-meta {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);
}
.mattermost-config .mm-status-actions {
  display: flex;
  gap: 8px;
  margin-left: auto;
}

/* ── Section ───────────────────────────────────────────────────────────── */
.mattermost-config .mm-section {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.mattermost-config .mm-section-eyebrow {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-family: var(--font-sans);
}
.mattermost-config .mm-num {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--gold-strong);
}
.mattermost-config .mm-section-name {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  color: var(--ink);
}
.mattermost-config .mm-section-note {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1.6;
  max-width: 60ch;
}

/* ── Form ──────────────────────────────────────────────────────────────── */
.mattermost-config .mm-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 560px;
}
.mattermost-config .mm-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mattermost-config .mm-field-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.mattermost-config .mm-input {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 9px 12px;
  outline: none;
  transition: border-color 120ms;
}
.mattermost-config .mm-input:focus { border-color: var(--accent); }
.mattermost-config .mm-input-secret { letter-spacing: 0.06em; }
.mattermost-config .mm-field-hint {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-faint);
  line-height: 1.5;
}
.mattermost-config .mm-form-actions {
  display: flex;
  gap: 10px;
}

/* ── Buttons ───────────────────────────────────────────────────────────── */
.mattermost-config .mm-btn {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  border-radius: var(--radius-input);
  padding: 8px 14px;
  cursor: pointer;
  text-align: center;
  display: inline-block;
  transition: opacity 0.12s ease;
  white-space: nowrap;
}
.mattermost-config .mm-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.mattermost-config .mm-btn-ink {
  color: var(--paper);
  background: var(--ink);
  border: 1px solid var(--ink);
}
.mattermost-config .mm-btn-secondary {
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
}
.mattermost-config .mm-btn-ghost {
  color: var(--ink-soft);
  background: transparent;
  border: 1px solid transparent;
}
.mattermost-config .mm-btn-ghost:hover { background: var(--paper-alt); }
.mattermost-config .mm-btn-danger {
  color: var(--critical);
  background: transparent;
  border: 1px solid color-mix(in srgb, var(--critical) 30%, transparent);
  border-radius: var(--radius-input);
}

/* ── Pills ─────────────────────────────────────────────────────────────── */
.mattermost-config .mm-pill {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: var(--radius-pill);
  padding: 2px 9px;
  white-space: nowrap;
}
.mattermost-config .mm-pill-ok {
  color: var(--ok);
  background: var(--status-ok-wash);
  border: 1px solid var(--status-ok-tint);
}
.mattermost-config .mm-pill-warn {
  color: var(--warn);
  background: var(--status-warn-wash);
  border: 1px solid var(--status-warn-tint);
}
.mattermost-config .mm-pill-neutral {
  color: var(--ink-mute);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
}
.mattermost-config .mm-pill-kind-runtime {
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
}
.mattermost-config .mm-pill-kind-alerts {
  color: var(--critical);
  background: color-mix(in srgb, var(--critical) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--critical) 20%, transparent);
}
.mattermost-config .mm-pill-kind-general,
.mattermost-config .mm-pill-kind-dm {
  color: var(--ink-mute);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
}
.mattermost-config .mm-pill-kind-person {
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
}
.mattermost-config .mm-pill-kind-agent {
  color: var(--gold-strong);
  background: var(--gold-soft);
  border: 1px solid var(--hairline);
}
.mattermost-config .mm-pill-agent {
  color: var(--gold-strong);
  background: var(--gold-soft);
  border: 1px solid var(--hairline);
  font-size: 10px;
  padding: 2px 6px;
}

/* ── Alert ─────────────────────────────────────────────────────────────── */
.mattermost-config .mm-alert {
  font-family: var(--font-sans);
  font-size: 12.5px;
  border-radius: var(--radius-input);
  padding: 10px 14px;
  line-height: 1.5;
}
.mattermost-config .mm-alert-ok {
  color: var(--ok);
  background: var(--status-ok-wash);
  border: 1px solid var(--status-ok-tint);
}
.mattermost-config .mm-alert-warn {
  color: var(--warn);
  background: var(--status-warn-wash);
  border: 1px solid var(--status-warn-tint);
}
.mattermost-config .mm-alert-error {
  color: var(--critical);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
}

/* ── Channel table ─────────────────────────────────────────────────────── */
.mattermost-config .mm-channel-table {
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  overflow: hidden;
}
.mattermost-config .mm-channel-row {
  display: grid;
  grid-template-columns: 180px 220px 90px 140px 1fr;
  gap: 12px;
  padding: 10px 16px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink);
  border-bottom: 1px solid var(--hairline);
  align-items: center;
}
.mattermost-config .mm-channel-row:last-child { border-bottom: none; }
.mattermost-config .mm-channel-head {
  background: var(--paper);
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.mattermost-config .mm-channel-name {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink);
}
.mattermost-config .mm-channel-id {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-mute);
}
.mattermost-config .mm-unsync { color: var(--critical); }
.mattermost-config .mm-agents { display: flex; gap: 4px; flex-wrap: wrap; }
.mattermost-config .mm-channel-purpose {
  color: var(--ink-mute);
  font-size: 12px;
  line-height: 1.5;
}

/* ── Grant form ────────────────────────────────────────────────────────── */
.mattermost-config .mm-grant-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 14px 16px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
}
.mattermost-config .mm-select {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 7px 10px;
  outline: none;
}
.mattermost-config .mm-select-grow { flex: 1; min-width: 160px; }
.mattermost-config .mm-check {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink);
  cursor: pointer;
  white-space: nowrap;
}

/* ── Access table ──────────────────────────────────────────────────────── */
.mattermost-config .mm-access-table {
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  overflow: hidden;
}
.mattermost-config .mm-access-row {
  display: grid;
  grid-template-columns: 160px 90px 160px 90px 70px 80px;
  gap: 8px;
  padding: 9px 14px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink);
  border-bottom: 1px solid var(--hairline);
  align-items: center;
}
.mattermost-config .mm-access-row:last-child { border-bottom: none; }
.mattermost-config .mm-access-head {
  background: var(--paper);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.mattermost-config .mm-subject-label { font-weight: 500; }
.mattermost-config .mm-tick { color: var(--ok); font-weight: 700; }
.mattermost-config .mm-cross { color: var(--ink-faint); }
.mattermost-config .mm-muted {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
}

/* ── Code inline ───────────────────────────────────────────────────────── */
.mattermost-config .mm-code {
  font-family: var(--font-mono);
  font-size: 11px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: 3px;
  padding: 1px 5px;
}

/* ── Closing note ──────────────────────────────────────────────────────── */
.mattermost-config .mm-note {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 20px;
}
.mattermost-config .mm-note-mark {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-input);
  background: var(--gold-soft);
  color: var(--gold-strong);
  font-family: var(--font-display);
  font-size: 20px;
}
.mattermost-config .mm-note-body {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1.6;
}
.mattermost-config .mm-note-title {
  color: var(--ink);
  font-weight: 600;
  margin-bottom: 4px;
}

@media (max-width: 860px) {
  .mattermost-config .mm-stat-strip { grid-template-columns: repeat(2, 1fr); }
  .mattermost-config .mm-channel-row { grid-template-columns: 1fr 1fr; }
  .mattermost-config .mm-access-row { grid-template-columns: 1fr 1fr; }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/meta-config/meta-config.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — meta-config
 * ──────────────────────────────────────────────────────────────────────── */

.meta-config {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* ── Header ───────────────────────────────────────────────── */
.meta-config .mc-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.meta-config .mc-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  color: var(--ink);
  letter-spacing: -0.012em;
  line-height: 1.2;
  margin: 6px 0 0;
}
.meta-config .mc-stop { color: var(--accent); }
.meta-config .mc-lede {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.6;
  max-width: 64ch;
  margin: 10px 0 0;
}

/* ── Status strip ─────────────────────────────────────────── */
.meta-config .mc-status-strip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
}
.meta-config .mc-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.meta-config .mc-dot.is-ok    { background: var(--ok); }
.meta-config .mc-dot.is-warn  { background: var(--warn); }
.meta-config .mc-dot.is-err   { background: var(--err); }
.meta-config .mc-dot.is-off   { background: var(--ink-mute); }
.meta-config .mc-status-label {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--ink);
  flex: 1;
}
.meta-config .mc-status-meta {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);
}

/* ── Section ───────────────────────────────────────────────── */
.meta-config .mc-section-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  color: var(--ink);
  margin: 0 0 14px;
}

/* ── Assets grid ──────────────────────────────────────────── */
.meta-config .mc-assets {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.meta-config .mc-asset {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.meta-config .mc-asset-label {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.meta-config .mc-asset-value {
  font-family: var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace);
  font-size: 13px;
  color: var(--ink);
  word-break: break-all;
}
.meta-config .mc-asset-value.is-missing {
  color: var(--err);
  font-family: var(--font-sans);
  font-style: italic;
}

/* ── Test panel ───────────────────────────────────────────── */
.meta-config .mc-test-panel {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.meta-config .mc-test-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.meta-config .mc-test-row .mc-lede {
  margin: 0;
  flex: 1;
}
.meta-config .mc-test-btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--canvas);
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 10px 18px;
  border-radius: 999px;
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.meta-config .mc-test-btn:hover { opacity: 0.92; }
.meta-config .mc-test-btn:disabled {
  opacity: 0.55;
  cursor: progress;
}

.meta-config .mc-checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.meta-config .mc-check {
  display: grid;
  grid-template-columns: 16px 140px 1fr;
  gap: 12px;
  align-items: baseline;
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--canvas);
  border: 1px solid var(--hairline);
}
.meta-config .mc-check.is-fail { border-color: var(--err); }
.meta-config .mc-check-icon {
  font-family: var(--font-mono, monospace);
  font-size: 14px;
  font-weight: 700;
}
.meta-config .mc-check.is-ok   .mc-check-icon { color: var(--ok); }
.meta-config .mc-check.is-fail .mc-check-icon { color: var(--err); }
.meta-config .mc-check-name {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
}
.meta-config .mc-check-detail {
  font-family: var(--font-mono, monospace);
  font-size: 12px;
  color: var(--ink-soft);
  word-break: break-word;
}

.meta-config .mc-test-msg {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);
}
.meta-config .mc-test-msg.is-err { color: var(--err); }
.meta-config .mc-test-msg.is-ok  { color: var(--ok); }

/* ── Empty / unconfigured ─────────────────────────────────── */
.meta-config .mc-empty {
  background: var(--paper);
  border: 1px dashed var(--hairline);
  border-radius: var(--radius-card);
  padding: 24px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1.6;
}
.meta-config .mc-empty code {
  font-family: var(--font-mono, monospace);
  background: var(--canvas);
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid var(--hairline);
  font-size: 12px;
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/conversation/chat-surface/chat-surface.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — chat-surface
 *
 * Editorial three-pane conversation surface. Tokens only, no hardcoded
 * colours. Mirrors Vo editorial: cream paper, espresso ink, antique gold,
 * JetBrains Mono for numbers.
 *
 * Sections inline:
 *   1) Legacy ChatMessages / Composer / Thinking — earlier R2 patterns
 *      still consumed by ChatMessages.tsx and the markdown msg-prose.
 *   2) VoChat three-pane shell (.vo-chat-*) — the R2.5+ surface.
 *   3) Mobile / responsive — drawer + sheet + slash menu + side sheet.
 *   4) Showcase frame — used by /design when this block is rendered
 *      inside a section showcase.
 *
 * Extracted from app/src/app/globals.css by R5 perfection pass.
 * ──────────────────────────────────────────────────────────────────────── */

/* ── Chat surface ─────────────────────────────────────────────────── */
.chat-shell {
  display: flex; flex-direction: column;
  height: calc(100vh - 32px);
}

.chat-scroll {
  flex: 1; min-height: 0;
  overflow-y: auto;
  padding: 28px 0;
}
.chat-scroll-inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 20px;
}
.chat-foot {
  padding: 12px 20px 20px;
  border-top: 1px solid var(--hairline);
  background: var(--paper);
  border-bottom-left-radius: var(--radius-card);
  border-bottom-right-radius: var(--radius-card);
}
.chat-foot-inner {
  max-width: 880px;
  margin: 0 auto;
}

.chat-bubble-user {
  display: inline-block;
  max-width: 78%;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  border-bottom-right-radius: 4px;
  padding: 10px 14px;
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.55;
}
.chat-bubble-user.is-gold {
  background: var(--gold-soft);
  border-color: var(--gold-line);
}

.chat-assistant {
  display: block;
  max-width: 100%;
}

.chat-row-meta {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--font-sans); font-size: 10px;
  color: var(--ink-faint);
  margin-top: 4px;
}
.chat-row-meta .actions-btn {
  color: var(--ink-faint);
  background: transparent;
  padding: 2px 4px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color .12s, color .12s;
}
.chat-row-meta .actions-btn:hover { background: var(--paper-alt); color: var(--ink); }

/* Composer */
.chat-composer {
  display: flex; align-items: end; gap: 10px;
  padding: 10px 14px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  transition: border-color .12s, box-shadow .12s;
}
.chat-composer:focus-within {
  border-color: var(--gold-strong);
  box-shadow: var(--shadow-focus);
}
.chat-composer textarea {
  flex: 1; min-width: 0;
  background: transparent;
  border: 0; outline: 0;
  resize: none;
  font-family: var(--font-sans);
  font-size: 16px;                /* 16+ on mobile = no iOS zoom */
  line-height: 1.55;
  color: var(--ink);
  padding: 6px 0;
}
@media (min-width: 768px) {
  .chat-composer textarea { font-size: 14px; }
}
.chat-composer textarea::-moz-placeholder { color: var(--ink-faint); }
.chat-composer textarea::placeholder { color: var(--ink-faint); }

.chat-send {
  width: 36px; height: 36px;
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--ink); color: var(--paper);
  border: 0; border-radius: var(--radius-input);
  cursor: pointer;
  transition: background-color .12s, opacity .12s;
}
.chat-send:hover:not(:disabled) { background: var(--gold-strong); }
.chat-send:disabled { opacity: 0.35; cursor: not-allowed; }

/* Starter chips above empty composer */
.chat-starter {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: 999px;
  font-family: var(--font-sans);
  font-size: 12.5px;
  color: var(--ink-soft);
  cursor: pointer;
  transition: background-color .12s, border-color .12s;
}
.chat-starter:hover {
  background: var(--gold-soft);
  border-color: var(--gold-line);
  color: var(--ink);
}
.chat-starter .micro {
  font-size: 10px;
  color: var(--gold-strong);
  letter-spacing: 0.14em;
}

/* Thinking bubble */
.chat-thinking {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 14px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  font-family: var(--font-sans); font-size: 12.5px;
  color: var(--ink-mute);
}
.chat-thinking .dots { display: inline-flex; gap: 3px; }
.chat-thinking .dots span {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--gold-strong);
  animation: chat-bounce 1.4s infinite ease-in-out both;
}
.chat-thinking .dots span:nth-child(1) { animation-delay: 0.0s; }
.chat-thinking .dots span:nth-child(2) { animation-delay: 0.15s; }
.chat-thinking .dots span:nth-child(3) { animation-delay: 0.30s; }
.chat-thinking .elapsed { font-variant-numeric: tabular-nums; color: var(--ink-faint); font-size: 11px; margin-left: 4px; }
.chat-thinking .stop {
  margin-left: 4px;
  font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.10em; text-transform: uppercase;
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
  padding: 2px 8px; border-radius: 999px;
  cursor: pointer;
  transition: background-color .12s, color .12s;
}
.chat-thinking .stop:hover { background: var(--accent); color: #fff; }

@keyframes chat-bounce {
  0%, 80%, 100% { transform: translateY(0); opacity: 0.5; }
  40%           { transform: translateY(-4px); opacity: 1; }
}

/* Markdown body inside chat (.msg-prose) */
.msg-prose {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.65;
  color: var(--ink-soft);
}
.msg-prose > * + * { margin-top: 0.65em; }
.msg-prose h1, .msg-prose h2, .msg-prose h3, .msg-prose h4 {
  font-family: var(--font-display);
  color: var(--ink);
  line-height: 1.25;
  letter-spacing: -0.01em;
}
.msg-prose h1 { font-size: 22px; margin-top: 0.6em; }
.msg-prose h2 { font-size: 18px; margin-top: 0.6em; }
.msg-prose h3 { font-size: 16px; font-family: var(--font-sans); font-weight: 600; }
.msg-prose h4 { font-size: 13px; font-family: var(--font-sans); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-mute); }
.msg-prose strong { color: var(--ink); font-weight: 600; }
.msg-prose em { font-style: italic; }
.msg-prose ul { padding-left: 1.25em; list-style: disc; }
.msg-prose ol { padding-left: 1.25em; list-style: decimal; }
.msg-prose li { margin: 0.2em 0; }
.msg-prose li::marker { color: var(--gold-strong); }


/* CHAT-START
   ─────────────────────────────────────────────────────────────────────
   VoChat — three-pane editorial chat surface for r2.5/chat-surface.
   Tokens only, no hardcoded colours. Mirrors Vo editorial: cream paper,
   espresso ink, antique gold, JetBrains Mono for numbers.
   ───────────────────────────────────────────────────────────────────── */

.vo-chat {
  position: relative;
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr) 320px;
  height: calc(100dvh - 32px);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  overflow: hidden;
  color: var(--ink);
  transition: grid-template-columns .26s ease-out;
}
.vo-chat.no-context  { grid-template-columns: 232px minmax(0, 1fr); }
.vo-chat.no-list     { grid-template-columns: minmax(0, 1fr) 320px; }
/* Collapsed list — the pane slides out of view and the grid column closes. */
.vo-chat.list-collapsed                 { grid-template-columns: 0 minmax(0, 1fr) 320px; }
.vo-chat.list-collapsed.no-context      { grid-template-columns: 0 minmax(0, 1fr); }
.vo-chat.solo        { grid-template-columns: minmax(0, 1fr); }

/* Conversation list (pane 1) */
.vo-chat-list {
  display: flex; flex-direction: column;
  min-width: 0;
  border-right: 1px solid var(--hairline);
  background: var(--paper-alt);
  transition: transform .26s ease-out, opacity .2s ease-out;
}
.vo-chat.list-collapsed .vo-chat-list {
  transform: translateX(-100%);
  opacity: 0;
  pointer-events: none;
}
/* Head: search input + small icon button side-by-side on one row. */
.vo-chat-list-head {
  padding: 12px 12px 10px;
  display: flex; align-items: center; gap: 8px;
  border-bottom: 1px solid var(--hairline-soft);
}
/* New-conversation: small square icon button, editorial weight — no shouty CTA. */
.vo-chat-list-newbtn {
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px;
  background: var(--paper); color: var(--ink-mute);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  cursor: pointer;
  transition: color .12s, border-color .12s, background-color .12s;
}
.vo-chat-list-newbtn:hover {
  color: var(--gold-strong);
  border-color: var(--gold);
  background: var(--paper);
}

/* Slim re-open tab on the main area's left edge — visible only when collapsed. */
.vo-chat-list-reopen {
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  width: 18px; height: 56px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--paper-alt);
  color: var(--ink-mute);
  border: 1px solid var(--hairline);
  border-left: 0;
  border-top-right-radius: var(--radius-input);
  border-bottom-right-radius: var(--radius-input);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease-out, color .12s, background-color .12s;
  z-index: 4;
}
.vo-chat.list-collapsed .vo-chat-list-reopen {
  opacity: 1;
  pointer-events: auto;
}
.vo-chat-list-reopen:hover { color: var(--ink); background: var(--paper); }
.vo-chat-list-reopen svg { width: 12px; height: 12px; }
.vo-chat-list-search {
  position: relative;
  display: flex; align-items: center;
}
.vo-chat-list-search input {
  width: 100%; height: 32px;
  padding: 0 12px 0 32px;
  background: var(--paper); color: var(--ink);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  font-family: var(--font-sans); font-size: 12.5px;
  outline: 0;
  transition: border-color .12s, box-shadow .12s;
}
.vo-chat-list-search input::-moz-placeholder { color: var(--ink-faint); }
.vo-chat-list-search input::placeholder { color: var(--ink-faint); }
.vo-chat-list-search input:focus { border-color: var(--gold-strong); box-shadow: var(--shadow-focus); }
.vo-chat-list-search svg {
  position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
  color: var(--ink-faint); pointer-events: none;
}

.vo-chat-list-scroll {
  flex: 1; min-height: 0;
  overflow-y: auto;
  padding: 8px 0 16px;
}
.vo-chat-list-section {
  padding: 14px 14px 4px;
}
.vo-chat-list-eyebrow {
  font-family: var(--font-sans); font-size: 10px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold-strong);
}

.vo-chat-row {
  display: block; width: 100%; text-align: left;
  padding: 10px 14px 12px;
  background: transparent;
  border: 0; border-left: 2px solid transparent;
  cursor: pointer;
  position: relative;
  transition: background-color .12s, border-color .12s;
}
.vo-chat-row + .vo-chat-row {
  border-top: 1px dashed var(--hairline-soft);
}
.vo-chat-row:hover { background: var(--paper); }
.vo-chat-row.is-active {
  background: var(--gold-soft);
  border-left-color: var(--gold-strong);
}
.vo-chat-row-title {
  font-family: var(--font-display); font-size: 15px; line-height: 1.3;
  color: var(--ink); letter-spacing: -0.005em;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;
  overflow: hidden;
}
.vo-chat-row-meta {
  font-family: var(--font-display); font-style: italic;
  font-size: 12px; color: var(--gold-strong);
  margin-top: 2px;
  display: flex; align-items: center; gap: 6px;
}
.vo-chat-row-meta .dot {
  width: 3px; height: 3px; border-radius: 50%;
  background: var(--gold-line); display: inline-block;
}
.vo-chat-row-actions {
  position: absolute; right: 8px; top: 8px;
  display: none; gap: 2px;
}
.vo-chat-row:hover .vo-chat-row-actions,
.vo-chat-row.is-active .vo-chat-row-actions { display: inline-flex; }
.vo-chat-row-action {
  width: 22px; height: 22px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: 0; border-radius: 4px;
  color: var(--ink-faint); cursor: pointer;
  transition: background-color .12s, color .12s;
}
.vo-chat-row-action:hover { background: var(--paper-alt); color: var(--gold-strong); }
.vo-chat-row-action.is-danger:hover { background: var(--critical-soft); color: var(--critical); }
.vo-chat-row .pinned-mark {
  color: var(--gold-strong);
  margin-right: 4px;
  display: inline-flex; align-items: center;
}
.vo-chat-row-rename input {
  width: 100%;
  background: var(--paper); color: var(--ink);
  border: 1px solid var(--gold-strong);
  border-radius: var(--radius-input);
  padding: 4px 6px;
  font-family: var(--font-display); font-size: 15px;
  outline: 0;
}

.vo-chat-list-empty {
  padding: 36px 20px;
  text-align: center;
  font-family: var(--font-display); font-style: italic;
  color: var(--gold-strong); font-size: 14px; line-height: 1.5;
}

/* Thread (pane 2) */
.vo-chat-main {
  display: flex; flex-direction: column;
  min-width: 0; min-height: 0;
  position: relative;
  background: var(--paper);
}

.vo-chat-header {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 22px;
  border-bottom: 1px solid var(--hairline);
  background: var(--paper);
  position: sticky; top: 0; z-index: 5;
}
.vo-chat-header-title {
  flex: 1; min-width: 0;
}
.vo-chat-header-title h2 {
  font-family: var(--font-display); font-size: 22px;
  color: var(--ink); letter-spacing: -0.01em; line-height: 1.2;
  margin: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.vo-chat-header-meta {
  font-family: var(--font-display); font-style: italic;
  font-size: 12px; color: var(--gold-strong);
  margin-top: 2px;
}
.vo-chat-header-actions {
  display: flex; align-items: center; gap: 4px;
  flex-shrink: 0;
}
.vo-chat-header-btn {
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: 0; border-radius: var(--radius-input);
  color: var(--ink-mute);
  cursor: pointer;
  transition: background-color .12s, color .12s;
}
.vo-chat-header-btn:hover { background: var(--paper-alt); color: var(--ink); }

.vo-chat-thread {
  flex: 1; min-height: 0;
  overflow-y: auto;
  padding: 28px 0 32px;
  scroll-behavior: smooth;
  position: relative;
}
.vo-chat-thread-inner {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 22px;
  display: flex; flex-direction: column; gap: 28px;
}

/* Messages */
.vo-msg {
  display: flex; flex-direction: column;
}
.vo-msg-user { align-items: flex-end; }
.vo-msg-assistant { align-items: flex-start; }

.vo-msg-eyebrow {
  font-family: var(--font-sans); font-size: 9px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-strong);
  margin-bottom: 6px;
  display: inline-flex; align-items: center; gap: 6px;
}
.vo-msg-eyebrow .live-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--gold-strong);
  box-shadow: 0 0 0 0 var(--gold-shadow);
}
.vo-msg-eyebrow .live-dot.is-live {
  animation: vo-chat-pulse 1.6s infinite ease-in-out;
}

.vo-msg-user .vo-msg-body {
  max-width: 64ch;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: 10px;
  padding: 14px 16px;
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 14px; line-height: 1.6;
  white-space: pre-wrap; word-wrap: break-word;
}
.vo-msg-assistant .vo-msg-body {
  max-width: 720px;
  color: var(--ink-soft);
  font-family: var(--font-display);
  font-size: 16px; line-height: 1.65;
  word-wrap: break-word;
  display: flex; flex-direction: column; gap: 14px;
}
.vo-msg-assistant .vo-msg-body p {
  margin: 0;
  color: var(--ink-soft);
}
.vo-msg-assistant .vo-msg-body strong { color: var(--ink); font-weight: 600; }

.vo-msg-foot {
  display: flex; align-items: center; gap: 6px;
  margin-top: 8px;
  font-family: var(--font-mono); font-size: 10px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}
.vo-msg-foot .sep { color: var(--hairline); }
.vo-msg-error { color: var(--critical); font-family: var(--font-sans); font-weight: 600; }

.vo-msg-hover {
  display: inline-flex; align-items: center; gap: 2px;
  margin-top: 6px;
  opacity: 0;
  transition: opacity .15s;
}
.vo-msg:hover .vo-msg-hover,
.vo-msg:focus-within .vo-msg-hover { opacity: 1; }
.vo-msg-hover-btn {
  width: 26px; height: 26px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent;
  border: 0; border-radius: 4px;
  color: var(--ink-faint); cursor: pointer;
  transition: background-color .12s, color .12s;
}
.vo-msg-hover-btn:hover { background: var(--paper-alt); color: var(--gold-strong); }
.vo-msg-hover-btn.is-danger:hover { background: var(--critical-soft); color: var(--critical); }
.vo-msg-hover-btn.is-pinned { color: var(--gold-strong); }

.vo-msg-edit {
  width: 100%; max-width: 64ch;
  display: flex; flex-direction: column; gap: 8px;
}
.vo-msg-edit textarea {
  width: 100%;
  background: var(--paper-alt); color: var(--ink);
  border: 1px solid var(--gold-strong);
  border-radius: 10px;
  padding: 12px 14px;
  font-family: var(--font-sans); font-size: 14px; line-height: 1.6;
  resize: vertical; min-height: 64px;
  outline: 0;
  box-shadow: var(--shadow-focus);
}
.vo-msg-edit-actions { display: flex; gap: 8px; justify-content: flex-end; }

/* ── Switchboard delivery chips ─────────────────────────────────────────── */
/* Rendered under an assistant message when this turn relayed a message via
 * switchboard_send (or fired the `@<handle>` literal shortcut). Editorial:
 * small-caps channel labels, a gold dot for `sent`, oxblood for `failed`,
 * italic gold for the trace link. Composed only inside the chat-surface
 * block — no styling lives in the route. */
.vo-switchboard {
  margin-top: 4px;
  padding: 12px 14px;
  border: 1px solid var(--gold-line);
  border-left: 3px solid var(--gold);
  border-radius: 0 6px 6px 0;
  background: var(--paper-alt);
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
}
.vo-switchboard-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-strong);
  margin-bottom: 8px;
}
.vo-switchboard-list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 4px;
}
.vo-switchboard-row {
  display: flex; align-items: baseline; gap: 6px;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}
.vo-switchboard-glyph {
  display: inline-block;
  width: 10px;
  text-align: center;
  font-size: 14px;
  line-height: 1;
  color: var(--gold);
}
.vo-switchboard-row.is-sent .vo-switchboard-glyph    { color: var(--gold-strong); }
.vo-switchboard-row.is-failed .vo-switchboard-glyph  { color: var(--accent); }
.vo-switchboard-row.is-skipped .vo-switchboard-glyph { color: var(--ink-mute); }
.vo-switchboard-row.is-planned .vo-switchboard-glyph { color: var(--gold); }
.vo-switchboard-name {
  color: var(--ink);
  font-weight: 600;
}
.vo-switchboard-sep {
  color: var(--hairline);
}
.vo-switchboard-channel {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.vo-switchboard-status {
  color: var(--ink-mute);
  font-style: italic;
}
.vo-switchboard-row.is-failed .vo-switchboard-status {
  color: var(--accent);
}
.vo-switchboard-clarif {
  margin: 0 0 8px;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--ink);
  font-style: italic;
}
.vo-switchboard-trace {
  display: inline-block;
  margin-top: 8px;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12px;
  color: var(--gold-strong);
  text-decoration: none;
  letter-spacing: 0.02em;
}
.vo-switchboard-trace:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Streaming pulse */
.vo-streaming-dots {
  display: inline-flex; gap: 4px; align-items: center;
  padding: 6px 0;
}
.vo-streaming-dots span {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--gold-strong);
  animation: vo-chat-bounce 1.4s infinite ease-in-out both;
}
.vo-streaming-dots span:nth-child(1) { animation-delay: 0.0s; }
.vo-streaming-dots span:nth-child(2) { animation-delay: 0.15s; }
.vo-streaming-dots span:nth-child(3) { animation-delay: 0.30s; }

@keyframes vo-chat-bounce {
  0%, 80%, 100% { transform: translateY(0); opacity: 0.4; }
  40%           { transform: translateY(-4px); opacity: 1; }
}
@keyframes vo-chat-pulse {
  0%, 100% { box-shadow: 0 0 0 0 var(--gold-shadow); opacity: 1; }
  50%      { box-shadow: 0 0 0 6px transparent; opacity: 0.55; }
}

/* Attachments */
.vo-attach-list {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-top: 8px;
}
.vo-attach-card {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 12px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  font-family: var(--font-sans); font-size: 12px;
  color: var(--ink-soft);
  max-width: 260px;
}
.vo-attach-card .vo-attach-icon {
  width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--gold-soft); color: var(--gold-strong);
  border-radius: 4px;
  flex-shrink: 0;
}
.vo-attach-name {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  color: var(--ink); font-weight: 500;
}
.vo-attach-size {
  font-family: var(--font-mono); font-size: 10px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}
.vo-attach-image {
  margin-top: 8px;
  max-width: 320px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  display: block;
}

/* Composer */
.vo-chat-foot {
  padding: 14px 22px calc(18px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--hairline);
  background: var(--paper);
}
.vo-chat-foot-inner {
  max-width: 760px;
  margin: 0 auto;
  display: flex; flex-direction: column; gap: 8px;
}
.vo-composer-chips {
  display: flex; flex-wrap: wrap; gap: 6px;
}
.vo-composer-chip {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 8px 6px 10px;
  background: var(--gold-soft);
  border: 1px solid var(--gold-line);
  border-radius: var(--radius-input);
  font-family: var(--font-sans); font-size: 11.5px;
  color: var(--ink);
  max-width: 220px;
}
.vo-composer-chip .vo-composer-chip-name {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-weight: 500;
}
.vo-composer-chip .vo-composer-chip-size {
  font-family: var(--font-mono); font-size: 10px;
  color: var(--ink-mute);
}
.vo-composer-chip-remove {
  width: 18px; height: 18px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: 0; border-radius: 999px;
  color: var(--ink-mute); cursor: pointer;
  transition: background-color .12s, color .12s;
}
.vo-composer-chip-remove:hover { background: var(--paper); color: var(--critical); }

.vo-composer {
  display: flex; align-items: flex-end; gap: 10px;
  padding: 10px 12px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  transition: border-color .12s, box-shadow .12s;
}
.vo-composer:focus-within { border-color: var(--gold-strong); box-shadow: var(--shadow-focus); }
.vo-composer-attach {
  flex-shrink: 0; width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: 0; border-radius: var(--radius-input);
  color: var(--ink-mute); cursor: pointer;
  transition: background-color .12s, color .12s;
}
.vo-composer-attach:hover { background: var(--paper-alt); color: var(--gold-strong); }
.vo-composer textarea {
  flex: 1; min-width: 0;
  background: transparent;
  border: 0; outline: 0;
  resize: none;
  font-family: var(--font-sans);
  font-size: 16px; line-height: 1.55;
  color: var(--ink);
  padding: 6px 0;
  max-height: 192px;
}
@media (min-width: 768px) {
  .vo-composer textarea { font-size: 14px; }
}
.vo-composer textarea::-moz-placeholder { color: var(--ink-faint); }
.vo-composer textarea::placeholder { color: var(--ink-faint); }
.vo-composer-right {
  display: flex; align-items: center; gap: 8px;
  flex-shrink: 0;
}
.vo-composer-send {
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--gold-strong); color: #fff;
  border: 0; border-radius: var(--radius-input);
  cursor: pointer;
  transition: background-color .12s, opacity .12s;
}
.vo-composer-send:hover:not(:disabled) { background: var(--ink); }
.vo-composer-send:disabled { opacity: 0.3; cursor: not-allowed; }

/* Model picker */
.vo-model-picker { position: relative; }
.vo-model-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 0 10px; height: 28px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: 999px;
  font-family: var(--font-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ink-soft);
  cursor: pointer;
  transition: background-color .12s, border-color .12s, color .12s;
}
.vo-model-pill:hover { background: var(--gold-soft); border-color: var(--gold-line); color: var(--ink); }
.vo-model-pill .dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--gold-strong);
}
.vo-model-menu {
  position: absolute; right: 0; bottom: calc(100% + 8px);
  width: min(560px, calc(100vw - 32px));
  max-height: min(64vh, 520px);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-lifted);
  padding: 18px 18px 16px;
  z-index: 30;
  display: flex; flex-direction: column;
  overflow: hidden;
}
.vo-model-menu-head {
  display: flex; align-items: baseline; justify-content: space-between;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--hairline);
  margin-bottom: 14px;
}
.vo-model-menu-eyebrow {
  font-family: var(--font-sans); font-size: 10px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-strong);
}
.vo-model-menu-sub {
  font-family: var(--font-display); font-style: italic;
  font-size: 12px; color: var(--ink-mute);
}
.vo-model-menu-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 18px;
  overflow-y: auto;
  padding: 2px;
  scrollbar-gutter: stable;
}
.vo-model-menu-col {
  display: flex; flex-direction: column; gap: 8px;
  min-width: 0;
}
.vo-model-menu-col-eyebrow {
  padding-bottom: 6px;
  border-bottom: 1px solid var(--hairline);
  font-family: var(--font-sans); font-size: 10px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--ink-mute);
}
.vo-model-menu-col-list {
  display: flex; flex-direction: column; gap: 6px;
}
.vo-model-card {
  position: relative;
  display: flex; flex-direction: column; align-items: flex-start; gap: 3px;
  width: 100%;
  padding: 10px 12px 11px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-input);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: background-color .14s, border-color .14s, color .14s, transform .08s;
}
.vo-model-card:hover {
  background: var(--paper-alt);
  border-color: var(--hairline);
}
.vo-model-card:active { transform: translateY(1px); }
.vo-model-card.is-active {
  background: var(--gold-soft);
  border-color: var(--gold-line);
}
.vo-model-card.is-active::after {
  content: '';
  position: absolute; right: 10px; top: 50%;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold-strong);
  transform: translateY(-50%);
}
.vo-model-card-name {
  font-family: var(--font-display);
  font-size: 15px; line-height: 1.2;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.vo-model-card.is-active .vo-model-card-name { color: var(--ink); }
.vo-model-card-tag {
  font-family: var(--font-display); font-style: italic;
  font-size: 11px; color: var(--gold-strong);
  letter-spacing: 0.02em;
}
.vo-model-card.is-disabled {
  cursor: not-allowed;
  color: var(--ink-mute);
}
.vo-model-card.is-disabled .vo-model-card-name { color: var(--ink-mute); }
.vo-model-card.is-disabled .vo-model-card-tag { color: var(--ink-faint); }
.vo-model-card.is-disabled:hover {
  background: transparent;
  border-color: transparent;
}

/* Drag-drop overlay */
.vo-chat-dropzone {
  position: absolute; inset: 0;
  pointer-events: none;
  background: var(--gold-wash);
  border: 2px dashed var(--gold-strong);
  border-radius: var(--radius-card);
  display: flex; align-items: center; justify-content: center;
  z-index: 20;
  font-family: var(--font-display); font-size: 22px;
  color: var(--ink);
  letter-spacing: -0.01em;
  backdrop-filter: blur(2px);
}
.vo-chat-dropzone .vo-chat-dropzone-pill {
  padding: 18px 28px;
  background: var(--paper);
  border: 1px solid var(--gold-line);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-lifted);
}

/* Context panel (pane 3) */
.vo-chat-context {
  display: flex; flex-direction: column;
  min-width: 0;
  border-left: 1px solid var(--hairline);
  background: var(--paper-alt);
}
.vo-chat-context-head {
  display: flex; align-items: center;
  padding: 12px 14px 10px;
  border-bottom: 1px solid var(--hairline-soft);
  gap: 4px;
}
.vo-chat-context-tabs {
  flex: 1; display: flex; gap: 2px;
}
.vo-chat-context-tab {
  background: transparent; border: 0;
  padding: 6px 10px;
  border-radius: var(--radius-input);
  font-family: var(--font-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.10em; text-transform: uppercase;
  color: var(--ink-mute); cursor: pointer;
  transition: background-color .12s, color .12s;
}
.vo-chat-context-tab:hover { color: var(--ink); }
.vo-chat-context-tab.is-active { background: var(--gold-soft); color: var(--gold-strong); }
.vo-chat-context-close {
  width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: 0; border-radius: var(--radius-input);
  color: var(--ink-mute); cursor: pointer;
  transition: background-color .12s;
}
.vo-chat-context-close:hover { background: var(--paper); color: var(--ink); }
.vo-chat-context-body {
  flex: 1; min-height: 0;
  overflow-y: auto;
  padding: 14px 14px 24px;
}
.vo-chat-context-empty {
  padding: 32px 14px;
  text-align: center;
  font-family: var(--font-display); font-style: italic;
  color: var(--gold-strong); font-size: 13px;
}
.vo-context-pin {
  display: block; width: 100%; text-align: left;
  padding: 10px 12px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  cursor: pointer;
  margin-bottom: 8px;
  font-family: var(--font-sans); font-size: 12.5px;
  color: var(--ink-soft);
  transition: border-color .12s;
}
.vo-context-pin:hover { border-color: var(--gold-strong); }
.vo-context-pin .vo-context-pin-meta {
  font-family: var(--font-display); font-style: italic; font-size: 11px;
  color: var(--gold-strong); margin-bottom: 4px;
}
.vo-context-file {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  margin-bottom: 6px;
}
.vo-context-file-icon {
  width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--gold-soft); color: var(--gold-strong);
  border-radius: 4px;
}
.vo-context-file-name {
  flex: 1; min-width: 0;
  font-family: var(--font-sans); font-size: 12.5px;
  color: var(--ink); font-weight: 500;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.vo-context-file-size {
  font-family: var(--font-mono); font-size: 10px;
  color: var(--ink-faint);
}
.vo-context-source {
  padding: 8px 0 10px;
  border-bottom: 1px dashed var(--hairline-soft);
}
.vo-context-source:last-child { border-bottom: 0; }
.vo-context-source-type {
  font-family: var(--font-sans); font-size: 10px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--gold-strong);
  margin-bottom: 2px;
}
.vo-context-source-title {
  font-family: var(--font-display); font-size: 13px;
  color: var(--ink); line-height: 1.4;
}

/* Cover (empty main) */
.vo-chat-cover {
  flex: 1; min-height: 0;
  overflow-y: auto;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 32px 24px;
  text-align: center;
}
.vo-chat-cover-inner {
  width: 100%; max-width: 640px;
  display: flex; flex-direction: column; align-items: center;
}
.vo-chat-cover h1 {
  font-family: var(--font-display);
  font-size: 56px; line-height: 1.06; color: var(--ink);
  letter-spacing: -0.012em;
  margin: 8px 0 14px;
}
.vo-chat-cover .lede {
  font-family: var(--font-display); font-style: italic;
  font-size: 16px; color: var(--ink-mute);
  max-width: 54ch; margin: 0 auto 28px;
  line-height: 1.55;
}
.vo-chat-cover-pills {
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
  margin-bottom: 24px;
}
.vo-cover-pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: 999px;
  font-family: var(--font-sans); font-size: 12.5px;
  color: var(--ink-soft);
  cursor: pointer;
  transition: background-color .12s, border-color .12s, color .12s;
}
.vo-cover-pill:hover { background: var(--gold-soft); border-color: var(--gold-line); color: var(--ink); }
.vo-cover-pill .micro {
  font-size: 10px; color: var(--gold-strong); letter-spacing: 0.14em;
}
.vo-chat-cover-composer {
  width: 100%; max-width: 640px;
  margin: 0 auto;
}

/* Mobile — list as drawer, context as bottom sheet */
.vo-chat-mobile-trigger,
.vo-chat-context-trigger { display: none; }

@media (max-width: 1023px) {
  .vo-chat { grid-template-columns: 280px minmax(0, 1fr); }
  .vo-chat .vo-chat-context { display: none; }
  .vo-chat-context-trigger {
    display: inline-flex;
  }
}
@media (max-width: 767px) {
  .vo-chat { grid-template-columns: minmax(0, 1fr); height: 100dvh; border-radius: 0; border: 0; }
  .vo-chat .vo-chat-list { display: none; }
  .vo-chat-mobile-trigger { display: inline-flex; }
  .vo-chat-header { padding: 12px 14px; }
  .vo-chat-thread-inner { padding: 0 14px; }
  .vo-chat-foot { padding: 10px 14px calc(14px + env(safe-area-inset-bottom)); }
  .vo-chat-cover h1 { font-size: 36px; }
}

/* Drawer + sheet — both float on top, no grid impact */
.vo-chat-drawer-backdrop,
.vo-chat-sheet-backdrop {
  position: fixed; inset: 0;
  background: var(--scrim);
  backdrop-filter: blur(2px);
  z-index: 60;
  border: 0;
  cursor: pointer;
}
.vo-chat-drawer {
  position: fixed; left: 0; top: 0; bottom: 0;
  width: 320px; max-width: 88vw;
  background: var(--paper-alt);
  border-right: 1px solid var(--hairline);
  box-shadow: var(--shadow-lifted);
  z-index: 61;
  display: flex; flex-direction: column;
  animation: vo-chat-drawer-in .18s ease-out;
}
.vo-chat-drawer .vo-chat-list {
  display: flex; flex: 1; border-right: 0;
}
@keyframes vo-chat-drawer-in {
  from { transform: translateX(-100%); }
  to   { transform: translateX(0); }
}
.vo-chat-sheet {
  position: fixed; left: 0; right: 0; bottom: 0;
  max-height: 78dvh;
  background: var(--paper-alt);
  border-top: 1px solid var(--hairline);
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  box-shadow: var(--shadow-lifted);
  z-index: 61;
  display: flex; flex-direction: column;
  animation: vo-chat-sheet-in .2s ease-out;
}
.vo-chat-sheet .vo-chat-context {
  display: flex; flex: 1; border-left: 0;
}
.vo-chat-sheet-handle {
  height: 4px; width: 36px; border-radius: 4px;
  background: var(--hairline);
  margin: 8px auto 0;
}
@keyframes vo-chat-sheet-in {
  from { transform: translateY(100%); }
  to   { transform: translateY(0); }
}

/* Confirm bar (delete confirm) */
.vo-chat-confirm {
  position: absolute; left: 0; right: 0; bottom: 0;
  margin: 0 8px 8px;
  background: var(--critical-soft);
  border: 1px solid var(--critical);
  border-radius: var(--radius-input);
  padding: 8px 12px;
  display: flex; align-items: center; gap: 8px;
  z-index: 5;
  font-family: var(--font-sans); font-size: 12px;
  color: var(--ink);
}
.vo-chat-confirm .vo-chat-confirm-msg { flex: 1; }
.vo-chat-confirm button {
  background: transparent; border: 0;
  font-family: var(--font-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase;
  padding: 4px 8px; border-radius: 4px;
  cursor: pointer;
}
.vo-chat-confirm .vo-chat-confirm-yes { color: var(--critical); }
.vo-chat-confirm .vo-chat-confirm-no  { color: var(--ink-mute); }
.vo-chat-confirm button:hover { background: var(--paper); }

/* ─── R2.8 polish ─────────────────────────────────────────────────── */

/* Non-image attachment badge (extension label in font-mono) */
.vo-attach-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: 4px;
  font-family: var(--font-mono); font-size: 10px; font-weight: 700;
  color: var(--gold-strong);
  letter-spacing: 0.04em;
  flex-shrink: 0;
}
.vo-attach-badge-sm {
  width: 24px; height: 24px;
  font-size: 9px;
}
.vo-attach-icon-sm {
  width: 24px; height: 24px;
  border-radius: 4px;
}
.vo-attach-card {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 10px 14px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  max-width: 320px;
  flex-wrap: wrap;
}
.vo-attach-text {
  display: flex; flex-direction: column; gap: 2px;
  min-width: 0;
}
.vo-attach-text .vo-attach-name {
  font-family: var(--font-sans); font-size: 13px;
  color: var(--ink); font-weight: 500;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  max-width: 200px;
}
.vo-attach-text .vo-attach-size {
  font-family: var(--font-mono); font-size: 11px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}
.vo-attach-caption {
  width: 100%;
  font-family: var(--font-display); font-style: italic;
  font-size: 11px;
  color: var(--gold-strong);
  margin-top: -2px;
}

/* Composer wrapper to anchor the slash menu */
.vo-composer-wrap { position: relative; }

/* Slash command menu */
.vo-slash-menu {
  position: absolute;
  left: 0; right: 0;
  bottom: calc(100% + 8px);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-lifted);
  padding: 6px;
  z-index: 25;
  max-height: 280px; overflow-y: auto;
  animation: vo-chat-pop-in .18s ease-out;
}
.vo-slash-eyebrow {
  padding: 6px 10px 4px;
  font-family: var(--font-sans); font-size: 9px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-strong);
}
.vo-slash-empty {
  padding: 14px 12px;
  font-family: var(--font-display); font-style: italic;
  font-size: 13px; color: var(--gold-strong);
}
.vo-slash-item {
  display: flex; align-items: center; gap: 12px; width: 100%;
  padding: 8px 10px;
  background: transparent;
  border: 0; border-radius: var(--radius-input);
  text-align: left;
  cursor: pointer;
  transition: background-color .14s ease-out;
}
.vo-slash-item:hover,
.vo-slash-item.is-active { background: var(--gold-soft); }
.vo-slash-key {
  font-family: var(--font-mono); font-size: 12px;
  color: var(--gold-strong);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
  min-width: 56px;
}
.vo-slash-desc {
  flex: 1; min-width: 0;
  font-family: var(--font-sans); font-size: 12.5px;
  color: var(--ink-soft);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.vo-slash-hint {
  font-family: var(--font-display); font-style: italic;
  font-size: 11px; color: var(--gold-strong);
  flex-shrink: 0;
}

/* Header actions cluster (anchors the export dropdown) */
.vo-chat-header-cluster {
  position: relative;
  display: inline-flex; align-items: center;
}

/* Generic popover (export menu + message "more" menu) */
.vo-chat-popover {
  position: absolute;
  top: calc(100% + 6px); right: 0;
  min-width: 220px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-lifted);
  padding: 6px;
  z-index: 40;
  animation: vo-chat-pop-in .16s ease-out;
}
.vo-chat-popover-eyebrow {
  padding: 6px 10px 4px;
  font-family: var(--font-sans); font-size: 9px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-strong);
}
.vo-chat-popover-item {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 8px 10px;
  background: transparent;
  border: 0; border-radius: var(--radius-input);
  font-family: var(--font-sans); font-size: 13px;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: background-color .14s ease-out, color .14s ease-out;
}
.vo-chat-popover-item:hover { background: var(--paper-alt); }
.vo-chat-popover-item.is-danger { color: var(--critical); }
.vo-chat-popover-item.is-danger:hover { background: var(--critical-soft); }
.vo-chat-popover-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vo-chat-popover-hint {
  font-family: var(--font-display); font-style: italic;
  font-size: 11px; color: var(--gold-strong);
}
@keyframes vo-chat-pop-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Toast */
.vo-chat-toast {
  position: fixed; left: 50%; bottom: 24px;
  transform: translateX(-50%);
  background: var(--ink); color: var(--paper);
  border-radius: var(--radius-input);
  padding: 10px 16px;
  font-family: var(--font-sans); font-size: 12.5px;
  box-shadow: var(--shadow-lifted);
  z-index: 90;
  animation: vo-chat-toast-in .22s ease-out;
}
@keyframes vo-chat-toast-in {
  from { opacity: 0; transform: translate(-50%, 8px); }
  to   { opacity: 1; transform: translate(-50%, 0); }
}

/* Modal / dialog chassis */
.vo-chat-modal-backdrop {
  position: fixed; inset: 0;
  background: var(--scrim);
  backdrop-filter: blur(2px);
  z-index: 80;
  border: 0;
  cursor: pointer;
  animation: vo-chat-fade-in .2s ease-out;
}
@keyframes vo-chat-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.vo-chat-modal {
  position: fixed; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-lifted);
  display: flex; flex-direction: column;
  z-index: 81;
  animation: vo-chat-modal-in .22s ease-out;
}
@keyframes vo-chat-modal-in {
  from { opacity: 0; transform: translate(-50%, -46%); }
  to   { opacity: 1; transform: translate(-50%, -50%); }
}
.vo-chat-modal-head {
  position: relative;
  padding: 22px 24px 14px;
  border-bottom: 1px solid var(--hairline-soft);
}
.vo-chat-modal-head h3 {
  font-family: var(--font-display);
  font-size: 22px; letter-spacing: -0.01em;
  color: var(--ink); margin: 6px 0 0;
  font-weight: 400;
}
.vo-chat-modal-sub {
  font-family: var(--font-display); font-style: italic;
  font-size: 12.5px; color: var(--gold-strong);
  margin: 4px 0 0;
}
.vo-chat-modal-close {
  position: absolute; top: 16px; right: 16px;
  width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; border: 0; border-radius: var(--radius-input);
  color: var(--ink-mute); cursor: pointer;
  transition: background-color .14s ease-out;
}
.vo-chat-modal-close:hover { background: var(--paper-alt); color: var(--ink); }
.vo-chat-modal-body {
  padding: 18px 24px;
  flex: 1; min-height: 0; overflow-y: auto;
}
.vo-chat-modal-foot {
  padding: 14px 24px 18px;
  display: flex; justify-content: flex-end; gap: 10px;
  border-top: 1px solid var(--hairline-soft);
}

/* Share dialog */
.vo-share-section { margin-bottom: 18px; }
.vo-share-section:last-child { margin-bottom: 0; }
.vo-share-section-eyebrow {
  font-family: var(--font-sans); font-size: 9px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-strong);
  margin-bottom: 8px;
}
.vo-share-row {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  margin-bottom: 6px;
  background: var(--paper);
  cursor: pointer;
  transition: border-color .14s ease-out, background-color .14s ease-out;
}
.vo-share-row:hover { border-color: var(--gold-line); background: var(--paper-alt); }
.vo-share-row.is-disabled {
  cursor: not-allowed;
  opacity: 0.55;
}
.vo-share-row.is-disabled:hover { border-color: var(--hairline); background: var(--paper); }
.vo-share-row input[type="checkbox"] {
  margin-top: 2px;
  width: 16px; height: 16px;
  accent-color: var(--gold-strong);
  flex-shrink: 0;
}
.vo-share-row-text {
  flex: 1; min-width: 0;
}
.vo-share-row-name {
  font-family: var(--font-sans); font-size: 13px;
  color: var(--ink); font-weight: 500;
}
.vo-share-row-role {
  font-family: var(--font-display); font-style: italic;
  font-size: 12px; color: var(--gold-strong);
  margin-top: 2px;
}

/* Settings side sheet */
/* Settings panel — sits in the right rail slot, aligned with the context
   panel chrome (same width, border, background, no backdrop, no shadow).
   Covers the context panel when open. */
.vo-chat-side-sheet {
  position: fixed; right: 0; top: 0; bottom: 0;
  width: 320px; max-width: 90vw;
  background: var(--paper-alt);
  border-left: 1px solid var(--hairline);
  z-index: 81;
  display: flex; flex-direction: column;
  animation: vo-chat-side-in .22s ease-out;
}
@keyframes vo-chat-side-in {
  from { transform: translateX(100%); }
  to   { transform: translateX(0); }
}
.vo-chat-side-sheet-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 14px 10px;
  border-bottom: 1px solid var(--hairline-soft);
  gap: 4px;
}
.vo-chat-side-sheet-label {
  font-family: var(--font-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.10em; text-transform: uppercase;
  color: var(--gold-strong);
  padding: 6px 10px;
  background: var(--gold-soft);
  border-radius: var(--radius-input);
}
.vo-chat-side-sheet-body {
  flex: 1; min-height: 0;
  overflow-y: auto;
  padding: 14px 14px 24px;
}
.vo-chat-side-sheet-foot {
  display: flex; justify-content: flex-end; gap: 10px;
  padding: 12px 14px;
  border-top: 1px solid var(--hairline-soft);
}
.vo-settings-body {
  display: flex; flex-direction: column;
}
.vo-settings-row {
  display: flex; align-items: center; gap: 16px;
  padding: 14px 0;
  border-bottom: 1px dashed var(--hairline-soft);
}
.vo-settings-row:last-child { border-bottom: 0; }
.vo-settings-row-label { flex: 1; min-width: 0; }
.vo-settings-row-name {
  font-family: var(--font-sans); font-size: 13px; font-weight: 600;
  color: var(--ink);
}
.vo-settings-row-hint {
  font-family: var(--font-display); font-style: italic;
  font-size: 12px; color: var(--gold-strong);
  margin-top: 2px;
}
.vo-settings-select {
  height: 32px;
  background: var(--paper); color: var(--ink);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 0 28px 0 10px;
  font-family: var(--font-sans); font-size: 12.5px;
  cursor: pointer;
}
.vo-settings-select:focus { outline: 0; border-color: var(--gold-strong); box-shadow: var(--shadow-focus); }
.vo-settings-slider {
  display: inline-flex; align-items: center; gap: 10px;
  min-width: 160px;
}
.vo-settings-slider input[type="range"] {
  accent-color: var(--gold-strong);
  width: 120px;
}
.vo-settings-slider-value {
  font-family: var(--font-mono); font-size: 11px;
  color: var(--ink-mute);
  font-variant-numeric: tabular-nums;
  min-width: 32px; text-align: right;
}
.vo-settings-toggle {
  position: relative;
  width: 38px; height: 22px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: 999px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color .18s ease-out, border-color .18s ease-out;
}
.vo-settings-toggle.is-on {
  background: var(--gold-strong);
  border-color: var(--gold-strong);
}
.vo-settings-toggle-knob {
  position: absolute;
  top: 2px; left: 2px;
  width: 16px; height: 16px;
  background: var(--paper);
  border-radius: 50%;
  box-shadow: var(--shadow-knob);
  transition: transform .18s ease-out;
}
.vo-settings-toggle.is-on .vo-settings-toggle-knob {
  transform: translateX(16px);
}

/* Confirm dialog */
.vo-chat-confirm-dialog {
  position: fixed; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: min(420px, calc(100vw - 32px));
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-lifted);
  padding: 28px 26px 22px;
  z-index: 81;
  animation: vo-chat-modal-in .2s ease-out;
}
.vo-chat-confirm-title {
  font-family: var(--font-display);
  font-size: 22px; letter-spacing: -0.01em;
  line-height: 1.2; font-weight: 400;
  color: var(--ink);
  margin: 0 28px 6px 0;
}
.vo-chat-confirm-meta {
  font-family: var(--font-display); font-style: italic;
  font-size: 12.5px; color: var(--gold-strong);
  margin: 0 0 22px;
}
.vo-chat-confirm-actions {
  display: flex; justify-content: flex-end; gap: 10px;
}

/* Danger-soft button used in delete confirm */
.btn-danger-soft {
  background: var(--critical-soft);
  color: var(--critical);
  border: 1px solid var(--critical);
}
.btn-danger-soft:hover:not(:disabled) {
  background: var(--critical); color: #fff;
}

/* Message reactions */
.vo-msg-hover-btn.is-on { color: var(--gold-strong); background: var(--gold-soft); }
.vo-msg-feedback-mark {
  font-family: var(--font-display); font-style: italic;
  color: var(--gold-strong);
}
.vo-msg-more-wrap { position: relative; display: inline-flex; }
.vo-msg-more {
  top: calc(100% + 4px);
  right: 0;
  min-width: 200px;
}
.vo-msg-assistant .vo-msg-more {
  right: auto; left: 0;
}

/* Composing indicator (italic gold + blinking cursor) */
.vo-composing {
  display: inline-flex; align-items: baseline; gap: 4px;
  font-family: var(--font-display); font-style: italic;
  font-size: 15px;
  color: var(--gold-strong);
}
.vo-composing em { font-style: italic; }
.vo-composing-cursor {
  display: inline-block;
  color: var(--gold-strong);
  font-style: normal;
  animation: vo-chat-cursor 1s infinite steps(1, end);
  font-family: var(--font-display);
}
@keyframes vo-chat-cursor {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

/* Thread empty (within a selected, empty conversation) */
.vo-chat-thread-empty {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center;
  padding: 64px 24px 48px;
}
.vo-chat-thread-empty h2 {
  font-family: var(--font-display);
  font-size: 32px; line-height: 1.12;
  color: var(--ink); letter-spacing: -0.01em;
  margin: 0 0 18px;
}
.vo-chat-thread-empty-pills {
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
}

/* Connection issue banner */
.vo-chat-thread-banner {
  position: sticky; top: 0; z-index: 4;
  margin: 0 auto 12px;
  max-width: 720px;
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px;
  background: var(--critical-soft);
  border: 1px solid var(--critical);
  border-radius: var(--radius-input);
  font-family: var(--font-sans); font-size: 12.5px;
  color: var(--ink);
  animation: vo-chat-pop-in .2s ease-out;
}
.vo-chat-thread-banner svg { color: var(--critical); flex-shrink: 0; }
.vo-chat-thread-banner-text { flex: 1; }
.vo-chat-thread-banner-cta {
  background: transparent; border: 1px solid var(--critical);
  color: var(--critical);
  border-radius: var(--radius-input);
  padding: 4px 12px;
  font-family: var(--font-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  cursor: pointer;
  transition: background-color .14s ease-out, color .14s ease-out;
}
.vo-chat-thread-banner-cta:hover { background: var(--critical); color: #fff; }

/* Conversation row kind tag */
.vo-chat-row-title {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.vo-chat-row-title-text {
  flex: 1; min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.vo-chat-row-kind {
  display: inline-flex; align-items: center; flex-shrink: 0;
  height: 18px; padding: 0 8px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: 999px;
  font-family: var(--font-sans); font-size: 9px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-mute);
}
.vo-chat-row.is-active .vo-chat-row-kind {
  border-color: var(--gold-line); color: var(--gold-strong); background: var(--paper);
}

/* Drag-drop overlay — editorial reset */
.vo-chat-dropzone {
  position: absolute; inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s ease-out;
  z-index: 20;
  display: flex; align-items: stretch; justify-content: stretch;
}
.vo-chat-dropzone.is-active { opacity: 1; }
.vo-chat-dropzone-frame {
  flex: 1; margin: 24px;
  border: 2px dashed var(--gold-line);
  border-radius: var(--radius-card);
  background: var(--gold-wash);
  backdrop-filter: blur(2px);
  display: flex; align-items: center; justify-content: center;
}
.vo-chat-dropzone-inner {
  text-align: center;
  padding: 24px 32px;
}
.vo-chat-dropzone-title {
  font-family: var(--font-display);
  font-size: 28px; line-height: 1.1;
  color: var(--ink); letter-spacing: -0.01em;
  margin: 6px 0 8px;
}
.vo-chat-dropzone-sub {
  font-family: var(--font-display); font-style: italic;
  font-size: 14px; color: var(--gold-strong);
  margin: 0;
}

/* ─── R2.9 mobile polish ─────────────────────────────────────────── */

/* Slash menu — keep on-screen above the keyboard at small viewports */
@media (max-width: 767px) {
  .vo-slash-menu {
    max-height: 50dvh;
    bottom: calc(100% + 6px);
  }
  .vo-slash-item { padding: 12px 12px; }
  .vo-slash-desc { font-size: 13px; }
}

/* Share/Settings/Confirm dialogs become bottom sheets at ≤ 639px */
@media (max-width: 639px) {
  .vo-chat-modal {
    left: 0 !important; right: 0 !important;
    bottom: 0; top: auto !important;
    width: 100% !important; max-width: 100% !important;
    max-height: 88dvh;
    border-radius: 14px 14px 0 0;
    transform: translateY(0) !important;
    animation: vo-chat-sheet-in .22s ease-out;
  }
  .vo-chat-modal-head {
    padding: 18px 20px 12px;
  }
  .vo-chat-modal-head::before {
    content: "";
    display: block;
    width: 36px; height: 4px;
    border-radius: 4px;
    background: var(--hairline);
    margin: 0 auto 12px;
  }
  .vo-chat-modal-body { padding: 14px 20px; }
  .vo-chat-modal-foot {
    padding: 14px 20px calc(18px + env(safe-area-inset-bottom));
  }
  .vo-chat-modal-close {
    width: 36px; height: 36px;
    top: 14px; right: 14px;
  }

  /* Settings side sheet becomes full-width bottom sheet */
  .vo-chat-side-sheet {
    left: 0 !important; right: 0 !important;
    top: auto !important; bottom: 0;
    width: 100% !important; max-width: 100% !important;
    max-height: 88dvh;
    border-left: 0;
    border-top: 1px solid var(--hairline);
    border-radius: 14px 14px 0 0;
    animation: vo-chat-sheet-in .22s ease-out;
  }
  .vo-chat-side-sheet::before {
    content: "";
    display: block;
    width: 36px; height: 4px;
    border-radius: 4px;
    background: var(--hairline);
    margin: 8px auto 0;
    flex-shrink: 0;
  }

  /* Confirm dialog as a small bottom sheet */
  .vo-chat-confirm-dialog {
    left: 0 !important; right: 0 !important;
    bottom: 0; top: auto !important;
    width: 100% !important; max-width: 100% !important;
    transform: translateY(0) !important;
    border-radius: 14px 14px 0 0;
    padding: 22px 20px calc(22px + env(safe-area-inset-bottom));
    animation: vo-chat-sheet-in .22s ease-out;
  }

  /* Drop-zone overlay must respect viewport bounds */
  .vo-chat-dropzone-frame { margin: 16px; }
  .vo-chat-dropzone-title { font-size: 22px; }
}

/* Long-press / touch hover: surface message actions on mobile.
   Pointer-coarse media query keeps this scoped to touch devices. */
@media (pointer: coarse), (max-width: 639px) {
  .vo-msg-hover { opacity: 1; margin-top: 4px; }
  .vo-msg-hover-btn {
    width: 32px; height: 32px;
  }
  .vo-msg-hover-btn svg { width: 15px; height: 15px; }
  /* Long-press affordance: subtle ring on the message itself */
  .vo-msg { -webkit-touch-callout: none; }
}

/* CHAT-END */

/* ── Chat surface — / chat ─────────────────────────────────────────── */
/* Use dynamic viewport height to account for iOS Safari URL bar. */
.chat-shell { height: calc(100dvh - 32px); }

@media (max-width: 767px) {
  .chat-shell { height: 100dvh; }
  .chat-scroll      { padding: 18px 0; }
  .chat-scroll-inner { padding: 0 16px; }
  .chat-foot {
    padding: 10px 14px calc(14px + env(safe-area-inset-bottom));
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    position: sticky;
    bottom: 0;
  }
  .chat-bubble-user { max-width: 88%; font-size: 15px; }
}

/* Empty-state hero on /chat scales down on phones */
@media (max-width: 639px) {
  .chat-shell h1 {
    font-size: 34px !important;
    line-height: 1.1 !important;
  }
}


/* ── Showcase frame (§50 — when chat-surface is rendered inside the
   design page section). Caps the height so the surface doesn't blow
   out the editorial column. ───────────────────────────────────────── */
.chat-surface-frame {
  height: 720px;
  max-height: 80vh;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  overflow: hidden;
  position: relative;
  isolation: isolate;
}
.chat-surface-frame > * { height: 100%; }
@media (max-width: 639px) {
  .chat-surface-frame { height: 600px; max-height: 70vh; }
}

/* ── Agent picker — sits to the LEFT of the model pill. Reuses the
   model-picker pill chrome (.vo-model-pill / .vo-model-menu) and only
   adds the per-row card layout for the single-column agent list. ──── */
.vo-agent-menu { min-width: min(460px, calc(100vw - 32px)); }
/* Two-column grid that SCROLLS inside the menu's capped height. The parent
   .vo-model-menu is a flex column with overflow:hidden + max-height — so the
   list needs min-height:0 + flex:1 + overflow-y:auto to become the scroll
   region (otherwise extra agents get clipped with no way to reach them). */
.vo-agent-menu-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  padding: 4px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
@media (max-width: 520px) {
  .vo-agent-menu-list { grid-template-columns: 1fr; }
}
.vo-agent-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
  background: transparent;
  border: 0;
  border-radius: var(--radius-control);
  text-align: left;
  cursor: pointer;
  color: var(--ink);
  font-family: var(--font-sans);
}
.vo-agent-card:hover { background: var(--canvas); }
.vo-agent-card.is-active {
  background: var(--canvas);
  outline: 1px solid var(--hairline);
}
.vo-agent-card-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  justify-content: space-between;
}
.vo-agent-card-name {
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--ink);
}
.vo-agent-card-tag {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.vo-agent-card-meta {
  display: flex;
  gap: 10px;
  align-items: baseline;
}
.vo-agent-card-handle {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-mute);
}
.vo-agent-card-model {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-faint);
}
.vo-agent-card-purpose {
  font-size: 11.5px;
  color: var(--ink-mute);
  line-height: 1.45;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/conversation/inbox-row/inbox-row.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — inbox-row
 *
 * Gmail-style dense thread row. One line, no avatars: an unread dot, a
 * fixed-width sender column, then "subject — snippet" on a single
 * truncated line, with channel tag / conversation count / status pill /
 * timestamp on the right. Channel identity is carried by a thin coloured
 * rail on the left edge (Gmail "label" cue) rather than a circular glyph.
 *
 * Child rows (`.inbox-row-child`) keep a leaner stacked anatomy: roman
 * numeral, inline channel pill, snippet, hover actions.
 * ──────────────────────────────────────────────────────────────────────── */

.inbox-row {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 42px;
  padding: 0 16px 0 13px;
  border-bottom: 1px solid var(--hairline-soft);
  border-left: 3px solid transparent;
  transition: background-color .12s ease, box-shadow .12s ease;
  cursor: pointer;
  font-family: var(--font-sans);
}
.inbox-row:hover {
  background: var(--paper-alt);
  box-shadow: inset 0 0 0 1px var(--hairline-soft);
}

/* Channel rail — the only colour cue left after the avatars came out. */
.inbox-row.ch-s   { border-left-color: #4A154B; }
.inbox-row.ch-g   { border-left-color: #C5221F; }
.inbox-row.ch-w   { border-left-color: #25D366; }
.inbox-row.ch-m   { border-left-color: var(--ink); }
.inbox-row.ch-web { border-left-color: var(--ink-mute); }

/* Unread weighting, Gmail-style. */
.inbox-row.is-unread { background: var(--paper); }
.inbox-row.is-unread .inbox-sender  { color: var(--ink); font-weight: 700; }
.inbox-row.is-unread .inbox-subject { color: var(--ink); font-weight: 600; }

/* ── Unread dot gutter — fixed width so all rows align ── */
.inbox-row-dot {
  flex: 0 0 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.inbox-unread-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--accent);
  flex-shrink: 0;
}

/* ── Sender — fixed column ── */
.inbox-sender {
  flex: 0 0 180px;
  max-width: 180px;
  font-size: 13px;
  color: var(--ink-soft);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.inbox-pin {
  color: var(--gold);
  font-size: 10px;
  margin-right: 4px;
}

/* ── Subject + snippet — one truncated line ── */
.inbox-row-line {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 13px;
  line-height: 1.3;
}
.inbox-subject { color: var(--ink-soft); }
.inbox-preview { color: var(--ink-faint); }

/* ── Right rail ── */
.inbox-row-meta {
  flex: 0 0 auto;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.inbox-channel-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-faint);
  padding: 2px 7px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  white-space: nowrap;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.inbox-channel-tag.ch-s   { color: #6b2470; border-color: #e0cfe2; }
.inbox-channel-tag.ch-g   { color: #b22420; border-color: #f0cfcf; }
.inbox-channel-tag.ch-w   { color: #1a8a47; border-color: #c2e9d2; }
.inbox-channel-tag.ch-m,
.inbox-channel-tag.ch-web { color: var(--ink-mute); border-color: var(--hairline); }

.inbox-when {
  font-size: 11px;
  color: var(--ink-mute);
  font-variant-numeric: tabular-nums;
  min-width: 54px;
  text-align: right;
  white-space: nowrap;
}
.inbox-when.inline { min-width: 0; margin-left: 2px; }

/* Conversation count — doubles as the expand/collapse control. */
.inbox-conv-count {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  color: var(--ink-mute);
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: color 120ms ease, border-color 120ms ease;
}
.inbox-conv-count:hover { color: var(--ink); border-color: var(--ink-faint); }
.inbox-conv-count:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
.inbox-conv-chevron {
  font-size: 9px;
  line-height: 1;
  transition: transform 180ms ease;
}
.inbox-conv-count.is-expanded .inbox-conv-chevron { transform: rotate(90deg); }

/* ─────────────────────────────────────────────────────────────────────────
 * Live pulse — 60s lozenge on child rows
 * ──────────────────────────────────────────────────────────────────────── */
.inbox-live-lozenge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 5px;
  background: var(--gold-soft);
  color: var(--gold-strong);
  border: 1px solid var(--gold-line);
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
  border-radius: 2px;
  vertical-align: middle;
  animation: inbox-live-fade 60s ease-out 1 forwards;
}
@keyframes inbox-live-fade {
  0%, 95%  { opacity: 1; }
  100%     { opacity: 0; visibility: hidden; }
}

/* ─────────────────────────────────────────────────────────────────────────
 * Child row — roman numeral + inline channel pill + per-row actions
 * ──────────────────────────────────────────────────────────────────────── */
.inbox-row.inbox-row-child {
  height: auto;
  min-height: 40px;
  align-items: flex-start;
  padding: 9px 16px 9px 30px;
  background: transparent;
  border-left-color: transparent;
}
.inbox-row.inbox-row-child:hover { background: var(--paper-alt); }
.inbox-row-child-lead {
  flex: 0 0 24px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-top: 1px;
}
.inbox-row-child .inbox-row-body {
  flex: 1 1 auto;
  min-width: 0;
}
.inbox-row-child .inbox-row-right {
  flex: 0 0 auto;
  margin-left: auto;
}
.inbox-child-numeral {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12px;
  color: var(--gold-strong);
  font-variant-numeric: tabular-nums;
}
.inbox-child-dot { width: 7px; height: 7px; }

.inbox-row-child .inbox-row-headline {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.inbox-row-child .inbox-sender {
  flex: 0 0 auto;
  max-width: none;
  font-size: 12px;
  font-weight: 600;
}
.inbox-row-child .inbox-preview {
  display: block;
  font-size: 12px;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Inline channel pill — appears in child headlines. */
.inbox-channel-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 7px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--hairline);
  background: var(--paper-alt);
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-soft);
  line-height: 1.2;
}
.inbox-channel-pill .inbox-channel-pill-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px; height: 14px;
  border-radius: 50%;
  font-size: 9px;
  font-weight: 700;
  color: #fff;
}
.inbox-channel-pill.ch-s .inbox-channel-pill-glyph   { background: #4A154B; }
.inbox-channel-pill.ch-g .inbox-channel-pill-glyph   { background: #C5221F; }
.inbox-channel-pill.ch-w .inbox-channel-pill-glyph   { background: #25D366; }
.inbox-channel-pill.ch-m .inbox-channel-pill-glyph   { background: var(--ink); color: var(--paper); }
.inbox-channel-pill.ch-web .inbox-channel-pill-glyph { background: var(--ink-mute); }
.inbox-channel-pill-label {
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.01em;
  color: var(--ink-soft);
  font-weight: 500;
}

/* Hover-revealed action toolbar on child rows. */
.inbox-child-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  opacity: 0;
  transition: opacity 150ms ease;
}
.inbox-row.inbox-row-child:hover .inbox-child-actions,
.inbox-row.inbox-row-child:focus-within .inbox-child-actions {
  opacity: 1;
}
.inbox-child-action {
  width: 22px; height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  padding: 0;
  color: var(--ink-faint);
  cursor: pointer;
  border-radius: var(--radius-input);
  transition: color 120ms ease, background 120ms ease;
}
.inbox-child-action:hover { color: var(--ink); background: var(--paper-sunk); }
.inbox-child-action:focus-visible {
  outline: none;
  box-shadow: var(--shadow-focus);
}

/* ── Narrow viewports ── */
@media (max-width: 720px) {
  .inbox-row { gap: 10px; padding-right: 12px; }
  .inbox-sender { flex-basis: 116px; max-width: 116px; font-size: 12px; }
  .inbox-channel-tag { display: none; }
  .inbox-when { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .inbox-conv-chevron,
  .inbox-child-actions,
  .inbox-live-lozenge {
    animation: none !important;
    transition: none !important;
  }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/conversation/inbox-list/inbox-list.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — inbox-list
 *
 * Editorial chassis for the inbox. Serif title + italic-gold subhead +
 * 4-stat strip + hairline-separated stack of `inbox-row` items.
 *
 * Slice F adds the conversation children rail, the channel-transition
 * hairline rule, and the "Earlier this week" day divider.
 * ──────────────────────────────────────────────────────────────────────── */

.inbox-list { padding: 0; overflow: hidden; }

/* Compact Gmail-style toolbar: title + subhead on the left, dense stat
 * figures on the right. No giant serif block, no boxed stat grid. */
.inbox-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--hairline);
}
.inbox-list-head-main {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}
.inbox-list-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--ink-mute);
  flex: 0 0 auto;
}
.inbox-list-title {
  font-family: var(--font-display);
  font-size: 18px; line-height: 1.1;
  color: var(--ink); margin: 0;
  letter-spacing: -0.01em;
  flex: 0 0 auto;
}
.inbox-list-sub {
  font-family: var(--font-display); font-style: italic;
  font-size: 12px; color: var(--gold-strong);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  min-width: 0;
}

.inbox-list-stats {
  display: inline-flex;
  align-items: baseline;
  gap: 18px;
  margin: 0; padding: 0; border: 0;
  flex: 0 0 auto;
}
.inbox-list-stats > div {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  padding: 0; border: 0;
}
.inbox-list-stats dt {
  order: 2;
  font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0;
}
.inbox-list-stats dd {
  order: 1;
  font-family: var(--font-display); font-size: 15px;
  color: var(--ink);
  margin: 0;
  font-variant-numeric: tabular-nums;
}

.inbox-list-rows {
  margin: 0;
  list-style: none;
  padding: 0;
}
.inbox-list-item {
  list-style: none;
}
.inbox-list-child {
  list-style: none;
}
.inbox-row-focus {
  outline: none;
}
.inbox-row-focus:focus-visible .inbox-row,
.inbox-row:focus-visible {
  background: var(--paper-alt);
  box-shadow: inset 3px 0 0 var(--gold);
}

/* ─────────────────────────────────────────────────────────────────────────
 * Children container — owns the gold vertical rail at the wrapper level
 * so a single rail spans the whole child stack instead of repeating per
 * row. Rail draws top-down via transform scaleY when opening.
 * ──────────────────────────────────────────────────────────────────────── */
.inbox-row-children {
  position: relative;
  margin-left: 22px;
  padding-left: 22px;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 220ms cubic-bezier(.2, .0, .2, 1),
              opacity 160ms ease;
}
.inbox-row-children::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--gold-line);
  transform-origin: top center;
  transform: scaleY(0);
  transition: transform 240ms cubic-bezier(.2, .0, .2, 1);
}
.inbox-row-children.is-open {
  max-height: 2000px;
  opacity: 1;
}
.inbox-row-children.is-open::before {
  transform: scaleY(1);
}
.inbox-row-children-inner {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ─────────────────────────────────────────────────────────────────────────
 * Channel transition — hairline rule between two children with
 * different channels.
 * ──────────────────────────────────────────────────────────────────────── */
.inbox-channel-transition {
  list-style: none;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 0 4px;
  border-top: 1px solid var(--gold-line);
  margin-top: 2px;
}
.inbox-channel-transition > span {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-strong);
  background: var(--paper);
  padding: 0 8px;
  position: relative;
  top: -14px;
  margin-bottom: -10px;
}

/* ─────────────────────────────────────────────────────────────────────────
 * Day divider — "Earlier this week" between today and earlier rows.
 * ──────────────────────────────────────────────────────────────────────── */
.inbox-day-divider {
  list-style: none;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 11px;
  color: var(--ink-faint);
  letter-spacing: 0.06em;
  padding: 14px 0 6px;
  border-top: 1px solid var(--hairline-soft);
  margin-top: 6px;
}

@media (max-width: 720px) {
  .inbox-list-head {
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 12px 14px;
  }
  .inbox-list-sub { flex-basis: 100%; }
  .inbox-list-stats { gap: 14px; }
  .inbox-row-children {
    margin-left: 12px;
    padding-left: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .inbox-row-children,
  .inbox-row-children::before {
    transition: none !important;
  }
  .inbox-row-children {
    max-height: none;
  }
  .inbox-row-children:not(.is-open) {
    display: none;
  }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/conversation/channel-filter-bar/channel-filter-bar.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — channel-filter-bar (Slice H)
 *
 * 56px single-row top band:
 *   • search field — centered, max 640px, flat hairline underline
 *   • chip row    — flat text + hairline underlines; "Needs reply" is the
 *                   single oxblood pill exception
 *   • channel chips — small text + glyph chips in a second cluster,
 *                   separated by a 1px hairline pipe
 *
 * The bulk toolbar replaces the chip row in-place (same height,
 * no animation) when selectionCount ≥ 1.
 *
 * All colors come from tokens.css custom properties — no hex values.
 * ──────────────────────────────────────────────────────────────────────── */

.channel-filter-bar {
  width: 100%;
  border-bottom: 1px solid var(--hairline-soft);
  background: var(--paper);
}

.cfb-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-faint);
  padding: 12px 4px 0;
}

/* ── Search row ──────────────────────────────────────────────────────── */

.cfb-search-row {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 52px;
  padding: 0 16px;
}

.cfb-search {
  width: 100%;
  max-width: 560px;
}

.cfb-search-input {
  width: 100%;
  height: 40px;
  padding: 6px 2px 8px;

  background: transparent;
  border: none;
  border-bottom: 1px solid var(--hairline);
  border-radius: 0;
  outline: none;
  box-shadow: none;

  color: var(--ink);
  font-family: var(--font-display);
  font-size: 16px;
  font-style: italic;
  line-height: 1.2;

  transition: border-bottom-color .12s ease, border-bottom-width .12s ease;
}

.cfb-search-input::-moz-placeholder {
  color: var(--ink-faint);
  font-style: italic;
  font-family: var(--font-display);
  opacity: 1;
}

.cfb-search-input::placeholder {
  color: var(--ink-faint);
  font-style: italic;
  font-family: var(--font-display);
  opacity: 1;
}

.cfb-search-input:focus {
  border-bottom: 2px solid var(--gold-strong);
  /* compensate the 1px height bump from the thicker underline */
  padding-bottom: 7px;
}

/* ── Chip row ────────────────────────────────────────────────────────── */

.cfb-chip-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 22px;
  flex-wrap: wrap;

  width: 100%;
  min-height: 44px;
  padding: 8px 16px 12px;

  border-top: 1px solid var(--hairline-soft);
}

.cfb-cluster {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.cfb-pipe {
  width: 1px;
  height: 16px;
  background: var(--hairline);
  flex-shrink: 0;
}

/* ── Label chips — flat text + hairline underline ────────────────────── */

.cfb-label-chip {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  padding: 4px 0 5px;
  margin: 0;
  cursor: pointer;

  display: inline-flex;
  align-items: baseline;
  gap: 6px;

  font-family: var(--font-sans);
  font-size: 12.5px;
  color: var(--ink-mute);

  /* The hairline underline is what makes a chip a "chip" here. */
  border-bottom: 1px solid var(--hairline);
  transition: color .12s ease, border-bottom-color .12s ease,
              border-bottom-width .12s ease;
}

.cfb-label-chip:hover {
  color: var(--ink);
  border-bottom-color: var(--ink-faint);
}

.cfb-label-chip.is-active {
  color: var(--gold-strong);
  font-weight: 600;
  /* Thickens to a 2px gold-strong underline — keep the chip's vertical
     rhythm by compensating the 1px below. */
  border-bottom: 2px solid var(--gold-strong);
  padding-bottom: 4px;
}

/* The single exception: "Needs reply" is the oxblood pill. */
.cfb-label-chip.is-needs-reply {
  background: var(--accent-soft);
  color: var(--accent);
  border: 1px solid var(--accent-line);
  border-radius: var(--radius-pill);
  padding: 3px 10px 4px;
  font-weight: 600;
}

.cfb-label-chip.is-needs-reply:hover {
  color: var(--accent-strong);
  border-color: var(--accent);
}

.cfb-label-chip.is-needs-reply.is-active {
  background: var(--accent);
  color: var(--paper);
  border-color: var(--accent);
  padding: 3px 10px 4px;
}

.cfb-label-chip.is-needs-reply .cfb-count {
  color: inherit;
}

/* ── Channel chips — small text + glyph ──────────────────────────────── */

.cfb-channel-chip {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  padding: 4px 0 5px;
  margin: 0;
  cursor: pointer;

  display: inline-flex;
  align-items: center;
  gap: 6px;

  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);

  border-bottom: 1px solid transparent;
  transition: color .12s ease, border-bottom-color .12s ease;
}

.cfb-channel-chip:hover {
  color: var(--ink);
}

.cfb-channel-chip.is-active {
  color: var(--gold-strong);
  font-weight: 600;
  border-bottom: 2px solid var(--gold-strong);
  padding-bottom: 4px;
}

.cfb-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 14px;
  height: 14px;
  border-radius: 50%;

  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  color: var(--paper);

  background: var(--ink-mute);
  flex-shrink: 0;
}

.cfb-glyph.ch-s   { background: var(--series-5); }
.cfb-glyph.ch-g   { background: var(--accent); }
.cfb-glyph.ch-w   { background: var(--ok); }
.cfb-glyph.ch-m   { background: var(--ink); }
.cfb-glyph.ch-web { background: var(--ink-mute); }

.cfb-glyph-all {
  background: transparent;
  border: 1px solid var(--gold-line);
  width: 12px;
  height: 12px;
}

.cfb-channel-chip.is-active .cfb-glyph-all {
  background: var(--gold);
  border-color: var(--gold);
}

/* ── Counts ──────────────────────────────────────────────────────────── */

.cfb-count {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12px;
  color: var(--gold-strong);
  font-variant-numeric: tabular-nums;
}

.cfb-label-chip:not(.is-active):not(.is-needs-reply) .cfb-count,
.cfb-channel-chip:not(.is-active) .cfb-count {
  color: var(--ink-faint);
}

.cfb-label { line-height: 1; }

/* ── Bulk toolbar — replaces the chip row in-place ───────────────────── */

.cfb-bulk-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;

  width: 100%;
  min-height: 44px;
  padding: 8px 16px 12px;

  border-top: 1px solid var(--hairline-soft);
}

.cfb-bulk-clear {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;

  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: var(--ink-mute);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1;

  border-radius: 50%;
  transition: color .12s ease, background .12s ease;
}

.cfb-bulk-clear:hover {
  color: var(--ink);
  background: var(--paper-alt);
}

.cfb-bulk-counter {
  font-family: var(--font-display);
  font-size: 14px;
  font-style: italic;
  color: var(--ink);
  letter-spacing: -0.005em;
}

.cfb-bulk-counter .stop {
  color: var(--accent);
}

.cfb-bulk-actions {
  display: inline-flex;
  align-items: center;
}

.cfb-bulk-action-wrap {
  display: inline-flex;
  align-items: center;
}

.cfb-bulk-pipe {
  width: 1px;
  height: 14px;
  background: var(--hairline);
  margin: 0 10px;
  flex-shrink: 0;
}

.cfb-bulk-action {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  padding: 2px 0;
  margin: 0;
  cursor: pointer;

  font-family: var(--font-sans);
  font-size: 12.5px;
  color: var(--ink-soft);

  border-bottom: 1px solid transparent;
  transition: color .12s ease, border-bottom-color .12s ease;
}

.cfb-bulk-action:hover {
  color: var(--gold-strong);
  border-bottom-color: var(--gold-line);
}

/* ── Small screens — chip row wraps, pipe hides ──────────────────────── */

@media (max-width: 640px) {
  .cfb-search-row { height: 52px; }
  .cfb-search-input { font-size: 15px; }
  .cfb-chip-row { gap: 12px; padding: 8px 12px 10px; }
  .cfb-cluster { gap: 12px; }
  .cfb-pipe { display: none; }
  .cfb-label-chip,
  .cfb-channel-chip { font-size: 11.5px; }
  .cfb-bulk-row { gap: 10px; padding: 8px 12px 10px; }
  .cfb-bulk-pipe { margin: 0 8px; }
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/conversation/message-bubble/message-bubble.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — message-bubble
 *
 * Channel-aware editorial sub-styling. Even WhatsApp out-bubbles, which
 * read as "WhatsApp" in feel, stay editorial: gold-soft fill instead of
 * #DCF8C6, ink text instead of WhatsApp green-on-cream. Slack messages
 * are left-aligned with the sender on first turn (no bubble — bubbles
 * are reserved for WhatsApp / iMessage). Web messages match the chat
 * surface block: cream paper, italic gold sender, no bubble.
 * ──────────────────────────────────────────────────────────────────────── */

.mb {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 10px;
  align-items: flex-start;
}
.mb.mb-out {
  grid-template-columns: 1fr 32px;
  text-align: right;
}
.mb-avatar { display: flex; align-items: flex-start; justify-content: center; }
.mb-avatar .ch-glyph {
  width: 26px; height: 26px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-sans); font-size: 11px; font-weight: 700;
  background: var(--paper-alt); border: 1px solid var(--hairline);
}
.mb-avatar .ch-glyph.ch-s   { background: #4A154B; color: #fff; border-color: #4A154B; }
.mb-avatar .ch-glyph.ch-g   { background: #C5221F; color: #fff; border-color: #C5221F; }
.mb-avatar .ch-glyph.ch-w   { background: #25D366; color: #fff; border-color: #25D366; }
.mb-avatar .ch-glyph.ch-m   { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.mb-avatar .ch-glyph.ch-web { background: var(--ink-mute); color: var(--paper); border-color: var(--ink-mute); }

.mb-stack {
  display: flex; flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.mb.mb-out .mb-stack { align-items: flex-end; }

.mb-sender {
  font-family: var(--font-sans); font-size: 11.5px; font-weight: 600;
  color: var(--ink-soft);
  display: inline-flex; align-items: baseline; gap: 6px;
}
.mb-sender .hd {
  font-family: var(--font-mono); font-size: 10.5px;
  color: var(--ink-faint);
  font-weight: 400;
}

.mb-bubble {
  display: inline-block;
  max-width: 540px;
  text-align: left;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid var(--hairline-soft);
  background: var(--paper);
  font-family: var(--font-sans);
  font-size: 14px; line-height: 1.5;
  color: var(--ink);
}

.mb-body { white-space: pre-wrap; }

.mb-foot {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 6px;
  font-family: var(--font-sans); font-size: 10.5px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}
.mb-foot .edited {
  font-style: italic;
}
.mb-ticks {
  letter-spacing: -2px;
  color: var(--ink-faint);
  font-family: var(--font-mono);
  font-size: 11px;
  display: inline-flex;
}
.mb-ticks.is-read { color: var(--gold); }

/* ── Slack ────────────────────────────────────────────────────────────── */
.mb.mb-slack .mb-bubble {
  background: transparent;
  border: 0;
  border-left: 2px solid var(--hairline);
  border-radius: 0;
  padding: 2px 0 2px 12px;
}
.mb.mb-slack.mb-in .mb-bubble {
  border-left-color: var(--gold-line);
}
.mb.mb-slack.mb-out .mb-bubble {
  border-left-color: var(--accent);
}

.mb-thread-chip {
  display: inline-block;
  margin-top: 4px;
  padding: 3px 9px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  background: var(--paper-alt);
  font-family: var(--font-sans); font-size: 11px; font-weight: 600;
  color: var(--gold-strong);
  letter-spacing: 0.04em;
}

/* ── WhatsApp ─────────────────────────────────────────────────────────── */
.mb.mb-whatsapp .mb-bubble {
  border-radius: 14px;
}
.mb.mb-whatsapp.mb-in .mb-bubble {
  background: var(--paper-alt);
}
.mb.mb-whatsapp.mb-out .mb-bubble {
  background: var(--gold-soft);
  border-color: var(--gold-line);
}

/* ── iMessage ─────────────────────────────────────────────────────────── */
.mb.mb-imessage .mb-bubble {
  border-radius: 18px;
}
.mb.mb-imessage.mb-in .mb-bubble {
  background: var(--paper-alt);
  border-color: var(--hairline-soft);
}
.mb.mb-imessage.mb-out .mb-bubble {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}
.mb.mb-imessage.mb-out .mb-foot { color: var(--canvas-on-dark-mute); }
.mb.mb-imessage.mb-out .mb-ticks { color: var(--canvas-on-dark-mute); }
.mb.mb-imessage.mb-out .mb-ticks.is-read { color: var(--gold); }

/* ── Web (Vo Mission Control) ─────────────────────────────────────────── */
.mb.mb-web .mb-bubble {
  background: var(--paper);
  border: 0;
  border-left: 3px solid var(--gold);
  border-radius: 0;
  padding: 4px 0 4px 14px;
  font-family: var(--font-display);
  font-size: 15px;
}
.mb.mb-web.mb-out .mb-bubble {
  border-left-color: var(--accent);
}
.mb.mb-web .mb-sender {
  font-family: var(--font-display); font-style: italic;
  color: var(--gold-strong);
  font-size: 12px; font-weight: 400;
}

/* ── Gmail ────────────────────────────────────────────────────────────── */
.mb.mb-gmail .mb-bubble {
  background: var(--paper);
  border-color: var(--hairline);
  font-family: var(--font-display);
  font-size: 15px; line-height: 1.6;
}

/* ── Attachments ──────────────────────────────────────────────────────── */
.mb-attachments {
  display: flex; flex-direction: column; gap: 6px;
  margin-top: 8px;
}
.mb-attachment {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 6px 10px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline-soft);
  border-radius: var(--radius-input);
  font-family: var(--font-sans); font-size: 12px;
}
.mb-attachment .ext {
  font-family: var(--font-mono); font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--gold-strong);
  background: var(--gold-soft);
  border: 1px solid var(--gold-line);
  padding: 2px 6px; border-radius: var(--radius-input);
}
.mb-attachment .name {
  color: var(--ink); flex: 1; min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mb-attachment .size {
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-mute);
  font-variant-numeric: tabular-nums;
}

/* ── Reactions ────────────────────────────────────────────────────────── */
.mb-reactions {
  display: inline-flex; gap: 4px; flex-wrap: wrap;
  margin-top: 4px;
}
.mb-reaction {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 2px 8px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  background: var(--paper);
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
}
.mb-reaction.is-mine {
  background: var(--gold-soft);
  border-color: var(--gold-line);
  color: var(--gold-strong);
}

/* ── System line ──────────────────────────────────────────────────────── */
.mb-system {
  display: grid;
  grid-template-columns: 1fr auto auto 1fr;
  gap: 10px; align-items: center;
  margin: 6px 0;
  font-family: var(--font-display); font-style: italic;
  font-size: 12px;
  color: var(--gold-strong);
}
.mb-system .hairline {
  height: 1px; background: var(--hairline-soft);
}
.mb-system .text { white-space: nowrap; }
.mb-system .time {
  font-family: var(--font-sans); font-size: 11px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
  font-style: normal;
}

@media (max-width: 640px) {
  .mb-bubble { max-width: 88vw; }
  .mb { grid-template-columns: 28px 1fr; gap: 8px; }
  .mb.mb-out { grid-template-columns: 1fr 28px; }
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/conversation/voice-memo-bubble/voice-memo-bubble.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — voice-memo-bubble
 *
 * Editorial reinterpretation of a WhatsApp voice memo. Cream paper bubble
 * (gold-soft on out), oxblood play button with a white triangle, 20-bar
 * deterministic waveform. Played = ink-faint, unplayed = ink-soft.
 * ──────────────────────────────────────────────────────────────────────── */

.vmb {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 10px;
  align-items: flex-start;
}
.vmb.vmb-out {
  grid-template-columns: 1fr 32px;
  text-align: right;
}
.vmb.vmb-out .vmb-stack { align-items: flex-end; }

.vmb-avatar .ch-glyph {
  width: 26px; height: 26px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-sans); font-size: 11px; font-weight: 700;
  background: #25D366; color: #fff;
  border: 1px solid #25D366;
}

.vmb-stack {
  display: flex; flex-direction: column; gap: 4px;
}
.vmb-sender {
  font-family: var(--font-sans); font-size: 11.5px; font-weight: 600;
  color: var(--ink-soft);
}

.vmb-bubble {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 8px 14px 8px 8px;
  background: var(--paper);
  border: 1px solid var(--hairline-soft);
  border-radius: 14px;
  max-width: 360px;
}
.vmb.vmb-out .vmb-bubble {
  background: var(--gold-soft);
  border-color: var(--gold-line);
}

.vmb-play {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--accent);
  border: 0;
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  padding-left: 2px; /* nudge the triangle so it reads centred */
  transition: background-color .12s ease, transform .12s ease;
}
.vmb-play:hover { filter: brightness(0.88); transform: scale(1.05); }
.vmb-play:focus-visible { outline: none; box-shadow: var(--shadow-focus); }

.vmb-wave { display: block; flex-shrink: 0; }

.vmb-dur {
  font-family: var(--font-mono); font-size: 11px;
  color: var(--ink-mute);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}

.vmb-foot {
  font-family: var(--font-sans); font-size: 10.5px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}

.vmb-transcript {
  margin-top: 2px;
  max-width: 360px;
  font-family: var(--font-display); font-style: italic;
  font-size: 13px; line-height: 1.45;
  color: var(--gold-strong);
  text-align: left;
}
.vmb-transcript-label {
  display: block;
  font-family: var(--font-sans); font-size: 9px; font-weight: 600;
  letter-spacing: 0.20em; text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 2px;
  font-style: normal;
}

@media (max-width: 640px) {
  .vmb-bubble { gap: 8px; padding: 6px 12px 6px 6px; max-width: 86vw; }
  .vmb-wave { max-width: 50vw; }
  .vmb-transcript { max-width: 86vw; }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/conversation/attachment-message/attachment-message.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — attachment-message
 *
 * One editorial attachment card. Hairline-on-paper chassis, extension
 * badge in gold-soft, filename in serif, size in mono tabular. Italic
 * gold footer "Attached by Anna · 14:18". Image attachments add a
 * 320px-wide preview at the top.
 * ──────────────────────────────────────────────────────────────────────── */

.att {
  display: flex;
}
.att.att-out { justify-content: flex-end; }

.att-card {
  width: 100%;
  max-width: 360px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  background: var(--paper);
  overflow: hidden;
}
.att.att-out .att-card {
  background: var(--gold-soft);
  border-color: var(--gold-line);
}

.att-preview {
  background: var(--paper-alt);
  border-bottom: 1px solid var(--hairline-soft);
}
.att-preview img {
  display: block;
  width: 100%; height: auto;
  max-height: 240px;
  -o-object-fit: cover;
     object-fit: cover;
}

.att-row {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px;
}
.att-ext {
  font-family: var(--font-mono); font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.10em;
  color: var(--gold-strong);
  background: var(--gold-soft);
  border: 1px solid var(--gold-line);
  padding: 4px 8px; border-radius: var(--radius-input);
  flex-shrink: 0;
}
.att.att-out .att-ext { background: var(--paper); }

.att-meta { min-width: 0; flex: 1; }
.att-name {
  font-family: var(--font-display); font-size: 15px;
  color: var(--ink); line-height: 1.3;
  letter-spacing: -0.005em;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.att-size {
  font-family: var(--font-mono); font-size: 11px;
  color: var(--ink-mute);
  font-variant-numeric: tabular-nums;
  margin-top: 2px;
}

.att-caption {
  padding: 0 14px 4px;
  font-family: var(--font-sans); font-size: 13px;
  color: var(--ink-soft); line-height: 1.5;
}

.att-foot {
  padding: 8px 14px 12px;
  font-family: var(--font-display); font-style: italic;
  font-size: 12px;
  color: var(--gold-strong);
  border-top: 1px solid var(--hairline-soft);
  margin-top: 4px;
}
.att-sender { font-style: normal; font-weight: 600; color: var(--ink-soft); font-family: var(--font-sans); font-size: 11.5px; }
.att-source { font-style: italic; color: var(--gold-strong); }
.att-time {
  font-family: var(--font-sans); font-style: normal; font-size: 11px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
  .att-card { max-width: 92vw; }
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/conversation/message-thread/message-thread.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — message-thread
 *
 * The conversation pane. Header (channel chip + serif subject +
 * participants) + day-separator + stack of message-bubble entries.
 * ──────────────────────────────────────────────────────────────────────── */

.mthread { padding: 22px 24px 18px; position: relative; }

.mthread-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--hairline-soft);
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.mthread-head-left {
  display: flex; align-items: center; gap: 12px; min-width: 0;
}
.mthread-head .ch-glyph {
  width: 32px; height: 32px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-sans); font-size: 12px; font-weight: 700;
  flex-shrink: 0;
}
.mthread-head .ch-glyph.ch-s   { background: #4A154B; color: #fff; }
.mthread-head .ch-glyph.ch-g   { background: #C5221F; color: #fff; }
.mthread-head .ch-glyph.ch-w   { background: #25D366; color: #fff; }
.mthread-head .ch-glyph.ch-m   { background: var(--ink);     color: var(--paper); }
.mthread-head .ch-glyph.ch-web { background: var(--ink-mute); color: var(--paper); }

.mthread-subject {
  font-family: var(--font-display); font-size: 20px;
  color: var(--ink); line-height: 1.2;
  letter-spacing: -0.005em;
}
.mthread-sub {
  font-family: var(--font-display); font-style: italic;
  font-size: 13px; color: var(--gold-strong);
  margin-top: 4px;
}

.mthread-participants {
  display: flex; flex-wrap: wrap; gap: 10px;
  font-family: var(--font-sans); font-size: 11.5px;
  color: var(--ink-mute);
}
.mthread-p {
  display: inline-flex; align-items: center; gap: 5px;
}
.mthread-p .nm { color: var(--ink-soft); font-weight: 600; }
.mthread-p .hd {
  font-family: var(--font-mono); font-size: 10.5px; color: var(--ink-faint);
}
.mthread-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--ink-faint);
}
.mthread-dot.is-online  { background: var(--ok); }
.mthread-dot.is-away    { background: var(--warn); }
.mthread-dot.is-offline { background: var(--ink-faint); }

.mthread-body {
  display: flex; flex-direction: column; gap: 18px;
}

.mthread-day {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px; align-items: center;
  margin: 6px 0;
}
.mthread-day .hairline { height: 1px; background: var(--hairline-soft); }
.mthread-day .label {
  font-family: var(--font-display); font-style: italic;
  font-size: 13px; color: var(--gold-strong);
  letter-spacing: 0.02em;
}

.mthread-anchor {
  margin-top: 14px;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 12px;
  border-radius: var(--radius-pill);
  background: var(--gold-soft);
  border: 1px solid var(--gold-line);
  font-family: var(--font-sans); font-size: 11px; font-weight: 600;
  color: var(--gold-strong);
  letter-spacing: 0.06em;
}

@media (max-width: 640px) {
  .mthread { padding: 18px 14px 14px; }
  .mthread-subject { font-size: 18px; }
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/conversation/channel-summary-card/channel-summary-card.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — channel-summary-card
 *
 * Right-side detail card for the inbox. Channel glyph + serif name +
 * italic gold subtitle + 4-row stat ledger + optional recent participants
 * and pinned-message previews.
 * ──────────────────────────────────────────────────────────────────────── */

.csc {
  padding: 22px 22px 18px;
  max-width: 360px;
}

.csc-head {
  display: flex; align-items: flex-start; gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--hairline-soft);
}
.csc-head .ch-glyph {
  width: 34px; height: 34px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-sans); font-size: 12px; font-weight: 700;
  flex-shrink: 0;
}
.csc-head .ch-glyph.ch-s   { background: #4A154B; color: #fff; }
.csc-head .ch-glyph.ch-g   { background: #C5221F; color: #fff; }
.csc-head .ch-glyph.ch-w   { background: #25D366; color: #fff; }
.csc-head .ch-glyph.ch-m   { background: var(--ink);     color: var(--paper); }
.csc-head .ch-glyph.ch-web { background: var(--ink-mute); color: var(--paper); }

.csc-name {
  font-family: var(--font-display); font-size: 20px;
  color: var(--ink); margin: 0;
  line-height: 1.2;
  letter-spacing: -0.005em;
}
.csc-sub {
  font-family: var(--font-display); font-style: italic;
  font-size: 13px; color: var(--gold-strong);
  margin-top: 3px;
}
.csc-badge {
  margin-top: 8px;
}

.csc-stats {
  margin: 14px 0 0;
  padding: 0;
}
.csc-stat {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px; align-items: baseline;
  padding: 10px 0;
  border-top: 1px solid var(--hairline-soft);
}
.csc-stat:first-child { border-top: 0; }
.csc-stat dt {
  font-family: var(--font-sans); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--ink-mute);
  margin: 0;
}
.csc-stat dd {
  font-family: var(--font-display); font-size: 14px;
  color: var(--ink);
  margin: 0;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.csc-block { margin-top: 18px; }
.csc-block-eyebrow {
  font-family: var(--font-sans); font-size: 9.5px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold-strong);
  padding-bottom: 8px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--hairline-soft);
}

.csc-people {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 6px;
  font-family: var(--font-sans); font-size: 12.5px;
}
.csc-people .nm { color: var(--ink-soft); font-weight: 600; }
.csc-people .hd {
  margin-left: 6px;
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-faint);
}
.csc-people .src {
  font-family: var(--font-display); font-style: italic;
  color: var(--gold-strong);
}

.csc-pinned {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.csc-pinned li {
  padding-left: 12px;
  border-left: 2px solid var(--gold-line);
}
.csc-pinned .subject {
  font-family: var(--font-display); font-size: 14px;
  color: var(--ink); line-height: 1.3;
  letter-spacing: -0.005em;
}
.csc-pinned .preview {
  font-family: var(--font-display); font-style: italic;
  font-size: 12.5px; color: var(--gold-strong);
  margin-top: 2px; line-height: 1.4;
}
.csc-pinned .when {
  font-family: var(--font-sans); font-size: 10.5px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
  margin-top: 3px;
}

@media (max-width: 640px) {
  .csc { padding: 18px 16px 14px; max-width: 100%; }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/conversation/routing-trace-strip/routing-trace-strip.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — routing-trace-strip
 *
 * Inline cross-channel routing narrative mounted under a selected inbox
 * row. One editorial line, single hairline above, hanging indent on
 * overflow. Live pulse + LIVE lozenge when the chain fired in the last
 * 60 seconds.
 * ──────────────────────────────────────────────────────────────────────── */

.rts {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 14px;
  background: var(--paper-alt);
  border-top: 1px solid var(--hairline-soft);
  /* Hanging indent on wrap — the sequence reads as one paragraph. */
  text-indent: 0;
}

.rts-seq {
  display: inline;
  line-height: 1.7;
  /* Indent any wrapped continuation under the first glyph. */
  padding-left: 22px;
  text-indent: -22px;
}

/* Each hop block stays as a single break-point unit. */
.rts-node {
  display: inline;
  white-space: normal;
}

/* Channel glyph — line-art monogram, 14×14, no fills. Re-uses the brand
 * hue only on the border so the strip reads as ink-on-paper. */
.rts .ch-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  vertical-align: -2px;
  margin-right: 4px;
  position: relative;
  /* Default — overridden per channel below. */
  border: 1px solid var(--ink-mute);
  color: var(--ink-soft);
}
.rts .ch-glyph.ch-s   { border-color: #4A154B; color: #4A154B; }
.rts .ch-glyph.ch-g   { border-color: #C5221F; color: #C5221F; }
.rts .ch-glyph.ch-w   { border-color: #1B8C4E; color: #1B8C4E; }
.rts .ch-glyph.ch-m   { border-color: var(--ink);      color: var(--ink); }
.rts .ch-glyph.ch-web { border-color: var(--ink-mute); color: var(--ink-mute); }

/* Channel name — small-caps sans, the structural anchor of each node. */
.rts-channel {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

/* The literal middle-dot separator after the channel name. */
.rts-mid {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-faint);
}

/* Identity — italic serif, gold-mute. */
.rts-identity {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12px;
  color: var(--ink-mute);
}

/* Arrows — slim, gold-line. Margin reads as breathing room either side. */
.rts-arrow {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--gold-line);
  margin: 0 8px;
}

/* The rule name between origin and the rest of the chain. */
.rts-rule {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12px;
  color: var(--gold-strong);
}

/* Transform middle nodes — dim, no rule-name styling. */
.rts-transform .rts-op {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 11px;
  color: var(--ink-faint);
}
.rts-transform .rts-arrow {
  color: var(--ink-faint);
}

/* Trace deep link — right-aligned, gold sans with oxblood stop. */
.rts-trace {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--gold-strong);
  text-decoration: none;
  white-space: nowrap;
}
.rts-trace .stop {
  color: var(--accent);
  margin-left: 1px;
}
.rts-trace:hover { color: var(--accent); }

/* ── Live pulse on the terminal glyph ────────────────────────────────── */

.rts .ch-glyph.is-live { position: relative; }

.rts-pulse {
  position: absolute;
  top: -3px;
  right: -3px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold);
  /* Pulse first; once the lozenge window closes we ease out over 5s. */
  animation:
    rts-pulse 1.8s ease infinite,
    rts-pulse-fade 0s linear 60s forwards;
}

.rts-live {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 5px;
  border-radius: 2px;
  background: var(--gold-soft);
  color: var(--gold-strong);
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
  vertical-align: 1px;
  /* Hard-disappear at 60s. Pure CSS — survives a server render. */
  animation: rts-live-vanish 0s linear 60s forwards;
}

@keyframes rts-pulse {
  0%   { opacity: 1; }
  100% { opacity: 0.35; }
}

@keyframes rts-pulse-fade {
  to { animation: none; opacity: 0; transition: opacity 5s ease; }
}

@keyframes rts-live-vanish {
  to { opacity: 0; visibility: hidden; }
}

@media (max-width: 640px) {
  .rts {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 8px 12px;
  }
  .rts-trace { align-self: flex-end; }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/agents/_shared.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — agents · shared chassis
 *
 * Tokens reused across every agent control-plane block: the editorial
 * header, the hairline card, status chips, the tri-state grant control.
 * Imported once before the per-block sheets.
 * ──────────────────────────────────────────────────────────────────────── */

/* ── Section header — eyebrow / serif title / lede ────────────────────── */
.agent-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 16px;
  margin-bottom: 22px;
}
.agent-head .agent-title {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--ink);
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin: 4px 0 0;
}
.agent-head .agent-lede {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
  line-height: 1.6;
  max-width: 60ch;
  margin: 8px 0 0;
}

/* ── Status chips — quiet, not SaaS-bright ────────────────────────────── */
.agent-chip {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
}
.agent-chip-active { color: var(--ok); border-color: var(--status-ok-tint); background: var(--status-ok-wash); }
.agent-chip-paused { color: var(--warn); border-color: var(--status-warn-tint); background: var(--status-warn-wash); }
.agent-chip-archived { color: var(--ink-faint); border-color: var(--hairline); background: var(--paper-alt); }
.agent-chip-connected { color: var(--ok); border-color: var(--status-ok-tint); background: var(--status-ok-wash); }
.agent-chip-available { color: var(--ink-mute); border-color: var(--hairline); background: var(--paper-alt); }
.agent-chip-planned { color: var(--gold-strong); border-color: var(--gold); background: var(--gold-soft); }

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/agents/agent-roster/agent-roster.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — agent-roster
 *
 * The agent index. Editorial header with a "New agent" affordance over a
 * stack of agent cards, each a link to `/agents/<id>`.
 * ──────────────────────────────────────────────────────────────────────── */

.agent-roster {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

.agent-roster .ar-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 16px;
  margin-bottom: 22px;
}
.agent-roster .ar-title {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--ink);
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin: 4px 0 0;
}
.agent-roster .ar-lede {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
  line-height: 1.6;
  max-width: 58ch;
  margin: 8px 0 0;
}

.agent-roster .ar-new-btn {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 9px 16px;
  cursor: pointer;
  transition: border-color .14s ease, color .14s ease;
}
.agent-roster .ar-new-btn:hover { border-color: var(--gold); color: var(--gold-strong); }

/* ── Inline composer ──────────────────────────────────────────────────── */
.agent-roster .ar-composer {
  border: 1px solid var(--gold-line, var(--gold));
  background: var(--gold-soft);
  border-radius: var(--radius-card);
  padding: 20px 22px;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.agent-roster .ar-fld { display: flex; flex-direction: column; gap: 6px; }
.agent-roster .ar-fld .lbl {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.agent-roster .ar-fld input {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 9px 12px;
}
.agent-roster .ar-fld input:focus { outline: none; border-color: var(--gold); }
.agent-roster .ar-composer-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.agent-roster .ar-hint { font-family: var(--font-sans); font-size: 11px; color: var(--ink-mute); }
.agent-roster .ar-err { font-family: var(--font-sans); font-size: 11px; color: var(--critical); }
.agent-roster .ar-create-btn {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--paper);
  background: var(--ink);
  border: 1px solid var(--ink);
  border-radius: var(--radius-input);
  padding: 9px 16px;
  cursor: pointer;
}
.agent-roster .ar-create-btn:disabled { opacity: 0.4; cursor: not-allowed; }

/* ── Agent table ──────────────────────────────────────────────────────── */
.agent-roster .ar-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
/* Header row + every data row share ONE column template, so Model /
 * Capabilities / Surface / Status line up exactly down the table. */
.agent-roster .ar-row-head,
.agent-roster .ar-card-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 200px 120px 140px 150px;
  gap: 24px;
  align-items: center;
}
.agent-roster .ar-row-head {
  padding: 0 18px 10px;
  border-bottom: 1px solid var(--hairline);
  margin-bottom: 4px;
}
.agent-roster .ar-col-head {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.agent-roster .ar-card-link {
  padding: 14px 18px;
  border: 1px solid transparent;
  border-radius: var(--radius-card);
  text-decoration: none;
  transition: background .14s ease, border-color .14s ease;
}
.agent-roster .ar-card-link:hover {
  background: var(--paper-alt);
  border-color: var(--hairline);
}
.agent-roster .ar-card-name {
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.agent-roster .ar-card-purpose {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);
  line-height: 1.5;
  margin-top: 3px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.agent-roster .ar-col {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
}
.agent-roster .ar-col.num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}
.agent-roster .ar-col-empty { color: var(--ink-faint); }
.agent-roster .ar-card-flags {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
}
.agent-roster .ar-status {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: var(--radius-pill);
  border: 1px solid transparent;
}
.agent-roster .ar-status-active { color: var(--ok); border-color: var(--status-ok-tint); background: var(--status-ok-wash); }
.agent-roster .ar-status-paused { color: var(--warn); border-color: var(--status-warn-tint); background: var(--status-warn-wash); }
.agent-roster .ar-status-archived { color: var(--ink-faint); border-color: var(--hairline); background: var(--paper-alt); }
.agent-roster .ar-kind {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}
.agent-roster .ar-kind.is-runtime { color: var(--gold-strong); }
.agent-roster .ar-kind.is-governance { color: var(--ink-faint); }

@media (max-width: 860px) {
  .agent-roster { padding: 20px 18px; }
  .agent-roster .ar-head { flex-direction: column; }
  /* Stack each row's cells; drop the header on narrow screens. */
  .agent-roster .ar-row-head { display: none; }
  .agent-roster .ar-card-link {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 14px;
    border-color: var(--hairline);
    border-radius: var(--radius-card);
    margin-bottom: 8px;
  }
  .agent-roster .ar-card-flags { flex-direction: row; }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/agents/agent-profile/agent-profile.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — agent-profile
 *
 * The Build tab. Editorial definition of one agent with an inline edit
 * mode that PATCHes name / purpose / status to /api/agents/<id>.
 * ──────────────────────────────────────────────────────────────────────── */

.agent-profile {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

.agent-profile .ap-name-input {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--ink);
  letter-spacing: -0.01em;
  background: var(--paper-alt);
  border: 1px solid var(--gold);
  border-radius: var(--radius-input);
  padding: 4px 10px;
  margin-top: 4px;
  width: 100%;
  max-width: 28ch;
}
.agent-profile .ap-name-input:focus { outline: none; }

.agent-profile .ap-btn {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border-radius: var(--radius-input);
  padding: 8px 15px;
  cursor: pointer;
}
.agent-profile .ap-btn-ghost {
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
}
.agent-profile .ap-btn-ghost:hover { border-color: var(--gold); color: var(--gold-strong); }
.agent-profile .ap-btn-solid {
  color: var(--paper);
  background: var(--ink);
  border: 1px solid var(--ink);
}
.agent-profile .ap-btn-solid:disabled { opacity: 0.4; cursor: not-allowed; }
.agent-profile .ap-edit-actions { display: flex; gap: 8px; flex-shrink: 0; }

.agent-profile .ap-err {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--critical);
  margin: 0 0 14px;
}
.agent-profile .ap-saved {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ok);
  margin: 0 0 14px;
}

/* ── Definition list ──────────────────────────────────────────────────── */
.agent-profile .ap-defs { margin: 0 0 24px; }
.agent-profile .ap-row {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 24px;
  padding: 13px 0;
  border-bottom: 1px solid var(--hairline);
  align-items: baseline;
}
.agent-profile .ap-row:last-child { border-bottom: 0; }
.agent-profile .ap-row dt {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.agent-profile .ap-row dd {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1.6;
  margin: 0;
}
.agent-profile .ap-empty { color: var(--ink-faint); font-style: italic; }

.agent-profile .ap-mono {
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 1px 6px;
}
.agent-profile .ap-pin {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold-strong);
  margin-left: 10px;
}
.agent-profile .ap-pin-latest { color: var(--ink-faint); }

.agent-profile .ap-row textarea,
.agent-profile .ap-row select,
.agent-profile .ap-input {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--gold);
  border-radius: var(--radius-input);
  padding: 7px 10px;
  width: 100%;
  resize: vertical;
}
.agent-profile .ap-row textarea:focus,
.agent-profile .ap-row select:focus,
.agent-profile .ap-input:focus { outline: none; }
.agent-profile .ap-row select { max-width: 260px; }
.agent-profile .ap-input-mono {
  font-family: var(--font-mono);
  font-size: 12px;
}
.agent-profile .ap-input-short { max-width: 140px; }

/* Inline hint under an edit field. */
.agent-profile .ap-hint {
  display: block;
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-faint);
  line-height: 1.5;
  margin-top: 5px;
}

/* Memory-scope chip row in read mode. */
.agent-profile .ap-scopes {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* ── Archive affordance ───────────────────────────────────────────────── */
.agent-profile .ap-foot {
  border-top: 1px solid var(--hairline);
  padding-top: 18px;
  display: flex;
  justify-content: flex-end;
}
.agent-profile .ap-btn-danger {
  color: var(--critical);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
}
.agent-profile .ap-btn-danger:hover { border-color: var(--critical); }
.agent-profile .ap-btn-danger:disabled { opacity: 0.4; cursor: not-allowed; }

@media (max-width: 720px) {
  .agent-profile { padding: 20px 18px; }
  .agent-profile .ap-row { grid-template-columns: 1fr; gap: 4px; }
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/agents/tool-matrix/tool-matrix.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — tool-matrix
 *
 * The Capabilities tab. Dense editorial rows grouped by category, each
 * with a tri-state grant control. Restrained — no SaaS checkbox grid.
 * ──────────────────────────────────────────────────────────────────────── */

.tool-matrix {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

.tool-matrix .tm-tally {
  flex-shrink: 0;
  text-align: right;
}
.tool-matrix .tm-tally-num {
  display: block;
  font-family: var(--font-display);
  font-size: 32px;
  color: var(--gold-strong);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  line-height: 1;
}
.tool-matrix .tm-tally-lbl {
  display: block;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-top: 5px;
}

.tool-matrix .tm-err {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--critical);
  margin: 0 0 16px;
}

/* ── Category groups ──────────────────────────────────────────────────── */
.tool-matrix .tm-groups { display: flex; flex-direction: column; gap: 26px; }
.tool-matrix .tm-group-head {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-strong);
  padding-bottom: 8px;
  border-bottom: 1px solid var(--hairline);
  margin-bottom: 2px;
}
.tool-matrix .tm-rows { list-style: none; margin: 0; padding: 0; }

/* ── Capability row ───────────────────────────────────────────────────── */
.tool-matrix .tm-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 15px 4px;
  border-bottom: 1px solid var(--hairline);
}
.tool-matrix .tm-row:last-child { border-bottom: 0; }

.tool-matrix .tm-row-top {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.tool-matrix .tm-row-label {
  font-family: var(--font-display);
  font-size: 15px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.tool-matrix .tm-kind {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: var(--radius-input);
  border: 1px solid var(--hairline);
  color: var(--ink-mute);
}
.tool-matrix .tm-kind-mcp-server { color: var(--gold-strong); border-color: var(--gold); }
.tool-matrix .tm-kind-provider { color: var(--accent); border-color: var(--accent-line); }
.tool-matrix .tm-kind-skill { color: var(--ok); border-color: var(--status-ok-tint); }

.tool-matrix .tm-row-desc {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);
  line-height: 1.55;
  margin: 5px 0 0;
  max-width: 64ch;
}
.tool-matrix .tm-row-foot {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 7px;
}
.tool-matrix .tm-source {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.tool-matrix .tm-topic {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--ink-soft);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 1px 6px;
}

/* ── Tri-state grant control ──────────────────────────────────────────── */
.tool-matrix .tm-grant {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 144px;
  justify-content: flex-start;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  padding: 8px 14px;
  border-radius: var(--radius-input);
  cursor: pointer;
  border: 1px solid var(--hairline);
  background: var(--paper-alt);
  color: var(--ink-mute);
  transition: border-color .14s ease, color .14s ease, background .14s ease;
}
.tool-matrix .tm-grant:hover { border-color: var(--ink-mute); }
.tool-matrix .tm-grant.is-busy { opacity: 0.55; cursor: progress; }
.tool-matrix .tm-grant-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

.tool-matrix .tm-grant-null {
  color: var(--ink-faint);
  background: var(--paper);
}
.tool-matrix .tm-grant-null .tm-grant-dot {
  background: transparent;
  border: 1.5px dashed var(--ink-faint);
}
.tool-matrix .tm-grant-allow {
  color: var(--ok);
  border-color: var(--status-ok-tint);
  background: var(--status-ok-wash);
}
.tool-matrix .tm-grant-approval {
  color: var(--warn);
  border-color: var(--status-warn-tint);
  background: var(--status-warn-wash);
}
.tool-matrix .tm-grant-deny {
  color: var(--critical);
  border-color: var(--status-critical-tint);
  background: var(--status-critical-wash);
}

/* A `planned` capability is not grantable — inert, no cursor, no hover. */
.tool-matrix .tm-grant-planned {
  color: var(--ink-faint);
  background: var(--paper);
  border-style: dashed;
  cursor: not-allowed;
}
.tool-matrix .tm-grant-planned .tm-grant-dot {
  background: transparent;
  border: 1.5px dashed var(--ink-faint);
}

@media (max-width: 720px) {
  .tool-matrix { padding: 20px 18px; }
  .tool-matrix .tm-row { grid-template-columns: 1fr; gap: 12px; }
  .tool-matrix .tm-grant { width: 100%; }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/agents/agents-tools-matrix/agents-tools-matrix.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — agents-tools-matrix
 *
 * Cross-agent tool grid. Rows = tools (icon + name + badges), columns =
 * agents (avatar + name) plus a leading "ALL" column. Sticky header and
 * sticky first column so the matrix stays legible at any size. Editorial
 * — restrained gold accents on the ticks, no SaaS-bright fills.
 * ──────────────────────────────────────────────────────────────────────── */

.agents-tools-matrix {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

/* ── Header ──────────────────────────────────────────────────────────── */
.agents-tools-matrix .atm-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 16px;
  margin-bottom: 18px;
}
.agents-tools-matrix .atm-title {
  font-family: var(--font-display);
  font-size: 26px;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin: 4px 0 0;
  font-weight: 400;
}
.agents-tools-matrix .atm-title .stop { color: var(--accent); }
.agents-tools-matrix .atm-lede {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
  line-height: 1.6;
  max-width: 60ch;
  margin: 8px 0 0;
}
.agents-tools-matrix .atm-total {
  flex-shrink: 0;
  text-align: right;
}
.agents-tools-matrix .atm-total-num {
  display: block;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-strong);
}

/* ── Controls ────────────────────────────────────────────────────────── */
.agents-tools-matrix .atm-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}
.agents-tools-matrix .atm-search {
  flex: 1 1 240px;
  min-width: 200px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 8px 12px;
  outline: none;
  transition: border-color .14s ease;
}
.agents-tools-matrix .atm-search:focus { border-color: var(--gold-strong); }
.agents-tools-matrix .atm-check {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-mute);
  cursor: pointer;
}
.agents-tools-matrix .atm-check input {
  accent-color: var(--gold-strong);
  cursor: pointer;
}

.agents-tools-matrix .atm-err {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--critical);
  margin: 0 0 12px;
}

/* ── Table ───────────────────────────────────────────────────────────── */
.agents-tools-matrix .atm-scroll {
  overflow: auto;
  max-width: 100%;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
}
.agents-tools-matrix .atm-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--paper);
}

.agents-tools-matrix .atm-table thead .atm-th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: var(--paper-alt);
  border-bottom: 1px solid var(--hairline);
  padding: 12px 10px;
  text-align: center;
  vertical-align: bottom;
}
.agents-tools-matrix .atm-th-eyebrow {
  display: block;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-strong);
}

.agents-tools-matrix .atm-th-tool {
  position: sticky;
  left: 0;
  z-index: 4;
  text-align: left;
  min-width: 280px;
  padding-left: 16px;
}
.agents-tools-matrix .atm-th-all {
  min-width: 64px;
  border-right: 1px solid var(--hairline);
  background: var(--gold-soft, var(--paper-alt));
}

.agents-tools-matrix .atm-th-agent {
  min-width: 88px;
}
.agents-tools-matrix .atm-th-agent-runtime {
  background: var(--canvas);
}
.agents-tools-matrix .atm-th-name {
  display: block;
  font-family: var(--font-sans);
  font-size: 10.5px;
  color: var(--ink-soft);
  margin-top: 6px;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.agents-tools-matrix .atm-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.agents-tools-matrix .atm-th-agent-runtime .atm-avatar {
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--ink-soft);
}

/* ── Rows ────────────────────────────────────────────────────────────── */
.agents-tools-matrix .atm-row .atm-cell {
  border-bottom: 1px solid var(--hairline);
  padding: 10px;
  text-align: center;
  vertical-align: middle;
  background: var(--paper);
}
.agents-tools-matrix .atm-row:last-child .atm-cell { border-bottom: 0; }

.agents-tools-matrix .atm-row .atm-cell-tool {
  position: sticky;
  left: 0;
  z-index: 2;
  text-align: left;
  background: var(--paper);
  border-right: 1px solid var(--hairline);
  padding-left: 16px;
  min-width: 280px;
}
.agents-tools-matrix .atm-cell-all {
  background: var(--gold-soft, var(--paper-alt));
  border-right: 1px solid var(--hairline);
}
.agents-tools-matrix .atm-cell-agent-runtime { background: var(--canvas); }

.agents-tools-matrix .atm-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--radius-input);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--ink);
  margin-right: 10px;
  vertical-align: middle;
}
.agents-tools-matrix .atm-tool-meta {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  vertical-align: middle;
}
.agents-tools-matrix .atm-tool-name {
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.agents-tools-matrix .atm-badges {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
}
.agents-tools-matrix .atm-badge {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--hairline);
  background: var(--paper-alt);
  color: var(--ink-mute);
  white-space: nowrap;
}
.agents-tools-matrix .atm-badge-comms { color: var(--gold-strong); border-color: var(--gold); background: var(--gold-soft); }
.agents-tools-matrix .atm-badge-dev { color: var(--accent); border-color: var(--accent-line); background: var(--accent-soft); }
.agents-tools-matrix .atm-badge-marketing { color: var(--warn); border-color: var(--status-warn-tint); background: var(--status-warn-wash); }
.agents-tools-matrix .atm-badge-memory { color: var(--ink-soft); border-color: var(--hairline); background: var(--paper-alt); }
.agents-tools-matrix .atm-badge-ai { color: var(--ok); border-color: var(--status-ok-tint); background: var(--status-ok-wash); }
.agents-tools-matrix .atm-badge-knowledge { color: var(--gold-strong); border-color: var(--gold); background: var(--paper-alt); }
.agents-tools-matrix .atm-badge-other { color: var(--ink-mute); }
.agents-tools-matrix .atm-badge-mcp { color: var(--gold-strong); border-color: var(--gold); background: var(--paper-alt); }
.agents-tools-matrix .atm-badge-provider { color: var(--accent); border-color: var(--accent-line); background: var(--paper-alt); }
.agents-tools-matrix .atm-badge-local { color: var(--ink-soft); border-color: var(--hairline); background: var(--paper-alt); }

/* ── Sub-rows (restrictions) ────────────────────────────────────────── */
.agents-tools-matrix .atm-row-sub .atm-cell { background: var(--canvas); }
.agents-tools-matrix .atm-row-sub .atm-cell-agent-runtime { background: var(--paper-alt); }
.agents-tools-matrix .atm-row-sub .atm-cell-tool {
  background: var(--canvas);
  padding-left: 60px;
}
.agents-tools-matrix .atm-cell-sub {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.agents-tools-matrix .atm-sub-eyebrow {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.agents-tools-matrix .atm-sub-label {
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--ink-soft);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 1px 6px;
}
.agents-tools-matrix .atm-cell-dash {
  color: var(--ink-faint);
  font-family: var(--font-sans);
  font-size: 12px;
}

/* ── Tick (checkbox) ─────────────────────────────────────────────────── */
.agents-tools-matrix .atm-tick {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  border: 1.5px solid var(--ink-faint);
  background: var(--paper);
  cursor: pointer;
  color: var(--paper);
  transition: background .12s ease, border-color .12s ease;
  padding: 0;
}
.agents-tools-matrix .atm-tick:hover { border-color: var(--gold-strong); }
.agents-tools-matrix .atm-tick.is-on {
  background: var(--gold-strong);
  border-color: var(--gold-strong);
}
.agents-tools-matrix .atm-tick.is-busy { opacity: 0.55; cursor: progress; }
.agents-tools-matrix .atm-tick.is-disabled,
.agents-tools-matrix .atm-tick:disabled {
  cursor: not-allowed;
}
.agents-tools-matrix .atm-tick.is-disabled.is-on {
  background: var(--gold);
  border-color: var(--gold);
  opacity: 0.7;
}
.agents-tools-matrix .atm-tick.is-disabled.is-off {
  border-style: dashed;
  border-color: var(--hairline);
}
.agents-tools-matrix .atm-tick-glyph {
  display: block;
}

/* ALL column variant — same shape, slightly stronger emphasis. */
.agents-tools-matrix .atm-tick-all {
  width: 24px;
  height: 24px;
}
.agents-tools-matrix .atm-tick-all.is-mixed {
  background: var(--paper);
  border-color: var(--gold-strong);
}
.agents-tools-matrix .atm-tick-mixed {
  display: block;
  width: 10px;
  height: 2px;
  background: var(--gold-strong);
  border-radius: 1px;
}

/* ── Empty state ─────────────────────────────────────────────────────── */
.agents-tools-matrix .atm-empty {
  padding: 28px 16px;
  text-align: center;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-faint);
  font-style: italic;
  background: var(--paper);
}

@media (max-width: 720px) {
  .agents-tools-matrix { padding: 20px 18px; }
  .agents-tools-matrix .atm-controls { gap: 10px; }
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/agents/access-grid/access-grid.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — access-grid
 *
 * The Access tab. Two columns — who may use, who may manage — over an
 * inline composer that POSTs/DELETEs against /api/agents/<id>/access.
 * ──────────────────────────────────────────────────────────────────────── */

.access-grid {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

.access-grid .ag-err {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--critical);
  margin: 0 0 16px;
}

/* ── Two columns ──────────────────────────────────────────────────────── */
.access-grid .ag-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-bottom: 26px;
}
.access-grid .ag-col-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 8px;
}
.access-grid .ag-col-label {
  font-family: var(--font-display);
  font-size: 17px;
  color: var(--ink);
}
.access-grid .ag-col-count {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--gold-strong);
  font-variant-numeric: tabular-nums;
}
.access-grid .ag-col-note {
  font-family: var(--font-sans);
  font-size: 11.5px;
  color: var(--ink-mute);
  line-height: 1.55;
  margin: 8px 0 12px;
}
.access-grid .ag-empty {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-faint);
  font-style: italic;
  margin: 0;
}

.access-grid .ag-grant-list { list-style: none; margin: 0; padding: 0; }
.access-grid .ag-grant {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid var(--hairline);
}
.access-grid .ag-grant:last-child { border-bottom: 0; }
.access-grid .ag-subject-kind {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: var(--radius-input);
  border: 1px solid var(--hairline);
  flex-shrink: 0;
}
.access-grid .ag-subject-person { color: var(--ink-mute); }
.access-grid .ag-subject-role { color: var(--gold-strong); border-color: var(--gold); }
.access-grid .ag-subject-label {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink);
  flex: 1;
}
.access-grid .ag-remove {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-faint);
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 2px 4px;
  transition: color .14s ease;
}
.access-grid .ag-remove:hover { color: var(--critical); }
.access-grid .ag-remove:disabled { opacity: 0.4; cursor: progress; }

/* ── Composer ─────────────────────────────────────────────────────────── */
.access-grid .ag-composer {
  border: 1px solid var(--hairline);
  background: var(--paper-alt);
  border-radius: var(--radius-card);
  padding: 20px 22px;
}
.access-grid .ag-composer-head {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-strong);
  margin-bottom: 14px;
}
.access-grid .ag-composer-grid {
  display: grid;
  grid-template-columns: 0.7fr 1fr 1.2fr 0.9fr;
  gap: 12px;
  margin-bottom: 14px;
}
.access-grid .ag-fld { display: flex; flex-direction: column; gap: 6px; }
.access-grid .ag-fld .lbl {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.access-grid .ag-fld input,
.access-grid .ag-fld select {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 8px 10px;
}
.access-grid .ag-fld input:focus,
.access-grid .ag-fld select:focus { outline: none; border-color: var(--gold); }
.access-grid .ag-composer-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.access-grid .ag-hint { font-family: var(--font-sans); font-size: 11px; color: var(--ink-mute); }
.access-grid .ag-add-btn {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--paper);
  background: var(--ink);
  border: 1px solid var(--ink);
  border-radius: var(--radius-input);
  padding: 9px 16px;
  cursor: pointer;
}
.access-grid .ag-add-btn:disabled { opacity: 0.4; cursor: not-allowed; }

@media (max-width: 720px) {
  .access-grid { padding: 20px 18px; }
  .access-grid .ag-cols { grid-template-columns: 1fr; }
  .access-grid .ag-composer-grid { grid-template-columns: 1fr 1fr; }
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/agents/agent-activity/agent-activity.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — agent-activity
 *
 * The Activity tab. An editorial audit timeline — timestamp gutter, a
 * connecting stem, the action and summary. Read-only.
 * ──────────────────────────────────────────────────────────────────────── */

.agent-activity {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

.agent-activity .aa-empty {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-faint);
  font-style: italic;
  margin: 0;
}

.agent-activity .aa-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}
.agent-activity .aa-event {
  display: grid;
  grid-template-columns: 64px 22px 1fr;
  gap: 14px;
}

/* ── Timestamp gutter ─────────────────────────────────────────────────── */
.agent-activity .aa-when {
  text-align: right;
  padding-top: 14px;
}
.agent-activity .aa-date {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.agent-activity .aa-time {
  display: block;
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
  margin-top: 2px;
}

/* ── Connecting stem ──────────────────────────────────────────────────── */
.agent-activity .aa-stem {
  position: relative;
  display: flex;
  justify-content: center;
}
.agent-activity .aa-stem::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--hairline);
}
.agent-activity .aa-event:first-child .aa-stem::before { top: 18px; }
.agent-activity .aa-event:last-child .aa-stem::before { bottom: auto; height: 18px; }
.agent-activity .aa-node {
  position: relative;
  margin-top: 15px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--paper);
  border: 1.5px solid var(--ink-faint);
}
.agent-activity .aa-node.is-ok { border-color: var(--ok); background: var(--ok); }
.agent-activity .aa-node.is-fail { border-color: var(--critical); background: var(--critical); }

/* ── Event body ───────────────────────────────────────────────────────── */
.agent-activity .aa-body {
  padding: 13px 0 13px;
  border-bottom: 1px solid var(--hairline);
}
.agent-activity .aa-event:last-child .aa-body { border-bottom: 0; }
.agent-activity .aa-body-top {
  display: flex;
  align-items: center;
  gap: 10px;
}
.agent-activity .aa-action {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--gold-strong);
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  border-radius: var(--radius-input);
  padding: 1px 7px;
}
.agent-activity .aa-fail-tag {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--critical);
}
.agent-activity .aa-summary {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1.6;
  margin: 6px 0 0;
  max-width: 66ch;
}
.agent-activity .aa-object {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}
.agent-activity .aa-object-kind {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.agent-activity .aa-object-id {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--ink-mute);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 1px 6px;
}

@media (max-width: 720px) {
  .agent-activity { padding: 20px 18px; }
  .agent-activity .aa-event { grid-template-columns: 52px 18px 1fr; gap: 10px; }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/agents/agent-context/agent-context.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — agent-context
 *
 * The Context view. A read-only window onto the Phase-3 assembled context:
 * token budget, resolved spec, system prompt, standing memory, state
 * snapshot, granted tools.
 * ──────────────────────────────────────────────────────────────────────── */

.agent-context {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

/* ── Section rhythm ───────────────────────────────────────────────────── */
.agent-context .ac-section {
  padding: 18px 0;
  border-bottom: 1px solid var(--hairline);
}
.agent-context .ac-section:first-of-type { padding-top: 0; }
.agent-context .ac-section-last { border-bottom: none; padding-bottom: 0; }
.agent-context .ac-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.agent-context .ac-count {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--ink-mute);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  padding: 1px 7px;
  font-variant-numeric: tabular-nums;
}

/* ── Token meter ──────────────────────────────────────────────────────── */
.agent-context .ac-meter { display: flex; align-items: center; gap: 14px; }
.agent-context .ac-meter-track {
  flex: 1;
  height: 6px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  overflow: hidden;
}
.agent-context .ac-meter-fill {
  height: 100%;
  background: var(--gold-strong);
  border-radius: var(--radius-pill);
}
.agent-context .ac-meter-fill.is-over { background: var(--warn); }
.agent-context .ac-meter-read {
  font-family: var(--font-mono);
  font-size: 12px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.agent-context .ac-meter-now { color: var(--ink); }
.agent-context .ac-meter-cap { color: var(--ink-faint); margin-left: 3px; }

/* ── Resolved spec ────────────────────────────────────────────────────── */
.agent-context .ac-spec {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.agent-context .ac-spec-row { display: flex; gap: 16px; align-items: baseline; }
.agent-context .ac-spec-row dt {
  flex-shrink: 0;
  width: 116px;
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.agent-context .ac-spec-row dd { margin: 0; }
.agent-context .ac-mono {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink);
}
.agent-context .ac-chips { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.agent-context .ac-scope-name {
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 3px 9px;
}
.agent-context .ac-none {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-faint);
  font-style: italic;
  margin: 0;
}

/* ── System prompt ────────────────────────────────────────────────────── */
.agent-context .ac-prompt {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 1.65;
  color: var(--ink-mute);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 14px 16px;
  max-height: 220px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

/* ── Standing memory ──────────────────────────────────────────────────── */
.agent-context .ac-mem {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.agent-context .ac-mem-item {
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 11px 14px;
}
.agent-context .ac-mem-head {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}
.agent-context .ac-mem-title {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}
.agent-context .ac-mem-conf {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--gold-strong);
  font-variant-numeric: tabular-nums;
  margin-left: auto;
}
.agent-context .ac-mem-body {
  font-family: var(--font-sans);
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--ink-mute);
  margin: 5px 0 0;
}

/* ── State snapshot ───────────────────────────────────────────────────── */
.agent-context .ac-snap {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.agent-context .ac-snap-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 9px 14px;
  min-width: 92px;
}
.agent-context .ac-snap-val {
  font-family: var(--font-display);
  font-size: 21px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.agent-context .ac-snap-label {
  font-family: var(--font-sans);
  font-size: 10.5px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-mute);
}

/* ── Tools ────────────────────────────────────────────────────────────── */
.agent-context .ac-tools {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.agent-context .ac-tool { display: flex; gap: 11px; align-items: baseline; }
.agent-context .ac-tool-name {
  flex-shrink: 0;
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 3px 9px;
}
.agent-context .ac-tool-desc {
  font-family: var(--font-sans);
  font-size: 12.5px;
  color: var(--ink-mute);
  line-height: 1.5;
}

@media (max-width: 720px) {
  .agent-context { padding: 20px 18px; }
  .agent-context .ac-spec-row { flex-direction: column; gap: 3px; }
  .agent-context .ac-spec-row dt { width: auto; }
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/agents/agent-test-run/agent-test-run.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — agent-test-run
 *
 * The Test panel. An editorial header over an input form and, after a
 * run, the answer plus a strip of run telemetry.
 * ──────────────────────────────────────────────────────────────────────── */

.agent-test-run {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

/* ── Run form ─────────────────────────────────────────────────────────── */
.agent-test-run .atr-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.agent-test-run .atr-fld {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.agent-test-run .atr-fld .lbl {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.agent-test-run .atr-fld textarea,
.agent-test-run .atr-fld input {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 9px 12px;
  width: 100%;
  resize: vertical;
}
.agent-test-run .atr-fld textarea:focus,
.agent-test-run .atr-fld input:focus { outline: none; border-color: var(--gold); }
.agent-test-run .atr-fld input.atr-mono {
  font-family: var(--font-mono);
  font-size: 12.5px;
}

.agent-test-run .atr-form-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.agent-test-run .atr-hint {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-mute);
}
.agent-test-run .atr-err {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--critical);
}
.agent-test-run .atr-run-btn {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--paper);
  background: var(--ink);
  border: 1px solid var(--ink);
  border-radius: var(--radius-input);
  padding: 9px 16px;
  cursor: pointer;
}
.agent-test-run .atr-run-btn:disabled { opacity: 0.4; cursor: not-allowed; }

/* ── Result ───────────────────────────────────────────────────────────── */
.agent-test-run .atr-result {
  margin-top: 18px;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  background: var(--paper-alt);
  padding: 18px 20px;
}
.agent-test-run .atr-result-text {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink);
  line-height: 1.65;
  white-space: pre-wrap;
}
.agent-test-run .atr-telemetry {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  margin: 16px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--hairline);
}
.agent-test-run .atr-telemetry dt {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.agent-test-run .atr-telemetry dd {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-soft);
  margin: 2px 0 0;
}
.agent-test-run .atr-telemetry dd.num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}
.agent-test-run .atr-trace {
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 1px 6px;
}

@media (max-width: 720px) {
  .agent-test-run { padding: 20px 18px; }
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/agents/approval-queue/approval-queue.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — approval-queue
 *
 * The agent approval queue. A hairline-ruled list of gated tool calls
 * awaiting (or carrying) a human decision. Pending rows carry Approve /
 * Deny controls; decided rows show a quiet status chip.
 * ──────────────────────────────────────────────────────────────────────── */

.approval-queue {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

/* ── Header ───────────────────────────────────────────────────────────── */
.approval-queue .aq-head {
  margin-bottom: 18px;
}
.approval-queue .aq-title {
  font-family: var(--font-display);
  font-size: 23px;
  font-weight: 400;
  color: var(--ink);
  margin: 6px 0 8px;
}
.approval-queue .aq-title .stop { color: var(--accent); }
.approval-queue .aq-lede {
  font-family: var(--font-sans);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--ink-mute);
  margin: 0;
  max-width: 62ch;
}
.approval-queue .aq-lede em { font-style: italic; color: var(--ink-soft); }

/* ── Controls row ─────────────────────────────────────────────────────── */
.approval-queue .aq-controls {
  display: flex;
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}
.approval-queue .aq-count {
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.approval-queue .aq-count-num {
  font-family: var(--font-mono);
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}

/* ── Error line ───────────────────────────────────────────────────────── */
.approval-queue .aq-error {
  font-family: var(--font-sans);
  font-size: 12.5px;
  color: var(--critical);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
  border-radius: var(--radius-input);
  padding: 8px 12px;
  margin: 12px 0 0;
}

/* ── Empty ────────────────────────────────────────────────────────────── */
.approval-queue .aq-empty {
  font-family: var(--font-sans);
  font-size: 13px;
  font-style: italic;
  color: var(--ink-faint);
  margin: 18px 0 0;
}

/* ── List ─────────────────────────────────────────────────────────────── */
.approval-queue .aq-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.approval-queue .aq-row {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 16px 0;
  border-bottom: 1px solid var(--hairline);
}
.approval-queue .aq-row:last-child { border-bottom: none; }
.approval-queue .aq-row-approved,
.approval-queue .aq-row-denied { opacity: 0.72; }

/* ── Row body ─────────────────────────────────────────────────────────── */
.approval-queue .aq-main { flex: 1; min-width: 0; }
.approval-queue .aq-line {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px;
}
.approval-queue .aq-agent {
  font-family: var(--font-sans);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink);
}
.approval-queue .aq-sep {
  font-family: var(--font-sans);
  font-size: 12.5px;
  color: var(--ink-faint);
}
.approval-queue .aq-tool {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 2px 8px;
}
.approval-queue .aq-args {
  font-family: var(--font-sans);
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--ink-mute);
  margin: 6px 0 0;
  word-break: break-word;
}
.approval-queue .aq-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 7px;
}
.approval-queue .aq-topic {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--gold-strong);
}
.approval-queue .aq-when {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
}

/* ── Row side — actions / chip ────────────────────────────────────────── */
.approval-queue .aq-side {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.approval-queue .aq-actions { display: flex; gap: 8px; }
.approval-queue .aq-btn {
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: var(--radius-input);
  border: 1px solid var(--hairline);
  cursor: pointer;
  background: var(--paper);
  color: var(--ink-soft);
}
.approval-queue .aq-btn:disabled { cursor: not-allowed; opacity: 0.5; }
.approval-queue .aq-btn-approve {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
.approval-queue .aq-btn-deny {
  border-color: var(--accent-line);
  color: var(--accent);
}

/* ── Status chip ──────────────────────────────────────────────────────── */
.approval-queue .aq-chip {
  font-family: var(--font-sans);
  font-size: 10.5px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--hairline);
  color: var(--ink-mute);
  background: var(--paper-alt);
}
.approval-queue .aq-chip-pending {
  color: var(--warn);
  border-color: var(--warn);
}
.approval-queue .aq-chip-approved {
  color: var(--ok);
  border-color: var(--ok);
}
.approval-queue .aq-chip-denied {
  color: var(--accent);
  border-color: var(--accent-line);
}

@media (max-width: 720px) {
  .approval-queue { padding: 20px 18px; }
  .approval-queue .aq-row { flex-direction: column; gap: 12px; }
  .approval-queue .aq-side { align-self: flex-start; }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/auth/login-form/login-form.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — login-form
 *
 * The Vo staff sign-in screen. A full-viewport split: an espresso marque
 * panel carrying the brand, beside the cream sign-in form. Antique gold
 * accents, oxblood period, quiet hairlines — never SaaS-bright.
 * ──────────────────────────────────────────────────────────────────────── */

.login-form {
  display: flex;
  min-height: 100vh;
  width: 100%;
  background: var(--paper);
}

/* ── Marque panel — espresso, brand side (desktop) ───────────────────── */
.login-form .lf-marque {
  flex: 1.15;
  display: flex;
  flex-direction: column;
  padding: 56px 60px 44px;
  background:
    radial-gradient(135% 90% at 0% 0%, var(--gold-glow), transparent 58%),
    var(--ink);
  color: var(--paper);
}
.login-form .lf-wordmark {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.login-form .lf-kicker {
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold);
}
.login-form .lf-mark {
  font-family: var(--font-display);
  font-size: 30px;
  line-height: 1;
  color: var(--paper);
}
.login-form .lf-mark-stop { color: var(--gold); }

.login-form .lf-statement {
  margin: auto 0;
  max-width: 460px;
}
.login-form .lf-statement-text {
  font-family: var(--font-display);
  font-size: 32px;
  line-height: 1.34;
  letter-spacing: -0.01em;
  color: var(--paper);
  margin: 0;
}
.login-form .lf-statement-stop { color: var(--gold); }
.login-form .lf-rule {
  width: 46px;
  height: 2px;
  border-radius: var(--radius-pill);
  background: var(--gold);
  margin: 28px 0 18px;
}
.login-form .lf-statement-sub {
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: 0.05em;
  color: var(--canvas-on-dark-mute);
  margin: 0;
}
.login-form .lf-marque-foot {
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--canvas-on-dark-mute);
}

/* ── Form pane — cream, sign-in side ─────────────────────────────────── */
.login-form .lf-formpane {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 32px;
  background: var(--paper);
}
.login-form .lf-form {
  width: 100%;
  max-width: 384px;
}

/* Brand mark — shown only when the marque panel is hidden (narrow). */
.login-form .lf-brand {
  display: none;
  font-family: var(--font-display);
  font-size: 26px;
  color: var(--ink);
  margin-bottom: 28px;
}

.login-form .lf-eyebrow {
  font-family: var(--font-sans);
  font-size: 10.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold-strong);
  margin-bottom: 12px;
}
.login-form .lf-title {
  font-family: var(--font-display);
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
}
.login-form .lf-subtitle {
  font-family: var(--font-sans);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--ink-mute);
  margin: 10px 0 0;
}

/* ── Fields ──────────────────────────────────────────────────────────── */
.login-form .lf-fields {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.login-form .lf-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.login-form .lf-label {
  font-family: var(--font-sans);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.login-form .lf-input {
  box-sizing: border-box;
  width: 100%;
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 12px 14px;
  outline: none;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}
.login-form .lf-input:focus {
  border-color: var(--gold);
  box-shadow: var(--shadow-focus);
}
.login-form .lf-input:disabled {
  color: var(--ink-faint);
  cursor: not-allowed;
}

/* ── Error ───────────────────────────────────────────────────────────── */
.login-form .lf-error {
  font-family: var(--font-sans);
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid var(--accent-line);
  border-radius: var(--radius-input);
  padding: 10px 12px;
  margin: 18px 0 0;
}

/* ── Submit ──────────────────────────────────────────────────────────── */
.login-form .lf-submit {
  box-sizing: border-box;
  width: 100%;
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--paper);
  background: var(--ink);
  border: 1px solid var(--ink);
  border-radius: var(--radius-input);
  padding: 14px 18px;
  cursor: pointer;
  transition: background-color 140ms ease, border-color 140ms ease;
}
.login-form .lf-submit:hover:not(:disabled) {
  background: var(--ink-soft);
  border-color: var(--ink-soft);
}
.login-form .lf-submit:disabled {
  color: var(--ink-faint);
  background: var(--paper-alt);
  border-color: var(--hairline);
  cursor: not-allowed;
}
.login-form .lf-submit-arrow {
  font-size: 13px;
  transition: transform 140ms ease;
}
.login-form .lf-submit:hover:not(:disabled) .lf-submit-arrow {
  transform: translateX(2px);
}

/* ── Footnote ────────────────────────────────────────────────────────── */
.login-form .lf-foot {
  margin: 22px 0 0;
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.03em;
  color: var(--ink-faint);
}

/* ── Maker credit — quiet AI Makers attribution ──────────────────────── */
.login-form .lf-credit {
  margin: 28px 0 0;
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.login-form .lf-credit a {
  color: var(--ink-mute);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 140ms ease, border-color 140ms ease;
}
.login-form .lf-credit a:hover {
  color: var(--gold-strong);
  border-bottom-color: var(--gold);
}

/* ── Responsive — collapse the marque ────────────────────────────────── */
@media (max-width: 880px) {
  .login-form .lf-marque { display: none; }
  .login-form .lf-brand { display: block; }
}
@media (max-width: 480px) {
  .login-form .lf-formpane { padding: 40px 22px; }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/auth/users-admin/users-admin.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — users-admin
 *
 * The staff / users management surface. An editorial roster: one hairline-
 * separated row per user with an initials avatar, role and status chips,
 * and last-login. When the viewer may manage, an "Add staff" composer and
 * per-row editor fold open inline. Quiet, counsel-grade — never SaaS-bright.
 * ──────────────────────────────────────────────────────────────────────── */

.users-admin {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

/* ── Editorial header ─────────────────────────────────────────────────── */
.users-admin .ua-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 16px;
  margin-bottom: 4px;
}
.users-admin .ua-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.users-admin .ua-title {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--ink);
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin: 6px 0 0;
}
.users-admin .ua-title .stop { color: var(--accent); }
.users-admin .ua-lede {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
  line-height: 1.6;
  max-width: 60ch;
  margin: 8px 0 0;
}

.users-admin .ua-add-btn {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 9px 16px;
  cursor: pointer;
  transition: border-color .14s ease, color .14s ease;
}
.users-admin .ua-add-btn:hover { border-color: var(--gold); color: var(--gold-strong); }

/* ── Inline composer / editor — gold-tinted fold-out ──────────────────── */
.users-admin .ua-composer,
.users-admin .ua-editor {
  border: 1px solid var(--gold);
  background: var(--gold-soft);
  border-radius: var(--radius-card);
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.users-admin .ua-composer { margin: 18px 0 4px; }
.users-admin .ua-editor { margin-top: 14px; }

.users-admin .ua-composer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.users-admin .ua-editor-grid {
  display: grid;
  grid-template-columns: minmax(0, 160px) minmax(0, 1fr) minmax(0, 1.4fr);
  gap: 14px;
  align-items: end;
}

.users-admin .ua-fld {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.users-admin .ua-fld-wide { grid-column: auto; }
.users-admin .ua-lbl {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
}
.users-admin .ua-fld input,
.users-admin .ua-fld select {
  box-sizing: border-box;
  width: 100%;
  font-family: var(--font-sans);
  font-size: 13.5px;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 9px 12px;
  outline: none;
  transition: border-color .14s ease, box-shadow .14s ease;
}
.users-admin .ua-fld select { cursor: pointer; }
.users-admin .ua-fld input:focus,
.users-admin .ua-fld select:focus {
  border-color: var(--gold);
  box-shadow: var(--shadow-focus);
}
.users-admin .ua-fld input:disabled,
.users-admin .ua-fld select:disabled {
  color: var(--ink-faint);
  background: var(--paper-alt);
  cursor: not-allowed;
}

/* Status segmented toggle */
.users-admin .ua-toggle {
  display: inline-flex;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  overflow: hidden;
  background: var(--paper);
}
.users-admin .ua-toggle-opt {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-mute);
  background: var(--paper);
  border: none;
  padding: 9px 14px;
  cursor: pointer;
  transition: background-color .14s ease, color .14s ease;
}
.users-admin .ua-toggle-opt + .ua-toggle-opt { border-left: 1px solid var(--hairline); }
.users-admin .ua-toggle-opt.is-on { background: var(--ink); color: var(--paper); }
.users-admin .ua-toggle-opt:disabled { color: var(--ink-faint); cursor: not-allowed; }
.users-admin .ua-toggle-opt.is-on:disabled { background: var(--ink-faint); color: var(--paper); }

.users-admin .ua-composer-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.users-admin .ua-hint {
  font-family: var(--font-sans);
  font-size: 11px;
  line-height: 1.5;
  color: var(--ink-mute);
}
.users-admin .ua-err {
  font-family: var(--font-sans);
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--critical);
}
.users-admin .ua-save-btn {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--paper);
  background: var(--ink);
  border: 1px solid var(--ink);
  border-radius: var(--radius-input);
  padding: 9px 16px;
  cursor: pointer;
  transition: background-color .14s ease;
}
.users-admin .ua-save-btn:hover:not(:disabled) { background: var(--ink-soft); }
.users-admin .ua-save-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* ── Roster ───────────────────────────────────────────────────────────── */
.users-admin .ua-list {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}
.users-admin .ua-empty {
  font-family: var(--font-sans);
  font-size: 13px;
  font-style: italic;
  color: var(--ink-faint);
  padding: 18px 2px;
}
.users-admin .ua-row {
  border-bottom: 1px solid var(--hairline);
}
.users-admin .ua-row:last-child { border-bottom: none; }
.users-admin .ua-row.is-editing { background: var(--paper-alt); }

.users-admin .ua-row-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1.6fr) auto auto auto;
  gap: 20px;
  align-items: center;
  padding: 16px 4px;
}

/* Initials avatar */
.users-admin .ua-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-pill);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  font-family: var(--font-display);
  font-size: 14px;
  letter-spacing: 0.02em;
  color: var(--gold-strong);
}

.users-admin .ua-identity { min-width: 0; }
.users-admin .ua-name {
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.users-admin .ua-you {
  font-family: var(--font-sans);
  font-size: 11px;
  font-style: italic;
  letter-spacing: 0.02em;
  color: var(--ink-faint);
}
.users-admin .ua-email {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Chips — reuse the agents chip vocabulary; role chips local */
.users-admin .ua-flags {
  display: flex;
  align-items: center;
  gap: 7px;
}
.users-admin .ua-role-developer {
  color: var(--gold-strong);
  border-color: var(--gold);
  background: var(--gold-soft);
}
.users-admin .ua-role-admin {
  color: var(--ink-soft);
  border-color: var(--hairline);
  background: var(--paper-alt);
}
.users-admin .ua-role-sales {
  color: var(--ink-faint);
  border-color: var(--hairline);
  background: var(--paper);
}

/* Last seen */
.users-admin .ua-seen {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  min-width: 84px;
}
.users-admin .ua-seen-label {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.users-admin .ua-seen-val {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
}

.users-admin .ua-edit-btn {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-mute);
  background: transparent;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 7px 13px;
  cursor: pointer;
  transition: border-color .14s ease, color .14s ease;
}
.users-admin .ua-edit-btn:hover { border-color: var(--gold); color: var(--gold-strong); }

/* Editor fold sits below the row, indented past the avatar */
.users-admin .ua-row .ua-editor { margin: 0 4px 18px 60px; }

@media (max-width: 720px) {
  .users-admin { padding: 20px 18px; }
  .users-admin .ua-head { flex-direction: column; }
  .users-admin .ua-composer-grid,
  .users-admin .ua-editor-grid {
    grid-template-columns: 1fr;
  }
  .users-admin .ua-row-main {
    grid-template-columns: auto minmax(0, 1fr);
    grid-auto-rows: auto;
    gap: 10px 16px;
  }
  .users-admin .ua-flags,
  .users-admin .ua-seen {
    grid-column: 2;
    align-items: flex-start;
  }
  .users-admin .ua-seen { flex-direction: row; gap: 8px; align-items: baseline; }
  .users-admin .ua-edit-btn { grid-column: 2; justify-self: start; }
  .users-admin .ua-row .ua-editor { margin-left: 4px; }
  .users-admin .ua-composer-foot {
    flex-direction: column;
    align-items: flex-start;
  }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/auth/sessions-panel/sessions-panel.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — sessions-panel
 *
 * The self-service session manager. An editorial roster: one hairline-
 * separated row per active session with a device summary, IP, last-active
 * time, and sign-in date. The caller's current device is marked and locked;
 * every other session can be revoked, with a "sign out everywhere else"
 * action in the header. Quiet, counsel-grade — never SaaS-bright.
 * ──────────────────────────────────────────────────────────────────────── */

.sessions-panel {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

/* ── Editorial header ─────────────────────────────────────────────────── */
.sessions-panel .sp-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 16px;
  margin-bottom: 4px;
}
.sessions-panel .sp-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.sessions-panel .sp-title {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--ink);
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin: 6px 0 0;
}
.sessions-panel .sp-title .stop {
  color: var(--accent);
}
.sessions-panel .sp-lede {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
  line-height: 1.6;
  max-width: 60ch;
  margin: 8px 0 0;
}

/* ── "Sign out everywhere else" — oxblood, deliberate ─────────────────── */
.sessions-panel .sp-revoke-all {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--accent);
  background: var(--paper-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 9px 16px;
  cursor: pointer;
  transition: border-color .14s ease, color .14s ease, background-color .14s ease;
}
.sessions-panel .sp-revoke-all:hover:not(:disabled) {
  border-color: var(--accent);
  background: var(--paper);
}
.sessions-panel .sp-revoke-all:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* ── Error line ───────────────────────────────────────────────────────── */
.sessions-panel .sp-err {
  font-family: var(--font-sans);
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--critical);
  margin: 14px 0 0;
}

/* ── Session roster ───────────────────────────────────────────────────── */
.sessions-panel .sp-list {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
}
.sessions-panel .sp-empty {
  font-family: var(--font-sans);
  font-size: 13px;
  font-style: italic;
  color: var(--ink-faint);
  padding: 18px 2px;
}
.sessions-panel .sp-row {
  border-bottom: 1px solid var(--hairline);
}
.sessions-panel .sp-row:last-child {
  border-bottom: none;
}
.sessions-panel .sp-row.is-current {
  background: var(--gold-soft);
}

.sessions-panel .sp-row-main {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) auto auto;
  gap: 20px;
  align-items: center;
  padding: 16px 4px;
}

/* Identity — device + meta line */
.sessions-panel .sp-identity {
  min-width: 0;
}
.sessions-panel .sp-device {
  font-family: var(--font-display);
  font-size: 16px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.sessions-panel .sp-this {
  font-family: var(--font-sans);
  font-size: 11px;
  font-style: italic;
  letter-spacing: 0.02em;
  color: var(--gold-strong);
}
.sessions-panel .sp-meta {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin-top: 3px;
}
.sessions-panel .sp-ip {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
}
.sessions-panel .sp-dot {
  color: var(--ink-faint);
  font-size: 12px;
}
.sessions-panel .sp-since {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-mute);
}

/* Last active */
.sessions-panel .sp-seen {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  min-width: 88px;
}
.sessions-panel .sp-seen-label {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.sessions-panel .sp-seen-val {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
}

/* Current-session chip */
.sessions-panel .sp-current-chip {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold-strong);
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  border-radius: var(--radius-pill);
  padding: 6px 12px;
}

/* Per-row revoke */
.sessions-panel .sp-revoke-btn {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-mute);
  background: transparent;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 7px 13px;
  cursor: pointer;
  transition: border-color .14s ease, color .14s ease;
}
.sessions-panel .sp-revoke-btn:hover:not(:disabled) {
  border-color: var(--accent);
  color: var(--accent);
}
.sessions-panel .sp-revoke-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

@media (max-width: 720px) {
  .sessions-panel {
    padding: 20px 18px;
  }
  .sessions-panel .sp-head {
    flex-direction: column;
  }
  .sessions-panel .sp-row-main {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-auto-rows: auto;
    gap: 10px 16px;
  }
  .sessions-panel .sp-seen {
    grid-column: 1;
    align-items: flex-start;
    flex-direction: row;
    gap: 8px;
    align-items: baseline;
  }
  .sessions-panel .sp-current-chip,
  .sessions-panel .sp-revoke-btn {
    grid-column: 2;
    justify-self: end;
  }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/chart-of-accounts/chart-of-accounts.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Chart of Accounts — scoped under .chart-of-accounts root.
 * Tokens lifted verbatim from the source HTML (Hanken Grotesk + Fraunces
 * with a teal-green editorial palette). All selectors are nested under
 * the block root to prevent leaking into the rest of the studio. */

.chart-of-accounts {
  --coa-ink: #1e2c27;
  --coa-ink-soft: #3c4843;
  --coa-muted: #6f7c76;
  --coa-canvas: #f3f4f2;
  --coa-paper: #ffffff;
  --coa-accent: #5aa99d;
  --coa-accent-soft: #a7cfc6;
  --coa-accent-strong: #2f6a5c;
  --coa-line: #d9e2dd;
  --coa-line-soft: #e8eeea;
  --coa-warn: #a4504a;

  font-family: 'Hanken Grotesk', -apple-system, 'Helvetica Neue', sans-serif;
  color: var(--coa-ink);
  font-feature-settings: 'tnum' 1;
}

.chart-of-accounts .coa-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 22px;
}
.chart-of-accounts .coa-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--coa-accent);
  margin-bottom: 7px;
}
.chart-of-accounts .coa-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 400;
  font-size: 33px;
  letter-spacing: 0.01em;
  line-height: 1;
}
.chart-of-accounts .coa-sub {
  font-size: 13px;
  color: var(--coa-muted);
  margin-top: 9px;
  max-width: 520px;
  line-height: 1.6;
}
.chart-of-accounts .coa-btn-primary {
  background: var(--coa-accent-strong);
  color: #fff;
  padding: 11px 18px;
  font-size: 13px;
  border-radius: 7px;
  border: 0;
  font-weight: 600;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  cursor: pointer;
}

.chart-of-accounts .coa-summary {
  display: flex;
  gap: 26px;
  flex-wrap: wrap;
  background: var(--coa-paper);
  border: 1px solid var(--coa-line);
  border-radius: 10px;
  padding: 16px 22px;
  margin-bottom: 20px;
}
.chart-of-accounts .coa-stat .coa-sv {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 23px;
  font-weight: 500;
  line-height: 1;
}
.chart-of-accounts .coa-stat .coa-sl {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--coa-muted);
  margin-top: 6px;
}
.chart-of-accounts .coa-stat-div {
  width: 1px;
  background: var(--coa-line-soft);
}

.chart-of-accounts .coa-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.chart-of-accounts .coa-search {
  flex: 1;
  min-width: 220px;
  position: relative;
}
.chart-of-accounts .coa-search input {
  width: 100%;
  font-family: inherit;
  font-size: 13px;
  color: var(--coa-ink);
  border: 1px solid var(--coa-line);
  border-radius: 7px;
  padding: 9px 12px 9px 34px;
  background: var(--coa-paper);
}
.chart-of-accounts .coa-search .coa-si {
  position: absolute;
  left: 11px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.5;
  font-size: 14px;
}
.chart-of-accounts .coa-filter {
  font-family: inherit;
  font-size: 12.5px;
  color: var(--coa-ink-soft);
  border: 1px solid var(--coa-line);
  border-radius: 7px;
  background: var(--coa-paper);
  padding: 9px 12px;
  cursor: pointer;
}

.chart-of-accounts .coa-cls-sec {
  background: var(--coa-paper);
  border: 1px solid var(--coa-line);
  border-radius: 10px;
  margin-bottom: 12px;
  overflow: hidden;
}
.chart-of-accounts .coa-cls-head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: var(--coa-paper);
  border-bottom: 1px solid var(--coa-line-soft);
}
.chart-of-accounts .coa-cls-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex: none;
}
.chart-of-accounts .coa-grp-bs .coa-cls-dot {
  background: var(--coa-accent-strong);
}
.chart-of-accounts .coa-grp-pl .coa-cls-dot {
  background: var(--coa-accent);
}
.chart-of-accounts .coa-grp-memo .coa-cls-dot {
  background: var(--coa-muted);
}
.chart-of-accounts .coa-cls-name {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 16px;
  font-weight: 500;
}
.chart-of-accounts .coa-cls-stmt {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--coa-muted);
}
.chart-of-accounts .coa-cls-count {
  margin-left: auto;
  font-size: 11px;
  font-weight: 700;
  color: var(--coa-ink-soft);
  background: var(--coa-canvas);
  border: 1px solid var(--coa-line-soft);
  border-radius: 20px;
  padding: 2px 10px;
}

.chart-of-accounts .coa-tbl {
  width: 100%;
  border-collapse: collapse;
}
.chart-of-accounts .coa-tbl thead th {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--coa-muted);
  text-align: left;
  padding: 10px 16px;
  background: var(--coa-canvas);
  border-bottom: 1px solid var(--coa-line-soft);
}
.chart-of-accounts .coa-tbl tbody td {
  padding: 11px 16px;
  border-bottom: 1px solid var(--coa-line-soft);
  font-size: 12.5px;
  vertical-align: middle;
}
.chart-of-accounts .coa-tbl tbody tr:last-child td {
  border-bottom: 0;
}
.chart-of-accounts .coa-c-code {
  font-feature-settings: 'tnum' 1;
  font-weight: 700;
  color: var(--coa-accent-strong);
}
.chart-of-accounts .coa-acc-name {
  font-weight: 600;
  color: var(--coa-ink);
}
.chart-of-accounts .coa-acc-link {
  font-size: 10.5px;
  color: var(--coa-muted);
  margin-top: 2px;
}
.chart-of-accounts .coa-acc-link.coa-contra {
  color: var(--coa-warn);
}
.chart-of-accounts .coa-c-sub {
  color: var(--coa-muted);
  font-size: 11.5px;
}
.chart-of-accounts .coa-bal {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 3px 9px;
  border-radius: 5px;
}
.chart-of-accounts .coa-bal.coa-dr {
  background: #e3efea;
  color: var(--coa-accent-strong);
}
.chart-of-accounts .coa-bal.coa-cr {
  background: #f4e7ce;
  color: #8a6a37;
}
.chart-of-accounts .coa-st {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 10px 3px 8px;
  border-radius: 20px;
}
.chart-of-accounts .coa-st::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}
.chart-of-accounts .coa-st.coa-active {
  background: #e3efea;
  color: var(--coa-accent-strong);
}
.chart-of-accounts .coa-st.coa-dormant {
  background: #eceeec;
  color: var(--coa-muted);
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/journal/journal.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Journal — scoped under .journal root. */

.journal {
  --jrn-ink: #1e2c27;
  --jrn-ink-soft: #3c4843;
  --jrn-muted: #6f7c76;
  --jrn-canvas: #f3f4f2;
  --jrn-paper: #ffffff;
  --jrn-accent: #5aa99d;
  --jrn-accent-strong: #2f6a5c;
  --jrn-line: #d9e2dd;
  --jrn-line-soft: #e8eeea;
  --jrn-warn: #a4504a;

  font-family: 'Hanken Grotesk', -apple-system, 'Helvetica Neue', sans-serif;
  color: var(--jrn-ink);
  font-feature-settings: 'tnum' 1;
}

.journal .jrn-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 22px;
}
.journal .jrn-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--jrn-accent);
  margin-bottom: 7px;
}
.journal .jrn-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 400;
  font-size: 33px;
  letter-spacing: 0.01em;
  line-height: 1;
}
.journal .jrn-sub {
  font-size: 13px;
  color: var(--jrn-muted);
  margin-top: 9px;
  max-width: 620px;
  line-height: 1.6;
}
.journal .jrn-btn-primary {
  background: var(--jrn-accent-strong);
  color: #fff;
  padding: 11px 18px;
  font-size: 13px;
  border-radius: 7px;
  border: 0;
  font-weight: 600;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  cursor: pointer;
}

.journal .jrn-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 22px;
}
.journal .jrn-card {
  background: var(--jrn-paper);
  border: 1px solid var(--jrn-line);
  border-radius: 10px;
  padding: 16px 18px;
}
.journal .jrn-cl {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--jrn-muted);
  margin-bottom: 9px;
}
.journal .jrn-cdot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}
.journal .jrn-cdot.jrn-posted {
  background: var(--jrn-accent-strong);
}
.journal .jrn-cdot.jrn-total {
  background: var(--jrn-accent);
}
.journal .jrn-cdot.jrn-draft {
  background: #c79a4e;
}
.journal .jrn-cdot.jrn-manual {
  background: var(--jrn-ink);
}
.journal .jrn-cv {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.1;
}
.journal .jrn-cur {
  font-size: 18px;
  color: var(--jrn-muted);
  margin-right: 4px;
}
.journal .jrn-cs {
  font-size: 11px;
  color: var(--jrn-muted);
  margin-top: 5px;
}

.journal .jrn-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.journal .jrn-search {
  flex: 1;
  min-width: 240px;
  position: relative;
}
.journal .jrn-search input {
  width: 100%;
  font-family: inherit;
  font-size: 13px;
  border: 1px solid var(--jrn-line);
  border-radius: 7px;
  padding: 9px 12px 9px 34px;
  background: var(--jrn-paper);
}
.journal .jrn-si {
  position: absolute;
  left: 11px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.5;
}
.journal .jrn-filter {
  font-family: inherit;
  font-size: 12.5px;
  color: var(--jrn-ink-soft);
  border: 1px solid var(--jrn-line);
  border-radius: 7px;
  background: var(--jrn-paper);
  padding: 9px 12px;
  cursor: pointer;
}

.journal .jrn-chips {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.journal .jrn-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  color: var(--jrn-ink-soft);
  background: var(--jrn-paper);
  border: 1px solid var(--jrn-line);
  border-radius: 20px;
  padding: 5px 12px;
  cursor: pointer;
}
.journal .jrn-chip.jrn-on {
  background: var(--jrn-accent-strong);
  color: #fff;
  border-color: var(--jrn-accent-strong);
}
.journal .jrn-chip .jrn-n {
  font-size: 11px;
  opacity: 0.7;
  font-weight: 700;
}

.journal .jrn-tablewrap {
  background: var(--jrn-paper);
  border: 1px solid var(--jrn-line);
  border-radius: 10px;
  overflow: hidden;
}
.journal table {
  width: 100%;
  border-collapse: collapse;
}
.journal table thead th {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--jrn-muted);
  text-align: left;
  padding: 11px 16px;
  background: var(--jrn-canvas);
  border-bottom: 1px solid var(--jrn-line-soft);
}
.journal table .num {
  text-align: right;
}
.journal .jrn-je-row td {
  padding: 13px 16px;
  border-bottom: 1px solid var(--jrn-line-soft);
  font-size: 12.5px;
  vertical-align: top;
}
.journal .jrn-je-no {
  font-feature-settings: 'tnum' 1;
  font-weight: 700;
  color: var(--jrn-accent-strong);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.journal .jrn-je-date {
  font-size: 10.5px;
  color: var(--jrn-muted);
  margin-top: 4px;
}
.journal .jrn-narr {
  font-weight: 500;
  color: var(--jrn-ink);
}
.journal .jrn-src-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 2px 8px;
  border-radius: 5px;
  margin-top: 6px;
  background: var(--jrn-canvas);
  color: var(--jrn-ink-soft);
}
.journal .jrn-src-tag.jrn-src-invoice {
  background: #f4e7ce;
  color: #8a6a37;
}
.journal .jrn-src-tag.jrn-src-receipt {
  background: #e3efea;
  color: var(--jrn-accent-strong);
}
.journal .jrn-src-tag.jrn-src-expense {
  background: #f3e1dc;
  color: var(--jrn-warn);
}
.journal .jrn-src-tag.jrn-src-settlement {
  background: #e6ecf2;
  color: #3a6a8a;
}
.journal .jrn-src-tag.jrn-src-manual {
  background: #eceeec;
  color: var(--jrn-muted);
}
.journal .jrn-je-amt {
  font-feature-settings: 'tnum' 1;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 14px;
}
.journal .jrn-st {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 10px 3px 8px;
  border-radius: 20px;
}
.journal .jrn-st::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}
.journal .jrn-st.jrn-posted {
  background: #e3efea;
  color: var(--jrn-accent-strong);
}
.journal .jrn-st.jrn-draft {
  background: #eceeec;
  color: var(--jrn-muted);
}
.journal .jrn-st.jrn-reversed {
  background: #f3e1dc;
  color: var(--jrn-warn);
}

.journal .jrn-je-detail td {
  padding: 0 16px 14px;
  background: var(--jrn-canvas);
  border-bottom: 1px solid var(--jrn-line-soft);
}
.journal .jrn-lines {
  border: 1px solid var(--jrn-line-soft);
  border-radius: 7px;
  background: var(--jrn-paper);
  padding: 4px 0;
  margin-top: 6px;
}
.journal .jrn-lrow {
  display: grid;
  grid-template-columns: 1fr 110px 110px;
  font-size: 12px;
  padding: 7px 14px;
}
.journal .jrn-lrow.jrn-lhead {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--jrn-muted);
  border-bottom: 1px solid var(--jrn-line-soft);
}
.journal .jrn-lrow.jrn-ltot {
  border-top: 1px solid var(--jrn-line-soft);
  font-weight: 700;
}
.journal .jrn-lrow .jrn-l-dr,
.journal .jrn-lrow .jrn-l-cr {
  text-align: right;
  font-feature-settings: 'tnum' 1;
}
.journal .jrn-l-acct {
  display: flex;
  align-items: center;
  gap: 10px;
}
.journal .jrn-ac {
  font-feature-settings: 'tnum' 1;
  font-weight: 700;
  color: var(--jrn-accent-strong);
  font-size: 11px;
  background: #e3efea;
  border-radius: 4px;
  padding: 1px 6px;
}

.journal .jrn-footnote {
  margin-top: 16px;
  padding: 14px 18px;
  font-size: 12px;
  color: var(--jrn-muted);
  line-height: 1.6;
  background: var(--jrn-paper);
  border: 1px solid var(--jrn-line);
  border-radius: 10px;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/general-ledger/general-ledger.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* General Ledger — scoped under .general-ledger root. */

.general-ledger {
  --gl-ink: #1e2c27;
  --gl-ink-soft: #3c4843;
  --gl-muted: #6f7c76;
  --gl-canvas: #f3f4f2;
  --gl-paper: #ffffff;
  --gl-accent: #5aa99d;
  --gl-accent-strong: #2f6a5c;
  --gl-line: #d9e2dd;
  --gl-line-soft: #e8eeea;
  --gl-warn: #a4504a;

  font-family: 'Hanken Grotesk', -apple-system, 'Helvetica Neue', sans-serif;
  color: var(--gl-ink);
  font-feature-settings: 'tnum' 1;
}

.general-ledger .gl-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 22px;
}
.general-ledger .gl-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gl-accent);
  margin-bottom: 7px;
}
.general-ledger .gl-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 400;
  font-size: 33px;
  letter-spacing: 0.01em;
  line-height: 1;
}
.general-ledger .gl-sub {
  font-size: 13px;
  color: var(--gl-muted);
  margin-top: 9px;
  max-width: 620px;
  line-height: 1.6;
}
.general-ledger .gl-btn-ghost {
  background: transparent;
  color: var(--gl-ink-soft);
  border: 1px solid var(--gl-line);
  border-radius: 7px;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  padding: 10px 16px;
  cursor: pointer;
}

.general-ledger .gl-pickbar {
  display: flex;
  gap: 18px;
  align-items: center;
  background: var(--gl-paper);
  border: 1px solid var(--gl-line);
  border-radius: 10px;
  padding: 14px 18px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.general-ledger .gl-pickgroup {
  display: flex;
  align-items: center;
  gap: 10px;
}
.general-ledger .gl-pickgroup label {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--gl-muted);
}
.general-ledger .gl-acctpick {
  font-family: inherit;
  font-size: 13px;
  color: var(--gl-ink);
  border: 1px solid var(--gl-line);
  border-radius: 7px;
  padding: 7px 11px;
  background: var(--gl-paper);
  min-width: 280px;
}
.general-ledger .gl-acctmeta {
  margin-left: auto;
  font-size: 11px;
  color: var(--gl-muted);
}

.general-ledger .gl-quick {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.general-ledger .gl-ql {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--gl-muted);
  margin-right: 4px;
}
.general-ledger .gl-qchip {
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  color: var(--gl-ink-soft);
  background: var(--gl-paper);
  border: 1px solid var(--gl-line);
  border-radius: 20px;
  padding: 5px 12px;
  cursor: pointer;
}
.general-ledger .gl-qchip.gl-on {
  background: var(--gl-accent-strong);
  color: #fff;
  border-color: var(--gl-accent-strong);
}

.general-ledger .gl-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 20px;
}
.general-ledger .gl-card {
  background: var(--gl-paper);
  border: 1px solid var(--gl-line);
  border-radius: 10px;
  padding: 16px 18px;
}
.general-ledger .gl-cl {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--gl-muted);
  margin-bottom: 9px;
}
.general-ledger .gl-cdot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}
.general-ledger .gl-cv {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.1;
}
.general-ledger .gl-cur {
  font-size: 17px;
  color: var(--gl-muted);
  margin-right: 4px;
}
.general-ledger .gl-drcr {
  font-size: 10.5px;
  font-weight: 700;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 4px;
  letter-spacing: 0.04em;
  background: #e3efea;
  color: var(--gl-accent-strong);
}
.general-ledger .gl-drcr.gl-cr {
  background: #f4e7ce;
  color: #8a6a37;
}
.general-ledger .gl-cs {
  font-size: 11px;
  color: var(--gl-muted);
  margin-top: 5px;
}

.general-ledger .gl-tablewrap {
  background: var(--gl-paper);
  border: 1px solid var(--gl-line);
  border-radius: 10px;
  overflow: hidden;
}
.general-ledger table {
  width: 100%;
  border-collapse: collapse;
}
.general-ledger table thead th {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--gl-muted);
  text-align: left;
  padding: 11px 16px;
  background: var(--gl-canvas);
  border-bottom: 1px solid var(--gl-line-soft);
}
.general-ledger table .num {
  text-align: right;
  font-feature-settings: 'tnum' 1;
}
.general-ledger table tbody td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--gl-line-soft);
  font-size: 12.5px;
  vertical-align: top;
}
.general-ledger .gl-date {
  color: var(--gl-muted);
  font-size: 11.5px;
}
.general-ledger .gl-je {
  font-weight: 700;
  color: var(--gl-accent-strong);
}
.general-ledger .gl-src {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--gl-muted);
  text-transform: uppercase;
  margin-top: 3px;
}
.general-ledger .gl-bal {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 14px;
  font-weight: 500;
}

.general-ledger .gl-footnote {
  margin-top: 16px;
  padding: 14px 18px;
  font-size: 12px;
  color: var(--gl-muted);
  line-height: 1.6;
  background: var(--gl-paper);
  border: 1px solid var(--gl-line);
  border-radius: 10px;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/invoices/invoices.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Invoices — scoped under .invoices root. */

.invoices {
  --inv-ink: #1e2c27;
  --inv-ink-soft: #3c4843;
  --inv-muted: #6f7c76;
  --inv-canvas: #f3f4f2;
  --inv-paper: #ffffff;
  --inv-accent: #5aa99d;
  --inv-accent-strong: #2f6a5c;
  --inv-line: #d9e2dd;
  --inv-line-soft: #e8eeea;
  --inv-warn: #a4504a;
  --inv-gold: #c79a4e;

  font-family: 'Hanken Grotesk', -apple-system, 'Helvetica Neue', sans-serif;
  color: var(--inv-ink);
  font-feature-settings: 'tnum' 1;
}

.invoices .inv-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 22px;
}
.invoices .inv-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--inv-accent);
  margin-bottom: 7px;
}
.invoices .inv-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 400;
  font-size: 33px;
  letter-spacing: 0.01em;
  line-height: 1;
}
.invoices .inv-sub {
  font-size: 13px;
  color: var(--inv-muted);
  margin-top: 9px;
  max-width: 620px;
  line-height: 1.6;
}
.invoices .inv-btn-primary {
  background: var(--inv-accent-strong);
  color: #fff;
  padding: 11px 18px;
  font-size: 13px;
  border-radius: 7px;
  border: 0;
  font-weight: 600;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  cursor: pointer;
}

.invoices .inv-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 22px;
}
.invoices .inv-card {
  background: var(--inv-paper);
  border: 1px solid var(--inv-line);
  border-radius: 10px;
  padding: 16px 18px;
}
.invoices .inv-cl {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--inv-muted);
  margin-bottom: 9px;
}
.invoices .inv-cdot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}
.invoices .inv-cdot.inv-neutral {
  background: var(--inv-muted);
}
.invoices .inv-cdot.inv-overdue {
  background: var(--inv-warn);
}
.invoices .inv-cdot.inv-paid {
  background: var(--inv-accent-strong);
}
.invoices .inv-cdot.inv-revenue {
  background: var(--inv-accent);
}
.invoices .inv-cv {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.1;
}
.invoices .inv-cur {
  font-size: 17px;
  color: var(--inv-muted);
  margin-right: 4px;
}
.invoices .inv-cs {
  font-size: 11px;
  color: var(--inv-muted);
  margin-top: 5px;
}

.invoices .inv-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.invoices .inv-search {
  flex: 1;
  min-width: 240px;
  position: relative;
}
.invoices .inv-search input {
  width: 100%;
  font-family: inherit;
  font-size: 13px;
  border: 1px solid var(--inv-line);
  border-radius: 7px;
  padding: 9px 12px 9px 34px;
  background: var(--inv-paper);
}
.invoices .inv-si {
  position: absolute;
  left: 11px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.5;
}
.invoices .inv-filter {
  font-family: inherit;
  font-size: 12.5px;
  color: var(--inv-ink-soft);
  border: 1px solid var(--inv-line);
  border-radius: 7px;
  background: var(--inv-paper);
  padding: 9px 12px;
  cursor: pointer;
}

.invoices .inv-chips {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.invoices .inv-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  color: var(--inv-ink-soft);
  background: var(--inv-paper);
  border: 1px solid var(--inv-line);
  border-radius: 20px;
  padding: 5px 12px;
  cursor: pointer;
}
.invoices .inv-chip.inv-on {
  background: var(--inv-accent-strong);
  color: #fff;
  border-color: var(--inv-accent-strong);
}
.invoices .inv-chip .inv-cdot {
  width: 6px;
  height: 6px;
}
.invoices .inv-chip .inv-n {
  font-size: 11px;
  opacity: 0.7;
  font-weight: 700;
}

.invoices .inv-tablewrap {
  background: var(--inv-paper);
  border: 1px solid var(--inv-line);
  border-radius: 10px;
  overflow: hidden;
}
.invoices table {
  width: 100%;
  border-collapse: collapse;
}
.invoices table thead th {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--inv-muted);
  text-align: left;
  padding: 11px 16px;
  background: var(--inv-canvas);
  border-bottom: 1px solid var(--inv-line-soft);
}
.invoices table .num {
  text-align: right;
  font-feature-settings: 'tnum' 1;
}
.invoices table tbody td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--inv-line-soft);
  font-size: 12.5px;
  vertical-align: top;
}
.invoices .inv-no {
  font-weight: 700;
  color: var(--inv-accent-strong);
}
.invoices .inv-no-link {
  text-decoration: none;
}
.invoices .inv-no-link:hover {
  text-decoration: underline;
}
.invoices .inv-guest {
  font-weight: 600;
  color: var(--inv-ink);
}
.invoices .inv-guest-sub {
  font-size: 11px;
  color: var(--inv-muted);
  margin-top: 3px;
}
.invoices .inv-date {
  font-size: 12px;
  color: var(--inv-ink-soft);
}
.invoices .inv-date-sub {
  font-size: 11px;
  color: var(--inv-muted);
  margin-top: 2px;
}
.invoices .inv-date-sub.inv-overdue-due {
  color: var(--inv-warn);
}
.invoices .inv-amt {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 15px;
  font-weight: 500;
}
.invoices .inv-ccy-pill {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-left: 6px;
  background: var(--inv-canvas);
  color: var(--inv-muted);
  border-radius: 4px;
  padding: 1px 6px;
  vertical-align: middle;
}
.invoices .inv-rev {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 13px;
  color: var(--inv-accent-strong);
}
.invoices .inv-rev-sub {
  font-size: 10.5px;
  color: var(--inv-muted);
  margin-top: 2px;
}
.invoices .inv-st {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 10px 3px 8px;
  border-radius: 20px;
}
.invoices .inv-st::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}
.invoices .inv-st.inv-st-draft {
  background: #eceeec;
  color: var(--inv-muted);
}
.invoices .inv-st.inv-st-pending {
  background: #f8efdc;
  color: var(--inv-gold);
}
.invoices .inv-st.inv-st-approved {
  background: #e6ecf2;
  color: #3a6a8a;
}
.invoices .inv-st.inv-st-sent {
  background: #ebeaf2;
  color: #5a5f8a;
}
.invoices .inv-st.inv-st-paid {
  background: #e3efea;
  color: var(--inv-accent-strong);
}
.invoices .inv-st.inv-st-overdue {
  background: #f3e1dc;
  color: var(--inv-warn);
}
.invoices .inv-st.inv-st-voided {
  background: #eceeec;
  color: var(--inv-muted);
}
.invoices .inv-st.inv-st-partial {
  background: #e6ecf2;
  color: #3a6a8a;
}

.invoices .inv-footnote {
  margin-top: 16px;
  padding: 14px 18px;
  font-size: 12px;
  color: var(--inv-muted);
  line-height: 1.6;
  background: var(--inv-paper);
  border: 1px solid var(--inv-line);
  border-radius: 10px;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/receipts/receipts.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Receipts — scoped under .receipts root. */

.receipts {
  --rcp-ink: #1e2c27;
  --rcp-ink-soft: #3c4843;
  --rcp-muted: #6f7c76;
  --rcp-canvas: #f3f4f2;
  --rcp-paper: #ffffff;
  --rcp-accent: #5aa99d;
  --rcp-accent-strong: #2f6a5c;
  --rcp-line: #d9e2dd;
  --rcp-line-soft: #e8eeea;
  --rcp-warn: #a4504a;
  --rcp-gold: #c79a4e;

  font-family: 'Hanken Grotesk', -apple-system, 'Helvetica Neue', sans-serif;
  color: var(--rcp-ink);
  font-feature-settings: 'tnum' 1;
}

.receipts .rcp-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 22px;
}
.receipts .rcp-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--rcp-accent);
  margin-bottom: 7px;
}
.receipts .rcp-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 400;
  font-size: 33px;
  letter-spacing: 0.01em;
  line-height: 1;
}
.receipts .rcp-sub {
  font-size: 13px;
  color: var(--rcp-muted);
  margin-top: 9px;
  max-width: 620px;
  line-height: 1.6;
}
.receipts .rcp-btn-primary {
  background: var(--rcp-accent-strong);
  color: #fff;
  padding: 11px 18px;
  font-size: 13px;
  border-radius: 7px;
  border: 0;
  font-weight: 600;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  cursor: pointer;
}

.receipts .rcp-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 22px;
}
.receipts .rcp-card {
  background: var(--rcp-paper);
  border: 1px solid var(--rcp-line);
  border-radius: 10px;
  padding: 16px 18px;
}
.receipts .rcp-cl {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--rcp-muted);
  margin-bottom: 9px;
}
.receipts .rcp-cdot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}
.receipts .rcp-cdot.rcp-cleared {
  background: var(--rcp-accent-strong);
}
.receipts .rcp-cdot.rcp-revenue {
  background: var(--rcp-accent);
}
.receipts .rcp-cdot.rcp-held {
  background: var(--rcp-muted);
}
.receipts .rcp-cdot.rcp-pending {
  background: var(--rcp-gold);
}
.receipts .rcp-cdot.rcp-neutral {
  background: var(--rcp-muted);
}
.receipts .rcp-cdot.rcp-voided {
  background: var(--rcp-warn);
}
.receipts .rcp-cv {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.1;
}
.receipts .rcp-cur {
  font-size: 17px;
  color: var(--rcp-muted);
  margin-right: 4px;
}
.receipts .rcp-cs {
  font-size: 11px;
  color: var(--rcp-muted);
  margin-top: 5px;
}

.receipts .rcp-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.receipts .rcp-search {
  flex: 1;
  min-width: 240px;
  position: relative;
}
.receipts .rcp-search input {
  width: 100%;
  font-family: inherit;
  font-size: 13px;
  border: 1px solid var(--rcp-line);
  border-radius: 7px;
  padding: 9px 12px 9px 34px;
  background: var(--rcp-paper);
}
.receipts .rcp-si {
  position: absolute;
  left: 11px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.5;
}
.receipts .rcp-filter {
  font-family: inherit;
  font-size: 12.5px;
  color: var(--rcp-ink-soft);
  border: 1px solid var(--rcp-line);
  border-radius: 7px;
  background: var(--rcp-paper);
  padding: 9px 12px;
  cursor: pointer;
}

.receipts .rcp-chips {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.receipts .rcp-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  color: var(--rcp-ink-soft);
  background: var(--rcp-paper);
  border: 1px solid var(--rcp-line);
  border-radius: 20px;
  padding: 5px 12px;
  cursor: pointer;
}
.receipts .rcp-chip.rcp-on {
  background: var(--rcp-accent-strong);
  color: #fff;
  border-color: var(--rcp-accent-strong);
}
.receipts .rcp-chip .rcp-cdot {
  width: 6px;
  height: 6px;
}
.receipts .rcp-chip .rcp-n {
  font-size: 11px;
  opacity: 0.7;
  font-weight: 700;
}

.receipts .rcp-tablewrap {
  background: var(--rcp-paper);
  border: 1px solid var(--rcp-line);
  border-radius: 10px;
  overflow: hidden;
}
.receipts table {
  width: 100%;
  border-collapse: collapse;
}
.receipts table thead th {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--rcp-muted);
  text-align: left;
  padding: 11px 16px;
  background: var(--rcp-canvas);
  border-bottom: 1px solid var(--rcp-line-soft);
}
.receipts table .num {
  text-align: right;
  font-feature-settings: 'tnum' 1;
}
.receipts table tbody td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--rcp-line-soft);
  font-size: 12.5px;
  vertical-align: top;
}
.receipts .rcp-no {
  font-weight: 700;
  color: var(--rcp-accent-strong);
}
.receipts .rcp-type {
  font-size: 10.5px;
  color: var(--rcp-muted);
  margin-top: 2px;
}
.receipts .rcp-guest {
  font-weight: 600;
  color: var(--rcp-ink);
}
.receipts .rcp-guest-sub {
  font-size: 11px;
  color: var(--rcp-muted);
  margin-top: 3px;
}
.receipts .rcp-date {
  font-size: 12px;
  color: var(--rcp-ink-soft);
}
.receipts .rcp-date-sub {
  font-size: 11px;
  color: var(--rcp-muted);
  margin-top: 2px;
}
.receipts .rcp-amt {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 15px;
  font-weight: 500;
}
.receipts .rcp-ccy-pill {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-left: 6px;
  background: var(--rcp-canvas);
  color: var(--rcp-muted);
  border-radius: 4px;
  padding: 1px 6px;
  vertical-align: middle;
}
.receipts .rcp-rev {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 13px;
  color: var(--rcp-accent-strong);
}
.receipts .rcp-rev-sub {
  font-size: 10.5px;
  color: var(--rcp-muted);
  margin-top: 2px;
}
.receipts .rcp-st {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 10px 3px 8px;
  border-radius: 20px;
}
.receipts .rcp-st::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}
.receipts .rcp-st.rcp-st-cleared {
  background: #e3efea;
  color: var(--rcp-accent-strong);
}
.receipts .rcp-st.rcp-st-pending {
  background: #f8efdc;
  color: var(--rcp-gold);
}
.receipts .rcp-st.rcp-st-voided {
  background: #f3e1dc;
  color: var(--rcp-warn);
}

.receipts .rcp-footnote {
  margin-top: 16px;
  padding: 14px 18px;
  font-size: 12px;
  color: var(--rcp-muted);
  line-height: 1.6;
  background: var(--rcp-paper);
  border: 1px solid var(--rcp-line);
  border-radius: 10px;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/charter-invoice-receipt/charter-invoice-receipt.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Charter invoice / receipt — scoped under .charter-invoice-receipt root.
 * A4-style printable document with cream paper, navy ink and teal accent. */

.charter-invoice-receipt {
  --cir-ink: #1e2c27;
  --cir-ink-soft: #3c4843;
  --cir-muted: #6f7c76;
  --cir-paper: #f3f4f2;
  --cir-card: #ffffff;
  --cir-accent: #5aa99d;
  --cir-accent-soft: #a7cfc6;
  --cir-accent-strong: #2f6a5c;
  --cir-surface: #ecd9bd;
  --cir-line: #d9e2dd;
  --cir-line-soft: #e8eeea;
  --cir-warn: #a4504a;

  font-family: 'Hanken Grotesk', -apple-system, 'Helvetica Neue', sans-serif;
  color: var(--cir-ink);
  font-feature-settings: 'tnum' 1;
  background: var(--cir-paper);
  padding: 24px 16px 80px;
}

.charter-invoice-receipt .cir-sheet {
  width: 210mm;
  max-width: calc(100% - 32px);
  min-height: 297mm;
  margin: 24px auto;
  background: var(--cir-card);
  padding: 14mm 16mm 14mm;
  box-shadow:
    0 1px 2px rgba(30, 44, 39, 0.04),
    0 18px 50px -22px rgba(30, 44, 39, 0.28);
  position: relative;
}
.charter-invoice-receipt .cir-sheet::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--cir-ink);
}

.charter-invoice-receipt .cir-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}
.charter-invoice-receipt .cir-wordmark {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 400;
  font-size: 25px;
  letter-spacing: 0.005em;
  color: var(--cir-ink);
  line-height: 1.1;
}
.charter-invoice-receipt .cir-wordmark .cir-accent {
  color: var(--cir-accent);
}
.charter-invoice-receipt .cir-rule-brass {
  width: 42px;
  height: 2px;
  background: var(--cir-accent);
  margin: 13px 0;
}
.charter-invoice-receipt .cir-issuer {
  font-size: 11.5px;
  line-height: 1.75;
  color: var(--cir-muted);
}
.charter-invoice-receipt .cir-issuer .cir-uen {
  color: var(--cir-ink-soft);
  font-weight: 600;
}
.charter-invoice-receipt .cir-doc-title-wrap {
  text-align: right;
  flex: none;
}
.charter-invoice-receipt .cir-doc-title {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 300;
  font-size: 43px;
  letter-spacing: 0.04em;
  color: var(--cir-ink);
  line-height: 1;
}
.charter-invoice-receipt .cir-doc-sub {
  margin-top: 9px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cir-accent);
}

.charter-invoice-receipt .cir-meta {
  display: flex;
  gap: 0;
  margin-top: 24px;
  border-top: 1px solid var(--cir-line);
  border-bottom: 1px solid var(--cir-line);
}
.charter-invoice-receipt .cir-meta .cir-cell {
  flex: 1;
  padding: 15px 20px 15px 0;
}
.charter-invoice-receipt .cir-meta .cir-cell + .cir-cell {
  padding-left: 22px;
  border-left: 1px solid var(--cir-line-soft);
}
.charter-invoice-receipt .cir-lbl {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--cir-muted);
  margin-bottom: 6px;
}
.charter-invoice-receipt .cir-val {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--cir-ink);
}
.charter-invoice-receipt .cir-val.cir-mono {
  font-feature-settings: 'tnum' 1;
  letter-spacing: 0.01em;
}

.charter-invoice-receipt .cir-parties {
  display: flex;
  gap: 48px;
  margin-top: 20px;
}
.charter-invoice-receipt .cir-party {
  flex: 1;
}
.charter-invoice-receipt .cir-party .cir-name {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--cir-ink);
  margin-bottom: 4px;
}
.charter-invoice-receipt .cir-party .cir-addr {
  font-size: 12px;
  line-height: 1.7;
  color: var(--cir-ink-soft);
}

.charter-invoice-receipt .cir-booking {
  margin-top: 16px;
  background: var(--cir-surface);
  border: 1px solid var(--cir-line);
  display: flex;
  flex-wrap: wrap;
}
.charter-invoice-receipt .cir-booking .cir-bcell {
  flex: 1;
  min-width: 20%;
  padding: 10px 16px;
  border-right: 1px solid var(--cir-line-soft);
}
.charter-invoice-receipt .cir-booking .cir-bcell:last-child {
  border-right: 0;
}
.charter-invoice-receipt .cir-booking .cir-bcell .cir-lbl {
  margin-bottom: 4px;
  font-size: 8.5px;
}
.charter-invoice-receipt .cir-bcell .cir-val {
  font-size: 11.5px;
  line-height: 1.35;
}

.charter-invoice-receipt .cir-items {
  width: 100%;
  border-collapse: collapse;
  margin-top: 22px;
}
.charter-invoice-receipt .cir-items thead th {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--cir-muted);
  padding: 0 0 11px;
  border-bottom: 1.5px solid var(--cir-ink);
  text-align: left;
}
.charter-invoice-receipt .cir-items th.cir-num,
.charter-invoice-receipt .cir-items td.cir-num {
  text-align: right;
  white-space: nowrap;
}
.charter-invoice-receipt .cir-items th.cir-ctr,
.charter-invoice-receipt .cir-items td.cir-ctr {
  text-align: center;
}
.charter-invoice-receipt .cir-items tbody td {
  padding: 10px 0;
  border-bottom: 1px solid var(--cir-line-soft);
  font-size: 12.5px;
  vertical-align: top;
  color: var(--cir-ink-soft);
}
.charter-invoice-receipt .cir-items tbody td.cir-desc {
  padding-right: 20px;
}
.charter-invoice-receipt .cir-items td.cir-num {
  font-feature-settings: 'tnum' 1;
  color: var(--cir-ink);
  font-weight: 500;
}
.charter-invoice-receipt .cir-it-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--cir-ink);
  margin-bottom: 3px;
}
.charter-invoice-receipt .cir-it-meta {
  font-size: 11px;
  color: var(--cir-muted);
  line-height: 1.6;
}

.charter-invoice-receipt .cir-remarks {
  margin-top: 18px;
  padding-left: 14px;
  border-left: 2px solid var(--cir-accent-soft);
  font-size: 11.5px;
  color: var(--cir-ink-soft);
  line-height: 1.6;
}
.charter-invoice-receipt .cir-remarks .cir-lbl {
  margin-bottom: 6px;
}

.charter-invoice-receipt .cir-totals-wrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 22px;
}
.charter-invoice-receipt .cir-totals {
  width: 320px;
  max-width: 100%;
}
.charter-invoice-receipt .cir-trow {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 12.5px;
  border-bottom: 1px solid var(--cir-line-soft);
}
.charter-invoice-receipt .cir-trow .cir-tk {
  color: var(--cir-muted);
}
.charter-invoice-receipt .cir-trow .cir-tv {
  font-feature-settings: 'tnum' 1;
  font-weight: 500;
  color: var(--cir-ink);
}
.charter-invoice-receipt .cir-trow.cir-grand {
  border-top: 1.5px solid var(--cir-ink);
  border-bottom: 1.5px solid var(--cir-ink);
  padding: 11px 0;
  font-size: 14px;
}
.charter-invoice-receipt .cir-trow.cir-grand .cir-tk,
.charter-invoice-receipt .cir-trow.cir-grand .cir-tv {
  color: var(--cir-ink);
  font-weight: 700;
}
.charter-invoice-receipt .cir-trow.cir-paid .cir-tv {
  color: var(--cir-accent-strong);
}
.charter-invoice-receipt .cir-trow.cir-balance {
  background: var(--cir-surface);
  margin-top: 4px;
  padding: 11px 12px;
}
.charter-invoice-receipt .cir-trow.cir-balance .cir-tk,
.charter-invoice-receipt .cir-trow.cir-balance .cir-tv {
  font-weight: 700;
  color: var(--cir-ink);
}

.charter-invoice-receipt .cir-section-h {
  margin-top: 26px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cir-accent);
}

.charter-invoice-receipt .cir-schedule {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 14px;
}
.charter-invoice-receipt .cir-sch {
  border: 1px solid var(--cir-line);
  padding: 12px 14px;
}
.charter-invoice-receipt .cir-stage {
  font-size: 12px;
  font-weight: 600;
  color: var(--cir-ink);
  display: flex;
  align-items: center;
  gap: 8px;
}
.charter-invoice-receipt .cir-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cir-line);
  display: inline-block;
}
.charter-invoice-receipt .cir-dot.cir-done {
  background: var(--cir-accent-strong);
}
.charter-invoice-receipt .cir-samt {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 18px;
  font-weight: 500;
  margin-top: 7px;
  color: var(--cir-ink);
}
.charter-invoice-receipt .cir-swhen {
  margin-top: 5px;
  font-size: 11px;
  color: var(--cir-muted);
}
.charter-invoice-receipt .cir-pill {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 2px;
  margin-right: 5px;
}
.charter-invoice-receipt .cir-pill.cir-received {
  background: #e3efea;
  color: var(--cir-accent-strong);
}
.charter-invoice-receipt .cir-pill.cir-due {
  background: var(--cir-surface);
  color: var(--cir-ink-soft);
}

.charter-invoice-receipt .cir-foot-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 26px;
}
.charter-invoice-receipt .cir-fc .cir-pay-line {
  font-size: 11.5px;
  color: var(--cir-ink-soft);
  line-height: 1.7;
}
.charter-invoice-receipt .cir-fc .cir-pay-line .cir-pk {
  display: inline-block;
  min-width: 110px;
  color: var(--cir-muted);
  font-weight: 600;
}
.charter-invoice-receipt .cir-fc .cir-pay-line .cir-pv {
  color: var(--cir-ink);
  font-weight: 500;
}
.charter-invoice-receipt .cir-terms {
  font-size: 11.5px;
  line-height: 1.7;
  color: var(--cir-ink-soft);
}

.charter-invoice-receipt .cir-signoff {
  margin-top: 28px;
  text-align: center;
}
.charter-invoice-receipt .cir-thanks {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 17px;
  font-weight: 400;
  font-style: italic;
  color: var(--cir-accent-strong);
}

.charter-invoice-receipt .cir-page-foot {
  margin-top: 24px;
  padding-top: 10px;
  border-top: 1px solid var(--cir-line);
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cir-muted);
  display: flex;
  justify-content: space-between;
}

/* ────── /finance/invoices/[id] print controls strip ────── */
.cir-controls {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  padding: 10px 12px;
  background: var(--paper, #fff);
  border: 1px solid var(--hairline, #e4e7e6);
  border-radius: 8px;
}
.cir-controls__crumbs {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex: 1 1 auto;
}
.cir-controls__back {
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ink-soft, #3c4843);
  text-decoration: none;
}
.cir-controls__back:hover { color: var(--ink, #1e2c27); }
.cir-controls__ref {
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-mute, #6f7c76);
}
.cir-controls__seg {
  display: inline-flex;
  border: 1px solid var(--hairline, #d9e2dd);
  border-radius: 4px;
  overflow: hidden;
}
.cir-controls__seg-btn {
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 7px 14px;
  background: transparent;
  color: var(--ink-mute, #6f7c76);
  text-decoration: none;
  cursor: pointer;
  border: 0;
}
.cir-controls__seg-btn.is-on {
  background: #5aa99d;
  color: #fff;
}
.cir-controls__seg-btn:not(.is-on):hover { color: var(--ink, #1e2c27); }
.cir-controls__print {
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  background: #1e2c27;
  color: #fff;
  border: 0;
  border-radius: 4px;
  padding: 9px 18px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}
.cir-controls__print:hover { background: #2f6a5c; }

/* ────── @media print — A4 PDF output ────── */
@media print {
  @page { size: A4; margin: 14mm; }
  html, body {
    background: #fff !important;
  }
  /* Hide everything that isn't the invoice sheet */
  .no-print,
  .app-sidebar,
  .app-headerbar,
  .app-drawer-backdrop,
  .mc-assistant-fab,
  .mc-assistant-popover,
  .cir-controls {
    display: none !important;
  }
  /* Let the sheet fill the printed page edge-to-edge */
  .app-shell { display: block !important; padding: 0 !important; gap: 0 !important; }
  .app-main { padding: 0 !important; margin: 0 !important; overflow: visible !important; }
  .page-container, .PageContainer { padding: 0 !important; margin: 0 !important; max-width: none !important; }
  .charter-invoice-receipt {
    background: #fff !important;
    padding: 0 !important;
  }
  .charter-invoice-receipt .cir-sheet {
    width: auto !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 14mm !important;
    box-shadow: none !important;
    border: 0 !important;
  }
  /* The top brass rule still needs colour preserved when printing. */
  .charter-invoice-receipt .cir-sheet::before,
  .charter-invoice-receipt .cir-meta,
  .charter-invoice-receipt .cir-booking,
  .charter-invoice-receipt .cir-totals .cir-total-grand,
  .charter-invoice-receipt .cir-totals .cir-total-balance,
  .charter-invoice-receipt .cir-rule-brass,
  .charter-invoice-receipt .cir-doc-title,
  .charter-invoice-receipt .cir-accent {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  /* Avoid awkward breaks inside grouped blocks */
  .charter-invoice-receipt .cir-parties,
  .charter-invoice-receipt .cir-booking,
  .charter-invoice-receipt .cir-totals-wrap,
  .charter-invoice-receipt .cir-schedule,
  .charter-invoice-receipt .cir-signoff,
  .charter-invoice-receipt .cir-items tr {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/accounting-settings/accounting-settings.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * accounting-settings block — lifted from accounting_settings.html.
 * Scoped under `.accounting-settings`. Read-only — every form input is
 * rendered as a disabled / display-only field, so we keep the visual
 * tokens but skip focus / hover affordances.
 * ──────────────────────────────────────────────────────────────────────── */

.accounting-settings {
  --as-ink: var(--ink, #1e2c27);
  --as-ink-soft: var(--ink-soft, #3c4843);
  --as-muted: var(--muted, #6f7c76);
  --as-canvas: var(--canvas, #f3f4f2);
  --as-paper: var(--paper, #ffffff);
  --as-accent: var(--accent, #5aa99d);
  --as-accent-strong: var(--accent-strong, #2f6a5c);
  --as-line: #d9e2dd;
  --as-line-soft: #e8eeea;
  --as-warn: #a4504a;

  color: var(--as-ink);
  font-feature-settings: 'tnum' 1;
}
.accounting-settings .as-head {
  margin-bottom: 22px;
}
.accounting-settings .as-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--as-accent);
  margin-bottom: 7px;
}
.accounting-settings .as-title {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 400;
  font-size: 33px;
  letter-spacing: 0.01em;
  line-height: 1;
}
.accounting-settings .as-sub {
  font-size: 13px;
  color: var(--as-muted);
  margin-top: 9px;
  max-width: 600px;
  line-height: 1.6;
}
.accounting-settings .as-subtabs {
  display: flex;
  gap: 2px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--as-line);
  margin-bottom: 24px;
}
.accounting-settings .as-subtab {
  background: transparent;
  border: 0;
  padding: 11px 15px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--as-muted);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.accounting-settings .as-subtab.on {
  color: var(--as-accent-strong);
  border-bottom-color: var(--as-accent-strong);
}
.accounting-settings .pcard {
  background: var(--as-paper);
  border: 1px solid var(--as-line);
  border-radius: 10px;
  margin-bottom: 18px;
  overflow: hidden;
}
.accounting-settings .pcard-head {
  padding: 16px 20px;
  border-bottom: 1px solid var(--as-line-soft);
}
.accounting-settings .pcard-head h3 {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 500;
  font-size: 17px;
}
.accounting-settings .pcard-head .ph {
  font-size: 11.5px;
  color: var(--as-muted);
  margin-top: 3px;
  line-height: 1.55;
}
.accounting-settings .pcard-body {
  padding: 6px 20px;
}
.accounting-settings .set-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  padding: 15px 0;
  border-bottom: 1px solid var(--as-line-soft);
}
.accounting-settings .set-row:last-child {
  border-bottom: 0;
}
.accounting-settings .set-row .sl {
  flex: 1;
}
.accounting-settings .set-row .slt {
  font-size: 13px;
  font-weight: 600;
  color: var(--as-ink);
}
.accounting-settings .set-row .sld {
  font-size: 11.5px;
  color: var(--as-muted);
  margin-top: 3px;
  line-height: 1.55;
}
.accounting-settings .set-row .sc {
  flex: none;
  display: flex;
  align-items: center;
  gap: 10px;
}
.accounting-settings .field {
  font-size: 13px;
  color: var(--as-ink);
  border: 1px solid var(--as-line);
  border-radius: 7px;
  padding: 8px 11px;
  background: var(--as-canvas);
  display: inline-block;
}
.accounting-settings .field.w-sm { min-width: 130px; }
.accounting-settings .field.w-md { min-width: 210px; }
.accounting-settings .switch {
  width: 42px;
  height: 23px;
  border-radius: 12px;
  background: var(--as-line);
  position: relative;
  flex: none;
}
.accounting-settings .switch::after {
  content: '';
  position: absolute;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #fff;
  top: 3px;
  left: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.accounting-settings .switch.on {
  background: var(--as-accent-strong);
}
.accounting-settings .switch.on::after {
  left: 22px;
}
.accounting-settings .tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 3px 9px;
  border-radius: 20px;
}
.accounting-settings .tag.locked { background: #eceeec; color: var(--as-muted); }
.accounting-settings .tag.active { background: #e3efea; color: var(--as-accent-strong); }
.accounting-settings .tag.dot::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}
.accounting-settings .note {
  background: #fbf6ea;
  border: 1px solid #e6d6b3;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 11.5px;
  color: #7a6233;
  line-height: 1.6;
  margin: 14px 0;
}
.accounting-settings .note b { color: #5f4c25; }
.accounting-settings .rolist .ro-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 9px 0;
  border-bottom: 1px solid var(--as-line-soft);
  font-size: 12.5px;
}
.accounting-settings .rolist .ro-row:last-child { border-bottom: 0; }
.accounting-settings .rolist .rk { color: var(--as-muted); }
.accounting-settings .rolist .rv {
  font-weight: 600;
  text-align: right;
}
.accounting-settings .bank-card {
  background: var(--as-paper);
  border: 1px solid var(--as-line);
  border-radius: 11px;
  margin-bottom: 14px;
  overflow: hidden;
}
.accounting-settings .bank-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--as-line-soft);
}
.accounting-settings .ccy-chip {
  width: 46px;
  height: 46px;
  border-radius: 9px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display, Georgia, serif);
  font-weight: 500;
  font-size: 15px;
  background: #e3efea;
  color: var(--as-accent-strong);
}
.accounting-settings .bank-head .bn { flex: 1; }
.accounting-settings .bank-head .bn .bt { font-size: 14px; font-weight: 600; }
.accounting-settings .bank-head .bn .bs { font-size: 11.5px; color: var(--as-muted); margin-top: 2px; }
.accounting-settings .bank-detail {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 28px;
  padding: 14px 18px;
}
.accounting-settings .bank-detail .bd-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 6px 0;
  font-size: 12px;
  border-bottom: 1px solid var(--as-line-soft);
}
.accounting-settings .bank-detail .bdk { color: var(--as-muted); }
.accounting-settings .bank-detail .bdv {
  font-weight: 600;
  text-align: right;
}
.accounting-settings .bank-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 12px 18px;
  background: var(--as-canvas);
  border-top: 1px solid var(--as-line-soft);
  font-size: 11.5px;
}
.accounting-settings .bank-foot .lk { color: var(--as-muted); }
.accounting-settings .bank-foot .lk b { color: var(--as-accent-strong); }
.accounting-settings .bank-foot .lk .new {
  color: var(--as-warn);
  font-weight: 700;
  font-size: 9.5px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-left: 6px;
}
.accounting-settings .as-tbl {
  width: 100%;
  border-collapse: collapse;
}
.accounting-settings .as-tbl thead th {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--as-muted);
  text-align: left;
  padding: 11px 14px;
  background: var(--as-canvas);
  border-bottom: 1px solid var(--as-line);
}
.accounting-settings .as-tbl tbody td {
  padding: 13px 14px;
  border-bottom: 1px solid var(--as-line-soft);
  font-size: 12.5px;
}
.accounting-settings .as-tbl tbody tr:last-child td { border-bottom: 0; }
.accounting-settings .mono { font-weight: 600; }
.accounting-settings .fmtpreview {
  font-size: 10.5px;
  color: var(--as-accent-strong);
  margin-top: 5px;
  font-weight: 600;
}
.accounting-settings .cur-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.accounting-settings .cur-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 13px;
  border: 1px solid var(--as-line);
  border-radius: 8px;
}
.accounting-settings .cur-item .cc {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 500;
  font-size: 14px;
  width: 42px;
}
.accounting-settings .cur-item .cn { flex: 1; font-size: 12.5px; }
.accounting-settings .cur-item .cbase {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--as-accent-strong);
}
@media (max-width: 760px) {
  .accounting-settings .bank-detail { grid-template-columns: 1fr; }
  .accounting-settings .set-row { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/bank-reconciliation/bank-reconciliation.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * bank-reconciliation block — lifted from bank_reconciliation.html.
 * Scoped under `.bank-reconciliation`.
 * ──────────────────────────────────────────────────────────────────────── */

.bank-reconciliation {
  --br-ink: var(--ink, #1e2c27);
  --br-ink-soft: var(--ink-soft, #3c4843);
  --br-muted: var(--muted, #6f7c76);
  --br-canvas: var(--canvas, #f3f4f2);
  --br-paper: var(--paper, #ffffff);
  --br-accent: var(--accent, #5aa99d);
  --br-accent-soft: #a7cfc6;
  --br-accent-strong: var(--accent-strong, #2f6a5c);
  --br-line: #d9e2dd;
  --br-line-soft: #e8eeea;
  --br-warn: #a4504a;

  color: var(--br-ink);
  font-feature-settings: 'tnum' 1;
}
.bank-reconciliation .br-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 22px;
}
.bank-reconciliation .br-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--br-accent);
  margin-bottom: 7px;
}
.bank-reconciliation .br-title {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 400;
  font-size: 33px;
  letter-spacing: 0.01em;
  line-height: 1;
}
.bank-reconciliation .br-sub {
  font-size: 13px;
  color: var(--br-muted);
  margin-top: 9px;
  max-width: 580px;
  line-height: 1.6;
}
.bank-reconciliation .br-acctsel {
  display: flex;
  gap: 0;
  border: 1px solid var(--br-line);
  border-radius: 9px;
  overflow: hidden;
  background: var(--br-paper);
  margin-bottom: 18px;
  width: -moz-fit-content;
  width: fit-content;
}
.bank-reconciliation .br-acctsel button {
  background: transparent;
  border: 0;
  padding: 10px 16px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--br-ink-soft);
  border-right: 1px solid var(--br-line);
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.bank-reconciliation .br-acctsel button:last-child {
  border-right: 0;
}
.bank-reconciliation .br-acctsel button.on {
  background: var(--br-accent-strong);
  color: #fff;
}
.bank-reconciliation .br-acctsel .br-badge {
  font-size: 9.5px;
  font-weight: 700;
  border-radius: 10px;
  padding: 1px 7px;
  background: #e3efea;
  color: var(--br-accent-strong);
}
.bank-reconciliation .br-acctsel button.on .br-badge {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}
.bank-reconciliation .br-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 22px;
}
.bank-reconciliation .br-card {
  background: var(--br-paper);
  border: 1px solid var(--br-line);
  border-radius: 10px;
  padding: 16px 18px;
}
.bank-reconciliation .br-card.diff.ok {
  background: #eef4f1;
  border-color: var(--br-accent-soft);
}
.bank-reconciliation .br-card.diff.ok .br-cv {
  color: var(--br-accent-strong);
}
.bank-reconciliation .br-cl {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--br-muted);
  display: flex;
  align-items: center;
  gap: 6px;
}
.bank-reconciliation .br-cdot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}
.bank-reconciliation .br-cv {
  font-family: var(--font-display, Georgia, serif);
  font-size: 25px;
  font-weight: 500;
  margin-top: 9px;
  line-height: 1;
}
.bank-reconciliation .br-cur {
  font-size: 14px;
  color: var(--br-muted);
  font-family: inherit;
  font-weight: 600;
  margin-right: 2px;
}
.bank-reconciliation .br-cs {
  font-size: 11px;
  color: var(--br-muted);
  margin-top: 6px;
}
.bank-reconciliation .br-chips {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.bank-reconciliation .br-chip {
  font-size: 11.5px;
  font-weight: 600;
  background: var(--br-paper);
  border: 1px solid var(--br-line);
  border-radius: 20px;
  padding: 6px 13px;
  color: var(--br-ink-soft);
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.bank-reconciliation .br-chip.on {
  background: var(--br-ink);
  color: #fff;
  border-color: var(--br-ink);
}
.bank-reconciliation .br-chip .br-n {
  font-size: 10.5px;
  opacity: 0.7;
}
.bank-reconciliation .br-tablewrap {
  background: var(--br-paper);
  border: 1px solid var(--br-line);
  border-radius: 10px;
  overflow: hidden;
}
.bank-reconciliation table {
  width: 100%;
  border-collapse: collapse;
}
.bank-reconciliation thead th {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--br-muted);
  text-align: left;
  padding: 12px 16px;
  background: var(--br-canvas);
  border-bottom: 1px solid var(--br-line);
}
.bank-reconciliation thead th.num {
  text-align: right;
}
.bank-reconciliation tbody td {
  padding: 13px 16px;
  border-bottom: 1px solid var(--br-line-soft);
  font-size: 12.5px;
  vertical-align: middle;
}
.bank-reconciliation tbody tr:last-child td {
  border-bottom: 0;
}
.bank-reconciliation .bk-date {
  font-weight: 600;
  color: var(--br-ink-soft);
}
.bank-reconciliation .bk-desc {
  font-weight: 600;
  color: var(--br-ink);
}
.bank-reconciliation .bk-desc-sub {
  font-size: 10.5px;
  color: var(--br-muted);
  margin-top: 2px;
}
.bank-reconciliation .num {
  text-align: right;
}
.bank-reconciliation .amt-in {
  font-weight: 700;
  color: var(--br-accent-strong);
}
.bank-reconciliation .amt-out {
  font-weight: 700;
  color: var(--br-ink);
}
.bank-reconciliation .match {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bank-reconciliation .match .mref {
  font-weight: 700;
  color: var(--br-accent-strong);
}
.bank-reconciliation .match .mtag {
  font-size: 10.5px;
  color: var(--br-muted);
}
.bank-reconciliation .match.sugg .mref {
  color: #8a6a37;
}
.bank-reconciliation .match.sugg .mtag {
  color: #8a6a37;
}
.bank-reconciliation .match.none {
  font-size: 11.5px;
  color: var(--br-muted);
  font-style: italic;
}
.bank-reconciliation .br-st {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  padding: 4px 11px 4px 8px;
  border-radius: 20px;
  white-space: nowrap;
}
.bank-reconciliation .br-st::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}
.bank-reconciliation .br-st.reconciled {
  background: var(--br-accent-strong);
  color: #fff;
}
.bank-reconciliation .br-st.unreconciled {
  background: #f4e7ce;
  color: #8a6a37;
}
.bank-reconciliation .br-st.ignored {
  background: #eceeec;
  color: #6f7c76;
}
.bank-reconciliation .br-footnote {
  font-size: 11px;
  color: var(--br-muted);
  margin-top: 14px;
  line-height: 1.6;
}
.bank-reconciliation .br-footnote b {
  color: var(--br-ink-soft);
}
@media (max-width: 1000px) {
  .bank-reconciliation .br-cards { grid-template-columns: repeat(2, 1fr); }
  .bank-reconciliation .col-hide { display: none; }
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/credit-notes/credit-notes.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * credit-notes block
 *
 * Lifted from sailawaycharters_Accounting/credit_notes.html. Scoped under
 * `.credit-notes` so it never leaks. Variables resolve against whatever
 * theme is in scope (see `@saia/blocks/tokens.css`); the editorial source
 * file used a flat green/cream/gold palette, mapped here to the same
 * variable surface as the existing operations blocks.
 * ──────────────────────────────────────────────────────────────────────── */

.credit-notes {
  --cn-ink: var(--ink, #1e2c27);
  --cn-ink-soft: var(--ink-soft, #3c4843);
  --cn-muted: var(--muted, #6f7c76);
  --cn-canvas: var(--canvas, #f3f4f2);
  --cn-paper: var(--paper, #ffffff);
  --cn-accent: var(--accent, #5aa99d);
  --cn-accent-soft: #a7cfc6;
  --cn-accent-strong: var(--accent-strong, #2f6a5c);
  --cn-line: #d9e2dd;
  --cn-line-soft: #e8eeea;
  --cn-warn: #a4504a;
  --cn-gold: #c79a4e;

  color: var(--cn-ink);
  font-feature-settings: 'tnum' 1;
}

.credit-notes .cn-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 22px;
}
.credit-notes .cn-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--cn-accent);
  margin-bottom: 7px;
}
.credit-notes .cn-title {
  font-family: var(--font-display, Georgia, 'Times New Roman', serif);
  font-weight: 400;
  font-size: 33px;
  letter-spacing: 0.01em;
  line-height: 1;
}
.credit-notes .cn-sub {
  font-size: 13px;
  color: var(--cn-muted);
  margin-top: 9px;
  max-width: 560px;
  line-height: 1.6;
}

/* KPI cards */
.credit-notes .cn-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 22px;
}
.credit-notes .cn-card {
  background: var(--cn-paper);
  border: 1px solid var(--cn-line);
  border-radius: 10px;
  padding: 16px 18px;
}
.credit-notes .cn-cl {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--cn-muted);
  display: flex;
  align-items: center;
  gap: 6px;
}
.credit-notes .cn-cdot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}
.credit-notes .cn-cv {
  font-family: var(--font-display, Georgia, serif);
  font-size: 25px;
  font-weight: 500;
  margin-top: 9px;
  line-height: 1;
}
.credit-notes .cn-cv .cn-cur {
  font-size: 14px;
  color: var(--cn-muted);
  font-family: inherit;
  font-weight: 600;
  margin-right: 2px;
}
.credit-notes .cn-cs {
  font-size: 11px;
  color: var(--cn-muted);
  margin-top: 6px;
}

/* chips */
.credit-notes .cn-chips {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.credit-notes .cn-chip {
  font-size: 11.5px;
  font-weight: 600;
  background: var(--cn-paper);
  border: 1px solid var(--cn-line);
  border-radius: 20px;
  padding: 6px 13px;
  color: var(--cn-ink-soft);
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.credit-notes .cn-chip.on {
  background: var(--cn-ink);
  color: #fff;
  border-color: var(--cn-ink);
}
.credit-notes .cn-chip .cn-n {
  font-size: 10.5px;
  opacity: 0.7;
}

/* table */
.credit-notes .cn-tablewrap {
  background: var(--cn-paper);
  border: 1px solid var(--cn-line);
  border-radius: 10px;
  overflow: hidden;
}
.credit-notes table {
  width: 100%;
  border-collapse: collapse;
}
.credit-notes thead th {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cn-muted);
  text-align: left;
  padding: 12px 16px;
  background: var(--cn-canvas);
  border-bottom: 1px solid var(--cn-line);
}
.credit-notes thead th.num {
  text-align: right;
}
.credit-notes tbody td {
  padding: 13px 16px;
  border-bottom: 1px solid var(--cn-line-soft);
  font-size: 12.5px;
  vertical-align: middle;
}
.credit-notes tbody tr:last-child td {
  border-bottom: 0;
}
.credit-notes .cn-no {
  font-weight: 700;
  color: var(--cn-accent-strong);
}
.credit-notes .cn-date {
  font-size: 10.5px;
  color: var(--cn-muted);
  margin-top: 3px;
}
.credit-notes .cn-guest {
  font-weight: 600;
  color: var(--cn-ink);
}
.credit-notes .cn-reason {
  color: var(--cn-ink-soft);
}
.credit-notes .cn-inv-chip {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  background: #e3efea;
  color: var(--cn-accent-strong);
  border-radius: 4px;
  padding: 2px 7px;
  margin-top: 5px;
}
.credit-notes .num {
  text-align: right;
}
.credit-notes .cn-amt {
  font-weight: 700;
  color: var(--cn-ink);
}
.credit-notes .cn-amt::before {
  content: '−';
  color: var(--cn-muted);
  margin-right: 1px;
}
.credit-notes .cn-st {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  padding: 4px 11px 4px 8px;
  border-radius: 20px;
  white-space: nowrap;
}
.credit-notes .cn-st::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}
.credit-notes .cn-st.draft { background: #eceeec; color: #6f7c76; }
.credit-notes .cn-st.issued { background: #f4e7ce; color: #8a6a37; }
.credit-notes .cn-st.applied { background: var(--cn-accent-strong); color: #fff; }

.credit-notes .cn-footnote {
  font-size: 11px;
  color: var(--cn-muted);
  margin-top: 14px;
  line-height: 1.6;
}
.credit-notes .cn-footnote b {
  color: var(--cn-ink-soft);
}

@media (max-width: 1000px) {
  .credit-notes .cn-cards { grid-template-columns: repeat(2, 1fr); }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/expenses/expenses.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * expenses block — lifted from sailawaycharters_Accounting/expenses.html.
 * Scoped under `.expenses`.
 * ──────────────────────────────────────────────────────────────────────── */

.expenses {
  --ex-ink: var(--ink, #1e2c27);
  --ex-ink-soft: var(--ink-soft, #3c4843);
  --ex-muted: var(--muted, #6f7c76);
  --ex-canvas: var(--canvas, #f3f4f2);
  --ex-paper: var(--paper, #ffffff);
  --ex-accent: var(--accent, #5aa99d);
  --ex-accent-strong: var(--accent-strong, #2f6a5c);
  --ex-line: #d9e2dd;
  --ex-line-soft: #e8eeea;
  --ex-gold: #c79a4e;

  color: var(--ex-ink);
  font-feature-settings: 'tnum' 1;
}
.expenses .ex-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 22px;
}
.expenses .ex-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ex-accent);
  margin-bottom: 7px;
}
.expenses .ex-title {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 400;
  font-size: 33px;
  letter-spacing: 0.01em;
  line-height: 1;
}
.expenses .ex-sub {
  font-size: 13px;
  color: var(--ex-muted);
  margin-top: 9px;
  max-width: 560px;
  line-height: 1.6;
}
.expenses .ex-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 22px;
}
.expenses .ex-card {
  background: var(--ex-paper);
  border: 1px solid var(--ex-line);
  border-radius: 10px;
  padding: 16px 18px;
}
.expenses .ex-cl {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--ex-muted);
  display: flex;
  align-items: center;
  gap: 6px;
}
.expenses .ex-cdot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}
.expenses .ex-cv {
  font-family: var(--font-display, Georgia, serif);
  font-size: 25px;
  font-weight: 500;
  margin-top: 9px;
  line-height: 1;
}
.expenses .ex-cur {
  font-size: 14px;
  color: var(--ex-muted);
  font-family: inherit;
  font-weight: 600;
  margin-right: 2px;
}
.expenses .ex-cs {
  font-size: 11px;
  color: var(--ex-muted);
  margin-top: 6px;
}
.expenses .ex-chips {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.expenses .ex-chip {
  font-size: 11.5px;
  font-weight: 600;
  background: var(--ex-paper);
  border: 1px solid var(--ex-line);
  border-radius: 20px;
  padding: 6px 13px;
  color: var(--ex-ink-soft);
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.expenses .ex-chip.on {
  background: var(--ex-ink);
  color: #fff;
  border-color: var(--ex-ink);
}
.expenses .ex-chip .ex-n {
  font-size: 10.5px;
  opacity: 0.7;
}
.expenses .ex-tablewrap {
  background: var(--ex-paper);
  border: 1px solid var(--ex-line);
  border-radius: 10px;
  overflow: hidden;
}
.expenses table {
  width: 100%;
  border-collapse: collapse;
}
.expenses thead th {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ex-muted);
  text-align: left;
  padding: 12px 16px;
  background: var(--ex-canvas);
  border-bottom: 1px solid var(--ex-line);
}
.expenses thead th.num {
  text-align: right;
}
.expenses tbody td {
  padding: 13px 16px;
  border-bottom: 1px solid var(--ex-line-soft);
  font-size: 12.5px;
  vertical-align: middle;
}
.expenses tbody tr:last-child td {
  border-bottom: 0;
}
.expenses .ex-no {
  font-weight: 700;
  color: var(--ex-accent-strong);
}
.expenses .ex-date {
  font-size: 10.5px;
  color: var(--ex-muted);
  margin-top: 3px;
}
.expenses .vendor {
  font-weight: 600;
  color: var(--ex-ink);
}
.expenses .vendor-sub {
  font-size: 11px;
  color: var(--ex-muted);
  margin-top: 2px;
}
.expenses .bkchip {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  background: #f4e7ce;
  color: #8a6a37;
  border-radius: 4px;
  padding: 2px 7px;
  margin-top: 4px;
}
.expenses .cat-code {
  font-weight: 700;
  color: var(--ex-accent-strong);
  margin-right: 6px;
}
.expenses .cat-name {
  color: var(--ex-ink-soft);
}
.expenses .paid {
  font-size: 12px;
  color: var(--ex-ink-soft);
}
.expenses .paid-sub {
  font-size: 10.5px;
  color: var(--ex-muted);
  margin-top: 1px;
}
.expenses .num {
  text-align: right;
}
.expenses .amt {
  font-weight: 700;
  color: var(--ex-ink);
}
.expenses .ccy-pill {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  background: var(--ex-canvas);
  color: var(--ex-muted);
  border-radius: 4px;
  padding: 2px 6px;
  margin-left: 6px;
}
.expenses .amt-base {
  font-size: 10.5px;
  color: var(--ex-muted);
  margin-top: 2px;
}
.expenses .ex-st {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  padding: 4px 11px 4px 8px;
  border-radius: 20px;
  white-space: nowrap;
}
.expenses .ex-st::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}
.expenses .ex-st.draft { background: #eceeec; color: #6f7c76; }
.expenses .ex-st.pending { background: #f4e7ce; color: #8a6a37; }
.expenses .ex-st.approved { background: #d6ece5; color: var(--ex-accent-strong); }
.expenses .ex-st.posted { background: var(--ex-accent-strong); color: #fff; }
.expenses .ex-footnote {
  font-size: 11px;
  color: var(--ex-muted);
  margin-top: 14px;
  line-height: 1.6;
}
.expenses .ex-footnote b {
  color: var(--ex-ink-soft);
}
@media (max-width: 1000px) {
  .expenses .ex-cards { grid-template-columns: repeat(2, 1fr); }
  .expenses .col-hide { display: none; }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/financial-reports/financial-reports.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * financial-reports block — lifted from reports.html. Scoped under
 * `.financial-reports`.
 * ──────────────────────────────────────────────────────────────────────── */

.financial-reports {
  --fr-ink: var(--ink, #1e2c27);
  --fr-ink-soft: var(--ink-soft, #3c4843);
  --fr-muted: var(--muted, #6f7c76);
  --fr-canvas: var(--canvas, #f3f4f2);
  --fr-paper: var(--paper, #ffffff);
  --fr-accent: var(--accent, #5aa99d);
  --fr-accent-soft: #a7cfc6;
  --fr-accent-strong: var(--accent-strong, #2f6a5c);
  --fr-line: #d9e2dd;
  --fr-line-soft: #e8eeea;

  color: var(--fr-ink);
  font-feature-settings: 'tnum' 1;
}
.financial-reports .fr-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 22px;
}
.financial-reports .fr-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--fr-accent);
  margin-bottom: 7px;
}
.financial-reports .fr-title {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 400;
  font-size: 33px;
  letter-spacing: 0.01em;
  line-height: 1;
}
.financial-reports .fr-sub {
  font-size: 13px;
  color: var(--fr-muted);
  margin-top: 9px;
  max-width: 600px;
  line-height: 1.6;
}
.financial-reports .fr-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 22px;
}
.financial-reports .fr-card {
  background: var(--fr-paper);
  border: 1px solid var(--fr-line);
  border-radius: 10px;
  padding: 16px 18px;
}
.financial-reports .fr-cl {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--fr-muted);
  display: flex;
  align-items: center;
  gap: 6px;
}
.financial-reports .fr-cdot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}
.financial-reports .fr-cv {
  font-family: var(--font-display, Georgia, serif);
  font-size: 24px;
  font-weight: 500;
  margin-top: 9px;
  line-height: 1;
}
.financial-reports .fr-cur {
  font-size: 13px;
  color: var(--fr-muted);
  font-family: inherit;
  font-weight: 600;
  margin-right: 2px;
}
.financial-reports .fr-cs {
  font-size: 11px;
  color: var(--fr-muted);
  margin-top: 6px;
}
.financial-reports .fr-tabs {
  display: flex;
  border: 1px solid var(--fr-line);
  border-radius: 9px;
  overflow: hidden;
  width: -moz-fit-content;
  width: fit-content;
  background: var(--fr-paper);
  margin-bottom: 10px;
}
.financial-reports .fr-tabs button {
  background: transparent;
  border: 0;
  padding: 11px 22px;
  font-size: 13px;
  font-weight: 600;
  color: var(--fr-ink-soft);
  border-right: 1px solid var(--fr-line);
}
.financial-reports .fr-tabs button:last-child {
  border-right: 0;
}
.financial-reports .fr-tabs button.on {
  background: var(--fr-accent-strong);
  color: #fff;
}
.financial-reports .fr-periodline {
  font-size: 11.5px;
  color: var(--fr-muted);
  margin-bottom: 18px;
}
.financial-reports .fr-periodline b {
  color: var(--fr-ink-soft);
  font-weight: 600;
}
.financial-reports .fr-mockflag {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 600;
  color: #8a6a37;
  background: #f4e7ce;
  border-radius: 5px;
  padding: 5px 9px;
  margin-left: 10px;
}
.financial-reports .stmt-wrap {
  background: var(--fr-paper);
  border: 1px solid var(--fr-line);
  border-radius: 10px;
  padding: 36px 40px 40px;
}
.financial-reports .statement {
  max-width: 620px;
  margin: 0 auto;
}
.financial-reports .stmt-head {
  text-align: center;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--fr-line-soft);
}
.financial-reports .stmt-head .ent {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--fr-accent-strong);
}
.financial-reports .stmt-head .title {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 400;
  font-size: 25px;
  margin: 8px 0 5px;
}
.financial-reports .stmt-head .per {
  font-size: 12px;
  color: var(--fr-muted);
}
.financial-reports .stmt-sec {
  margin-bottom: 18px;
}
.financial-reports .stmt-sechead {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fr-accent-strong);
  padding-bottom: 7px;
  border-bottom: 1.5px solid var(--fr-accent-soft);
  margin-bottom: 2px;
}
.financial-reports .stmt-line {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 8px 4px;
  font-size: 13px;
  border-bottom: 1px solid var(--fr-line-soft);
}
.financial-reports .stmt-line .lname {
  color: var(--fr-ink-soft);
}
.financial-reports .stmt-line .lc {
  color: var(--fr-accent-strong);
  font-weight: 600;
  margin-right: 9px;
}
.financial-reports .lamt {
  font-weight: 600;
  color: var(--fr-ink);
  white-space: nowrap;
}
.financial-reports .stmt-sub {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 9px 4px;
  font-size: 13px;
  font-weight: 700;
  border-top: 1.5px solid var(--fr-line);
  margin-top: 2px;
}
.financial-reports .stmt-total {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 15px;
  background: #eef4f1;
  border: 1px solid var(--fr-accent-soft);
  border-radius: 8px;
  margin-top: 14px;
  font-weight: 700;
  font-size: 14.5px;
}
.financial-reports .stmt-total .lamt {
  font-size: 14.5px;
}
.financial-reports .stmt-check {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  margin-top: 16px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--fr-accent-strong);
}
.financial-reports .stmt-check .dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--fr-accent-strong);
}
.financial-reports .stmt-note {
  font-size: 11px;
  color: var(--fr-muted);
  line-height: 1.6;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--fr-line-soft);
}
.financial-reports .stmt-note b {
  color: var(--fr-ink-soft);
  font-weight: 600;
}
.financial-reports .tb-table {
  width: 100%;
  border-collapse: collapse;
}
.financial-reports .tb-table th {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--fr-muted);
  padding: 9px 6px;
  border-bottom: 1.5px solid var(--fr-line);
  text-align: left;
}
.financial-reports .tb-table th.r {
  text-align: right;
}
.financial-reports .tb-table td {
  padding: 8px 6px;
  font-size: 12.5px;
  border-bottom: 1px solid var(--fr-line-soft);
}
.financial-reports .tb-table td.r {
  text-align: right;
  font-weight: 600;
  color: var(--fr-ink);
}
.financial-reports .tb-table .tc {
  color: var(--fr-accent-strong);
  font-weight: 700;
  margin-right: 6px;
}
.financial-reports .tb-table tr.tot td {
  font-weight: 700;
  border-top: 1.5px solid var(--fr-line);
  border-bottom: 0;
  padding-top: 12px;
  font-size: 13px;
}
@media (max-width: 1000px) {
  .financial-reports .fr-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .financial-reports .stmt-wrap { padding: 24px 18px 28px; }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/operator-settlements/operator-settlements.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * operator-settlements block — lifted from
 * sailawaycharters_Accounting/operator_settlements.html. Scoped under
 * `.operator-settlements`.
 * ──────────────────────────────────────────────────────────────────────── */

.operator-settlements {
  --os-ink: var(--ink, #1e2c27);
  --os-ink-soft: var(--ink-soft, #3c4843);
  --os-muted: var(--muted, #6f7c76);
  --os-canvas: var(--canvas, #f3f4f2);
  --os-paper: var(--paper, #ffffff);
  --os-accent: var(--accent, #5aa99d);
  --os-accent-strong: var(--accent-strong, #2f6a5c);
  --os-line: #d9e2dd;
  --os-line-soft: #e8eeea;
  --os-warn: #a4504a;
  --os-gold: #c79a4e;

  color: var(--os-ink);
  font-feature-settings: 'tnum' 1;
}
.operator-settlements .os-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 22px;
}
.operator-settlements .os-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--os-accent);
  margin-bottom: 7px;
}
.operator-settlements .os-title {
  font-family: var(--font-display, Georgia, serif);
  font-weight: 400;
  font-size: 33px;
  letter-spacing: 0.01em;
  line-height: 1;
}
.operator-settlements .os-sub {
  font-size: 13px;
  color: var(--os-muted);
  margin-top: 9px;
  max-width: 580px;
  line-height: 1.6;
}
.operator-settlements .os-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 22px;
}
.operator-settlements .os-card {
  background: var(--os-paper);
  border: 1px solid var(--os-line);
  border-radius: 10px;
  padding: 16px 18px;
}
.operator-settlements .os-cl {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--os-muted);
  display: flex;
  align-items: center;
  gap: 6px;
}
.operator-settlements .os-cdot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}
.operator-settlements .os-cv {
  font-family: var(--font-display, Georgia, serif);
  font-size: 25px;
  font-weight: 500;
  margin-top: 9px;
  line-height: 1;
}
.operator-settlements .os-cur {
  font-size: 14px;
  color: var(--os-muted);
  font-family: inherit;
  font-weight: 600;
  margin-right: 2px;
}
.operator-settlements .os-cs {
  font-size: 11px;
  color: var(--os-muted);
  margin-top: 6px;
}
.operator-settlements .os-chips {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.operator-settlements .os-chip {
  font-size: 11.5px;
  font-weight: 600;
  background: var(--os-paper);
  border: 1px solid var(--os-line);
  border-radius: 20px;
  padding: 6px 13px;
  color: var(--os-ink-soft);
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.operator-settlements .os-chip.on {
  background: var(--os-ink);
  color: #fff;
  border-color: var(--os-ink);
}
.operator-settlements .os-chip .os-n {
  font-size: 10.5px;
  opacity: 0.7;
}
.operator-settlements .os-tablewrap {
  background: var(--os-paper);
  border: 1px solid var(--os-line);
  border-radius: 10px;
  overflow: hidden;
}
.operator-settlements table {
  width: 100%;
  border-collapse: collapse;
}
.operator-settlements thead th {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--os-muted);
  text-align: left;
  padding: 12px 16px;
  background: var(--os-canvas);
  border-bottom: 1px solid var(--os-line);
}
.operator-settlements thead th.num {
  text-align: right;
}
.operator-settlements tbody td {
  padding: 13px 16px;
  border-bottom: 1px solid var(--os-line-soft);
  font-size: 12.5px;
  vertical-align: middle;
}
.operator-settlements tbody tr:last-child td {
  border-bottom: 0;
}
.operator-settlements .bk-no {
  font-weight: 700;
  color: var(--os-accent-strong);
}
.operator-settlements .bk-sub {
  font-size: 10.5px;
  color: var(--os-muted);
  margin-top: 3px;
}
.operator-settlements .op {
  font-weight: 600;
  color: var(--os-ink);
}
.operator-settlements .op-sub {
  font-size: 11px;
  color: var(--os-muted);
  margin-top: 2px;
}
.operator-settlements .due {
  font-size: 12px;
  color: var(--os-ink-soft);
}
.operator-settlements .due.over {
  color: var(--os-warn);
  font-weight: 600;
}
.operator-settlements .due-tag {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  background: var(--os-warn);
  color: #fff;
  border-radius: 4px;
  padding: 2px 7px;
  margin-top: 4px;
}
.operator-settlements .num {
  text-align: right;
}
.operator-settlements .out {
  font-weight: 700;
  color: var(--os-ink);
}
.operator-settlements .out.zero {
  color: var(--os-muted);
}
.operator-settlements .ccy-pill {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  background: var(--os-canvas);
  color: var(--os-muted);
  border-radius: 4px;
  padding: 2px 6px;
  margin-left: 6px;
}
.operator-settlements .out-sub {
  font-size: 10.5px;
  color: var(--os-muted);
  margin-top: 3px;
}
.operator-settlements .os-st {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  padding: 4px 11px 4px 8px;
  border-radius: 20px;
  white-space: nowrap;
}
.operator-settlements .os-st::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}
.operator-settlements .os-st.due { background: #f4e7ce; color: #8a6a37; }
.operator-settlements .os-st.partsettled { background: #d6ece5; color: var(--os-accent-strong); }
.operator-settlements .os-st.settled { background: var(--os-accent-strong); color: #fff; }
.operator-settlements .os-st.pending { background: #eceeec; color: #6f7c76; }
.operator-settlements .os-st.held { background: #f4dfdc; color: var(--os-warn); }
.operator-settlements .os-st.void { background: #eceeec; color: #6f7c76; text-decoration: line-through; }
.operator-settlements .os-footnote {
  font-size: 11px;
  color: var(--os-muted);
  margin-top: 14px;
  line-height: 1.6;
}
.operator-settlements .os-footnote b {
  color: var(--os-ink-soft);
}
@media (max-width: 1000px) {
  .operator-settlements .os-cards { grid-template-columns: repeat(2, 1fr); }
  .operator-settlements .col-hide { display: none; }
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/memory-pipeline/memory-pipeline.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — memory-pipeline
 *
 * 3-column flow diagram with CSS-only arrows between columns.
 * ──────────────────────────────────────────────────────────────────────── */

.memory-pipeline {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}

.memory-pipeline .mp-head {
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 16px;
  margin-bottom: 22px;
}
.memory-pipeline .mp-title {
  font-family: var(--font-display);
  font-size: 26px;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin: 4px 0 0;
}
.memory-pipeline .mp-title .stop { color: var(--accent); }
.memory-pipeline .mp-lede {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
  line-height: 1.6;
  max-width: 70ch;
  margin: 8px 0 0;
}

/* ── Flow row ─────────────────────────────────────────────────────────── */
.memory-pipeline .mp-flow {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
  position: relative;
}
.memory-pipeline .mp-stage {
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 18px 20px;
  position: relative;
}
.memory-pipeline .mp-stage[data-arrow='true']::after {
  content: '\2192'; /* right arrow */
  position: absolute;
  right: -16px;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-display);
  font-size: 20px;
  color: var(--gold-strong);
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.memory-pipeline .mp-stage-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.memory-pipeline .mp-stage-name {
  font-family: var(--font-display);
  font-size: 19px;
  color: var(--ink);
  margin: 4px 0 12px;
  font-weight: 400;
}
.memory-pipeline .mp-stage-stats {
  margin: 0 0 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.memory-pipeline .mp-stage-stats div { display: flex; flex-direction: column; gap: 2px; }
.memory-pipeline .mp-stage-stats dt {
  font-family: var(--font-sans);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.memory-pipeline .mp-stage-stats dd {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.memory-pipeline .mp-num { font-variant-numeric: tabular-nums; }
.memory-pipeline .mp-stage-desc {
  font-family: var(--font-sans);
  font-size: 12.5px;
  color: var(--ink-mute);
  line-height: 1.55;
  margin: 0;
}

.memory-pipeline .mp-empty {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-faint);
  font-style: italic;
  margin: 0;
  padding: 24px 0;
  text-align: center;
}

/* ── Footer totals strip ──────────────────────────────────────────────── */
.memory-pipeline .mp-foot {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--hairline);
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
}
.memory-pipeline .mp-foot-cell { display: flex; flex-direction: column; gap: 2px; }
.memory-pipeline .mp-foot-label {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.memory-pipeline .mp-foot-num {
  font-family: var(--font-mono);
  font-size: 18px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.memory-pipeline .mp-foot-mono {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--ink-soft);
}

@media (max-width: 880px) {
  .memory-pipeline .mp-flow { grid-template-columns: 1fr; }
  .memory-pipeline .mp-stage[data-arrow='true']::after {
    content: '\2193'; /* down arrow */
    right: 50%;
    top: auto;
    bottom: -16px;
    transform: translateX(50%);
  }
}
@media (max-width: 600px) {
  .memory-pipeline { padding: 20px 18px; }
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/memory-type-card/memory-type-card.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — memory-type-card
 *
 * Editorial card explaining one SAIA memory class (episodic / semantic /
 * lesson). Three of these stand side-by-side on /memory under "What lives
 * where".
 * ──────────────────────────────────────────────────────────────────────── */

.mtc {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 22px 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
}

/* ── Header: eyebrow + title on left, count badge on right ────────────── */
.mtc-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.mtc-head-l { display: flex; flex-direction: column; gap: 4px; }
.mtc-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.mtc-title {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
  line-height: 1.15;
}
.mtc-count {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-soft);
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  padding: 4px 10px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.mtc-count-empty { color: var(--ink-mute); font-weight: 400; }

/* ── Plain-English summary ────────────────────────────────────────────── */
.mtc-summary {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-soft);
  margin: 0;
}

/* ── Stored-in block ──────────────────────────────────────────────────── */
.mtc-stored {
  margin: 0;
  padding: 12px 14px;
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mtc-stored-label {
  font-family: var(--font-sans);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0;
}
.mtc-stored-vault {
  font-family: var(--font-mono);
  font-size: 12.5px;
  color: var(--ink-soft);
  margin: 0;
  word-break: break-all;
}
.mtc-stored-db {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink-mute);
  margin: 0;
  word-break: break-all;
}

/* ── Lifecycle italic line ────────────────────────────────────────────── */
.mtc-lifecycle {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mtc-lifecycle-label {
  font-family: var(--font-sans);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.mtc-lifecycle-text {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.5;
}

/* ── Access matrix ────────────────────────────────────────────────────── */
.mtc-access {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mtc-access-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.mtc-access-row dt {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0;
  flex: 0 0 auto;
}
.mtc-access-row dd {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.mtc-pill {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 3px 9px;
  border-radius: var(--radius-pill);
  white-space: nowrap;
}
.mtc-pill-gold {
  background: var(--gold-soft);
  border: 1px solid var(--gold-line);
  color: var(--gold-strong);
}
.mtc-pill-edge {
  background: var(--canvas);
  border: 1px solid var(--hairline);
  color: var(--ink-mute);
}

/* ── Example excerpt — faint italic, gold left bar ────────────────────── */
.mtc-example {
  margin-top: 4px;
  padding: 10px 12px;
  border-left: 3px solid var(--gold-strong);
  background: var(--canvas);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow: hidden;
}
.mtc-example-title {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-soft);
  line-height: 1.35;
}
.mtc-example-snippet {
  font-family: var(--font-sans);
  font-style: italic;
  font-size: 12.5px;
  color: var(--ink-mute);
  line-height: 1.45;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 600px) {
  .mtc { padding: 18px 18px 16px; }
  .mtc-title { font-size: 21px; }
  .mtc-summary { font-size: 14px; }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/dreaming-explainer/dreaming-explainer.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — dreaming-explainer
 *
 * Editorial wrapper for the nightly 03:00 SGT Dreaming cycle.
 * Title + intro, then a 3-column phase strip, then a promotion-rules
 * stat panel.
 * ──────────────────────────────────────────────────────────────────────── */

.dex {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* ── Head ─────────────────────────────────────────────────────────────── */
.dex-head { display: flex; flex-direction: column; gap: 6px; }
.dex-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.dex-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 2px 0 0;
  line-height: 1.15;
}
.dex-title .stop { color: var(--accent); }
.dex-intro {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-soft);
  max-width: 75ch;
  margin: 8px 0 0;
}

/* ── Phase columns ────────────────────────────────────────────────────── */
.dex-phases {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
}
.dex-phase {
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.dex-phase-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.dex-phase-name {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 400;
  color: var(--ink);
  margin: 0;
  line-height: 1.2;
}
.dex-phase-purpose {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.55;
  color: var(--ink-soft);
  margin: 0;
}
.dex-phase-duration {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12.5px;
  color: var(--ink-mute);
  padding: 6px 0;
  border-top: 1px dashed var(--hairline);
  border-bottom: 1px dashed var(--hairline);
}
.dex-phase-io {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dex-phase-io > div { display: flex; flex-direction: column; gap: 2px; }
.dex-phase-io dt {
  font-family: var(--font-sans);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0;
}
.dex-phase-io dd {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--ink-soft);
  line-height: 1.45;
}
.dex-mono {
  font-family: var(--font-mono) !important;
  font-size: 11.5px !important;
  color: var(--ink-soft) !important;
  word-break: break-all;
}

/* ── Promotion-rules footer panel ─────────────────────────────────────── */
.dex-rules {
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 18px 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.dex-rules-head { display: flex; flex-direction: column; gap: 4px; }
.dex-rules-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.dex-rules-note {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
  line-height: 1.55;
  margin: 0;
  max-width: 70ch;
}
.dex-rules-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
}
.dex-rules-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
}
.dex-rules-label {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
}
.dex-rules-num {
  font-family: var(--font-display);
  font-size: 26px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 880px) {
  .dex-phases { grid-template-columns: 1fr; }
  .dex-rules-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .dex { padding: 22px 18px; }
  .dex-title { font-size: 24px; }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/dream-cycles-table/dream-cycles-table.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — dream-cycles-table
 *
 * Editorial table of the last N Dreaming runs, with status pills.
 * ──────────────────────────────────────────────────────────────────────── */

.dream-cycles-table {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}
.dream-cycles-table .dct-head {
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 16px;
  margin-bottom: 18px;
}
.dream-cycles-table .dct-title {
  font-family: var(--font-display);
  font-size: 26px;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin: 4px 0 0;
}
.dream-cycles-table .dct-title .stop { color: var(--accent); }
.dream-cycles-table .dct-lede {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
  line-height: 1.6;
  max-width: 60ch;
  margin: 8px 0 0;
}

.dream-cycles-table .dct-empty {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink-faint);
  font-style: italic;
  text-align: center;
  padding: 36px 0;
  margin: 0;
}

.dream-cycles-table .dct-table-wrap { overflow-x: auto; }
.dream-cycles-table .dct-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-sans);
  font-size: 13px;
}
.dream-cycles-table .dct-table th,
.dream-cycles-table .dct-table td {
  text-align: left;
  padding: 9px 10px;
  border-bottom: 1px solid var(--hairline);
}
.dream-cycles-table .dct-table th {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faint);
  background: var(--canvas);
}
.dream-cycles-table .dct-num {
  text-align: right;
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.dream-cycles-table .dct-when {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink-soft);
  white-space: nowrap;
}

.dream-cycles-table .dct-pill {
  font-family: var(--font-sans);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--hairline);
  color: var(--ink-mute);
  background: var(--paper);
  white-space: nowrap;
}
.dream-cycles-table .dct-pill-complete {
  color: var(--ok);
  border-color: var(--status-ok-tint);
  background: var(--ok-soft);
}
.dream-cycles-table .dct-pill-running {
  color: var(--gold-strong);
  border-color: var(--gold);
  background: var(--gold-soft);
}
.dream-cycles-table .dct-pill-error {
  color: var(--accent);
  border-color: var(--accent-line);
  background: var(--accent-soft);
}
.dream-cycles-table .dct-pill-aborted {
  color: var(--warn);
  border-color: var(--status-warn-tint);
  background: var(--warn-soft);
}
.dream-cycles-table .dct-err {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--accent);
}

@media (max-width: 720px) {
  .dream-cycles-table { padding: 20px 18px; }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/mcp-grants-matrix/mcp-grants-matrix.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — mcp-grants-matrix
 *
 * Agent × MCP × tool permission matrix. Grouped by agent, then by MCP id.
 * ──────────────────────────────────────────────────────────────────────── */

.mcp-grants-matrix {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 28px 32px;
}
.mcp-grants-matrix .gm-head {
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 16px;
  margin-bottom: 22px;
}
.mcp-grants-matrix .gm-title {
  font-family: var(--font-display);
  font-size: 26px;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin: 4px 0 0;
}
.mcp-grants-matrix .gm-title .stop { color: var(--accent); }
.mcp-grants-matrix .gm-lede {
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-mute);
  line-height: 1.6;
  max-width: 64ch;
  margin: 8px 0 0;
}

.mcp-grants-matrix .gm-empty {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--ink-faint);
  font-style: italic;
  text-align: center;
  padding: 36px 0;
  margin: 0;
}

.mcp-grants-matrix .gm-groups {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.mcp-grants-matrix .gm-agent {
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 18px 20px;
}
.mcp-grants-matrix .gm-agent-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 12px;
  margin-bottom: 14px;
}
.mcp-grants-matrix .gm-agent-name {
  font-family: var(--font-display);
  font-size: 18px;
  color: var(--ink);
  font-weight: 400;
  margin: 0;
}
.mcp-grants-matrix .gm-agent-id {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-faint);
}

.mcp-grants-matrix .gm-mcps {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.mcp-grants-matrix .gm-mcp {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-input);
  padding: 12px 14px;
}
.mcp-grants-matrix .gm-mcp-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-strong);
  margin-bottom: 10px;
}
.mcp-grants-matrix .gm-tools {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mcp-grants-matrix .gm-tool {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: 8px;
  padding: 4px 0;
  border-bottom: 1px dashed var(--hairline);
}
.mcp-grants-matrix .gm-tool:last-child { border-bottom: 0; }
.mcp-grants-matrix .gm-tool-name {
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--ink-soft);
  word-break: break-word;
}
.mcp-grants-matrix .gm-constraints {
  grid-column: 1 / -1;
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--ink-faint);
  word-break: break-word;
  display: block;
}

.mcp-grants-matrix .gm-perm {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--hairline);
  background: var(--paper);
  white-space: nowrap;
}
.mcp-grants-matrix .gm-perm-allow {
  color: var(--ok);
  border-color: var(--status-ok-tint);
  background: var(--ok-soft);
}
.mcp-grants-matrix .gm-perm-deny {
  color: var(--accent);
  border-color: var(--accent-line);
  background: var(--accent-soft);
}
.mcp-grants-matrix .gm-perm-require_approval {
  color: var(--warn);
  border-color: var(--status-warn-tint);
  background: var(--warn-soft);
}

@media (max-width: 880px) {
  .mcp-grants-matrix .gm-mcps { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .mcp-grants-matrix { padding: 20px 18px; }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/policy-drift/policy-drift.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — policy-drift
 *
 * Surfaces the latest SAIA memory-policy drift-check result at the top
 * of /memory. Editorial chassis with a status pill + 4 stat cells.
 * ──────────────────────────────────────────────────────────────────────── */

.pdr {
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
  padding: 22px 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
}

.pdr-green {
  border-color: var(--status-ok-tint);
}
.pdr-red {
  border-color: var(--status-critical-tint);
}

/* ── Header: eyebrow + title on left, pill on right ───────────────────── */
.pdr-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.pdr-head-l {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pdr-eyebrow {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold-strong);
}
.pdr-title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
  line-height: 1.2;
}
.pdr-checked {
  font-family: var(--font-sans);
  font-style: italic;
  font-size: 12px;
  color: var(--ink-mute);
}
.pdr-checked-ts {
  font-family: var(--font-mono);
  font-style: normal;
  color: var(--ink-soft);
}

/* ── Pill ─────────────────────────────────────────────────────────────── */
.pdr-pill {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 8px 16px;
  border-radius: var(--radius-pill);
  white-space: nowrap;
  flex: 0 0 auto;
}
.pdr-pill-green {
  background: var(--status-ok-wash);
  color: var(--ok);
  border: 1px solid var(--status-ok-tint);
}
.pdr-pill-red {
  background: var(--status-critical-wash);
  color: var(--critical);
  border: 1px solid var(--status-critical-tint);
}

/* ── Stat grid ────────────────────────────────────────────────────────── */
.pdr-stats {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.pdr-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-card);
}
.pdr-stat dt {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0;
}
.pdr-stat dd {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 400;
  color: var(--ink);
  margin: 0;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.pdr-stat-hot {
  background: var(--status-critical-wash);
  border-color: var(--status-critical-tint);
}
.pdr-stat-hot dd { color: var(--critical); }

/* ── Details ──────────────────────────────────────────────────────────── */
.pdr-details {
  border-top: 1px solid var(--hairline);
  padding-top: 14px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--ink-soft);
}
.pdr-details > summary {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-mute);
  cursor: pointer;
  margin-bottom: 10px;
}
.pdr-detail-section {
  margin: 0 0 16px;
}
.pdr-detail-section h4 {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold-strong);
  margin: 0 0 8px;
}
.pdr-detail-section ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pdr-detail-section li {
  padding: 10px 12px;
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-left: 3px solid var(--status-critical-tint);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  font-size: 13px;
  color: var(--ink-soft);
}
.pdr-detail-section code {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink);
  background: var(--overlay-ink-faint);
  padding: 1px 5px;
  border-radius: 3px;
}
.pdr-mismatch {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin-top: 4px;
}
.pdr-mismatch-label {
  font-family: var(--font-sans);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  flex: 0 0 56px;
}
.pdr-rv-at {
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--ink-mute);
}
.pdr-rv-reason {
  margin-top: 4px;
  font-style: italic;
  color: var(--ink-mute);
}

@media (max-width: 720px) {
  .pdr-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pdr-title { font-size: 20px; }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/knowledge-library/knowledge-library.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities — see KnowledgeLibrary.tsx */

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/knowledge-library-app/knowledge-library-app.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities — see KnowledgeLibraryApp.tsx */

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/site-pages-tree/site-pages-tree.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* site-pages-tree — scoped under .spt
   Full-viewport sitemap explorer: toolbar / tabs / controls / canvas.
   Only .spt-canvas scrolls; the rest pins. */

/* .spt — outer shell. Layout is now flex-column (in the JSX via Tailwind
 * utilities); the previous CSS grid layout was retired in favour of a
 * mode-switched layout (sitemap vs preview). */
.spt {
  background: var(--color-paper, #fff);
  border-radius: 14px;
  overflow: hidden;
  position: relative;
}

/* Neutralize the parent's scroll so the inner canvas owns it. */
.app-main:has(.spt) {
  overflow: hidden !important;
  padding: 0 !important;
}
.app-main:has(.spt) > div {
  max-width: none;
  padding: 0;
  margin: 0;
  height: 100%;
}

/* Toolbar / Tabs / Controls / Stats / Filters — superseded by Tailwind
 * utilities on the elements themselves to match the Finance design
 * standard (Mission Control · /finance). The .spt-toolbar / .spt-tabs /
 * .spt-controls classes still appear in the JSX purely so the grid-area
 * mapping at the top of this file places them correctly inside the .spt
 * grid. No visual rules belong here. */

/* ── Canvas + tree ─────────────────────────────────────────────── */

.spt-canvas {
  overflow-y: auto;
  padding: 18px 28px 40px;
  background: var(--color-canvas, #faf6ee);
  min-height: 0;
  scrollbar-gutter: stable;
}
.spt-zero {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: var(--color-ink-mute, #6b6258);
  font-style: italic;
  text-align: center;
  margin: 40px 0;
}

.spt-node {
  position: relative;
  margin: 4px 0;
}
.spt-children {
  margin-left: 28px;
  border-left: 1px dashed var(--color-edge, #e5e0d4);
  padding-left: 14px;
  padding-top: 4px;
  padding-bottom: 4px;
}

.spt-row {
  display: flex; align-items: flex-start; gap: 8px;
  background: var(--color-paper, #fff);
  border: 1px solid var(--color-edge, #e5e0d4);
  border-radius: 10px;
  padding: 10px 14px;
  cursor: pointer;
  transition: border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease, background 0.14s ease;
}
.spt-row:hover {
  border-color: var(--color-ink-faint, #a39787);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
.spt-row[data-selected="1"] {
  border-color: var(--color-ink, #1a1612);
  background: #faf6ee;
  box-shadow: 0 0 0 1px var(--color-ink, #1a1612);
}
.spt-node[data-missing="1"] > .spt-row {
  background: transparent;
  border-style: dashed;
  border-color: #cbd5e1;
}

.spt-twisty {
  background: transparent;
  border: 0;
  width: 22px; height: 22px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--color-ink-mute, #6b6258);
  font-size: 11px;
  cursor: pointer;
  border-radius: 4px;
  flex-shrink: 0;
}
.spt-twisty:hover { background: var(--color-canvas, #faf6ee); color: var(--color-ink, #1a1612); }
.spt-twisty-leaf { cursor: default; }
.spt-twisty-leaf::before {
  content: "·";
  color: var(--color-ink-faint, #a39787);
}

.spt-icon {
  width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--color-canvas, #faf6ee);
  border: 1px solid var(--color-edge, #e5e0d4);
  border-radius: 50%;
  font-size: 14px;
  color: var(--color-ink-soft, #3d342a);
  flex-shrink: 0;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.spt-icon[data-type="home"]         { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.spt-icon[data-type="region"]       { background: #dbeafe; color: #1d4ed8; border-color: #bfdbfe; }
.spt-icon[data-type="country"]      { background: #e0e7ff; color: #4338ca; border-color: #c7d2fe; }
.spt-icon[data-type="destination"]  { background: #ecfccb; color: #4d7c0f; border-color: #d9f99d; }
.spt-icon[data-type="charter-type"] { background: #f5ecd3; color: #6b4f10; border-color: #e6d28b; }
.spt-icon[data-type="yacht"]        { background: #cffafe; color: #155e75; border-color: #a5f3fc; }
.spt-icon[data-type="article"]      { background: #f3e8ff; color: #6d28d9; border-color: #ddd6fe; }
.spt-icon[data-type="about"],
.spt-icon[data-type="contact"],
.spt-icon[data-type="legal"]        { background: #f1f5f9; color: #475569; border-color: #cbd5e1; }

.spt-meta { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.spt-titlerow {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
}
.spt-title {
  font-family: Georgia, "EB Garamond", "Times New Roman", serif;
  font-weight: 400;
  font-size: 15px;
  color: var(--color-ink, #1a1612);
  letter-spacing: -0.005em;
}
.spt-node[data-missing="1"] .spt-title { color: var(--color-ink-faint, #a39787); }

.spt-typechip {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--color-canvas, #faf6ee);
  color: var(--color-ink-soft, #3d342a);
  border: 1px solid var(--color-edge, #e5e0d4);
}
.spt-typechip[data-type="region"]       { background: #dbeafe; color: #1d4ed8; border-color: #bfdbfe; }
.spt-typechip[data-type="country"]      { background: #e0e7ff; color: #4338ca; border-color: #c7d2fe; }
.spt-typechip[data-type="destination"]  { background: #ecfccb; color: #4d7c0f; border-color: #d9f99d; }
.spt-typechip[data-type="charter-type"] { background: #f5ecd3; color: #6b4f10; border-color: #e6d28b; }
.spt-typechip[data-type="yacht"]        { background: #cffafe; color: #155e75; border-color: #a5f3fc; }
.spt-typechip[data-type="home"]         { background: #fef3c7; color: #92400e; border-color: #fde68a; }

.spt-status {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 4px;
}
.spt-status[data-status="published"] { background: #d1fae5; color: #047857; }
.spt-status[data-status="draft"]     { background: #fed7aa; color: #b45309; }
.spt-status[data-status="review"]    { background: #ede9fe; color: #6d28d9; }
.spt-status[data-status="missing"]   { background: transparent; color: #6b6258; border: 1px dashed #cbd5e1; }

.spt-blocks {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  color: var(--color-ink-mute, #6b6258);
  font-variant-numeric: tabular-nums;
}

.spt-pathrow {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
}
.spt-path {
  font-family: "SF Mono", Menlo, Consolas, monospace;
  font-size: 11.5px;
  color: var(--color-ink-soft, #3d342a);
  background: var(--color-canvas, #faf6ee);
  border: 1px solid var(--color-edge, #e5e0d4);
  padding: 1px 6px;
  border-radius: 4px;
}
.spt-subtitle {
  color: var(--color-ink-mute, #6b6258);
}
.spt-updated {
  color: var(--color-ink-faint, #a39787);
  font-style: italic;
}

/* ── Preview rail ──────────────────────────────────────────────── */

.spt-rail {
  border-left: 1px solid var(--color-edge, #e5e0d4);
  background: var(--color-canvas, #faf6ee);
  display: flex; flex-direction: column;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}
.spt-rail-head {
  padding: 14px 18px;
  border-bottom: 1px solid var(--color-edge, #e5e0d4);
  background: var(--color-paper, #fff);
  display: flex; align-items: center; gap: 10px; justify-content: space-between;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-gold-700, #6b4f10);
}
.spt-rail-path {
  font-family: "SF Mono", Menlo, Consolas, monospace;
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--color-ink-soft, #3d342a);
  background: var(--color-canvas, #faf6ee);
  border: 1px solid var(--color-edge, #e5e0d4);
  padding: 2px 7px;
  border-radius: 4px;
  font-weight: 500;
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.spt-rail-empty {
  padding: 40px 22px;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  color: var(--color-ink-mute, #6b6258);
  font-style: italic;
  text-align: center;
}
.spt-rail-body {
  flex: 1; min-height: 0;
  overflow-y: auto;
  padding: 16px;
}
.spt-rail-missing {
  padding: 32px 22px;
  text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.spt-rail-missing h3 {
  margin: 0;
  font-family: Georgia, "EB Garamond", "Times New Roman", serif;
  font-weight: 400;
  font-size: 18px;
  color: var(--color-ink, #1a1612);
}
.spt-rail-missing p {
  margin: 0;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  color: var(--color-ink-mute, #6b6258);
  line-height: 1.55;
}
.spt-rail-missing code {
  font-family: "SF Mono", Menlo, monospace;
  font-size: 11.5px;
  background: var(--color-canvas, #faf6ee);
  padding: 1px 6px;
  border-radius: 3px;
  border: 1px solid var(--color-edge, #e5e0d4);
}
.spt-rail-create {
  display: inline-block;
  margin-top: 8px;
  padding: 9px 22px;
  background: var(--color-ink, #1a1612);
  color: #fff;
  text-decoration: none;
  border-radius: 999px;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.spt-rail-create:hover { background: var(--color-gold-700, #6b4f10); }

/* ── Mock public-website preview ───────────────────────────────── */

.spt-pp {
  background: #FAF6EE;
  border: 1px solid var(--color-edge, #e5e0d4);
  border-radius: 10px;
  overflow: hidden;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #1A1612;
}
.spt-pp-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px;
  background: #0F172A;
  color: #fff;
}
.spt-pp-brand {
  font-family: Georgia, serif;
  font-size: 16px;
  letter-spacing: -0.01em;
}
.spt-pp-brand span { color: #A68230; }
.spt-pp-nav {
  display: flex; gap: 10px; align-items: center;
  font-size: 10px;
  color: rgba(255,255,255,0.85);
}
.spt-pp-cta {
  background: #A68230;
  color: #fff !important;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 600;
}
.spt-pp-breadcrumb {
  display: flex; gap: 4px; align-items: center; flex-wrap: wrap;
  padding: 8px 14px;
  background: #fff;
  border-bottom: 1px solid var(--color-edge, #e5e0d4);
  font-size: 10px;
  color: var(--color-ink-mute, #6b6258);
  text-transform: capitalize;
}
.spt-pp-breadcrumb code {
  font-family: "SF Mono", Menlo, monospace;
  color: var(--color-ink-faint, #a39787);
  font-size: 10px;
}

.spt-pp-hero {
  padding: 18px 16px 20px;
  background: #fff;
  border-bottom: 1px solid var(--color-edge, #e5e0d4);
  display: flex; flex-direction: column; gap: 8px;
}
.spt-pp-hero-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 9px;
  font-weight: 600;
  color: #A68230;
}
.spt-pp-hero-title {
  margin: 0;
  font-family: Georgia, "EB Garamond", "Times New Roman", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.18;
  letter-spacing: -0.01em;
  color: #1A1612;
}
.spt-pp-hero-lede {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: #3D342A;
}
.spt-pp-hero-actions {
  display: flex; gap: 8px;
  margin-top: 4px;
}
.spt-pp-hero-actions button {
  border: 1px solid #1A1612;
  background: #1A1612;
  color: #fff;
  padding: 7px 14px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}
.spt-pp-hero-ghost {
  background: transparent !important;
  color: #1A1612 !important;
  border-color: #D8CFB6 !important;
}

.spt-pp-cards { padding: 14px; background: #FAF6EE; }
.spt-pp-shelf-hint {
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 9px;
  font-weight: 600;
  color: #A68230;
  margin-bottom: 10px;
}
.spt-pp-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.spt-pp-card {
  background: #fff;
  border: 1px solid var(--color-edge, #e5e0d4);
  border-radius: 8px;
  overflow: hidden;
  display: flex; flex-direction: column;
}
.spt-pp-card-cover { height: 60px; }
.spt-pp-card-body { padding: 8px 10px 10px; display: flex; flex-direction: column; gap: 2px; }
.spt-pp-card-title {
  font-family: Georgia, serif;
  font-size: 12px;
  color: #1A1612;
  line-height: 1.2;
}
.spt-pp-card-sub {
  font-size: 10px;
  color: #6B6258;
}

.spt-pp-typenav { padding: 14px; background: #fff; border-top: 1px solid var(--color-edge, #e5e0d4); }
.spt-pp-typenav-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.spt-pp-typenav-pill {
  text-align: center;
  font-size: 10px;
  font-weight: 600;
  padding: 8px 6px;
  border-radius: 6px;
  background: #FAF6EE;
  border: 1px solid var(--color-edge, #e5e0d4);
  color: #3D342A;
}

.spt-pp-sections { padding: 14px; background: #fff; border-top: 1px solid var(--color-edge, #e5e0d4); }
.spt-pp-sections-list { display: flex; flex-direction: column; gap: 6px; }
.spt-pp-section-row {
  display: flex; align-items: center; gap: 8px;
  font-size: 11px;
  color: #3D342A;
  padding: 6px 0;
  border-bottom: 1px solid var(--color-edge, #e5e0d4);
}
.spt-pp-section-row:last-child { border-bottom: 0; }
.spt-pp-section-bullet {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #A68230;
}

.spt-pp-yacht-specs { padding: 14px; background: #fff; border-top: 1px solid var(--color-edge, #e5e0d4); }
.spt-pp-spec-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.spt-pp-spec {
  background: #FAF6EE;
  border: 1px solid var(--color-edge, #e5e0d4);
  border-radius: 6px;
  padding: 8px 10px;
  display: flex; flex-direction: column; gap: 2px;
}
.spt-pp-spec-key {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6B6258;
}
.spt-pp-spec-val {
  font-family: Georgia, serif;
  font-size: 13px;
  color: #1A1612;
}

.spt-pp-prose {
  padding: 16px;
  background: #fff;
  border-top: 1px solid var(--color-edge, #e5e0d4);
  font-size: 12px;
  line-height: 1.6;
  color: #3D342A;
}
.spt-pp-prose p { margin: 0 0 10px; }
.spt-pp-prose p:last-child { margin: 0; }

.spt-pp-footer {
  padding: 12px 14px;
  background: #0F172A;
  color: rgba(255,255,255,0.85);
  font-size: 10px;
  display: flex; justify-content: space-between; align-items: center;
}
.spt-pp-footer span { color: #D4B87A; font-weight: 600; }

/* ── Responsive ─────────────────────────────────────────────────── */

@media (max-width: 1024px) {
  .spt {
    grid-template-columns: 1fr;
    grid-template-areas:
      "toolbar"
      "tabs"
      "controls"
      "canvas";
  }
  .spt-rail { display: none; }
}

@media (max-width: 880px) {
  .spt-toolbar {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px 18px;
  }
  .spt-toolbar-actions { justify-content: space-between; }
  .spt-controls {
    padding: 10px 18px;
    flex-direction: column;
    align-items: flex-start;
  }
  .spt-canvas { padding: 14px 16px 30px; }
  .spt-children { margin-left: 18px; padding-left: 10px; }
  .spt-typechip, .spt-status { font-size: 9px; }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/site-theme-studio/site-theme-studio.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* site-theme-studio — scoped under .sts
   Full-viewport theme picker: toolbar / tabs / canvas + sticky rail.
   Canvas scrolls; rail stays pinned right (lg+). */

.sts {
  display: grid;
  grid-template-rows: auto auto 1fr;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "toolbar toolbar"
    "tabs    tabs"
    "canvas  rail";
  height: 100%;
  min-height: 0;
  background: var(--color-paper, #fff);
  border-radius: 14px;
  overflow: hidden;
  position: relative;
}
.app-main:has(.sts) {
  overflow: hidden !important;
  padding: 0 !important;
}
.app-main:has(.sts) > div {
  max-width: none;
  padding: 0;
  margin: 0;
  height: 100%;
}

/* ── Toolbar ────────────────────────────────────────────────────── */

.sts-toolbar {
  grid-area: toolbar;
  display: grid;
  grid-template-columns: minmax(200px, auto) 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 18px 28px;
  border-bottom: 1px solid var(--color-edge, #e5e0d4);
  background: var(--color-paper, #fff);
}
.sts-toolbar-brand { display: flex; flex-direction: column; gap: 2px; }
.sts-toolbar-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 10px;
  font-weight: 600;
  color: var(--color-gold-700, #6b4f10);
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.sts-toolbar-title {
  margin: 0;
  font-family: Georgia, "EB Garamond", "Times New Roman", serif;
  font-weight: 400;
  font-size: 22px;
  color: var(--color-ink, #1a1612);
  letter-spacing: -0.01em;
  line-height: 1;
}

.sts-toolbar-mid {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}
.sts-toolbar-stat {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: var(--color-ink-soft, #3d342a);
  background: var(--color-canvas, #faf6ee);
  border: 1px solid var(--color-edge, #e5e0d4);
  border-radius: 999px;
  padding: 6px 12px;
}
.sts-toolbar-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  display: inline-block;
}

.sts-toolbar-actions { display: flex; align-items: center; gap: 10px; }
.sts-toolbar-dirty {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px; font-weight: 600;
  color: #b45309;
  background: #fed7aa;
  border-radius: 4px;
  padding: 4px 8px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.sts-toolbar-reset, .sts-toolbar-apply {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.14s ease, color 0.14s ease, opacity 0.14s ease;
}
.sts-toolbar-reset {
  background: transparent;
  border: 1px solid var(--color-edge, #e5e0d4);
  color: var(--color-ink-mute, #6b6258);
}
.sts-toolbar-reset:not(:disabled):hover {
  color: var(--color-ink, #1a1612);
  border-color: var(--color-ink-faint, #a39787);
}
.sts-toolbar-reset:disabled { opacity: 0.4; cursor: not-allowed; }
.sts-toolbar-apply {
  background: var(--color-ink, #1a1612);
  color: #fff;
  border: 1px solid var(--color-ink, #1a1612);
}
.sts-toolbar-apply:not(:disabled):hover { background: var(--color-gold-700, #6b4f10); border-color: var(--color-gold-700, #6b4f10); }
.sts-toolbar-apply:disabled { opacity: 0.35; cursor: not-allowed; }

/* ── Tabs ──────────────────────────────────────────────────────── */

.sts-tabs {
  grid-area: tabs;
  display: flex; gap: 4px;
  padding: 0 20px;
  overflow-x: auto;
  border-bottom: 1px solid var(--color-edge, #e5e0d4);
  background: var(--color-paper, #fff);
  scrollbar-width: none;
}
.sts-tabs::-webkit-scrollbar { display: none; }
.sts-tab {
  background: transparent; border: 0;
  padding: 14px 14px 12px;
  margin-bottom: -1px;
  border-bottom: 2px solid transparent;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px; font-weight: 500;
  color: var(--color-ink-mute, #6b6258);
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.14s ease, border-color 0.14s ease;
}
.sts-tab:hover { color: var(--color-ink, #1a1612); }
.sts-tab[data-active="1"] {
  color: var(--color-ink, #1a1612);
  font-weight: 600;
  border-bottom-color: var(--color-gold-500, #a68230);
}

/* ── Canvas + section heads ────────────────────────────────────── */

.sts-canvas {
  grid-area: canvas;
  overflow-y: auto;
  padding: 22px 28px 40px;
  background: var(--color-canvas, #faf6ee);
  min-height: 0;
  scrollbar-gutter: stable;
}
.sts-section-head {
  display: flex; flex-direction: column; gap: 4px;
  margin: 0 0 18px;
}
.sts-section-head h2 {
  margin: 0;
  font-family: Georgia, "EB Garamond", "Times New Roman", serif;
  font-weight: 400;
  font-size: 22px;
  color: var(--color-ink, #1a1612);
  letter-spacing: -0.005em;
}
.sts-section-head p {
  margin: 0;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  color: var(--color-ink-mute, #6b6258);
}

.sts-subsection { margin-top: 24px; }
.sts-subsection h3 {
  margin: 0 0 12px;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-gold-700, #6b4f10);
}

/* ── Palette cards ─────────────────────────────────────────────── */

.sts-palettes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}
.sts-pal {
  position: relative;
  display: flex; flex-direction: column;
  background: var(--color-paper, #fff);
  border: 2px solid var(--color-edge, #e5e0d4);
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  padding: 0;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.sts-pal:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
  border-color: var(--color-ink-faint, #a39787);
}
.sts-pal[data-active="1"] {
  border-color: var(--color-ink, #1a1612);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.1);
}
.sts-pal-preview {
  padding: 16px;
  display: flex; flex-direction: column;
  gap: 8px;
  min-height: 170px;
}
.sts-pal-paper {
  border: 1px solid; border-radius: 8px;
  padding: 12px;
  display: flex; flex-direction: column;
  gap: 6px;
}
.sts-pal-line {
  border-radius: 3px;
  height: 6px;
  width: 100%;
  opacity: 0.85;
}
.sts-pal-line-display {
  height: 16px;
  display: flex; align-items: center; justify-content: center;
  background: transparent !important;
}
.sts-pal-headword {
  font-family: Georgia, "EB Garamond", "Times New Roman", serif;
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
}
.sts-pal-line-short { width: 65%; }
.sts-pal-cta {
  align-self: flex-start;
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: -apple-system, sans-serif;
}
.sts-pal-swatchrow {
  display: flex; gap: 4px;
  margin-top: auto;
}
.sts-pal-swatchrow span {
  width: 24px; height: 24px;
  border-radius: 50%;
  display: inline-block;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}
.sts-pal-meta {
  padding: 12px 16px 14px;
  border-top: 1px solid var(--color-edge, #e5e0d4);
  display: flex; flex-direction: column; gap: 2px;
}
.sts-pal-name {
  font-family: Georgia, "EB Garamond", "Times New Roman", serif;
  font-size: 16px;
  color: var(--color-ink, #1a1612);
}
.sts-pal-desc {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  color: var(--color-ink-mute, #6b6258);
}
.sts-pal-check {
  position: absolute; top: 10px; right: 12px;
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--color-ink, #1a1612);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px;
  font-weight: 700;
}

/* ── Typography cards ──────────────────────────────────────────── */

.sts-typo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}
.sts-typo {
  position: relative;
  display: flex; flex-direction: column;
  background: var(--color-paper, #fff);
  border: 2px solid var(--color-edge, #e5e0d4);
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  padding: 0;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.sts-typo:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
  border-color: var(--color-ink-faint, #a39787);
}
.sts-typo[data-active="1"] {
  border-color: var(--color-ink, #1a1612);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.1);
}
.sts-typo-preview {
  padding: 20px 18px;
  display: flex; flex-direction: column;
  gap: 10px;
  background: #fff;
  min-height: 170px;
}
.sts-typo-display {
  font-size: 24px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--color-ink, #1a1612);
}
.sts-typo-body {
  font-size: 13px;
  line-height: 1.55;
  color: var(--color-ink-soft, #3d342a);
}
.sts-typo-pair {
  margin-top: auto;
  display: flex; gap: 14px; align-items: baseline;
}
.sts-typo-pair span {
  font-size: 20px;
  color: var(--color-ink-mute, #6b6258);
}
.sts-typo-meta {
  padding: 12px 18px 14px;
  border-top: 1px solid var(--color-edge, #e5e0d4);
  display: flex; flex-direction: column; gap: 2px;
}
.sts-typo-name {
  font-family: Georgia, "EB Garamond", "Times New Roman", serif;
  font-size: 16px;
  color: var(--color-ink, #1a1612);
}
.sts-typo-desc {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  color: var(--color-ink-mute, #6b6258);
}
.sts-typo-check {
  position: absolute; top: 10px; right: 12px;
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--color-ink, #1a1612);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px;
  font-weight: 700;
}

/* ── Density + radius cards ────────────────────────────────────── */

.sts-density-grid, .sts-radius-grid {
  display: grid; gap: 14px;
}
.sts-density-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.sts-radius-grid  { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }

.sts-density, .sts-radius {
  position: relative;
  display: flex; flex-direction: column;
  background: var(--color-paper, #fff);
  border: 2px solid var(--color-edge, #e5e0d4);
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  padding: 0;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.sts-density:hover, .sts-radius:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
  border-color: var(--color-ink-faint, #a39787);
}
.sts-density[data-active="1"], .sts-radius[data-active="1"] {
  border-color: var(--color-ink, #1a1612);
}
.sts-density-preview {
  display: flex; flex-direction: column;
  gap: 4px;
  padding: 18px;
  background: var(--color-canvas, #faf6ee);
}
.sts-density-row {
  background: var(--color-edge, #e5e0d4);
  border-radius: 4px;
}
.sts-density-meta {
  padding: 12px 16px 14px;
  border-top: 1px solid var(--color-edge, #e5e0d4);
  display: flex; flex-direction: column; gap: 2px;
}
.sts-density-name {
  font-family: Georgia, "EB Garamond", "Times New Roman", serif;
  font-size: 15px;
  color: var(--color-ink, #1a1612);
}
.sts-density-desc {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  color: var(--color-ink-mute, #6b6258);
}
.sts-density-check, .sts-radius-check {
  position: absolute; top: 10px; right: 12px;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--color-ink, #1a1612);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700;
}

.sts-radius {
  align-items: center; padding: 16px;
}
.sts-radius-preview {
  width: 90px; height: 60px;
  background: var(--color-ink, #1a1612);
}
.sts-radius-name {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: var(--color-ink, #1a1612);
  margin-top: 12px;
}

/* ── Live preview pane ─────────────────────────────────────────── */

.sts-preview {
  border-radius: 14px;
  overflow: hidden;
  padding: 0;
  display: flex; flex-direction: column;
  border: 1px solid var(--color-edge, #e5e0d4);
}
.sts-preview-header {
  display: flex; align-items: center;
  justify-content: space-between;
  padding: 12px 18px;
}
.sts-preview-brand {
  font-size: 20px; line-height: 1;
  letter-spacing: -0.01em;
}
.sts-preview-nav {
  display: flex; gap: 14px;
  font-size: 12px;
  align-items: center;
}
.sts-preview-hero {
  margin: 20px;
  padding: 28px 30px;
  border: 1px solid;
  display: flex; flex-direction: column; gap: 10px;
}
.sts-preview-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.sts-preview-title {
  margin: 0;
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.sts-preview-lede {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}
.sts-preview-actions {
  display: flex; gap: 10px;
  margin-top: 8px;
}
.sts-preview-actions button {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid;
  padding: 9px 18px;
  cursor: pointer;
}

.sts-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding: 0 20px 20px;
}
.sts-preview-card {
  display: flex; flex-direction: column;
  border: 1px solid;
  overflow: hidden;
}
.sts-preview-card-cover {
  height: 90px;
}
.sts-preview-card-body {
  padding: 12px 14px 14px;
  display: flex; flex-direction: column; gap: 4px;
}
.sts-preview-card-chip {
  align-self: flex-start;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 999px;
}
.sts-preview-card-title {
  font-size: 16px;
  line-height: 1.2;
}
.sts-preview-card-sub {
  font-size: 11px;
}
.sts-preview-footer {
  padding: 14px 20px;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 12px;
}

/* ── Sticky right rail (lg+) ───────────────────────────────────── */

.sts-rail {
  grid-area: rail;
  width: 380px;
  border-left: 1px solid var(--color-edge, #e5e0d4);
  background: #f9f7f1;
  display: flex; flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.sts-rail-head {
  padding: 14px 18px;
  border-bottom: 1px solid var(--color-edge, #e5e0d4);
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-gold-700, #6b4f10);
  background: var(--color-paper, #fff);
}
.sts-rail-body {
  flex: 1; min-height: 0;
  padding: 18px;
  overflow-y: auto;
}
.sts-rail-body .sts-preview-title { font-size: 18px; }
.sts-rail-body .sts-preview-lede { font-size: 12px; }
.sts-rail-body .sts-preview-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 0 12px 12px; }
.sts-rail-body .sts-preview-card-cover { height: 60px; }
.sts-rail-body .sts-preview-hero { margin: 12px; padding: 18px; }
.sts-rail-body .sts-preview-header { padding: 10px 12px; }
.sts-rail-body .sts-preview-nav { gap: 10px; font-size: 10px; }
.sts-rail-body .sts-preview-brand { font-size: 16px; }

/* ── Responsive ────────────────────────────────────────────────── */

@media (max-width: 1200px) {
  .sts {
    grid-template-columns: 1fr;
    grid-template-areas:
      "toolbar"
      "tabs"
      "canvas";
  }
  .sts-rail { display: none; }
}
@media (max-width: 880px) {
  .sts-toolbar {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px 18px;
  }
  .sts-toolbar-mid { justify-content: flex-start; }
  .sts-toolbar-actions { justify-content: flex-end; }
  .sts-canvas { padding: 16px; }
  .sts-preview-grid { grid-template-columns: 1fr; }
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/site-page-editor/site-page-editor.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* site-page-editor — scoped under .spe
   Full-viewport editor: toolbar / (palette · canvas · preview).
   Each pane scrolls independently; the parent .app-main scroll is
   neutralised via :has(.spe). */

.spe {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  min-height: 0;
  background: var(--color-paper, #fff);
  border-radius: 14px;
  overflow: hidden;
  position: relative;
}
.app-main:has(.spe) {
  overflow: hidden !important;
  padding: 0 !important;
}
.app-main:has(.spe) > div {
  max-width: none;
  padding: 0;
  margin: 0;
  height: 100%;
}

/* ── Toolbar ───────────────────────────────────────────────────── */

.spe-toolbar {
  display: grid;
  grid-template-columns: minmax(200px, auto) 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 18px 28px;
  border-bottom: 1px solid var(--color-edge, #e5e0d4);
  background: var(--color-paper, #fff);
}
.spe-toolbar-brand { display: flex; flex-direction: column; gap: 2px; }
.spe-toolbar-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 10px;
  font-weight: 600;
  color: var(--color-gold-700, #6b4f10);
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.spe-toolbar-title {
  margin: 0;
  font-family: Georgia, "EB Garamond", "Times New Roman", serif;
  font-weight: 400;
  font-size: 22px;
  color: var(--color-ink, #1a1612);
  letter-spacing: -0.01em;
  line-height: 1;
}

.spe-toolbar-mid {
  display: flex; flex-wrap: wrap; gap: 10px;
  justify-content: center; align-items: center;
}
.spe-toolbar-stat {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--color-canvas, #faf6ee);
  color: var(--color-ink-soft, #3d342a);
  border: 1px solid var(--color-edge, #e5e0d4);
}
.spe-toolbar-stat[data-status="published"]  { background: #d1fae5; color: #047857; border-color: #a7f3d0; }
.spe-toolbar-stat[data-status="draft"]      { background: #fed7aa; color: #b45309; border-color: #fdba74; }
.spe-toolbar-stat[data-status="review"]     { background: #ede9fe; color: #6d28d9; border-color: #ddd6fe; }
.spe-toolbar-stat[data-status="unpublished"]{ background: #f3f4f6; color: #4b5563; border-color: #d1d5db; }
.spe-toolbar-stat[data-status="archived"]   { background: #e5e7eb; color: #374151; border-color: #d1d5db; }

.spe-toolbar-saved {
  font-size: 11px; font-weight: 600;
  color: #047857;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.spe-toolbar-error {
  font-size: 11px; font-weight: 600;
  color: #b91c1c;
  background: #fee2e2;
  padding: 4px 10px;
  border-radius: 999px;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  max-width: 320px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.spe-toolbar-actions { display: flex; align-items: center; gap: 10px; }
.spe-toolbar-save, .spe-toolbar-publish {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.14s ease, color 0.14s ease, opacity 0.14s ease;
}
.spe-toolbar-save {
  background: transparent;
  border: 1px solid var(--color-edge, #e5e0d4);
  color: var(--color-ink, #1a1612);
}
.spe-toolbar-save:not(:disabled):hover {
  border-color: var(--color-ink-faint, #a39787);
}
.spe-toolbar-publish {
  background: var(--color-ink, #1a1612);
  color: #fff;
  border: 1px solid var(--color-ink, #1a1612);
}
.spe-toolbar-publish:not(:disabled):hover {
  background: var(--color-gold-700, #6b4f10);
  border-color: var(--color-gold-700, #6b4f10);
}
.spe-toolbar-save:disabled, .spe-toolbar-publish:disabled {
  opacity: 0.4; cursor: not-allowed;
}

/* ── Three-pane body grid ──────────────────────────────────────── */

.spe-grid {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr) 380px;
  min-height: 0;
}

/* ── Palette (left) ────────────────────────────────────────────── */

.spe-palette {
  background: #f9f7f1;
  border-right: 1px solid var(--color-edge, #e5e0d4);
  display: flex; flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.spe-palette-head {
  padding: 14px 18px;
  border-bottom: 1px solid var(--color-edge, #e5e0d4);
  background: var(--color-paper, #fff);
  display: flex; align-items: center; justify-content: space-between;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-gold-700, #6b4f10);
}
.spe-palette-count {
  font-size: 11px;
  background: var(--color-canvas, #faf6ee);
  color: var(--color-ink-mute, #6b6258);
  border: 1px solid var(--color-edge, #e5e0d4);
  padding: 1px 7px;
  border-radius: 999px;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 600;
}
.spe-palette-search {
  margin: 12px 14px;
  height: 34px;
  padding: 0 12px;
  border: 1px solid var(--color-edge, #e5e0d4);
  border-radius: 999px;
  background: var(--color-paper, #fff);
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  color: var(--color-ink, #1a1612);
  outline: none;
}
.spe-palette-search:focus { border-color: var(--color-gold-500, #a68230); }
.spe-palette-list {
  flex: 1; min-height: 0;
  overflow-y: auto;
  padding: 0 12px 16px;
  display: flex; flex-direction: column; gap: 6px;
}
.spe-palette-zero {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  color: var(--color-ink-mute, #6b6258);
  font-style: italic;
  padding: 14px 4px;
  text-align: center;
}
.spe-palitem {
  display: flex; flex-direction: column;
  gap: 3px;
  background: var(--color-paper, #fff);
  border: 1px solid var(--color-edge, #e5e0d4);
  border-radius: 8px;
  padding: 10px 12px;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease;
}
.spe-palitem:hover {
  border-color: var(--color-ink-faint, #a39787);
  transform: translateX(2px);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.spe-palitem-kind {
  font-family: Georgia, "EB Garamond", "Times New Roman", serif;
  font-size: 13px;
  color: var(--color-ink, #1a1612);
}
.spe-palitem-desc {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  color: var(--color-ink-mute, #6b6258);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.spe-palitem-slug {
  font-family: "SF Mono", Menlo, monospace;
  font-size: 10px;
  color: var(--color-ink-faint, #a39787);
  margin-top: 2px;
}

/* ── Canvas (centre) ───────────────────────────────────────────── */

.spe-canvas {
  background: var(--color-canvas, #faf6ee);
  overflow-y: auto;
  min-height: 0;
  padding: 24px 28px 40px;
  display: flex; flex-direction: column; gap: 24px;
  scrollbar-gutter: stable;
}

.spe-form, .spe-stack {
  background: var(--color-paper, #fff);
  border: 1px solid var(--color-edge, #e5e0d4);
  border-radius: 12px;
  padding: 22px 24px;
}
.spe-form-head h2, .spe-stack-head h2 {
  margin: 0 0 4px;
  font-family: Georgia, "EB Garamond", "Times New Roman", serif;
  font-weight: 400;
  font-size: 20px;
  color: var(--color-ink, #1a1612);
}
.spe-form-head p, .spe-stack-head p {
  margin: 0 0 18px;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  color: var(--color-ink-mute, #6b6258);
}
.spe-form-head p code, .spe-stack-head p code {
  font-family: "SF Mono", Menlo, monospace;
  background: var(--color-canvas, #faf6ee);
  padding: 1px 5px;
  border-radius: 3px;
}

.spe-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
}
.spe-field { display: flex; flex-direction: column; gap: 4px; }
.spe-field-wide { grid-column: 1 / -1; }
.spe-field > span {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-ink-soft, #3d342a);
}
.spe-field input, .spe-field select, .spe-field textarea {
  border: 1px solid var(--color-edge, #e5e0d4);
  border-radius: 8px;
  padding: 8px 12px;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  color: var(--color-ink, #1a1612);
  background: var(--color-paper, #fff);
  outline: none;
  transition: border-color 0.14s ease;
}
.spe-field input:focus, .spe-field select:focus, .spe-field textarea:focus {
  border-color: var(--color-gold-500, #a68230);
}
.spe-field input:disabled, .spe-field select:disabled {
  background: var(--color-canvas, #faf6ee);
  color: var(--color-ink-mute, #6b6258);
  cursor: not-allowed;
}

/* ── Stack ─────────────────────────────────────────────────────── */

.spe-stack-empty {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  color: var(--color-ink-mute, #6b6258);
  font-style: italic;
  text-align: center;
  padding: 30px 14px;
  border: 1px dashed var(--color-edge, #e5e0d4);
  border-radius: 8px;
  background: var(--color-canvas, #faf6ee);
}
.spe-stack-list {
  display: flex; flex-direction: column; gap: 8px;
}

.spe-block {
  border: 1px solid var(--color-edge, #e5e0d4);
  border-radius: 10px;
  background: var(--color-paper, #fff);
  overflow: hidden;
}
.spe-block[data-open="1"] { border-color: var(--color-ink-faint, #a39787); }
.spe-block-head {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px;
  background: var(--color-canvas, #faf6ee);
}
.spe-block-handle { display: flex; flex-direction: column; gap: 1px; }
.spe-block-arrow {
  width: 18px; height: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent;
  border: 0;
  color: var(--color-ink-mute, #6b6258);
  font-size: 10px;
  cursor: pointer;
  border-radius: 3px;
}
.spe-block-arrow:not(:disabled):hover { background: var(--color-paper, #fff); color: var(--color-ink, #1a1612); }
.spe-block-arrow:disabled { opacity: 0.25; cursor: not-allowed; }
.spe-block-sort {
  font-family: "SF Mono", Menlo, monospace;
  font-size: 11px;
  color: var(--color-ink-faint, #a39787);
  font-variant-numeric: tabular-nums;
}
.spe-block-kind {
  font-family: Georgia, "EB Garamond", "Times New Roman", serif;
  font-size: 14px;
  color: var(--color-ink, #1a1612);
}
.spe-block-kindslug {
  font-family: "SF Mono", Menlo, monospace;
  font-size: 10.5px;
  background: var(--color-paper, #fff);
  color: var(--color-ink-soft, #3d342a);
  padding: 1px 7px;
  border-radius: 4px;
  border: 1px solid var(--color-edge, #e5e0d4);
}
.spe-block-actions {
  margin-left: auto;
  display: flex; gap: 6px;
}
.spe-block-toggle {
  background: transparent;
  border: 1px solid var(--color-edge, #e5e0d4);
  color: var(--color-ink-soft, #3d342a);
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  cursor: pointer;
}
.spe-block-toggle:hover { color: var(--color-ink, #1a1612); border-color: var(--color-ink-faint, #a39787); }
.spe-block-delete {
  background: transparent;
  border: 1px solid var(--color-edge, #e5e0d4);
  width: 26px; height: 26px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--color-ink-mute, #6b6258);
  border-radius: 50%;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}
.spe-block-delete:hover { color: #b91c1c; border-color: #fca5a5; background: #fee2e2; }

.spe-block-body {
  padding: 14px 18px 16px;
  display: flex; flex-direction: column; gap: 10px;
}
.spe-block-label { display: flex; flex-direction: column; gap: 4px; }
.spe-block-label > span {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-ink-soft, #3d342a);
}
.spe-block-label input, .spe-block-label textarea {
  border: 1px solid var(--color-edge, #e5e0d4);
  border-radius: 8px;
  padding: 8px 12px;
  font-family: "SF Mono", Menlo, monospace;
  font-size: 12px;
  color: var(--color-ink, #1a1612);
  background: var(--color-canvas, #faf6ee);
  outline: none;
}
.spe-block-label input:focus, .spe-block-label textarea:focus {
  border-color: var(--color-gold-500, #a68230);
  background: var(--color-paper, #fff);
}
.spe-block-label textarea { resize: vertical; min-height: 140px; line-height: 1.45; }
.spe-block-error {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  color: #b91c1c;
  background: #fee2e2;
  border: 1px solid #fca5a5;
  border-radius: 6px;
  padding: 6px 10px;
}
.spe-block-hint {
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  color: var(--color-ink-mute, #6b6258);
  font-style: italic;
}

/* ── Preview rail (right) ──────────────────────────────────────── */

.spe-rail {
  background: #f4ede0;
  border-left: 1px solid var(--color-edge, #e5e0d4);
  display: flex; flex-direction: column;
  min-height: 0;
  overflow: hidden;
  box-shadow: inset 4px 0 0 var(--color-gold-500, #a68230);
}
.spe-rail-head {
  padding: 14px 18px;
  border-bottom: 1px solid var(--color-edge, #e5e0d4);
  background: var(--color-paper, #fff);
  display: flex; align-items: center; gap: 10px; justify-content: space-between;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-gold-700, #6b4f10);
}
.spe-rail-path {
  font-family: "SF Mono", Menlo, monospace;
  font-size: 11px;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
  color: var(--color-ink-soft, #3d342a);
  background: var(--color-canvas, #faf6ee);
  border: 1px solid var(--color-edge, #e5e0d4);
  padding: 2px 7px;
  border-radius: 4px;
  max-width: 220px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.spe-rail-body {
  flex: 1; min-height: 0;
  overflow-y: auto;
  padding: 16px;
}

/* Mini public-site mock — same look as the sitemap preview, scoped here. */
.spe-pp {
  background: #FAF6EE;
  border: 1px solid var(--color-edge, #e5e0d4);
  border-radius: 10px;
  overflow: hidden;
  font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #1A1612;
}
.spe-pp-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px;
  background: #0F172A;
  color: #fff;
}
.spe-pp-brand { font-family: Georgia, serif; font-size: 16px; }
.spe-pp-brand span { color: #A68230; }
.spe-pp-nav {
  display: flex; gap: 10px; align-items: center;
  font-size: 10px;
  color: rgba(255,255,255,0.85);
}
.spe-pp-cta {
  background: #A68230; color: #fff !important;
  padding: 4px 10px; border-radius: 999px; font-weight: 600;
}
.spe-pp-hero {
  padding: 18px 16px 20px;
  background: #fff;
  border-bottom: 1px solid var(--color-edge, #e5e0d4);
  display: flex; flex-direction: column; gap: 8px;
}
.spe-pp-hero-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 9px;
  font-weight: 600;
  color: #A68230;
}
.spe-pp-hero-title {
  margin: 0;
  font-family: Georgia, serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.2;
  color: #1A1612;
}
.spe-pp-hero-lede {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: #3D342A;
}
.spe-pp-footer {
  padding: 10px 14px;
  background: #0F172A;
  color: rgba(255,255,255,0.85);
  font-size: 10px;
}
.spe-pp-footer span { color: #D4B87A; font-weight: 600; margin-left: 4px; }

/* ── Responsive ────────────────────────────────────────────────── */

@media (max-width: 1280px) {
  .spe-grid { grid-template-columns: 240px minmax(0, 1fr); }
  .spe-rail { display: none; }
}
@media (max-width: 980px) {
  .spe-grid { grid-template-columns: 1fr; }
  .spe-palette { display: none; }
  .spe-form-grid { grid-template-columns: 1fr; }
  .spe-toolbar { grid-template-columns: 1fr; gap: 10px; padding: 14px 18px; }
  .spe-canvas { padding: 16px; }
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/site-content-manager/site-content-manager.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* site-content-manager — scoped under .scm
   Full-viewport master-detail: toolbar / (list · editor).
   Each pane scrolls independently; the parent .app-main scroll is
   neutralised via :has(.scm). */

.scm {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  min-height: 0;
  background: var(--color-paper, #fff);
  border-radius: 14px;
  overflow: hidden;
  position: relative;
}
.app-main:has(.scm) {
  overflow: hidden !important;
  padding: 0 !important;
}
.app-main:has(.scm) > div {
  max-width: none;
  padding: 0;
  margin: 0;
  height: 100%;
}

/* ── Toolbar ───────────────────────────────────────────────────── */

.scm-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, auto) 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 18px 28px;
  border-bottom: 1px solid var(--color-edge, #e5e0d4);
  background: var(--color-paper, #fff);
}
.scm-toolbar-brand { display: flex; flex-direction: column; gap: 2px; }
.scm-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 11px;
  color: var(--color-ink-mute, #8a8a80);
  font-weight: 600;
}
.scm-title {
  font-family: var(--font-serif, Georgia, serif);
  font-size: 22px;
  line-height: 1.1;
  margin: 0;
  color: var(--color-ink, #1c1c1a);
}
.scm-lede {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--color-ink-mute, #6f6f68);
  max-width: 60ch;
}
.scm-new {
  justify-self: end;
  padding: 9px 16px;
  border-radius: 999px;
  border: 1px solid var(--color-ink, #1c1c1a);
  background: var(--color-ink, #1c1c1a);
  color: var(--color-paper, #fff);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity var(--duration-fast, 120ms) var(--ease, ease);
}
.scm-new:hover { opacity: 0.85; }

/* ── Body grid ─────────────────────────────────────────────────── */

.scm-grid {
  display: grid;
  grid-template-columns: minmax(280px, 360px) 1fr;
  min-height: 0;
  height: 100%;
}

/* ── List ──────────────────────────────────────────────────────── */

.scm-list {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 0;
  border-right: 1px solid var(--color-edge, #e5e0d4);
  background: var(--color-surface, #faf8f3);
}
.scm-list-controls {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  border-bottom: 1px solid var(--color-edge, #e5e0d4);
}
.scm-search {
  width: 100%;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid var(--color-edge, #e5e0d4);
  background: var(--color-paper, #fff);
  font-size: 13px;
  color: var(--color-ink, #1c1c1a);
}
.scm-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.scm-filter {
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--color-edge, #e5e0d4);
  background: transparent;
  font-size: 11px;
  text-transform: capitalize;
  color: var(--color-ink-mute, #6f6f68);
  cursor: pointer;
}
.scm-filter.is-active {
  background: var(--color-ink, #1c1c1a);
  border-color: var(--color-ink, #1c1c1a);
  color: var(--color-paper, #fff);
}
.scm-list-scroll { overflow-y: auto; min-height: 0; }
.scm-list-zero {
  padding: 32px 16px;
  text-align: center;
  font-size: 13px;
  color: var(--color-ink-mute, #8a8a80);
}
.scm-row {
  display: grid;
  gap: 4px;
  width: 100%;
  text-align: left;
  padding: 12px 16px;
  border: 0;
  border-bottom: 1px solid var(--color-edge, #ece8df);
  background: transparent;
  cursor: pointer;
}
.scm-row:hover { background: var(--color-paper, #fff); }
.scm-row.is-active {
  background: var(--color-paper, #fff);
  box-shadow: inset 3px 0 0 var(--color-accent, #c8a24b);
}
.scm-row-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-ink, #1c1c1a);
}
.scm-row-slug {
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  color: var(--color-ink-mute, #8a8a80);
}
.scm-row-meta { display: flex; align-items: center; gap: 8px; margin-top: 2px; }
.scm-row-kind, .scm-row-date {
  font-size: 11px;
  color: var(--color-ink-mute, #8a8a80);
}
.scm-row-date { margin-left: auto; }
.scm-chip {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 2px 7px;
  border-radius: 999px;
  font-weight: 600;
}
.scm-chip-published { background: var(--ok-soft, #dff0e2); color: var(--ok, #2f7d4f); }
.scm-chip-draft     { background: var(--info-soft, #e6eef6); color: var(--info, #3a6ea5); }
.scm-chip-archived  { background: var(--paper-sunk, #eceae3); color: var(--color-ink-mute, #8a8a80); }

/* ── Editor ────────────────────────────────────────────────────── */

.scm-editor { overflow-y: auto; min-height: 0; }
.scm-empty {
  display: grid;
  place-items: center;
  height: 100%;
  color: var(--color-ink-mute, #8a8a80);
  font-size: 14px;
}
.scm-form { padding: 24px 28px; max-width: 920px; }
.scm-form-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 18px;
}
.scm-form-head h2 {
  font-family: var(--font-serif, Georgia, serif);
  font-size: 18px;
  margin: 0;
  color: var(--color-ink, #1c1c1a);
}
.scm-form-status { display: flex; gap: 10px; font-size: 12px; }
.scm-saved { color: var(--ok, #2f7d4f); font-weight: 600; }
.scm-error { color: var(--critical, #b4453a); font-weight: 600; }

.scm-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.scm-field { display: flex; flex-direction: column; gap: 5px; }
.scm-field-wide { grid-column: span 2; }
.scm-field-full { grid-column: span 2; }
.scm-field > span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-ink-mute, #8a8a80);
  font-weight: 600;
}
.scm-field input,
.scm-field select,
.scm-field textarea {
  width: 100%;
  padding: 9px 12px;
  border-radius: 8px;
  border: 1px solid var(--color-edge, #e5e0d4);
  background: var(--color-paper, #fff);
  font-size: 13px;
  color: var(--color-ink, #1c1c1a);
  font-family: inherit;
}
.scm-field textarea {
  font-family: var(--font-mono, monospace);
  line-height: 1.5;
  resize: vertical;
}
.scm-field input:focus,
.scm-field select:focus,
.scm-field textarea:focus {
  outline: none;
  border-color: var(--color-accent, #c8a24b);
  box-shadow: 0 0 0 3px var(--accent-soft, rgba(200, 162, 75, 0.18));
}

.scm-form-actions {
  display: flex;
  gap: 10px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--color-edge, #e5e0d4);
}
.scm-save, .scm-publish, .scm-delete {
  padding: 9px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid transparent;
}
.scm-save {
  background: var(--color-ink, #1c1c1a);
  color: var(--color-paper, #fff);
}
.scm-publish {
  background: var(--color-accent, #c8a24b);
  color: var(--color-ink, #1c1c1a);
  border-color: var(--color-accent, #c8a24b);
}
.scm-publish:disabled { opacity: 0.45; cursor: not-allowed; }
.scm-delete {
  background: transparent;
  border-color: var(--critical, #b4453a);
  color: var(--critical, #b4453a);
  margin-left: auto;
}
.scm-save:disabled, .scm-delete:disabled { opacity: 0.5; cursor: not-allowed; }

@media (max-width: 860px) {
  .scm-grid { grid-template-columns: 1fr; }
  .scm-list { display: none; }
  .scm-form-grid { grid-template-columns: 1fr; }
  .scm-field-wide, .scm-field-full { grid-column: span 1; }
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/knowledge-entry-card/knowledge-entry-card.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities — see KnowledgeEntryCard.tsx */

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/google-workspace-users/google-workspace-users.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* google-workspace-users — superseded by Tailwind utilities on the
 * component itself (Finance design standard). Kept so the blocks.css
 * @import chain remains stable. */

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/google-mcp-health/google-mcp-health.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* google-mcp-health — superseded by Tailwind utilities on the component
 * itself (Finance design standard). Kept so the blocks.css @import chain
 * remains stable. */

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/gsc-top-queries/gsc-top-queries.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* gsc-top-queries — superseded by Tailwind utilities on the component itself
 * (Finance design standard). Kept so the blocks.css @import chain remains
 * stable. */

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/gsc-sitemap-status/gsc-sitemap-status.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* gsc-sitemap-status — superseded by Tailwind utilities on the component
 * itself (Finance design standard). Kept so the blocks.css @import chain
 * remains stable. */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/ga4-traffic-overview/ga4-traffic-overview.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ga4-traffic-overview — Tailwind utilities on the component itself
 * (Finance design standard). Stub file kept so the blocks.css @import
 * chain remains stable. */

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/ga4-top-sources/ga4-top-sources.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ga4-top-sources — Tailwind utilities on the component itself
 * (Finance design standard). Stub file kept so the blocks.css @import
 * chain remains stable. */

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/gads-campaigns-list/gads-campaigns-list.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* gads-campaigns-list — Finance design standard; styles live on the
 * component as Tailwind utilities. Kept so the blocks.css @import chain
 * remains stable. */

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/gads-performance-chart/gads-performance-chart.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* gads-performance-chart — Finance design standard; styles live on the
 * component as Tailwind utilities. Kept so the blocks.css @import chain
 * remains stable. */

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/wise-balances/wise-balances.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* wise-balances — Finance design standard relies on Tailwind utilities
 * on the component itself. CSS file kept so the blocks.css @import chain
 * remains stable. */

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/emails/booking-confirmation/booking-confirmation.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — email-booking-confirmation
 *
 * The email body itself is entirely inline-styled (Gmail strips classes and
 * `<style>` blocks). The wrapper below only governs how the email *preview*
 * sits inside the studio / admin preview surface — never reaches the
 * recipient's inbox.
 * ──────────────────────────────────────────────────────────────────────── */

.email-block.email-booking-confirmation {
  max-width: 720px;
  margin: 0 auto;
  background: #FAF6EE;
}

.email-block.email-booking-confirmation > * {
  /* Strip any inherited admin chrome — emails own their own layout. */
  font-family: inherit;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/emails/newsletter/newsletter.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — email-newsletter
 *
 * Wrapper-only — the email body itself is fully inline-styled because
 * Gmail strips classes and <style> blocks. These rules govern preview
 * placement inside studio/admin surfaces, never the recipient's inbox.
 * ──────────────────────────────────────────────────────────────────────── */

.email-block.email-newsletter {
  max-width: 720px;
  margin: 0 auto;
  background: #FAF6EE;
}

.email-block.email-newsletter > * {
  font-family: inherit;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/emails/voyage-announcement/voyage-announcement.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — email-voyage-announcement
 *
 * Wrapper-only; the email body is fully inline-styled because Gmail strips
 * classes and <style> blocks. These rules govern preview placement inside
 * studio/admin surfaces, not the recipient's inbox.
 * ──────────────────────────────────────────────────────────────────────── */

.email-block.email-voyage-announcement {
  max-width: 720px;
  margin: 0 auto;
  background: #FAF6EE;
}

.email-block.email-voyage-announcement > * {
  font-family: inherit;
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/_modules-shared.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * Shared palette + typography for the new domain modules (GMS / HR /
 * Analytics) — keeps them visually in lockstep with the established
 * /finance + /operations blocks.
 *
 * Why this exists:
 *   Finance blocks (operations/invoices, journal, receipts, etc.) declare
 *   a local sage/teal palette inline (`--inv-ink`, `--jrn-ink`, …) that
 *   diverges from the global `editorial` theme tokens. They use:
 *      ink         #1e2c27   (cool green-black)
 *      ink-soft    #3c4843
 *      muted       #6f7c76
 *      canvas      #f3f4f2
 *      paper       #ffffff
 *      accent      #5aa99d   (sage)
 *      accent ▶    #2f6a5c
 *      line        #d9e2dd
 *      line-soft   #e8eeea
 *      warn        #a4504a
 *      gold        #c79a4e
 *      font sans   'Hanken Grotesk', system-ui
 *      font serif  'Fraunces', Georgia, serif
 *      tnum on
 *
 *   The 67 new blocks reference globals (`var(--ink, fallback)`) which
 *   would pull editorial-theme black instead of finance sage-ink. This
 *   sheet redefines the same tokens on any root that starts with the
 *   module prefix, so the new blocks inherit the finance palette without
 *   touching their individual CSS files.
 *
 *   When the design system formalises this palette as the canonical
 *   "operational" surface, the overrides can move into the editorial
 *   theme proper and this file disappears.
 * ──────────────────────────────────────────────────────────────────── */

[class^="gms-"], [class*=" gms-"],
[class^="hr-"], [class*=" hr-"],
[class^="analytics-"], [class*=" analytics-"] {
  /* Ink */
  --ink:           #1e2c27;
  --ink-soft:      #3c4843;
  --ink-mute:      #6f7c76;
  --ink-muted:     #6f7c76;   /* alias some block CSS uses */
  --ink-faint:     #9aa7a2;

  /* Surfaces */
  --canvas:        #f3f4f2;
  --paper:         #ffffff;
  --surface:       #ffffff;
  --surface-2:     #f3f4f2;
  --surface-alt:   #eff3f1;
  --paper-alt:     #f4efe3;
  --paper-sunk:    #ece6d5;

  /* Lines */
  --line:          #d9e2dd;
  --line-soft:     #e8eeea;
  --hairline:      #d9e2dd;
  --hairline-soft: #e8eeea;
  --rule:          #e8eeea;

  /* Accent — finance sage/teal */
  --accent:        #5aa99d;
  --accent-strong: #2f6a5c;
  --accent-soft:   #e8efe8;
  --accent-line:   rgba(90,169,157,0.32);
  --accent-bg:     #e8efe8;
  --accent-ink:    #2f6a5c;

  /* Status */
  --warn:          #a4504a;
  --warn-soft:     #f1dcd7;
  --warn-bg:       #fbeeee;
  --warn-ink:      #a4504a;
  --critical:      #a4504a;
  --critical-soft: #f2dad6;
  --ok:            #4a6e2e;
  --ok-soft:       #e6edd7;
  --ok-ink:        #335a32;
  --gold:          #c79a4e;
  --gold-strong:   #6b4f10;
  --gold-soft:     #f2e9d3;
  --gold-bg:       #f6efde;
  --gold-ink:      #7a5a14;
  --green-bg:      #e2efe0;
  --green-ink:     #335a32;
  --oxblood:       #a4504a;
  --oxblood-bg:    #fbeeee;
  --info:          #3c5f7f;

  /* Typography to match finance blocks */
  font-family: 'Hanken Grotesk', -apple-system, 'Helvetica Neue', system-ui, sans-serif;
  font-feature-settings: 'tnum' 1;
}

/* Serif headings — finance blocks use Fraunces for h1/h2 titles. Any block
 * heading inside the three modules picks it up automatically via inherited
 * font-family on the explicit `*-title` / `*-h1` patterns the workers used. */
[class^="gms-"] [class*="-title"],
[class^="hr-"]  [class*="-title"],
[class^="analytics-"] [class*="-title"],
[class*=" gms-"] [class*="-title"],
[class*=" hr-"]  [class*="-title"],
[class*=" analytics-"] [class*="-title"],
[class^="gms-"] h1, [class^="gms-"] h2,
[class^="hr-"]  h1, [class^="hr-"]  h2,
[class^="analytics-"] h1, [class^="analytics-"] h2 {
  font-family: 'Fraunces', 'Hanken Grotesk', Georgia, serif;
  font-weight: 400;
  letter-spacing: 0.01em;
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-advisor-leaderboard/gms-advisor-leaderboard.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-booking-quick-look-popup/gms-booking-quick-look-popup.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-communication-timeline/gms-communication-timeline.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-conversation-row/gms-conversation-row.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-conversation-work-queue/gms-conversation-work-queue.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-conversion-funnel/gms-conversion-funnel.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-customers-list/gms-customers-list.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* gms-customers-list — Customer master table.
   Palette matches /finance — paper card on canvas, hairline borders,
   sage accent for "good" tone, brass for VIP. */

.gms-customers-list {
  background: var(--paper, #fff);
  border: 1px solid var(--hairline, #e4e7e6);
  border-radius: 12px;
  padding: 22px 22px 18px;
}

.gcl-head { margin-bottom: 14px; }
.gcl-eyebrow {
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute, #6f7c76);
  margin-bottom: 8px;
}
.gcl-title {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 24px;
  font-weight: 600;
  color: var(--ink, #1e2c27);
  margin: 0 0 4px;
}
.gcl-description {
  font-size: 13px;
  color: var(--ink-soft, #3c4843);
  max-width: 760px;
  margin: 0;
}

/* summary stats */
.gcl-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 14px;
}
.gcl-stat {
  background: var(--canvas, #f3f4f2);
  border: 1px solid var(--hairline-soft, #e8eeea);
  border-radius: 10px;
  padding: 11px 13px;
}
.gcl-stat-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-mute, #6f7c76);
  margin-bottom: 4px;
}
.gcl-stat-value {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 22px;
  font-weight: 500;
  color: var(--ink, #1e2c27);
  font-variant-numeric: tabular-nums;
}
.gcl-stat-hint { font-size: 11px; color: var(--ink-mute, #6f7c76); margin-top: 2px; }
.gcl-stat-good  .gcl-stat-value { color: var(--accent-strong, #2f6a5c); }
.gcl-stat-warn  .gcl-stat-value { color: #a4504a; }

/* status chips */
.gcl-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}
.gcl-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border-radius: 999px;
  border: 1px solid var(--hairline, #d9e2dd);
  background: var(--paper, #fff);
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink-soft, #3c4843);
  text-decoration: none;
  transition: border-color 140ms ease, color 140ms ease;
}
.gcl-chip:hover { border-color: var(--accent, #5aa99d); color: var(--ink, #1e2c27); }
.gcl-chip-count {
  font-size: 11px;
  color: var(--ink-mute, #6f7c76);
  background: var(--canvas, #f3f4f2);
  padding: 1px 6px;
  border-radius: 8px;
}

/* table */
.gcl-table-wrap {
  margin-top: 6px;
  border: 1px solid var(--hairline-soft, #e8eeea);
  border-radius: 10px;
  overflow: hidden;
}
.gcl-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  font-size: 13px;
  color: var(--ink, #1e2c27);
}
.gcl-table thead th {
  background: var(--canvas, #f3f4f2);
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-mute, #6f7c76);
  padding: 10px 14px;
  border-bottom: 1px solid var(--hairline, #d9e2dd);
}
.gcl-table thead th.num { text-align: right; }
.gcl-table tbody td {
  padding: 11px 14px;
  border-bottom: 1px solid var(--hairline-soft, #e8eeea);
  vertical-align: top;
}
.gcl-table tbody tr:last-child td { border-bottom: 0; }
.gcl-table tbody td.num { text-align: right; font-variant-numeric: tabular-nums; }
.gcl-table tbody tr { position: relative; cursor: pointer; }
.gcl-table tbody tr:hover { background: var(--canvas, #f3f4f2); }

.gcl-name {
  font-weight: 600;
  color: var(--accent-strong, #2f6a5c);
  text-decoration: none;
}
.gcl-name:hover { text-decoration: underline; }
/* Make the entire row trigger the name link — invisible overlay,
   so clicking any cell navigates to the customer profile. */
.gcl-name::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
}
/* Status pill stays clickable / accessible-looking above the overlay. */
.gcl-status { position: relative; z-index: 2; }
.gcl-subline { font-size: 11.5px; color: var(--ink-mute, #6f7c76); margin-top: 2px; }
.gcl-mute    { color: var(--ink-mute, #6f7c76); }

.gcl-country { display: inline-flex; align-items: center; gap: 6px; }
.gcl-flag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: var(--canvas, #f3f4f2);
  border: 1px solid var(--hairline, #d9e2dd);
  border-radius: 4px;
  padding: 1px 5px;
  color: var(--ink-soft, #3c4843);
}

/* status pill */
.gcl-status {
  display: inline-flex;
  align-items: center;
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid transparent;
}
.gcl-status-vip      { background: #FBF1D8; color: #9A6A0E; border-color: #F0DDA8; }
.gcl-status-active   { background: #E2F0E5; color: #2E6D45; border-color: #C9E2D0; }
.gcl-status-prospect { background: #E6EEF6; color: #2C5A82; border-color: #CFDDEB; }
.gcl-status-dormant  { background: var(--canvas, #f3f4f2); color: var(--ink-mute, #6f7c76); border-color: var(--hairline, #d9e2dd); }

.gcl-empty {
  text-align: center;
  padding: 28px 14px;
  color: var(--ink-mute, #6f7c76);
  font-style: italic;
}

.gcl-footnote {
  margin-top: 12px;
  font-size: 11.5px;
  color: var(--ink-mute, #6f7c76);
}

@media (max-width: 720px) {
  .gcl-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gcl-table thead th:nth-child(2),
  .gcl-table tbody td:nth-child(2),
  .gcl-table thead th:nth-child(6),
  .gcl-table tbody td:nth-child(6) { display: none; }
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-dashboard-hero/gms-dashboard-hero.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-guest-detail-header/gms-guest-detail-header.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-guest-profile-panel/gms-guest-profile-panel.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-inline-reply-composer/gms-inline-reply-composer.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-leads-bookings-list/gms-leads-bookings-list.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-load-more-button/gms-load-more-button.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ============================================================
   gms-load-more-button — reusable "load more" trigger
   ============================================================ */

.gms-load-more-button {
  margin-top: 8px;
  text-align: center;
}

.gms-load-more-button__btn {
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  width: 100%;
  padding: 8px;
  border-radius: 8px;
  border: 1px solid var(--line, #dce5e2);
  background: var(--surface, #ffffff);
  color: var(--brass, #2e6d65);
}

.gms-load-more-button__btn:hover:not(:disabled) {
  border-color: var(--brass, #2e6d65);
  background: var(--brass-soft, #d7e6e3);
}

.gms-load-more-button__btn:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.gms-load-more-button__note {
  font-size: 9.5px;
  color: var(--ink-faint, #9aa7a2);
  margin-top: 5px;
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-loss-analysis/gms-loss-analysis.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-pipeline-card/gms-pipeline-card.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities — see GmsPipelineCard.tsx */

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-pipeline-filters/gms-pipeline-filters.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities — see GmsPipelineFilters.tsx */

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-pipeline-kanban/gms-pipeline-kanban.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities — see GmsPipelineKanban.tsx */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-pipeline-list/gms-pipeline-list.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-quick-stats/gms-quick-stats.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities — see GmsQuickStats.tsx */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-quote-document-page/gms-quote-document-page.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-region-breakdown/gms-region-breakdown.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-saia-draft-card/gms-saia-draft-card.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-seasonality-chart/gms-seasonality-chart.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-source-profitability-table/gms-source-profitability-table.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-status-history-panel/gms-status-history-panel.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-tasks-reminders-panel/gms-tasks-reminders-panel.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/gms/gms-three-offer-quote-section/gms-three-offer-quote-section.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-allowance-list/hr-allowance-list.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-amount-field/hr-amount-field.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-commission-breakdown/hr-commission-breakdown.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-commission-statement/hr-commission-statement.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-config-card/hr-config-card.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-data-table/hr-data-table.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-document-row/hr-document-row.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-entity-item/hr-entity-item.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-ledger-posting/hr-ledger-posting.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-page-header/hr-page-header.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-payment-group/hr-payment-group.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-payslip-row/hr-payslip-row.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-persona-badge/hr-persona-badge.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-print-button/hr-print-button.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-rate-table/hr-rate-table.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-settings-row/hr-settings-row.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-settings-tabs/hr-settings-tabs.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-slide-over/hr-slide-over.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-status-badge/hr-status-badge.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-status-chips/hr-status-chips.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-summary-cards/hr-summary-cards.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-summary-stat/hr-summary-stat.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-team-avatar/hr-team-avatar.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-toast/hr-toast.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/hr/hr-toolbar/hr-toolbar.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-ad-variants-table/analytics-ad-variants-table.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-attribution-legend/analytics-attribution-legend.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-breadcrumb/analytics-breadcrumb.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-channel-detail-panel/analytics-channel-detail-panel.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-channel-table/analytics-channel-table.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-clicks-funnel/analytics-clicks-funnel.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-daily-surface/analytics-daily-surface.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-decision-signals/analytics-decision-signals.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-forecasting-placeholder/analytics-forecasting-placeholder.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-keyword-rankings/analytics-keyword-rankings.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-kpi-strip/analytics-kpi-strip.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-landing-pages-table/analytics-landing-pages-table.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-region-table/analytics-region-table.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-revenue-vs-spend-chart/analytics-revenue-vs-spend-chart.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-seo-micro-strip/analytics-seo-micro-strip.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/analytics/analytics-timeframe-toggle/analytics-timeframe-toggle.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/gmail-inbox-list/gmail-inbox-list.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* gmail-inbox-list — Finance design standard relies on Tailwind utilities
 * on the component itself. CSS file kept so the blocks.css @import chain
 * remains stable. */

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/dashboard/gmail-thread-view/gmail-thread-view.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* gmail-thread-view — Finance design standard relies on Tailwind utilities
 * on the component itself. CSS file kept so the blocks.css @import chain
 * remains stable. */

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/attention-alerts/attention-alerts.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/settings-card-row/settings-card-row.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/operations/report-generation-controls/report-generation-controls.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/primitives/print-bar/print-bar.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* superseded by Tailwind utilities */

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/site/calendar-date-nav/calendar-date-nav.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* calendar-date-nav — visual chrome around the booking-calendar grid.
 * All layout is Tailwind on SAIA tokens; this file exists because
 * blocks.css imports it. Reserved for future scoped tweaks. */
.site-calendar-date-nav {}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/site/booking-form-step-card/booking-form-step-card.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* booking-form-step-card — one card in the multi-step booking form.
 * All layout is Tailwind on SAIA tokens; this file exists because
 * blocks.css imports it. Reserved for future scoped tweaks. */
.site-booking-form-step-card {}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/site/booking-sidebar-info/booking-sidebar-info.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* booking-sidebar-info — sticky right-rail summary on the booking detail page.
 * All layout is Tailwind on SAIA tokens; this file exists because
 * blocks.css imports it. Reserved for future scoped tweaks. */
.site-booking-sidebar-info {}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/site/captain-chat-widget/captain-chat-widget.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Typing-dot bounce for Captain's "thinking" indicator. */
@keyframes captain-bounce {
  0%, 80%, 100% { transform: translateY(0);     opacity: 0.35; }
  40%           { transform: translateY(-3px);  opacity: 1;    }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/site/currency-selector/currency-selector.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* currency-selector — header currency dropdown (Flo Module 10).
 *
 * A native <select> rendered transparently on top of a styled chip so the
 * picker looks bespoke while keeping full native accessibility + behaviour.
 * Tokens resolve against whichever site theme is in scope. */

.currency-selector {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.currency-selector__display {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.7rem;
  border: 1px solid var(--edge, rgb(0 0 0 / 0.12));
  border-radius: 999px;
  background: var(--canvas, transparent);
  color: var(--ink, currentColor);
  font-family: var(--font-sans, inherit);
  font-size: 0.8125rem;
  line-height: 1;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.currency-selector:hover .currency-selector__display,
.currency-selector__native:focus-visible + .currency-selector__sr + .currency-selector__display {
  border-color: var(--accent, currentColor);
  color: var(--accent, currentColor);
}

.currency-selector__symbol {
  font-weight: 600;
}

.currency-selector__code {
  font-weight: 500;
  letter-spacing: 0.02em;
}

.currency-selector__chevron {
  margin-left: 0.1rem;
  color: var(--ink-mute, currentColor);
  opacity: 0.7;
}

.currency-selector[data-variant='compact'] .currency-selector__code {
  /* In compact mode keep the symbol + chevron, hide the 3-letter code on very
   * tight headers via the option below if needed. Shown by default. */
}

/* The real control sits invisibly on top of the chip, capturing all input. */
.currency-selector__native {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  cursor: pointer;
  font-size: 16px; /* prevents iOS zoom-on-focus */
}

/* Visually-hidden label for assistive tech. */
.currency-selector__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/site/portal-booking/portal-booking.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* portal-booking — faithful port of the approved customer Booking & Deposit
   mockup. Everything is scoped under .pbk so the page's palette/typography
   can't leak into the rest of the site. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Hanken+Grotesk:wght@400;500;600;700&family=Spline+Sans+Mono:wght@500;600&display=swap');

.pbk{
  --canvas:#F7F9F8; --surface:#FFFFFF; --navy:#1E2F29; --teal:#2E6D65;
  --teal-soft:#E8F1EF; --ink:#1E2F29; --ink-soft:#6B7A75; --ink-faint:#A5B0AC;
  --line:#DCE5E2; --line-soft:#ECF0EE; --sand:#E7C9A5; --brass:#B89466;
  --success:#2D7A4A; --success-soft:#E6F1EA; --amber:#B57F1B; --amber-soft:#FBF1DA;
  --shadow:0 1px 2px rgba(30,47,41,.04), 0 4px 14px rgba(30,47,41,.05);
  --shadow-lg:0 6px 24px rgba(30,47,41,.08), 0 20px 48px rgba(30,47,41,.06);
  --radius:14px; --radius-sm:10px;
  font-family:'Hanken Grotesk',system-ui,sans-serif;background:var(--canvas);
  color:var(--ink);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;
  min-height:100vh;
}
.pbk *{box-sizing:border-box}
.pbk a{color:var(--teal);text-decoration:none}.pbk a:hover{text-decoration:underline}

.pbk .topbar{background:var(--navy);color:#F2E9D8;padding:18px 0;border-bottom:3px solid var(--brass)}
.pbk .topbar-inner{max-width:1180px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.pbk .brand{display:flex;align-items:center;gap:12px}
.pbk .brand .mark{width:36px;height:36px;border-radius:50%;background:var(--brass);display:flex;align-items:center;justify-content:center;color:var(--navy);font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:18px}
.pbk .brand .name{font-family:'Fraunces',Georgia,serif;font-size:21px;font-weight:500;letter-spacing:.2px}
.pbk .brand .sub{font-size:11.5px;color:#A6B0A8;text-transform:uppercase;letter-spacing:1.5px;margin-top:1px}
.pbk .secure{font-size:12px;color:#A6B0A8;font-family:'Spline Sans Mono',monospace;letter-spacing:1px;text-transform:uppercase;display:flex;align-items:center;gap:7px}
.pbk .secure::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px rgba(45,122,74,.25)}
@media (max-width:680px){.pbk .secure span{display:none}.pbk .brand .name{font-size:18px}}

.pbk .hero{background:linear-gradient(180deg,#243E37 0%,#1E2F29 100%);color:#F2E9D8;padding:54px 0 88px;position:relative;overflow:hidden}
.pbk .hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top right, rgba(231,201,165,.10), transparent 60%);pointer-events:none}
.pbk .hero-inner{max-width:1180px;margin:0 auto;padding:0 28px;position:relative}
.pbk .eyebrow{font-family:'Spline Sans Mono',monospace;font-size:11.5px;font-weight:600;color:var(--sand);text-transform:uppercase;letter-spacing:2px;margin-bottom:14px}
.pbk .hero h1{font-family:'Fraunces',Georgia,serif;font-size:46px;font-weight:500;letter-spacing:-.5px;line-height:1.1;margin:0 0 14px;max-width:760px;color:#F2E9D8}
.pbk .hero h1 em{font-style:italic;color:var(--sand)}
.pbk .hero p.lede{font-size:17px;color:#C7D1CC;max-width:640px;margin:0;line-height:1.6}
@media (max-width:680px){.pbk .hero{padding:38px 0 70px}.pbk .hero h1{font-size:32px}.pbk .hero p.lede{font-size:15px}}

.pbk main{max-width:1180px;margin:-58px auto 80px;padding:0 28px;display:grid;grid-template-columns:1fr 380px;gap:32px;position:relative;z-index:2}
@media (max-width:980px){.pbk main{grid-template-columns:1fr;gap:20px}}
.pbk .journey{display:flex;flex-direction:column;gap:18px}

.pbk section.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px 32px;box-shadow:var(--shadow)}
.pbk section.panel.done{border-color:var(--success);background:linear-gradient(180deg, var(--success-soft) 0%, var(--surface) 50%)}
.pbk section.panel.done .step-num{background:var(--success);color:#fff;border-color:var(--success)}
.pbk section.panel.done .step-num::after{content:"✓";font-weight:700}
.pbk section.panel.done .step-num span{display:none}
.pbk .step-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.pbk .step-num{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--ink-faint);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;font-family:'Spline Sans Mono',monospace;font-weight:600;font-size:13px;flex:0 0 32px;transition:.2s}
.pbk .step-title{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:23px;color:var(--ink);letter-spacing:-.2px;margin:0}
.pbk .step-sub{color:var(--ink-soft);font-size:14px;margin:-12px 0 22px 46px}
@media (max-width:680px){.pbk section.panel{padding:24px 22px}.pbk .step-title{font-size:20px}}

.pbk .welcome-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:18px}
@media (max-width:680px){.pbk .welcome-grid{grid-template-columns:1fr}}
.pbk .welcome-card{background:var(--canvas);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:18px}
.pbk .welcome-card .n{font-family:'Spline Sans Mono',monospace;color:var(--brass);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}
.pbk .welcome-card h3{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:16px;margin:8px 0 6px;color:var(--ink)}
.pbk .welcome-card p{font-size:13.5px;color:var(--ink-soft);margin:0;line-height:1.5}
.pbk .later-note{margin-top:18px;padding:14px 18px;background:var(--teal-soft);border-radius:var(--radius-sm);font-size:13.5px;color:var(--navy);display:flex;gap:10px;align-items:flex-start}
.pbk .later-note::before{content:"✦";color:var(--teal);font-size:14px;margin-top:1px}

.pbk .terms-doc{border:1px solid var(--line);background:var(--canvas);border-radius:var(--radius-sm);max-height:280px;overflow-y:auto;padding:22px 24px;margin-bottom:20px;font-size:13.5px;line-height:1.65;color:var(--ink)}
.pbk .terms-doc h4{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:15px;margin:18px 0 6px;color:var(--ink)}
.pbk .terms-doc h4:first-child{margin-top:0}.pbk .terms-doc p{margin:0 0 10px}
.pbk .agree-row{display:flex;gap:12px;padding:14px 16px;background:var(--canvas);border:1px solid var(--line-soft);border-radius:var(--radius-sm);margin-bottom:10px;cursor:pointer;transition:.15s}
.pbk .agree-row:hover{border-color:var(--teal);background:var(--teal-soft)}
.pbk .agree-row input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin-top:2px;accent-color:var(--teal);cursor:pointer}
.pbk .agree-row label{flex:1;cursor:pointer;font-size:14px;line-height:1.5}
.pbk .agree-row label strong{font-weight:600;color:var(--ink)}
.pbk .agree-row label .meta{display:block;color:var(--ink-soft);font-size:12.5px;margin-top:2px}
.pbk .op-terms{background:var(--canvas);border-left:3px solid var(--sand);padding:18px 22px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:14px}
.pbk .op-terms h4{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:15px;margin:0 0 10px;color:var(--ink)}
.pbk .op-terms ul{margin:0;padding:0 0 0 18px;font-size:13.5px;color:var(--ink-soft)}
.pbk .op-terms li{margin-bottom:5px;line-height:1.5}.pbk .op-terms li strong{color:var(--ink);font-weight:600}
.pbk .op-terms .link{display:inline-block;margin-top:8px;font-size:12.5px;color:var(--teal);font-weight:500}

.pbk .mini-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-bottom:22px}
.pbk .mini-form .full{grid-column:1/-1}
@media (max-width:680px){.pbk .mini-form{grid-template-columns:1fr}}
.pbk .field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}
.pbk .field label .req{color:var(--brass);margin-left:3px}
.pbk .field input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:14px;color:var(--ink);background:var(--surface);transition:.15s}
.pbk .field input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}

.pbk .sign-box{position:relative}
.pbk .canvas-wrap{position:relative;border:1.5px dashed var(--ink-faint);border-radius:var(--radius-sm);background:var(--canvas);height:190px;transition:.2s;overflow:hidden}
.pbk .sign-box.armed .canvas-wrap{border-color:var(--teal);border-style:solid;background:#fff}
.pbk .sign-box.signed .canvas-wrap{border-color:var(--success);border-style:solid;background:var(--success-soft)}
.pbk .sign-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.pbk .sign-baseline{position:absolute;left:36px;right:36px;bottom:54px;border-bottom:1.5px solid var(--line);pointer-events:none}
.pbk .sign-baseline::before{content:"✕";position:absolute;left:-2px;bottom:2px;color:var(--ink-faint);font-size:13px}
.pbk .sign-hint{position:absolute;left:0;right:0;bottom:30px;text-align:center;color:var(--ink-faint);font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:16px;pointer-events:none;transition:.2s}
.pbk .sign-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(247,249,248,.86);backdrop-filter:blur(1px);z-index:3;border-radius:var(--radius-sm);color:var(--ink-soft);font-size:13.5px;text-align:center;padding:0 20px;transition:.2s}
.pbk .sign-box.armed .sign-overlay{opacity:0;pointer-events:none}
.pbk .sign-overlay .lock{margin-right:8px}
.pbk .sign-tools{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.pbk .signing-as{font-size:13px;color:var(--ink-soft)}.pbk .signing-as strong{color:var(--ink);font-weight:600}
.pbk .clear-btn{background:none;border:none;color:var(--teal);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px}
.pbk .clear-btn:hover{background:var(--teal-soft)}
.pbk .sign-box.signed .clear-btn,.pbk .sign-box.signed .sign-hint{display:none}
.pbk .legal{font-size:12px;color:var(--ink-soft);margin:14px 0 18px;line-height:1.5;max-width:560px}
.pbk .sign-btn{background:var(--navy);color:#F2E9D8;border:none;padding:13px 32px;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;letter-spacing:.3px;transition:.15s}
.pbk .sign-btn:hover:not(:disabled){background:var(--teal);transform:translateY(-1px)}
.pbk .sign-btn:disabled{background:var(--ink-faint);cursor:not-allowed;opacity:.7}
.pbk .sign-confirm{font-size:14px;color:var(--success);font-weight:600}
.pbk .sign-confirm .meta{display:block;font-weight:400;color:var(--ink-soft);font-size:12px;margin-top:3px;font-family:'Spline Sans Mono',monospace}
.pbk .sign-box:not(.signed) .sign-confirm{display:none}
.pbk .sign-box.signed .legal,.pbk .sign-box.signed .sign-btn,.pbk .sign-box.signed .signing-as{display:none}

.pbk .pay-locked{display:flex;align-items:center;gap:14px;padding:18px 22px;background:var(--canvas);border:1px dashed var(--line);border-radius:var(--radius-sm);color:var(--ink-soft);font-size:14px}
.pbk .pay-locked .ico{width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-size:14px}

.pbk .invoice-card{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:18px}
.pbk .invoice-head{background:var(--canvas);padding:18px 22px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line)}
.pbk .invoice-head .l .t{font-family:'Fraunces',Georgia,serif;font-size:18px;font-weight:600;color:var(--ink)}
.pbk .invoice-head .l .s{font-size:12px;color:var(--ink-soft);font-family:'Spline Sans Mono',monospace;margin-top:3px;letter-spacing:.5px}
.pbk .invoice-head .r{text-align:right;font-size:12px;color:var(--ink-soft);line-height:1.6}
.pbk .invoice-head .r strong{color:var(--ink)}
.pbk .invoice-body{padding:18px 22px}
.pbk .inv-line{display:flex;justify-content:space-between;padding:8px 0;font-size:13.5px;border-bottom:1px solid var(--line-soft)}
.pbk .inv-line .d{color:var(--ink)}.pbk .inv-line .a{font-family:'Spline Sans Mono',monospace;color:var(--ink)}
.pbk .inv-line.muted .d,.pbk .inv-line.muted .a{color:var(--ink-soft)}
.pbk .inv-total{display:flex;justify-content:space-between;padding-top:14px;margin-top:6px;align-items:baseline}
.pbk .inv-total .d{font-family:'Fraunces',Georgia,serif;font-size:15px;font-weight:500}
.pbk .inv-total .a{font-family:'Fraunces',Georgia,serif;font-size:22px;font-weight:600;color:var(--navy)}
.pbk .dl-btn{background:none;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:7px}
.pbk .dl-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* Wire-transfer details inside the invoice (so the downloaded PDF carries them) */
.pbk .inv-pay-details{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}
.pbk .inv-pay-title{font-family:'Fraunces',Georgia,serif;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:10px;text-transform:none}
.pbk .inv-pay-row{display:flex;justify-content:space-between;gap:16px;padding:5px 0;font-size:12.5px}
.pbk .inv-pay-row .k{color:var(--ink-soft);font-family:'Spline Sans Mono',monospace;text-transform:uppercase;letter-spacing:.5px;font-size:10.5px}
.pbk .inv-pay-row .v{color:var(--ink);font-weight:600;font-family:'Spline Sans Mono',monospace;text-align:right}
.pbk .inv-pay-note{margin-top:10px;font-size:11.5px;color:var(--ink-soft);line-height:1.5}

/* Download invoice (PDF): print only the invoice doc, wire details included. */
@media print{
  body *{visibility:hidden!important}
  #pbk-invoice,#pbk-invoice *{visibility:visible!important}
  #pbk-invoice{position:absolute;left:0;top:0;width:100%;border:none;margin:0;box-shadow:none}
}

.pbk .pay-opts-title{font-family:'Fraunces',Georgia,serif;font-size:17px;font-weight:500;margin:24px 0 4px}
.pbk .pay-opts-sub{font-size:13px;color:var(--ink-soft);margin:0 0 16px}
.pbk .opt{border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px 20px;margin-bottom:12px;cursor:pointer;transition:.15s}
.pbk .opt:hover{border-color:var(--teal)}
.pbk .opt.sel{border-color:var(--teal);background:var(--teal-soft)}
.pbk .opt-head{display:flex;align-items:center;gap:12px}
.pbk .opt-head input{accent-color:var(--teal);flex:0 0 auto}
.pbk .opt-head .ti{flex:1}
.pbk .opt-head .ti .n{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:15.5px;color:var(--ink)}
.pbk .opt-head .ti .m{font-size:12.5px;color:var(--ink-soft);margin-top:2px}
.pbk .opt-head .badge{font-size:10.5px;font-family:'Spline Sans Mono',monospace;letter-spacing:.5px;text-transform:uppercase;padding:4px 8px;border-radius:20px;font-weight:600}
.pbk .badge.instant{background:var(--success-soft);color:var(--success)}
.pbk .badge.transfer{background:var(--amber-soft);color:var(--amber)}

.pbk .bank-panel{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
.pbk .bank-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-bottom:8px}
.pbk .bank-row .bk{font-size:11px;color:var(--ink-soft);font-family:'Spline Sans Mono',monospace;text-transform:uppercase;letter-spacing:1px}
.pbk .bank-row .bv{font-size:13.5px;color:var(--ink);font-weight:600;font-family:'Spline Sans Mono',monospace;flex:1;text-align:right;margin-right:12px}
.pbk .copy-btn{background:var(--canvas);border:1px solid var(--line);border-radius:6px;font-size:11px;font-weight:600;color:var(--teal);padding:5px 10px;cursor:pointer;font-family:inherit;transition:.15s;white-space:nowrap}
.pbk .copy-btn:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
.pbk .copy-btn.copied{background:var(--success);color:#fff;border-color:var(--success)}
.pbk .transfer-note{margin-top:10px;font-size:12.5px;color:var(--amber);background:var(--amber-soft);border-radius:8px;padding:11px 14px;line-height:1.5;border:1px solid #EBC990}
.pbk .do-pay{margin-top:18px;width:100%;padding:15px;border:none;border-radius:10px;background:var(--navy);color:#F2E9D8;font-family:inherit;font-weight:600;font-size:15px;cursor:pointer;letter-spacing:.3px;transition:.2s}
.pbk .do-pay:hover{background:var(--teal);transform:translateY(-1px)}
.pbk .pay-result{margin-top:18px;padding:18px 20px;border-radius:var(--radius-sm);font-size:14px;line-height:1.55}
.pbk .pay-result.instant{background:var(--success-soft);color:var(--success);border:1px solid var(--success)}
.pbk .pay-result.pending{background:var(--amber-soft);color:var(--amber);border:1px solid #EBC990}
.pbk .pay-result strong{display:block;font-family:'Fraunces',Georgia,serif;font-size:16px;margin-bottom:4px}

.pbk .slip-zone{margin-top:16px;padding:18px 20px;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm)}
.pbk .slip-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.pbk .slip-ico{font-size:20px;flex:0 0 auto}
.pbk .slip-title{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:15px;color:var(--ink)}
.pbk .slip-sub{font-size:12.5px;color:var(--ink-soft);margin-top:3px;line-height:1.5}
.pbk .slip-drop{display:block;border:1.5px dashed var(--ink-faint);border-radius:8px;padding:18px;text-align:center;cursor:pointer;font-size:13.5px;color:var(--teal);font-weight:600;transition:.15s;background:var(--surface)}
.pbk .slip-drop:hover{border-color:var(--teal);background:var(--teal-soft)}
.pbk .slip-drop.has-file{border-style:solid;border-color:var(--success);color:var(--success);background:var(--success-soft)}
.pbk .slip-types{display:block;font-weight:400;color:var(--ink-faint);font-size:11.5px;margin-top:4px}
.pbk .slip-or{font-size:12px;color:var(--ink-soft);text-align:center;margin-top:10px}
.pbk .slip-or strong{color:var(--ink)}

.pbk aside.summary{position:sticky;top:24px;align-self:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);height:-moz-fit-content;height:fit-content}
@media (max-width:980px){.pbk aside.summary{position:relative;top:0}}
.pbk .sum-head{background:var(--navy);color:#F2E9D8;padding:18px 22px}
.pbk .sum-head .booking-ref{font-family:'Spline Sans Mono',monospace;font-size:11px;color:var(--sand);letter-spacing:1.5px;text-transform:uppercase}
.pbk .sum-head .booking-title{font-family:'Fraunces',Georgia,serif;font-size:19px;font-weight:500;margin-top:4px}
.pbk .sum-body{padding:20px 22px}
.pbk .sum-row{display:flex;justify-content:space-between;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px}
.pbk .sum-row:last-of-type{border-bottom:none}
.pbk .sum-row .k{color:var(--ink-soft);font-family:'Spline Sans Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:1px;flex:0 0 95px;padding-top:2px}
.pbk .sum-row .v{flex:1;text-align:right;color:var(--ink);font-weight:500;line-height:1.4}
.pbk .sum-row .v .sub{display:block;font-weight:400;color:var(--ink-soft);font-size:12px;margin-top:2px}
.pbk .sum-total{background:var(--canvas);padding:18px 22px;border-top:1px solid var(--line)}
.pbk .sum-total .line{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--ink-soft);margin-bottom:6px}
.pbk .sum-total .line .amt{color:var(--ink);font-weight:500;font-family:'Spline Sans Mono',monospace}
.pbk .sum-total .deposit-line{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);display:flex;justify-content:space-between;align-items:baseline}
.pbk .sum-total .deposit-line .lbl{font-family:'Fraunces',Georgia,serif;font-size:15px;font-weight:500;color:var(--ink)}
.pbk .sum-total .deposit-line .lbl .meta{display:block;font-family:'Hanken Grotesk',sans-serif;font-weight:400;font-size:11.5px;color:var(--ink-soft);margin-top:2px;letter-spacing:.3px}
.pbk .sum-total .deposit-line .amt{font-family:'Fraunces',Georgia,serif;font-size:26px;font-weight:600;color:var(--navy)}
.pbk .checklist{padding:16px 22px 4px;background:var(--surface);border-top:1px solid var(--line-soft)}
.pbk .checklist .heading{font-family:'Spline Sans Mono',monospace;font-size:10.5px;color:var(--ink-soft);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px}
.pbk .check-row{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:13px;color:var(--ink-soft)}
.pbk .check-row .box{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--ink-faint);flex:0 0 18px;display:flex;align-items:center;justify-content:center;font-size:11px;color:transparent;transition:.2s}
.pbk .check-row.done .box{background:var(--success);border-color:var(--success);color:#fff}
.pbk .check-row.done{color:var(--ink)}.pbk .check-row.done .box::after{content:"✓"}
.pbk .expiry-banner{margin:0 22px 4px;padding:10px 14px;background:var(--amber-soft);border-radius:8px;font-size:12.5px;color:var(--amber);display:flex;align-items:center;gap:8px;border:1px solid #EBC990}
.pbk .expiry-banner::before{content:"⏱";font-size:13px}.pbk .expiry-banner strong{font-weight:600}
.pbk .pay-cta{padding:18px 22px;background:var(--surface);border-top:1px solid var(--line)}
.pbk .pay-btn{width:100%;padding:14px;border:none;border-radius:10px;background:var(--ink-faint);color:#fff;font-family:inherit;font-weight:600;font-size:15px;letter-spacing:.3px;cursor:not-allowed;transition:.2s}
.pbk .pay-btn.unlocked{background:var(--navy);cursor:pointer;box-shadow:0 4px 12px rgba(30,47,41,.2)}
.pbk .pay-btn.unlocked:hover{background:var(--teal);transform:translateY(-1px)}
.pbk .pay-cta .status{text-align:center;font-size:12px;color:var(--ink-soft);margin-top:10px;font-family:'Spline Sans Mono',monospace;letter-spacing:.5px}
.pbk .pay-cta .status.unlocked{color:var(--success)}

.pbk .advisor{margin-top:32px;padding:24px 26px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:center;gap:18px;box-shadow:var(--shadow)}
.pbk .advisor .ph{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--brass),var(--sand));display:flex;align-items:center;justify-content:center;font-family:'Fraunces',Georgia,serif;font-size:22px;color:var(--navy);font-weight:600;flex:0 0 54px}
.pbk .advisor .info{flex:1}
.pbk .advisor .info .name{font-family:'Fraunces',Georgia,serif;font-size:17px;font-weight:500;color:var(--ink)}
.pbk .advisor .info .role{font-size:12.5px;color:var(--ink-soft);font-family:'Spline Sans Mono',monospace;letter-spacing:.5px;text-transform:uppercase;margin-top:2px}
.pbk .advisor .info .msg{font-size:13.5px;color:var(--ink-soft);margin-top:6px;line-height:1.5}
.pbk .advisor a.reply{padding:10px 16px;background:var(--canvas);border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;transition:.15s}
.pbk .advisor a.reply:hover{background:var(--navy);color:#fff;border-color:var(--navy);text-decoration:none}
@media (max-width:680px){.pbk .advisor{flex-direction:column;text-align:center}.pbk .advisor a.reply{width:100%;text-align:center}}

.pbk footer{text-align:center;padding:40px 28px 50px;color:var(--ink-soft);font-size:12px;border-top:1px solid var(--line-soft);margin-top:60px}
.pbk footer .links{margin-bottom:10px}.pbk footer .links a{color:var(--ink-soft);margin:0 10px}
.pbk footer .trust{font-family:'Spline Sans Mono',monospace;letter-spacing:1px;text-transform:uppercase;font-size:10.5px;color:var(--ink-faint)}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!../packages/blocks/src/blocks.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ─────────────────────────────────────────────────────────────────────────
 * @saia/blocks — aggregate stylesheet
 *
 * One stop import. Consumers add a single line to their root layout:
 *
 *   import '@saia/blocks/blocks.css';
 *
 * That brings every registered primitive's CSS into the document. The
 * underlying token surface (@saia/blocks/tokens.css) must be imported
 * separately and earlier — the rules below resolve `var(--…)` against
 * whichever theme is in scope.
 * ──────────────────────────────────────────────────────────────────────── */

/* Shared primitive utilities consumed raw across the library (.micro*,
 * .panel*) — kept after micro-eyebrow/panel moved to studio Tailwind. */

/* R3 — workflow & trips */

/* R3 — asset & wealth */

/* Phase 3a — form primitives now use studio Tailwind classes (no scoped CSS) */

/* R3 — People */

/* R3 — Dashboard */

/* R3.5 — Inventory (§51-§65) */

/* R5 — Conversation */

/* R7 — Inbox (§66-§73) */

/* Phase 2 — Agents (control plane) */

/* Auth */

/* Phase 3b — content/data primitives now use studio Tailwind classes
 * verbatim (stat, sparkline, divider, testimonial, container,
 * day-itinerary, icon, accordion converted to the studio component code,
 * no scoped CSS). */

/* Phase 3c — shells + chat blocks now use studio Tailwind verbatim, no
 * scoped CSS (site-shell, mc-shell, tab-view, chat-bubble,
 * markdown-message converted to the studio component code). */

/* Phase 16-P3 — avatar now uses studio Tailwind classes (no scoped CSS). */

/* Phase 16-S — studio patterns: site/* blocks use studio Tailwind classes
 * verbatim (no scoped CSS). The .css files were deleted in the studio re-port. */

/* Phase 4c — operations (Tailwind-only, no scoped CSS) */

/* Phase 17-A — operations accounting (Group A: chart-of-accounts, journal,
 * general-ledger, invoices, receipts, charter-invoice-receipt) */

/* Phase 17-B — operations accounting (Group B: scoped under each block root) */

/* Phase 4d — agents / dashboard
 * Converted to studio Tailwind (pixel-identical to web/packages/admin/src
 * mc-chat / mc-connections / skills / workflows / dashboard-overview /
 * dashboard-memory / dashboard-runtimes). No scoped CSS. */

/* Phase 4a — fleet — converted to studio @saia/ui components (pure Tailwind,
 * no scoped CSS). See packages/blocks/src/fleet/_ui.tsx. */

/* Phase 4b — customers / marketing — converted to studio @saia/ui components
 * (pure Tailwind, no scoped CSS). See packages/blocks/src/fleet/_ui.tsx. */

/* Phase 10 — memory */

/* Phase 12 — policy drift */

/* Phase 15 — knowledge */

/* Phase 16-E — emails (preview wrappers; email bodies are inline-styled) */

/* Shared palette + typography for GMS / HR / Analytics — matches /finance.
 * MUST load before the per-block CSS so the cascade resolves the locally
 * fallback'd `var(--ink, ...)` references to the finance palette. */

/* GMS — Guest Management System (26 blocks) */

/* HR — Human Resources (25 blocks) */

/* Analytics (16 blocks) */

/* Pipeline G3 — Gmail mirror */

/* Finance + HR — attention list, settings row, report controls, print bar */

/* Sailaway booking surfaces — calendar nav, multi-step form card, detail sidebar */

/* Captain — chat widget keyframe (typing-dot bounce) */

/* Multi-currency display (Flo Module 10) — header currency picker */

/* Customer Booking & Deposit page (guest-facing, scoped under .pbk) */

