/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Cairo","arguments":[{"subsets":["arabic","latin"],"variable":"--font-cairo","display":"swap"}],"variableName":"cairo"} ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* arabic */
@font-face {
  font-family: '__Cairo_45314e';
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url(/_next/static/media/350b852752f8489d-s.p.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: '__Cairo_45314e';
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url(/_next/static/media/5ec84f17416dda4d-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: '__Cairo_45314e';
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url(/_next/static/media/01f0c602c274ea55-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: '__Cairo_Fallback_45314e';src: local("Arial");ascent-override: 137.65%;descent-override: 60.32%;line-gap-override: 0.00%;size-adjust: 94.66%
}.__className_45314e {font-family: '__Cairo_45314e', '__Cairo_Fallback_45314e';font-style: normal
}.__variable_45314e {--font-cairo: '__Cairo_45314e', '__Cairo_Fallback_45314e'
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Inter","arguments":[{"subsets":["latin"],"weight":["400","600","700"],"variable":"--font-inter","display":"swap","preload":true}],"variableName":"inter"} ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: '__Inter_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';
  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_04b02f';src: local("Arial");ascent-override: 90.49%;descent-override: 22.56%;line-gap-override: 0.00%;size-adjust: 107.06%
}.__className_04b02f {font-family: '__Inter_04b02f', '__Inter_Fallback_04b02f';font-style: normal
}.__variable_04b02f {--font-inter: '__Inter_04b02f', '__Inter_Fallback_04b02f'
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Fraunces","arguments":[{"subsets":["latin"],"weight":["500","600"],"variable":"--font-fraunces","display":"swap","preload":true}],"variableName":"fraunces"} ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* vietnamese */
@font-face {
  font-family: '__Fraunces_4ba4aa';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/fb526027db1fc1ae-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: '__Fraunces_4ba4aa';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/4da3161b738b07dd-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: '__Fraunces_4ba4aa';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/af4bf8399d1aacdf-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;
}
/* vietnamese */
@font-face {
  font-family: '__Fraunces_4ba4aa';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/fb526027db1fc1ae-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: '__Fraunces_4ba4aa';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/4da3161b738b07dd-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: '__Fraunces_4ba4aa';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/af4bf8399d1aacdf-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: '__Fraunces_Fallback_4ba4aa';src: local("Times New Roman");ascent-override: 84.71%;descent-override: 22.09%;line-gap-override: 0.00%;size-adjust: 115.45%
}.__className_4ba4aa {font-family: '__Fraunces_4ba4aa', '__Fraunces_Fallback_4ba4aa';font-style: normal
}.__variable_4ba4aa {--font-fraunces: '__Fraunces_4ba4aa', '__Fraunces_Fallback_4ba4aa'
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"IBM_Plex_Mono","arguments":[{"subsets":["latin"],"weight":["400"],"variable":"--font-plex-mono","display":"swap","preload":false}],"variableName":"plexMono"} ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: '__IBM_Plex_Mono_13aeb3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/58f386aa6b1a2a92-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: '__IBM_Plex_Mono_13aeb3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/011e180705008d6f-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__IBM_Plex_Mono_13aeb3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/7ba5fb2a8c88521c-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: '__IBM_Plex_Mono_13aeb3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/92eeb95d069020cc-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: '__IBM_Plex_Mono_13aeb3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/d3ebbfd689654d3a-s.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: '__IBM_Plex_Mono_Fallback_13aeb3';src: local("Arial");ascent-override: 76.16%;descent-override: 20.43%;line-gap-override: 0.00%;size-adjust: 134.59%
}.__className_13aeb3 {font-family: '__IBM_Plex_Mono_13aeb3', '__IBM_Plex_Mono_Fallback_13aeb3';font-weight: 400;font-style: normal
}.__variable_13aeb3 {--font-plex-mono: '__IBM_Plex_Mono_13aeb3', '__IBM_Plex_Mono_Fallback_13aeb3'
}

/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/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 */
  tab-size: 4; /* 3 */
  font-family: var(--font-inter), var(--font-cairo), system-ui, sans-serif; /* 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]) {
  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-plex-mono), ui-monospace, monospace; /* 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::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;
}
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
.\!visible {
  visibility: visible !important;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.-inset-\[2px\] {
  inset: -2px;
}
.inset-0 {
  inset: 0px;
}
.inset-4 {
  inset: 1rem;
}
.inset-auto {
  inset: auto;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-bottom-28 {
  bottom: -7rem;
}
.-left-20 {
  left: -5rem;
}
.-right-10 {
  right: -2.5rem;
}
.-right-20 {
  right: -5rem;
}
.-top-1 {
  top: -0.25rem;
}
.-top-2\.5 {
  top: -0.625rem;
}
.-top-24 {
  top: -6rem;
}
.-top-3 {
  top: -0.75rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-32 {
  bottom: 8rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-7 {
  bottom: 1.75rem;
}
.bottom-\[12\%\] {
  bottom: 12%;
}
.bottom-full {
  bottom: 100%;
}
.end-2 {
  inset-inline-end: 0.5rem;
}
.end-3 {
  inset-inline-end: 0.75rem;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.left-4 {
  left: 1rem;
}
.left-\[8\%\] {
  left: 8%;
}
.right-0 {
  right: 0px;
}
.right-1\/2 {
  right: 50%;
}
.right-6 {
  right: 1.5rem;
}
.right-\[10\%\] {
  right: 10%;
}
.start-0 {
  inset-inline-start: 0px;
}
.start-1\/2 {
  inset-inline-start: 50%;
}
.start-3 {
  inset-inline-start: 0.75rem;
}
.top-0 {
  top: 0px;
}
.top-1\/2 {
  top: 50%;
}
.top-10 {
  top: 2.5rem;
}
.top-24 {
  top: 6rem;
}
.top-3 {
  top: 0.75rem;
}
.top-4 {
  top: 1rem;
}
.top-6 {
  top: 1.5rem;
}
.top-\[18\%\] {
  top: 18%;
}
.top-\[42\%\] {
  top: 42%;
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.z-0 {
  z-index: 0;
}
.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-\[200\] {
  z-index: 200;
}
.z-\[220\] {
  z-index: 220;
}
.z-\[2\] {
  z-index: 2;
}
.z-\[60\] {
  z-index: 60;
}
.z-\[70\] {
  z-index: 70;
}
.z-\[80\] {
  z-index: 80;
}
.z-\[85\] {
  z-index: 85;
}
.z-\[88\] {
  z-index: 88;
}
.z-\[90\] {
  z-index: 90;
}
.z-\[9990\] {
  z-index: 9990;
}
.z-\[9995\] {
  z-index: 9995;
}
.z-\[9999\] {
  z-index: 9999;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.row-span-1 {
  grid-row: span 1 / span 1;
}
.m-0 {
  margin: 0px;
}
.m-auto {
  margin: auto;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-10 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.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-12 {
  margin-bottom: 3rem;
}
.mb-14 {
  margin-bottom: 3.5rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-2\.5 {
  margin-bottom: 0.625rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.me-1 {
  margin-inline-end: 0.25rem;
}
.me-2 {
  margin-inline-end: 0.5rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-0 {
  margin-right: 0px;
}
.mr-2 {
  margin-right: 0.5rem;
}
.ms-1 {
  margin-inline-start: 0.25rem;
}
.ms-2 {
  margin-inline-start: 0.5rem;
}
.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-16 {
  margin-top: 4rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-20 {
  margin-top: 5rem;
}
.mt-24 {
  margin-top: 6rem;
}
.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-9 {
  margin-top: 2.25rem;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.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;
}
.hidden {
  display: none;
}
.h-0 {
  height: 0px;
}
.h-0\.5 {
  height: 0.125rem;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.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-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-28 {
  height: 7rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-36 {
  height: 9rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-44 {
  height: 11rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-56 {
  height: 14rem;
}
.h-6 {
  height: 1.5rem;
}
.h-64 {
  height: 16rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[108px\] {
  height: 108px;
}
.h-\[168px\] {
  height: 168px;
}
.h-\[176px\] {
  height: 176px;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[210px\] {
  height: 210px;
}
.h-\[380px\] {
  height: 380px;
}
.h-\[46px\] {
  height: 46px;
}
.h-\[52px\] {
  height: 52px;
}
.h-\[560px\] {
  height: 560px;
}
.h-\[min\(92vh\2c 900px\)\] {
  height: min(92vh, 900px);
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.max-h-36 {
  max-height: 9rem;
}
.max-h-48 {
  max-height: 12rem;
}
.max-h-96 {
  max-height: 24rem;
}
.max-h-\[28rem\] {
  max-height: 28rem;
}
.max-h-\[40rem\] {
  max-height: 40rem;
}
.max-h-\[92dvh\] {
  max-height: 92dvh;
}
.max-h-\[92vh\] {
  max-height: 92vh;
}
.max-h-\[min\(70dvh\2c calc\(100dvh-3\.5rem\)\)\] {
  max-height: min(70dvh, calc(100dvh - 3.5rem));
}
.max-h-\[min\(70vh\2c 640px\)\] {
  max-height: min(70vh, 640px);
}
.max-h-\[min\(88vh\2c 720px\)\] {
  max-height: min(88vh, 720px);
}
.max-h-\[min\(920px\2c 92vh\)\] {
  max-height: min(920px, 92vh);
}
.max-h-full {
  max-height: 100%;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-10 {
  min-height: 2.5rem;
}
.min-h-12 {
  min-height: 3rem;
}
.min-h-9 {
  min-height: 2.25rem;
}
.min-h-\[110px\] {
  min-height: 110px;
}
.min-h-\[120px\] {
  min-height: 120px;
}
.min-h-\[2\.75rem\] {
  min-height: 2.75rem;
}
.min-h-\[220px\] {
  min-height: 220px;
}
.min-h-\[280px\] {
  min-height: 280px;
}
.min-h-\[3rem\] {
  min-height: 3rem;
}
.min-h-\[40px\] {
  min-height: 40px;
}
.min-h-\[40vh\] {
  min-height: 40vh;
}
.min-h-\[42vh\] {
  min-height: 42vh;
}
.min-h-\[44px\] {
  min-height: 44px;
}
.min-h-\[65px\] {
  min-height: 65px;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-\[88px\] {
  min-height: 88px;
}
.min-h-\[min\(560px\2c 55vh\)\] {
  min-height: min(560px, 55vh);
}
.min-h-screen {
  min-height: 100vh;
}
.w-0 {
  width: 0px;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-1\/2 {
  width: 50%;
}
.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-2\/5 {
  width: 40%;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-32 {
  width: 8rem;
}
.w-36 {
  width: 9rem;
}
.w-4 {
  width: 1rem;
}
.w-40 {
  width: 10rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-8 {
  width: 2rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[140px\] {
  width: 140px;
}
.w-\[18px\] {
  width: 18px;
}
.w-\[28rem\] {
  width: 28rem;
}
.w-\[30rem\] {
  width: 30rem;
}
.w-\[46px\] {
  width: 46px;
}
.w-\[52px\] {
  width: 52px;
}
.w-\[70\%\] {
  width: 70%;
}
.w-\[min\(300px\2c 82vw\)\] {
  width: min(300px, 82vw);
}
.w-fit {
  width: fit-content;
}
.w-full {
  width: 100%;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[160px\] {
  min-width: 160px;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[240px\] {
  min-width: 240px;
}
.min-w-\[520px\] {
  min-width: 520px;
}
.min-w-\[720px\] {
  min-width: 720px;
}
.min-w-\[880px\] {
  min-width: 880px;
}
.min-w-full {
  min-width: 100%;
}
.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-\[1080px\] {
  max-width: 1080px;
}
.max-w-\[1100px\] {
  max-width: 1100px;
}
.max-w-\[1180px\] {
  max-width: 1180px;
}
.max-w-\[280px\] {
  max-width: 280px;
}
.max-w-\[320px\] {
  max-width: 320px;
}
.max-w-\[360px\] {
  max-width: 360px;
}
.max-w-\[460px\] {
  max-width: 460px;
}
.max-w-\[480px\] {
  max-width: 480px;
}
.max-w-\[520px\] {
  max-width: 520px;
}
.max-w-\[560px\] {
  max-width: 560px;
}
.max-w-\[620px\] {
  max-width: 620px;
}
.max-w-\[640px\] {
  max-width: 640px;
}
.max-w-\[680px\] {
  max-width: 680px;
}
.max-w-\[720px\] {
  max-width: 720px;
}
.max-w-\[900px\] {
  max-width: 900px;
}
.max-w-\[960px\] {
  max-width: 960px;
}
.max-w-\[980px\] {
  max-width: 980px;
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-none {
  max-width: none;
}
.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-\[1\.4\] {
  flex: 1.4;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.grow {
  flex-grow: 1;
}
.origin-bottom {
  transform-origin: bottom;
}
.-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-y-40 {
  --tw-translate-y: -10rem;
  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-\[12\.5rem\] {
  --tw-translate-y: -12.5rem;
  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-\[6rem\] {
  --tw-translate-y: -6rem;
  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-\[7rem\] {
  --tw-translate-y: -7rem;
  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-12 {
  --tw-translate-y: 3rem;
  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));
}
.scale-90 {
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  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-95 {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  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-x-150 {
  --tw-scale-x: 1.5;
  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-125 {
  --tw-scale-y: 1.25;
  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-\[status-shimmer_2\.4s_linear_infinite\] {
  animation: status-shimmer 2.4s linear infinite;
}
@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-pointer {
  cursor: pointer;
}
.resize-y {
  resize: vertical;
}
.resize {
  resize: both;
}
.scroll-mt-24 {
  scroll-margin-top: 6rem;
}
.list-inside {
  list-style-position: inside;
}
.list-decimal {
  list-style-type: decimal;
}
.list-disc {
  list-style-type: disc;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.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;
}
.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-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-\[22px\] {
  gap: 22px;
}
.gap-x-4 {
  column-gap: 1rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}
.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-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * 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-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-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-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-sanad-border > :not([hidden]) ~ :not([hidden]) {
  border-color: rgba(10,18,40,0.09);
}
.self-start {
  align-self: flex-start;
}
.self-end {
  align-self: flex-end;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overscroll-contain {
  overscroll-behavior: contain;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.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: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[100\%\] {
  border-radius: 100%;
}
.rounded-\[10px\] {
  border-radius: 10px;
}
.rounded-\[12px\] {
  border-radius: 12px;
}
.rounded-\[14px\] {
  border-radius: 14px;
}
.rounded-\[16px\] {
  border-radius: 16px;
}
.rounded-\[18px\] {
  border-radius: 18px;
}
.rounded-\[22px\] {
  border-radius: 22px;
}
.rounded-\[28px\] {
  border-radius: 28px;
}
.rounded-\[3px\] {
  border-radius: 3px;
}
.rounded-\[4px\] {
  border-radius: 4px;
}
.rounded-\[inherit\] {
  border-radius: inherit;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-none {
  border-radius: 0px;
}
.rounded-sanad-lg {
  border-radius: 28px;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-t-2xl {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-s {
  border-inline-start-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-dashed {
  border-style: dashed;
}
.border-\[\#0A1228\]\/10 {
  border-color: rgb(10 18 40 / 0.1);
}
.border-\[\#0A1228\]\/20 {
  border-color: rgb(10 18 40 / 0.2);
}
.border-\[\#0A1228\]\/30 {
  border-color: rgb(10 18 40 / 0.3);
}
.border-\[\#0B1A4D\]\/10 {
  border-color: rgb(11 26 77 / 0.1);
}
.border-\[\#12307A\]\/20 {
  border-color: rgb(18 48 122 / 0.2);
}
.border-\[\#152f75\] {
  --tw-border-opacity: 1;
  border-color: rgb(21 47 117 / var(--tw-border-opacity, 1));
}
.border-\[\#1B3F9C\] {
  --tw-border-opacity: 1;
  border-color: rgb(27 63 156 / var(--tw-border-opacity, 1));
}
.border-\[\#1B3F9C\]\/15 {
  border-color: rgb(27 63 156 / 0.15);
}
.border-\[\#1B3F9C\]\/20 {
  border-color: rgb(27 63 156 / 0.2);
}
.border-\[\#1B3F9C\]\/25 {
  border-color: rgb(27 63 156 / 0.25);
}
.border-\[\#1B3F9C\]\/35 {
  border-color: rgb(27 63 156 / 0.35);
}
.border-\[\#1a3a2a\]\/20 {
  border-color: rgb(26 58 42 / 0.2);
}
.border-\[\#1a3a2a\]\/25 {
  border-color: rgb(26 58 42 / 0.25);
}
.border-\[\#4C7CFF\]\/25 {
  border-color: rgb(76 124 255 / 0.25);
}
.border-\[\#4C7CFF\]\/40 {
  border-color: rgb(76 124 255 / 0.4);
}
.border-\[\#4C7CFF\]\/45 {
  border-color: rgb(76 124 255 / 0.45);
}
.border-\[\#4C7CFF\]\/50 {
  border-color: rgb(76 124 255 / 0.5);
}
.border-\[\#B08D3F\]\/25 {
  border-color: rgb(176 141 63 / 0.25);
}
.border-\[\#C9A227\] {
  --tw-border-opacity: 1;
  border-color: rgb(201 162 39 / var(--tw-border-opacity, 1));
}
.border-\[\#C9A227\]\/35 {
  border-color: rgb(201 162 39 / 0.35);
}
.border-\[\#C9A227\]\/40 {
  border-color: rgb(201 162 39 / 0.4);
}
.border-\[\#C9A227\]\/50 {
  border-color: rgb(201 162 39 / 0.5);
}
.border-\[\#E85A00\]\/20 {
  border-color: rgb(232 90 0 / 0.2);
}
.border-\[\#E85A00\]\/25 {
  border-color: rgb(232 90 0 / 0.25);
}
.border-\[\#E85A00\]\/30 {
  border-color: rgb(232 90 0 / 0.3);
}
.border-\[\#E85A00\]\/40 {
  border-color: rgb(232 90 0 / 0.4);
}
.border-\[\#FF6A00\] {
  --tw-border-opacity: 1;
  border-color: rgb(255 106 0 / var(--tw-border-opacity, 1));
}
.border-\[\#FFB07A\]\/25 {
  border-color: rgb(255 176 122 / 0.25);
}
.border-\[color\:var\(--gold-soft\)\] {
  border-color: var(--gold-soft);
}
.border-\[rgba\(11\2c 26\2c 77\2c 0\.08\)\] {
  border-color: rgba(11,26,77,0.08);
}
.border-\[rgba\(11\2c 26\2c 77\2c 0\.1\)\] {
  border-color: rgba(11,26,77,0.1);
}
.border-\[rgba\(140\2c 170\2c 255\2c 0\.12\)\] {
  border-color: rgba(140,170,255,0.12);
}
.border-\[rgba\(140\2c 170\2c 255\2c 0\.22\)\] {
  border-color: rgba(140,170,255,0.22);
}
.border-\[rgba\(140\2c 170\2c 255\2c 0\.28\)\] {
  border-color: rgba(140,170,255,0.28);
}
.border-\[rgba\(140\2c 170\2c 255\2c 0\.35\)\] {
  border-color: rgba(140,170,255,0.35);
}
.border-\[rgba\(140\2c 170\2c 255\2c 0\.4\)\] {
  border-color: rgba(140,170,255,0.4);
}
.border-\[rgba\(26\2c 43\2c 74\2c 0\.08\)\] {
  border-color: rgba(26,43,74,0.08);
}
.border-\[rgba\(26\2c 43\2c 74\2c 0\.1\)\] {
  border-color: rgba(26,43,74,0.1);
}
.border-\[rgba\(26\2c 43\2c 74\2c 0\.15\)\] {
  border-color: rgba(26,43,74,0.15);
}
.border-\[rgba\(76\2c 124\2c 255\2c 0\.28\)\] {
  border-color: rgba(76,124,255,0.28);
}
.border-\[var\(--line\)\] {
  border-color: var(--line);
}
.border-\[var\(--lr-line-dark\)\] {
  border-color: var(--lr-line-dark);
}
.border-\[var\(--lr-line-light\)\] {
  border-color: var(--lr-line-light);
}
.border-\[var\(--lr-royal-900\)\] {
  border-color: var(--lr-royal-900);
}
.border-\[var\(--navy\)\] {
  border-color: var(--navy);
}
.border-amber-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 243 199 / var(--tw-border-opacity, 1));
}
.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-200\/70 {
  border-color: rgb(253 230 138 / 0.7);
}
.border-amber-200\/80 {
  border-color: rgb(253 230 138 / 0.8);
}
.border-amber-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.border-black\/5 {
  border-color: rgb(0 0 0 / 0.05);
}
.border-emerald-100 {
  --tw-border-opacity: 1;
  border-color: rgb(209 250 229 / var(--tw-border-opacity, 1));
}
.border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.border-emerald-200\/80 {
  border-color: rgb(167 243 208 / 0.8);
}
.border-emerald-400 {
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1));
}
.border-orange-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
}
.border-orange-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}
.border-orange-300\/90 {
  border-color: rgb(253 186 116 / 0.9);
}
.border-red-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 226 226 / var(--tw-border-opacity, 1));
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-red-200\/80 {
  border-color: rgb(254 202 202 / 0.8);
}
.border-red-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}
.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-sanad-blue {
  --tw-border-opacity: 1;
  border-color: rgb(18 48 122 / var(--tw-border-opacity, 1));
}
.border-sanad-blue\/15 {
  border-color: rgb(18 48 122 / 0.15);
}
.border-sanad-blue\/20 {
  border-color: rgb(18 48 122 / 0.2);
}
.border-sanad-border {
  border-color: rgba(10,18,40,0.09);
}
.border-sanad-border\/70 {
  border-color: rgba(10, 18, 40, 0.7);
}
.border-sanad-border\/80 {
  border-color: rgba(10, 18, 40, 0.8);
}
.border-sanad-gold {
  --tw-border-opacity: 1;
  border-color: rgb(255 106 0 / var(--tw-border-opacity, 1));
}
.border-sanad-gold\/15 {
  border-color: rgb(255 106 0 / 0.15);
}
.border-sanad-gold\/20 {
  border-color: rgb(255 106 0 / 0.2);
}
.border-sanad-gold\/25 {
  border-color: rgb(255 106 0 / 0.25);
}
.border-sanad-gold\/30 {
  border-color: rgb(255 106 0 / 0.3);
}
.border-sanad-gold\/35 {
  border-color: rgb(255 106 0 / 0.35);
}
.border-sanad-green\/20 {
  border-color: rgb(31 111 84 / 0.2);
}
.border-sanad-ink {
  --tw-border-opacity: 1;
  border-color: rgb(10 18 40 / var(--tw-border-opacity, 1));
}
.border-sanad-navy\/10 {
  border-color: rgb(10 18 40 / 0.1);
}
.border-sanad-navy\/25 {
  border-color: rgb(10 18 40 / 0.25);
}
.border-sanad-stone {
  --tw-border-opacity: 1;
  border-color: rgb(220 228 245 / var(--tw-border-opacity, 1));
}
.border-sky-200 {
  --tw-border-opacity: 1;
  border-color: rgb(186 230 253 / var(--tw-border-opacity, 1));
}
.border-sky-200\/80 {
  border-color: rgb(186 230 253 / 0.8);
}
.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slate-200\/70 {
  border-color: rgb(226 232 240 / 0.7);
}
.border-slate-200\/80 {
  border-color: rgb(226 232 240 / 0.8);
}
.border-slate-200\/90 {
  border-color: rgb(226 232 240 / 0.9);
}
.border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/15 {
  border-color: rgb(255 255 255 / 0.15);
}
.border-white\/25 {
  border-color: rgb(255 255 255 / 0.25);
}
.border-white\/30 {
  border-color: rgb(255 255 255 / 0.3);
}
.border-white\/50 {
  border-color: rgb(255 255 255 / 0.5);
}
.border-t-transparent {
  border-top-color: transparent;
}
.bg-\[\#071033\] {
  --tw-bg-opacity: 1;
  background-color: rgb(7 16 51 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0A1228\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 18 40 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0A1228\]\/5 {
  background-color: rgb(10 18 40 / 0.05);
}
.bg-\[\#0A1228\]\/95 {
  background-color: rgb(10 18 40 / 0.95);
}
.bg-\[\#0B1A4D\] {
  --tw-bg-opacity: 1;
  background-color: rgb(11 26 77 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0B1A4D\]\/40 {
  background-color: rgb(11 26 77 / 0.4);
}
.bg-\[\#0B1A4D\]\/45 {
  background-color: rgb(11 26 77 / 0.45);
}
.bg-\[\#0B1A4D\]\/5 {
  background-color: rgb(11 26 77 / 0.05);
}
.bg-\[\#0B1A4D\]\/50 {
  background-color: rgb(11 26 77 / 0.5);
}
.bg-\[\#0B1A4D\]\/55 {
  background-color: rgb(11 26 77 / 0.55);
}
.bg-\[\#0B1A4D\]\/60 {
  background-color: rgb(11 26 77 / 0.6);
}
.bg-\[\#0B1A4D\]\/80 {
  background-color: rgb(11 26 77 / 0.8);
}
.bg-\[\#0F2258\] {
  --tw-bg-opacity: 1;
  background-color: rgb(15 34 88 / var(--tw-bg-opacity, 1));
}
.bg-\[\#12182a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(18 24 42 / var(--tw-bg-opacity, 1));
}
.bg-\[\#12307A\] {
  --tw-bg-opacity: 1;
  background-color: rgb(18 48 122 / var(--tw-bg-opacity, 1));
}
.bg-\[\#12307A\]\/30 {
  background-color: rgb(18 48 122 / 0.3);
}
.bg-\[\#1B3F9C\] {
  --tw-bg-opacity: 1;
  background-color: rgb(27 63 156 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1B3F9C\]\/10 {
  background-color: rgb(27 63 156 / 0.1);
}
.bg-\[\#1B3F9C\]\/5 {
  background-color: rgb(27 63 156 / 0.05);
}
.bg-\[\#4C7CFF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(76 124 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#4C7CFF\]\/60 {
  background-color: rgb(76 124 255 / 0.6);
}
.bg-\[\#525659\] {
  --tw-bg-opacity: 1;
  background-color: rgb(82 86 89 / var(--tw-bg-opacity, 1));
}
.bg-\[\#D9BA6A\] {
  --tw-bg-opacity: 1;
  background-color: rgb(217 186 106 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E8D4B0\] {
  --tw-bg-opacity: 1;
  background-color: rgb(232 212 176 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F3F5FA\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 245 250 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F4F6FA\] {
  --tw-bg-opacity: 1;
  background-color: rgb(244 246 250 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F4F6FB\] {
  --tw-bg-opacity: 1;
  background-color: rgb(244 246 251 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F6EFDD\] {
  --tw-bg-opacity: 1;
  background-color: rgb(246 239 221 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F7F5F0\] {
  --tw-bg-opacity: 1;
  background-color: rgb(247 245 240 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F7F5F0\]\/50 {
  background-color: rgb(247 245 240 / 0.5);
}
.bg-\[\#F7F5F0\]\/70 {
  background-color: rgb(247 245 240 / 0.7);
}
.bg-\[\#F7F5F0\]\/80 {
  background-color: rgb(247 245 240 / 0.8);
}
.bg-\[\#F7F8FC\] {
  --tw-bg-opacity: 1;
  background-color: rgb(247 248 252 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F7F8FC\]\/80 {
  background-color: rgb(247 248 252 / 0.8);
}
.bg-\[\#F7F9FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(247 249 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FF6A00\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 106 0 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FF6A00\]\/10 {
  background-color: rgb(255 106 0 / 0.1);
}
.bg-\[\#FF8A2D\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 138 45 / var(--tw-bg-opacity, 1));
}
.bg-\[rgba\(14\2c 21\2c 38\2c 0\.08\)\] {
  background-color: rgba(14,21,38,0.08);
}
.bg-\[rgba\(14\2c 21\2c 38\2c 0\.45\)\] {
  background-color: rgba(14,21,38,0.45);
}
.bg-\[rgba\(184\2c 148\2c 74\2c 0\.14\)\] {
  background-color: rgba(184,148,74,0.14);
}
.bg-\[rgba\(197\2c 160\2c 40\2c 0\.08\)\] {
  background-color: rgba(197,160,40,0.08);
}
.bg-\[rgba\(248\2c 244\2c 236\2c 0\.7\)\] {
  background-color: rgba(248,244,236,0.7);
}
.bg-\[rgba\(255\2c 106\2c 0\2c 0\.16\)\] {
  background-color: rgba(255,106,0,0.16);
}
.bg-\[rgba\(255\2c 106\2c 0\2c 0\.18\)\] {
  background-color: rgba(255,106,0,0.18);
}
.bg-\[rgba\(255\2c 252\2c 246\2c 0\.6\)\] {
  background-color: rgba(255,252,246,0.6);
}
.bg-\[rgba\(255\2c 252\2c 246\2c 0\.75\)\] {
  background-color: rgba(255,252,246,0.75);
}
.bg-\[rgba\(26\2c 43\2c 74\2c 0\.08\)\] {
  background-color: rgba(26,43,74,0.08);
}
.bg-\[rgba\(27\2c 63\2c 156\2c 0\.1\)\] {
  background-color: rgba(27,63,156,0.1);
}
.bg-\[rgba\(27\2c 63\2c 156\2c 0\.35\)\] {
  background-color: rgba(27,63,156,0.35);
}
.bg-\[rgba\(31\2c 111\2c 84\2c 0\.14\)\] {
  background-color: rgba(31,111,84,0.14);
}
.bg-\[rgba\(7\2c 16\2c 51\2c 0\.45\)\] {
  background-color: rgba(7,16,51,0.45);
}
.bg-\[rgba\(7\2c 16\2c 51\2c 0\.98\)\] {
  background-color: rgba(7,16,51,0.98);
}
.bg-\[rgba\(76\2c 124\2c 255\2c 0\.08\)\] {
  background-color: rgba(76,124,255,0.08);
}
.bg-\[rgba\(76\2c 124\2c 255\2c 0\.12\)\] {
  background-color: rgba(76,124,255,0.12);
}
.bg-\[rgba\(76\2c 124\2c 255\2c 0\.22\)\] {
  background-color: rgba(76,124,255,0.22);
}
.bg-\[rgba\(76\2c 124\2c 255\2c 0\.25\)\] {
  background-color: rgba(76,124,255,0.25);
}
.bg-\[rgba\(76\2c 124\2c 255\2c 0\.28\)\] {
  background-color: rgba(76,124,255,0.28);
}
.bg-\[var\(--card\)\] {
  background-color: var(--card);
}
.bg-\[var\(--lr-card\)\] {
  background-color: var(--lr-card);
}
.bg-\[var\(--lr-line-light\)\] {
  background-color: var(--lr-line-light);
}
.bg-\[var\(--lr-paper\)\] {
  background-color: var(--lr-paper);
}
.bg-\[var\(--lr-paper\2c \#F7F8FC\)\] {
  background-color: var(--lr-paper,#F7F8FC);
}
.bg-\[var\(--lr-paper-dim\)\] {
  background-color: var(--lr-paper-dim);
}
.bg-\[var\(--lr-royal-900\)\] {
  background-color: var(--lr-royal-900);
}
.bg-\[var\(--lr-royal-950\)\] {
  background-color: var(--lr-royal-950);
}
.bg-\[var\(--navy\)\] {
  background-color: var(--navy);
}
.bg-\[var\(--royal-900\)\] {
  background-color: var(--royal-900);
}
.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-50\/40 {
  background-color: rgb(255 251 235 / 0.4);
}
.bg-amber-50\/50 {
  background-color: rgb(255 251 235 / 0.5);
}
.bg-amber-50\/70 {
  background-color: rgb(255 251 235 / 0.7);
}
.bg-amber-50\/80 {
  background-color: rgb(255 251 235 / 0.8);
}
.bg-amber-50\/90 {
  background-color: rgb(255 251 235 / 0.9);
}
.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-black\/10 {
  background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/35 {
  background-color: rgb(0 0 0 / 0.35);
}
.bg-black\/45 {
  background-color: rgb(0 0 0 / 0.45);
}
.bg-black\/55 {
  background-color: rgb(0 0 0 / 0.55);
}
.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50\/50 {
  background-color: rgb(236 253 245 / 0.5);
}
.bg-emerald-50\/60 {
  background-color: rgb(236 253 245 / 0.6);
}
.bg-emerald-50\/70 {
  background-color: rgb(236 253 245 / 0.7);
}
.bg-emerald-50\/80 {
  background-color: rgb(236 253 245 / 0.8);
}
.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.bg-emerald-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}
.bg-orange-50\/70 {
  background-color: rgb(255 247 237 / 0.7);
}
.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / 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-50\/40 {
  background-color: rgb(254 242 242 / 0.4);
}
.bg-red-50\/60 {
  background-color: rgb(254 242 242 / 0.6);
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.bg-sanad-blue {
  --tw-bg-opacity: 1;
  background-color: rgb(18 48 122 / var(--tw-bg-opacity, 1));
}
.bg-sanad-blue\/10 {
  background-color: rgb(18 48 122 / 0.1);
}
.bg-sanad-blue\/5 {
  background-color: rgb(18 48 122 / 0.05);
}
.bg-sanad-cream {
  --tw-bg-opacity: 1;
  background-color: rgb(238 241 248 / var(--tw-bg-opacity, 1));
}
.bg-sanad-cream\/30 {
  background-color: rgb(238 241 248 / 0.3);
}
.bg-sanad-cream\/40 {
  background-color: rgb(238 241 248 / 0.4);
}
.bg-sanad-cream\/50 {
  background-color: rgb(238 241 248 / 0.5);
}
.bg-sanad-cream\/60 {
  background-color: rgb(238 241 248 / 0.6);
}
.bg-sanad-gold {
  --tw-bg-opacity: 1;
  background-color: rgb(255 106 0 / var(--tw-bg-opacity, 1));
}
.bg-sanad-gold\/15 {
  background-color: rgb(255 106 0 / 0.15);
}
.bg-sanad-gold\/20 {
  background-color: rgb(255 106 0 / 0.2);
}
.bg-sanad-gold\/25 {
  background-color: rgb(255 106 0 / 0.25);
}
.bg-sanad-goldSoft {
  --tw-bg-opacity: 1;
  background-color: rgb(255 176 122 / var(--tw-bg-opacity, 1));
}
.bg-sanad-green\/5 {
  background-color: rgb(31 111 84 / 0.05);
}
.bg-sanad-ink {
  --tw-bg-opacity: 1;
  background-color: rgb(10 18 40 / var(--tw-bg-opacity, 1));
}
.bg-sanad-light {
  --tw-bg-opacity: 1;
  background-color: rgb(238 241 248 / var(--tw-bg-opacity, 1));
}
.bg-sanad-light\/30 {
  background-color: rgb(238 241 248 / 0.3);
}
.bg-sanad-light\/40 {
  background-color: rgb(238 241 248 / 0.4);
}
.bg-sanad-light\/50 {
  background-color: rgb(238 241 248 / 0.5);
}
.bg-sanad-light\/80 {
  background-color: rgb(238 241 248 / 0.8);
}
.bg-sanad-navy {
  --tw-bg-opacity: 1;
  background-color: rgb(10 18 40 / var(--tw-bg-opacity, 1));
}
.bg-sanad-navy\/25 {
  background-color: rgb(10 18 40 / 0.25);
}
.bg-sanad-navy\/5 {
  background-color: rgb(10 18 40 / 0.05);
}
.bg-sanad-navy\/80 {
  background-color: rgb(10 18 40 / 0.8);
}
.bg-sanad-navy\/\[0\.06\] {
  background-color: rgb(10 18 40 / 0.06);
}
.bg-sanad-stone {
  --tw-bg-opacity: 1;
  background-color: rgb(220 228 245 / var(--tw-bg-opacity, 1));
}
.bg-sanad-stone\/80 {
  background-color: rgb(220 228 245 / 0.8);
}
.bg-sky-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}
.bg-sky-50\/60 {
  background-color: rgb(240 249 255 / 0.6);
}
.bg-sky-50\/70 {
  background-color: rgb(240 249 255 / 0.7);
}
.bg-sky-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(14 165 233 / var(--tw-bg-opacity, 1));
}
.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-slate-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}
.bg-slate-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-slate-50\/60 {
  background-color: rgb(248 250 252 / 0.6);
}
.bg-slate-50\/80 {
  background-color: rgb(248 250 252 / 0.8);
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/40 {
  background-color: rgb(255 255 255 / 0.4);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/50 {
  background-color: rgb(255 255 255 / 0.5);
}
.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}
.bg-white\/\[0\.06\] {
  background-color: rgb(255 255 255 / 0.06);
}
.bg-\[radial-gradient\(ellipse_at_top\2c _rgba\(255\2c 106\2c 0\2c 0\.12\)\2c _transparent_55\%\)\] {
  background-image: radial-gradient(ellipse at top, rgba(255,106,0,0.12), transparent 55%);
}
.bg-gradient-conic {
  background-image: conic-gradient(var(--tw-gradient-stops));
}
.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-l {
  background-image: linear-gradient(to left, 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-sanad-gold {
  background-image: linear-gradient(155deg, #FFB07A, #FF6A00);
}
.bg-sanad-ink {
  background-image: linear-gradient(155deg, #1B3F9C, #0B1A4D);
}
.from-\[\#050d28\] {
  --tw-gradient-from: #050d28 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 13 40 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#071033\]\/85 {
  --tw-gradient-from: rgb(7 16 51 / 0.85) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 16 51 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0B1A4D\]\/\[0\.04\] {
  --tw-gradient-from: rgb(11 26 77 / 0.04) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(11 26 77 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#12307A\] {
  --tw-gradient-from: #12307A var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(18 48 122 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#1B3F9C\] {
  --tw-gradient-from: #1B3F9C var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(27 63 156 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#4C7CFF\] {
  --tw-gradient-from: #4C7CFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(76 124 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#F7F5F0\] {
  --tw-gradient-from: #F7F5F0 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(247 245 240 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#F7F8FC\] {
  --tw-gradient-from: #F7F8FC var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(247 248 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#F7F9FF\] {
  --tw-gradient-from: #F7F9FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(247 249 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#FFB07A\]\/80 {
  --tw-gradient-from: rgb(255 176 122 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 176 122 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[var\(--royal-700\)\] {
  --tw-gradient-from: var(--royal-700) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[var\(--royal-glow\)\] {
  --tw-gradient-from: var(--royal-glow) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/15 {
  --tw-gradient-from: rgb(245 158 11 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-50 {
  --tw-gradient-from: #fff7ed var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 247 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-50 {
  --tw-gradient-from: #fef2f2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 242 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sanad-cream {
  --tw-gradient-from: #EEF1F8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(238 241 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sanad-gold {
  --tw-gradient-from: #FF6A00 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 106 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sanad-gold\/15 {
  --tw-gradient-from: rgb(255 106 0 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 106 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sanad-gold\/20 {
  --tw-gradient-from: rgb(255 106 0 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 106 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sanad-navy {
  --tw-gradient-from: #0A1228 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 18 40 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-50 {
  --tw-gradient-from: #f0f9ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 249 255 / 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);
}
.from-white {
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-\[\#071033\]\/35 {
  --tw-gradient-to: rgb(7 16 51 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(7 16 51 / 0.35) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#071033\]\/95 {
  --tw-gradient-to: rgb(7 16 51 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(7 16 51 / 0.95) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#1B3F9C\] {
  --tw-gradient-to: rgb(27 63 156 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1B3F9C var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#1a223d\] {
  --tw-gradient-to: rgb(26 34 61 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1a223d var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#4C7CFF\]\/70 {
  --tw-gradient-to: rgb(76 124 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(76 124 255 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#FF6A00\]\/60 {
  --tw-gradient-to: rgb(255 106 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 106 0 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#f0e0c8\] {
  --tw-gradient-to: rgb(240 224 200 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f0e0c8 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[var\(--royal-700\)\] {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--royal-700) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/35 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.35) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/70 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[\#0B1A4D\] {
  --tw-gradient-to: #0B1A4D var(--tw-gradient-to-position);
}
.to-\[\#0B1A4D\]\/25 {
  --tw-gradient-to: rgb(11 26 77 / 0.25) var(--tw-gradient-to-position);
}
.to-\[\#E85A00\]\/10 {
  --tw-gradient-to: rgb(232 90 0 / 0.1) var(--tw-gradient-to-position);
}
.to-\[\#F7F5F0\] {
  --tw-gradient-to: #F7F5F0 var(--tw-gradient-to-position);
}
.to-\[var\(--royal-900\)\] {
  --tw-gradient-to: var(--royal-900) var(--tw-gradient-to-position);
}
.to-amber-50 {
  --tw-gradient-to: #fffbeb var(--tw-gradient-to-position);
}
.to-orange-50 {
  --tw-gradient-to: #fff7ed var(--tw-gradient-to-position);
}
.to-sanad-cream {
  --tw-gradient-to: #EEF1F8 var(--tw-gradient-to-position);
}
.to-sanad-gold {
  --tw-gradient-to: #FF6A00 var(--tw-gradient-to-position);
}
.to-sanad-gold\/5 {
  --tw-gradient-to: rgb(255 106 0 / 0.05) var(--tw-gradient-to-position);
}
.to-sanad-navy {
  --tw-gradient-to: #0A1228 var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-white {
  --tw-gradient-to: #fff var(--tw-gradient-to-position);
}
.to-white\/10 {
  --tw-gradient-to: rgb(255 255 255 / 0.1) var(--tw-gradient-to-position);
}
.bg-\[length\:200\%_auto\] {
  background-size: 200% auto;
}
.bg-clip-text {
  background-clip: text;
}
.fill-current {
  fill: currentColor;
}
.fill-sanad-navy {
  fill: #0A1228;
}
.object-contain {
  object-fit: contain;
}
.object-cover {
  object-fit: cover;
}
.object-center {
  object-position: center;
}
.p-0 {
  padding: 0px;
}
.p-0\.5 {
  padding: 0.125rem;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-12 {
  padding: 3rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-3\.5 {
  padding: 0.875rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.p-\[2px\] {
  padding: 2px;
}
.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-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-\[22px\] {
  padding-left: 22px;
  padding-right: 22px;
}
.px-\[26px\] {
  padding-left: 26px;
  padding-right: 26px;
}
.px-\[30px\] {
  padding-left: 30px;
  padding-right: 30px;
}
.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-\[100px\] {
  padding-top: 100px;
  padding-bottom: 100px;
}
.py-\[108px\] {
  padding-top: 108px;
  padding-bottom: 108px;
}
.py-\[15px\] {
  padding-top: 15px;
  padding-bottom: 15px;
}
.py-\[88px\] {
  padding-top: 88px;
  padding-bottom: 88px;
}
.py-\[96px\] {
  padding-top: 96px;
  padding-bottom: 96px;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pb-16 {
  padding-bottom: 4rem;
}
.pb-3\.5 {
  padding-bottom: 0.875rem;
}
.pb-7 {
  padding-bottom: 1.75rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pe-11 {
  padding-inline-end: 2.75rem;
}
.pe-3 {
  padding-inline-end: 0.75rem;
}
.pe-4 {
  padding-inline-end: 1rem;
}
.pe-8 {
  padding-inline-end: 2rem;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pr-5 {
  padding-right: 1.25rem;
}
.ps-10 {
  padding-inline-start: 2.5rem;
}
.ps-4 {
  padding-inline-start: 1rem;
}
.ps-5 {
  padding-inline-start: 1.25rem;
}
.pt-0 {
  padding-top: 0px;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-20 {
  padding-top: 5rem;
}
.pt-24 {
  padding-top: 6rem;
}
.pt-28 {
  padding-top: 7rem;
}
.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;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-justify {
  text-align: justify;
}
.text-start {
  text-align: start;
}
.text-end {
  text-align: end;
}
.align-top {
  vertical-align: top;
}
.font-\[family-name\:var\(--font-display\)\] {
  font-family: var(--font-display);
}
.font-\[system-ui\2c sans-serif\] {
  font-family: system-ui,sans-serif;
}
.font-arabic {
  font-family: var(--font-cairo), Tahoma, sans-serif;
}
.font-display {
  font-family: var(--font-fraunces), var(--font-cairo), Georgia, serif;
}
.font-mono {
  font-family: var(--font-plex-mono), ui-monospace, monospace;
}
.font-sans {
  font-family: var(--font-inter), var(--font-cairo), system-ui, sans-serif;
}
.font-serif {
  font-family: var(--font-fraunces), var(--font-cairo), Georgia, 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-\[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-\[15\.5px\] {
  font-size: 15.5px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[16\.5px\] {
  font-size: 16.5px;
}
.text-\[16px\] {
  font-size: 16px;
}
.text-\[17px\] {
  font-size: 17px;
}
.text-\[19px\] {
  font-size: 19px;
}
.text-\[21px\] {
  font-size: 21px;
}
.text-\[23px\] {
  font-size: 23px;
}
.text-\[clamp\(26px\2c 3\.8vw\2c 38px\)\] {
  font-size: clamp(26px, 3.8vw, 38px);
}
.text-\[clamp\(28px\2c 3\.6vw\2c 38px\)\] {
  font-size: clamp(28px, 3.6vw, 38px);
}
.text-\[clamp\(28px\2c 4vw\2c 40px\)\] {
  font-size: clamp(28px, 4vw, 40px);
}
.text-\[clamp\(30px\2c 4vw\2c 42px\)\] {
  font-size: clamp(30px, 4vw, 42px);
}
.text-\[clamp\(48px\2c 8vw\2c 92px\)\] {
  font-size: clamp(48px, 8vw, 92px);
}
.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;
}
.italic {
  font-style: italic;
}
.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-8 {
  line-height: 2rem;
}
.leading-\[0\.95\] {
  line-height: 0.95;
}
.leading-\[1\.08\] {
  line-height: 1.08;
}
.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\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-\[0\.16em\] {
  letter-spacing: 0.16em;
}
.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}
.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}
.tracking-\[0\.35em\] {
  letter-spacing: 0.35em;
}
.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.text-\[\#0A1228\] {
  --tw-text-opacity: 1;
  color: rgb(10 18 40 / var(--tw-text-opacity, 1));
}
.text-\[\#0B1A4D\] {
  --tw-text-opacity: 1;
  color: rgb(11 26 77 / var(--tw-text-opacity, 1));
}
.text-\[\#0B1A4D\]\/70 {
  color: rgb(11 26 77 / 0.7);
}
.text-\[\#0B1A4D\]\/80 {
  color: rgb(11 26 77 / 0.8);
}
.text-\[\#12307A\] {
  --tw-text-opacity: 1;
  color: rgb(18 48 122 / var(--tw-text-opacity, 1));
}
.text-\[\#155943\] {
  --tw-text-opacity: 1;
  color: rgb(21 89 67 / var(--tw-text-opacity, 1));
}
.text-\[\#16233F\] {
  --tw-text-opacity: 1;
  color: rgb(22 35 63 / var(--tw-text-opacity, 1));
}
.text-\[\#1B3F9C\] {
  --tw-text-opacity: 1;
  color: rgb(27 63 156 / var(--tw-text-opacity, 1));
}
.text-\[\#2C3B5C\] {
  --tw-text-opacity: 1;
  color: rgb(44 59 92 / var(--tw-text-opacity, 1));
}
.text-\[\#2C3B5C\]\/70 {
  color: rgb(44 59 92 / 0.7);
}
.text-\[\#2C3B5C\]\/75 {
  color: rgb(44 59 92 / 0.75);
}
.text-\[\#2C3B5C\]\/80 {
  color: rgb(44 59 92 / 0.8);
}
.text-\[\#2C3B5C\]\/85 {
  color: rgb(44 59 92 / 0.85);
}
.text-\[\#3D4A66\] {
  --tw-text-opacity: 1;
  color: rgb(61 74 102 / var(--tw-text-opacity, 1));
}
.text-\[\#4C7CFF\] {
  --tw-text-opacity: 1;
  color: rgb(76 124 255 / var(--tw-text-opacity, 1));
}
.text-\[\#5A6A85\] {
  --tw-text-opacity: 1;
  color: rgb(90 106 133 / var(--tw-text-opacity, 1));
}
.text-\[\#5a8bff\] {
  --tw-text-opacity: 1;
  color: rgb(90 139 255 / var(--tw-text-opacity, 1));
}
.text-\[\#8FA0C0\] {
  --tw-text-opacity: 1;
  color: rgb(143 160 192 / var(--tw-text-opacity, 1));
}
.text-\[\#8b93b0\] {
  --tw-text-opacity: 1;
  color: rgb(139 147 176 / var(--tw-text-opacity, 1));
}
.text-\[\#A8B6D4\] {
  --tw-text-opacity: 1;
  color: rgb(168 182 212 / var(--tw-text-opacity, 1));
}
.text-\[\#A8C0FF\] {
  --tw-text-opacity: 1;
  color: rgb(168 192 255 / var(--tw-text-opacity, 1));
}
.text-\[\#A8C0FF\]\/85 {
  color: rgb(168 192 255 / 0.85);
}
.text-\[\#C9D6FF\] {
  --tw-text-opacity: 1;
  color: rgb(201 214 255 / var(--tw-text-opacity, 1));
}
.text-\[\#E85A00\] {
  --tw-text-opacity: 1;
  color: rgb(232 90 0 / var(--tw-text-opacity, 1));
}
.text-\[\#F4F6FC\] {
  --tw-text-opacity: 1;
  color: rgb(244 246 252 / var(--tw-text-opacity, 1));
}
.text-\[\#FF6A00\] {
  --tw-text-opacity: 1;
  color: rgb(255 106 0 / var(--tw-text-opacity, 1));
}
.text-\[\#FF8A2D\] {
  --tw-text-opacity: 1;
  color: rgb(255 138 45 / var(--tw-text-opacity, 1));
}
.text-\[\#FFB07A\] {
  --tw-text-opacity: 1;
  color: rgb(255 176 122 / var(--tw-text-opacity, 1));
}
.text-\[\#FFE6C2\] {
  --tw-text-opacity: 1;
  color: rgb(255 230 194 / var(--tw-text-opacity, 1));
}
.text-\[\#f4efe6\] {
  --tw-text-opacity: 1;
  color: rgb(244 239 230 / var(--tw-text-opacity, 1));
}
.text-\[\#ff8a2d\] {
  --tw-text-opacity: 1;
  color: rgb(255 138 45 / var(--tw-text-opacity, 1));
}
.text-\[var\(--gold\)\] {
  color: var(--gold);
}
.text-\[var\(--gold-deep\)\] {
  color: var(--gold-deep);
}
.text-\[var\(--ink\)\] {
  color: var(--ink);
}
.text-\[var\(--ink-mute\)\] {
  color: var(--ink-mute);
}
.text-\[var\(--ink-soft\)\] {
  color: var(--ink-soft);
}
.text-\[var\(--lr-ink\)\] {
  color: var(--lr-ink);
}
.text-\[var\(--lr-ink-soft\)\] {
  color: var(--lr-ink-soft);
}
.text-\[var\(--lr-ivory\)\] {
  color: var(--lr-ivory);
}
.text-\[var\(--lr-muted-on-dark\)\] {
  color: var(--lr-muted-on-dark);
}
.text-\[var\(--lr-royal-900\)\] {
  color: var(--lr-royal-900);
}
.text-\[var\(--royal-700\)\] {
  color: var(--royal-700);
}
.text-\[var\(--royal-800\)\] {
  color: var(--royal-800);
}
.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-amber-800\/80 {
  color: rgb(146 64 14 / 0.8);
}
.text-amber-900 {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.text-amber-900\/80 {
  color: rgb(120 53 15 / 0.8);
}
.text-amber-950 {
  --tw-text-opacity: 1;
  color: rgb(69 26 3 / var(--tw-text-opacity, 1));
}
.text-amber-950\/90 {
  color: rgb(69 26 3 / 0.9);
}
.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-emerald-800\/80 {
  color: rgb(6 95 70 / 0.8);
}
.text-emerald-900 {
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}
.text-emerald-950 {
  --tw-text-opacity: 1;
  color: rgb(2 44 34 / var(--tw-text-opacity, 1));
}
.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-orange-800 {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / 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-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-red-800\/90 {
  color: rgb(153 27 27 / 0.9);
}
.text-red-900 {
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}
.text-sanad-blue {
  --tw-text-opacity: 1;
  color: rgb(18 48 122 / var(--tw-text-opacity, 1));
}
.text-sanad-blue\/80 {
  color: rgb(18 48 122 / 0.8);
}
.text-sanad-cream\/80 {
  color: rgb(238 241 248 / 0.8);
}
.text-sanad-cream\/90 {
  color: rgb(238 241 248 / 0.9);
}
.text-sanad-gold {
  --tw-text-opacity: 1;
  color: rgb(255 106 0 / var(--tw-text-opacity, 1));
}
.text-sanad-gold\/80 {
  color: rgb(255 106 0 / 0.8);
}
.text-sanad-gold\/90 {
  color: rgb(255 106 0 / 0.9);
}
.text-sanad-green {
  --tw-text-opacity: 1;
  color: rgb(31 111 84 / var(--tw-text-opacity, 1));
}
.text-sanad-ink {
  --tw-text-opacity: 1;
  color: rgb(10 18 40 / var(--tw-text-opacity, 1));
}
.text-sanad-inkSoft {
  --tw-text-opacity: 1;
  color: rgb(74 85 104 / var(--tw-text-opacity, 1));
}
.text-sanad-ivory {
  --tw-text-opacity: 1;
  color: rgb(251 252 254 / var(--tw-text-opacity, 1));
}
.text-sanad-ivory\/60 {
  color: rgb(251 252 254 / 0.6);
}
.text-sanad-ivory\/70 {
  color: rgb(251 252 254 / 0.7);
}
.text-sanad-ivory\/90 {
  color: rgb(251 252 254 / 0.9);
}
.text-sanad-muted {
  --tw-text-opacity: 1;
  color: rgb(74 85 104 / var(--tw-text-opacity, 1));
}
.text-sanad-muted\/80 {
  color: rgb(74 85 104 / 0.8);
}
.text-sanad-navy {
  --tw-text-opacity: 1;
  color: rgb(10 18 40 / var(--tw-text-opacity, 1));
}
.text-sanad-navy\/70 {
  color: rgb(10 18 40 / 0.7);
}
.text-sanad-navy\/75 {
  color: rgb(10 18 40 / 0.75);
}
.text-sanad-navy\/80 {
  color: rgb(10 18 40 / 0.8);
}
.text-sanad-navy\/85 {
  color: rgb(10 18 40 / 0.85);
}
.text-sanad-slate {
  --tw-text-opacity: 1;
  color: rgb(10 18 40 / var(--tw-text-opacity, 1));
}
.text-sky-900 {
  --tw-text-opacity: 1;
  color: rgb(12 74 110 / var(--tw-text-opacity, 1));
}
.text-sky-950 {
  --tw-text-opacity: 1;
  color: rgb(8 47 73 / var(--tw-text-opacity, 1));
}
.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-transparent {
  color: transparent;
}
.text-violet-800 {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/35 {
  color: rgb(255 255 255 / 0.35);
}
.text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.text-white\/65 {
  color: rgb(255 255 255 / 0.65);
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-white\/75 {
  color: rgb(255 255 255 / 0.75);
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-white\/85 {
  color: rgb(255 255 255 / 0.85);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.underline {
  text-decoration-line: underline;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.caret-\[\#0B1A4D\] {
  caret-color: #0B1A4D;
}
.accent-\[\#0B1A4D\] {
  accent-color: #0B1A4D;
}
.opacity-0 {
  opacity: 0;
}
.opacity-10 {
  opacity: 0.1;
}
.opacity-100 {
  opacity: 1;
}
.opacity-15 {
  opacity: 0.15;
}
.opacity-20 {
  opacity: 0.2;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-35 {
  opacity: 0.35;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-90 {
  opacity: 0.9;
}
.opacity-\[0\.03\] {
  opacity: 0.03;
}
.opacity-\[0\.18\] {
  opacity: 0.18;
}
.mix-blend-normal {
  mix-blend-mode: normal;
}
.mix-blend-overlay {
  mix-blend-mode: overlay;
}
.mix-blend-soft-light {
  mix-blend-mode: soft-light;
}
.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-\[0_0_20px_rgba\(76\2c 124\2c 255\2c 0\.28\)\] {
  --tw-shadow: 0 0 20px rgba(76,124,255,0.28);
  --tw-shadow-colored: 0 0 20px 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_0_28px_rgba\(76\2c 124\2c 255\2c 0\.25\)\] {
  --tw-shadow: 0 0 28px rgba(76,124,255,0.25);
  --tw-shadow-colored: 0 0 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_0_28px_rgba\(76\2c 124\2c 255\2c 0\.4\)\] {
  --tw-shadow: 0 0 28px rgba(76,124,255,0.4);
  --tw-shadow-colored: 0 0 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_0_40px_rgba\(76\2c 124\2c 255\2c 0\.35\)\] {
  --tw-shadow: 0 0 40px rgba(76,124,255,0.35);
  --tw-shadow-colored: 0 0 40px 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_0_48px_rgba\(76\2c 124\2c 255\2c 0\.2\)\2c 0_0_36px_rgba\(255\2c 106\2c 0\2c 0\.12\)\] {
  --tw-shadow: 0 0 48px rgba(76,124,255,0.2),0 0 36px rgba(255,106,0,0.12);
  --tw-shadow-colored: 0 0 48px var(--tw-shadow-color), 0 0 36px 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_10px_28px_-18px_rgba\(11\2c 31\2c 74\2c 0\.45\)\] {
  --tw-shadow: 0 10px 28px -18px rgba(11,31,74,0.45);
  --tw-shadow-colored: 0 10px 28px -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_12px_32px_-18px_rgba\(22\2c 35\2c 63\2c 0\.25\)\] {
  --tw-shadow: 0 12px 32px -18px rgba(22,35,63,0.25);
  --tw-shadow-colored: 0 12px 32px -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_12px_32px_-24px_rgba\(10\2c 18\2c 40\2c 0\.35\)\] {
  --tw-shadow: 0 12px 32px -24px rgba(10,18,40,0.35);
  --tw-shadow-colored: 0 12px 32px -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_12px_32px_rgba\(11\2c 26\2c 77\2c 0\.06\)\] {
  --tw-shadow: 0 12px 32px rgba(11,26,77,0.06);
  --tw-shadow-colored: 0 12px 32px 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_16px_40px_-20px_rgba\(255\2c 106\2c 0\2c 0\.55\)\] {
  --tw-shadow: 0 16px 40px -20px rgba(255,106,0,0.55);
  --tw-shadow-colored: 0 16px 40px -20px 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_16px_40px_rgba\(26\2c 43\2c 74\2c 0\.1\)\] {
  --tw-shadow: 0 16px 40px rgba(26,43,74,0.1);
  --tw-shadow-colored: 0 16px 40px 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_rgba\(15\2c 23\2c 42\2c 0\.04\)\] {
  --tw-shadow: 0 1px 0 rgba(15,23,42,0.04);
  --tw-shadow-colored: 0 1px 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_40px_80px_rgba\(0\2c 0\2c 0\2c 0\.35\)\] {
  --tw-shadow: 0 40px 80px rgba(0,0,0,0.35);
  --tw-shadow-colored: 0 40px 80px 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_20px_rgba\(11\2c 26\2c 77\2c 0\.22\)\] {
  --tw-shadow: 0 8px 20px rgba(11,26,77,0.22);
  --tw-shadow-colored: 0 8px 20px 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\(11\2c 26\2c 77\2c 0\.06\)\] {
  --tw-shadow: 0 8px 24px rgba(11,26,77,0.06);
  --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-gold {
  --tw-shadow: 0 8px 28px rgba(201,168,74,0.35);
  --tw-shadow-colored: 0 8px 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-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px 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-luxe {
  --tw-shadow: 0 20px 60px -20px rgba(7,16,51,0.32);
  --tw-shadow-colored: 0 20px 60px -20px 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-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -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-none {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-royal {
  --tw-shadow: 0 20px 60px rgba(11,26,77,0.35);
  --tw-shadow-colored: 0 20px 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-sanad-sm {
  --tw-shadow: 0 8px 24px -12px rgba(11,26,77,0.2);
  --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-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 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-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px 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-sanad-gold\/10 {
  --tw-shadow-color: rgb(255 106 0 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.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-\[\#1B3F9C\]\/15 {
  --tw-ring-color: rgb(27 63 156 / 0.15);
}
.ring-\[\#1B3F9C\]\/20 {
  --tw-ring-color: rgb(27 63 156 / 0.2);
}
.ring-\[\#FF6A00\]\/25 {
  --tw-ring-color: rgb(255 106 0 / 0.25);
}
.ring-\[\#FFB07A\]\/50 {
  --tw-ring-color: rgb(255 176 122 / 0.5);
}
.ring-emerald-400\/30 {
  --tw-ring-color: rgb(52 211 153 / 0.3);
}
.ring-sanad-blue\/30 {
  --tw-ring-color: rgb(18 48 122 / 0.3);
}
.ring-sanad-gold\/25 {
  --tw-ring-color: rgb(255 106 0 / 0.25);
}
.ring-transparent {
  --tw-ring-color: transparent;
}
.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.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);
}
.blur-2xl {
  --tw-blur: blur(40px);
  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);
}
.blur-3xl {
  --tw-blur: blur(64px);
  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);
}
.blur-\[6px\] {
  --tw-blur: blur(6px);
  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);
}
.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  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);
}
.drop-shadow-\[0_1px_8px_rgba\(34\2c 45\2c 82\2c 0\.7\)\] {
  --tw-drop-shadow: drop-shadow(0 1px 8px rgba(34,45,82,0.7));
  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);
}
.drop-shadow-\[0_2px_12px_rgba\(34\2c 45\2c 82\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 2px 12px rgba(34,45,82,0.8));
  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);
}
.drop-shadow-lg {
  --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
  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);
}
.drop-shadow-sm {
  --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
  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);
  -webkit-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: 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);
  -webkit-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: 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-\[3px\] {
  --tw-backdrop-blur: blur(3px);
  -webkit-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: 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);
  -webkit-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: 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);
  -webkit-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: 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-xl {
  --tw-backdrop-blur: blur(24px);
  -webkit-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: 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: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-1000 {
  transition-duration: 1000ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-700 {
  transition-duration: 700ms;
}
.duration-\[400ms\] {
  transition-duration: 400ms;
}
.ease-\[cubic-bezier\(0\.2\2c 0\.9\2c 0\.25\2c 1\)\] {
  transition-timing-function: cubic-bezier(0.2,0.9,0.25,1);
}
.ease-linear {
  transition-timing-function: linear;
}
.will-change-transform {
  will-change: transform;
}
.perspective-1000 {
    perspective: 1000px;
  }
.\[--conic-position\:from_290deg_at_center_top\] {
  --conic-position: from 290deg at center top;
}
.\[--conic-position\:from_70deg_at_center_top\] {
  --conic-position: from 70deg at center top;
}
.\[mask-image\:linear-gradient\(to_left\2c white\2c transparent\)\] {
  mask-image: linear-gradient(to left,white,transparent);
}
.\[mask-image\:linear-gradient\(to_right\2c white\2c transparent\)\] {
  mask-image: linear-gradient(to right,white,transparent);
}
.\[mask-image\:linear-gradient\(to_top\2c white\2c transparent\)\] {
  mask-image: linear-gradient(to top,white,transparent);
}
.\[text-shadow\:0_1px_12px_rgba\(0\2c 0\2c 0\2c 0\.65\)\] {
  text-shadow: 0 1px 12px rgba(0,0,0,0.65);
}
.\[transform-style\:preserve-3d\] {
  transform-style: preserve-3d;
}

:root {
  /* LexHub — bleu royal + aura */
  --ink: #0a1228;
  --ink-soft: #4a5568;
  --parchment: #eef1f8;
  --card: #fbfcfe;
  --gold: #ff6a00; /* TEST orange vif */
  --gold-soft: #ffb07a;
  --gold-deep: #e85a00;
  --emerald: #1f6f54;
  --emerald-soft: #57a88c;
  --royal-950: #071033;
  --royal-900: #0b1a4d;
  --royal-800: #12307a;
  --royal-700: #1b3f9c;
  --royal-glow: #4c7cff;
  --royal-glow-soft: rgba(76, 124, 255, 0.28);
  --line: rgba(10, 18, 40, 0.09);
  --shadow: 0 20px 60px -20px rgba(7, 16, 51, 0.32);
  --shadow-sm: 0 8px 24px -12px rgba(11, 26, 77, 0.2);
  --r-lg: 28px;
  --r-md: 18px;
  --r-sm: 12px;

  --background: var(--parchment);
  --foreground: var(--ink);
  --sanad-navy: var(--ink);
  --sanad-ivory: var(--card);
  --sanad-gold: var(--gold);
  --sanad-stone: #dce4f5;
  --sanad-cream: var(--parchment);
  --sanad-logo: url("/logo-lexhub-cube.png");
  --hero-speed: 3.5s;
  --font-inter: "Inter", system-ui, sans-serif;
  --font-fraunces: "Fraunces", Georgia, serif;
  --font-peignot: var(--font-fraunces);
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--ink);
  background: var(--parchment);
  font-family: var(--font-inter), "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  min-height: 100vh;
  position: relative;
}

h1,
h2,
h3,
.font-display,
.font-serif {
  font-family: var(--font-fraunces), var(--font-cairo), Georgia, serif;
  letter-spacing: 0.01em;
  font-weight: 500;
}

[dir="rtl"] body {
  font-family: var(--font-cairo), "IBM Plex Sans Arabic", Tahoma, sans-serif;
}

/* Texte arabe — direction explicite + isolation bidi (évite « .النص » après dates/chiffres) */
.arabic-text,
textarea.arabic-text,
.arabic-text textarea {
  direction: rtl;
  unicode-bidi: isolate;
  text-align: right;
  font-family: var(--font-cairo), "IBM Plex Sans Arabic", Tahoma, sans-serif;
}

textarea.arabic-text,
.arabic-text--editable {
  unicode-bidi: plaintext;
}

.latin-text,
textarea.latin-text {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: left;
}

[dir="ltr"] .arabic-text,
[dir="ltr"] textarea.arabic-text {
  direction: rtl;
  unicode-bidi: isolate;
}

[dir="rtl"] .latin-text {
  direction: ltr;
  unicode-bidi: isolate;
}

[dir="rtl"] .hero-parallax-overlay {
  background: linear-gradient(
    -105deg,
    rgba(14, 21, 38, 0.94) 0%,
    rgba(14, 21, 38, 0.78) 45%,
    rgba(14, 21, 38, 0.25) 70%,
    transparent 100%
  );
}

/* ─── Ambient blobs (refonte) ─── */
.sanad-blobs {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.sanad-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.35;
  mix-blend-mode: multiply;
  animation: blob-drift 26s ease-in-out infinite;
}

.sanad-blob-1 {
  width: 520px;
  height: 520px;
  top: -140px;
  left: -120px;
  background: radial-gradient(circle at 30% 30%, var(--gold-soft), transparent 70%);
  animation-duration: 26s;
}

.sanad-blob-2 {
  width: 460px;
  height: 460px;
  bottom: -160px;
  right: -100px;
  background: radial-gradient(circle at 60% 40%, var(--emerald-soft), transparent 70%);
  animation-duration: 30s;
  animation-delay: -6s;
}

.sanad-blob-3 {
  width: 340px;
  height: 340px;
  top: 40%;
  left: 60%;
  background: radial-gradient(circle at 50% 50%, var(--gold), transparent 70%);
  opacity: 0.18;
  animation-duration: 34s;
  animation-delay: -12s;
}

@keyframes blob-drift {
  0% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(40px, -30px) scale(1.08);
  }
  66% {
    transform: translate(-30px, 20px) scale(0.95);
  }
  100% {
    transform: translate(0, 0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sanad-blob {
    animation: none;
  }
}

/* ─── Glass / cards ─── */
.glass-badge {
  border-radius: 9999px;
  border-width: 1px;
  border-color: rgb(255 106 0 / 0.4);
  background-color: rgb(10 18 40 / 0.3);
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 106 0 / var(--tw-text-opacity, 1));
  --tw-backdrop-blur: blur(12px);
  -webkit-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: 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);
}

.glass-btn {
  border-radius: 0.75rem;
  border-width: 1px;
  border-color: rgb(255 106 0 / 0.3);
  background-color: rgb(255 255 255 / 0.4);
  --tw-backdrop-blur: blur(12px);
  -webkit-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: 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-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.glass-card-light {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(16px);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
  transition: transform 0.4s cubic-bezier(0.2, 0.9, 0.25, 1), box-shadow 0.4s;
}

.glass-card-light:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.glass-card-dark {
  border-radius: 28px;
  border-width: 1px;
  border-color: rgb(255 106 0 / 0.25);
  background-color: rgb(10 18 40 / 0.9);
  --tw-text-opacity: 1;
  color: rgb(251 252 254 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 20px 60px -20px rgba(7,16,51,0.32);
  --tw-shadow-colored: 0 20px 60px -20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-backdrop-blur: blur(24px);
  -webkit-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: 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);
}

.sanad-glass-card {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(16px);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
}

.btn-3d {
  transform-style: preserve-3d;
  transition: transform 0.2s ease, box-shadow 0.3s ease;
}

.btn-3d:active {
  transform: translateY(2px) scale(0.98);
}

.hero-gradient-overlay {
  background: linear-gradient(
    105deg,
    rgba(14, 21, 38, 0.94) 0%,
    rgba(14, 21, 38, 0.78) 40%,
    rgba(14, 21, 38, 0.35) 70%,
    transparent 100%
  );
}

@keyframes ai-blink {
  0%,
  50% {
    opacity: 1;
  }
  51%,
  100% {
    opacity: 0;
  }
}

.ai-cursor {
  animation: ai-blink 1s step-end infinite;
}

.hero-grid-overlay {
  background-image:
    linear-gradient(rgba(199, 151, 63, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(199, 151, 63, 0.05) 1px, transparent 1px);
  background-size: 60px 60px;
}

.sanad-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
  animation: orb-float 8s ease-in-out infinite;
}

.sanad-orb-1 {
  width: 400px;
  height: 400px;
  background: rgba(232, 201, 124, 0.35);
  top: -10%;
  left: -5%;
}

.sanad-orb-2 {
  width: 350px;
  height: 350px;
  background: rgba(87, 168, 140, 0.28);
  bottom: 10%;
  right: -5%;
  animation-delay: -3s;
}

.sanad-orb-3 {
  width: 250px;
  height: 250px;
  background: rgba(199, 151, 63, 0.2);
  top: 40%;
  left: 50%;
  animation-delay: -5s;
}

.sanad-section-glow {
  animation: pulse-glow 4s ease-in-out infinite;
}

.sanad-logo-glow {
  isolation: isolate;
}

.sanad-logo-glow::before {
  content: "";
  position: absolute;
  inset: -30% -18%;
  border-radius: 999px;
  background: radial-gradient(
    ellipse at center,
    rgba(232, 201, 124, 0.55) 0%,
    rgba(199, 151, 63, 0.22) 42%,
    transparent 72%
  );
  filter: blur(10px);
  z-index: 0;
  pointer-events: none;
  animation: logo-glow-pulse 3.2s ease-in-out infinite;
}

.sanad-logo-glow img {
  filter: drop-shadow(0 0 10px rgba(199, 151, 63, 0.55))
    drop-shadow(0 0 22px rgba(232, 201, 124, 0.35));
}

@keyframes logo-glow-pulse {
  0%,
  100% {
    opacity: 0.7;
    transform: scale(0.96);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
}

@keyframes pulse-glow {
  0%,
  100% {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
}

@keyframes orb-float {
  0%,
  100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(12px, -16px);
  }
}

.hero-parallax-section {
  position: relative;
  height: 100vh;
  min-height: 650px;
  width: 100%;
  background-color: var(--ink);
  overflow: hidden;
}

.hero-parallax-overlay {
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
}

.hero-parallax-overlay > div {
  pointer-events: auto;
}

.auth-hero-side {
  background: linear-gradient(135deg, #071033 0%, #12307a 50%, #0a1228 100%);
}

.auth-card-enter {
  animation: auth-card-in 0.55s ease-out both;
}

@keyframes auth-card-in {
  from {
    opacity: 0;
    transform: translateY(16px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.auth-fade-in {
  animation: auth-fade-in 0.7s ease-out both;
}

@keyframes auth-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Section titles (refonte) */
/* section-title / section-sub : définis dans sanad-ui.css (valeurs exactes HTML) */

/* ─── Voice orb + wave (Plaidoirie) ─── */
.sanad-voice-orb .orb-blob {
  position: absolute;
  border-radius: 50%;
  animation: orb-morph 6s ease-in-out infinite;
  opacity: 0.9;
}
.sanad-voice-orb.is-listening .orb-blob {
  animation-duration: 1.8s;
}
.orb-blob-1 {
  width: 110px;
  height: 110px;
  top: 20px;
  left: 20px;
  background: linear-gradient(155deg, var(--gold-soft), var(--gold));
}
.orb-blob-2 {
  width: 70px;
  height: 70px;
  top: 0;
  left: 60px;
  background: linear-gradient(155deg, var(--emerald-soft), var(--emerald));
  animation-delay: -2s;
}
.orb-blob-3 {
  width: 60px;
  height: 60px;
  top: 70px;
  left: 0;
  background: var(--ink);
  opacity: 0.85;
  animation-delay: -4s;
}
@keyframes orb-morph {
  0%,
  100% {
    border-radius: 42% 58% 65% 35% / 45% 45% 55% 55%;
    transform: translate(0, 0) scale(1);
  }
  33% {
    border-radius: 65% 35% 40% 60% / 60% 40% 60% 40%;
    transform: translate(6px, -6px) scale(1.05);
  }
  66% {
    border-radius: 35% 65% 55% 45% / 40% 65% 35% 60%;
    transform: translate(-6px, 4px) scale(0.96);
  }
}

.sanad-voice-wave .wave-bar {
  width: 3px;
  border-radius: 3px;
  background: var(--gold);
  display: block;
  transform-origin: center;
  animation: wave-bar 1.1s ease-in-out infinite;
}
.sanad-voice-wave .wave-bar:nth-child(2n) {
  background: var(--emerald);
  animation-delay: 0.12s;
}
.sanad-voice-wave .wave-bar:nth-child(3n) {
  animation-delay: 0.24s;
}
.sanad-voice-wave .wave-bar:nth-child(1) {
  height: 8px;
}
.sanad-voice-wave .wave-bar:nth-child(2) {
  height: 16px;
}
.sanad-voice-wave .wave-bar:nth-child(3) {
  height: 22px;
}
.sanad-voice-wave .wave-bar:nth-child(4) {
  height: 12px;
}
.sanad-voice-wave .wave-bar:nth-child(5) {
  height: 20px;
}
.sanad-voice-wave .wave-bar:nth-child(6) {
  height: 9px;
}
.sanad-voice-wave .wave-bar:nth-child(7) {
  height: 18px;
}
.sanad-voice-wave .wave-bar:nth-child(8) {
  height: 14px;
}
.sanad-voice-wave .wave-bar:nth-child(9) {
  height: 22px;
}
.sanad-voice-wave .wave-bar:nth-child(10) {
  height: 10px;
}
.sanad-voice-wave .wave-bar:nth-child(11) {
  height: 17px;
}
.sanad-voice-wave .wave-bar:nth-child(12) {
  height: 8px;
}
@keyframes wave-bar {
  0%,
  100% {
    transform: scaleY(0.5);
  }
  50% {
    transform: scaleY(1.3);
  }
}

@keyframes status-shimmer {
  0% {
    left: -40%;
  }
  100% {
    left: 120%;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modal-rise {
  from {
    opacity: 0;
    transform: translateY(24px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sanad-voice-orb .orb-blob,
  .sanad-voice-wave .wave-bar {
    animation: none !important;
  }
}


/* LexHub aliases (tokens historiques conservés pour compat) */
:root {
  --lexhub-navy: var(--sanad-navy);
  --lexhub-ivory: var(--sanad-ivory);
  --lexhub-gold: var(--sanad-gold);
  --lexhub-stone: var(--sanad-stone);
  --lexhub-cream: var(--sanad-cream);
  --lexhub-logo: var(--sanad-logo);
}
.placeholder\:text-\[\#8b93b0\]::placeholder {
  --tw-text-opacity: 1;
  color: rgb(139 147 176 / var(--tw-text-opacity, 1));
}
.placeholder\:text-sanad-muted::placeholder {
  --tw-text-opacity: 1;
  color: rgb(74 85 104 / var(--tw-text-opacity, 1));
}
.placeholder\:text-slate-400::placeholder {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.first\:mt-0:first-child {
  margin-top: 0px;
}
.first\:pt-0:first-child {
  padding-top: 0px;
}
.last\:border-0:last-child {
  border-width: 0px;
}
.last\:pb-0:last-child {
  padding-bottom: 0px;
}
.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-1:hover {
  --tw-translate-y: -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));
}
.hover\:border-\[\#1B3F9C\]\/30:hover {
  border-color: rgb(27 63 156 / 0.3);
}
.hover\:border-\[\#1B3F9C\]\/40:hover {
  border-color: rgb(27 63 156 / 0.4);
}
.hover\:border-\[rgba\(27\2c 63\2c 156\2c 0\.25\)\]:hover {
  border-color: rgba(27,63,156,0.25);
}
.hover\:border-\[rgba\(27\2c 63\2c 156\2c 0\.35\)\]:hover {
  border-color: rgba(27,63,156,0.35);
}
.hover\:border-\[rgba\(76\2c 124\2c 255\2c 0\.4\)\]:hover {
  border-color: rgba(76,124,255,0.4);
}
.hover\:border-\[rgba\(76\2c 124\2c 255\2c 0\.45\)\]:hover {
  border-color: rgba(76,124,255,0.45);
}
.hover\:border-\[var\(--royal-glow\)\]:hover {
  border-color: var(--royal-glow);
}
.hover\:border-sanad-goldSoft:hover {
  --tw-border-opacity: 1;
  border-color: rgb(255 176 122 / var(--tw-border-opacity, 1));
}
.hover\:bg-\[\#12307A\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(18 48 122 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#152f75\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(21 47 117 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#1B3F9C\]\/5:hover {
  background-color: rgb(27 63 156 / 0.05);
}
.hover\:bg-\[\#E85A00\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(232 90 0 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#FF6A00\]\/15:hover {
  background-color: rgb(255 106 0 / 0.15);
}
.hover\:bg-\[\#ff9a4a\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 154 74 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[rgba\(180\2c 60\2c 60\2c 0\.1\)\]:hover {
  background-color: rgba(180,60,60,0.1);
}
.hover\:bg-\[rgba\(76\2c 124\2c 255\2c 0\.06\)\]:hover {
  background-color: rgba(76,124,255,0.06);
}
.hover\:bg-\[rgba\(76\2c 124\2c 255\2c 0\.08\)\]:hover {
  background-color: rgba(76,124,255,0.08);
}
.hover\:bg-\[rgba\(76\2c 124\2c 255\2c 0\.12\)\]:hover {
  background-color: rgba(76,124,255,0.12);
}
.hover\:bg-\[rgba\(76\2c 124\2c 255\2c 0\.15\)\]:hover {
  background-color: rgba(76,124,255,0.15);
}
.hover\:bg-\[var\(--lr-royal-800\)\]:hover {
  background-color: var(--lr-royal-800);
}
.hover\:bg-black\/5:hover {
  background-color: rgb(0 0 0 / 0.05);
}
.hover\:bg-red-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}
.hover\:bg-sanad-blue\/90:hover {
  background-color: rgb(18 48 122 / 0.9);
}
.hover\:bg-sanad-gold\/90:hover {
  background-color: rgb(255 106 0 / 0.9);
}
.hover\:bg-sanad-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(238 241 248 / var(--tw-bg-opacity, 1));
}
.hover\:bg-sanad-navy\/5:hover {
  background-color: rgb(10 18 40 / 0.05);
}
.hover\:bg-sanad-navy\/90:hover {
  background-color: rgb(10 18 40 / 0.9);
}
.hover\:bg-slate-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-50\/70:hover {
  background-color: rgb(248 250 252 / 0.7);
}
.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}
.hover\:bg-white\/70:hover {
  background-color: rgb(255 255 255 / 0.7);
}
.hover\:text-\[\#A8C0FF\]:hover {
  --tw-text-opacity: 1;
  color: rgb(168 192 255 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#FFE6C2\]:hover {
  --tw-text-opacity: 1;
  color: rgb(255 230 194 / var(--tw-text-opacity, 1));
}
.hover\:text-\[var\(--danger\2c \#b43c3c\)\]:hover {
  color: var(--danger,#b43c3c);
}
.hover\:text-\[var\(--ink\)\]:hover {
  color: var(--ink);
}
.hover\:text-red-500:hover {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.hover\:text-red-600:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.hover\:text-sanad-gold:hover {
  --tw-text-opacity: 1;
  color: rgb(255 106 0 / var(--tw-text-opacity, 1));
}
.hover\:text-sanad-ink:hover {
  --tw-text-opacity: 1;
  color: rgb(10 18 40 / var(--tw-text-opacity, 1));
}
.hover\:text-sanad-navy:hover {
  --tw-text-opacity: 1;
  color: rgb(10 18 40 / var(--tw-text-opacity, 1));
}
.hover\:text-sanad-slate:hover {
  --tw-text-opacity: 1;
  color: rgb(10 18 40 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-700:hover {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-800:hover {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-900:hover {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / 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\:opacity-90:hover {
  opacity: 0.9;
}
.hover\:opacity-95:hover {
  opacity: 0.95;
}
.hover\:shadow-\[0_0_40px_rgba\(76\2c 124\2c 255\2c 0\.12\)\]:hover {
  --tw-shadow: 0 0 40px rgba(76,124,255,0.12);
  --tw-shadow-colored: 0 0 40px 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_16px_36px_rgba\(11\2c 26\2c 77\2c 0\.28\)\]:hover {
  --tw-shadow: 0 16px 36px rgba(11,26,77,0.28);
  --tw-shadow-colored: 0 16px 36px 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_24px_48px_rgba\(11\2c 26\2c 77\2c 0\.12\)\]:hover {
  --tw-shadow: 0 24px 48px rgba(11,26,77,0.12);
  --tw-shadow-colored: 0 24px 48px 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_30px_60px_rgba\(7\2c 16\2c 51\2c 0\.45\)\]:hover {
  --tw-shadow: 0 30px 60px rgba(7,16,51,0.45);
  --tw-shadow-colored: 0 30px 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);
}
.hover\:shadow-luxe:hover {
  --tw-shadow: 0 20px 60px -20px rgba(7,16,51,0.32);
  --tw-shadow-colored: 0 20px 60px -20px 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-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -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);
}
.hover\:shadow-sm:hover {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 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);
}
.focus\:border-\[\#3b5cde\]:focus {
  --tw-border-opacity: 1;
  border-color: rgb(59 92 222 / var(--tw-border-opacity, 1));
}
.focus\:border-\[var\(--royal-700\)\]:focus {
  border-color: var(--royal-700);
}
.focus\:border-sanad-blue:focus {
  --tw-border-opacity: 1;
  border-color: rgb(18 48 122 / var(--tw-border-opacity, 1));
}
.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-\[\#FF6A00\]\/40:focus {
  --tw-ring-color: rgb(255 106 0 / 0.4);
}
.focus\:ring-sanad-gold\/40:focus {
  --tw-ring-color: rgb(255 106 0 / 0.4);
}
.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.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-red-500:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-sanad-blue:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(18 48 122 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-sanad-gold:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 106 0 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-sanad-navy\/30:focus-visible {
  --tw-ring-color: rgb(10 18 40 / 0.3);
}
.focus-visible\:ring-offset-1:focus-visible {
  --tw-ring-offset-width: 1px;
}
.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}
.active\:scale-\[0\.98\]:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  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));
}
.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.disabled\:opacity-50:disabled {
  opacity: 0.5;
}
.group\/bento:hover .group-hover\/bento\: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\:bg-sanad-gold\/15 {
  background-color: rgb(255 106 0 / 0.15);
}
.group:hover .group-hover\:text-sanad-gold {
  --tw-text-opacity: 1;
  color: rgb(255 106 0 / var(--tw-text-opacity, 1));
}
@media (prefers-reduced-motion: reduce) {

  .motion-reduce\:animate-none {
    animation: none;
  }
}
@media not all and (min-width: 768px) {

  .max-md\:hidden {
    display: none;
  }

  .max-md\:w-full {
    width: 100%;
  }

  .max-md\:justify-center {
    justify-content: center;
  }

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

  .max-md\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }
}
@media (min-width: 640px) {

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

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

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

  .sm\:mb-3 {
    margin-bottom: 0.75rem;
  }

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

  .sm\:mt-32 {
    margin-top: 8rem;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:h-11 {
    height: 2.75rem;
  }

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

  .sm\:h-28 {
    height: 7rem;
  }

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

  .sm\:max-h-\[88vh\] {
    max-height: 88vh;
  }

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

  .sm\:w-11 {
    width: 2.75rem;
  }

  .sm\:w-28 {
    width: 7rem;
  }

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

  .sm\:min-w-\[8rem\] {
    min-width: 8rem;
  }

  .sm\:scale-100 {
    --tw-scale-x: 1;
    --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));
  }

  .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\:flex-row {
    flex-direction: row;
  }

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

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

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

  .sm\:justify-end {
    justify-content: flex-end;
  }

  .sm\:justify-center {
    justify-content: center;
  }

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

  .sm\:gap-2 {
    gap: 0.5rem;
  }

  .sm\:gap-2\.5 {
    gap: 0.625rem;
  }

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

  .sm\: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));
  }

  .sm\:whitespace-nowrap {
    white-space: nowrap;
  }

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

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

  .sm\:p-4 {
    padding: 1rem;
  }

  .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-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

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

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

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

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

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

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

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

  .sm\:pt-32 {
    padding-top: 8rem;
  }

  .sm\:text-left {
    text-align: left;
  }

  .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-\[13px\] {
    font-size: 13px;
  }

  .sm\:text-\[16px\] {
    font-size: 16px;
  }

  .sm\:text-\[23px\] {
    font-size: 23px;
  }

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

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

  .sm\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }
}
@media (min-width: 768px) {

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

  .md\:block {
    display: block;
  }

  .md\:auto-rows-\[17rem\] {
    grid-auto-rows: 17rem;
  }

  .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\:flex-row {
    flex-direction: row;
  }

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

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

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

  .md\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
}
@media (min-width: 1024px) {

  .lg\:sticky {
    position: sticky;
  }

  .lg\:top-20 {
    top: 5rem;
  }

  .lg\:order-1 {
    order: 1;
  }

  .lg\:order-2 {
    order: 2;
  }

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

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

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

  .lg\:my-0 {
    margin-top: 0px;
    margin-bottom: 0px;
  }

  .lg\:mr-auto {
    margin-right: auto;
  }

  .lg\:mt-8 {
    margin-top: 2rem;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:h-\[230px\] {
    height: 230px;
  }

  .lg\:min-h-\[460px\] {
    min-height: 460px;
  }

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

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

  .lg\:w-\[45\%\] {
    width: 45%;
  }

  .lg\:max-w-\[46\%\] {
    max-width: 46%;
  }

  .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-\[1\.05fr_0\.95fr\] {
    grid-template-columns: 1.05fr 0.95fr;
  }

  .lg\:grid-cols-\[1\.1fr_0\.9fr\] {
    grid-template-columns: 1.1fr 0.9fr;
  }

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

  .lg\:flex-col {
    flex-direction: column;
  }

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

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

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

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

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

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

  .lg\:border-e {
    border-inline-end-width: 1px;
  }

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

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

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

  .lg\:text-left {
    text-align: left;
  }

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

  .lg\:text-start {
    text-align: start;
  }

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

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

  .lg\:text-\[2\.15rem\] {
    font-size: 2.15rem;
  }

  .lg\:leading-tight {
    line-height: 1.25;
  }
}
@media (min-width: 1280px) {

  .xl\:flex {
    display: flex;
  }

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

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

  .xl\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
.group\/bento:hover .rtl\:group-hover\/bento\:-translate-x-1:where([dir="rtl"], [dir="rtl"] *) {
  --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));
}
.\[\&\>\*\]\:\[transform-style\:preserve-3d\]>* {
  transform-style: preserve-3d;
}
@media (max-width: 380px) {

  .max-\[380px\]\:\[\&_\.sanad-wordmark\]\:hidden .sanad-wordmark {
    display: none;
  }
}

/*!*********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/styles/sanad-ui.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************/
:root{
    --ink:#0A1228;
    --ink-soft:#4A5568;
    --parchment:#EEF1F8;
    --card:#FBFCFE;
    --gold:#FF6A00; /* TEST orange vif — revert → #FF6A00 */
    --gold-soft:#FFB07A;
    --gold-deep:#E85A00;
    --emerald:#1F6F54;
    --emerald-soft:#57A88C;
    --royal-950:#071033;
    --royal-900:#0B1A4D;
    --royal-800:#12307A;
    --royal-700:#1B3F9C;
    --royal-glow:#4C7CFF;
    --royal-glow-soft: rgba(76,124,255,0.28);
    --line: rgba(10,18,40,0.09);
    --shadow: 0 20px 60px -20px rgba(7,16,51,0.32);
    --shadow-sm: 0 8px 24px -12px rgba(11,26,77,0.2);
    --r-lg: 28px;
    --r-md: 18px;
    --r-sm: 12px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html,body{height:100%;}
  body{
    font-family: var(--font-inter), 'Inter', sans-serif;
    background: var(--parchment);
    color: var(--ink);
    /* clip (pas hidden) : évite de casser position:sticky sur la topbar */
    overflow-x: clip;
    min-height:100vh;
    position:relative;
  }
  .section-title,
  .topbar .greeting b,
  .dossier-client,
  .drop-zone h4,
  .modal-title,
  .day-chip .num,
  .dock-brand,
  .dock-avatar {
    font-family: var(--font-fraunces), 'Fraunces', serif;
  }
  .dossier-ref,
  .tl-time,
  .form-field .ref-hint,
  .form-field .hint {
    font-family: var(--font-plex-mono), 'IBM Plex Mono', monospace;
  }

  /* ---------- Ambient fluid background ---------- */
  .blobs{
    position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none;
  }
  .blob{
    position:absolute; border-radius:50%;
    filter: blur(60px);
    opacity:0.35;
    mix-blend-mode: multiply;
    animation: drift 22s ease-in-out infinite;
  }
  .blob.b1{ width:520px; height:520px; top:-140px; left:-120px; background: radial-gradient(circle at 30% 30%, rgba(76,124,255,0.55), transparent 70%); animation-duration:26s; opacity:0.42; mix-blend-mode: normal;}
  .blob.b2{ width:460px; height:460px; bottom:-160px; right:-100px; background: radial-gradient(circle at 60% 40%, rgba(27,63,156,0.5), transparent 70%); animation-duration:30s; animation-delay:-6s; opacity:0.38; mix-blend-mode: normal;}
  .blob.b3{ width:340px; height:340px; top:40%; left:60%; background: radial-gradient(circle at 50% 50%, rgba(255,106,0,0.28), transparent 70%); opacity:0.22; animation-duration:34s; animation-delay:-12s; mix-blend-mode: normal;}
  @keyframes drift{
    0%{ transform: translate(0,0) scale(1); }
    33%{ transform: translate(40px,-30px) scale(1.08); }
    66%{ transform: translate(-30px,20px) scale(0.95); }
    100%{ transform: translate(0,0) scale(1); }
  }
  @media (prefers-reduced-motion: reduce){
    .blob{ animation: none; }
  }

  /* ---------- Shell layout ---------- */
  .shell{
    position:relative; z-index:1;
    display:grid;
    grid-template-columns: 204px 1fr;
    min-height:100vh;
    overflow: visible;
  }

  /* ---------- Dock nav (même pose que l’admin plateforme : labels visibles) ---------- */
  .dock{
    position:sticky; top:0; height:100vh;
    width:204px;
    display:flex; flex-direction:column; align-items:stretch;
    padding:20px 12px 16px;
    gap:12px;
    overflow: visible;
    z-index: 40;
  }
  .dock-brand{
    width:48px; height:48px; border-radius:14px;
    background: linear-gradient(155deg, var(--royal-700), var(--royal-900) 55%, var(--royal-950));
    display:flex; align-items:center; justify-content:center;
    box-shadow: 0 0 0 1px rgba(76,124,255,0.35), 0 10px 28px rgba(11,26,77,0.35);
    margin-inline-start:6px;
    margin-bottom:4px;
    font-family:'Fraunces', serif; font-weight:600; color:#fff; font-size:20px;
  }
  .dock-nav{
    position:relative;
    display:flex; flex-direction:column; gap:6px;
    background: rgba(251,252,254,0.88);
    backdrop-filter: blur(18px) saturate(1.2);
    -webkit-backdrop-filter: blur(18px) saturate(1.2);
    border: 1px solid rgba(11, 26, 77, 0.12);
    border-radius: 22px;
    padding:8px;
    box-shadow: 0 16px 40px -24px rgba(10, 18, 40, 0.45);
  }
  .dock-nav::before{ display:none; }
  .dock-item{
    position:relative;
    width:100%; min-height:48px; height:auto;
    border-radius:12px;
    display:flex; align-items:center; justify-content:flex-start;
    gap:10px;
    padding:6px 10px;
    cursor:pointer;
    color: var(--ink-soft);
    text-decoration:none;
    background:transparent;
    border:0;
    font:inherit;
    text-align:start;
    transition: color .2s ease, background .2s ease, transform .2s ease;
  }
  .dock-item svg{ width:18px; height:18px; flex-shrink:0; transition: transform .25s ease; position:relative; z-index:2;}
  .dock-item .pill{
    position:absolute; inset:0; border-radius:12px;
    background: linear-gradient(160deg, rgba(76,124,255,0.22), rgba(11,26,77,0.06));
    box-shadow: inset 0 0 0 1px rgba(76,124,255,0.28);
    transform: none; opacity:0;
    transition: opacity .25s ease;
  }
  .dock-item.active .pill{ opacity:1; animation:none; }
  .dock-item.active{ color: var(--ink); }
  .dock-item.active svg{ transform: scale(1.05); }
  .dock-item:hover:not(.active){ color: var(--ink); background: rgba(11,26,77,0.05); transform: none; }
  .dock-item:active{ transform: none; }
  .dock-item::after{ display:none; }
  .dock-item__text{
    display:flex; flex-direction:column; gap:1px; min-width:0; position:relative; z-index:2;
  }
  .dock-item__label{
    font-size:12px; font-weight:700; line-height:1.2;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .dock-item__hint{
    font-size:10px; font-weight:500; color:#8A96AB; line-height:1.2;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .dock-item.active .dock-item__hint, .dock-item:hover .dock-item__hint{ color:#6B7A90; }
  .dock-item--logout{ margin-top:auto; color:#9A3412; }
  .dock-item--logout:hover{ background: rgba(220,38,38,0.1); color:#B91C1C; }
  @media (max-width: 720px){
    .shell{ grid-template-columns: 72px 1fr; }
    .dock{ width:72px; padding-inline:8px; }
    .dock-item__text{ display:none; }
    .dock-item{ justify-content:center; padding:0; width:44px; min-height:44px; margin-inline:auto; }
    .dock-brand{ align-self:center; margin-inline:0; }
  }
  @keyframes dock-halo-pulse{
    0%,100%{ box-shadow: 0 0 0 0 rgba(76,124,255,0.45), 0 0 18px rgba(76,124,255,0.35); }
    50%{ box-shadow: 0 0 0 10px rgba(76,124,255,0), 0 0 28px rgba(76,124,255,0.55); }
  }
  .dock-foot{
    margin-top:auto; display:flex; flex-direction:column; align-items:center; gap:10px;
    position:relative; z-index:30; overflow:visible;
  }
  .dock{ overflow:visible; }
  .dock-avatar{
    width:40px; height:40px; border-radius:50%;
    background: linear-gradient(155deg, var(--royal-700), var(--royal-900));
    color:#fff; display:flex; align-items:center; justify-content:center;
    font-size:13px; font-weight:600; font-family:'Fraunces',serif;
    box-shadow: var(--shadow-sm);
  }

  /* ---------- Main ---------- */
  .main{
    padding: 0;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    min-width: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
  }
  .main-scroll{
    flex: 1 1 auto;
    padding: 22px 36px 60px;
    width: 100%;
    box-sizing: border-box;
    min-width: 0;
  }
  .topbar{
    position: sticky;
    top: 0;
    z-index: 45;
    flex-shrink: 0;
    display:flex; align-items:center; justify-content:space-between;
    margin: 0;
    width: 100%;
    padding: 12px 28px;
    border-radius: 0;
    background: rgba(244, 246, 250, 0.94);
    backdrop-filter: blur(14px) saturate(1.15);
    -webkit-backdrop-filter: blur(14px) saturate(1.15);
    border: none;
    border-bottom: 1px solid rgba(11, 26, 77, 0.1);
    box-shadow: 0 8px 24px -18px rgba(11,26,77,0.28);
    overflow: visible;
  }
  .topbar::before{
    content:"";
    position:absolute; inset:0; pointer-events:none; z-index:0;
    background:
      radial-gradient(ellipse 70% 120% at 8% 50%, rgba(76,124,255,0.12), transparent 55%),
      radial-gradient(ellipse 50% 100% at 92% 40%, rgba(27,63,156,0.08), transparent 60%);
    animation: royal-nav-pulse 6s ease-in-out infinite;
  }
  .topbar > *{ position:relative; z-index:1; }
  @keyframes royal-nav-pulse{
    0%,100%{ opacity:0.7; }
    50%{ opacity:1; }
  }
  @media (prefers-reduced-motion: reduce){
    .dock-nav::before, .topbar::before{ animation:none; }
  }
  .topbar .greeting{ font-size:13px; color:var(--ink-soft); letter-spacing:.04em; text-transform:uppercase; font-weight:600;}
  .topbar .greeting b{ display:block; font-family:'Fraunces',serif; font-weight:500; font-size:26px; color:var(--ink); text-transform:none; letter-spacing:0; margin-top:2px;}
  .topbar-identity{
    display:flex; flex-direction:column; gap:6px; min-width:0;
  }
  .topbar-start{
    display:flex; align-items:center; gap:12px; min-width:0; flex:1;
  }
  /* Desktop : logo déjà dans le dock — pas de doublon */
  .topbar-lexhub{ display:none; }
  .topbar-lexhub__img{
    width:36px; height:36px; object-fit:contain; border-radius:10px;
    display:block; flex-shrink: 0;
  }
  .topbar-lexhub__meta{
    display: flex; flex-direction: column; gap: 1px; min-width: 0;
    justify-content: center;
  }
  .topbar-lexhub__word{
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: -0.02em;
    color: var(--ink);
    line-height: 1.1;
  }
  .topbar-lexhub__user{
    display: none;
    font-size: 11px;
    font-weight: 600;
    color: var(--ink-soft);
    line-height: 1.2;
    max-width: 42vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .topbar-workspace-role{
    font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    color:var(--royal-700, #1a3a6e);
    background:rgba(255,106,0,0.1);
    border:1px solid rgba(255,106,0,0.22);
    border-radius:999px;
    padding:2px 10px;
    width:fit-content;
  }
  .topbar-cabinet{
    display:inline-flex; align-items:center; gap:8px;
    max-width:min(280px, 42vw);
    padding:4px 10px 4px 4px;
    border-radius:999px;
    background: rgba(255,255,255,0.55);
    border:1px solid rgba(14,21,38,0.06);
  }
  .topbar-cabinet__logo{
    width:22px; height:22px; border-radius:7px; object-fit:cover;
  }
  .topbar-cabinet__mark{
    width:22px; height:22px; border-radius:7px;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:11px; font-weight:700; color:#fff;
    background: var(--royal-800, #0a1742);
  }
  .topbar-cabinet__name{
    font-size:12px; font-weight:600; color:var(--ink);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .lang-toggle{
    display:flex; align-items:center; gap:14px;
  }
  .switch{
    display:flex; background:rgba(255,255,255,0.7); border:1px solid var(--line); border-radius:999px; padding:4px; backdrop-filter: blur(12px);
  }
  .switch span,
  .switch button{
    border:0; background:transparent;
    padding:6px 14px; font-size:12.5px; border-radius:999px; cursor:pointer;
    color:var(--ink-soft); font-weight:600;
  }
  .switch span.on,
  .switch button.on{
    background: linear-gradient(155deg, #FFB07A, #FF6A00 55%, #E85A00);
    color:#fff;
    box-shadow: 0 0 18px rgba(255,106,0,0.55), 0 4px 12px rgba(232,90,0,0.35);
  }

  /* ---------- Sections fade/slide ---------- */
  .panel{ display:none; animation: rise .5s cubic-bezier(.2,.9,.25,1); }
  .panel.show{ display:block; }
  @keyframes rise{ from{ opacity:0; transform: translateY(14px);} to{opacity:1; transform:translateY(0);} }

  .section-title{
    font-family:'Fraunces', serif; font-weight:500; font-size:30px; margin-bottom:6px;
  }
  .section-sub{ color:var(--ink-soft); font-size:14.5px; margin-bottom:26px; max-width:560px; }

  /* ---------- Glass card ---------- */
  .card{
    background: rgba(255,255,255,0.72);
    backdrop-filter: blur(16px);
    border:1px solid var(--line);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-sm);
    padding: 26px;
    transition: transform .4s cubic-bezier(.2,.9,.25,1), box-shadow .4s;
    content-visibility: auto;
    contain-intrinsic-size: auto 220px;
  }
  .card:hover{ transform: translateY(-4px); box-shadow: var(--shadow); }

  /* ===================== PLAIDOIRIE ===================== */
  .plaid-grid{
    display:grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.9fr);
    gap: 22px;
    width: 100%;
    align-items: start;
  }
.plaid-grid > .tpl-card,
.plaid-grid > button.tpl-card,
.plaid-grid > button.card { width: 100%; }
  .voice-orb-wrap{
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding: 38px 20px 28px;
    text-align:center;
  }
  .sanad-logo-hero{
    position:relative; margin-bottom:18px;
    display:flex; align-items:center; justify-content:center;
    perspective: 640px;
  }
  .sanad-logo-hero__glow{
    position:absolute; inset:-18%;
    border-radius:50%;
    background: radial-gradient(circle, rgba(232,197,119,.35) 0%, rgba(232,197,119,0) 68%);
    animation: sanad-glow 4s ease-in-out infinite;
    pointer-events:none;
  }
  .sanad-logo-hero__ring{
    position:absolute; inset:6%;
    border-radius:22%;
    border:1.5px solid rgba(176,141,63,.35);
    animation: sanad-ring 8s linear infinite;
    pointer-events:none;
  }
  .sanad-logo-hero__cube{
    position:relative; z-index:1;
    transform-style: preserve-3d;
    animation: sanad-spin 10s cubic-bezier(.45,.05,.55,.95) infinite;
  }
  .sanad-logo-hero__img{
    display:block;
    filter: drop-shadow(0 12px 28px rgba(14,21,38,.22));
  }
  .sanad-logo-hero--active .sanad-logo-hero__cube{
    animation-duration: 4.5s;
  }
  .sanad-logo-hero--active .sanad-logo-hero__glow{
    animation-duration: 2.2s;
    background: radial-gradient(circle, rgba(232,197,119,.5) 0%, rgba(46,125,98,.12) 45%, rgba(232,197,119,0) 72%);
  }
  @keyframes sanad-spin{
    0%{ transform: rotateY(0deg) rotateX(8deg); }
    50%{ transform: rotateY(180deg) rotateX(-6deg) scale(1.04); }
    100%{ transform: rotateY(360deg) rotateX(8deg); }
  }
  @keyframes sanad-glow{
    0%,100%{ opacity:.55; transform: scale(.92); }
    50%{ opacity:1; transform: scale(1.08); }
  }
  @keyframes sanad-ring{
    0%{ transform: rotate(0deg); opacity:.45; }
    50%{ opacity:.85; }
    100%{ transform: rotate(360deg); opacity:.45; }
  }
  .orb{
    width:150px; height:150px; position:relative; margin-bottom:18px;
    filter: url(#goo);
  }
  .orb span{
    position:absolute; border-radius:50%;
    background: linear-gradient(155deg, var(--gold-soft), var(--gold));
    animation: morph 6s ease-in-out infinite;
    opacity:0.9;
  }
  .orb span:nth-child(1){
    width:110px; height:110px; top:20px; left:20px; animation-delay:0s;
    background: linear-gradient(155deg, #E8C97C, #C9A84A); /* doré */
  }
  .orb span:nth-child(2){
    width:70px; height:70px; top:0; left:60px; animation-delay:-2s;
    background: linear-gradient(155deg, #A8C0FF, #4C7CFF 40%, #1B3F9C); /* bleu royal */
  }
  .orb span:nth-child(3){
    width:60px; height:60px; top:70px; left:0; animation-delay:-4s; opacity:.92;
    background: linear-gradient(155deg, #FFB07A, #FF6A00); /* orange vif */
  }
  @keyframes morph{
    0%,100%{ border-radius:42% 58% 65% 35% / 45% 45% 55% 55%; transform: translate(0,0) scale(1); }
    33%{ border-radius:65% 35% 40% 60% / 60% 40% 60% 40%; transform: translate(6px,-6px) scale(1.05); }
    66%{ border-radius:35% 65% 55% 45% / 40% 65% 35% 60%; transform: translate(-6px,4px) scale(0.96); }
  }
  .orb.listening span{ animation-duration: 1.8s; }
  .mic-btn{
    display:inline-flex; align-items:center; gap:10px;
    background: linear-gradient(155deg, var(--royal-700), var(--royal-900));
    color:#fff; border:none; padding:13px 26px; border-radius:999px;
    font-weight:600; font-size:14.5px; cursor:pointer;
    box-shadow: var(--shadow-sm);
    transition: transform .2s ease, box-shadow .2s ease;
  }
  .mic-btn:hover{ transform: translateY(-2px) scale(1.02); box-shadow: var(--shadow); }
  .mic-btn svg{ width:16px; height:16px; }
  .dict-ctrls{
    display:flex; align-items:center; justify-content:center; gap:8px;
    flex-wrap:wrap; margin-top:2px;
  }
  .dict-btn{
    display:inline-flex; align-items:center; gap:7px;
    border:none; border-radius:999px; padding:11px 18px;
    font-weight:650; font-size:13.5px; cursor:pointer;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease, opacity .16s ease;
    will-change: transform;
  }
  .dict-btn:hover{ transform: translateY(-1px); }
  .dict-btn:active{ transform: scale(.97); }
  .dict-btn:disabled{ opacity:.45; cursor:not-allowed; transform:none; }
  .dict-btn--start{
    background: linear-gradient(155deg, var(--royal-700), var(--royal-900));
    color:#fff; padding:13px 26px; font-size:14.5px;
    box-shadow: var(--shadow-sm);
    animation: dict-pulse 2.4s ease-in-out infinite;
  }
  .dict-btn--start:hover{ box-shadow: var(--shadow); }
  .dict-btn--stop{
    background:#fff; color:#b91c1c;
    border:1px solid rgba(185,28,28,.22);
    box-shadow: 0 6px 16px -10px rgba(185,28,28,.35);
  }
  .dict-btn--stop svg{ animation: dict-blink 1.2s ease-in-out infinite; }
  .dict-btn--ignore{
    background: rgba(255,255,255,.78);
    color: var(--ink-soft);
    border:1px solid var(--line);
  }
  .dict-btn--pause{
    background:#fff; color:var(--ink);
    border:1px solid rgba(14,21,38,.16);
  }
  .dict-btn--resume{
    background: linear-gradient(155deg, var(--royal-700), var(--royal-900));
    color:#fff;
  }
  .dict-btn--ok{
    background: linear-gradient(155deg, #1e6b52, var(--emerald, #2e7d62));
    color:#fff;
    box-shadow: 0 8px 18px -12px rgba(30,107,82,.55);
  }
  .dict-hint{
    width:100%; margin:6px 0 0;
    font-size:11.5px; font-weight:500; color:var(--ink-soft);
    text-align:center; line-height:1.45;
  }
  @keyframes dict-pulse{
    0%,100%{ box-shadow: 0 8px 22px -14px rgba(14,21,38,.35); }
    50%{ box-shadow: 0 12px 28px -10px rgba(255,106,0,.45); }
  }
  @keyframes dict-blink{
    0%,100%{ opacity:1; }
    50%{ opacity:.45; }
  }
  .wave{ display:flex; align-items:center; gap:3px; height:22px; margin-top:16px; }
  .wave i{ width:3px; border-radius:3px; background: var(--royal-glow); display:block; animation: bar 1.1s ease-in-out infinite; }
  .wave i:nth-child(2n){ background: #C9A84A; animation-delay:.12s; }
  .wave i:nth-child(3n){ background: #FF6A00; animation-delay:.24s; }
  .wave i:nth-child(1){height:8px;} .wave i:nth-child(2){height:16px;} .wave i:nth-child(3){height:22px;}
  .wave i:nth-child(4){height:12px;} .wave i:nth-child(5){height:20px;} .wave i:nth-child(6){height:9px;}
  .wave i:nth-child(7){height:18px;} .wave i:nth-child(8){height:14px;} .wave i:nth-child(9){height:22px;}
  .wave i:nth-child(10){height:10px;} .wave i:nth-child(11){height:17px;} .wave i:nth-child(12){height:8px;}
  @keyframes bar{ 0%,100%{ transform: scaleY(0.5);} 50%{ transform: scaleY(1.3);} }

  .doc-preview{ display:flex; flex-direction:column; gap:14px; }
  .doc-preview .badge{
    align-self:flex-start; background: rgba(31,111,84,0.12); color: var(--emerald);
    font-size:12px; font-weight:700; padding:5px 12px; border-radius:999px; letter-spacing:.02em;
  }
  .doc-lines{ display:flex; flex-direction:column; gap:8px; margin-top:8px;}
  .doc-lines .ln{ height:9px; border-radius:5px; background: linear-gradient(90deg, rgba(14,21,38,0.12), rgba(14,21,38,0.05)); }
  .doc-actions{ display:flex; gap:10px; margin-top:6px; flex-wrap:wrap; }
  .chip-btn{
    display:inline-flex; align-items:center; gap:7px;
    border:1px solid var(--line); background:#fff; padding:9px 14px; border-radius:12px;
    font-size:12.5px; font-weight:600; color:var(--ink); cursor:pointer;
    transition: all .25s ease;
  }
  .chip-btn:hover{ border-color: var(--royal-glow); color: var(--royal-800); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(76,124,255,0.18); }
  .chip-btn:disabled{
    opacity: 0.45;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
    pointer-events: none;
  }
  .chip-btn.primary{ background: linear-gradient(155deg, var(--royal-700), var(--royal-900)); color:#fff; border-color:transparent; box-shadow: 0 0 18px rgba(76,124,255,0.28); }

  .templates-row{
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap:16px;
    margin-top:22px;
    width: 100%;
  }
  .tpl-card{
    border-radius: var(--r-md); padding:18px; cursor:pointer;
    background: rgba(255,255,255,0.6); border:1px solid var(--line);
    transition: all .35s cubic-bezier(.2,.9,.25,1);
  }
  .tpl-card:hover{ transform: translateY(-5px) rotate(-0.3deg); box-shadow: var(--shadow); border-color: var(--gold-soft); }
  .tpl-icon{ width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; margin-bottom:12px;
    background: linear-gradient(155deg, var(--gold-soft), var(--gold)); color:#fff; }
  .tpl-icon svg{ width:18px; height:18px; }
  .tpl-card h4{ font-size:14px; margin-bottom:4px; }
  .tpl-card p{ font-size:12px; color:var(--ink-soft); }

  /* ===================== DOSSIERS ===================== */
  .dossiers-top{ display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; flex-wrap:wrap;}
  .search-fluid{
    flex:1; min-width:240px; display:flex; align-items:center; gap:10px;
    background:#fff; border:1px solid var(--line); border-radius:14px; padding:11px 16px;
    transition: box-shadow .3s ease, border-color .3s ease;
  }
  .search-fluid:focus-within{ border-color: var(--gold); box-shadow: 0 0 0 4px rgba(76,124,255,0.18); }
  .search-fluid input{ border:none; outline:none; flex:1; font-size:13.5px; background:transparent; }
  .btn-new{
    background: linear-gradient(155deg, var(--royal-glow), var(--royal-700) 45%, var(--royal-900)); color:#fff; border:none;
    padding:11px 20px; border-radius:14px; font-weight:600; font-size:13.5px; cursor:pointer;
    display:flex; align-items:center; gap:8px;
    box-shadow: 0 10px 28px rgba(11,26,77,0.28), 0 0 24px rgba(76,124,255,0.35);
    transition: transform .25s ease, box-shadow .25s ease;
  }
  .btn-new:hover{ transform: translateY(-2px) scale(1.02); box-shadow: 0 14px 34px rgba(11,26,77,0.35), 0 0 36px rgba(76,124,255,0.5); }

  .dossier-grid{
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap:18px;
    width: 100%;
  }
  .dossier-card{ display:flex; flex-direction:column; gap:14px; }
  .dossier-head{ display:flex; justify-content:space-between; align-items:flex-start; }
  .dossier-ref{ font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--ink-soft); }
  .status-pill{
    font-size:11px; font-weight:700; padding:5px 11px; border-radius:999px;
    background: rgba(76,124,255,0.16); color: var(--royal-800); position:relative; overflow:hidden;
  }
  .status-pill::before{
    content:''; position:absolute; left:-40%; top:0; bottom:0; width:40%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.7), transparent);
    animation: shimmer 2.4s infinite;
  }
  @keyframes shimmer{ 0%{ left:-40%;} 100%{ left:120%;} }
  .dossier-client{ font-family:'Fraunces', serif; font-size:19px; font-weight:500; }
  .dossier-meta{ display:flex; gap:16px; font-size:12.5px; color:var(--ink-soft); }
  .filter-label{ font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:8px; }
  .dossier-card-link{ display:flex; flex-direction:column; gap:14px; color:inherit; text-decoration:none; flex:1; }
  .dossier-actions{ display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
  .dossier-card.is-pinned{ border-color: rgba(255,106,0,0.55); box-shadow: 0 0 0 1px rgba(255,106,0,0.2); }
  .chip-btn--danger{ color:#b91c1c; border-color:rgba(185,28,28,0.25); }
  .chip-btn--danger:hover{ background:rgba(185,28,28,0.08); }
  .avatar-stack{ display:flex; align-items:center; gap:8px; }
  .avatar-stack .av{ width:26px; height:26px; border-radius:50%; border:2px solid #fff; flex-shrink:0;
    background: var(--ink); color:#fff; font-size:9px; font-weight:700;
    display:inline-flex; align-items:center; justify-content:center; letter-spacing:.02em; }
  .avatar-stack .av-name{ font-size:12px; color:var(--ink-soft); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:140px; }
  .avatar-stack .av:first-child{ margin-left:0; }

  .dossier-card.ghost{
    display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px;
    border:1.5px dashed rgba(14,21,38,0.18); background:transparent; box-shadow:none; color: var(--ink-soft);
    cursor:pointer; min-height:170px;
  }
  .dossier-card.ghost:hover{ border-color: var(--gold); color: var(--gold); background: rgba(76,124,255,0.06); box-shadow:none; }
  .plus-circle{ width:44px; height:44px; border-radius:50%; border:1.5px dashed currentColor; display:flex; align-items:center; justify-content:center; }

  /* ===================== DOCUMENTS ===================== */
  .drop-zone{
    border:1.5px dashed rgba(255,106,0,0.5); border-radius: var(--r-lg);
    padding:44px 24px; text-align:center; margin-bottom:22px;
    background: repeating-linear-gradient(120deg, rgba(255,106,0,0.04) 0 2px, transparent 2px 14px);
    position:relative; overflow:hidden;
    animation: pulseBorder 3.2s ease-in-out infinite;
  }
  @keyframes pulseBorder{ 0%,100%{ border-color: rgba(255,106,0,0.35);} 50%{ border-color: rgba(255,106,0,0.75);} }
  .drop-zone .icon-up{
    width:56px; height:56px; margin:0 auto 14px; border-radius:18px;
    background: linear-gradient(155deg, var(--gold-soft), var(--gold)); display:flex; align-items:center; justify-content:center;
    box-shadow: var(--shadow-sm);
  }
  .drop-zone .icon-up svg{ width:26px; height:26px; color:#fff; }
  .drop-zone h4{ font-family:'Fraunces', serif; font-size:19px; font-weight:500; margin-bottom:6px; }
  .drop-zone p{ font-size:13px; color: var(--ink-soft); }
  .drop-smart-float{
    position:relative; height:36px; margin-top:14px; pointer-events:none;
  }
  .drop-smart-ico{
    position:absolute; left:50%; font-size:16px; opacity:0;
    animation: dropSmartRise 3.6s ease-in-out infinite;
  }
  .drop-smart-ico--1{ margin-left:-28px; animation-delay:0s; }
  .drop-smart-ico--2{ margin-left:0; animation-delay:1.2s; }
  .drop-smart-ico--3{ margin-left:28px; animation-delay:2.4s; }
  @keyframes dropSmartRise{
    0%{ transform: translateY(14px); opacity:0; }
    25%{ opacity:.85; }
    55%{ transform: translateY(-10px); opacity:.35; }
    100%{ transform: translateY(-22px); opacity:0; }
  }

  .doc-table{ display:flex; flex-direction:column; gap:10px; }
  .doc-row{
    display:flex; flex-direction:column; gap:12px;
    padding:14px 18px; background:#fff; border:1px solid var(--line); border-radius:14px;
    transition: all .3s ease;
  }
  .doc-row:hover{ box-shadow: var(--shadow-sm); transform: translateX(3px); border-color: var(--gold-soft); }
  .doc-row-main{
    display:grid; grid-template-columns: minmax(0,1.6fr) minmax(100px,0.9fr) auto;
    align-items:center; gap:14px; width:100%;
  }
  .doc-name{ display:flex; align-items:center; gap:12px; font-weight:600; font-size:13.5px; min-width:0; }
  .doc-name > div:last-child{ min-width:0; }
  .doc-name > div:last-child > div:first-child{
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:min(52vw, 520px);
  }
  .doc-file-ico{ width:32px; height:32px; border-radius:9px; background: rgba(31,111,84,0.12); color:var(--emerald); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .doc-file-ico svg{ width:16px; height:16px; }
  .ocr-bar{ height:6px; border-radius:4px; background: rgba(14,21,38,0.08); overflow:hidden; position:relative; }
  .ocr-bar span{ display:block; height:100%; border-radius:4px; background: linear-gradient(90deg, var(--gold), var(--emerald)); }
  .ocr-bar--indeterminate .ocr-bar__runner{
    position:absolute; top:0; bottom:0; width:38%;
    border-radius:4px;
    background: linear-gradient(90deg, var(--gold), var(--emerald));
    animation: ocrIndeterminate 1.35s ease-in-out infinite;
  }
  @keyframes ocrIndeterminate{
    0%{ left:-40%; }
    100%{ left:105%; }
  }
  .row-sub{ font-size:11.5px; color: var(--ink-soft); }
  .row-actions{ display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-start; align-items:center; }
  .doc-row-actions{
    width:100%;
    padding-top:10px;
    border-top:1px solid rgba(14,21,38,0.08);
  }
  .btn-action{
    display:inline-flex; align-items:center; justify-content:center; gap:5px;
    font-size:13px; font-weight:700; letter-spacing:0.01em;
    padding:9px 14px; border-radius:11px; border:1px solid var(--line);
    background:#fff; color:var(--ink); text-decoration:none; cursor:pointer;
    transition: border-color .2s ease, background .2s ease, color .2s ease, transform .15s ease;
    white-space:nowrap; line-height:1.2; min-height:38px;
  }
  .btn-action:hover{ border-color: var(--royal-glow); color: var(--royal-800); transform: translateY(-1px); }
  .btn-action:disabled{ opacity:0.55; cursor:not-allowed; transform:none; }
  .btn-action--primary{
    background: linear-gradient(155deg, var(--royal-glow), var(--royal-700) 50%, var(--royal-900)); color:#fff; border-color:transparent;
    box-shadow: 0 8px 22px rgba(11,26,77,0.22), 0 0 18px rgba(76,124,255,0.28);
  }
  .btn-action--primary:hover{ border-color:transparent; color:#fff; opacity:0.94; }
  .btn-action--danger{
    color:#b91c1c; border-color: rgba(185,28,28,0.45);
    background: rgba(185,28,28,0.06); min-width: 7.5rem; gap: 7px;
  }
  .btn-action--danger:hover{ background: rgba(185,28,28,0.12); border-color: rgba(185,28,28,0.65); }
  .tl-actions{ display:flex; flex-wrap:wrap; gap:6px; width:100%; margin-top:2px; }
  .tl-card-main{ display:flex; flex:1; align-items:center; gap:14px; flex-wrap:wrap; min-width:0; }
  .tl-meta{ display:flex; flex-direction:column; gap:4px; min-width:0; flex:1; }
  .tl-case-ref{ font-size:12px; color:var(--ink-soft); font-weight:500; }

  /* ===================== PLANNING ===================== */
  .day-strip{ display:flex; gap:10px; margin-bottom:22px; overflow-x:auto; padding-bottom:4px; }
  .day-chip{
    min-width:64px; padding:12px 8px; border-radius:16px; text-align:center; cursor:pointer;
    background:#fff; border:1px solid var(--line); transition: all .3s cubic-bezier(.2,.9,.25,1); flex-shrink:0;
  }
  .day-chip .dow{ font-size:11px; color: var(--ink-soft); text-transform:uppercase; font-weight:600; }
  .day-chip .num{ font-family:'Fraunces', serif; font-size:20px; margin-top:2px; }
  .day-chip.active{ background: linear-gradient(155deg, var(--royal-700), var(--royal-900)); color:#fff; transform: translateY(-4px); box-shadow: var(--shadow); }
  .day-chip.active .dow{ color: var(--gold-soft); }

  .timeline{ position:relative; padding-left:26px; }
  .timeline::before{ content:''; position:absolute; left:6px; top:6px; bottom:6px; width:2px; background: linear-gradient(180deg, var(--gold), var(--emerald)); border-radius:2px; }
  .tl-item{ position:relative; margin-bottom:16px; }
  .tl-item::before{ content:''; position:absolute; left:-25px; top:22px; width:12px; height:12px; border-radius:50%; background:#fff; border:3px solid var(--gold); }
  .tl-item:nth-child(2)::before{ border-color: var(--emerald); }
  .tl-card{ display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
  .tl-time{ font-family:'IBM Plex Mono', monospace; font-size:13px; color:var(--ink-soft); min-width:64px; }
  .tl-title{ font-weight:700; font-size:14.5px; }
  .tl-tag{ font-size:11px; font-weight:700; padding:4px 10px; border-radius:999px; background: rgba(31,111,84,0.12); color:var(--emerald); }

  /* ========== Planning calendar — product-grade ========== */
  .cal-layout{
    display:grid;
    grid-template-columns: 220px minmax(0,1fr);
    gap:16px;
    align-items:start;
  }
  .cal-layout--year{ grid-template-columns: minmax(0,1fr); }
  .cal-main{ min-width:0; }
  .cal-hint{ margin-bottom:12px; }

  @media (max-width:899px){
    .cal-layout{ grid-template-columns:1fr; }
    .mini-cal{ display:none; }
  }

  /* Sticky toolbar */
  .cal-toolbar{
    display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
    gap:12px; margin-bottom:12px;
  }
  .cal-toolbar--sticky{
    position:sticky; top:0; z-index:20;
    padding:10px 12px;
    margin-inline:-4px; margin-bottom:14px;
    border-radius:14px;
    background: rgba(250,248,243,0.88);
    backdrop-filter: blur(12px);
    border:1px solid rgba(10,18,40,0.06);
    box-shadow: 0 8px 28px rgba(10,18,40,0.06);
  }
  .cal-toolbar__nav{
    display:flex; align-items:center; gap:6px; flex-wrap:wrap;
  }
  .cal-toolbar__icon-btn{
    width:34px; height:34px; border-radius:10px;
    border:1px solid rgba(10,18,40,0.08);
    background: rgba(255,255,255,0.85);
    color:var(--ink); display:inline-flex; align-items:center; justify-content:center;
    cursor:pointer; transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
  }
  .cal-toolbar__icon-btn:hover{
    background:#fff; border-color: rgba(10,18,40,0.16);
    box-shadow: 0 4px 12px rgba(10,18,40,0.08);
  }
  .cal-toolbar__today{
    height:34px; padding:0 14px; border-radius:10px;
    border:1px solid rgba(10,18,40,0.1);
    background: rgba(255,255,255,0.9);
    color:var(--ink); font-size:12.5px; font-weight:650; cursor:pointer;
    transition: background .15s ease, border-color .15s ease;
  }
  .cal-toolbar__today:hover{
    border-color: rgba(11,26,77,0.28);
    background: rgba(18,48,122,0.06);
  }
  .cal-toolbar__date-wrap{ position:relative; }
  .cal-toolbar__label{
    display:inline-flex; align-items:center; gap:6px;
    border:0; background:transparent; cursor:pointer;
    font-weight:600; font-size:15px; color:var(--ink);
    min-width:10ch; text-align:center; padding:6px 10px; border-radius:10px;
    font-family: var(--font-fraunces), 'Fraunces', serif;
    transition: background .15s ease;
  }
  .cal-toolbar__label:hover{ background: rgba(10,18,40,0.05); }
  .cal-toolbar__label-chevron{ opacity:0.55; flex-shrink:0; }

  .cal-date-picker{
    position:absolute; top:calc(100% + 6px); inset-inline-start:0; z-index:30;
    min-width:220px; padding:12px;
    border-radius:14px;
    background: rgba(255,255,255,0.96);
    border:1px solid rgba(10,18,40,0.08);
    box-shadow: 0 16px 40px rgba(10,18,40,0.14);
    display:flex; flex-direction:column; gap:10px;
  }
  .cal-date-picker__field{
    display:flex; flex-direction:column; gap:4px;
    font-size:11px; font-weight:700; color:var(--ink-soft);
    text-transform:uppercase; letter-spacing:0.03em;
  }
  .cal-date-picker__field select{
    height:36px; border-radius:10px; border:1px solid var(--line);
    background:#fff; color:var(--ink); padding:0 10px; font-size:13px;
  }
  .cal-date-picker__today{
    height:34px; border-radius:10px; border:0; cursor:pointer;
    background: linear-gradient(155deg, var(--royal-700), var(--royal-900));
    color:#fff; font-size:12.5px; font-weight:650;
  }

  .cal-view-switch{
    display:inline-flex; padding:3px; gap:2px;
    border:1px solid rgba(10,18,40,0.08); border-radius:12px;
    background: rgba(255,255,255,0.78);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
  }
  .cal-view-switch__btn{
    border:0; background:transparent; cursor:pointer;
    padding:7px 12px; border-radius:9px;
    font-size:12.5px; font-weight:650; color:var(--ink-soft);
    transition: background .18s ease, color .18s ease, box-shadow .18s ease;
  }
  .cal-view-switch__btn:hover{ color:var(--ink); background: rgba(10,18,40,0.04); }
  .cal-view-switch__btn.is-active{
    color:#fff;
    background: linear-gradient(155deg, var(--royal-700), var(--royal-900));
    box-shadow: 0 4px 12px rgba(11,26,77,0.22);
  }

  .cal-filters{
    display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
    gap:10px; margin-bottom:10px;
  }
  .cal-type-chips{ display:flex; flex-wrap:wrap; gap:6px; }
  .cal-type-chip{
    border:1px solid rgba(10,18,40,0.08); background: rgba(255,255,255,0.78);
    color:var(--ink-soft); border-radius:999px; padding:5px 12px;
    font-size:12px; font-weight:650; cursor:pointer;
    box-shadow: 0 2px 8px rgba(10,18,40,0.03);
    transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
  }
  .cal-type-chip:hover{
    border-color: rgba(10,18,40,0.18); color:var(--ink);
    box-shadow: 0 4px 12px rgba(10,18,40,0.06);
  }
  .cal-type-chip.is-active{
    color:var(--ink); border-color: rgba(10,18,40,0.22);
    background: rgba(10,18,40,0.06);
  }
  .cal-type-chip.is-audience.is-active{
    border-color: rgba(31,111,84,0.35);
    background: rgba(31,111,84,0.12); color:var(--emerald);
  }
  .cal-type-chip.is-rdv.is-active,
  .cal-type-chip.is-deadline.is-active{
    border-color: rgba(232,90,0,0.4);
    background: rgba(255,106,0,0.12); color:var(--gold-deep);
  }
  .cal-type-chip.is-other.is-active{
    border-color: rgba(11,26,77,0.3);
    background: rgba(18,48,122,0.1); color:var(--royal-800);
  }
  .cal-filters__meta{
    display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  }
  .cal-case-select{
    height:36px; border-radius:10px; border:1px solid rgba(10,18,40,0.08);
    background: rgba(255,255,255,0.9); color:var(--ink);
    padding:0 10px; font-size:12.5px; min-width:160px; max-width:240px;
    box-shadow: 0 2px 8px rgba(10,18,40,0.03);
  }
  .cal-search{
    position:relative; display:inline-flex; align-items:center;
  }
  .cal-search__icon{
    position:absolute; inset-inline-start:10px; color:var(--ink-soft); pointer-events:none;
  }
  .cal-search input{
    height:36px; border-radius:10px; border:1px solid rgba(10,18,40,0.08);
    background: rgba(255,255,255,0.9); color:var(--ink);
    padding-inline:32px 12px; font-size:12.5px; min-width:180px;
    outline:none; box-shadow: 0 2px 8px rgba(10,18,40,0.03);
    transition: border-color .15s ease, box-shadow .15s ease;
  }
  .cal-search input:focus{
    border-color: rgba(255,106,0,0.45);
    box-shadow: 0 0 0 3px rgba(255,106,0,0.12);
  }

  /* Mini calendar sidebar */
  .mini-cal{
    position:sticky; top:72px;
    padding:14px 12px 12px;
    border-radius:16px;
    background: rgba(255,255,255,0.86);
    border:1px solid rgba(10,18,40,0.06);
    box-shadow: 0 10px 28px rgba(10,18,40,0.06);
  }
  .mini-cal__nav{
    display:flex; align-items:center; justify-content:space-between; gap:4px;
    margin-bottom:10px;
  }
  .mini-cal__nav-btn{
    width:28px; height:28px; border-radius:8px; border:0;
    background:transparent; color:var(--ink-soft); cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center;
  }
  .mini-cal__nav-btn:hover{ background: rgba(10,18,40,0.06); color:var(--ink); }
  .mini-cal__title{
    border:0; background:transparent; cursor:pointer;
    font-family: var(--font-fraunces), 'Fraunces', serif;
    font-size:13.5px; font-weight:560; color:var(--ink);
    padding:4px 6px; border-radius:8px;
  }
  .mini-cal__title:hover{ background: rgba(10,18,40,0.05); }
  .mini-cal__dow-row{
    display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-bottom:4px;
  }
  .mini-cal__dow{
    text-align:center; font-size:9.5px; font-weight:700; color:var(--ink-soft);
    text-transform:uppercase; letter-spacing:0.02em;
  }
  .mini-cal__grid{
    display:grid; grid-template-columns:repeat(7,1fr); gap:2px;
  }
  .mini-cal__day{
    aspect-ratio:1; border:0; border-radius:9px; background:transparent;
    font-size:11.5px; font-weight:600; color:var(--ink); cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center;
    position:relative; transition: background .12s ease, color .12s ease;
  }
  .mini-cal__day:hover{ background: rgba(10,18,40,0.06); }
  .mini-cal__day.is-outside{ color: rgba(10,18,40,0.28); }
  .mini-cal__day.is-today{
    background: linear-gradient(155deg, var(--royal-700), var(--royal-900));
    color:#fff; box-shadow: 0 4px 12px rgba(11,26,77,0.22);
  }
  .mini-cal__day.is-selected:not(.is-today){
    background: rgba(255,106,0,0.14);
    color: var(--gold-deep);
    box-shadow: inset 0 0 0 1.5px rgba(232,90,0,0.45);
  }
  .mini-cal__day.has-events::after{
    content:''; position:absolute; bottom:3px; left:50%; transform:translateX(-50%);
    width:4px; height:4px; border-radius:999px; background:var(--emerald);
  }
  .mini-cal__day.is-today.has-events::after{ background: rgba(255,255,255,0.85); }
  .mini-cal__today-btn{
    width:100%; margin-top:10px; height:32px; border-radius:10px;
    border:1px solid rgba(10,18,40,0.08); background: rgba(250,248,243,0.9);
    color:var(--ink); font-size:12px; font-weight:650; cursor:pointer;
  }
  .mini-cal__today-btn:hover{ border-color: rgba(11,26,77,0.22); }

  /* Current-time indicator (week / day) */
  .cal-now-line{
    position:absolute; inset-inline:0; z-index:4;
    pointer-events:none; display:flex; align-items:center;
    transform: translateY(-50%);
  }
  .cal-now-line__dot{
    width:9px; height:9px; border-radius:999px; flex-shrink:0;
    background: #c41e3a;
    box-shadow: 0 0 0 3px rgba(196,30,58,0.18);
    margin-inline-start:-4px;
  }
  .cal-now-line__rail{
    flex:1; height:2px; background: linear-gradient(90deg, #c41e3a, rgba(11,26,77,0.75));
    border-radius:2px;
  }
  [dir="rtl"] .cal-now-line__rail{
    background: linear-gradient(270deg, #c41e3a, rgba(11,26,77,0.75));
  }

  /* Week / day time grid */
  .week-cal{
    padding:0; overflow:hidden; margin-bottom:8px;
    border-radius:16px;
    background: rgba(255,255,255,0.82);
    border:1px solid rgba(10,18,40,0.06);
    box-shadow: 0 12px 36px rgba(10,18,40,0.07);
  }
  .week-cal__head{
    display:grid; grid-template-columns:56px repeat(7, minmax(0,1fr));
    border-bottom:1px solid rgba(10,18,40,0.07);
    background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(250,248,243,0.7));
    position:sticky; top:0; z-index:3;
  }
  .week-cal__gutter{ border-inline-end:1px solid rgba(10,18,40,0.06); }
  .week-cal__day-head{
    display:flex; flex-direction:column; align-items:center; gap:4px;
    padding:12px 6px 10px; border:0; border-inline-end:1px solid rgba(10,18,40,0.06);
    background:transparent; cursor:pointer; width:100%;
    font:inherit; color:inherit;
    transition: background .15s ease;
  }
  .week-cal__day-head:last-child{ border-inline-end:none; }
  .week-cal__day-head:hover .week-cal__num:not(.is-today){
    background: rgba(10,18,40,0.06);
  }
  .week-cal__day-head.is-today{
    background: linear-gradient(180deg, rgba(11,26,77,0.06), transparent 85%);
  }
  .week-cal__dow{
    font-size:11px; font-weight:650; color:var(--ink-soft);
    text-transform:uppercase; letter-spacing:0.04em;
  }
  .week-cal__num{
    font-family: var(--font-fraunces), 'Fraunces', serif;
    font-size:20px; font-weight:500; color:var(--ink);
    width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center;
    border-radius:999px; transition: background .15s ease;
  }
  .week-cal__num.is-today{
    background: linear-gradient(155deg, var(--royal-700), var(--royal-900));
    color:#fff; box-shadow: 0 6px 16px rgba(11,26,77,0.28);
  }
  .week-cal__body{
    display:grid; grid-template-columns:56px repeat(7, minmax(0,1fr));
    position:relative; overflow-x:auto;
  }
  .week-cal__times{
    border-inline-end:1px solid rgba(10,18,40,0.06);
    background: rgba(250,248,243,0.72);
  }
  .week-cal__time{
    font-family:'IBM Plex Mono', monospace; font-size:10.5px; color:var(--ink-soft);
    padding:4px 6px 0; border-bottom:1px solid rgba(10,18,40,0.05); box-sizing:border-box;
  }
  .week-cal__col{ position:relative; border-inline-end:1px solid rgba(10,18,40,0.06); }
  .week-cal__col:last-child{ border-inline-end:none; }
  .week-cal__col.is-today{ background: rgba(11,26,77,0.028); }
  .week-cal__slot{
    display:block; width:100%; border:0; border-bottom:1px solid rgba(10,18,40,0.05);
    background:transparent; cursor:pointer; padding:0;
    transition: background .18s ease;
  }
  .week-cal__slot:hover{ background: rgba(255,106,0,0.07); }
  .week-cal__event{
    position:absolute; inset-inline:3px; z-index:2;
    border:0; border-inline-start:3px solid var(--emerald);
    border-radius:8px;
    background: linear-gradient(160deg, rgba(31,111,84,0.18), rgba(31,111,84,0.08));
    color:var(--ink); text-align:start; padding:4px 7px; overflow:hidden; cursor:pointer;
    box-shadow: 0 4px 14px rgba(10,18,40,0.08);
    transition: transform .15s ease, box-shadow .15s ease;
  }
  .week-cal__event.is-rdv,
  .week-cal__event.is-deadline{
    border-inline-start-color: var(--gold);
    background: linear-gradient(160deg, rgba(255,106,0,0.18), rgba(255,176,122,0.1));
  }
  .week-cal__event.is-other{
    border-inline-start-color: var(--royal-700);
    background: linear-gradient(160deg, rgba(18,48,122,0.14), rgba(18,48,122,0.06));
  }
  .week-cal__event:hover{
    transform: translateY(-1px); box-shadow: 0 10px 22px rgba(10,18,40,0.12);
  }
  .week-cal__event-title{
    display:block; font-size:11.5px; font-weight:700; line-height:1.25;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .week-cal__event-ref{
    display:block; font-size:10px; color:var(--ink-soft); margin-top:2px;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  @media (max-width:760px){
    .week-cal__head, .week-cal__body{
      grid-template-columns:44px repeat(7, minmax(72px,1fr)); min-width:640px;
    }
    .week-cal{ overflow-x:auto; }
  }
  .week-cal--day .week-cal__head,
  .week-cal--day .week-cal__body{
    grid-template-columns:56px minmax(0,1fr);
  }
  @media (max-width:760px){
    .week-cal--day .week-cal__head, .week-cal--day .week-cal__body{
      grid-template-columns:44px minmax(0,1fr); min-width:0;
    }
  }

  /* Month calendar */
  .month-cal{
    padding:0; overflow:hidden; margin-bottom:8px;
    border-radius:16px;
    background: rgba(255,255,255,0.82);
    border:1px solid rgba(10,18,40,0.06);
    box-shadow: 0 12px 36px rgba(10,18,40,0.07);
  }
  .month-cal__head{
    display:grid; grid-template-columns:repeat(7, minmax(0,1fr));
    border-bottom:1px solid rgba(10,18,40,0.07);
    background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(250,248,243,0.7));
  }
  .month-cal__dow{
    text-align:center; padding:10px 4px 8px;
    font-size:11px; font-weight:650; color:var(--ink-soft);
    text-transform:uppercase; letter-spacing:0.04em;
    border-inline-end:1px solid rgba(10,18,40,0.05);
  }
  .month-cal__dow:last-child{ border-inline-end:none; }
  .month-cal__grid{
    display:grid; grid-template-columns:repeat(7, minmax(0,1fr));
    grid-auto-rows: minmax(96px, 1fr);
  }
  .month-cal__cell{
    position:relative; min-height:96px;
    border-bottom:1px solid rgba(10,18,40,0.06);
    border-inline-end:1px solid rgba(10,18,40,0.06);
    padding:5px 5px 6px;
    background: rgba(255,255,255,0.45);
    display:flex; flex-direction:column; gap:3px;
    transition: background .18s ease;
  }
  .month-cal__cell:nth-child(7n){ border-inline-end:none; }
  .month-cal__cell.is-outside{
    background: rgba(238,241,248,0.5); color:var(--ink-soft);
  }
  .month-cal__cell.is-outside .month-cal__num{ opacity:0.4; }
  .month-cal__cell.is-today{
    background: linear-gradient(180deg, rgba(11,26,77,0.05), transparent 70%);
  }
  .month-cal__cell.is-selected{
    box-shadow: inset 0 0 0 1.5px rgba(255,106,0,0.35);
  }
  .month-cal__cell:hover{ background: rgba(255,106,0,0.04); }
  .month-cal__cell-top{
    display:flex; align-items:center; justify-content:space-between; gap:4px;
  }
  .month-cal__num{
    border:0; background:transparent; cursor:pointer;
    font-family: var(--font-fraunces), 'Fraunces', serif;
    font-size:14px; font-weight:500; color:var(--ink);
    width:26px; height:26px; border-radius:999px;
    display:inline-flex; align-items:center; justify-content:center;
    transition: background .15s ease, color .15s ease;
  }
  .month-cal__num:hover{ background: rgba(10,18,40,0.07); }
  .month-cal__num.is-today{
    background: linear-gradient(155deg, var(--royal-700), var(--royal-900));
    color:#fff; box-shadow: 0 4px 12px rgba(11,26,77,0.25);
  }
  .month-cal__add{
    opacity:0; border:0; background:transparent; cursor:pointer;
    width:22px; height:22px; border-radius:6px; color:var(--gold-deep);
    font-size:16px; line-height:1; font-weight:600;
    transition: opacity .15s ease, background .15s ease;
  }
  .month-cal__cell:hover .month-cal__add,
  .month-cal__add:focus-visible{ opacity:1; background: rgba(255,106,0,0.12); }
  .month-cal__chips{
    display:flex; flex-direction:column; gap:2px; flex:1; min-height:0;
  }
  .month-cal__empty{
    flex:1; border:0; background:transparent; cursor:pointer; min-height:20px;
  }
  .month-cal__chip{
    display:flex; align-items:baseline; gap:4px; width:100%;
    border:0; border-inline-start:2.5px solid var(--emerald);
    border-radius:5px;
    background: rgba(31,111,84,0.12);
    color:var(--ink); text-align:start; padding:2px 5px; cursor:pointer;
    font-size:10.5px; line-height:1.25; overflow:hidden;
    transition: transform .12s ease, box-shadow .12s ease;
  }
  .month-cal__chip:hover{
    transform: translateY(-0.5px); box-shadow: 0 4px 10px rgba(10,18,40,0.08);
  }
  .month-cal__chip.is-rdv,
  .month-cal__chip.is-deadline{
    border-inline-start-color: var(--gold);
    background: rgba(255,106,0,0.12);
  }
  .month-cal__chip.is-other{
    border-inline-start-color: var(--royal-700);
    background: rgba(18,48,122,0.1);
  }
  .month-cal__chip-time{
    flex-shrink:0; font-family:'IBM Plex Mono', monospace;
    font-size:9.5px; color:var(--ink-soft);
  }
  .month-cal__chip-title{
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:650;
  }
  .month-cal__more{
    border:0; background:transparent; cursor:pointer; text-align:start;
    font-size:10.5px; font-weight:650; color:var(--ink-soft); padding:1px 2px;
  }
  .month-cal__more:hover{ color:var(--gold-deep); }
  .month-cal__dots{
    display:flex; align-items:center; gap:4px; flex-wrap:wrap;
    border:0; background:transparent; cursor:pointer; padding:2px 0;
  }
  .month-cal__dot{
    width:7px; height:7px; border-radius:999px; background:var(--emerald);
  }
  .month-cal__dot.is-rdv, .month-cal__dot.is-deadline{ background:var(--gold); }
  .month-cal__dot.is-other{ background:var(--royal-700); }
  .month-cal__count{
    font-size:10px; font-weight:700; color:var(--ink-soft);
  }
  @media (max-width:900px){
    .month-cal__grid{ grid-auto-rows: minmax(82px, 1fr); }
    .month-cal__chip-time{ display:none; }
    .month-cal__cell{ min-height:82px; padding:4px; }
  }
  @media (max-width:640px){
    .month-cal{ overflow-x:auto; }
    .month-cal__head, .month-cal__grid{ min-width:560px; }
    .cal-toolbar__label{ min-width:auto; }
  }

  /* Year view — 12 mini months */
  .year-cal{
    padding:16px;
    border-radius:16px;
    background: rgba(255,255,255,0.82);
    border:1px solid rgba(10,18,40,0.06);
    box-shadow: 0 12px 36px rgba(10,18,40,0.07);
  }
  .year-cal__grid{
    display:grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap:18px 16px;
  }
  .year-cal__month{
    padding:10px 8px 8px;
    border-radius:14px;
    background: rgba(250,248,243,0.55);
    border:1px solid transparent;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
  }
  .year-cal__month:hover{
    background: rgba(255,255,255,0.9);
    border-color: rgba(10,18,40,0.08);
    box-shadow: 0 8px 22px rgba(10,18,40,0.06);
  }
  .year-cal__month.is-current{
    border-color: rgba(11,26,77,0.18);
    background: rgba(18,48,122,0.04);
  }
  .year-cal__month-title{
    display:block; width:100%; border:0; background:transparent; cursor:pointer;
    text-align:start; padding:2px 4px 8px;
    font-family: var(--font-fraunces), 'Fraunces', serif;
    font-size:14px; font-weight:560; color:var(--ink);
    border-radius:8px;
  }
  .year-cal__month-title:hover{ color: var(--royal-800); }
  .year-cal__dow-row{
    display:grid; grid-template-columns:repeat(7,1fr); gap:1px; margin-bottom:2px;
  }
  .year-cal__dow{
    text-align:center; font-size:9px; font-weight:700; color:var(--ink-soft);
  }
  .year-cal__days{
    display:grid; grid-template-columns:repeat(7,1fr); gap:1px;
  }
  .year-cal__day{
    position:relative;
    aspect-ratio:1; border:0; border-radius:7px; background:transparent;
    padding:0; cursor:pointer; color:var(--ink);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:1px; transition: background .12s ease;
  }
  .year-cal__day:not(:disabled):hover{ background: rgba(10,18,40,0.06); }
  .year-cal__day:disabled{ cursor:default; }
  .year-cal__day.is-outside{ visibility:hidden; pointer-events:none; }
  .year-cal__day.is-today .year-cal__day-num{
    background: linear-gradient(155deg, var(--royal-700), var(--royal-900));
    color:#fff; box-shadow: 0 3px 8px rgba(11,26,77,0.25);
  }
  .year-cal__day-num{
    width:22px; height:22px; border-radius:999px;
    font-size:11px; font-weight:600;
    display:inline-flex; align-items:center; justify-content:center;
  }
  .year-cal__dots{
    display:flex; gap:2px; justify-content:center; min-height:4px;
  }
  .year-cal__dot{
    width:4px; height:4px; border-radius:999px; background:var(--emerald);
  }
  .year-cal__dot.is-rdv,
  .year-cal__dot.is-deadline{ background:var(--gold); }
  .year-cal__dot.is-other{ background:var(--royal-700); }

  @media (max-width:1100px){
    .year-cal__grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
  }
  @media (max-width:720px){
    .year-cal__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; }
    .year-cal{ padding:12px; }
  }
  @media (max-width:420px){
    .year-cal__grid{ grid-template-columns: 1fr; }
  }

  /* ===================== MODAL — Nouveau dossier ===================== */
  .modal-overlay{
    position:fixed; inset:0; z-index:200;
    background: rgba(14,21,38,0.42);
    backdrop-filter: blur(6px);
    display:flex; align-items:center; justify-content:center;
    opacity:0; pointer-events:none;
    transition: opacity .35s cubic-bezier(.2,.9,.25,1);
    padding:20px;
  }
  .modal-overlay.show{ opacity:1; pointer-events:auto; }
  .modal-card{
    width:100%; max-width:560px;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(20px);
    border:1px solid var(--line);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow);
    padding:30px;
    transform: translateY(24px) scale(0.97);
    opacity:0;
    transition: all .4s cubic-bezier(.2,.9,.25,1);
    max-height:88vh; overflow-y:auto;
  }
  .modal-overlay.show .modal-card{ transform: translateY(0) scale(1); opacity:1; }
  .modal-head{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:22px; }
  .modal-head h3{ font-family:'Fraunces', serif; font-weight:500; font-size:24px; }
  .modal-head p{ font-size:13px; color:var(--ink-soft); margin-top:4px; }
  .modal-close{
    width:34px; height:34px; border-radius:11px; border:1px solid var(--line); background:#fff;
    display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--ink-soft);
    transition: all .25s ease; flex-shrink:0;
  }
  .modal-close:hover{ background: var(--ink); color:#fff; border-color: var(--ink); transform: rotate(90deg); }

  .form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:18px; }
  .form-field{ display:flex; flex-direction:column; gap:7px; }
  .form-field.full{ grid-column: 1 / -1; }
  .form-field label{ font-size:12px; font-weight:700; color: var(--ink-soft); text-transform:uppercase; letter-spacing:.03em; }
  .form-field input, .form-field select, .form-field textarea{
    border:1px solid var(--line); border-radius:12px; padding:11px 14px; font-size:13.5px;
    font-family:'Inter', sans-serif; background:#fff; outline:none; color:var(--ink);
    transition: border-color .25s ease, box-shadow .25s ease;
  }
  .form-field input:focus, .form-field select:focus, .form-field textarea:focus{
    border-color: var(--gold); box-shadow: 0 0 0 4px rgba(76,124,255,0.18);
  }
  .form-field .hint{ font-size:11px; color: var(--ink-soft); font-family:'IBM Plex Mono', monospace; }

  .type-pills{ display:flex; flex-wrap:wrap; gap:8px; }
  .type-pill{
    padding:8px 15px; border-radius:999px; border:1px solid var(--line); background:#fff;
    font-size:12.5px; font-weight:600; cursor:pointer; color:var(--ink-soft);
    transition: all .25s cubic-bezier(.2,.9,.25,1);
  }
  .type-pill.selected{ background: linear-gradient(155deg, var(--royal-700), var(--royal-900)); color:#fff; border-color:var(--ink); transform: translateY(-1px); }
  .type-pill:hover:not(.selected){ border-color: var(--gold); color: var(--ink); }

  .modal-foot{ display:flex; justify-content:flex-end; gap:10px; margin-top:8px; padding-top:18px; border-top:1px solid var(--line); }
  .btn-ghost-cancel{
    padding:11px 20px; border-radius:14px; border:1px solid var(--line); background:#fff;
    font-weight:600; font-size:13.5px; cursor:pointer; color:var(--ink-soft); transition: all .25s ease;
  }
  .btn-ghost-cancel:hover{ color:var(--ink); border-color: var(--ink); }
  .btn-create{
    padding:11px 22px; border-radius:14px; border:none; cursor:pointer;
    background: linear-gradient(155deg, var(--gold-soft), var(--gold)); color:#fff;
    font-weight:700; font-size:13.5px; box-shadow: var(--shadow-sm);
    transition: transform .25s ease, box-shadow .25s ease;
    display:flex; align-items:center; gap:8px;
  }
  .btn-create:hover{ transform: translateY(-2px) scale(1.02); box-shadow: var(--shadow); }
  .btn-create.loading svg{ animation: spin .8s linear infinite; }
  @keyframes spin{ to{ transform: rotate(360deg); } }

  .toast{
    position:fixed; bottom:28px; left:50%; transform: translateX(-50%) translateY(30px);
    background: linear-gradient(155deg, var(--royal-700), var(--royal-900)); color:#fff;
    padding:14px 24px; border-radius:14px; font-size:13.5px; font-weight:600;
    display:flex; align-items:center; gap:10px; box-shadow: var(--shadow);
    z-index:60; opacity:0; pointer-events:none; transition: all .4s cubic-bezier(.2,.9,.25,1);
  }
  .toast.show{ opacity:1; transform: translateX(-50%) translateY(0); }
  .toast .dot{ width:8px; height:8px; border-radius:50%; background: var(--gold-soft); }

  /* ---------- Modal: Nouveau dossier ---------- */
  .modal-overlay{
    position:fixed; inset:0; z-index:200;
    background: rgba(14,21,38,0.42);
    backdrop-filter: blur(6px);
    display:flex; align-items:center; justify-content:center;
    opacity:0; pointer-events:none;
    transition: opacity .35s ease;
    padding:20px;
  }
  .modal-overlay.open{ opacity:1; pointer-events:auto; }
  .modal-card{
    width:100%; max-width:560px;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(20px);
    border:1px solid var(--line);
    border-radius: var(--r-lg);
    box-shadow: 0 40px 90px -30px rgba(14,21,38,0.45);
    padding:30px 30px 26px;
    transform: translateY(24px) scale(0.97);
    opacity:0;
    transition: transform .45s cubic-bezier(.2,.9,.25,1), opacity .4s ease;
    max-height:88vh; overflow-y:auto;
  }
  .modal-overlay.open .modal-card{ transform: translateY(0) scale(1); opacity:1; }
  .modal-card{
    width:100%; max-width:min(920px, 96vw) !important;
    position:relative;
  }
  .modal-head{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:6px; position:relative; z-index:2; }
  .modal-head .icon-new{
    width:44px; height:44px; border-radius:14px; margin-bottom:14px;
    background: linear-gradient(155deg, var(--gold-soft), var(--gold));
    display:flex; align-items:center; justify-content:center; box-shadow: var(--shadow-sm);
  }
  .modal-head .icon-new svg{ width:20px; height:20px; color:#fff; }
  .modal-close{
    position:sticky; top:0; z-index:10;
    width:40px; height:40px; border-radius:12px; border:1px solid var(--line); background:#fff;
    display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--ink-soft);
    transition: all .25s ease; pointer-events:auto !important;
  }
  .modal-close:hover{ color:var(--ink); border-color: var(--gold); transform: rotate(90deg); }
  .modal-title{ font-family:'Fraunces', serif; font-size:23px; font-weight:500; margin-bottom:4px; }
  .modal-sub{ font-size:13px; color:var(--ink-soft); margin-bottom:22px; }

  .form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:16px; }
  .form-field{ display:flex; flex-direction:column; gap:6px; }
  .form-field.full{ grid-column: 1 / -1; }
  .form-field label{ font-size:12px; font-weight:700; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.03em; }
  .form-field input, .form-field select{
    border:1px solid var(--line); background:#fff; border-radius:12px; padding:11px 13px;
    font-size:13.5px; font-family:'Inter',sans-serif; color:var(--ink); outline:none;
    transition: border-color .25s ease, box-shadow .25s ease;
  }
  .form-field input:focus, .form-field select:focus{ border-color: var(--gold); box-shadow: 0 0 0 4px rgba(76,124,255,0.18); }
  .form-field .ref-hint{ font-size:11px; color:var(--ink-soft); font-family:'IBM Plex Mono', monospace; }

  .type-pick{ display:flex; gap:8px; flex-wrap:wrap; }
  .type-pill{
    padding:9px 14px; border-radius:999px; border:1px solid var(--line); font-size:12.5px; font-weight:600;
    cursor:pointer; color:var(--ink-soft); background:#fff; transition: all .25s ease;
  }
  .type-pill:hover{ border-color: var(--gold-soft); color:var(--ink); }
  .type-pill.sel{ background: linear-gradient(155deg, var(--royal-700), var(--royal-900)); color:#fff; border-color: var(--ink); }
  .type-pill.add{
    border-style:dashed; color:var(--ink); background:rgba(201,162,39,0.06);
  }
  .type-pill.add.sel{ border-style:solid; }

  .modal-foot{ display:flex; justify-content:flex-end; gap:10px; margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
  .btn-ghost{
    padding:11px 18px; border-radius:12px; border:1px solid var(--line); background:#fff; font-weight:600;
    font-size:13.5px; cursor:pointer; color:var(--ink-soft); transition: all .25s ease;
  }
  .btn-ghost:hover{ border-color: var(--ink); color:var(--ink); }
  .btn-create{
    padding:11px 22px; border-radius:12px; border:none; font-weight:700; font-size:13.5px; cursor:pointer;
    background: linear-gradient(155deg, var(--gold-soft), var(--gold)); color:#3a2a0d;
    box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease;
    display:flex; align-items:center; gap:8px;
  }
  .btn-create:hover{ transform: translateY(-2px) scale(1.02); box-shadow: var(--shadow); }
  .btn-create.loading svg{ animation: spin .8s linear infinite; }
  @keyframes spin{ to{ transform: rotate(360deg); } }

  .toast{
    position:fixed; bottom:28px; left:50%; transform: translateX(-50%) translateY(20px);
    background: var(--ink); color:#fff; padding:13px 22px; border-radius:14px; font-size:13.5px; font-weight:600;
    display:flex; align-items:center; gap:10px; box-shadow: var(--shadow); z-index:60;
    opacity:0; pointer-events:none; transition: all .4s cubic-bezier(.2,.9,.25,1);
  }
  .toast.show{ opacity:1; transform: translateX(-50%) translateY(0); }
  .toast svg{ width:16px; height:16px; color: var(--emerald-soft); }

  @media (max-width: 880px){
    .shell{ grid-template-columns:1fr; }
    /* top:auto obligatoire — sinon top:0 + bottom étirent le dock sur 100vh et bloquent les clics */
    .dock{
      position:fixed;
      top: auto;
      bottom: max(10px, env(safe-area-inset-bottom, 0px));
      left: 0;
      right: 0;
      width: 100%;
      height: auto !important;
      transform: none;
      flex-direction: row;
      justify-content: center;
      align-items: flex-end;
      z-index: 50;
      padding: 0;
      margin: 0;
      pointer-events: none;
      background: transparent;
    }
    .dock-nav{
      flex-direction: row;
      pointer-events: auto;
      max-width: calc(100vw - 12px);
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      gap: 0;
      padding: 8px 6px;
    }
    .dock-nav::-webkit-scrollbar{ display:none; }
    .dock-brand{ display:none; }
    .dock-item{
      flex-direction: column;
      height: auto;
      min-height: 56px;
      min-width: 58px;
      max-width: 78px;
      padding: 6px 4px;
      gap: 4px;
      flex: 1 1 0;
      justify-content: center;
      align-items: center;
      color: #0B1A4D;
    }
    .dock-item svg{
      width: 22px !important;
      height: 22px !important;
      stroke-width: 2.25;
      color: #0B1A4D;
    }
    .dock-item.active{
      color: #0B1A4D;
      background: rgba(76,124,255,0.12);
      border-radius: 12px;
    }
    .dock-item.active svg{ color: #1B3F9C; }
    /* Labels visibles sous chaque icône */
    .dock-item__text{
      display: flex !important;
      flex-direction: column;
      align-items: center;
      width: 100%;
      min-width: 0;
    }
    .dock-item__label{
      display: block !important;
      font-size: 10px !important;
      font-weight: 700 !important;
      line-height: 1.15;
      color: #0B1A4D !important;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 100%;
      text-align: center;
    }
    .dock-item__hint{ display: none !important; }
    .dock-item .pill{ display: none !important; }
    .dock-item::after{ display: none !important; }
    .dock-foot{ display:none; }
    .main{ padding:0; }
    .main-scroll{ padding:12px 12px 110px; }
    .topbar{
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between;
      gap: 10px 8px;
      padding: 12px 12px 14px;
      max-width: 100vw;
      overflow: visible;
      z-index: 70;
      position: sticky;
      min-height: 96px;
    }
    .topbar-start{
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 8px;
      min-width: 0;
      flex: 1 1 100%;
      order: 1;
      overflow: visible;
    }
    .topbar-lexhub{
      display: inline-flex !important;
      align-items: center;
      gap: 10px;
      flex: 0 0 auto;
      min-width: 0;
      max-width: 100%;
      text-decoration: none;
      color: inherit;
      padding: 2px;
      border-radius: 12px;
      visibility: visible !important;
      opacity: 1 !important;
      z-index: 73;
    }
    .topbar-lexhub__img{
      width: 48px !important;
      height: 48px !important;
      border-radius: 12px;
      display: block !important;
      visibility: visible !important;
      object-fit: cover;
      object-position: center;
      transform: scale(1.08);
      background: #050816;
      box-shadow: 0 0 0 1px rgba(11,26,77,0.12);
    }
    .topbar-lexhub__meta{
      display: flex !important;
      flex-direction: column;
      min-width: 0;
      gap: 2px;
    }
    .topbar-lexhub__word{
      display: block !important;
      font-family: 'Fraunces', Georgia, 'Times New Roman', serif !important;
      font-size: 1.35rem !important;
      font-weight: 800 !important;
      letter-spacing: -0.03em;
      color: #0B1A4D !important;
      -webkit-text-fill-color: #0B1A4D !important;
      visibility: visible !important;
      opacity: 1 !important;
      line-height: 1.05;
    }
    .topbar-lexhub__user{ display: none !important; }
    .topbar-identity{
      display: flex !important;
      flex-direction: column;
      align-items: flex-start;
      gap: 6px;
      width: 100%;
      min-width: 0;
      padding-inline-start: 2px;
    }
    .topbar .greeting{
      display: block !important;
      font-size: 11px !important;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #5c6b80 !important;
      line-height: 1.2;
    }
    .topbar .greeting b{
      display: block !important;
      margin-top: 2px;
      font-family: 'Fraunces', Georgia, serif !important;
      font-size: 1.35rem !important;
      font-weight: 700 !important;
      letter-spacing: -0.02em;
      text-transform: none;
      color: #0B1A4D !important;
      -webkit-text-fill-color: #0B1A4D !important;
      max-width: 100%;
      white-space: normal;
      overflow: visible;
      line-height: 1.15;
    }
    .topbar-workspace-role{
      display: inline-flex !important;
      font-size: 10px !important;
      padding: 3px 10px;
    }
    .topbar-cabinet{
      display: inline-flex !important;
      max-width: 100%;
      padding: 5px 12px 5px 5px;
    }
    .topbar-cabinet__name{
      display: inline !important;
      max-width: min(70vw, 260px);
      font-size: 13px;
      font-weight: 650;
    }
    .topbar-end,
    .lang-toggle{
      display: flex !important;
      flex-wrap: wrap !important;
      flex-shrink: 0 !important;
      align-items: center;
      justify-content: flex-end;
      gap: 6px !important;
      width: 100%;
      max-width: none !important;
      overflow: visible !important;
      margin-inline-start: 0;
      order: 2;
      position: relative;
      z-index: 71;
      padding-top: 2px;
    }
    .topbar-actions{
      display: inline-flex !important;
      align-items: center;
      gap: 6px !important;
      flex-shrink: 0;
      flex-wrap: wrap;
      position: relative;
      z-index: 71;
    }
    .topbar-actions-secondary{ display: inline-flex !important; }
    .topbar-lang-wrap{
      display: inline-flex !important;
      transform: scale(0.92);
      transform-origin: center;
    }
    .topbar-ico{
      width: 40px;
      height: 40px;
      flex-shrink: 0;
      visibility: visible !important;
      opacity: 1 !important;
    }
    .topbar-actions .topbar-ico{ display: inline-flex !important; }
    .topbar-bell-wrap{
      display: inline-flex !important;
      visibility: visible !important;
      position: relative;
      z-index: 72;
    }
    .topbar-logout-btn{ display: none !important; }
    .topbar-account-btn{
      flex-shrink: 0;
      visibility: visible !important;
      position: relative;
      z-index: 72;
    }
    html[data-theme="dark"] .topbar-lexhub__word,
    html[data-theme="dark"] .topbar .greeting b{
      color: #F2F5FC !important;
      -webkit-text-fill-color: #F2F5FC !important;
    }
    .main-scroll{
      padding-top: 8px;
    }
    .panel.show{ padding-bottom:8px; overflow-x: hidden; max-width: 100%; }
    .main-scroll{ overflow-x: hidden; max-width: 100vw; }
    .plaid-grid, .dossier-grid, .templates-row{ grid-template-columns:1fr !important; }
    .doc-row-main{ grid-template-columns:1fr; }
    .row-actions{ justify-content:flex-start; }
    .dash-grid, .stats-row, .kpi-row{ grid-template-columns:1fr !important; }

    /* Liste plaidoiries : pas de dézoom */
    .plea-library{ max-width: 100%; overflow-x: hidden; }
    .plea-library__filters{
      display: flex;
      flex-direction: column;
      gap: 10px;
      width: 100%;
      max-width: 100%;
    }
    .plea-library__search{
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box;
    }
    .plea-library__chips{
      display: flex;
      flex-wrap: nowrap;
      gap: 6px;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      padding-bottom: 2px;
      max-width: 100%;
    }
    .plea-library__chips::-webkit-scrollbar{ display: none; }
    .plea-library__chips .chip-btn{
      flex: 0 0 auto;
      white-space: nowrap;
      font-size: 12px;
      padding: 7px 11px;
    }
    .plea-library__selects{
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      width: 100%;
    }
    .plea-library__selects select{
      width: 100%;
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
    }
    .plea-library .chip-btn.primary.inline-flex{
      width: 100%;
      justify-content: center;
    }
  }

  @media (max-width: 560px){
    .topbar-ico{ width:36px; height:36px; }
    .dock-item{
      min-height: 54px;
      min-width: 52px;
      padding: 5px 2px;
    }
    .dock-item__label{ font-size: 9px !important; }
    .dock-item svg{ width: 20px !important; height: 20px !important; }
    .main-scroll{ padding:10px 10px 118px; }
  }


/* --- App wiring helpers (routing + a11y) — valeurs spec --- */
.wave { opacity: 0.25; }
.wave.is-listening { opacity: 1; }
.drop-zone.is-dragover {
  animation: none;
  border-style: solid;
  border-color: var(--gold);
  background: rgba(255,106,0,0.08);
}
.status-pill--closed { background: rgba(31,111,84,0.14); color: #155943; }
.tl-tag--rdv { background: rgba(76,124,255,0.18); color: #8a6321; }
[dir="rtl"] .dock-item::after {
  left: auto;
  right: 64px;
  transform: translateY(-50%) translateX(10px);
}
[dir="rtl"] .dock-item:hover::after {
  transform: translateY(-50%) translateX(0);
}
[dir="rtl"] .timeline { padding-left: 0; padding-right: 26px; }
[dir="rtl"] .timeline::before { left: auto; right: 6px; }
[dir="rtl"] .tl-item::before { left: auto; right: -25px; }
[dir="rtl"] .doc-row:hover { transform: translateX(-3px); }
[dir="rtl"] .avatar-stack .av { margin-left: 0; margin-right: 0; }
[dir="rtl"] .avatar-stack .av:first-child { margin-right: 0; }
.shell { position: relative; z-index: 1; min-height: 100vh; }
.shell .main { width: 100%; max-width: none; min-width: 0; }
.panel.show { display: block; width: 100%; }
.dossier-card.ghost:hover { transform: none; }

/* Fluidité globale — interactions type SaaS */
a, button, [role="button"], .dock-item, .doc-row, .dossier-card {
  -webkit-tap-highlight-color: transparent;
}
@media (prefers-reduced-motion: no-preference) {
  .dossier-card:not(.ghost), .doc-row {
    transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease;
  }
  .dossier-card:not(.ghost):hover, .doc-row:hover {
    transform: translateY(-2px);
  }
}

.lexhub-boot-overlay,
.sanad-boot-overlay{
  position:fixed; inset:0; z-index:99990;
  display:flex; align-items:center; justify-content:center;
  background: radial-gradient(ellipse at 50% 42%, #FBFCFE 0%, #EEF1F8 52%, #DCE4F5 100%);
}
.lexhub-boot-overlay--in-page,
.sanad-boot-overlay--in-page{
  position:relative; min-height: 56vh; background: transparent;
}
.lexhub-loader,
.sanad-loader{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:26px; padding: 12px;
}
.lexhub-loader__scene,
.sanad-loader__scene{
  position:relative;
  width: 260px; height: 260px;
  display:flex; align-items:center; justify-content:center;
}
.lexhub-loader--compact .lexhub-loader__scene,
.sanad-loader--compact .sanad-loader__scene{ width:180px; height:180px; }
.lexhub-loader__stage,
.sanad-loader__stage{
  position:relative; z-index:1; perspective: 900px;
  display:flex; align-items:center; justify-content:center;
}
.lexhub-loader__orbit,
.sanad-loader__orbit{
  position:absolute; inset: 18px;
  border-radius:50%;
  border: 1.5px solid rgba(196,151,63,.22);
  border-top-color: #C4973F;
  border-left-color: transparent;
  animation: sanad-orbit 1.65s linear infinite;
  pointer-events:none;
}
.lexhub-loader__orbit--slow,
.sanad-loader__orbit--slow{
  inset: 2px;
  border-color: rgba(14,21,38,.07);
  border-bottom-color: rgba(196,151,63,.5);
  animation-duration: 3.2s;
  animation-direction: reverse;
}
.lexhub-loader__glow,
.sanad-loader__glow{
  position:absolute; inset:-38%;
  border-radius:50%;
  background: radial-gradient(circle, rgba(232,197,119,.58) 0%, rgba(196,151,63,.14) 40%, transparent 70%);
  animation: sanad-glow-pulse 2s ease-in-out infinite;
  pointer-events:none;
}
.lexhub-loader__cube,
.sanad-loader__cube{
  position:relative; z-index:1;
  object-fit:contain;
  filter: drop-shadow(0 18px 36px rgba(14,21,38,.32));
  transform-style: preserve-3d;
  animation: sanad-cube-spin 2.6s cubic-bezier(.45,.05,.55,.95) infinite;
}
.lexhub-loader__bar,
.sanad-loader__bar{
  width: 148px; height: 3px;
  border-radius: 999px;
  background: rgba(14,21,38,.08);
  overflow:hidden; position:relative;
}
.lexhub-loader__fill,
.sanad-loader__fill{
  position:absolute; inset:0 auto 0 0;
  width: 40%;
  border-radius:inherit;
  background: linear-gradient(90deg, #8a6321, #C4973F, #F7E7B8, #C4973F);
  animation: sanad-bar-run 1.25s cubic-bezier(.22,1,.36,1) infinite;
}
.lexhub-route-bar,
.sanad-route-bar{
  position:fixed; top:0; left:0; right:0; height:3px; z-index:99999;
  pointer-events:none; overflow:hidden;
}
.lexhub-route-bar span,
.sanad-route-bar span{
  display:block; height:100%; width:38%;
  background: linear-gradient(90deg, transparent, #4C7CFF, #A8C0FF, transparent);
  animation: sanad-bar-run 620ms cubic-bezier(.22,1,.36,1) infinite;
}
@keyframes sanad-cube-spin{
  0%{ transform: rotateY(0deg) rotateX(10deg) translateY(0); }
  45%{ transform: rotateY(190deg) rotateX(-8deg) translateY(-10px) scale(1.07); }
  100%{ transform: rotateY(360deg) rotateX(10deg) translateY(0); }
}
@keyframes sanad-orbit{ to{ transform: rotate(360deg); } }
@keyframes sanad-glow-pulse{
  0%,100%{ opacity:.4; transform: scale(.88); }
  50%{ opacity:1; transform: scale(1.14); }
}
@keyframes sanad-bar-run{
  0%{ transform: translateX(-130%); }
  100%{ transform: translateX(340%); }
}

.dict-ctrls{ z-index: 4; position:relative; min-height: 52px; }
.dict-btn{ min-height: 42px; }

@media (prefers-reduced-motion: reduce) {
  .blob, .orb span, .wave i, .status-pill::before, .drop-zone, .dict-btn--start, .dict-btn--stop svg, .sanad-loader__cube, .sanad-loader__orbit, .sanad-loader__glow, .sanad-loader__fill, .sanad-route-bar span, .sanad-tour__hole, .sanad-tour__bar i { animation: none !important; }
}


/* —— Onboarding tour —— */
.sanad-tour{
  position:fixed; inset:0; z-index:100000;
  pointer-events:none;
}
.sanad-tour__veil{
  position:absolute; inset:0;
  background: transparent;
  pointer-events:auto;
}
.sanad-tour__dim{
  position:fixed; inset:0;
  background: rgba(8, 14, 28, 0.52);
  pointer-events:none;
  z-index:1;
}
.sanad-tour__hole{
  position:fixed;
  border-radius: 14px;
  background: transparent;
  box-shadow:
    0 0 0 9999px rgba(8, 14, 28, 0.55),
    0 0 0 2px rgba(255, 255, 255, 0.92),
    0 0 0 4px rgba(11, 26, 77, 0.35);
  pointer-events:none;
  z-index:1;
}
.sanad-tour-target{
  border-radius: 12px !important;
}
.sanad-tour__card{
  position:fixed;
  width: min(300px, calc(100vw - 28px));
  pointer-events:auto;
  z-index:2;
  padding: 16px 16px 12px;
  border-radius: 16px;
  border: 1px solid rgba(14, 21, 38, 0.08);
  background: #fff;
  box-shadow:
    0 4px 6px rgba(8, 14, 28, 0.04),
    0 18px 40px rgba(8, 14, 28, 0.18);
  color: var(--ink);
}
.sanad-tour__arrow{
  position:absolute;
  width: 12px; height: 12px;
  background: #fff;
  border: 1px solid rgba(14,21,38,0.08);
  transform: rotate(45deg);
  z-index: -1;
}
.sanad-tour__arrow--up{
  top: -6px; left: 50%; margin-inline-start: -6px;
  border-right:0; border-bottom:0;
}
.sanad-tour__arrow--down{
  bottom: -6px; left: 50%; margin-inline-start: -6px;
  border-left:0; border-top:0;
}
.sanad-tour__arrow--left{
  left: -6px; top: 48px;
  border-right:0; border-top:0;
}
.sanad-tour__arrow--right{
  right: -6px; top: 48px;
  border-left:0; border-bottom:0;
}
.sanad-tour__progress{
  display:flex; align-items:center; gap:10px;
  margin-bottom: 12px;
  font-size:11px; font-weight:600; letter-spacing:.02em;
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
}
.sanad-tour__bar{
  flex:1; height:3px; border-radius:999px;
  background: rgba(14,21,38,0.08); overflow:hidden;
}
.sanad-tour__bar i{
  display:block; height:100%;
  border-radius:inherit;
  background: var(--royal-700, #0b1a4d);
}
.sanad-tour__card h2{
  margin:0 0 6px;
  font-family: var(--font-inter), Inter, system-ui, sans-serif;
  font-size:16px; font-weight:700; line-height:1.3;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.sanad-tour__card p{
  margin:0 0 14px;
  font-family: var(--font-inter), Inter, system-ui, sans-serif;
  font-size:13px; line-height:1.5; color: var(--ink-soft);
}
.sanad-tour__actions{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
}
.sanad-tour__nav{ display:flex; gap:6px; align-items:center; }
.sanad-tour__ghost,
.sanad-tour__primary{
  border:0; cursor:pointer;
  border-radius:10px;
  padding: 8px 12px;
  font-size:12.5px; font-weight:600;
  font-family: inherit;
  transition: transform .15s ease, background .15s ease, color .15s ease;
}
.sanad-tour__ghost{
  background: transparent; color: var(--ink-soft);
}
.sanad-tour__ghost:hover{ color: var(--ink); background: rgba(14,21,38,0.04); }
.sanad-tour__ghost:disabled{ opacity:.35; cursor:not-allowed; }
.sanad-tour__primary{
  background: var(--royal-800, #0a1742);
  color:#fff;
  box-shadow: 0 6px 14px rgba(11,26,77,0.22);
}
.sanad-tour__primary:hover{ background: var(--royal-700, #0b1a4d); }
.sanad-tour__primary:active{ transform: scale(.98); }

@media (max-width: 720px){
  .sanad-tour__card{
    width: min(320px, calc(100vw - 24px));
  }
  .sanad-tour__hole{
    border-radius: 12px;
  }
}

/* ---------- Public navbar — blur royal wow ---------- */
.sanad-public-nav{
  /* visible : sinon les menus au survol sont coupés / « masqués » */
  overflow: visible;
  z-index: 200;
}
.sanad-public-nav--dark{
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  border-bottom:1px solid rgba(140,170,255,0.2);
  background: linear-gradient(180deg, rgba(7,16,51,0.88) 0%, rgba(11,26,77,0.78) 100%);
  backdrop-filter: blur(22px) saturate(1.35);
  -webkit-backdrop-filter: blur(22px) saturate(1.35);
  box-shadow: 0 10px 40px rgba(7,16,51,0.35), 0 0 48px rgba(76,124,255,0.22);
}
.sanad-public-nav--light{
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  border-bottom:1px solid rgba(76,124,255,0.14);
  background: linear-gradient(180deg, rgba(251,252,254,0.92) 0%, rgba(238,241,248,0.86) 100%);
  backdrop-filter: blur(20px) saturate(1.25);
  -webkit-backdrop-filter: blur(20px) saturate(1.25);
  box-shadow: 0 8px 28px rgba(11,26,77,0.08), 0 0 36px rgba(76,124,255,0.12);
}
.sanad-public-nav__glow{
  position:absolute;
  inset:-40% -10% auto -10%;
  height:140%;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(ellipse 55% 90% at 18% 30%, rgba(76,124,255,0.42), transparent 62%),
    radial-gradient(ellipse 45% 80% at 82% 20%, rgba(27,63,156,0.28), transparent 65%),
    radial-gradient(ellipse 40% 70% at 50% 100%, rgba(76,124,255,0.18), transparent 70%);
  filter: blur(28px);
  opacity:0.9;
  animation: sanad-nav-glow 6.5s ease-in-out infinite;
}
.sanad-public-nav--light .sanad-public-nav__glow{
  background:
    radial-gradient(ellipse 55% 90% at 15% 40%, rgba(76,124,255,0.22), transparent 62%),
    radial-gradient(ellipse 40% 80% at 85% 30%, rgba(27,63,156,0.12), transparent 65%);
  opacity:0.75;
}
@keyframes sanad-nav-glow{
  0%,100%{ opacity:0.7; transform: scale(1) translateY(0); }
  50%{ opacity:1; transform: scale(1.04) translateY(-4px); }
}
@media (prefers-reduced-motion: reduce){
  .sanad-public-nav__glow{ animation:none !important; }
}


/* ---------- Confirm dialog (remplace window.confirm) ---------- */
.lexhub-confirm-root,
.sanad-confirm-root{
  position:fixed; inset:0; z-index:1200;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
}
.lexhub-confirm-backdrop,
.sanad-confirm-backdrop{
  position:absolute; inset:0; border:0; cursor:pointer;
  background: rgba(7,16,51,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.lexhub-confirm-card,
.sanad-confirm-card{
  position:relative; z-index:1;
  width:min(420px, 100%);
  padding:26px 24px 20px;
  border-radius:22px;
  background: linear-gradient(160deg, rgba(251,252,254,0.96), rgba(238,241,248,0.92));
  border:1px solid rgba(76,124,255,0.22);
  box-shadow: 0 24px 60px rgba(7,16,51,0.35), 0 0 40px rgba(76,124,255,0.18);
  overflow:hidden;
}
.sanad-confirm-close{
  position:absolute; top:12px; right:12px; z-index:5;
  width:34px; height:34px; border:none; border-radius:10px;
  background:rgba(11,26,77,0.06); color:#5a6478;
  font-size:15px; line-height:1; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
}
.sanad-confirm-close:hover{
  background:rgba(11,26,77,0.12); color:#0B1A4D;
}
[dir="rtl"] .sanad-confirm-close{ right:auto; left:12px; }
.sanad-confirm-card--danger{
  border-color: rgba(185,28,28,0.28);
  box-shadow: 0 24px 60px rgba(7,16,51,0.35), 0 0 36px rgba(185,28,28,0.16);
}
.sanad-confirm-glow{
  position:absolute; inset:-40% -20% auto -20%; height:70%;
  background: radial-gradient(ellipse at 50% 40%, rgba(76,124,255,0.28), transparent 70%);
  filter: blur(20px); pointer-events:none;
}
.sanad-confirm-card--danger .sanad-confirm-glow{
  background: radial-gradient(ellipse at 50% 40%, rgba(239,68,68,0.22), transparent 70%);
}
.sanad-confirm-icon{
  position:relative; z-index:1;
  width:44px; height:44px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  margin: 0 auto 14px;
  color:#fff;
  background: linear-gradient(155deg, var(--royal-700), var(--royal-900));
  box-shadow: 0 0 22px rgba(76,124,255,0.4);
}
.sanad-confirm-card--danger .sanad-confirm-icon{
  background: linear-gradient(155deg, #dc2626, #991b1b);
  box-shadow: 0 0 22px rgba(220,38,38,0.35);
}
.sanad-confirm-fly{
  position:relative; z-index:1;
  height:72px;
  margin: 0 auto 12px;
  display:flex; align-items:center; justify-content:center;
  gap: 10px;
}
.sanad-confirm-fly__item{
  color: #FF6A00;
  filter: drop-shadow(0 0 10px rgba(255,106,0,0.55));
}
.sanad-confirm-fly__trash{
  width:52px; height:52px; border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  color:#fff;
  background: linear-gradient(155deg, #FF6A00, #E85A00 60%, #b91c1c);
  box-shadow: 0 0 28px rgba(255,106,0,0.45);
}
.sanad-confirm-title{
  position:relative; z-index:1;
  font-family: var(--font-fraunces), Fraunces, serif;
  font-size:22px; font-weight:600; color: var(--ink);
  margin:0 0 8px;
  text-align:center;
}
.sanad-confirm-desc{
  position:relative; z-index:1;
  font-size:14px; line-height:1.55; color: var(--ink-soft);
  margin:0 0 16px;
  text-align:center;
}
.sanad-confirm-preview{
  position:relative; z-index:1;
  margin: 0 0 16px;
  padding: 14px 16px;
  border-radius: 14px;
  text-align: start;
  background: var(--parchment, #f7f4ee);
  border: 1px solid rgba(11, 26, 77, 0.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.65);
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}
.sanad-confirm-preview__ref{
  font-weight: 700;
  font-size: 14.5px;
  color: var(--navy, #0b1a4d);
  margin: 0 0 6px;
}
.sanad-confirm-preview__row{
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  color: var(--ink-soft);
  margin: 0 0 4px;
}
.sanad-confirm-preview__row strong{
  color: var(--ink);
  font-weight: 600;
}
.sanad-confirm-preview__meta{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 10px;
  font-size: 12px;
}
.sanad-confirm-preview__chip{
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(11, 26, 77, 0.06);
  border: 1px solid rgba(11, 26, 77, 0.1);
  color: var(--navy, #0b1a4d);
  font-weight: 600;
}
.sanad-confirm-preview__docs{
  margin: 0;
  padding-inline-start: 1.1em;
  padding-inline-end: 0;
  color: var(--ink-soft);
  font-size: 12.5px;
}
.sanad-confirm-preview__docs li{
  margin: 2px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sanad-confirm-preview__warn{
  margin: 12px 0 0;
  padding: 9px 11px;
  border-radius: 10px;
  background: rgba(185, 28, 28, 0.07);
  border: 1px solid rgba(185, 28, 28, 0.18);
  color: #991b1b;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}
.sanad-confirm-card:has(.sanad-confirm-preview){
  width: min(480px, 100%);
}
.sanad-confirm-type{
  position:relative; z-index:1;
  display:flex; flex-direction:column; gap:8px;
  margin-bottom:18px;
  font-size:12px; font-weight:600; color: var(--ink-soft);
}
.sanad-confirm-type input{
  border:1px solid rgba(76,124,255,0.28);
  border-radius:12px;
  padding:11px 14px;
  font-size:14px;
  background:#fff;
  color: var(--ink);
  outline:none;
}
.sanad-confirm-type input:focus{
  border-color: var(--royal-glow);
  box-shadow: 0 0 0 4px rgba(76,124,255,0.18);
}
.sanad-confirm-actions{
  position:relative; z-index:1;
  display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap;
}
.sanad-confirm-btn{
  border:0; cursor:pointer;
  border-radius:12px;
  padding:10px 16px;
  font-size:13.5px; font-weight:700;
  transition: transform .15s ease, box-shadow .2s ease, opacity .15s;
}
.sanad-confirm-btn:disabled{ opacity:.4; cursor:not-allowed; }
.sanad-confirm-btn--ghost{
  background: rgba(255,255,255,0.75);
  color: var(--ink-soft);
  border:1px solid var(--line);
}
.sanad-confirm-btn--ghost:hover{ color: var(--ink); }
.sanad-confirm-btn--primary{
  background: linear-gradient(155deg, var(--royal-glow), var(--royal-700) 50%, var(--royal-900));
  color:#fff;
  box-shadow: 0 8px 22px rgba(11,26,77,0.28), 0 0 20px rgba(76,124,255,0.3);
}
.sanad-confirm-btn--primary:hover{ transform: translateY(-1px); }
.sanad-confirm-btn--danger{
  background: linear-gradient(155deg, #ef4444, #b91c1c);
  color:#fff;
  box-shadow: 0 8px 22px rgba(185,28,28,0.28);
}
.sanad-confirm-btn--danger:hover:not(:disabled){ transform: translateY(-1px); }

.topbar-ico{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:999px;
  border:1px solid rgba(76,124,255,0.2);
  background: rgba(255,255,255,0.82);
  color: var(--ink-soft);
  box-shadow: 0 0 16px rgba(76,124,255,0.12);
  transition: .22s ease;
  text-decoration:none;
}
.topbar-ico:hover{
  border-color: rgba(76,124,255,0.45);
  color: var(--ink);
  box-shadow: 0 0 22px rgba(76,124,255,0.28);
}
.topbar-ico__glyph{ display:block; }
.topbar-ico--settings .topbar-ico__glyph{
  animation: topbar-gear 9s linear infinite;
}
.topbar-ico--settings:hover .topbar-ico__glyph{
  animation-duration: 1.4s;
}
.topbar-ico--alert .topbar-ico__glyph{
  animation: topbar-bell 1.15s ease-in-out infinite;
  color: #E85A00;
}
.topbar-ico__badge{
  position:absolute; top:2px; inset-inline-end:2px;
  min-width:16px; height:16px; padding:0 4px;
  border-radius:999px;
  background: linear-gradient(155deg, #FF6A00, #E85A00);
  color:#fff; font-size:9px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 0 10px rgba(255,106,0,0.55);
  line-height:1;
}
.topbar-bell-wrap{ position:relative; z-index:90; }
.topbar-notif-panel{
  position:absolute; top:calc(100% + 10px); inset-inline-end:0;
  width:min(360px, calc(100vw - 24px));
  max-height:min(70vh, 420px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  z-index:100;
  border-radius:14px;
  border:1px solid rgba(14,21,38,0.08);
  background:#fff;
  box-shadow: 0 18px 40px rgba(8,14,28,0.18);
  padding:8px;
}
/* Portail body : panneau fixe (desktop) / feuille bas (mobile) */
body > .topbar-notif-panel{
  position: fixed;
  top: 4.25rem;
  inset-inline-end: 0.75rem;
  inset-inline-start: auto;
  z-index: 100050;
  max-height: min(70vh, 440px);
}
body > .topbar-notif-panel--sheet{
  top: auto;
  bottom: 0;
  inset-inline-start: 0;
  inset-inline-end: 0;
  width: 100%;
  max-width: 100%;
  max-height: min(78dvh, 560px);
  border-radius: 18px 18px 0 0;
  padding: 12px 12px calc(12px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -12px 40px rgba(8,14,28,0.22);
}
.topbar-sheet-backdrop{
  position: fixed;
  inset: 0;
  z-index: 100040;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgba(10, 18, 40, 0.42);
  cursor: pointer;
}
.topbar-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
  position:relative;
  z-index:50;
}
.topbar-notif-panel__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:6px 8px 10px;
  font-size:12px; font-weight:700; color:var(--ink);
}
.topbar-notif-panel__clear{
  border:0; background:transparent; cursor:pointer;
  font-size:11px; font-weight:600; color:var(--royal-700,#0b1a4d);
}
.topbar-notif-empty{
  margin:0; padding:16px 10px; text-align:center;
  font-size:12px; color:var(--ink-soft);
}
.topbar-notif-item{
  display:flex; flex-direction:column; gap:2px; width:100%;
  text-align:start; border:0; cursor:pointer;
  border-radius:10px; padding:10px;
  background:transparent; color:var(--ink);
  text-decoration:none;
}
.topbar-notif-item:hover{ background:rgba(14,21,38,0.04); }
.topbar-notif-item strong{ font-size:12.5px; font-weight:700; line-height:1.3; white-space: normal; word-break: break-word; }
.topbar-notif-item span{ font-size:11.5px; color:var(--ink-soft); line-height:1.4; white-space: normal; word-break: break-word; }
.topbar-notif-item--unread{ background:rgba(11,26,77,0.05); }
.topbar-notif-item--unread strong::before{
  content:""; display:inline-block; width:6px; height:6px; border-radius:50%;
  background:#2563eb; margin-inline-end:6px; vertical-align:middle;
}
@keyframes topbar-gear{
  from{ transform: rotate(0deg); }
  to{ transform: rotate(360deg); }
}
@keyframes topbar-bell{
  0%,100%{ transform: rotate(0deg); }
  12%{ transform: rotate(14deg); }
  24%{ transform: rotate(-12deg); }
  36%{ transform: rotate(10deg); }
  48%{ transform: rotate(-6deg); }
  60%{ transform: rotate(0deg); }
}
@media (prefers-reduced-motion: reduce){
  .topbar-ico--settings .topbar-ico__glyph,
  .topbar-ico--alert .topbar-ico__glyph{ animation: none !important; }
}

.plea-library__filters{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.plea-library__search{
  min-width: 200px;
  flex: 1 1 200px;
}
.plea-library__chips{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.plea-library__selects{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.plea-carousel{ margin-bottom: 18px; }
.plea-pipe{
  margin: 0 0 16px;
  padding: 16px 18px 14px;
  border-radius: 16px;
  border: 1px solid rgba(27,63,156,0.14);
  background: linear-gradient(180deg, #fff 0%, #F7F8FC 100%);
}
.plea-pipe__meta{ margin-bottom: 14px; }
.plea-pipe__kicker{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #FF6A00;
}
.plea-pipe__title{
  margin: 4px 0 0;
  font-family: var(--font-display, Georgia, serif);
  font-size: 1.35rem;
  font-weight: 600;
  color: #0B1A4D;
}
.plea-pipe__hint{
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--ink-soft, #5c6b80);
}
.plea-pipe__rail{
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 4px;
  padding: 6px 2px 0;
}
.plea-pipe__track{
  position: absolute;
  left: 18px;
  right: 18px;
  top: 18px;
  height: 3px;
  border-radius: 99px;
  background: rgba(11,26,77,0.1);
  overflow: hidden;
  pointer-events: none;
}
.plea-pipe__fill{
  display: block;
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, #3b5cde, #ff8a2d);
  transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.plea-pipe__node{
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 2px;
  color: #6b778c;
}
.plea-pipe__dot{
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid currentColor;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  box-shadow: 0 0 0 4px #fff;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.plea-pipe__node.is-active .plea-pipe__dot{
  transform: scale(1.12);
  box-shadow: 0 0 0 4px #fff, 0 0 0 7px rgba(255,138,45,0.35);
  animation: plea-pipe-pulse 1.8s ease-in-out infinite;
}
@keyframes plea-pipe-pulse {
  0%, 100% { box-shadow: 0 0 0 4px #fff, 0 0 0 7px rgba(255,138,45,0.25); }
  50% { box-shadow: 0 0 0 4px #fff, 0 0 0 10px rgba(59,92,222,0.2); }
}
.plea-pipe__name{
  font-size: 11px;
  font-weight: 600;
  text-align: center;
  line-height: 1.2;
  max-width: 88px;
}
.plea-pipe__next{
  margin-top: 14px;
  width: 100%;
  border: none;
  border-radius: 10px;
  padding: 11px 16px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  color: #08091a;
  background: linear-gradient(120deg, #3b5cde, #ff8a2d);
}
.plea-pipe__next:hover{ filter: brightness(1.05); }
.plea-pipe__done{
  margin: 12px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: #1B3F9C;
  text-align: center;
}
html[data-theme="dark"] .plea-pipe{
  background: #151D30;
  border-color: rgba(232,238,248,0.12);
}
html[data-theme="dark"] .plea-pipe__title{ color: #F2F5FC; }
html[data-theme="dark"] .plea-pipe__dot{ box-shadow: 0 0 0 4px #151D30; }
html[data-theme="dark"] .plea-pipe__track{ background: rgba(232,238,248,0.12); }
@media (max-width: 640px) {
  .plea-pipe__name{ display: none; }
  .plea-pipe__node.is-active .plea-pipe__name{ display: block; }
}
@media (prefers-reduced-motion: reduce) {
  .plea-pipe__node.is-active .plea-pipe__dot{ animation: none; }
  .plea-pipe__fill{ transition: none; }
}
.plea-carousel__stage{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  height: 132px;
  margin: 0 auto 10px;
  max-width: 560px;
}
.plea-carousel__track{
  position:relative;
  width:100%; height:100%;
}
.plea-carousel__card{
  position:absolute; left:50%; top:50%;
  width:116px; min-height:96px;
  border-radius:18px;
  border:1px solid var(--line);
  background: linear-gradient(160deg, #fff, var(--parchment));
  padding:12px 10px 10px;
  display:flex; flex-direction:column; align-items:center; gap:6px;
  cursor:pointer;
  transform-style: preserve-3d;
  outline:none;
}
.plea-carousel__card.is-active{ background: #fff; }
.plea-carousel__badge{
  position:absolute; top:6px; inset-inline-end:6px;
  width:18px; height:18px; border-radius:999px;
  font-size:10px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  background: rgba(14,21,38,0.08); color: var(--ink-soft);
}
.plea-carousel__badge.badge-done{ background: rgba(31,111,84,0.18); color: var(--emerald); }
.plea-carousel__badge.badge-current{ background: rgba(255,106,0,0.18); color: #E85A00; }
.plea-carousel__icon{
  width:36px; height:36px; border-radius:12px;
  border:1px solid; display:flex; align-items:center; justify-content:center;
}
.plea-carousel__label{
  font-size:12.5px; font-weight:700; color: var(--ink);
  font-family: var(--font-fraunces), Fraunces, serif;
}
.plea-carousel__hint{
  font-size:10px; color: var(--ink-soft); text-align:center; line-height:1.25;
  max-width:100%;
}
.plea-carousel__nav{
  position:absolute; z-index:5; top:50%; transform: translateY(-50%);
  width:34px; height:34px; border-radius:999px;
  border:1px solid var(--line); background: rgba(255,255,255,0.9);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; color: var(--ink-soft);
  box-shadow: var(--shadow-sm);
}
.plea-carousel__nav:disabled{ opacity:0.35; cursor:not-allowed; }
.plea-carousel__nav--prev{ left: 0; }
.plea-carousel__nav--next{ right: 0; }
[dir="rtl"] .plea-carousel__nav--prev{ left: auto; right: 0; }
[dir="rtl"] .plea-carousel__nav--next{ right: auto; left: 0; }
.plea-stepbar{
  display:flex; flex-wrap:wrap; justify-content:center; gap:6px;
  max-width: 640px; margin: 0 auto 6px;
}
.plea-stepbar__item{
  display:inline-flex; align-items:center; gap:6px;
  border:1px solid var(--line); background: #fff;
  border-radius:999px; padding:6px 10px;
  font-size:11.5px; font-weight:650; color: var(--ink-soft);
  cursor:pointer; transition: .2s ease;
}
.plea-stepbar__item:hover{ border-color: rgba(76,124,255,0.35); color: var(--ink); }
.plea-stepbar__item.is-active{
  color: var(--ink);
  border-color: rgba(255,106,0,0.4);
  box-shadow: 0 0 0 3px rgba(255,106,0,0.12);
}
.plea-stepbar__item.is-done{ color: var(--emerald); }
.plea-stepbar__dot{
  width:7px; height:7px; border-radius:50%;
  background: rgba(14,21,38,0.2);
}
.plea-step-panel{ animation: rise .35s cubic-bezier(.2,.9,.25,1); }
.plea-workspace{ min-height: 280px; }
.plea-step-actions{
  display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap;
  margin-top: 16px;
}
@media (max-width: 640px){
  .plea-carousel__stage{ height: 118px; max-width: 100%; }
  .plea-carousel__card{ width: 100px; min-height: 88px; }
  .plea-stepbar__text{ display:none; }
  .plea-stepbar__item.is-active .plea-stepbar__text{ display:inline; }
}


.plea-hero{ margin-bottom: 22px; }
.plea-hero__brand{
  font-size: 12px; font-weight: 700; letter-spacing: 0.06em;
  color: var(--gold-deep, #8a6a2a); margin: 0 0 6px;
  text-transform: none;
}
.plea-success{
  margin: 16px 0 8px; padding: 22px 20px; border-radius: 18px;
  border: 1px solid rgba(201,168,74,0.35);
  background: linear-gradient(145deg, rgba(255,252,246,0.98), rgba(232,240,255,0.55));
  text-align: center;
  animation: rise .4s cubic-bezier(.2,.9,.25,1);
}
.plea-success__eyebrow{
  margin: 0 0 4px; font-size: 11px; font-weight: 700;
  letter-spacing: 0.08em; color: var(--gold-deep, #8a6a2a);
}
.plea-success__title{
  margin: 0 0 8px; font-size: 1.45rem; font-weight: 700;
  color: var(--ink); font-family: var(--font-display), serif;
}
.plea-success__sub{
  margin: 0 auto 14px; max-width: 36rem; font-size: 13.5px;
  color: var(--ink-soft); line-height: 1.55;
}
.plea-success__actions{
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
}



/* Upload destination modal — fichier d'abord, puis emplacement */
.upload-dest-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(14, 21, 38, 0.45);
  backdrop-filter: blur(6px);
}
.upload-dest-card {
  width: min(440px, 100%);
  border-radius: 20px;
  padding: 22px 22px 18px;
  background: linear-gradient(165deg, #fffefb 0%, #f4f7ff 100%);
  border: 1px solid rgba(27, 63, 156, 0.14);
  box-shadow: 0 24px 60px rgba(14, 21, 38, 0.22);
}
.upload-dest-eyebrow {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1B3F9C;
  opacity: 0.85;
}
.upload-dest-title {
  margin: 0 0 6px;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.3;
}
.upload-dest-sub {
  margin: 0 0 14px;
  font-size: 13px;
  color: var(--ink-soft);
  line-height: 1.45;
}
.upload-dest-files {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 8px;
  max-height: 140px;
  overflow: auto;
}
.upload-dest-files li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(27, 63, 156, 0.06);
  border: 1px solid rgba(27, 63, 156, 0.1);
}
.upload-dest-file-ico { flex-shrink: 0; }
.upload-dest-file-name {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.upload-dest-file-size {
  flex-shrink: 0;
  font-size: 11px;
  color: var(--ink-mute);
}
.upload-dest-label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ink-soft);
}
.upload-dest-label select {
  width: 100%;
  border: 1px solid rgba(76, 124, 255, 0.28);
  border-radius: 12px;
  padding: 11px 14px;
  font-size: 14px;
  background: #fff;
  color: var(--ink);
}
.upload-dest-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.polish-preview.arabic-text {
  direction: rtl;
  unicode-bidi: isolate;
  text-align: right;
}

.polish-preview mark.polish-guess {
  background: rgba(255, 106, 0, 0.38);
  color: #7c2d12;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 4px;
  border-bottom: 2px solid #ea580c;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  animation: polish-guess-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes polish-guess-in {
  from {
    opacity: 0;
    background-color: transparent;
  }
  to {
    opacity: 1;
    background-color: rgba(234, 88, 12, 0.22);
  }
}

.polish-chip-btn {
  transition: opacity 0.18s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
  .polish-preview mark.polish-guess {
    animation: none;
  }
}

/* Assistance non-destructive (diff / variables / structure / lois) */
.plea-assist {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.plea-assist__banner {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 600;
  color: #1a2b4a;
  background: rgba(26, 43, 74, 0.06);
  border: 1px solid rgba(26, 43, 74, 0.12);
  border-radius: 12px;
  padding: 10px 12px;
}
.plea-assist__section {
  border: 1px solid rgba(197, 160, 40, 0.28);
  background: rgba(255, 252, 246, 0.92);
  border-radius: 14px;
  padding: 12px 14px;
}
.plea-assist__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: #1a2b4a;
  margin-bottom: 10px;
}
.plea-assist__actions {
  margin-inline-start: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.plea-assist__edit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 0;
  border-top: 1px solid rgba(26, 43, 74, 0.08);
}
.plea-assist__edit:first-of-type {
  border-top: none;
  padding-top: 0;
}
.plea-assist__edit-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}
.plea-assist__edit-text del {
  color: #9a3412;
  text-decoration: line-through;
  opacity: 0.85;
}
.plea-assist__edit-text ins {
  color: #166534;
  text-decoration: none;
  font-weight: 700;
  background: rgba(22, 101, 52, 0.1);
  padding: 0 4px;
  border-radius: 4px;
}
.plea-assist__removed-tag {
  color: #9a3412;
  font-weight: 700;
  font-size: 12px;
  background: rgba(234, 88, 12, 0.12);
  padding: 0 6px;
  border-radius: 4px;
}
.plea-assist__edit-btns {
  display: flex;
  gap: 6px;
}
.plea-assist__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.plea-assist__chip-label {
  opacity: 0.65;
  font-weight: 600;
  margin-inline-end: 6px;
  font-size: 11px;
}
.plea-assist__list {
  margin: 0;
  padding-inline-start: 1.1rem;
  font-size: 13px;
  line-height: 1.55;
  color: #334155;
}
.plea-assist__list li {
  margin-bottom: 8px;
}
.plea-assist__excerpt {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #64748b;
  font-style: normal;
}
.plea-assist__laws {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.plea-assist__law {
  padding-top: 8px;
  border-top: 1px solid rgba(26, 43, 74, 0.08);
}
.plea-assist__law:first-child {
  border-top: none;
  padding-top: 0;
}
.plea-assist__law p {
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 1.45;
}
.plea-assist__reason {
  color: #64748b !important;
  font-size: 12px !important;
}
.plea-assist__art {
  font-weight: 500;
  color: #64748b;
}

/* ── LexHub SaaS UX: ⌘K, skeleton, densité, focus ── */
.cmdk-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(15, 23, 42, 0.45);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 12vh 16px 24px;
  backdrop-filter: blur(4px);
}
.cmdk-panel {
  width: min(560px, 100%);
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(26, 43, 74, 0.12);
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.22);
  overflow: hidden;
}
.cmdk-input-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(26, 43, 74, 0.08);
}
.cmdk-input-row input {
  flex: 1;
  border: 0;
  outline: none;
  font-size: 15px;
  background: transparent;
  color: var(--ink, #0f172a);
}
.cmdk-kbd {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 6px;
  border: 1px solid rgba(26, 43, 74, 0.15);
  color: #64748b;
  background: #f8fafc;
}
.cmdk-results {
  max-height: 360px;
  overflow: auto;
  padding: 8px;
}
.cmdk-empty {
  padding: 24px 12px;
  text-align: center;
  font-size: 13px;
  color: #64748b;
  margin: 0;
}
.cmdk-item {
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 2px;
  text-align: start;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  cursor: pointer;
  color: inherit;
}
.cmdk-item.is-active,
.cmdk-item:hover {
  background: rgba(26, 43, 74, 0.06);
}
.cmdk-kind {
  grid-row: 1 / span 2;
  align-self: center;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
  background: #f1f5f9;
  padding: 4px 6px;
  border-radius: 6px;
}
.cmdk-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink, #0f172a);
}
.cmdk-sub {
  font-size: 12px;
  color: #64748b;
  grid-column: 2;
}
.cmdk-foot {
  display: flex;
  justify-content: space-between;
  padding: 8px 14px;
  border-top: 1px solid rgba(26, 43, 74, 0.08);
  font-size: 11px;
  color: #94a3b8;
}

.lexhub-skel {
  background: linear-gradient(90deg, #eef2f7 0%, #f8fafc 45%, #eef2f7 90%);
  background-size: 200% 100%;
  animation: lexhub-skel-shine 1.15s ease-in-out infinite;
}
@keyframes lexhub-skel-shine {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

html[data-density="compact"] .panel .rounded-2xl {
  padding-block: 0.75rem;
}
html[data-density="compact"] .grid.gap-3 {
  gap: 0.5rem;
}
html[data-density="compact"] .topbar {
  padding-block: 0.45rem;
}
html[data-density="compact"] .shell .card,
html[data-density="compact"] .shell .plea-step-panel.card,
html[data-density="compact"] .shell [class*="rounded-2xl"] {
  padding: 0.85rem 1rem;
}
html[data-density="compact"] .section-title {
  margin-bottom: 6px;
  font-size: 1.35rem;
}
html[data-density="compact"] .section-sub {
  font-size: 12px;
}
html[data-density="compact"] .dossiers-top {
  margin-bottom: 10px !important;
}
html[data-density="compact"] .dock-nav a,
html[data-density="compact"] .dock-nav button {
  padding-block: 6px;
}
html[data-density="compact"] .stat,
html[data-density="compact"] .kpi,
html[data-density="compact"] .meter {
  padding: 10px 12px;
}

/* Thème sombre — espace de travail uniquement (.shell) */
html[data-theme="dark"] .shell {
  --ink: #E8EEF8;
  --ink-soft: #9AA8C0;
  --parchment: #0C1424;
  --card: #151D30;
  --line: rgba(232, 238, 248, 0.12);
  --shadow: 0 20px 60px -20px rgba(0, 0, 0, 0.6);
  color: #E8EEF8;
  background: #0C1424;
}
/* Admin plateforme — dock animé + contenu (isolé du .shell cabinet) */
.admin-shell {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 100vh;
  width: 100%;
  background: #F4F6FA;
  overflow-x: hidden;
}
.admin-dock {
  position: sticky;
  top: 0;
  z-index: 40;
  height: 100vh;
  width: 204px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 20px 12px 16px;
  gap: 12px;
  background: transparent;
}
.admin-dock__brand {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  align-self: flex-start;
  margin-inline-start: 6px;
  background: linear-gradient(155deg, #1a2a55, #0A1228 60%);
  box-shadow: 0 0 0 1px rgba(201, 168, 74, 0.35), 0 12px 28px rgba(10, 18, 40, 0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.admin-dock__brand:hover {
  transform: translateY(-2px) scale(1.03);
}
.admin-dock__nav {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: rgba(251, 252, 254, 0.88);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  border: 1px solid rgba(11, 26, 77, 0.12);
  border-radius: 22px;
  padding: 8px;
  box-shadow: 0 16px 40px -24px rgba(10, 18, 40, 0.45);
  animation: admin-dock-in 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}
@keyframes admin-dock-in {
  from { opacity: 0; transform: translateX(-10px); }
  to { opacity: 1; transform: none; }
}
.admin-dock__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 6px 10px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #5A667A;
  font: inherit;
  text-align: start;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.2s ease, background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.admin-dock__item:hover {
  color: #0A1228;
  background: rgba(11, 26, 77, 0.06);
  transform: translateX(2px);
}
.admin-dock__item.is-active {
  color: #0A1228;
  background: linear-gradient(160deg, rgba(201, 168, 74, 0.28), rgba(201, 168, 74, 0.08));
  box-shadow: inset 0 0 0 1px rgba(201, 168, 74, 0.45);
}
.admin-dock__item--coach {
  margin-top: 4px;
  border-top: 1px solid rgba(11, 26, 77, 0.08);
  padding-top: 10px;
  border-radius: 12px;
}
.admin-dock__item--coach .admin-dock__label {
  color: #8a6d1f;
}
.admin-dock__item--coach.is-active .admin-dock__label {
  color: #0A1228;
}
.admin-dock__icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}
.admin-dock__item:hover .admin-dock__icon,
.admin-dock__item.is-active .admin-dock__icon {
  transform: scale(1.08);
}
.admin-dock__text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.admin-dock__label {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-dock__hint {
  font-size: 10px;
  font-weight: 500;
  color: #8A96AB;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-dock__item.is-active .admin-dock__hint,
.admin-dock__item:hover .admin-dock__hint {
  color: #6B7A90;
}
.admin-dock__logout {
  margin-top: auto;
  color: #9A3412;
}
.admin-dock__logout:hover {
  background: rgba(220, 38, 38, 0.1);
  color: #B91C1C;
}
@media (max-width: 720px) {
  .admin-dock { width: 72px; padding-inline: 8px; }
  .admin-dock__text { display: none; }
  .admin-dock__item { justify-content: center; padding: 0; width: 44px; min-height: 44px; margin-inline: auto; }
  .admin-dock__item--coach { border-top: 0; padding-top: 0; margin-top: 0; }
  .admin-dock__nav { align-items: center; }
  .admin-dock__brand { align-self: center; margin-inline: 0; }
}
.admin-shell__main {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
}
.admin-shell__header {
  position: sticky;
  top: 0;
  z-index: 30;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  height: 3.5rem;
  padding: 0 1.25rem;
  border-bottom: 1px solid rgba(11, 26, 77, 0.08);
  background: rgba(244, 246, 250, 0.92);
  backdrop-filter: blur(12px);
}
.admin-shell__content {
  flex: 1;
  padding: 1.25rem 1.5rem 2rem;
}
.admin-report-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(10, 18, 40, 0.45);
  backdrop-filter: blur(4px);
  animation: admin-fade-in 0.22s ease;
}
.admin-report-modal {
  width: min(920px, 100%);
  max-height: min(88vh, 820px);
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(11, 26, 77, 0.1);
  box-shadow: 0 30px 80px -30px rgba(10, 18, 40, 0.55);
  animation: admin-modal-in 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
  overflow: hidden;
}
@keyframes admin-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes admin-modal-in {
  from { opacity: 0; transform: translateY(12px) scale(0.98); }
  to { opacity: 1; transform: none; }
}

html[data-theme="dark"] .admin-shell {
  background: #0C1424 !important;
  color: #E8EEF8;
}
html[data-theme="dark"] .admin-shell__header {
  background: rgba(12, 20, 36, 0.92) !important;
  border-color: rgba(232, 238, 248, 0.1) !important;
}
html[data-theme="dark"] .admin-dock__nav {
  background: rgba(21, 29, 48, 0.88);
  border-color: rgba(232, 238, 248, 0.12);
}
html[data-theme="dark"] .admin-dock__item {
  color: #A8B6D4;
}
html[data-theme="dark"] .admin-dock__item:hover,
html[data-theme="dark"] .admin-dock__item.is-active {
  color: #F2F5FC;
}
html[data-theme="dark"] .admin-dock__hint {
  color: #7A8BA8;
}
html[data-theme="dark"] .admin-dock__item--coach .admin-dock__label {
  color: #E2C36A;
}
html[data-theme="dark"] .admin-report-modal {
  background: #151D30;
  border-color: rgba(232, 238, 248, 0.12);
  --admin-pie-hole: #151D30;
  color: #E8EEF8;
}
html[data-theme="dark"] .admin-report-modal .fill-sanad-navy {
  fill: #E8EEF8;
}
html[data-theme="dark"] .admin-shell .text-sanad-navy,
html[data-theme="dark"] .admin-shell .text-sanad-slate,
html[data-theme="dark"] .admin-shell .text-\[\#0B1A4D\],
html[data-theme="dark"] .admin-shell .text-black,
html[data-theme="dark"] .admin-shell h1,
html[data-theme="dark"] .admin-shell h2,
html[data-theme="dark"] .admin-shell h3 {
  color: #E8EEF8 !important;
}
html[data-theme="dark"] .admin-shell .bg-white,
html[data-theme="dark"] .admin-shell .bg-slate-50,
html[data-theme="dark"] .admin-shell .bg-sanad-light,
html[data-theme="dark"] .admin-shell [class*="bg-white"],
html[data-theme="dark"] .admin-shell [class*="bg-slate-50"] {
  background: #151D30 !important;
  color: #E8EEF8 !important;
}
html[data-theme="dark"] .admin-shell .border-sanad-border,
html[data-theme="dark"] .admin-shell .border-sanad-stone,
html[data-theme="dark"] .admin-shell .border-slate-100,
html[data-theme="dark"] .admin-shell .border-slate-200 {
  border-color: rgba(232, 238, 248, 0.12) !important;
}
html[data-theme="dark"] .admin-shell .text-slate-600,
html[data-theme="dark"] .admin-shell .text-slate-500,
html[data-theme="dark"] .admin-shell .text-slate-700,
html[data-theme="dark"] .admin-shell .text-sanad-muted {
  color: #A8B6D4 !important;
}
html[data-theme="dark"] .admin-shell .bg-slate-100 {
  background: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] .admin-shell .card,
html[data-theme="dark"] .admin-shell [class*="rounded"][class*="border"] {
  border-color: rgba(232, 238, 248, 0.12);
}
html[data-theme="dark"] .admin-shell input,
html[data-theme="dark"] .admin-shell select,
html[data-theme="dark"] .admin-shell textarea {
  background: #0C1424 !important;
  border-color: rgba(232, 238, 248, 0.18) !important;
  color: #E8EEF8 !important;
}
html[data-theme="dark"] .admin-shell table thead {
  background: rgba(255, 255, 255, 0.04) !important;
}
html[data-theme="dark"] .admin-shell table td,
html[data-theme="dark"] .admin-shell table th {
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #E2E8F4 !important;
}
html[data-theme="dark"] .admin-shell button,
html[data-theme="dark"] .admin-shell a {
  color: inherit;
}
html[data-theme="dark"] .admin-report-overlay .text-sanad-navy,
html[data-theme="dark"] .admin-report-overlay .text-sanad-slate,
html[data-theme="dark"] .admin-report-overlay h2 {
  color: #E8EEF8 !important;
}
html[data-theme="dark"] .admin-report-overlay .text-slate-500,
html[data-theme="dark"] .admin-report-overlay .text-slate-600,
html[data-theme="dark"] .admin-report-overlay .text-slate-700 {
  color: #A8B6D4 !important;
}
html[data-theme="dark"] .admin-report-overlay .bg-slate-50,
html[data-theme="dark"] .admin-report-overlay .bg-white,
html[data-theme="dark"] .admin-report-overlay .bg-white\/70,
html[data-theme="dark"] .admin-report-overlay .bg-white\/80 {
  background: rgba(21, 29, 48, 0.95) !important;
  color: #E8EEF8 !important;
}

html[data-theme="dark"] .shell .card,
html[data-theme="dark"] .shell .panel,
html[data-theme="dark"] .shell .topbar,
html[data-theme="dark"] .shell .dock,
html[data-theme="dark"] .shell .plea-step-panel,
html[data-theme="dark"] .shell .doc-preview {
  background: var(--card);
  color: var(--ink);
  border-color: var(--line);
}
html[data-theme="dark"] .shell .topbar {
  background: rgba(12, 20, 36, 0.94) !important;
  border-bottom-color: rgba(232, 238, 248, 0.1) !important;
}
html[data-theme="dark"] .shell .section-sub,
html[data-theme="dark"] .shell .muted {
  color: var(--ink-soft);
}
html[data-theme="dark"] .blobs .blob {
  opacity: 0.18;
  mix-blend-mode: screen;
}

/* Dark: cartes / filtres / inputs — plus de blanc-sur-blanc (sauf bannières .lex-app-banner) */
html[data-theme="dark"] .shell .bg-white:not(.lex-app-banner),
html[data-theme="dark"] .shell .bg-white\/80:not(.lex-app-banner),
html[data-theme="dark"] .shell .bg-white\/50:not(.lex-app-banner),
html[data-theme="dark"] .shell [class*="bg-white"]:not(.lex-app-banner) {
  background-color: #1a2338 !important;
  color: #E8EEF8 !important;
}
html[data-theme="dark"] .shell :not(.lex-app-banner) .text-slate-600,
html[data-theme="dark"] .shell :not(.lex-app-banner) .text-slate-500,
html[data-theme="dark"] .shell :not(.lex-app-banner) .text-slate-700,
html[data-theme="dark"] .shell .text-sanad-navy:not(.lex-app-banner *):not(.lex-app-banner),
html[data-theme="dark"] .shell .text-\[\#0A1228\]:not(.lex-app-banner *),
html[data-theme="dark"] .shell .text-\[\#0B1A4D\]:not(.lex-app-banner *) {
  color: #C5D0E6 !important;
}
html[data-theme="dark"] .shell input,
html[data-theme="dark"] .shell select,
html[data-theme="dark"] .shell textarea {
  background-color: #121a2c !important;
  color: #E8EEF8 !important;
  border-color: rgba(232, 238, 248, 0.18) !important;
}
html[data-theme="dark"] .shell .section-title {
  color: #F2F5FC !important;
}
html[data-theme="dark"] .shell .chip-btn:not(.primary) {
  background: #1a2338;
  color: #E8EEF8;
  border-color: rgba(232, 238, 248, 0.2);
}
html[data-theme="dark"] .shell .rounded-2xl.border,
html[data-theme="dark"] .shell .rounded-xl.border {
  border-color: rgba(232, 238, 248, 0.14) !important;
}
html[data-theme="dark"] .shell .topbar .greeting,
html[data-theme="dark"] .shell .topbar .greeting b {
  color: #F2F5FC !important;
}

html.lexhub-focus .dock {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
@media (min-width: 881px) {
  html.lexhub-focus .dock {
    transform: translateX(-12px);
  }
}
html.lexhub-focus .topbar-identity,
html.lexhub-focus .lang-toggle {
  opacity: 0.35;
}
html.lexhub-focus .main .panel {
  max-width: 920px;
  margin-inline: auto;
}

.join-pipeline {
  box-shadow: 0 20px 50px rgba(8, 16, 40, 0.28);
}
.join-pipeline__line {
  animation: join-pipe-flow 2.4s ease-in-out infinite;
}

/* Aperçu plaidoirie in-app (format export) */
.plea-doc-preview {
  margin-top: 20px;
}
.plea-doc-preview__label {
  font-size: 12px;
  font-weight: 600;
  color: var(--ink-soft);
  margin: 0 0 10px;
  letter-spacing: 0.02em;
}
.plea-doc-preview__stage {
  border-radius: 16px;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #e8ecf4 0%, #dfe6f0 100%);
  padding: 16px 12px 20px;
  max-height: min(72vh, 820px);
  overflow: auto;
  display: flex;
  justify-content: center;
}
.plea-doc-preview__frame {
  width: min(100%, 640px);
  min-height: 780px;
  border: none;
  background: #fff;
  box-shadow:
    0 4px 6px rgba(11, 26, 77, 0.06),
    0 18px 48px rgba(11, 26, 77, 0.14);
  border-radius: 2px;
}
.plea-doc-preview__loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  width: min(100%, 640px);
  font-size: 13px;
  color: var(--ink-soft);
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 8px 28px rgba(11, 26, 77, 0.1);
}
@media (max-width: 640px) {
  .plea-doc-preview__frame {
    min-height: 560px;
  }
}
@keyframes join-pipe-flow {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 0.9; }
}

/* ——— LexHub product modal (bleu / orange) ——— */
.lex-modal {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: min(920px, 94vw);
  max-height: min(560px, 92vh);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
  z-index: 1;
}
.lex-text {
  background: #0a0e1c;
  color: #f4efe6;
  padding: 40px 36px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  overflow-y: auto;
}
.lex-tag {
  align-self: flex-start;
  border: 1px solid #ff8a2d;
  color: #ff8a2d;
  font-family: system-ui, sans-serif;
  font-size: 11px;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  border-radius: 2px;
  text-transform: uppercase;
}
.lex-title {
  font-family: var(--font-display, Georgia, "Iowan Old Style", serif);
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  line-height: 1.25;
  margin: 0;
  font-weight: 500;
  color: #f4efe6;
}
.lex-points {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
}
.lex-point {
  display: flex;
  gap: 12px;
  font-family: system-ui, sans-serif;
  font-size: 14.5px;
  line-height: 1.5;
  color: #d8d0c2;
}
.lex-point svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: #ff8a2d;
}
.lex-actions {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-family: system-ui, sans-serif;
  padding-top: 8px;
}
.lex-btn-primary,
.lex-btn-secondary {
  border: none;
  border-radius: 3px;
  padding: 12px 18px;
  font-size: 14px;
  cursor: pointer;
  font-family: system-ui, sans-serif;
  text-align: center;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.lex-btn-primary {
  background: linear-gradient(120deg, #3b5cde, #ff8a2d);
  color: #08091a;
  font-weight: 700;
}
.lex-btn-primary:hover {
  filter: brightness(1.06);
}
.lex-btn-secondary {
  background: transparent;
  color: #8b93b0;
}
.lex-btn-secondary:hover {
  color: #c5cad9;
}
.lex-visual {
  position: relative;
  background: radial-gradient(120% 120% at 20% 15%, #142868 0%, #0a1230 55%, #05070f 100%);
  overflow: hidden;
  min-height: 220px;
}
.lex-visual-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}
.lex-visual-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(ellipse 80% 70% at 50% 45%, rgba(10, 18, 48, 0.25) 0%, rgba(5, 7, 15, 0.72) 100%),
    linear-gradient(180deg, rgba(11, 26, 77, 0.35) 0%, rgba(5, 7, 15, 0.55) 100%);
  pointer-events: none;
}
.lex-visual .lex-blob,
.lex-visual .lex-particles,
.lex-visual .lex-orbit {
  z-index: 2;
  pointer-events: none;
}
.lex-visual .lex-close {
  z-index: 50;
  pointer-events: auto;
}
.lex-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(30px);
  mix-blend-mode: screen;
  pointer-events: none;
}
.lex-blob-blue {
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, rgba(59, 92, 222, 0.55) 0%, rgba(59, 92, 222, 0) 70%);
  top: -100px;
  left: -60px;
  animation: lex-float-a 12s ease-in-out infinite;
}
.lex-blob-orange {
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(255, 138, 45, 0.55) 0%, rgba(255, 138, 45, 0) 70%);
  bottom: -80px;
  right: -60px;
  animation: lex-float-b 9s ease-in-out infinite;
}
@keyframes lex-float-a {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(50px, 60px) scale(1.2); }
}
@keyframes lex-float-b {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-40px, -50px) scale(1.25); }
}
.lex-orbit {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.lex-ring {
  width: 260px;
  height: 260px;
  border-radius: 50%;
  border: 1px solid rgba(255, 138, 45, 0.35);
  position: relative;
  animation: lex-spin 18s linear infinite;
}
.lex-ring::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  width: 10px;
  height: 10px;
  margin-left: -5px;
  border-radius: 50%;
  background: #ff8a2d;
  box-shadow: 0 0 14px 4px rgba(255, 138, 45, 0.7);
}
.lex-ring-2 {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  border: 1px solid rgba(90, 120, 255, 0.4);
  animation: lex-spin-rev 12s linear infinite;
}
.lex-ring-2::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 8px;
  height: 8px;
  margin-left: -4px;
  border-radius: 50%;
  background: #5a8bff;
  box-shadow: 0 0 12px 4px rgba(90, 139, 255, 0.7);
}
@keyframes lex-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes lex-spin-rev {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}
.lex-particles span {
  position: absolute;
  bottom: -10px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  opacity: 0;
  animation: lex-rise linear infinite;
  pointer-events: none;
}
@keyframes lex-rise {
  0% { transform: translateY(0) scale(1); opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 0.6; }
  100% { transform: translateY(-360px) scale(0.4); opacity: 0; }
}
.lex-ping {
  position: absolute;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 1.5px solid rgba(90, 139, 255, 0.6);
  animation: lex-ping 3.6s ease-out infinite;
  pointer-events: none;
}
.lex-ping:nth-child(2) {
  animation-delay: 1.2s;
  border-color: rgba(255, 138, 45, 0.6);
}
.lex-ping:nth-child(3) {
  animation-delay: 2.4s;
}
@keyframes lex-ping {
  0% { transform: scale(1); opacity: 0.8; }
  100% { transform: scale(3.4); opacity: 0; }
}
.lex-gem-wrap {
  position: relative;
  z-index: 2;
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: lex-pulse 2.4s ease-in-out infinite;
}
@keyframes lex-pulse {
  0%, 100% {
    transform: scale(1);
    filter: drop-shadow(0 0 10px rgba(90, 139, 255, 0.6));
  }
  50% {
    transform: scale(1.08);
    filter: drop-shadow(0 0 22px rgba(255, 138, 45, 0.75));
  }
}
.lex-gem-wrap svg {
  width: 100%;
  height: 100%;
  animation: lex-spin 9s linear infinite;
}
.lex-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 50;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
}
/* X sur le cadre modal entier (hors vidéo) — toujours cliquable */
.lex-close--modal {
  top: 12px;
  right: 12px;
  z-index: 60;
  background: rgba(11, 26, 77, 0.88);
  border-color: rgba(255, 255, 255, 0.35);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}
[dir="rtl"] .lex-close--modal {
  right: auto;
  left: 12px;
}
@media (prefers-reduced-motion: reduce) {
  .lex-blob,
  .lex-ring,
  .lex-ring-2,
  .lex-particles span,
  .lex-ping,
  .lex-gem-wrap,
  .lex-gem-wrap svg {
    animation: none;
  }
}
@media (max-width: 640px) {
  .lex-modal {
    grid-template-columns: 1fr;
    max-height: none;
  }
  .lex-visual {
    height: 180px;
    order: -1;
  }
  .lex-text {
    padding: 28px 22px 24px;
  }
  .lex-ring {
    width: 160px;
    height: 160px;
  }
  .lex-ring-2 {
    width: 100px;
    height: 100px;
  }
}

/* Bannières app — contraste lisible en dark mode */
.lex-app-banner {
  color: #0a1228;
}
.lex-app-banner strong {
  color: inherit;
}
html[data-theme="dark"] .shell .lex-app-banner {
  background: #1a2338 !important;
  border-color: rgba(255, 138, 45, 0.35) !important;
  color: #f2f5fc !important;
  box-shadow: none;
}
html[data-theme="dark"] .shell .lex-app-banner.lex-app-banner--urgent {
  background: linear-gradient(90deg, #2a1a12, #1a2338) !important;
  border-color: rgba(255, 138, 45, 0.55) !important;
}
html[data-theme="dark"] .shell .lex-app-banner.lex-app-banner--info {
  background: #162033 !important;
  border-color: rgba(90, 139, 255, 0.35) !important;
}
html[data-theme="dark"] .shell .lex-app-banner.lex-app-banner--danger {
  background: linear-gradient(90deg, #2a1218, #1a2338) !important;
  border-color: rgba(248, 113, 113, 0.45) !important;
}
html[data-theme="dark"] .shell .lex-app-banner p,
html[data-theme="dark"] .shell .lex-app-banner strong,
html[data-theme="dark"] .shell .lex-app-banner .lex-app-banner__body {
  color: #e8eef8 !important;
}
html[data-theme="dark"] .shell .lex-app-banner .lex-app-banner__muted {
  color: #a8b4cc !important;
}
html[data-theme="dark"] .shell .lex-app-banner a.lex-app-banner__cta {
  background: #ff8a2d !important;
  color: #08091a !important;
}
html[data-theme="dark"] .shell .lex-app-banner .lex-app-banner__meter {
  background: rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] .shell .lex-app-banner .lex-app-banner__dismiss {
  color: #c5d0e6 !important;
}
html[data-theme="dark"] .shell .lex-app-banner .lex-app-banner__dismiss:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

/* Dark mode — lisibilité renforcée */
html[data-theme="dark"] .shell .modal-card,
html[data-theme="dark"] .modal-overlay .modal-card {
  background: rgba(18, 26, 46, 0.96) !important;
  border-color: rgba(232, 238, 248, 0.14) !important;
  color: #E8EEF8;
}
html[data-theme="dark"] .modal-title { color: #F4F7FC !important; }
html[data-theme="dark"] .modal-sub,
html[data-theme="dark"] .form-field label { color: #A8B6D4 !important; }
html[data-theme="dark"] .modal-close {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: #E8EEF8 !important;
}
html[data-theme="dark"] .shell .bg-slate-50 {
  background: rgba(255,255,255,0.04) !important;
  color: #C5D0E6 !important;
}
html[data-theme="dark"] .shell table thead {
  background: rgba(255,255,255,0.04) !important;
  color: #A8B6D4 !important;
}
html[data-theme="dark"] .shell table td {
  border-color: rgba(255,255,255,0.08) !important;
  color: #E2E8F4 !important;
}

/* —— Crédits IA : pastille + toast animé —— */
.credit-pill{
  position: fixed; z-index: 80; bottom: 1.15rem; inset-inline-end: 1.15rem;
  display: inline-flex; align-items: center; gap: 0.35rem;
  padding: 0.4rem 0.7rem; border-radius: 999px;
  background: #0A1228; color: #F7F5F0; font-size: 12px; font-weight: 600;
  box-shadow: 0 10px 30px -12px rgba(10,18,40,0.55);
  animation: credit-pill-in 0.35s ease-out;
}
@media (max-width: 880px) {
  /* Sous la topbar, à gauche — ne masque plus cloche / compte */
  .credit-pill{
    bottom: auto;
    top: calc(4.1rem + env(safe-area-inset-top, 0px));
    inset-inline-end: auto;
    inset-inline-start: 0.75rem;
    z-index: 40;
    font-size: 11px;
    padding: 0.32rem 0.55rem;
    pointer-events: none;
  }
  .credit-toast-stack{
    top: calc(6rem + env(safe-area-inset-top, 0px));
    inset-inline-end: 0.65rem;
  }
  .action-toast-stack{
    bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
.credit-pill__n{ font-variant-numeric: tabular-nums; letter-spacing: 0.02em; }
.credit-pill__lbl{ opacity: 0.75; font-weight: 500; }
.credit-pill__sep{ opacity: 0.45; padding: 0 0.1rem; }
.credit-pill--low{ background: #9A3412; }
.credit-pill--empty{ background: #991B1B; }
.credit-toast-stack{
  position: fixed; z-index: 90; top: 5.25rem; inset-inline-end: 1rem;
  display: flex; flex-direction: column; gap: 0.55rem; width: min(320px, calc(100vw - 2rem));
  pointer-events: none;
}
.credit-toast{
  pointer-events: auto;
  display: flex; gap: 0.65rem; align-items: flex-start;
  padding: 0.75rem 0.85rem; border-radius: 14px;
  background: #fff; border: 1px solid #E5E2DB;
  box-shadow: 0 18px 40px -20px rgba(10,18,40,0.45);
  animation: credit-toast-in 0.4s cubic-bezier(.2,.8,.2,1);
}
.credit-toast__icon{
  flex-shrink: 0; width: 28px; height: 28px; border-radius: 999px;
  display: grid; place-items: center; color: #fff; background: #0A1228;
}
.credit-toast--spend .credit-toast__icon{ background: #C9A84A; color: #0A1228; animation: credit-minus-pop 0.55s ease; }
.credit-toast--low .credit-toast__icon{ background: #EA580C; }
.credit-toast--empty .credit-toast__icon{ background: #DC2626; }
.credit-toast--daily .credit-toast__icon{ background: #1F6F54; }
.credit-toast--daily-empty .credit-toast__icon{ background: #B45309; }
.credit-toast__body{ flex: 1; min-width: 0; }
.credit-toast__title{ margin: 0; font-size: 13px; font-weight: 700; color: #0A1228; }
.credit-toast__sub{ margin: 0.15rem 0 0; font-size: 12px; color: #5A667A; line-height: 1.35; }
.credit-toast__rem{ margin: 0.25rem 0 0; font-size: 11px; font-weight: 600; color: #1F6F54; }
.credit-toast__link{ display: inline-block; margin-top: 0.35rem; font-size: 11px; font-weight: 600; color: #0B1A4D; text-decoration: underline; }
.credit-toast__x{
  border: 0; background: transparent; color: #8A93A5; font-size: 18px; line-height: 1; cursor: pointer; padding: 0 0.1rem;
}
@keyframes credit-toast-in{
  from{ opacity: 0; transform: translateX(18px) scale(0.96); }
  to{ opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes credit-pill-in{
  from{ opacity: 0; transform: translateY(8px); }
  to{ opacity: 1; transform: translateY(0); }
}
@keyframes credit-minus-pop{
  0%{ transform: scale(0.6); }
  55%{ transform: scale(1.18); }
  100%{ transform: scale(1); }
}
html[data-theme="dark"] .credit-toast{
  background: #151D30; border-color: rgba(232,238,248,0.12);
}
html[data-theme="dark"] .credit-toast__title{ color: #F2F5FC; }
html[data-theme="dark"] .credit-toast__sub{ color: #A8B6D4; }

/* ---------- Action toasts (succès / feedback vivant) ---------- */
.action-toast-stack{
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 120;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  pointer-events: none;
  max-width: min(92vw, 420px);
}
.action-toast{
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 14px;
  background: linear-gradient(155deg, #1B3F9C, #0B1A4D);
  color: #fff;
  font-size: 13.5px;
  font-weight: 600;
  box-shadow: 0 18px 40px -18px rgba(11,26,77,0.55);
  cursor: pointer;
  border: 1px solid rgba(255,255,255,0.12);
}
.action-toast--success{
  background: linear-gradient(155deg, #1F6F54, #0F3D2E);
}
.action-toast--error{
  background: linear-gradient(155deg, #B91C1C, #7F1D1D);
}
.action-toast--info{
  background: linear-gradient(155deg, #1B3F9C, #0B1A4D);
}
.action-toast__icon{ flex-shrink: 0; opacity: 0.95; }
.action-toast__msg{ line-height: 1.35; }
html[data-theme="dark"] .action-toast{
  border-color: rgba(255,255,255,0.14);
}

/* ===== Mode téléphone léger (perf + clarté) ===== */
@media (max-width: 880px) {
  .dock-item--secondary { display: flex !important; }

  .shell, .main, .main-scroll, .panel, .dock-nav, .topbar, .card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .dock-nav {
    background: rgba(255,255,255,0.98) !important;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
    justify-content: space-between;
    gap: 0;
    max-width: calc(100vw - 12px);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 6px 4px;
  }
  .dock-nav::-webkit-scrollbar{ display:none; }

  .dock-item {
    flex: 1 1 0;
    min-width: 52px;
    max-width: 80px;
  }

  .dock-item .pill,
  .dock-item__hint {
    display: none !important;
  }

  .dock-item__text,
  .dock-item__label {
    display: block !important;
  }

  .topbar {
    box-shadow: none;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background: #fff !important;
  }

  .topbar-lexhub{
    display: inline-flex !important;
  }

  html, body, .shell, .main {
    max-width: 100vw;
    overflow-x: hidden;
  }

  .panel.show,
  .card {
    box-shadow: none !important;
    border-radius: 12px;
  }

  .blobs, .blob {
    display: none !important;
    animation: none !important;
  }

  * {
    scroll-behavior: auto !important;
  }

  /* Boutons : pleine largeur utile, texte qui wrappe */
  .btn,
  .btn-primary,
  .btn-create,
  .btn-new,
  .btn-action,
  .btn-ghost,
  .btn-ghost-cancel,
  .lex-btn-primary,
  .lex-btn-secondary {
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    white-space: normal !important;
    text-align: center;
    line-height: 1.25;
    box-sizing: border-box;
  }

  .modal-foot,
  .lex-actions,
  .row-actions,
  .sanad-confirm-actions {
    display: flex !important;
    flex-direction: column-reverse !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  .modal-foot > *,
  .sanad-confirm-actions > *,
  .lex-actions > * {
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  /* Popups / modals : collés bas d'écran, scrollables */
  .modal-overlay {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .modal-card {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 92dvh !important;
    border-radius: 16px 16px 0 0 !important;
    margin: 0 !important;
    padding: 16px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .modal-head h3,
  .modal-title {
    font-size: 1.15rem !important;
    line-height: 1.3 !important;
  }

  .sanad-confirm-root {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .sanad-confirm-card,
  .lexhub-confirm-card {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 92dvh !important;
    border-radius: 16px 16px 0 0 !important;
    padding: 18px 16px 16px !important;
    overflow-y: auto !important;
  }

  .sanad-confirm-btn {
    width: 100%;
    min-height: 44px;
    white-space: normal;
  }

  .sanad-confirm-backdrop,
  .lexhub-confirm-backdrop {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .lex-modal {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 92dvh !important;
    border-radius: 16px 16px 0 0 !important;
  }

  .lex-visual {
    display: none !important;
  }

  .lex-text {
    padding: 20px 16px 16px !important;
    max-height: 92dvh;
    overflow-y: auto;
  }

  .admin-report-modal {
    width: calc(100vw - 16px) !important;
    max-height: 90dvh !important;
    overflow: auto !important;
  }
}

@media (max-width: 560px) {
  .section-title { font-size: 1.15rem !important; }
  .section-sub { font-size: 0.8rem !important; }
  .card { padding: 12px !important; }
  .btn, .btn-primary, .btn-create, .btn-action { min-height: 44px; font-size: 14px; }
  input, select, textarea {
    font-size: 16px !important; /* évite le zoom iOS */
  }
}

/*!**********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/styles/lexhub-ui.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************/
/**
 * LexHub UI Styles
 * Point d'entrée principal des styles de la plateforme LexHub.
 */

/*!****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/styles/glass-redaction.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************/
/* Glassmorphism — écran مرافعة (point de départ) */

:root {
  --ink: #0a1228;
  --ink-soft: #3b4459;
  --gold: #ff6a00;
  --gold-bright: #ffb07a;
  --wax: #7e2a2a;
  --wax-bright: #c4534e;
  --teal: #1f6f54;
  --charcoal: #0a1228;
  --glass-bg: rgba(255, 255, 255, 0.72);
  --glass-border: rgba(14, 21, 38, 0.08);
  --glass-shadow: rgba(14, 21, 38, 0.18);
}

.glass-redaction-root {
  position: relative;
  isolation: isolate;
  min-height: min(70vh, 640px);
  padding: 4px;
}

.glass-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: 28px;
  overflow: hidden;
  background:
    radial-gradient(ellipse 55% 45% at 12% 18%, rgba(232, 201, 124, 0.35), transparent 55%),
    radial-gradient(ellipse 50% 40% at 88% 12%, rgba(87, 168, 140, 0.28), transparent 50%),
    radial-gradient(ellipse 45% 50% at 78% 78%, rgba(31, 111, 84, 0.22), transparent 55%),
    radial-gradient(ellipse 40% 35% at 20% 85%, rgba(14, 21, 38, 0.12), transparent 50%),
    linear-gradient(165deg, #f7f5f0 0%, #efe9de 100%);
}

.glass-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  opacity: 0.48;
  animation: glass-drift 21s ease-in-out infinite alternate;
}

.glass-blob--a {
  width: 280px;
  height: 280px;
  top: -40px;
  right: 8%;
  background: rgba(232, 197, 119, 0.75);
  animation-duration: 20s;
}

.glass-blob--b {
  width: 320px;
  height: 320px;
  bottom: 5%;
  left: 4%;
  background: rgba(196, 83, 78, 0.55);
  opacity: 0.4;
  animation-duration: 22s;
  animation-delay: -4s;
}

.glass-blob--c {
  width: 240px;
  height: 240px;
  top: 42%;
  right: 18%;
  background: rgba(62, 142, 130, 0.55);
  opacity: 0.42;
  animation-duration: 19s;
  animation-delay: -8s;
}

@keyframes glass-drift {
  0% {
    transform: translate(0, 0) scale(1);
  }
  100% {
    transform: translate(-28px, 22px) scale(1.08);
  }
}

.glass-panel {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  border: 1px solid rgba(176, 141, 63, 0.35);
  border-radius: 24px;
  box-shadow:
    0 20px 50px -20px rgba(22, 35, 63, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.glass-panel--main {
  background: rgba(255, 255, 255, 0.88);
  overflow: hidden;
}

.glass-panel--main::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 130px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.55) 0%,
    transparent 100%
  );
  pointer-events: none;
}

.glass-eyebrow {
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
}

.glass-title {
  font-family: "Amiri", Georgia, serif;
  font-weight: 700;
  font-size: 44px;
  line-height: 1.25;
  color: var(--ink);
}

.glass-sub {
  font-family: "IBM Plex Sans Arabic", "Cairo", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.7;
  color: var(--ink-soft);
}

.glass-divider-label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: "IBM Plex Sans Arabic", "Cairo", sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-soft);
}

.glass-divider-label::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(176, 141, 63, 0.45),
    transparent
  );
}

.glass-opt {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px 20px;
  text-align: start;
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border: 1px solid rgba(176, 141, 63, 0.4);
  border-radius: 20px;
  box-shadow:
    0 16px 40px -18px rgba(22, 35, 63, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
  overflow: hidden;
  cursor: pointer;
  transition:
    transform 0.35s ease,
    background 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
  font-family: "IBM Plex Sans Arabic", "Cairo", sans-serif;
  color: var(--ink);
}

.glass-opt::before {
  content: "";
  position: absolute;
  inset: -40% -20%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0.55),
    transparent 60%
  );
  transform: rotate(20deg) translateX(0);
  transition: transform 0.45s ease;
  pointer-events: none;
}

.glass-opt--featured {
  background: rgba(232, 197, 119, 0.28);
  border-color: rgba(232, 197, 119, 0.55);
}

.glass-opt:hover,
.glass-opt:focus-visible {
  transform: translateY(-6px);
  background: rgba(255, 255, 255, 0.58);
  box-shadow:
    0 28px 55px -18px rgba(22, 35, 63, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  outline: none;
}

.glass-opt:focus-visible {
  box-shadow:
    0 0 0 3px rgba(176, 141, 63, 0.45),
    0 28px 55px -18px rgba(22, 35, 63, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.glass-opt:hover::before,
.glass-opt:focus-visible::before {
  transform: rotate(20deg) translateX(30px);
}

.glass-opt:active::after {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  width: 28px;
  height: 28px;
  border: 2px solid var(--wax-bright);
  border-radius: 50%;
  animation: glass-stamp 0.38s ease-out forwards;
  pointer-events: none;
}

@keyframes glass-stamp {
  0% {
    transform: scale(1.9);
    opacity: 0.9;
  }
  100% {
    transform: scale(0.7);
    opacity: 0;
  }
}

.glass-seal {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1.5px solid var(--gold);
  background: rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: var(--ink);
  transition:
    transform 0.35s ease,
    border-color 0.35s ease;
}

.glass-opt:hover .glass-seal,
.glass-opt:focus-visible .glass-seal {
  transform: scale(1.08) rotate(-6deg);
  border-color: var(--wax-bright);
  color: var(--wax);
}

.glass-opt-title {
  font-family: "Amiri", Georgia, serif;
  font-weight: 700;
  font-size: 22px;
  color: var(--ink);
}

.glass-opt-desc {
  font-size: 13px;
  line-height: 1.6;
  color: var(--ink-soft);
}

.glass-opt-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  font-size: 13px;
  font-weight: 600;
  color: var(--gold);
}

.glass-opt-cta svg {
  transition: transform 0.3s ease;
}

.glass-opt:hover .glass-opt-cta svg {
  transform: translateX(-4px);
}

.glass-foot {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: "IBM Plex Sans Arabic", "Cairo", sans-serif;
  font-size: 12px;
  color: var(--ink-soft);
}

.glass-tpl-grid button {
  font-family: "IBM Plex Sans Arabic", "Cairo", sans-serif;
}

@media (max-width: 860px) {
  .glass-title {
    font-size: 32px;
  }

  .glass-panel--main {
    padding: 1.25rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .glass-blob {
    animation: none !important;
  }

  .glass-opt,
  .glass-opt::before,
  .glass-seal,
  .glass-opt-cta svg {
    transition: none !important;
  }

  .glass-opt:hover,
  .glass-opt:focus-visible {
    transform: none;
  }

  .glass-opt:active::after {
    animation: none !important;
  }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/styles/auth-glass.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************/
/* Fond glass — écran d'authentification unifié */

.auth-glass-page {
  --ink: #0a1228;
  --gold: #ff6a00;
  --gold-bright: #ffb07a;
  position: relative;
  min-height: 100dvh;
  isolation: isolate;
  overflow-x: hidden;
}

.auth-glass-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 55% 45% at 12% 18%, rgba(232, 201, 124, 0.38), transparent 55%),
    radial-gradient(ellipse 50% 40% at 88% 12%, rgba(87, 168, 140, 0.28), transparent 50%),
    radial-gradient(ellipse 45% 50% at 78% 78%, rgba(31, 111, 84, 0.22), transparent 55%),
    radial-gradient(ellipse 40% 35% at 20% 85%, rgba(14, 21, 38, 0.12), transparent 50%),
    linear-gradient(165deg, #f7f5f0 0%, #efe9de 100%);
}

.auth-glass-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  opacity: 0.48;
  animation: auth-drift 21s ease-in-out infinite alternate;
}

.auth-glass-blob--a {
  width: 300px;
  height: 300px;
  top: -50px;
  right: 10%;
  background: rgba(232, 197, 119, 0.75);
}

.auth-glass-blob--b {
  width: 340px;
  height: 340px;
  bottom: 0;
  left: 2%;
  background: rgba(196, 83, 78, 0.5);
  opacity: 0.4;
  animation-duration: 23s;
  animation-delay: -5s;
}

.auth-glass-blob--c {
  width: 260px;
  height: 260px;
  top: 40%;
  right: 22%;
  background: rgba(62, 142, 130, 0.55);
  opacity: 0.42;
  animation-duration: 19s;
  animation-delay: -9s;
}

@keyframes auth-drift {
  0% {
    transform: translate(0, 0) scale(1);
  }
  100% {
    transform: translate(-24px, 20px) scale(1.08);
  }
}

.auth-glass-nav {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 12px 0;
  padding: 10px 14px;
  border-radius: 20px;
  border: 1px solid rgba(140, 170, 255, 0.28);
  background: rgba(7, 16, 51, 0.55);
  backdrop-filter: blur(20px) saturate(150%);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  box-shadow:
    0 16px 40px -20px rgba(7, 16, 51, 0.45),
    0 0 36px rgba(76, 124, 255, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.auth-glass-card {
  border-radius: 24px;
  border: 1px solid rgba(140, 170, 255, 0.28);
  background: rgba(251, 252, 254, 0.94);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  box-shadow:
    0 24px 55px -22px rgba(7, 16, 51, 0.4),
    0 0 28px rgba(76, 124, 255, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.auth-seg {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(140, 170, 255, 0.22);
}

.auth-seg button {
  border: 0;
  border-radius: 999px;
  padding: 0.45rem 0.85rem;
  font-size: 12px;
  font-weight: 600;
  color: rgba(244, 246, 252, 0.78);
  background: transparent;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.auth-seg button[data-active="true"] {
  background: linear-gradient(155deg, #4c7cff, #1b3f9c 55%, #0b1a4d);
  color: #fff;
  box-shadow: 0 4px 18px rgba(76, 124, 255, 0.4);
}

.auth-stepper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.35rem;
  margin-bottom: 1.25rem;
}

.auth-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  position: relative;
}

.auth-step::before {
  content: "";
  position: absolute;
  top: 14px;
  inset-inline-start: calc(50% + 16px);
  width: calc(100% - 8px);
  height: 2px;
  background: rgba(22, 35, 63, 0.12);
}

.auth-step:last-child::before {
  display: none;
}

.auth-step[data-done="true"]::before {
  background: #e85a00;
}

.auth-step-dot {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
  border: 1.5px solid rgba(22, 35, 63, 0.2);
  background: #fff;
  color: #2c3b5c;
}

.auth-step[data-active="true"] .auth-step-dot {
  background: #16233f;
  border-color: #16233f;
  color: #fff;
}

.auth-step[data-done="true"] .auth-step-dot {
  background: #e85a00;
  border-color: #e85a00;
  color: #fff;
}

.auth-step-label {
  font-size: 10px;
  font-weight: 600;
  color: #2c3b5c;
  text-align: center;
}

.auth-stepper--2 {
  grid-template-columns: repeat(2, 1fr);
  max-width: 280px;
  margin-inline: auto;
}

@media (max-width: 640px) {
  .auth-glass-card {
    padding: 1rem !important;
  }

  .auth-stepper {
    gap: 0.2rem;
  }

  .auth-step-label {
    font-size: 9px;
    line-height: 1.2;
  }

  .auth-step-dot {
    width: 24px;
    height: 24px;
    font-size: 11px;
  }

  .auth-glass-page .auth-particles,
  .auth-glass-page canvas {
    opacity: 0.35;
  }
}

@media (max-width: 940px) {
  .auth-glass-nav {
    flex-direction: column;
    align-items: stretch;
  }

  .auth-seg {
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .auth-glass-blob {
    animation: none !important;
  }
}

