/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[2].use[1]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[15].oneOf[2].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"Inter","arguments":[{"subsets":["latin","cyrillic"],"variable":"--font-sans","display":"swap"}],"variableName":"inter"} ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  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';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.p.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';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  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';
  font-style: normal;
  font-weight: 100 900;
  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';
  font-style: normal;
  font-weight: 100 900;
  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';
  font-style: normal;
  font-weight: 100 900;
  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';src: local("Arial");ascent-override: 90.44%;descent-override: 22.52%;line-gap-override: 0.00%;size-adjust: 107.12%
}.__className_fcbcbf {font-family: 'Inter', 'Inter Fallback';font-style: normal
}.__variable_fcbcbf {--font-sans: 'Inter', 'Inter Fallback'
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[2].use[1]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[15].oneOf[2].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"Caveat","arguments":[{"subsets":["latin","cyrillic"],"weight":["500"],"variable":"--font-script","display":"swap"}],"variableName":"caveat"} ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/0f361d6a29baa3ea-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: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/83cbd20c2ca8620b-s.p.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/bbeb93d42359333f-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: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/ef0360dcf38d5c82-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: 'Caveat Fallback';src: local("Arial");ascent-override: 124.77%;descent-override: 38.99%;line-gap-override: 0.00%;size-adjust: 76.94%
}.__className_ecdc87 {font-family: 'Caveat', 'Caveat Fallback';font-weight: 500;font-style: normal
}.__variable_ecdc87 {--font-script: 'Caveat', 'Caveat Fallback'
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[2].use[1]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[15].oneOf[2].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"Geist","arguments":[{"subsets":["latin"],"weight":["500","600","700","800"],"variable":"--font-display","display":"swap"}],"variableName":"geist"} ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/f639721981034f88-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: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/b66cf8e69499582a-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: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/aa016aab0e6d1295-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: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/22a5144ee8d83bca-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: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/f639721981034f88-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: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/b66cf8e69499582a-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: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/aa016aab0e6d1295-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: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/22a5144ee8d83bca-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: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/f639721981034f88-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: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/b66cf8e69499582a-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: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/aa016aab0e6d1295-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: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/22a5144ee8d83bca-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: 'Geist';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/f639721981034f88-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: 'Geist';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/b66cf8e69499582a-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: 'Geist';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/aa016aab0e6d1295-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: 'Geist';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/22a5144ee8d83bca-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: 'Geist Fallback';src: local("Arial");ascent-override: 95.94%;descent-override: 28.16%;line-gap-override: 0.00%;size-adjust: 104.76%
}.__className_c97a58 {font-family: 'Geist', 'Geist Fallback';font-style: normal
}.__variable_c97a58 {--font-display: 'Geist', 'Geist Fallback'
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[2].use[1]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[15].oneOf[2].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"Manrope","arguments":[{"subsets":["latin","cyrillic"],"weight":["400","500","600","700"],"variable":"--font-manrope","display":"swap"}],"variableName":"manrope"} ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/438aa629764e75f3-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: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/875ae681bfde4580-s.p.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/51251f8b9793cdb3-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: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/e857b654a2caa584-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: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/cc978ac5ee68c2b6-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: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/4c9affa5bc8f420e-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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/438aa629764e75f3-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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/875ae681bfde4580-s.p.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/51251f8b9793cdb3-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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/e857b654a2caa584-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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/cc978ac5ee68c2b6-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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/4c9affa5bc8f420e-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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/438aa629764e75f3-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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/875ae681bfde4580-s.p.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/51251f8b9793cdb3-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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/e857b654a2caa584-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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/cc978ac5ee68c2b6-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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/4c9affa5bc8f420e-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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/438aa629764e75f3-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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/875ae681bfde4580-s.p.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/51251f8b9793cdb3-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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/e857b654a2caa584-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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/cc978ac5ee68c2b6-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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/4c9affa5bc8f420e-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: 'Manrope Fallback';src: local("Arial");ascent-override: 103.31%;descent-override: 29.07%;line-gap-override: 0.00%;size-adjust: 103.19%
}.__className_f82309 {font-family: 'Manrope', 'Manrope Fallback';font-style: normal
}.__variable_f82309 {--font-manrope: 'Manrope', 'Manrope Fallback'
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/tokens.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/tokens.css === Брендовые токены в CSS-переменных.
 * Используется и admin и public. Меняй цвет здесь — применится везде.
 * Соответствует palette в packages/config/src/tailwind-preset.ts.
 */

:root {
  /* --- Бренд: глубокий синий (главный) --- */
  --brand-deep-50:  #EAF4F7;
  --brand-deep-100: #D6EAF0;
  --brand-deep-200: #A6CFDC;
  --brand-deep-300: #6FA9BA;
  --brand-deep-400: #2D7E9A;
  --brand-deep-500: #1A6275;  /* main */
  --brand-deep-600: #0F4C5C;
  --brand-deep-700: #083846;
  --brand-deep-800: #062B36;
  --brand-deep-900: #051A20;

  /* --- Бренд: терракота (CTA) --- */
  --brand-terra-50:  #FBEEE8;
  --brand-terra-100: #F7D9CB;
  --brand-terra-200: #EFB498;
  --brand-terra-300: #E7916B;
  --brand-terra-400: #E07856;
  --brand-terra-500: #D45F3A;  /* main CTA */
  --brand-terra-600: #C8623F;
  --brand-terra-700: #8C3A23;
  --brand-terra-800: #883724;
  --brand-terra-900: #4D1F14;

  /* --- Бренд: cream (фоны страниц) --- */
  --brand-cream-50:  #FFFFFF;
  --brand-cream-100: #FDFCF9;
  --brand-cream-200: #FAFAF7;  /* main bg */
  --brand-cream-300: #F4F2EC;
  --brand-cream-400: #E8E3D5;
  --brand-cream-500: #D8D2C0;

  /* --- Сёрфейсы (карточки/панели) --- */
  --surface-sky-50:  #EAF4F7;
  --surface-sky-100: #D6EAF0;

  /* --- Системные --- */
  --color-success: #047857;
  --color-warning: #f59e0b;
  --color-error:   #dc2626;
  --color-info:    #0ea5e9;

  /* --- Шрифты (уже подключены через next/font, тут только семантика) --- */
  --font-body:    var(--font-sans, "Inter"), -apple-system, BlinkMacSystemFont, sans-serif;
  --font-heading: var(--font-display, "Geist"), "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-script:  var(--font-caveat, "Caveat"), cursive;
  --font-mono:    ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* --- Прочее --- */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);
  --shadow-md: 0 4px 14px rgba(0, 0, 0, .08);
  --shadow-lg: 0 24px 60px rgba(0, 0, 0, .12);
}

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

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

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

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

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

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: var(--font-sans), 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]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

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

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

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

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

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

b,
strong {
  font-weight: bolder;
}

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

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", 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::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

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

/*
Set the default cursor for buttons.
*/

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

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

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

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

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

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

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.\!visible {
  visibility: visible !important;
}
.visible {
  visibility: visible;
}
.collapse {
  visibility: collapse;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.bottom-0 {
  bottom: 0px;
}
.left-\[50\%\] {
  left: 50%;
}
.right-4 {
  right: 1rem;
}
.top-4 {
  top: 1rem;
}
.top-\[50\%\] {
  top: 50%;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-50 {
  z-index: 50;
}
.z-\[3\] {
  z-index: 3;
}
.col-span-12 {
  grid-column: span 12 / span 12;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.float-right {
  float: right;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.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;
}
.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;
}
.contents {
  display: contents;
}
.hidden {
  display: none;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-2 {
  height: 0.5rem;
}
.h-24 {
  height: 6rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[54vh\] {
  height: 54vh;
}
.h-full {
  height: 100%;
}
.max-h-96 {
  max-height: 24rem;
}
.max-h-\[600px\] {
  max-height: 600px;
}
.max-h-\[620px\] {
  max-height: 620px;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.min-h-\[380px\] {
  min-height: 380px;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.w-10 {
  width: 2.5rem;
}
.w-12 {
  width: 3rem;
}
.w-24 {
  width: 6rem;
}
.w-8 {
  width: 2rem;
}
.w-full {
  width: 100%;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[8rem\] {
  min-width: 8rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[1320px\] {
  max-width: 1320px;
}
.max-w-\[1440px\] {
  max-width: 1440px;
}
.max-w-\[200px\] {
  max-width: 200px;
}
.max-w-\[480px\] {
  max-width: 480px;
}
.max-w-\[520px\] {
  max-width: 520px;
}
.max-w-\[640px\] {
  max-width: 640px;
}
.max-w-\[720px\] {
  max-width: 720px;
}
.max-w-\[860px\] {
  max-width: 860px;
}
.max-w-\[880px\] {
  max-width: 880px;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-sm {
  max-width: 24rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.grow {
  flex-grow: 1;
}
.translate-x-\[-50\%\] {
  --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-\[-50\%\] {
  --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));
}
.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));
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-pointer {
  cursor: pointer;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize {
  resize: both;
}
.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-\[1fr_300px\] {
  grid-template-columns: 1fr 300px;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-3\.5 {
  gap: 0.875rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-x-7 {
  -moz-column-gap: 1.75rem;
       column-gap: 1.75rem;
}
.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.gap-y-12 {
  row-gap: 3rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.gap-y-5 {
  row-gap: 1.25rem;
}
.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-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-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));
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-y-auto {
  overflow-y: auto;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-normal {
  white-space: normal;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-sm {
  border-radius: 0.125rem;
}
.border {
  border-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-\[\#E3896C\]\/10 {
  border-color: rgb(227 137 108 / 0.1);
}
.border-\[\#E3896C\]\/15 {
  border-color: rgb(227 137 108 / 0.15);
}
.border-\[\#E3896C\]\/20 {
  border-color: rgb(227 137 108 / 0.2);
}
.border-\[var\(--line-1\)\] {
  border-color: var(--line-1);
}
.border-cream-100\/30 {
  border-color: rgb(250 250 247 / 0.3);
}
.border-current {
  border-color: currentColor;
}
.border-deep-500\/10 {
  border-color: rgb(15 76 92 / 0.1);
}
.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.bg-\[\#E3896C\] {
  --tw-bg-opacity: 1;
  background-color: rgb(227 137 108 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E3896C\]\/15 {
  background-color: rgb(227 137 108 / 0.15);
}
.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-cream-100\/15 {
  background-color: rgb(250 250 247 / 0.15);
}
.bg-cream-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(242 241 234 / var(--tw-bg-opacity, 1));
}
.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-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.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-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-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-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-0 {
  padding: 0px;
}
.p-1 {
  padding: 0.25rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.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-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.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-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-16 {
  padding-bottom: 4rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-9 {
  padding-bottom: 2.25rem;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-7 {
  padding-top: 1.75rem;
}
.pt-8 {
  padding-top: 2rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-script {
  font-family: var(--font-script), cursive;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-\[1\.1em\] {
  font-size: 1.1em;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12\.5px\] {
  font-size: 12.5px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[18px\] {
  font-size: 18px;
}
.text-\[30px\] {
  font-size: 30px;
}
.text-\[32px\] {
  font-size: 32px;
}
.text-\[40px\] {
  font-size: 40px;
}
.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-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-\[1\.05\] {
  line-height: 1.05;
}
.leading-\[1\.06\] {
  line-height: 1.06;
}
.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\.06em\] {
  letter-spacing: 0.06em;
}
.tracking-\[0\.4em\] {
  letter-spacing: 0.4em;
}
.tracking-\[0\.6em\] {
  letter-spacing: 0.6em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.text-\[\#B0563A\] {
  --tw-text-opacity: 1;
  color: rgb(176 86 58 / var(--tw-text-opacity, 1));
}
.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-cream-100 {
  --tw-text-opacity: 1;
  color: rgb(250 250 247 / var(--tw-text-opacity, 1));
}
.text-cream-100\/40 {
  color: rgb(250 250 247 / 0.4);
}
.text-cream-100\/65 {
  color: rgb(250 250 247 / 0.65);
}
.text-cream-100\/75 {
  color: rgb(250 250 247 / 0.75);
}
.text-cream-100\/85 {
  color: rgb(250 250 247 / 0.85);
}
.text-deep-500 {
  --tw-text-opacity: 1;
  color: rgb(15 76 92 / var(--tw-text-opacity, 1));
}
.text-deep-500\/45 {
  color: rgb(15 76 92 / 0.45);
}
.text-deep-500\/50 {
  color: rgb(15 76 92 / 0.5);
}
.text-deep-500\/55 {
  color: rgb(15 76 92 / 0.55);
}
.text-deep-500\/65 {
  color: rgb(15 76 92 / 0.65);
}
.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-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-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-terracotta-400 {
  --tw-text-opacity: 1;
  color: rgb(224 120 86 / var(--tw-text-opacity, 1));
}
.text-terracotta-500 {
  --tw-text-opacity: 1;
  color: rgb(212 95 58 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-70 {
  opacity: 0.7;
}
.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-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-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);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.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);
}
.\!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) !important;
}
.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);
}
.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;
}

html, body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Тонкий «бумажный» grain-фон. Дает эффект текстуры старой карты. */
.grain::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(15, 76, 92, 0.04) 1px, transparent 1px);
  background-size: 3px 3px;
  z-index: 0;
}

/* Доменные стили подключаются в app/layout.tsx — порядок важен. */

.hover\:bg-\[\#D17050\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(209 112 80 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / 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-slate-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.hover\:text-cream-100:hover {
  --tw-text-opacity: 1;
  color: rgb(250 250 247 / 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-terracotta-400:hover {
  --tw-text-opacity: 1;
  color: rgb(224 120 86 / var(--tw-text-opacity, 1));
}

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

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

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

.focus\:border-slate-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}

.focus\:bg-slate-100:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}

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

.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-\[\#E3896C\]:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(227 137 108 / var(--tw-ring-opacity, 1));
}

.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-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}

.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}

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

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

.group:hover .group-hover\:text-terracotta-500 {
  --tw-text-opacity: 1;
  color: rgb(212 95 58 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:bg-\[\#E3896C\][data-state="active"] {
  --tw-bg-opacity: 1;
  background-color: rgb(227 137 108 / var(--tw-bg-opacity, 1));
}

.data-\[state\=active\]\:text-white[data-state="active"] {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:shadow-sm[data-state="active"] {
  --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);
}

@media (min-width: 640px) {

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

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

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

  .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

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

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

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

@media (min-width: 1024px) {

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

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

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

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

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

  .lg\:flex {
    display: flex;
  }

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

  .lg\:gap-x-14 {
    -moz-column-gap: 3.5rem;
         column-gap: 3.5rem;
  }

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

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

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

  .lg\:pb-12 {
    padding-bottom: 3rem;
  }

  .lg\:pt-10 {
    padding-top: 2.5rem;
  }

  .lg\:text-\[58px\] {
    font-size: 58px;
  }

  .lg\:text-\[62px\] {
    font-size: 62px;
  }

  .lg\:text-\[64px\] {
    font-size: 64px;
  }
}

@media (min-width: 1280px) {

  .xl\:text-\[72px\] {
    font-size: 72px;
  }
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/admin-shell.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/admin-shell.css ===
 * Admin shell, формы, гриды, обращения, модалки, блог-эдитор.
 * SHARED между admin и public (public использует ~172 классов из этого файла
 * для embedded admin компонентов типа quick-reservation, manager-contact).
 */
.adm2-shell {
  display: flex;
  min-height: 100vh;
  background: #f5f6f8;
}

.adm2-side {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 220px;
  background: #1a3850;
  color: #f4ead5;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .adm2-side {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    transform: translateX(-100%);
    transition: transform 240ms ease;
  }
  .adm2-side.is-open { transform: translateX(0); }
}

.adm2-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 22px 18px 18px;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid rgba(244, 234, 213, 0.08);
}
.adm2-brand-mark {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #f4ead5;
  color: #1a3850;
  font-family: var(--font-playfair), serif;
  font-weight: 700;
  font-size: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.adm2-brand-text { display: grid; line-height: 1.15; }
.adm2-brand-name {
  font-family: var(--font-playfair), serif;
  font-size: 16px;
  font-weight: 600;
}
.adm2-brand-sub {
  font-size: 9px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(244, 234, 213, 0.55);
}

.adm2-nav {
  flex: 1;
  overflow-y: auto;
  padding: 8px 8px 12px;
  display: grid;
  gap: 14px;
  align-content: start;
}
.adm2-nav-group { display: grid; gap: 1px; }
.adm2-nav-group-label {
  padding: 10px 12px 4px;
  font-size: 9px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(244, 234, 213, 0.4);
  font-weight: 500;
}
.adm2-nav-soon {
  margin-left: auto;
  font-size: 8.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(244, 234, 213, 0.4);
  background: rgba(244, 234, 213, 0.04);
  padding: 2px 6px;
  border-radius: 4px;
}
.adm2-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  color: rgba(244, 234, 213, 0.78);
  text-decoration: none;
  font-size: 13.5px;
  cursor: pointer;
  transition: all 140ms;
}
.adm2-nav-item svg { flex-shrink: 0; opacity: 0.8; }
.adm2-nav-item:hover {
  background: rgba(244, 234, 213, 0.06);
  color: #f4ead5;
}
.adm2-nav-item:hover svg { opacity: 1; }
.adm2-nav-item.is-active {
  background: rgba(244, 234, 213, 0.12);
  color: #f4ead5;
  font-weight: 500;
}
.adm2-nav-item.is-active svg { opacity: 1; }
.adm2-nav-item.is-soon {
  opacity: 0.4;
  cursor: not-allowed;
}

.adm2-side-art {
  height: 110px;
  flex-shrink: 0;
  position: relative;
  pointer-events: none;
}
.adm2-side-art svg { width: 100%; height: 100%; display: block; }

.adm2-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.adm2-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 28px;
  background: #fff;
  border-bottom: 1px solid #e8eaee;
}
@media (max-width: 720px) { .adm2-topbar { padding: 10px 16px; } }

.adm2-burger {
  display: none;
  width: 36px;
  height: 36px;
  border: 1px solid #e3e6eb;
  border-radius: 8px;
  background: #fff;
  color: #1a3850;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1024px) { .adm2-burger { display: inline-flex; } }
.adm2-topbar-spacer { flex: 1; }

.adm2-user {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 8px 6px 12px;
  background: #fff;
  border: 1px solid transparent;
  border-radius: 9px;
  cursor: pointer;
  transition: all 160ms;
  font-family: inherit;
  position: relative;
}
.adm2-user:hover { background: #f5f6f8; border-color: #e3e6eb; }
.adm2-user-info { display: grid; line-height: 1.2; text-align: right; }
.adm2-user-name {
  font-size: 13px;
  font-weight: 500;
  color: #1a3850;
}
.adm2-user-role {
  font-size: 10px;
  color: rgba(32, 56, 74, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
.adm2-user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2b6cb0, #1a3850);
  color: #f4ead5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 13px;
  flex-shrink: 0;
}

.adm2-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 49;
}
.adm2-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 60;
  min-width: 240px;
  background: #fff;
  border: 1px solid #e3e6eb;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(8, 30, 50, 0.12);
  padding: 8px;
}
.adm2-menu-head {
  padding: 10px 12px;
  display: grid;
  gap: 2px;
  border-bottom: 1px solid #eef0f3;
  margin-bottom: 6px;
}
.adm2-menu-name { font-size: 13px; font-weight: 500; color: #1a3850; }
.adm2-menu-email { font-size: 11px; color: rgba(32, 56, 74, 0.55); }
.adm2-menu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 12px;
  font-size: 13px;
  color: #1a3850;
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
}
.adm2-menu-item:hover:not(:disabled) { background: #f5f6f8; }
.adm2-menu-item.is-soon { opacity: 0.5; cursor: not-allowed; }
.adm2-menu-sep { height: 1px; background: #eef0f3; margin: 6px 0; }

.adm2-content {
  padding: 28px 32px;
  flex: 1;
}
@media (max-width: 720px) { .adm2-content { padding: 18px; } }

/* === Page head === */
.adm2-page-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 22px;
}
.adm2-h1 {
  font-family: var(--font-playfair), serif;
  font-size: 26px;
  font-weight: 600;
  margin: 0;
  color: #1a3850;
}
.adm2-h2 {
  font-family: var(--font-playfair), serif;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 14px;
  color: #1a3850;
}
.adm2-page-actions { display: inline-flex; gap: 8px; }

/* === Buttons === */
.adm2-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 8px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 160ms;
  font-family: inherit;
  text-decoration: none;
}
.adm2-btn-primary { background: #2b6cb0; color: #fff; }
.adm2-btn-primary:hover:not(:disabled) { background: #225491; }
.adm2-btn-primary:disabled { opacity: 0.45; cursor: not-allowed; }
.adm2-btn-ghost {
  background: #fff;
  color: #1a3850;
  border-color: #e3e6eb;
}
.adm2-btn-ghost:hover:not(:disabled) { border-color: #c5cad2; background: #fafbfc; }
.adm2-btn-ghost:disabled { opacity: 0.45; cursor: not-allowed; }

/* === Filters === */
.adm2-filters {
  display: flex;
  gap: 8px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.adm2-filter {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #fff;
  border: 1px solid #e3e6eb;
  border-radius: 8px;
  color: rgba(32, 56, 74, 0.6);
  font-size: 13px;
  min-width: 140px;
}
.adm2-filter input,
.adm2-filter select {
  flex: 1;
  border: none;
  outline: none;
  font-size: 13px;
  color: #1a3850;
  background: transparent;
  font-family: inherit;
}
.adm2-filter:focus-within { border-color: #2b6cb0; }
.adm2-filter-grow { flex: 1; min-width: 220px; }
.adm2-filter-input { min-width: 130px; }

/* === Table === */
.adm2-table-wrap {
  background: #fff;
  border: 1px solid #e8eaee;
  border-radius: 12px;
  overflow-x: auto;            /* было overflow:hidden → широкая таблица обрезалась на мобиле; теперь скролл свайпом */
  -webkit-overflow-scrolling: touch;
}
.adm2-table { width: 100%; border-collapse: collapse; }
.adm2-table th {
  text-align: left;
  font-weight: 500;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(32, 56, 74, 0.5);
  padding: 14px 16px;
  background: #fafbfc;
  border-bottom: 1px solid #eef0f3;
}
.adm2-table td {
  padding: 14px 16px;
  font-size: 13px;
  color: #1a3850;
  border-bottom: 1px solid #f3f4f7;
  vertical-align: top;
}
.adm2-table tr:last-child td { border-bottom: none; }
.adm2-table tr:hover { background: #fafbfc; }

.adm2-cell-id { font-family: ui-monospace, monospace; color: rgba(32, 56, 74, 0.6); }
.adm2-cell-name { font-weight: 500; }
.adm2-cell-amount { font-variant-numeric: tabular-nums; font-weight: 500; }
.adm2-cell-service { font-weight: 500; }
.adm2-cell-service-sub { font-size: 11.5px; color: rgba(32, 56, 74, 0.55); margin-top: 2px; }
.adm2-cell-empty { color: rgba(32, 56, 74, 0.35); }
.adm2-cell-manager {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
}
.adm2-cell-manager-avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2b6cb0, #1a3850);
  color: #f4ead5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
}

.adm2-status {
  display: inline-block;
  font-size: 11px;
  font-weight: 500;
  padding: 3px 9px;
  border-radius: 9999px;
}
.adm2-status-blue    { background: #e2efff; color: #225491; }
.adm2-status-amber   { background: #fff3d4; color: #8a5a00; }
.adm2-status-violet  { background: #ece5ff; color: #5840a0; }
.adm2-status-rose    { background: #ffe4e0; color: #b3573e; }
.adm2-status-emerald { background: #d8f1e3; color: #1f6b48; }
.adm2-status-note { font-size: 10.5px; color: rgba(32, 56, 74, 0.55); margin-top: 3px; }

.adm2-table-foot {
  font-size: 11.5px;
  color: rgba(32, 56, 74, 0.5);
  margin: 12px 4px 0;
}

/* === Empty state === */
.adm2-page-sub-inline {
  font-size: 12px;
  color: rgba(32, 56, 74, 0.55);
  margin: 4px 0 0;
}

.adm2-cell-with-avatar {
  display: flex;
  align-items: center;
  gap: 10px;
}
.adm2-cell-mono {
  font-family: ui-monospace, monospace;
  font-size: 12.5px;
  color: rgba(32, 56, 74, 0.75);
}

.adm2-row-actions {
  display: inline-flex;
  gap: 6px;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.adm2-row-btn {
  padding: 5px 10px;
  background: #fff;
  border: 1px solid #e3e6eb;
  border-radius: 6px;
  font-size: 11.5px;
  color: #1a3850;
  cursor: pointer;
  transition: all 140ms;
  font-family: inherit;
}
.adm2-row-btn:hover { border-color: #c5cad2; background: #fafbfc; }
.adm2-row-btn-danger { color: #b3573e; border-color: #f0c9bd; }
.adm2-row-btn-danger:hover { background: #fdf0ed; border-color: #e8a899; }

.adm2-empty-inline {
  padding: 40px 20px;
  text-align: center;
  color: rgba(32, 56, 74, 0.5);
  font-size: 13px;
}

/* Modal */
.adm2-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8, 30, 50, 0.55);
  backdrop-filter: blur(4px);
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.adm2-modal {
  position: relative;
  background: #fff;
  border-radius: 12px;
  padding: 28px 28px 22px;
  max-width: 540px;
  width: 100%;
  max-height: 92vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(8, 30, 50, 0.25);
}
.adm2-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #f5f6f8;
  border: none;
  color: #1a3850;
  cursor: pointer;
  font-size: 13px;
}
.adm2-modal-close:hover { background: #e8eaee; }
.adm2-modal-sub {
  font-size: 13px;
  color: rgba(32, 56, 74, 0.65);
  margin: 0 0 18px;
  line-height: 1.5;
}
.adm2-modal-note {
  font-size: 11.5px;
  color: rgba(32, 56, 74, 0.5);
  margin: 12px 0 18px;
  font-style: italic;
}

/* Invite link */
.adm2-invite-link {
  display: flex;
  gap: 8px;
  margin: 16px 0 8px;
}
.adm2-invite-link input {
  flex: 1;
  padding: 10px 12px;
  background: #f5f6f8;
  border: 1px solid #e3e6eb;
  border-radius: 8px;
  font-family: ui-monospace, monospace;
  font-size: 11.5px;
  color: #1a3850;
  outline: none;
}

/* Form */
.adm2-form { display: grid; gap: 14px; }
.adm2-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 720px) { .adm2-form-row { grid-template-columns: 1fr; } }
.adm2-field { display: grid; gap: 5px; }
.adm2-field span {
  font-size: 12px;
  color: rgba(32, 56, 74, 0.7);
  font-weight: 500;
}
.adm2-field input,
.adm2-field select,
.adm2-field textarea {
  padding: 10px 12px;
  background: #f7f8fa;
  border: 1px solid #e3e6eb;
  border-radius: 8px;
  font-size: 13.5px;
  color: #1a3850;
  outline: none;
  transition: border-color 140ms, background 140ms;
  font-family: inherit;
}
.adm2-field input:disabled { color: rgba(32, 56, 74, 0.5); }
.adm2-field input:focus,
.adm2-field select:focus,
.adm2-field textarea:focus {
  border-color: #2b6cb0;
  background: #fff;
}
.adm2-form-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 8px;
}
.adm2-err {
  margin: 0;
  padding: 9px 12px;
  background: #fdf0ed;
  border: 1px solid #f5c4ba;
  color: #b3573e;
  border-radius: 8px;
  font-size: 12.5px;
}

/* существующий empty (для leads панели) */
.adm2-empty {
  background: #fff;
  border: 1px dashed #e3e6eb;
  border-radius: 14px;
  padding: 60px 40px;
  text-align: center;
  max-width: 540px;
  margin: 40px auto;
}
.adm2-empty-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: #f5f6f8;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(32, 56, 74, 0.4);
}
.adm2-empty h3 {
  font-family: var(--font-playfair), serif;
  font-size: 18px;
  font-weight: 600;
  color: #1a3850;
  margin: 0 0 6px;
}
.adm2-empty p {
  font-size: 13px;
  color: rgba(32, 56, 74, 0.6);
  margin: 0;
  line-height: 1.55;
}
/* === Typography === */
.adm-h1 {
  font-family: var(--font-playfair), serif;
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 6px;
  color: #08384a;
}
.adm-h2 {
  font-family: var(--font-playfair), serif;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 14px;
  color: #08384a;
}
.adm-h3 {
  font-size: 13px;
  font-weight: 600;
  margin: 16px 0 8px;
  color: rgba(8, 56, 74, 0.85);
  letter-spacing: 0.02em;
}
.adm-page-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 22px;
}
.adm-page-sub {
  font-size: 13px;
  color: rgba(15, 76, 92, 0.7);
  margin: 0;
  max-width: 640px;
  line-height: 1.5;
}

/* === Dashboard tiles === */
.adm-dash-head { margin-bottom: 24px; }
.adm-dash-greet {
  font-size: 13px;
  color: rgba(15, 76, 92, 0.7);
  margin: 0;
  max-width: 640px;
  line-height: 1.55;
}
.adm-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
  margin-bottom: 28px;
}
.adm-tile {
  display: grid;
  grid-template-rows: auto auto auto auto;
  gap: 4px;
  padding: 18px 20px;
  border-radius: 16px;
  border: 1px solid rgba(8, 56, 74, 0.08);
  background: #fff;
  text-decoration: none;
  color: #08384a;
  position: relative;
  overflow: hidden;
  transition: all 200ms;
}
.adm-tile:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -16px rgba(8, 56, 74, 0.25); }
.adm-tile-icon {
  font-size: 22px;
  margin-bottom: 6px;
}
.adm-tile-title {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(15, 76, 92, 0.55);
}
.adm-tile-value {
  font-family: var(--font-playfair), serif;
  font-size: 30px;
  font-weight: 600;
  color: #08384a;
}
.adm-tile-sub { font-size: 11px; color: rgba(15, 76, 92, 0.5); }
.adm-tile-teal { border-color: rgba(8, 56, 74, 0.2); }
.adm-tile-terracotta { border-color: rgba(194, 114, 90, 0.3); background: linear-gradient(135deg, #fff 50%, rgba(194, 114, 90, 0.06) 100%); }
.adm-tile-cream { background: rgba(244, 234, 213, 0.65); }
.adm-tile-sage { border-color: rgba(138, 168, 150, 0.3); background: linear-gradient(135deg, #fff 50%, rgba(138, 168, 150, 0.06) 100%); }

.adm-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
@media (max-width: 900px) { .adm-cards { grid-template-columns: 1fr; } }
.adm-card {
  background: #fff;
  border: 1px solid rgba(8, 56, 74, 0.1);
  border-radius: 18px;
  padding: 22px 24px;
}
.adm-checklist { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.adm-checklist li {
  font-size: 13px;
  color: rgba(15, 76, 92, 0.75);
  padding-left: 4px;
}
.adm-checklist li.is-done { color: #2d6e54; font-weight: 500; }

.adm-quick { display: grid; gap: 8px; }
.adm-quick-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(8, 56, 74, 0.12);
  border-radius: 12px;
  background: rgba(244, 234, 213, 0.4);
  text-decoration: none;
  color: #08384a;
  transition: all 180ms;
}
.adm-quick-btn:hover { border-color: #c2725a; background: #fff; transform: translateX(2px); }
.adm-quick-btn strong { display: block; font-size: 14px; margin-bottom: 2px; }
.adm-quick-btn p { font-size: 12px; color: rgba(15, 76, 92, 0.6); margin: 0; }
.adm-quick-ico { font-size: 22px; flex-shrink: 0; }

/* === Buttons === */
.adm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 18px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 9px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 180ms;
  font-family: inherit;
  text-decoration: none;
}
.adm-btn-primary {
  background: #08384a;
  color: #f4ead5;
}
.adm-btn-primary:hover { background: #0e5471; }
.adm-btn-primary:disabled { opacity: 0.5; cursor: wait; }
.adm-btn-ghost {
  background: transparent;
  color: #08384a;
  border-color: rgba(8, 56, 74, 0.2);
}
.adm-btn-ghost:hover { background: rgba(8, 56, 74, 0.06); }
.adm-btn-danger {
  background: rgba(194, 114, 90, 0.1);
  color: #c2725a;
  border-color: rgba(194, 114, 90, 0.3);
}
.adm-btn-danger:hover { background: #c2725a; color: #fff; }

/* === Fields === */
.adm-form { display: grid; gap: 14px; }
.adm-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 720px) { .adm-form-row { grid-template-columns: 1fr; } }
.adm-field { position: relative; }
.adm-field input,
.adm-field textarea,
.adm-field select {
  width: 100%;
  padding: 14px 14px 8px;
  background: #fff;
  border: 1px solid rgba(8, 56, 74, 0.18);
  border-radius: 9px;
  font-size: 14px;
  color: #08384a;
  outline: none;
  transition: border-color 180ms;
  font-family: inherit;
}
.adm-field textarea { resize: vertical; min-height: 70px; padding-top: 16px; }
.adm-field select { padding-top: 16px; }
.adm-field input:focus, .adm-field textarea:focus, .adm-field select:focus { border-color: #c2725a; }
.adm-field span {
  position: absolute;
  left: 14px;
  top: 14px;
  font-size: 13px;
  color: rgba(15, 76, 92, 0.55);
  pointer-events: none;
  transition: all 160ms;
  background: transparent;
  padding: 0 4px;
}
.adm-field input:not(:-moz-placeholder) + span, .adm-field textarea:not(:-moz-placeholder) + span {
  top: -8px;
  font-size: 11px;
  color: #c2725a;
  background: #fff;
}
.adm-field input:focus + span,
.adm-field input:not(:placeholder-shown) + span,
.adm-field textarea:focus + span,
.adm-field textarea:not(:placeholder-shown) + span,
.adm-field select:focus + span,
.adm-field select:valid + span {
  top: -8px;
  font-size: 11px;
  color: #c2725a;
  background: #fff;
}
.adm-form-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 6px;
}

.adm-err {
  margin: 0;
  padding: 10px 14px;
  background: rgba(194, 114, 90, 0.10);
  color: #b3573e;
  border-radius: 8px;
  font-size: 13px;
}
.adm-ok {
  margin: 0;
  padding: 10px 14px;
  background: rgba(45, 110, 84, 0.10);
  color: #2d6e54;
  border-radius: 8px;
  font-size: 13px;
}

/* === Staff list === */
.adm-staff-bar { margin-bottom: 18px; }
.adm-staff-list { display: grid; gap: 10px; }
.adm-staff-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid rgba(8, 56, 74, 0.1);
  border-radius: 12px;
  transition: all 160ms;
}
.adm-staff-card:hover { border-color: rgba(8, 56, 74, 0.25); box-shadow: 0 6px 16px -10px rgba(8, 56, 74, 0.2); }
.adm-staff-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #c2725a, #9b5942);
  color: #f4ead5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  flex-shrink: 0;
}
.adm-staff-info { flex: 1; min-width: 0; }
.adm-staff-row { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.adm-staff-name { font-size: 15px; font-weight: 600; color: #08384a; margin: 0; }
.adm-staff-email { font-size: 12px; color: rgba(15, 76, 92, 0.6); margin: 2px 0 0; }
.adm-staff-meta { font-size: 12px; color: rgba(15, 76, 92, 0.55); margin: 4px 0 0; }
.adm-staff-blocked {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #b3573e;
  background: rgba(194, 114, 90, 0.12);
  padding: 2px 8px;
  border-radius: 9999px;
}
.adm-staff-actions { display: flex; gap: 6px; flex-shrink: 0; }
.adm-empty {
  padding: 40px 24px;
  text-align: center;
  color: rgba(15, 76, 92, 0.5);
  font-size: 13px;
  background: rgba(244, 234, 213, 0.5);
  border: 1px dashed rgba(8, 56, 74, 0.15);
  border-radius: 12px;
}

/* Role badges */
.adm-role {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 9999px;
  font-weight: 600;
}
.adm-role-owner    { background: linear-gradient(135deg, #c2725a, #9b5942); color: #f4ead5; }
.adm-role-director { background: rgba(8, 56, 74, 0.85); color: #f4ead5; }
.adm-role-manager  { background: rgba(138, 168, 150, 0.2); color: #2d6e54; }
.adm-role-editor   { background: rgba(232, 160, 86, 0.18); color: #b58440; }
.adm-role-client   { background: rgba(8, 56, 74, 0.06); color: #08384a; }
.adm-role-partner  { background: rgba(194, 114, 90, 0.15); color: #c2725a; }

/* === Modal === */
.adm-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8, 56, 74, 0.55);
  backdrop-filter: blur(6px);
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  animation: al-rise 220ms;
}
.adm-modal {
  position: relative;
  background: #fff;
  border-radius: 18px;
  padding: 28px 28px 24px;
  max-width: 540px;
  width: 100%;
  max-height: 92vh;
  overflow-y: auto;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.3);
}
.adm-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(8, 56, 74, 0.06);
  border: none;
  color: #08384a;
  cursor: pointer;
  font-size: 14px;
}
.adm-modal-close:hover { background: rgba(8, 56, 74, 0.15); }

/* === Hero editor === */
.adm-hero-grid {
  display: grid;
  grid-template-columns: 1fr 460px;
  gap: 18px;
  align-items: start;
}
@media (max-width: 1100px) { .adm-hero-grid { grid-template-columns: 1fr; } }
.adm-hero-form { padding: 24px; }
.adm-hero-preview { padding: 20px; position: sticky; top: 90px; }
.adm-hero-prev-stage {
  position: relative;
  height: 220px;
  border-radius: 14px;
  background: linear-gradient(135deg, #08384a, #0e5471);
  background-size: cover;
  background-position: center;
  overflow: hidden;
  margin-bottom: 12px;
}
.adm-hero-prev-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 56, 74, 0.5), rgba(8, 56, 74, 0.85));
}
.adm-hero-prev-content {
  position: absolute;
  bottom: 18px;
  left: 18px;
  right: 18px;
  color: #f4ead5;
}
.adm-hero-prev-eyebrow {
  font-size: 9px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(244, 234, 213, 0.8);
  margin: 0 0 4px;
}
.adm-hero-prev-title {
  font-family: var(--font-playfair), serif;
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 4px;
  letter-spacing: -0.01em;
}
.adm-hero-prev-sub {
  font-size: 11px;
  color: rgba(244, 234, 213, 0.75);
  margin: 0 0 8px;
  line-height: 1.4;
}
.adm-hero-prev-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: rgba(194, 114, 90, 0.85);
  border-radius: 9999px;
  font-size: 11px;
  color: #f4ead5;
}
.adm-hero-prev-note {
  font-size: 11px;
  color: rgba(15, 76, 92, 0.5);
  margin: 0;
  line-height: 1.5;
}

/* ===== Туры: sub-nav / статус-черновик / кнопка дат / аккордеон (2026-05-16) ===== */
.adm2-nav-item.is-sub {
  padding-left: 34px;
  font-size: 13px;
  opacity: 0.85;
  position: relative;
}
.adm2-nav-item.is-sub::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-left: 1.5px solid rgba(244, 234, 213, 0.35);
  border-bottom: 1.5px solid rgba(244, 234, 213, 0.35);
  border-bottom-left-radius: 3px;
}
.adm2-nav-item.is-sub:hover { opacity: 1; }

.adm2-status-slate {
  background: rgba(100, 116, 139, 0.16);
  color: #64748b;
}

.adm2-row-btn-dates {
  background: rgba(224, 120, 86, 0.12);
  color: #c2725a;
  border-color: rgba(224, 120, 86, 0.3);
}
.adm2-row-btn-dates:hover {
  background: rgba(224, 120, 86, 0.2);
  color: #b14a2c;
}

.adm2-tour-row { cursor: pointer; }
.adm2-tour-row:hover { background: rgba(15, 76, 92, 0.03); }
.adm2-tour-row.is-expanded { background: rgba(15, 76, 92, 0.05); }
.adm2-tour-edit-cell { padding: 0 !important; background: #f8f9fb; }
.adm2-tour-edit {
  padding: 20px 24px 24px;
  border-top: 2px solid rgba(15, 76, 92, 0.12);
  animation: admTourExpand 0.22s ease;
}
@keyframes admTourExpand {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}
.adm2-autosave {
  font-size: 12px;
  color: rgba(15, 76, 92, 0.55);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.adm2-autosave.is-saving { color: #c2725a; }
.adm2-autosave.is-saved { color: #2f9e6f; }
/* ===== /Туры ===== */

/* ===== Туры: rich-редактор / секции формы (2026-05-16) ===== */
.adm2-rich { border: 1px solid rgba(15,76,92,0.16); border-radius: 12px; background: #fff; overflow: hidden; }
.adm2-rich-bar { display: flex; gap: 2px; padding: 6px; background: #f3f5f7; border-bottom: 1px solid rgba(15,76,92,0.1); }
.adm2-rich-btn { width: 30px; height: 28px; border-radius: 6px; font-size: 13px; color: var(--brand-deep-600); background: transparent; border: 0; cursor: pointer; }
.adm2-rich-btn:hover { background: rgba(15,76,92,0.08); }
.adm2-rich-btn.is-on { background: var(--brand-deep-600); color: #fff; }
.adm2-rich-content { padding: 12px 14px; font-size: 14px; line-height: 1.6; color: #1f2d33; outline: none; }
.adm2-rich-content:focus { outline: none; }
.adm2-rich-content p { margin: 0 0 8px; }
.adm2-rich-content h3 { font-size: 17px; font-weight: 600; margin: 10px 0 6px; }
.adm2-rich-content ul, .adm2-rich-content ol { margin: 0 0 8px; padding-left: 22px; }
.adm2-rich-content ul { list-style: disc; }
.adm2-rich-content ol { list-style: decimal; }

.adm2-section { border: 1px solid rgba(15,76,92,0.12); border-radius: 14px; padding: 16px 18px; margin-top: 16px; background: #fff; }
.adm2-section-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--brand-deep-600); margin: 0 0 12px; display: flex; align-items: center; justify-content: space-between; }
.adm2-repeat-row { display: flex; gap: 10px; align-items: flex-start; padding: 10px 0; border-top: 1px dashed rgba(15,76,92,0.14); }
.adm2-repeat-row:first-of-type { border-top: 0; }
.adm2-repeat-grow { flex: 1; }
.adm2-mini-btn { font-size: 12px; padding: 6px 12px; border-radius: 8px; border: 1px solid rgba(15,76,92,0.2); background: #fff; color: var(--brand-deep-600); cursor: pointer; }
.adm2-mini-btn:hover { background: rgba(15,76,92,0.06); }
.adm2-mini-btn-danger { color: #b14a2c; border-color: rgba(177,74,44,0.3); }
.adm2-upload { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 10px; border: 1.5px dashed rgba(15,76,92,0.3); background: #f7f9fa; color: var(--brand-deep-600); font-size: 13px; font-weight: 500; cursor: pointer; }
.adm2-upload:hover { border-color: var(--brand-deep-600); background: rgba(15,76,92,0.05); }
.adm2-upload input { display: none; }
.adm2-thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.adm2-thumb { position: relative; width: 96px; height: 72px; border-radius: 8px; overflow: hidden; border: 1px solid rgba(15,76,92,0.15); }
.adm2-thumb img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.adm2-thumb-x { position: absolute; top: 3px; right: 3px; width: 20px; height: 20px; border-radius: 50%; background: rgba(4,26,32,0.7); color: #fff; border: 0; font-size: 12px; cursor: pointer; line-height: 20px; }
.adm2-hero-prev { width: 220px; height: 130px; border-radius: 10px; -o-object-fit: cover; object-fit: cover; border: 1px solid rgba(15,76,92,0.15); display: block; margin-top: 10px; }
/* ===== /Туры форма ===== */

/* ===== tour-form (tf-) — 2026-05-16: чистый рабочий документ ===== */
.tf-wrap { width: 100%; padding-bottom: 96px; }
.tf-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.tf-title { font-family: var(--font-sans), system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: 25px; font-weight: 700; color: #0a2a33; letter-spacing: -0.02em; margin: 0; }
.tf-pill { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 500; padding: 5px 12px; border-radius: 999px; background: #eef2f3; color: #5b6b70; margin-top: 8px; }
.tf-pill.is-saving { background: #fdeee7; color: #c2725a; }
.tf-pill.is-saved { background: #e7f4ee; color: #2f9e6f; }
.tf-pill .dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

.tf-card { background: #fff; border: 1px solid #e9edee; border-radius: 12px; padding: 20px 22px; margin-bottom: 14px; transition: box-shadow .18s ease, border-color .18s ease; }
.tf-card:focus-within { border-color: #cfdde0; box-shadow: 0 6px 24px -16px rgba(10,42,51,.35); }
.tf-card-label { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--brand-deep-600); margin: 0 0 16px; }
.tf-card-label::before { content: ""; width: 14px; height: 2px; border-radius: 2px; background: var(--brand-terra-500); }
.tf-card-hint { font-size: 12px; color: #93a1a5; margin: -8px 0 14px; }

.tf-field { display: block; margin-bottom: 14px; }
.tf-field:last-child { margin-bottom: 0; }
.tf-field > span { display: block; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #8a999d; margin-bottom: 6px; }
.tf-field input, .tf-field textarea, .tf-field select, .tf-inp {
  width: 100%; border: 1px solid #dce3e4; background: #fbfcfc; border-radius: 10px;
  padding: 11px 13px; font-size: 14px; color: #1f2d33; transition: border-color .15s, box-shadow .15s, background .15s;
}
.tf-field input:focus, .tf-field textarea:focus, .tf-field select:focus, .tf-inp:focus {
  outline: none; border-color: var(--brand-deep-600); background: #fff; box-shadow: 0 0 0 3px rgba(15,76,92,.12);
}
.tf-field input::-moz-placeholder, .tf-field textarea::-moz-placeholder { color: #b4c0c3; }
.tf-field input::placeholder, .tf-field textarea::placeholder { color: #b4c0c3; }
.tf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.tf-row-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
@media (max-width: 720px) { .tf-row, .tf-row-3 { grid-template-columns: 1fr; } }

/* locked: всё видно, мягко притушено + замок-подсказка */
.tf-locked-zone { position: relative; transition: opacity .45s ease, filter .45s ease; }
.tf-locked-zone.is-locked { opacity: .42; filter: grayscale(.5); pointer-events: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; }
.tf-lockbar {
  position: sticky; top: 8px; z-index: 5; display: flex; align-items: center; gap: 10px;
  background: var(--brand-deep-600); color: var(--brand-cream-100); padding: 11px 18px; border-radius: 12px;
  font-size: 13px; font-weight: 500; margin-bottom: 16px; box-shadow: 0 10px 26px -14px rgba(15,76,92,.6);
}
.tf-lockbar svg { flex-shrink: 0; }

/* вкладки описания */
.tf-tabs { display: flex; gap: 4px; padding: 5px; background: #eef2f3; border-radius: 12px; margin-bottom: 12px; width: -moz-fit-content; width: fit-content; }
.tf-tab { border: 0; background: transparent; padding: 8px 16px; border-radius: 9px; font-size: 13px; font-weight: 500; color: #5b6b70; cursor: pointer; transition: all .18s ease; }
.tf-tab:hover { color: var(--brand-deep-600); }
.tf-tab.is-on { background: #fff; color: #0a2a33; box-shadow: 0 2px 8px -3px rgba(10,42,51,.25); }

/* загрузка файлов */
.tf-drop { display: flex; align-items: center; gap: 10px; padding: 16px 20px; border: 1.5px dashed #c8d4d6; border-radius: 12px; background: #fafbfb; color: #5b6b70; font-size: 13px; font-weight: 500; cursor: pointer; transition: all .18s ease; }
.tf-drop:hover { border-color: var(--brand-terra-500); background: #fdf3ef; color: #b14a2c; }
.tf-drop input { display: none; }
.tf-hero-prev { display: block; margin-top: 14px; width: 100%; max-width: 360px; aspect-ratio: 16/10; -o-object-fit: cover; object-fit: cover; border-radius: 12px; border: 1px solid #e7ebec; }
.tf-thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.tf-thumb { position: relative; width: 104px; height: 78px; border-radius: 10px; overflow: hidden; border: 1px solid #e7ebec; }
.tf-thumb img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.tf-thumb-x { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; border-radius: 50%; background: rgba(10,26,32,.72); color: #fff; border: 0; cursor: pointer; font-size: 12px; }

/* мелкие кнопки / повторяющиеся строки */
.tf-mini { font-size: 13px; font-weight: 500; padding: 9px 16px; border-radius: 9px; border: 1px solid var(--brand-deep-600); background: var(--brand-deep-600); color: var(--brand-cream-100); cursor: pointer; transition: all .15s ease; }
.tf-mini:hover { background: #0a3744; }
.tf-mini-ghost { background: #fff; color: var(--brand-deep-600); }
.tf-mini-ghost:hover { background: #eef4f5; }
.tf-mini-danger { background: #fff; color: #b14a2c; border-color: #e6c3b8; }
.tf-mini-danger:hover { background: #fdf0ec; }
.tf-rowline { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid #eef2f3; }
.tf-rowline:first-of-type { border-top: 0; }
.tf-rowline-grow { flex: 1; font-size: 14px; color: #1f2d33; }
.tf-inline { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; align-items: center; }
.tf-inline input, .tf-inline select { width: auto; flex: 0 1 auto; }
.tf-inline .grow { flex: 1; min-width: 140px; }

/* sticky save-бар */
.tf-savebar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
  display: flex; align-items: center; justify-content: flex-end; gap: 14px;
  padding: 14px 28px; background: rgba(255,255,255,.86); backdrop-filter: blur(10px);
  border-top: 1px solid #e7ebec;
}
@media (min-width: 1024px) { .tf-savebar { left: 220px; } }
.tf-savebar .tf-status { margin-right: auto; font-size: 13px; color: #8a999d; }
.tf-btn { font-size: 14px; font-weight: 600; padding: 11px 24px; border-radius: 10px; border: 0; cursor: pointer; transition: all .18s ease; }
.tf-btn-ghost { background: #eef2f3; color: var(--brand-deep-600); }
.tf-btn-ghost:hover { background: #e1e8e9; }
.tf-btn-primary { background: var(--brand-terra-500); color: #fff; box-shadow: 0 10px 22px -12px rgba(212,95,58,.8); }
.tf-btn-primary:hover { background: #b14a2c; }
.tf-btn:disabled { opacity: .6; cursor: default; }

.tf-rich { border: 1px solid #dce3e4; border-radius: 12px; overflow: hidden; }
.tf-rich .adm2-rich { border: 0; border-radius: 0; }
.tf-err { color: #c0392b; font-size: 13px; margin: 14px 0 0; }
/* ===== /tour-form ===== */

/* ===== CRM unify -> tf-стиль (2026-05-16): весь контент админки в одном стиле.
   Scoped под .adm2-content => не трогает сайдбар/топбар, перебивает старые правила. */
.adm2-content { background: #f5f6f8; }

.adm2-content .adm2-h1 {
  font-family: var(--font-sans), system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 25px; font-weight: 700; color: #0a2a33; letter-spacing: -0.02em;
}
.adm2-content .adm2-h2 {
  font-family: var(--font-sans), system-ui, sans-serif;
  font-size: 18px; font-weight: 700; color: #0a2a33; letter-spacing: -0.01em;
}
.adm2-content .adm2-page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.adm2-content .adm2-page-sub-inline { font-size: 13px; color: #8a999d; margin-top: 6px; }

.adm2-content .adm2-section,
.adm2-content .adm2-table-wrap {
  background: #fff; border: 1px solid #e9edee; border-radius: 12px;
  padding: 20px 22px; margin-bottom: 14px; transition: box-shadow .18s ease, border-color .18s ease;
}
.adm2-content .adm2-table-wrap { padding: 6px 6px; }
.adm2-content .adm2-section:focus-within { border-color: #cfdde0; box-shadow: 0 6px 24px -16px rgba(10,42,51,.35); }
.adm2-content .adm2-section-title {
  display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--brand-deep-600); margin: 0 0 16px;
}
.adm2-content .adm2-section-title::before { content: ""; width: 14px; height: 2px; border-radius: 2px; background: var(--brand-terra-500); }

.adm2-content .adm2-field { display: block; margin-bottom: 14px; }
.adm2-content .adm2-field > span { display: block; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #8a999d; margin-bottom: 6px; }
.adm2-content .adm2-field input,
.adm2-content .adm2-field textarea,
.adm2-content .adm2-field select,
.adm2-content .adm2-filter input,
.adm2-content .adm2-filter-input,
.adm2-content input[type="text"],
.adm2-content input[type="email"],
.adm2-content input[type="number"],
.adm2-content input[type="date"],
.adm2-content input[type="password"],
.adm2-content input[type="search"],
.adm2-content textarea,
.adm2-content select {
  width: 100%; border: 1px solid #dce3e4; background: #fbfcfc; border-radius: 10px;
  padding: 11px 13px; font-size: 14px; color: #1f2d33;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.adm2-content .adm2-field input:focus,
.adm2-content .adm2-field textarea:focus,
.adm2-content .adm2-field select:focus,
.adm2-content .adm2-filter input:focus,
.adm2-content .adm2-filter-input:focus,
.adm2-content input:focus,
.adm2-content textarea:focus,
.adm2-content select:focus {
  outline: none; border-color: var(--brand-deep-600); background: #fff; box-shadow: 0 0 0 3px rgba(15,76,92,.12);
}
.adm2-content input::-moz-placeholder, .adm2-content textarea::-moz-placeholder { color: #b4c0c3; }
.adm2-content input::placeholder, .adm2-content textarea::placeholder { color: #b4c0c3; }

.adm2-content .adm2-filters { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 16px; }
.adm2-content .adm2-filter-grow { flex: 1; min-width: 200px; }

.adm2-content .adm2-btn,
.adm2-content .adm2-row-btn,
.adm2-content .adm2-mini-btn {
  font-size: 13px; font-weight: 600; padding: 10px 18px; border-radius: 10px;
  border: 0; cursor: pointer; transition: all .16s ease; line-height: 1.2;
}
.adm2-content .adm2-row-btn, .adm2-content .adm2-mini-btn { font-size: 12px; padding: 8px 14px; }
.adm2-content .adm2-btn-primary { background: var(--brand-terra-500); color: #fff; box-shadow: 0 10px 22px -12px rgba(212,95,58,.8); }
.adm2-content .adm2-btn-primary:hover { background: #b14a2c; }
.adm2-content .adm2-btn-ghost,
.adm2-content .adm2-row-btn { background: #eef2f3; color: var(--brand-deep-600); }
.adm2-content .adm2-btn-ghost:hover, .adm2-content .adm2-row-btn:hover { background: #e1e8e9; }
.adm2-content .adm2-mini-btn { background: var(--brand-deep-600); color: var(--brand-cream-100); }
.adm2-content .adm2-mini-btn:hover { background: #0a3744; }
.adm2-content .adm2-row-btn-danger,
.adm2-content .adm2-mini-btn-danger { background: #fff; color: #b14a2c; border: 1px solid #e6c3b8; }
.adm2-content .adm2-row-btn-danger:hover, .adm2-content .adm2-mini-btn-danger:hover { background: #fdf0ec; }
.adm2-content .adm2-row-btn-dates { background: #fdf3ef; color: #c2725a; border: 1px solid #ecc9bd; }
.adm2-content .adm2-row-btn-dates:hover { background: #f8e3da; }
.adm2-content .adm2-form-actions { display: flex; gap: 12px; justify-content: flex-end; margin-top: 16px; }
.adm2-content .adm2-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 720px) { .adm2-content .adm2-form-row { grid-template-columns: 1fr; } }

.adm2-content .adm2-table { width: 100%; border-collapse: collapse; }
.adm2-content .adm2-table th {
  text-align: left; font-size: 10px; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: #93a1a5; padding: 12px 14px; border-bottom: 1px solid #eef2f3;
}
.adm2-content .adm2-table td { padding: 14px 14px; font-size: 14px; color: #1f2d33; border-bottom: 1px solid #f1f4f5; }
.adm2-content .adm2-table tr:last-child td { border-bottom: 0; }
.adm2-content .adm2-tour-row:hover { background: #f7fafb; }
.adm2-content .adm2-tour-row.is-expanded { background: #f2f7f8; }
.adm2-content .adm2-cell-name { font-weight: 600; color: #0a2a33; }
.adm2-content .adm2-cell-service-sub { font-size: 12px; color: #93a1a5; margin-top: 2px; }

.adm2-content .adm2-status {
  display: inline-flex; align-items: center; font-size: 11px; font-weight: 600;
  padding: 4px 10px; border-radius: 999px; letter-spacing: .02em;
}
.adm2-content .adm2-status-slate  { background: #eef2f3; color: #64748b; }
.adm2-content .adm2-status-amber  { background: #fdf2e3; color: #b07d2b; }
.adm2-content .adm2-status-violet { background: #efeafe; color: #6b4fc0; }
.adm2-content .adm2-status-emerald{ background: #e7f4ee; color: #2f9e6f; }
.adm2-content .adm2-status-rose   { background: #fdeaea; color: #c0392b; }
.adm2-content .adm2-status-blue   { background: #e7f0f7; color: #2f6fae; }

.adm2-content .adm2-modal-overlay { background: rgba(10,26,32,.45); backdrop-filter: blur(3px); }
.adm2-content .adm2-modal {
  background: #fff; border: 1px solid #e9edee; border-radius: 16px;
  padding: 26px 28px; box-shadow: 0 30px 70px -30px rgba(4,26,32,.55);
}
.adm2-content .adm2-modal-close { color: #93a1a5; }
.adm2-content .adm2-modal-close:hover { color: #0a2a33; }

.adm2-content .adm2-empty, .adm2-content .adm2-empty-inline { color: #93a1a5; font-size: 14px; }
.adm2-content .adm2-err { color: #c0392b; font-size: 13px; }
/* ===== /CRM unify ===== */

/* ===== fix: filters не коробка-в-коробке (2026-05-16) ===== */
.adm2-content div.adm2-filter { padding: 0; background: transparent; border: 0; border-radius: 0; min-width: 0; box-shadow: none; display: flex; align-items: center; }
.adm2-content .adm2-filter-grow { flex: 1; min-width: 220px; }
.adm2-content select.adm2-filter-input, .adm2-content .adm2-filter-input { min-width: 200px; }
.adm2-content .adm2-stats { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.adm2-content .adm2-stat-tile { background: #fff; border: 1px solid #e9edee; border-radius: 12px; padding: 14px 18px; min-width: 118px; display: flex; flex-direction: column; gap: 4px; }
.adm2-content .adm2-stat-value { font-size: 22px; font-weight: 700; color: #0a2a33; line-height: 1; }
.adm2-content .adm2-stat-label { font-size: 12px; color: #8a999d; }
.adm2-content .adm2-view-switch { display: inline-flex; gap: 2px; background: #eef2f3; border-radius: 10px; padding: 4px; }
/* ===== /fix ===== */

/* ===== fix2: лупа-в-контейнере + select chevron (2026-05-16) ===== */
.adm2-content div.adm2-filter.adm2-filter-grow {
  display: flex; align-items: center; gap: 9px; padding: 0 14px;
  background: #fbfcfc; border: 1px solid #dce3e4; border-radius: 10px;
  flex: 1; min-width: 220px;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.adm2-content div.adm2-filter.adm2-filter-grow:focus-within {
  border-color: var(--brand-deep-600); background: #fff; box-shadow: 0 0 0 3px rgba(15,76,92,.12);
}
.adm2-content div.adm2-filter.adm2-filter-grow > svg {
  width: 16px; height: 16px; color: #93a1a5; flex-shrink: 0;
}
.adm2-content div.adm2-filter.adm2-filter-grow input,
.adm2-content div.adm2-filter.adm2-filter-grow input:focus {
  border: 0; background: transparent; box-shadow: none; outline: none;
  padding: 11px 0; flex: 1; font-size: 14px; color: #1f2d33; border-radius: 0; min-width: 0;
}

/* ВСЕ выпадающие списки — единый вид + кастомный chevron (вкл. даты туров) */
.adm2-content select {
  appearance: none; -webkit-appearance: none; -moz-appearance: none;
  background-color: #fbfcfc;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235b6b70' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
  padding-right: 34px; cursor: pointer;
}
.adm2-content select:focus {
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235b6b70' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}
.adm2-content select::-ms-expand { display: none; }
/* ===== /fix2 ===== */

/* Тело статьи блога (HTML из CRM) — чистый prose */
.blog-article-body p { margin: 1.1em 0; }
.blog-article-body img { max-width: 100%; height: auto; border-radius: 14px; margin: 1.6em auto; display: block; box-shadow: 0 8px 30px rgba(6,43,54,.10); }
.blog-article-body h2 { font-size: 1.6em; font-weight: 600; line-height: 1.2; margin: 1.6em 0 .5em; color: var(--brand-deep-600); }
.blog-article-body h3 { font-size: 1.3em; font-weight: 600; margin: 1.4em 0 .4em; color: var(--brand-deep-600); }
.blog-article-body ul, .blog-article-body ol { margin: 1.1em 0; padding-left: 1.4em; }
.blog-article-body ul { list-style: disc; }
.blog-article-body ol { list-style: decimal; }
.blog-article-body li { margin: .4em 0; }
.blog-article-body a { color: var(--brand-terra-500); text-decoration: underline; text-underline-offset: 2px; }
.blog-article-body strong { font-weight: 600; color: var(--brand-deep-600); }
.blog-article-body table { width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: .94em; }
.blog-article-body td, .blog-article-body th { border: 1px solid #E3D9C8; padding: 8px 10px; vertical-align: top; }
.blog-article-body iframe { max-width: 100%; border-radius: 14px; margin: 1.4em 0; }

/* ============================================================
   БЛОГ — редакционный дизайн (порт из maclay (10).zip).
   Всё scoped под .blog-ed чтобы не цеплять остальной сайт.
   Адаптив: см. media-классы Tailwind в разметке + ниже.
   ============================================================ */
.blog-ed { background:
    radial-gradient(800px 480px at 8% 4%, rgba(232,147,121,0.08) 0%, rgba(232,147,121,0) 60%),
    radial-gradient(900px 620px at 96% 26%, rgba(180,220,235,0.20) 0%, rgba(180,220,235,0) 60%),
    linear-gradient(to bottom, var(--brand-cream-200) 0%, #F6F3EC 60%, var(--brand-cream-200) 100%); }
.blog-ed .font-serif-soft { font-family: var(--font-display), Georgia, serif; }
.blog-ed .font-script { font-family: "Caveat", cursive; }
.blog-ed ::-moz-selection { background: var(--brand-terra-400); color: var(--brand-cream-200); }
.blog-ed ::selection { background: var(--brand-terra-400); color: var(--brand-cream-200); }

.blog-ed .vrail { writing-mode: vertical-rl; transform: rotate(180deg); letter-spacing: .6em; }

.blog-ed .search-shell { display:flex; align-items:center; gap:10px; background:var(--brand-cream-200);
  border:1px solid rgba(15,76,92,.14); border-radius:9999px; padding:8px 8px 8px 20px;
  transition:border-color .24s ease, box-shadow .24s ease; }
.blog-ed .search-shell:focus-within { border-color:rgba(15,76,92,.45); box-shadow:0 0 0 4px rgba(15,76,92,.06); }
.blog-ed .search-shell input { background:transparent; outline:none; flex:1; font-size:14px; color:var(--brand-deep-600); }
.blog-ed .search-shell input::-moz-placeholder { color:rgba(15,76,92,.45); }
.blog-ed .search-shell input::placeholder { color:rgba(15,76,92,.45); }

.blog-ed .hero-cover { position:relative; overflow:hidden; border-radius:28px; }
.blog-ed .hero-cover img { width:100%; height:100%; -o-object-fit:cover; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.blog-ed .hero-cover:hover img { transform:scale(1.04); }
.blog-ed .hero-cover .scrim { position:absolute; inset:0; background:
  linear-gradient(180deg, rgba(6,43,54,.05) 0%, rgba(6,43,54,0) 30%, rgba(6,43,54,.25) 60%, rgba(6,43,54,.85) 100%),
  linear-gradient(110deg, rgba(6,43,54,.55) 0%, rgba(6,43,54,0) 55%); }

.blog-ed .hero-badge { display:inline-flex; align-items:center; gap:8px; padding:7px 14px;
  border-radius:9999px; font-size:11.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  background:rgba(250,250,247,.95); color:var(--brand-deep-600); border:1px solid rgba(255,255,255,.5); backdrop-filter:blur(8px); }
.blog-ed .hero-badge.is-accent { background:rgba(224,120,86,.95); color:var(--brand-cream-200); border-color:rgba(255,255,255,.4); }
.blog-ed .hero-badge .dot { width:6px; height:6px; border-radius:9999px; background:var(--brand-terra-400); }

.blog-ed .cta-pill { position:relative; width:220px; height:56px; border-radius:9999px; background:var(--brand-deep-600);
  border:1px solid var(--brand-deep-600); overflow:hidden; display:inline-block;
  transition:background .32s ease,border-color .32s ease,box-shadow .32s ease,transform .22s ease; }
.blog-ed .cta-pill .cta-label { position:absolute; left:0; top:50%; transform:translateY(-50%); width:100%;
  text-align:left; padding-left:24px; padding-right:66px; color:var(--brand-cream-200); font-weight:500; font-size:15px;
  transition:color .32s ease,padding .32s ease; pointer-events:none; white-space:nowrap; }
.blog-ed .cta-pill .cta-circle { position:absolute; top:50%; right:6px; width:44px; height:44px; border-radius:9999px;
  background:var(--brand-terra-400); color:var(--brand-cream-200); display:flex; align-items:center; justify-content:center;
  transform:translateY(-50%); transition:transform .48s cubic-bezier(.2,.7,.2,1),background .32s ease; }
.blog-ed .cta-pill:hover { background:var(--brand-terra-400); border-color:var(--brand-terra-400); box-shadow:0 18px 30px -16px rgba(224,120,86,.55); transform:translateY(-2px); }
.blog-ed .cta-pill:hover .cta-label { padding-left:66px; padding-right:24px; }
.blog-ed .cta-pill:hover .cta-circle { transform:translate(calc(-1 * (220px - 44px - 12px)), -50%); background:var(--brand-cream-200); color:var(--brand-deep-600); }

.blog-ed .chip { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:9999px;
  font-size:13px; font-weight:500; color:var(--brand-deep-600); background:var(--brand-cream-200); border:1px solid rgba(15,76,92,.14);
  transition:background .24s ease,color .24s ease,border-color .24s ease,transform .22s ease; cursor:pointer; white-space:nowrap; }
.blog-ed .chip:hover { border-color:rgba(15,76,92,.35); transform:translateY(-1px); }
.blog-ed .chip.is-active { background:var(--brand-deep-600); color:var(--brand-cream-200); border-color:var(--brand-deep-600); }
.blog-ed .chip .count { font-size:11px; opacity:.55; font-variant-numeric:tabular-nums; }
.blog-ed .chip.is-active .count { opacity:.75; }
.blog-ed .scrollbar-thin { scrollbar-width:thin; }
.blog-ed .scrollbar-thin::-webkit-scrollbar { height:6px; }
.blog-ed .scrollbar-thin::-webkit-scrollbar-thumb { background:rgba(15,76,92,.2); border-radius:9999px; }

.blog-ed .post-card .cover { position:relative; overflow:hidden; border-radius:18px; aspect-ratio:4/3;
  background:#E8E4D8; box-shadow:0 10px 22px -16px rgba(15,76,92,.35),0 4px 10px -6px rgba(0,0,0,.06); }
.blog-ed .post-card .cover img { width:100%; height:100%; -o-object-fit:cover; object-fit:cover;
  transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s ease; }
.blog-ed .post-card:hover .cover img { transform:scale(1.06); filter:saturate(1.08); }
.blog-ed .post-card .cat-badge { position:absolute; top:14px; left:14px;
  backdrop-filter:blur(10px) saturate(140%); -webkit-backdrop-filter:blur(10px) saturate(140%);
  background:rgba(250,250,247,.92); color:var(--brand-deep-600); border:1px solid rgba(15,76,92,.10);
  padding:5px 11px; border-radius:9999px; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.blog-ed .post-card h3 { transition:color .22s ease; }
.blog-ed .post-card:hover h3 { color:var(--brand-terra-600); }
.blog-ed .post-card .read-link { transition:gap .24s ease; }
.blog-ed .post-card:hover .read-link { gap:10px; }

.blog-ed .page-btn { min-width:42px; height:42px; padding:0 6px; display:inline-flex; align-items:center;
  justify-content:center; border-radius:9999px; font-size:14px; font-weight:500; color:var(--brand-deep-600);
  background:transparent; border:1px solid transparent; transition:all .22s ease; }
.blog-ed .page-btn:hover { background:#F2F0E8; }
.blog-ed .page-btn.is-active { background:var(--brand-deep-600); color:var(--brand-cream-200); }
.blog-ed .page-btn.is-edge { border-color:rgba(15,76,92,.18); background:var(--brand-cream-200); }

/* ── статья ── */
.blog-ed .art-hero { position:relative; overflow:hidden; }
.blog-ed .art-hero .hero-img { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.04); }
.blog-ed .art-hero .hero-scrim { position:absolute; inset:0; background:
  linear-gradient(180deg, rgba(6,43,54,.45) 0%, rgba(6,43,54,.15) 30%, rgba(6,43,54,.55) 70%, rgba(6,43,54,.85) 100%),
  linear-gradient(100deg, rgba(6,43,54,.45) 0%, rgba(6,43,54,0) 50%); }

.blog-ed .share-btn { width:42px; height:42px; border-radius:9999px; display:flex; align-items:center;
  justify-content:center; color:var(--brand-deep-600); background:var(--brand-cream-200); border:1px solid rgba(15,76,92,.14);
  transition:all .22s ease; }
.blog-ed .share-btn:hover { background:var(--brand-deep-600); color:var(--brand-cream-200); border-color:var(--brand-deep-600); transform:translateY(-2px); }

.blog-ed .prose { color:var(--brand-deep-600); font-family:var(--font-sans),"Inter",system-ui,sans-serif; font-size:17.5px; line-height:1.8; font-weight:400; counter-reset:h2c; -webkit-font-smoothing:antialiased; }
.blog-ed .prose p { margin:0 0 1.3em; text-wrap:pretty; }
.blog-ed .prose strong, .blog-ed .prose b { color:var(--brand-deep-600); font-weight:600; }
.blog-ed .prose h2 { font-family:var(--font-display),Georgia,serif; font-weight:700; font-size:30px;
  line-height:1.2; letter-spacing:-.005em; margin:2.1em 0 .55em; color:var(--brand-deep-600); }
.blog-ed .prose h2::before { counter-increment:h2c; content:counter(h2c, decimal-leading-zero) "  —"; display:block;
  font-family:var(--font-sans),Inter,sans-serif; font-size:12px; font-weight:700; letter-spacing:.26em;
  text-transform:uppercase; color:var(--brand-terra-400); margin-bottom:14px; }
.blog-ed .prose h3 { font-family:var(--font-display),Georgia,serif; font-weight:600; font-size:21px;
  line-height:1.3; margin:1.7em 0 .45em; color:var(--brand-deep-600); }
.blog-ed .prose a { color:var(--brand-terra-600); text-decoration:underline; text-underline-offset:2px; }
.blog-ed .prose ul, .blog-ed .prose ol { margin:1.2em 0; padding-left:1.4em; }
.blog-ed .prose ul { list-style:disc; } .blog-ed .prose ol { list-style:decimal; }
.blog-ed .prose li { margin:.45em 0; }
.blog-ed .prose img { max-width:100%; height:auto; border-radius:18px; display:block; margin:2em auto;
  box-shadow:0 24px 50px -28px rgba(15,76,92,.35),0 8px 18px -8px rgba(0,0,0,.10); }
.blog-ed .prose table { width:100%; border-collapse:collapse; margin:1.6em 0; font-size:.92em;
  font-family:Inter,system-ui,sans-serif; }
.blog-ed .prose td, .blog-ed .prose th { border:1px solid rgba(15,76,92,.18); padding:9px 11px; vertical-align:top; }
.blog-ed .prose .lede { font-size:1.08em; line-height:1.62; color:var(--brand-deep-600); }
.blog-ed .prose .lede::first-letter { font-family:var(--font-display),Georgia,serif; font-weight:700;
  float:left; font-size:4.2em; line-height:.86; padding:.04em .14em 0 0; color:var(--brand-terra-600); }
.blog-ed .rel-card .cover { position:relative; overflow:hidden; border-radius:18px; aspect-ratio:4/3;
  background:#E8E4D8; box-shadow:0 10px 22px -16px rgba(15,76,92,.35); }
.blog-ed .rel-card .cover img { width:100%; height:100%; -o-object-fit:cover; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.blog-ed .rel-card:hover .cover img { transform:scale(1.06); }
.blog-ed .rel-card .cat-badge { position:absolute; top:14px; left:14px; background:rgba(250,250,247,.92);
  color:var(--brand-deep-600); border:1px solid rgba(15,76,92,.10); padding:5px 11px; border-radius:9999px;
  font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.blog-ed .rel-card h3 { transition:color .22s ease; }
.blog-ed .rel-card:hover h3 { color:var(--brand-terra-600); }

/* Адаптив: на мобиле прячем дроп-кап-перебор и сужаем заголовки уже Tailwind-классами в разметке */
@media (max-width: 640px) {
  .blog-ed .prose { font-size:16.5px; }
  .blog-ed .prose h2 { font-size:26px; }
  .blog-ed .prose .lede::first-letter { font-size:3.6em; }
}

/* ===== БЛОГ-СТАТЬЯ v2: лево-выравнивание, правый сайдбар, кнопка назад ===== */

/* читаемая колонка слева; текст НЕ шире картинки; картинки влево, не по центру */
.blog-ed .prose.lede,
.blog-ed .article-body { max-width: 760px; text-align: left; }
.blog-ed .prose img,
.blog-ed .prose figure { display: block; margin: 1.7em 0 1.7em 0 !important; margin-left: 0 !important;
  max-width: 100%; height: auto; border-radius: 14px; }
.blog-ed .prose figure img { margin: 0 !important; border-radius: 14px; }
.blog-ed .prose figcaption { font-family: var(--font-sans), Inter, sans-serif; font-size: 12.5px;
  color: rgba(15,76,92,.6); margin-top: 10px; padding-left: 14px; border-left: 2px solid rgba(224,120,86,.5); }
.blog-ed .prose p, .blog-ed .prose ul, .blog-ed .prose ol,
.blog-ed .prose h2, .blog-ed .prose h3 { max-width: 760px; }

/* кнопка «Назад в блог» */
.blog-ed .back-link {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 9px 18px 9px 15px; border-radius: 9999px;
  font-size: 13px; font-weight: 600; letter-spacing: .01em;
  color: var(--brand-deep-600); background: var(--brand-cream-200); border: 1px solid rgba(15,76,92,.16);
  transition: background .22s ease, color .22s ease, border-color .22s ease, transform .2s ease;
}
.blog-ed .back-link:hover {
  background: var(--brand-deep-600); color: var(--brand-cream-200); border-color: var(--brand-deep-600); transform: translateX(-2px);
}

/* правый сайдбар */
.blog-ed .side-card {
  background: var(--brand-cream-200); border: 1px solid rgba(15,76,92,.10);
  border-radius: 20px; padding: 22px 22px 24px;
  box-shadow: 0 14px 30px -24px rgba(15,76,92,.30);
}
.blog-ed .side-title {
  font-family: var(--font-sans), Inter, sans-serif;
  font-size: 12px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase;
  color: var(--brand-terra-400); padding-bottom: 14px; margin-bottom: 6px;
  border-bottom: 1px solid rgba(15,76,92,.10);
}
.blog-ed .side-post {
  display: flex; gap: 13px; align-items: flex-start;
  padding: 14px 0; border-bottom: 1px solid rgba(15,76,92,.08);
}
.blog-ed .side-post:last-child { border-bottom: 0; padding-bottom: 0; }
.blog-ed .side-post-thumb {
  width: 78px; height: 58px; flex-shrink: 0; border-radius: 11px; overflow: hidden; background: #E8E4D8;
}
.blog-ed .side-post-thumb img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover;
  transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.blog-ed .side-post:hover .side-post-thumb img { transform: scale(1.07); }
.blog-ed .side-post-title {
  font-family: var(--font-display), Georgia, serif;
  font-size: 15px; font-weight: 600; line-height: 1.28; color: var(--brand-deep-600);
}
.blog-ed .side-post-meta {
  font-family: var(--font-sans), Inter, sans-serif;
  font-size: 11.5px; color: rgba(15,76,92,.55); margin-top: 5px;
  text-transform: uppercase; letter-spacing: .08em;
}
.blog-ed .side-cat {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 12px; border-radius: 9999px;
  font-size: 12.5px; font-weight: 500; color: var(--brand-deep-600);
  background: #F2F0E8; border: 1px solid rgba(15,76,92,.10);
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.blog-ed .side-cat:hover { background: var(--brand-deep-600); color: var(--brand-cream-200); transform: translateY(-1px); }
.blog-ed .side-cat-n { font-size: 11px; opacity: .6; font-variant-numeric: tabular-nums; }
.blog-ed .side-cat:hover .side-cat-n { opacity: .8; }
.blog-ed .side-all {
  display: inline-flex; align-items: center; gap: 7px; margin-top: 18px;
  font-size: 13px; font-weight: 600; color: var(--brand-terra-600);
}
.blog-ed .side-all:hover { color: var(--brand-deep-600); }

@media (max-width: 1023px) {
  .blog-ed .side-card { padding: 20px; }
  .blog-ed .prose.lede, .blog-ed .article-body,
  .blog-ed .prose p, .blog-ed .prose ul, .blog-ed .prose ol,
  .blog-ed .prose h2, .blog-ed .prose h3 { max-width: 100%; }
}

/* ===== БЛОГ-СТАТЬЯ v3: единый правый контейнер + рабочее залипание ===== */
.blog-ed .side-rail {
  background: var(--brand-cream-200); border: 1px solid rgba(15,76,92,.10);
  border-radius: 22px; padding: 24px 24px 26px;
  box-shadow: 0 16px 36px -26px rgba(15,76,92,.30);
}
.blog-ed .side-sec { display: block; }
/* красивая линия-разделитель между «Последними» и «Категориями» */
.blog-ed .side-div {
  border: 0; height: 1px; margin: 22px 0 20px;
  background: linear-gradient(90deg, rgba(15,76,92,0) 0%, rgba(15,76,92,.20) 18%,
              rgba(224,120,86,.45) 50%, rgba(15,76,92,.20) 82%, rgba(15,76,92,0) 100%);
}
/* Залипание: панель «плавает» и при длинной высоте скроллится ВНУТРИ,
   поэтому категории видно при любой прокрутке, а не только внизу страницы. */
@media (min-width: 1024px) {
  .blog-ed .side-rail {
    position: sticky; top: 5.5rem;
    max-height: calc(100vh - 6.5rem);
    overflow-y: auto; overscroll-behavior: contain;
    scrollbar-width: thin; scrollbar-color: rgba(15,76,92,.25) transparent;
  }
  .blog-ed .side-rail::-webkit-scrollbar { width: 6px; }
  .blog-ed .side-rail::-webkit-scrollbar-thumb {
    background: rgba(15,76,92,.22); border-radius: 9999px;
  }
  .blog-ed .side-rail::-webkit-scrollbar-track { background: transparent; }
}
.blog-ed .side-rail .side-post:last-of-type { border-bottom: 0; padding-bottom: 2px; }
.blog-ed .side-rail .side-all { margin-top: 16px; }
@media (max-width: 1023px) {
  .blog-ed .side-rail { padding: 20px; }
}

/* ── текст по ширине, картинки по типу ── */
.blog-ed .article-body, .blog-ed .prose.lede { text-align: justify; text-justify: inter-word; hyphens: auto; }
.blog-ed .article-body p { text-align: justify; }
.blog-ed .article-body h2, .blog-ed .article-body h3 { text-align: left; hyphens: manual; }
/* до классификации (anti-jump): ведём себя как широкая */
.blog-ed .article-body img { width: 100%; height: auto; margin: 1.7em 0 !important; border-radius: 14px; display: block; }
/* горизонтальная / 16:9 — во всю ширину текстовой колонки */
.blog-ed .article-body img.img-wide { width: 100%; max-width: 100%; margin: 1.8em 0 !important; }
/* вертикальная — по центру, не на всю ширину */
.blog-ed .article-body img.img-tall {
  width: auto; max-width: min(70%, 440px); margin: 1.9em auto !important; display: block;
}
.blog-ed .article-body figure { margin: 1.8em 0; }
.blog-ed .article-body figure.img-tall { text-align: center; }
.blog-ed .article-body figure.img-tall img { margin-left: auto !important; margin-right: auto !important; }

/* side-rail v4 (full-size, без внутреннего скролла/залипания) */
@media (min-width: 1024px) {
  .blog-ed .side-rail { position: static; top: auto; max-height: none; overflow: visible; }
}

/* side-rail v5 (sticky-плавающий, БЕЗ внутреннего скролла, виден целиком) */
@media (min-width: 1024px) {
  .blog-ed .side-rail {
    position: sticky; top: 5.5rem;
    max-height: none; overflow: visible;
  }
}

/* ===================== WYSIWYG (.bw-*) — светлый «лист» ===================== */
.bw-shell { background: #FFFFFF; border: 1px solid #dfe4e6; border-radius: 12px; overflow: hidden; }
.bw-bar { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; padding: 8px 10px;
  background: #f6f7f8; border-bottom: 1px solid #e6eaec; }
.bw-btn { font-size: 13px; padding: 6px 10px; border-radius: 8px; border: 1px solid transparent;
  background: transparent; color: var(--brand-deep-600); cursor: pointer; transition: all .15s ease; }
.bw-btn:hover { background: #E3D9C8; }
.bw-btn.is-on { background: var(--brand-deep-600); color: var(--brand-cream-200); }
.bw-div { width: 1px; height: 20px; background: #D8CEBC; margin: 0 5px; }
.bw-grow { flex: 1; }
.bw-area { overflow: visible; }
.bw-content { min-height: 560px; padding: 26px 30px; color: var(--brand-deep-600); outline: none;
  font-family: var(--font-sans), Inter, sans-serif; font-size: 16.5px; line-height: 1.75; }
.bw-content:focus { outline: none; }
.bw-content h2 { font-family: var(--font-display), Georgia, serif; font-weight: 700; font-size: 26px; margin: 1.3em 0 .4em; color: var(--brand-deep-600); }
.bw-content h3 { font-family: var(--font-display), Georgia, serif; font-weight: 600; font-size: 20px; margin: 1.1em 0 .35em; }
.bw-content p { margin: 0 0 1em; }
.bw-content ul, .bw-content ol { margin: 1em 0; padding-left: 1.4em; }
.bw-content ul { list-style: disc; } .bw-content ol { list-style: decimal; }
.bw-content blockquote { border-left: 3px solid var(--brand-terra-500); margin: 1.2em 0; padding: 4px 0 4px 18px;
  color: #355; font-style: italic; }
.bw-content hr { border: 0; height: 1px; margin: 1.8em 0;
  background: linear-gradient(90deg, transparent, rgba(15,76,92,.25) 18%, rgba(212,95,58,.5) 50%, rgba(15,76,92,.25) 82%, transparent); }
.bw-content img { max-width: 100%; height: auto; border-radius: 12px; margin: 1.4em 0; }
.bw-content a { color: var(--brand-terra-600); text-decoration: underline; }
.bw-content p.is-editor-empty:first-child::before { content: attr(data-placeholder);
  color: rgba(15,76,92,.4); float: left; height: 0; pointer-events: none; }

/* ===================== САЙТ: содержание статьи ===================== */
.blog-ed .blog-toc { background: var(--brand-cream-200); border: 1px solid rgba(15,76,92,.12); border-radius: 16px;
  padding: 20px 22px; margin: 0 0 30px; max-width: 760px; }
.blog-ed .blog-toc-t { font-family: var(--font-sans), Inter, sans-serif; font-size: 12px; font-weight: 700;
  letter-spacing: .24em; text-transform: uppercase; color: var(--brand-terra-400); margin-bottom: 14px; }
.blog-ed .blog-toc ol { list-style: none; counter-reset: none; display: flex; flex-direction: column; gap: 10px; }
.blog-ed .blog-toc a { display: flex; gap: 12px; align-items: baseline; color: var(--brand-deep-600);
  font-family: var(--font-display), Georgia, serif; font-size: 16px; transition: color .18s ease; }
.blog-ed .blog-toc a:hover { color: var(--brand-terra-600); }
.blog-ed .blog-toc-n { font-family: var(--font-sans), Inter, sans-serif; font-size: 12px; font-weight: 700;
  color: var(--brand-terra-400); min-width: 22px; }
.blog-ed .prose.article-body h2 { scroll-margin-top: 90px; }

/* ===================== АДМИНКА БЛОГА (.ba-*) — СВЕТЛАЯ, влево ===================== */
.ba-wrap { max-width: 1200px; margin: 0; padding: 26px 28px 64px; color: #1f2d33;
  font-family: var(--font-sans), Inter, system-ui, sans-serif; }
.ba-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 20px; }
.ba-h1 { font-size: 24px; font-weight: 700; color: var(--brand-deep-600); letter-spacing: -.01em; }
.ba-sub { font-size: 13px; color: #7c8a8e; margin-top: 4px; }
.ba-btn { display: inline-flex; align-items: center; gap: 7px; padding: 9px 15px; border-radius: 10px;
  font-size: 13px; font-weight: 600; color: #1f2d33; background: #fff; border: 1px solid #dce3e5;
  cursor: pointer; transition: all .16s ease; text-decoration: none; }
.ba-btn:hover { border-color: #b9c6c9; background: #f5f7f7; }
.ba-btn:disabled { opacity: .5; cursor: default; }
.ba-btn-primary { background: var(--brand-terra-500); border-color: var(--brand-terra-500); color: #fff;
  box-shadow: 0 10px 22px -12px rgba(212,95,58,.7); }
.ba-btn-primary:hover { background: #b94e2c; border-color: #b94e2c; }
.ba-btn-danger:hover { background: #fdecea; border-color: #e7b3a8; color: #b03a23; }
.ba-filters { display: flex; gap: 10px; margin-bottom: 18px; flex-wrap: wrap; }
.ba-input { background: #fff; border: 1px solid #dce3e5; color: #1f2d33; border-radius: 10px;
  padding: 10px 13px; font-size: 14px; outline: none; width: 100%; font-family: inherit; }
.ba-input:focus { border-color: var(--brand-terra-500); box-shadow: 0 0 0 3px rgba(212,95,58,.12); }
.ba-filters .ba-input { max-width: 380px; } .ba-sel { max-width: 210px; cursor: pointer; }
.ba-list { display: flex; flex-direction: column; gap: 10px; }
.ba-row { display: flex; gap: 16px; align-items: center; background: #fff; border: 1px solid #e6ebec;
  border-radius: 14px; padding: 12px 14px; }
.ba-row:hover { border-color: #cdd8da; box-shadow: 0 8px 20px -16px rgba(15,76,92,.4); }
.ba-thumb { width: 96px; height: 66px; border-radius: 10px; overflow: hidden; flex-shrink: 0;
  background: #eef1f1; display: flex; align-items: center; justify-content: center; }
.ba-thumb img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.ba-thumb-ph { color: #b2bdbf; }
.ba-main { flex: 1; min-width: 0; }
.ba-row-top { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; margin-bottom: 5px; }
.ba-title { font-size: 16px; font-weight: 600; color: var(--brand-deep-600); text-decoration: none; }
.ba-title:hover { color: var(--brand-terra-500); }
.ba-meta { font-size: 12px; color: #8a999d; margin-top: 4px; }
.ba-badge { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: 4px 9px; border-radius: 999px; }
.ba-st-draft { background: #eef1f2; color: #7c8a8e; }
.ba-st-pub { background: #e3f3ea; color: #2f8456; }
.ba-st-arch { background: #fbe9ee; color: #b05074; }
.ba-cat { font-size: 11px; padding: 3px 8px; border-radius: 999px; background: #f1f4f4; color: #5a6f74; }
.ba-actions { display: flex; gap: 8px; flex-wrap: wrap; flex-shrink: 0; }
.ba-empty { padding: 60px; text-align: left; color: #8a999d; }

.ba-editor { max-width: 1280px; }
.ba-ed-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.ba-ed-state { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ba-dot { width: 9px; height: 9px; border-radius: 999px; display: inline-block; }
.ba-dot-y { background: #E8B04A; } .ba-dot-g { background: #4FB477; } .ba-dot-r { background: #D9655E; }
.ba-err { background: #fdecea; border: 1px solid #e7b3a8; color: #b03a23; padding: 11px 14px;
  border-radius: 10px; margin-bottom: 16px; font-size: 13px; }
.ba-grid { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 22px; align-items: start; }
.ba-col-main { display: flex; flex-direction: column; gap: 16px; }
.ba-field { display: flex; flex-direction: column; gap: 7px; }
.ba-field > span { font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #8a999d; }
.ba-hint { font-size: 11.5px; color: #9aa8ab; }
.ba-title-in { font-size: 18px; font-weight: 600; }
.ba-area { resize: vertical; font-family: inherit; line-height: 1.5; }
.ba-col-side { display: flex; flex-direction: column; gap: 14px; }
.ba-card { background: #fff; border: 1px solid #e6ebec; border-radius: 14px; padding: 15px; }
.ba-card-t { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--brand-terra-500); margin-bottom: 11px; }
details.ba-card > summary { list-style: none; cursor: pointer; }
.ba-hero { display: flex; align-items: center; justify-content: center; min-height: 130px;
  border: 1px dashed #cdd8da; border-radius: 10px; cursor: pointer; overflow: hidden; color: #8a999d; font-size: 13px; }
.ba-hero img { width: 100%; max-height: 170px; -o-object-fit: cover; object-fit: cover; }
.ba-check { display: flex; gap: 9px; align-items: flex-start; font-size: 13px; color: #3a4a4f; cursor: pointer; }
.ba-check input { margin-top: 2px; }
.ba-cats { display: flex; flex-wrap: wrap; gap: 7px; }
.ba-cat-pick { font-size: 12px; padding: 6px 11px; border-radius: 999px; cursor: pointer;
  background: #fff; border: 1px solid #dce3e5; color: #5a6f74; }
.ba-cat-pick.is-on { background: var(--brand-terra-500); border-color: var(--brand-terra-500); color: #fff; }
.ba-addcat { display: flex; gap: 8px; margin-top: 11px; }
.ba-addcat .ba-input { flex: 1; }
@media (max-width: 980px) {
  /* 1fr (=minmax(auto,1fr)) не давал колонке ужаться ниже min-content .ba-field
     → редактор блога ехал на мобиле (+120px). minmax(0,1fr) + min-width:0. */
  .ba-grid { grid-template-columns: minmax(0, 1fr); }
  .ba-col-main, .ba-col-side, .ba-field { min-width: 0; }
  .ba-field input, .ba-field textarea, .ba-field select { min-width: 0; max-width: 100%; }
}

/* категория-обёртка (чип + ✕ отдельными кнопками) */
.ba-cat-wrap { display: inline-flex; align-items: center; border-radius: 999px;
  background: #fff; border: 1px solid #dce3e5; overflow: hidden; }
.ba-cat-wrap.is-on { background: var(--brand-terra-500); border-color: var(--brand-terra-500); }
.ba-cat-wrap .ba-cat-pick { border: 0; background: transparent; padding: 6px 11px;
  font-size: 12px; color: #5a6f74; cursor: pointer; }
.ba-cat-wrap.is-on .ba-cat-pick { color: #fff; }
.ba-cat-wrap .ba-cat-x { border: 0; background: transparent; cursor: pointer;
  padding: 6px 9px 6px 4px; font-weight: 700; font-size: 13px; line-height: 1;
  color: #b06; opacity: .65; }
.ba-cat-wrap.is-on .ba-cat-x { color: #ffe; }
.ba-cat-wrap .ba-cat-x:hover { opacity: 1; }

/* страница предпросмотра */
.pv-root { min-height: 100vh; background: var(--brand-cream-200); }
.pv-bar { position: sticky; top: 0; z-index: 50; display: flex; align-items: center;
  gap: 14px; padding: 11px 22px; background: var(--brand-deep-600); color: #fff; }
.pv-tag { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.pv-grow { flex: 1; }
.pv-btn { padding: 8px 16px; border-radius: 9px; font-size: 13px; font-weight: 600;
  background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.25); cursor: pointer; }
.pv-btn:hover { background: rgba(255,255,255,.24); }
.pv-btn-primary { background: var(--brand-terra-500); border-color: var(--brand-terra-500); }
.pv-btn-primary:hover { background: #c0552f; }
.pv-hero { width: 100%; height: 42vh; min-height: 280px; max-height: 520px; overflow: hidden; }
.pv-hero img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.pv-page { max-width: 1100px; margin: 0 auto; }
.pv-body { max-width: 760px; padding: 36px 24px 80px; }
.pv-cat { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--brand-terra-500); margin-right: 10px; }
.pv-title { font-size: 40px; font-weight: 600; color: var(--brand-deep-600); line-height: 1.12; margin: 14px 0 8px; }
.pv-meta { font-size: 14px; color: #8a999d; margin-bottom: 26px; }

/* картинка в редакторе — небольшая (жёстко, бьёт любые прежние правила) */
.bw-content img, .bw-area img, .bw-shell img {
  max-width: 420px !important; max-height: 300px !important;
  width: auto !important; height: auto !important;
  -o-object-fit: contain;
     object-fit: contain; display: block; margin: 1.2em 0 !important; border-radius: 10px; }

/* баннер предпросмотра на сайте */
.pvb { position: sticky; top: 0; z-index: 60; display: flex; align-items: center; gap: 12px;
  padding: 10px 22px; background: var(--brand-deep-600); color: #fff; font-size: 13px; }
.pvb-tag { font-weight: 600; letter-spacing: .1em; text-transform: uppercase; opacity: .9; }
.pvb-grow { flex: 1; }
.pvb-btn { padding: 7px 15px; border-radius: 9px; font-size: 12.5px; font-weight: 600;
  background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.25); cursor: pointer; }
.pvb-btn:hover { background: rgba(255,255,255,.24); }
.pvb-primary { background: var(--brand-terra-500); border-color: var(--brand-terra-500); }
.pvb-primary:hover { background: #c0552f; }

.pvb { position: sticky; top: 0; z-index: 60; display: flex; align-items: center; gap: 12px;
  padding: 10px 22px; background: var(--brand-deep-600); color: #fff; font-size: 13px; }
.pvb-tag { font-weight: 600; letter-spacing: .1em; text-transform: uppercase; opacity: .9; }
.pvb-grow { flex: 1; }
.pvb-btn { padding: 7px 15px; border-radius: 9px; font-size: 12.5px; font-weight: 600;
  background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.25); cursor: pointer; }
.pvb-btn:hover { background: rgba(255,255,255,.24); }
.pvb-primary { background: var(--brand-terra-500); border-color: var(--brand-terra-500); }
.pvb-primary:hover { background: #c0552f; }


/* ───── CRM unified delete control (CrmDelete) — единый для всей CRM ───── */
.cd-trigger { font: inherit; cursor: pointer; border-radius: 8px; transition: background .15s, border-color .15s, color .15s; }
.cd-trigger-icon {
  width: 30px; height: 30px; padding: 0; line-height: 1; font-size: 15px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #c0392b; background: #fff; border: 1px solid #f0c9bd;
}
.cd-trigger-icon:hover { background: #fdecea; border-color: #e07a64; color: #a93226; }
.cd-trigger-btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 14px; font-size: 13px; font-weight: 600;
  color: #b03a23; background: #fff; border: 1px solid #ecc4ba;
}
.cd-trigger-btn:hover { background: #fdecea; border-color: #e07a64; color: #962d18; }
.cd-trigger-btn .cd-x { font-size: 13px; line-height: 1; }

.cd-overlay {
  position: fixed; inset: 0; z-index: 9000; padding: 20px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(15, 23, 25, .5); backdrop-filter: blur(3px);
}
.cd-modal {
  width: 100%; max-width: 420px; background: #fff; border-radius: 16px;
  padding: 26px 26px 22px; text-align: center;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .28); animation: cd-pop .14s ease-out;
}
@keyframes cd-pop { from { transform: scale(.96); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.cd-modal-ic {
  width: 46px; height: 46px; margin: 0 auto 14px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: #fdecea; color: #c0392b; font-size: 20px; font-weight: 700;
}
.cd-modal-title { margin: 0 0 4px; font-size: 18px; font-weight: 700; color: #1a2327; }
.cd-modal-name { margin: 0 0 10px; font-size: 14px; color: #41525a; word-break: break-word; }
.cd-modal-note { margin: 0 0 18px; font-size: 13px; color: #7b8a90; line-height: 1.45; }
.cd-modal-err {
  margin: 0 0 16px; padding: 9px 12px; border-radius: 8px;
  background: #fdecea; color: #b03a23; font-size: 13px; line-height: 1.4;
}
.cd-modal-actions { display: flex; gap: 10px; }
.cd-modal-actions button {
  flex: 1; padding: 11px 0; font-size: 14px; font-weight: 600;
  border-radius: 9px; cursor: pointer; transition: background .15s, border-color .15s;
}
.cd-cancel { background: #f1f3f5; border: 1px solid #e2e6e9; color: #41525a; }
.cd-cancel:hover { background: #e7eaed; }
.cd-confirm { background: #d63b22; border: 1px solid #d63b22; color: #fff; }
.cd-confirm:hover { background: #bf3119; border-color: #bf3119; }
.cd-modal-actions button:disabled { opacity: .6; cursor: default; }


/* ───── CRM: страница пользователя / реестр (.usr-*) ───── */
.usr-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 20px; align-items: start; }
@media (max-width: 1000px) { .usr-grid { grid-template-columns: 1fr; } }
.usr-card { background: #fff; border: 1px solid #e7ebee; border-radius: 14px; padding: 22px 22px 20px; }
.usr-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; padding-top: 16px; border-top: 1px solid #eef1f3; }
.usr-back { display: inline-block; font-size: 13px; color: #5a6b72; margin-bottom: 6px; text-decoration: none; }
.usr-back:hover { color: #0a2a33; }
.usr-ok { color: #1d8a4e; font-size: 13px; margin: 8px 0 0; }


/* ───── CRM: карточка клиента (.cl-*) + ЛК поездки (.lk-trip*) ───── */
.cl-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px; align-items: start; }
@media (max-width: 1050px) { .cl-grid { grid-template-columns: 1fr; } }
.cl-col { display: flex; flex-direction: column; gap: 20px; }
.cl-card { background: #fff; border: 1px solid #e7ebee; border-radius: 14px; padding: 20px 20px 18px; }
.cl-back { display: inline-block; font-size: 13px; color: #5a6b72; margin-bottom: 6px; text-decoration: none; }
.cl-back:hover { color: #0a2a33; }
.cl-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.cl-muted { color: #7b8a90; }
.cl-ok { color: #1d8a4e; font-size: 13px; }
.cl-h3 { font-size: 14px; font-weight: 700; margin: 0 0 4px; color: #1a2327; }
.cl-divider { height: 1px; background: #eef1f3; margin: 16px 0; }
.cl-input, .cl-card input:not([type=checkbox]):not([type=file]), .cl-card select, .cl-card textarea {
  width: 100%; padding: 9px 11px; border: 1px solid #dde3e6; border-radius: 8px; font: inherit; background: #fff;
}
.cl-trip-form, .cl-doc-form { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.cl-trip-form .cl-row > * { flex: 1; }
.cl-trip-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.cl-trip { border: 1px solid #eef1f3; border-radius: 10px; padding: 12px 14px; }
.cl-trip-head { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.cl-trip-note { margin: 8px 0 0; font-size: 13px; color: #41525a; }
.cl-trip-actions { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.cl-photos { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.cl-photo { position: relative; width: 84px; height: 64px; border-radius: 8px; overflow: hidden; background: #f0f2f4; }
.cl-photo img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.cl-photo-x { position: absolute; top: 2px; right: 2px; width: 20px; height: 20px; border: 0; border-radius: 50%; background: rgba(0,0,0,.55); color: #fff; cursor: pointer; font-size: 11px; line-height: 1; }
.cl-doc-list, .cl-hits { list-style: none; margin: 0; padding: 0; }
.cl-doc { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid #eef1f3; }
.cl-doc:first-child { border-top: 0; }
.cl-check { display: flex; align-items: center; gap: 6px; font-size: 13px; color: #41525a; }
.cl-check input { width: auto; }
.cl-hits { border: 1px solid #dde3e6; border-radius: 8px; margin-top: 6px; overflow: hidden; }
.cl-hits li button { width: 100%; text-align: left; padding: 9px 11px; background: #fff; border: 0; border-top: 1px solid #eef1f3; cursor: pointer; font: inherit; }
.cl-hits li:first-child button { border-top: 0; }
.cl-hits li button:hover { background: #f5f7f8; }
.cl-merge-confirm { margin-top: 10px; padding: 12px; background: #fff6f3; border: 1px solid #f0c9bd; border-radius: 8px; font-size: 13px; color: #8a3a23; }

.lk-trips { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.lk-trip-card { background: #fff; border: 1px solid #ece7df; border-radius: 16px; padding: 18px 20px; }
.lk-trip-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.lk-trip-badge { font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px; }
.lk-trip-upcoming { background: #e8f0fe; color: #1c54b2; }
.lk-trip-completed { background: #e7f6ec; color: #1d8a4e; }
.lk-trip-cancelled { background: #fdecea; color: #b03a23; }
.lk-trip-dates { font-size: 12px; color: #8b8275; }
.lk-trip-title { font-size: 19px; font-weight: 700; margin: 0 0 4px; color: #2a2317; }
.lk-trip-dest { color: #6b6356; margin: 0 0 6px; }
.lk-trip-note { font-size: 13px; color: #7a7264; margin: 0; }
.lk-trip-photos { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.lk-trip-photo { width: 76px; height: 60px; border-radius: 8px; background-size: cover; background-position: center; }
.lk-empty { color: #8b8275; padding: 20px 0; }
.lk-docs { list-style: none; margin: 0; padding: 0; }
.lk-doc { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-top: 1px solid #ece7df; }
.lk-doc:first-child { border-top: 0; }
.lk-doc-link { color: #c0563a; font-weight: 600; text-decoration: none; }
.lk-doc-link:hover { text-decoration: underline; }


/* ───── GUIDES parallax / interactive (.gd-*) ───── */
.gd-progress{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#c0563a,#e08a5a);transform-origin:0 50%;z-index:60;transition:transform .12s linear}
.gd-hero{position:relative;height:54vh;min-height:380px;max-height:560px;overflow:hidden;display:flex;align-items:flex-end}
.gd-hero-img{position:absolute;inset:-8% 0;background-size:cover;background-position:center;will-change:transform;animation:gd-kenburns 22s ease-in-out infinite alternate}
@keyframes gd-kenburns{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.13) translateY(-1.5%)}}
.gd-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,30,28,.30) 0%,rgba(15,30,28,.10) 38%,rgba(15,30,28,.78) 100%)}
.gd-hero-in{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:0 24px 64px;width:100%}
.gd-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:#f0d8c8;margin-bottom:16px}
.gd-kicker::before{content:"";width:26px;height:1px;background:#e08a5a}
.gd-title{font-family:Georgia,"Times New Roman",serif;color:#fff;font-weight:600;line-height:1.04;letter-spacing:-.01em;font-size:clamp(34px,6vw,76px);max-width:15ch;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.gd-meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:18px;color:#f3e9df;font-size:14px}
.gd-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.gd-grid{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start;padding:56px 0 80px}
@media(max-width:980px){.gd-grid{grid-template-columns:1fr;gap:24px}}
.gd-toc{position:sticky;top:90px;font-size:13.5px;display:flex;flex-direction:column;gap:2px}
.gd-toc-t{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#9a8f7f;margin-bottom:10px}
.gd-toc a{color:#6b6356;text-decoration:none;padding:7px 10px;border-left:2px solid transparent;border-radius:0 6px 6px 0;transition:.18s}
.gd-toc a:hover{color:#1f2a26;background:#f3efe7;border-color:#e08a5a}
@media(max-width:980px){.gd-toc{display:none}}
.gd-reveal{opacity:1;transform:none}
.gd-reveal.gd-in{opacity:1;transform:none}
.gd-lead{font-size:clamp(18px,2.2vw,23px);line-height:1.5;color:#3a4540;font-family:Georgia,serif;border-left:3px solid #e08a5a;padding-left:22px;margin:0 0 8px}
.gd-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:34px 0}
.gd-gallery figure{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:#ece7df}
.gd-gallery img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .9s ease}
.gd-gallery figure:hover img{transform:scale(1.06)}
.gd-dl{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(135deg,#15302c,#234b41);color:#f3e9df;padding:40px 36px;margin:48px 0 8px;display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between}
.gd-dl h3{font-family:Georgia,serif;font-size:24px;margin:0 0 6px;color:#fff}
.gd-dl p{margin:0;color:#cfe0d6;font-size:14px;max-width:46ch}
.gd-dl-btn{display:inline-flex;align-items:center;gap:10px;background:#e0855a;color:#1a120c;font-weight:700;padding:15px 26px;border-radius:999px;text-decoration:none;font-size:15px;transition:.2s}
.gd-dl-btn:hover{background:#ec9a70;transform:translateY(-1px)}
.gd-card{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4;display:block;background:#222}
.gd-card img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.gd-card:hover img{transform:scale(1.08)}
.gd-card-sc{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.72) 100%)}
.gd-card-b{position:absolute;left:0;right:0;bottom:0;padding:22px;color:#fff;z-index:2}
.gd-card-r{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#f0c9b4;margin-bottom:7px}
.gd-card-t{font-family:Georgia,serif;font-size:21px;line-height:1.18;margin:0 0 6px}
.gd-card-m{font-size:12.5px;color:#e8ddd0;opacity:.85}
.gd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}

/* ───── ADMIN unified select (единый стиль выпадающих ВЕЗДЕ) ───── */
.adm2-shell select,
.adm2-shell .ba-sel,
.adm2-shell .ba-input.ba-sel,
.adm2-shell .adm2-filter-input,
.adm2-shell .cl-card select,
.adm2-shell .usr-card select {
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  font:inherit;color:#16323a;background-color:#fff;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230a2a33' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:12px;
  border:1px solid #d6dee1;border-radius:9px;
  padding:9px 34px 9px 12px;min-height:40px;line-height:1.2;
  cursor:pointer;transition:border-color .15s,box-shadow .15s;max-width:100%;
}
.adm2-shell select:hover,
.adm2-shell .ba-sel:hover,
.adm2-shell .adm2-filter-input:hover { border-color:#b9c6c9; }
.adm2-shell select:focus,
.adm2-shell .ba-sel:focus,
.adm2-shell .adm2-filter-input:focus {
  outline:none;border-color:#c0563a;box-shadow:0 0 0 3px rgba(192,86,58,.15); }
.adm2-shell select:disabled { background-color:#f1f3f5;color:#9aa6aa;cursor:not-allowed;opacity:1; }
.adm2-shell select option { color:#16323a;background:#fff; }

/* ───── QUALITY page (.qc-*) ───── */
.qc-hero{position:relative;min-height:62vh;display:flex;align-items:center;overflow:hidden;background:#0e2622}
.qc-hero-bg{position:absolute;inset:-6% 0;background-size:cover;background-position:center;opacity:.34;animation:gd-kenburns 24s ease-in-out infinite alternate}
.qc-hero-grad{position:absolute;inset:0;background:linear-gradient(105deg,rgba(14,38,34,.92) 0%,rgba(14,38,34,.55) 60%,rgba(14,38,34,.2) 100%)}
.qc-hero-in{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:84px 24px;width:100%}
.qc-eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:#e8a07e;margin-bottom:18px}
.qc-h1{font-family:Georgia,serif;color:#fff;font-weight:600;line-height:1.05;letter-spacing:-.01em;font-size:clamp(32px,5.4vw,62px);max-width:16ch}
.qc-sub{margin-top:18px;max-width:560px;color:#d6e3dc;font-size:15px;line-height:1.6}
.qc-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.qc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px;margin:-46px 0 0;position:relative;z-index:3}
.qc-stat{background:#fff;border:1px solid #e9e2d6;border-radius:16px;padding:24px 22px;box-shadow:0 18px 40px -26px rgba(20,48,42,.4)}
.qc-stat b{display:block;font-family:Georgia,serif;font-size:34px;color:#16433a;line-height:1}
.qc-stat span{display:block;margin-top:8px;font-size:13px;color:#6b6356}
.qc-sec{padding:70px 0}
.qc-sec h2{font-family:Georgia,serif;font-size:clamp(24px,3.4vw,38px);color:#1f2a26;letter-spacing:-.01em;margin:0 0 8px}
.qc-sec p.lead{color:#6b6356;font-size:16px;max-width:60ch;margin:0 0 34px}
.qc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.qc-card{background:#fbf8f2;border:1px solid #ece4d6;border-radius:18px;padding:26px 24px;transition:transform .5s,box-shadow .5s}
.qc-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -28px rgba(20,48,42,.45)}
.qc-card .n{font-family:Georgia,serif;font-size:15px;color:#c0563a;font-weight:700}
.qc-card h3{font-size:17px;color:#1f2a26;margin:10px 0 6px;font-weight:600}
.qc-card p{font-size:14px;color:#6b6356;line-height:1.55;margin:0}
.qc-band{position:relative;background-attachment:fixed;background-size:cover;background-position:center;border-radius:24px;overflow:hidden}
.qc-band-in{background:linear-gradient(120deg,rgba(14,38,34,.93),rgba(14,38,34,.7));color:#f0e9dd;padding:54px 44px}
.qc-band-in h2{color:#fff}
.qc-band-in p{color:#cfe0d6;max-width:56ch}
.qc-tl{list-style:none;margin:34px 0 0;padding:0;position:relative}
.qc-tl::before{content:"";position:absolute;left:19px;top:6px;bottom:6px;width:2px;background:linear-gradient(#e0a07e,#e9e2d6)}
.qc-tl li{position:relative;padding:0 0 26px 56px}
.qc-tl li:last-child{padding-bottom:0}
.qc-tl .dot{position:absolute;left:8px;top:0;width:24px;height:24px;border-radius:50%;background:#16433a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-family:Georgia,serif}
.qc-tl h4{margin:0 0 4px;font-size:16px;color:#1f2a26}
.qc-tl p{margin:0;font-size:14px;color:#6b6356;line-height:1.55}
.qc-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.qc-reveal.in{opacity:1;transform:none}

/* ───── LEGAL DOC page (.legal-doc) — раскладка как в исходном html, шрифт/цвета наши ───── */
html { scroll-behavior: smooth; }
.legal-doc { max-width: 920px; margin: 0 auto; padding: 36px 24px 80px; color: #3a4540; font-size: 16px; line-height: 1.72; }
.legal-doc h1 { font-family: var(--font-display), Georgia, serif; font-weight: 600; font-size: 32px; line-height: 1.22; margin: 0 0 8px; color: #1f2a26; }
.legal-doc .ld-sub { color: #6b6356; font-size: 15px; margin: 0 0 30px; }
.legal-doc h2 { font-family: var(--font-display), Georgia, serif; font-weight: 600; font-size: 23px; margin: 42px 0 14px; padding-bottom: 8px; border-bottom: 2px solid #c0563a; color: #1f2a26; scroll-margin-top: 96px; }
.legal-doc h3 { font-family: var(--font-display), Georgia, serif; font-weight: 600; font-size: 18px; margin: 24px 0 10px; color: #1f2a26; }
.legal-doc p { margin: 12px 0; }
.legal-doc ul, .legal-doc ol { margin: 12px 0 12px 4px; padding-left: 26px; }
.legal-doc ul { list-style: disc outside; }
.legal-doc ol { list-style: decimal outside; }
.legal-doc li { margin: 7px 0; display: list-item; }
.legal-doc li::marker { color: #c0563a; }
.legal-doc li { margin: 7px 0; }
.legal-doc a { color: #c0563a; text-decoration: none; }
.legal-doc a:hover { text-decoration: underline; }
.legal-doc strong, .legal-doc b { color: #1f2a26; }
.legal-doc code, .legal-doc .definition { background: #f7f3ec; padding: 1px 5px; border-radius: 3px; font-size: .95em; }
.legal-doc table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 15px; }
.legal-doc th, .legal-doc td { border: 1px solid #e7dfd0; padding: 10px 12px; text-align: left; vertical-align: top; }
.legal-doc th { background: #f7f3ec; font-weight: 600; color: #1f2a26; }
.tour-prose p { margin: 0 0 12px; }
.tour-prose p:last-child { margin-bottom: 0; }
.tour-prose h3, .tour-prose h4 { font-weight: 600; color: #1f2a26; margin: 18px 0 8px; }
.tour-prose h3 { font-size: 17px; }
.tour-prose h4 { font-size: 15px; }
.tour-prose ul { list-style: disc; padding-left: 22px; margin: 8px 0 14px; }
.tour-prose ol { list-style: decimal; padding-left: 22px; margin: 8px 0 14px; }
.tour-prose li { margin: 5px 0; }
.tour-prose li::marker { color: #c0563a; }
.tour-prose a { color: #c0563a; text-decoration: underline; }
.tour-prose blockquote { border-left: 3px solid #e7dfd0; padding-left: 14px; color: #5b5b5b; margin: 12px 0; }
.tour-prose hr { border: 0; border-top: 1px solid #e7dfd0; margin: 18px 0; }
.legal-doc .ld-req-table { font-size: 14.5px; margin: 10px 0 22px; }
.legal-doc .ld-req-table td:first-child { width: 32%; font-weight: 600; color: #1f2a26; background: #faf7f1; }
.bw-content table { width: 100%; border-collapse: collapse; margin: 14px 0; table-layout: fixed; }
.bw-content td, .bw-content th { border: 1px solid #d9cfbc; padding: 8px 10px; vertical-align: top; position: relative; min-width: 56px; }
.bw-content th { background: #f7f3ec; font-weight: 600; }
.bw-content .selectedCell:after { content: ""; position: absolute; inset: 0; background: rgba(192,86,58,.12); pointer-events: none; }
.bw-content .column-resize-handle { position: absolute; right: -2px; top: 0; bottom: 0; width: 4px; background: #c0563a; cursor: col-resize; }
.bw-content .tableWrapper { overflow-x: auto; }
.ld-toc { background: #f7f3ec; border: 1px solid #e7dfd0; border-radius: 10px; padding: 20px 24px; margin: 26px 0 40px; }
.ld-toc-t { font-family: var(--font-display), Georgia, serif; font-weight: 700; margin: 0 0 10px; color: #1f2a26; }
.ld-toc ol { margin: 0; padding-left: 22px; }
.ld-toc li { margin: 6px 0; }
.ld-toc a { color: #c0563a; text-decoration: none; }
.ld-toc a:hover { text-decoration: underline; }
@media (max-width: 600px) {
  .legal-doc { padding: 24px 16px 60px; font-size: 15px; }
  .legal-doc h1 { font-size: 25px; }
  .legal-doc h2 { font-size: 19px; }
}

/* реквизиты компании в начале политики */
.legal-doc .ld-req { background: #f7f3ec; border: 1px solid #e7dfd0; border-left: 4px solid #c0563a; border-radius: 8px; padding: 18px 22px; margin: 0 0 32px; font-size: 14px; line-height: 1.55; color: #4a554f; }
.legal-doc .ld-req .ld-req-t { font-family: var(--font-display), Georgia, serif; font-weight: 700; color: #1f2a26; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 8px; }
.legal-doc .ld-req p { margin: 4px 0; }

/* Футер — курсор-самолётик */
.ft { --plane: url("data:image/svg+xml,%3Csvg%20width='32'%20height='32'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cg%20transform='translate(24%200)%20scale(-1%201)'%3E%3Cpath%20d='M8.61711%2016.7885L9.48568%2020.1542C9.58853%2020.5542%209.4571%2020.9828%209.14282%2021.2514L8.93711%2021.4285L6.14282%2017.8571L7.39425%2016.4399L8.61711%2016.7885Z'%20fill='url(%23paint0_linear)'/%3E%3Cpath%20d='M8.85711%2020.8227C8.92568%2020.9312%209.04568%2021.0055%209.17711%2021.0112L9.34854%2021.017C9.2914%2021.1027%209.22283%2021.1827%209.14283%2021.257L8.93711%2021.4341L6.14282%2017.8627L6.39425%2017.5827L6.81711%2017.5312L8.85711%2020.8227Z'%20fill='url(%23paint1_linear)'/%3E%3Cpath%20d='M8.99407%2021.0166C9.3655%2020.2909%208.94264%2019.0224%208.26835%2016.7766C7.47407%2014.1195%207.7255%2016.4395%207.7255%2016.4395L6.49121%2017.5366C6.49693%2017.5366%208.9255%2021.1481%208.99407%2021.0166Z'%20fill='url(%23paint2_linear)'/%3E%3Cpath%20d='M8.61711%2016.7885L9.48568%2020.1542C9.58853%2020.5542%209.4571%2020.9828%209.14282%2021.2514L8.93711%2021.4285L6.14282%2017.8571L7.39425%2016.4399L8.61711%2016.7885Z'%20fill='url(%23paint3_linear)'/%3E%3Cpath%20d='M7.21129%2015.3825L3.84558%2014.5139C3.44558%2014.4111%203.017%2014.5425%202.74843%2014.8568L2.57129%2015.0625L6.14272%2017.8568L7.55986%2016.6054L7.21129%2015.3825Z'%20fill='url(%23paint4_linear)'/%3E%3Cpath%20d='M2.98275%2015.0054C3.70846%2014.634%204.97704%2015.0568%207.22275%2015.7311C9.87989%2016.5254%207.55989%2016.274%207.55989%2016.274L6.46275%2017.5082C6.46275%2017.5025%202.85132%2015.074%202.98275%2015.0054Z'%20fill='url(%23paint5_linear)'/%3E%3Cpath%20d='M7.21129%2015.3825L3.84558%2014.5139C3.44558%2014.4111%203.017%2014.5425%202.74843%2014.8568L2.57129%2015.0625L6.14272%2017.8568L7.55986%2016.6054L7.21129%2015.3825Z'%20fill='url(%23paint6_linear)'/%3E%3Cpath%20d='M3.177%2015.1423C3.06843%2015.0737%202.99415%2014.9537%202.98843%2014.8223L2.98272%2014.6509C2.897%2014.708%202.817%2014.7766%202.74272%2014.8566L2.57129%2015.0623L6.14272%2017.8566L6.42272%2017.6052L6.47415%2017.1823L3.177%2015.1423Z'%20fill='url(%23paint7_linear)'/%3E%3Cpath%20d='M19.7484%2014.1543L18.5312%2015.3714L19.7713%2016.6114L20.9884%2015.3943L20.9655%2015.3372C20.7484%2014.7886%2020.3084%2014.36%2019.7484%2014.1543Z'%20fill='url(%23paint8_linear)'/%3E%3Cpath%20d='M20.0227%2014.2743L19.4913%2014.8057C19.2684%2015.0286%2019.1941%2015.3543%2019.297%2015.6514L19.457%2016.1029H19.7141C19.9313%2016.1029%2020.137%2016.0172%2020.2913%2015.8629L20.9255%2015.2286C20.9427%2015.2629%2020.9598%2015.2972%2020.9713%2015.3372L20.9941%2015.3943L19.7713%2016.6114L18.5312%2015.3714L19.7484%2014.1543C19.8455%2014.1886%2019.9313%2014.2286%2020.0227%2014.2743Z'%20fill='url(%23paint9_linear)'/%3E%3Cpath%20opacity='0.5'%20d='M19.1826%2016.0227L20.5369%2014.6685C20.6512%2014.7885%2020.754%2014.9199%2020.8398%2015.0685L19.5369%2016.3713L19.1826%2016.0227Z'%20fill='url(%23paint10_linear)'/%3E%3Cpath%20opacity='0.75'%20d='M19.5884%2014.9429C19.8912%2015.2229%2020.017%2015.7772%2019.8855%2016.5029L19.777%2016.6114L18.5312%2015.3714L19.7484%2014.1543C19.8627%2014.1943%2019.9655%2014.2457%2020.0684%2014.3029C19.8684%2014.4629%2019.377%2014.7486%2019.5884%2014.9429Z'%20fill='url(%23paint11_linear)'/%3E%3Cpath%20d='M18.5655%2010.3252L17.3484%2011.5423L18.5884%2012.7823L19.8055%2011.5652L19.7827%2011.508C19.5655%2010.9652%2019.1255%2010.5309%2018.5655%2010.3252Z'%20fill='url(%23paint12_linear)'/%3E%3Cpath%20d='M18.8341%2010.4511L18.3027%2010.9825C18.0798%2011.2053%2018.0055%2011.5311%2018.1084%2011.8282L18.2684%2012.2796H18.5255C18.7427%2012.2796%2018.9484%2012.1939%2019.1027%2012.0396L19.737%2011.4053C19.7541%2011.4396%2019.7713%2011.4739%2019.7827%2011.5139L19.8055%2011.5711L18.5884%2012.7882L17.3484%2011.5482L18.5655%2010.3311C18.6627%2010.3596%2018.7484%2010.4053%2018.8341%2010.4511Z'%20fill='url(%23paint13_linear)'/%3E%3Cpath%20opacity='0.5'%20d='M18%2012.1941L19.3543%2010.8398C19.4686%2010.9598%2019.5714%2011.0913%2019.6571%2011.2398L18.3543%2012.5427L18%2012.1941Z'%20fill='url(%23paint14_linear)'/%3E%3Cpath%20opacity='0.75'%20d='M18.4057%2011.1196C18.7085%2011.3996%2018.8342%2011.9539%2018.7028%2012.6796L18.5942%2012.7882L17.3542%2011.5482L18.5714%2010.3311C18.6857%2010.3711%2018.7885%2010.4225%2018.8914%2010.4796C18.6857%2010.6339%2018.1885%2010.9196%2018.4057%2011.1196Z'%20fill='url(%23paint15_linear)'/%3E%3Cpath%20d='M13.9714%2011.7313C13.9714%2011.7313%2016.8229%2014.8056%2017.6114%2016.7656L19.1314%2020.5256C19.1771%2020.6398%2019.3257%2020.6513%2019.4057%2020.5541C19.8914%2019.9084%2020.3371%2018.8056%2020.1371%2018.0456L18.6114%2012.1484C18.08%2010.617%2017.4229%209.13699%2016.6457%207.72557L16.36%207.20557L13.4514%2010.6627L13.9714%2011.7313Z'%20fill='url(%23paint16_linear)'/%3E%3Cpath%20d='M18.5198%2018.9938L18.5084%2018.9881L17.6112%2016.7709C16.8169%2014.8109%2013.9712%2011.7366%2013.9712%2011.7366L13.8569%2011.4909L14.3712%2011.1138C16.2341%2013.3195%2017.5655%2015.3938%2018.1084%2016.7652C18.6512%2018.1538%2018.5141%2018.9881%2018.5198%2018.9938Z'%20fill='url(%23paint17_linear)'/%3E%3Cpath%20d='M16.6057%209.12549C17.8285%2010.9369%2019.8285%2016.8283%2019.8285%2018.2455C19.8285%2019.6569%2019.7085%2018.5369%2019.5714%2017.6741C19.4343%2016.8112%2018.1771%2013.0741%2017.6571%2012.1769C17.1371%2011.2798%2015.7485%209.87977%2015.7485%209.87977L16.6057%209.12549Z'%20fill='url(%23paint18_linear)'/%3E%3Cpath%20d='M13.9714%2011.7313C13.9714%2011.7313%2016.8229%2014.8056%2017.6114%2016.7656L19.1314%2020.5256C19.1771%2020.6398%2019.3257%2020.6513%2019.4057%2020.5541C19.8914%2019.9084%2020.3371%2018.8056%2020.1371%2018.0456L18.6114%2012.1484C18.08%2010.617%2017.4229%209.13699%2016.6457%207.72557L16.36%207.20557L13.4514%2010.6627L13.9714%2011.7313Z'%20fill='url(%23paint19_linear)'/%3E%3Cpath%20d='M13.6742%205.43434L12.457%206.65148L11.217%205.41148L12.4342%204.19434L12.4913%204.21719C13.0342%204.43434%2013.4685%204.87434%2013.6742%205.43434Z'%20fill='url(%23paint20_linear)'/%3E%3Cpath%20d='M13.5483%205.16577L13.0169%205.69719C12.794%205.92005%2012.4683%205.99434%2012.1712%205.89148L11.7198%205.73148V5.47434C11.7198%205.25719%2011.8055%205.05148%2011.9598%204.89719L12.594%204.26291C12.5598%204.24576%2012.5255%204.22862%2012.4855%204.21719L12.4283%204.19434L11.2112%205.41148L12.4512%206.65148L13.6683%205.43434C13.6398%205.33719%2013.594%205.25148%2013.5483%205.16577Z'%20fill='url(%23paint21_linear)'/%3E%3Cpath%20opacity='0.5'%20d='M11.8056%205.99992L13.1599%204.64563C13.0399%204.53134%2012.9085%204.42849%2012.7599%204.34277L11.457%205.64563L11.8056%205.99992Z'%20fill='url(%23paint22_linear)'/%3E%3Cpath%20opacity='0.75'%20d='M12.8798%205.59411C12.5998%205.29126%2012.0455%205.16554%2011.3198%205.29697L11.2112%205.40554L12.4512%206.64554L13.6683%205.4284C13.6283%205.31411%2013.5769%205.21126%2013.5198%205.1084C13.3655%205.31411%2013.0798%205.81126%2012.8798%205.59411Z'%20fill='url(%23paint23_linear)'/%3E%3Cpath%20d='M9.84557%204.25123L8.62843%205.46837L7.38843%204.22837L8.60557%203.01123L8.66271%203.03409C9.21128%203.25123%209.63986%203.69123%209.84557%204.25123Z'%20fill='url(%23paint24_linear)'/%3E%3Cpath%20d='M9.72557%203.9768L9.19414%204.50823C8.97128%204.73108%208.64557%204.80537%208.34843%204.70251L7.897%204.54251V4.28537C7.897%204.06823%207.98271%203.86251%208.137%203.70823L8.77128%203.07394C8.737%203.0568%208.70271%203.03966%208.66271%203.02823L8.60557%203.00537L7.38843%204.22823L8.62843%205.46823L9.84557%204.25108C9.81128%204.15394%209.77128%204.06823%209.72557%203.9768Z'%20fill='url(%23paint25_linear)'/%3E%3Cpath%20opacity='0.5'%20d='M7.97699%204.81681L9.33127%203.46253C9.21127%203.34824%209.07985%203.24538%208.93127%203.15967L7.62842%204.46824L7.97699%204.81681Z'%20fill='url(%23paint26_linear)'/%3E%3Cpath%20opacity='0.75'%20d='M9.057%204.41115C8.777%204.1083%208.22271%203.98258%207.497%204.11401L7.38843%204.2283L8.62843%205.4683L9.84557%204.25115C9.80557%204.13687%209.75414%204.03401%209.697%203.93115C9.537%204.13115%209.25128%204.62258%209.057%204.41115Z'%20fill='url(%23paint27_linear)'/%3E%3Cpath%20d='M12.2684%2010.0279C12.2684%2010.0279%209.19416%207.17644%207.23416%206.38787L3.47416%204.86787C3.35988%204.82216%203.34845%204.67359%203.44559%204.59359C4.09702%204.11359%205.19988%203.66787%205.95988%203.86787L11.857%205.39359C13.3884%205.92502%2014.8684%206.58216%2016.2799%207.3593L16.7999%207.64502L13.3427%2010.5536L12.2684%2010.0279Z'%20fill='url(%23paint28_linear)'/%3E%3Cpath%20d='M14.8742%207.3941C13.0628%206.16553%207.16563%204.16553%205.7542%204.16553C4.34277%204.16553%205.46277%204.28553%206.32562%204.42267C7.18848%204.55981%2010.9256%205.81696%2011.8228%206.33696C12.7199%206.85696%2014.1199%208.24553%2014.1199%208.24553L14.8742%207.3941Z'%20fill='url(%23paint29_linear)'/%3E%3Cpath%20d='M12.2684%2010.0279C12.2684%2010.0279%209.19416%207.17644%207.23416%206.38787L3.47416%204.86787C3.35988%204.82216%203.34845%204.67359%203.44559%204.59359C4.09702%204.11359%205.19988%203.66787%205.95988%203.86787L11.857%205.39359C13.3884%205.92502%2014.8684%206.58216%2016.2799%207.3593L16.7999%207.64502L13.3427%2010.5536L12.2684%2010.0279Z'%20fill='url(%23paint30_linear)'/%3E%3Cpath%20d='M5.00562%205.48L5.01133%205.49143L7.22847%206.38857C9.18847%207.18286%2012.2628%2010.0286%2012.2628%2010.0286L12.5085%2010.1429L12.8856%209.62857C10.6799%207.77143%208.60562%206.44%207.23419%205.89715C5.84562%205.34858%205.01133%205.48572%205.00562%205.48Z'%20fill='url(%23paint31_linear)'/%3E%3Cpath%20d='M6.2627%2017.7368C7.70842%2017.8054%2010.5884%2015.754%2011.2284%2015.114C11.8684%2014.474%2018.9484%207.3997%2019.9313%206.41684C20.9141%205.43399%2021.8056%203.26827%2021.2684%202.73113C20.7313%202.19399%2018.5656%203.08541%2017.5827%204.06827C16.5998%205.05113%209.51413%2012.1368%208.87985%2012.7711C8.24556%2013.4054%206.18842%2016.2911%206.2627%2017.7368Z'%20fill='url(%23paint32_radial)'/%3E%3Cpath%20d='M6.2627%2017.7368C7.70842%2017.8054%2010.5884%2015.754%2011.2284%2015.114C11.8684%2014.474%2018.9484%207.3997%2019.9313%206.41684C20.9141%205.43399%2021.8056%203.26827%2021.2684%202.73113C20.7313%202.19399%2018.5656%203.08541%2017.5827%204.06827C16.5998%205.05113%209.51413%2012.1368%208.87985%2012.7711C8.24556%2013.4054%206.18842%2016.2911%206.2627%2017.7368Z'%20fill='url(%23paint33_linear)'/%3E%3Cpath%20d='M8%2015.9997C8.82857%2015.7712%2010.8857%2014.0397%2011.3771%2013.5483C11.8686%2013.0569%2018%206.92544%2018.7543%206.17116C19.5086%205.41687%2019.7429%204.67973%2019.5314%204.4683C19.32%204.25687%2018.5829%204.49116%2017.8286%205.24544C17.0743%205.99973%2010.9429%2012.1312%2010.4514%2012.6226C9.96%2013.114%208.22857%2015.1712%208%2015.9997Z'%20fill='url(%23paint34_linear)'/%3E%3Cpath%20d='M8.04565%2016.5599C8.7428%2015.8799%208.47994%2015.5142%208.47994%2015.5142L6.25708%2017.6113C6.25708%2017.6513%206.25708%2017.697%206.25708%2017.737C6.63422%2017.7542%207.10279%2017.6284%207.60565%2017.4227C7.61137%2017.2113%207.69708%2016.9027%208.04565%2016.5599Z'%20fill='url(%23paint35_linear)'/%3E%3Cpath%20d='M5.58838%2018.4114C5.83409%2018.3828%206.37124%2017.9657%206.49695%2017.84C6.62266%2017.7142%207.97123%2016.3657%208.1598%2016.1771C8.35409%2015.9828%208.5598%2015.5942%208.4798%2015.52C8.3998%2015.4457%208.01123%2015.6514%207.82266%2015.84C7.62838%2016.0342%206.27981%2017.3828%206.15981%2017.5028C6.03409%2017.6285%205.61124%2018.1714%205.58838%2018.4114Z'%20fill='url(%23paint36_linear)'/%3E%3Cpath%20d='M6.49695%2017.8395C6.62267%2017.7138%208.31981%2016.0452%208.03981%2016.2967C8.43409%2015.9481%208.70838%2015.291%208.31409%2015.691C7.91981%2016.0853%205.58838%2018.4167%205.58838%2018.4167C5.82838%2018.3881%206.37124%2017.9653%206.49695%2017.8395Z'%20fill='url(%23paint37_linear)'/%3E%3Cpath%20d='M20.1714%204.33145L20.3314%204.67431L20.6971%204.64574L20.5885%204.09717L20.1714%204.33145Z'%20fill='url(%23paint38_linear)'/%3E%3Cpath%20d='M19.6685%203.83416L19.8914%203.41131L19.3543%203.30273L19.3257%203.66845L19.6685%203.83416Z'%20fill='url(%23paint39_linear)'/%3E%3Cpath%20d='M20.3201%203.69117C20.2801%203.65117%2020.2286%203.61117%2020.1772%203.57689L19.9772%203.45117L19.7429%203.89117L19.8572%204.00546L19.9943%204.1426L20.1086%204.25688L20.5372%204.01689L20.4458%203.85689C20.4115%203.79403%2020.3715%203.7426%2020.3201%203.69117Z'%20fill='url(%23paint40_linear)'/%3E%3Cpath%20d='M20.3486%204.77125L20.28%205.27982L20.3429%205.25696C20.4972%205.20553%2020.6172%205.07982%2020.6572%204.91982L20.7029%204.74268L20.3486%204.77125Z'%20fill='url(%23paint41_linear)'/%3E%3Cpath%20d='M19.2571%203.30273L19.08%203.34845C18.92%203.38845%2018.7943%203.50845%2018.7428%203.66273L18.72%203.72559L19.2285%203.65702L19.2571%203.30273Z'%20fill='url(%23paint42_linear)'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient%20id='paint0_linear'%20x1='9.84124'%20y1='18.0257'%20x2='6.04908'%20y2='20.0941'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.4927'%20stop-color='white'/%3E%3Cstop%20offset='0.5861'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.7161'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.8672'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint1_linear'%20x1='6.19667'%20y1='20.9842'%20x2='9.52894'%20y2='17.6519'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'/%3E%3Cstop%20offset='0.1839'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.4404'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.7381'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint2_linear'%20x1='7.38836'%20y1='18.3439'%20x2='9.38836'%20y2='18.1724'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.00132565'%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.1876'%20stop-color='%23F7F8F9'%20stop-opacity='0.093268'/%3E%3Cstop%20offset='0.4837'%20stop-color='%23E0E7E7'%20stop-opacity='0.2415'/%3E%3Cstop%20offset='0.8505'%20stop-color='%23BAC9CB'%20stop-opacity='0.4251'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'%20stop-opacity='0.5'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint3_linear'%20x1='4.05704'%20y1='20.6388'%20x2='9.1312'%20y2='18.5322'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.00132565'%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.1894'%20stop-color='%23FBFCFC'%20stop-opacity='0.0941853'/%3E%3Cstop%20offset='0.3776'%20stop-color='%23EFF2F3'%20stop-opacity='0.1884'/%3E%3Cstop%20offset='0.5658'%20stop-color='%23DBE2E3'%20stop-opacity='0.2826'/%3E%3Cstop%20offset='0.7542'%20stop-color='%23BFCCCE'%20stop-opacity='0.3769'/%3E%3Cstop%20offset='0.941'%20stop-color='%239BAFB2'%20stop-opacity='0.4704'/%3E%3Cstop%20offset='1'%20stop-color='%238EA5A8'%20stop-opacity='0.5'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint4_linear'%20x1='5.97854'%20y1='14.162'%20x2='3.91009'%20y2='17.9542'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.4927'%20stop-color='white'/%3E%3Cstop%20offset='0.5861'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.7161'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.8672'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint5_linear'%20x1='5.24633'%20y1='17.0903'%20x2='5.97111'%20y2='14.9423'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.00132565'%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.1876'%20stop-color='%23F7F8F9'%20stop-opacity='0.093268'/%3E%3Cstop%20offset='0.4837'%20stop-color='%23E0E7E7'%20stop-opacity='0.2415'/%3E%3Cstop%20offset='0.8505'%20stop-color='%23BAC9CB'%20stop-opacity='0.4251'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'%20stop-opacity='0.5'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint6_linear'%20x1='3.3013'%20y1='19.6953'%20x2='5.51327'%20y2='14.8574'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.00132565'%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.2202'%20stop-color='%23FCFCFC'%20stop-opacity='0.1096'/%3E%3Cstop%20offset='0.4036'%20stop-color='%23F1F4F4'%20stop-opacity='0.2014'/%3E%3Cstop%20offset='0.5742'%20stop-color='%23E0E6E7'%20stop-opacity='0.2868'/%3E%3Cstop%20offset='0.737'%20stop-color='%23C7D3D4'%20stop-opacity='0.3683'/%3E%3Cstop%20offset='0.8929'%20stop-color='%23A8BABC'%20stop-opacity='0.4464'/%3E%3Cstop%20offset='1'%20stop-color='%238EA5A8'%20stop-opacity='0.5'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint7_linear'%20x1='3.26383'%20y1='17.864'%20x2='5.74002'%20y2='14.7974'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'/%3E%3Cstop%20offset='0.1839'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.4404'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.7381'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint8_linear'%20x1='18.5575'%20y1='16.5964'%20x2='20.8755'%20y2='14.2784'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'/%3E%3Cstop%20offset='0.1839'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.4404'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.7381'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint9_linear'%20x1='22.4159'%20y1='17.1122'%20x2='18.9688'%20y2='14.8371'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'/%3E%3Cstop%20offset='0.1839'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.4404'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.7381'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint10_linear'%20x1='19.8662'%20y1='15.3565'%20x2='20.2347'%20y2='15.7249'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.2965'%20stop-color='white'/%3E%3Cstop%20offset='1'%20stop-color='white'%20stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint11_linear'%20x1='20.8678'%20y1='16.2504'%20x2='18.9488'%20y2='14.6531'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%2399AFB3'/%3E%3Cstop%20offset='0.7044'%20stop-color='%2393A9AD'%20stop-opacity='0.2956'/%3E%3Cstop%20offset='1'%20stop-color='%238EA5A8'%20stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint12_linear'%20x1='17.3739'%20y1='12.7692'%20x2='19.6919'%20y2='10.4512'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'/%3E%3Cstop%20offset='0.1839'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.4404'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.7381'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint13_linear'%20x1='21.2323'%20y1='13.2852'%20x2='17.7852'%20y2='11.0101'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'/%3E%3Cstop%20offset='0.1839'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.4404'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.7381'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint14_linear'%20x1='18.6828'%20y1='11.5298'%20x2='19.0513'%20y2='11.8982'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.2965'%20stop-color='white'/%3E%3Cstop%20offset='1'%20stop-color='white'%20stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint15_linear'%20x1='19.6844'%20y1='12.4234'%20x2='17.7653'%20y2='10.8261'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%2399AFB3'/%3E%3Cstop%20offset='0.7044'%20stop-color='%2393A9AD'%20stop-opacity='0.2956'/%3E%3Cstop%20offset='1'%20stop-color='%238EA5A8'%20stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint16_linear'%20x1='14.2293'%20y1='16.5286'%20x2='22.0007'%20y2='10.8904'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.4927'%20stop-color='white'/%3E%3Cstop%20offset='0.5861'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.7161'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.8672'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint17_linear'%20x1='15.2821'%20y1='15.5828'%20x2='18.091'%20y2='14.2995'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%23FF0000'/%3E%3Cstop%20offset='0.2186'%20stop-color='%23F90402'/%3E%3Cstop%20offset='0.5234'%20stop-color='%23E60E09'/%3E%3Cstop%20offset='0.8774'%20stop-color='%23C92014'/%3E%3Cstop%20offset='1'%20stop-color='%23BD2719'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint18_linear'%20x1='25.1652'%20y1='7.43881'%20x2='17.3366'%20y2='14.8102'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.00132565'%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.1876'%20stop-color='%23F7F8F9'%20stop-opacity='0.093268'/%3E%3Cstop%20offset='0.4837'%20stop-color='%23E0E7E7'%20stop-opacity='0.2415'/%3E%3Cstop%20offset='0.8505'%20stop-color='%23BAC9CB'%20stop-opacity='0.4251'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'%20stop-opacity='0.5'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint19_linear'%20x1='12.7424'%20y1='14.3703'%20x2='20.2852'%20y2='13.6845'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.00132565'%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.1543'%20stop-color='%23F7F8F9'%20stop-opacity='0.0765679'/%3E%3Cstop%20offset='0.3974'%20stop-color='%23E0E6E7'%20stop-opacity='0.1983'/%3E%3Cstop%20offset='0.6987'%20stop-color='%23BAC8CA'%20stop-opacity='0.3492'/%3E%3Cstop%20offset='1'%20stop-color='%238EA5A8'%20stop-opacity='0.5'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint20_linear'%20x1='11.2346'%20y1='6.62968'%20x2='13.5526'%20y2='4.31165'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'/%3E%3Cstop%20offset='0.1839'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.4404'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.7381'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint21_linear'%20x1='10.7186'%20y1='2.77133'%20x2='12.9937'%20y2='6.21843'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'/%3E%3Cstop%20offset='0.1839'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.4404'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.7381'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint22_linear'%20x1='12.4744'%20y1='5.32079'%20x2='12.1059'%20y2='4.95235'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.2965'%20stop-color='white'/%3E%3Cstop%20offset='1'%20stop-color='white'%20stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint23_linear'%20x1='11.5804'%20y1='4.31913'%20x2='13.1777'%20y2='6.23818'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%2399AFB3'/%3E%3Cstop%20offset='0.7044'%20stop-color='%2393A9AD'%20stop-opacity='0.2956'/%3E%3Cstop%20offset='1'%20stop-color='%238EA5A8'%20stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint24_linear'%20x1='7.40792'%20y1='5.44581'%20x2='9.72595'%20y2='3.12778'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'/%3E%3Cstop%20offset='0.1839'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.4404'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.7381'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint25_linear'%20x1='6.89212'%20y1='1.58731'%20x2='9.16722'%20y2='5.03441'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'/%3E%3Cstop%20offset='0.1839'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.4404'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.7381'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint26_linear'%20x1='8.64772'%20y1='4.13691'%20x2='8.27928'%20y2='3.76847'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.2965'%20stop-color='white'/%3E%3Cstop%20offset='1'%20stop-color='white'%20stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint27_linear'%20x1='7.75394'%20y1='3.13538'%20x2='9.35123'%20y2='5.05445'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%2399AFB3'/%3E%3Cstop%20offset='0.7044'%20stop-color='%2393A9AD'%20stop-opacity='0.2956'/%3E%3Cstop%20offset='1'%20stop-color='%238EA5A8'%20stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint28_linear'%20x1='7.4711'%20y1='9.76952'%20x2='13.1092'%20y2='1.99809'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.4927'%20stop-color='white'/%3E%3Cstop%20offset='0.5861'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.7161'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.8672'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint29_linear'%20x1='13.1583'%20y1='-0.173891'%20x2='9.42498'%20y2='6.83564'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.00132565'%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.1876'%20stop-color='%23F7F8F9'%20stop-opacity='0.093268'/%3E%3Cstop%20offset='0.4837'%20stop-color='%23E0E7E7'%20stop-opacity='0.2415'/%3E%3Cstop%20offset='0.8505'%20stop-color='%23BAC9CB'%20stop-opacity='0.4251'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'%20stop-opacity='0.5'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint30_linear'%20x1='9.63003'%20y1='11.2575'%20x2='10.3157'%20y2='3.7146'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.00132565'%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.1543'%20stop-color='%23F7F8F9'%20stop-opacity='0.0765679'/%3E%3Cstop%20offset='0.3974'%20stop-color='%23E0E6E7'%20stop-opacity='0.1983'/%3E%3Cstop%20offset='0.6987'%20stop-color='%23BAC8CA'%20stop-opacity='0.3492'/%3E%3Cstop%20offset='1'%20stop-color='%238EA5A8'%20stop-opacity='0.5'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint31_linear'%20x1='8.41649'%20y1='8.71721'%20x2='9.69985'%20y2='5.90835'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%23FF0000'/%3E%3Cstop%20offset='0.2186'%20stop-color='%23F90402'/%3E%3Cstop%20offset='0.5234'%20stop-color='%23E60E09'/%3E%3Cstop%20offset='0.8774'%20stop-color='%23C92014'/%3E%3Cstop%20offset='1'%20stop-color='%23BD2719'/%3E%3C/linearGradient%3E%3CradialGradient%20id='paint32_radial'%20cx='0'%20cy='0'%20r='1'%20gradientUnits='userSpaceOnUse'%20gradientTransform='translate(13.9745%209.77995)%20rotate(-44.2545)%20scale(12.6934%201.92646)'%3E%3Cstop%20offset='0.4927'%20stop-color='white'/%3E%3Cstop%20offset='0.5861'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.7161'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.8672'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/radialGradient%3E%3ClinearGradient%20id='paint33_linear'%20x1='13.0674'%20y1='9.54237'%20x2='14.605'%20y2='11.08'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.00132565'%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.1876'%20stop-color='%23F7F8F9'%20stop-opacity='0.093268'/%3E%3Cstop%20offset='0.4837'%20stop-color='%23E0E7E7'%20stop-opacity='0.2415'/%3E%3Cstop%20offset='0.8505'%20stop-color='%23BAC9CB'%20stop-opacity='0.4251'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'%20stop-opacity='0.5'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint34_linear'%20x1='18.1527'%20y1='5.84815'%20x2='7.25755'%20y2='16.7433'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.00132565'%20stop-color='white'%20stop-opacity='0'/%3E%3Cstop%20offset='0.1876'%20stop-color='%23F7F8F9'%20stop-opacity='0.093268'/%3E%3Cstop%20offset='0.4837'%20stop-color='%23E0E7E7'%20stop-opacity='0.2415'/%3E%3Cstop%20offset='0.8505'%20stop-color='%23BAC9CB'%20stop-opacity='0.4251'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'%20stop-opacity='0.5'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint35_linear'%20x1='6.74235'%20y1='15.9918'%20x2='7.75071'%20y2='17.0174'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'/%3E%3Cstop%20offset='0.1839'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.4404'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.7381'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint36_linear'%20x1='6.83825'%20y1='9.60637'%20x2='7.1767'%20y2='21.9031'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'/%3E%3Cstop%20offset='0.1839'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.4404'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.7381'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint37_linear'%20x1='6.09828'%20y1='8.21873'%20x2='7.12152'%20y2='17.7257'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='white'/%3E%3Cstop%20offset='0.1839'%20stop-color='%23F9FAFA'/%3E%3Cstop%20offset='0.4404'%20stop-color='%23E6ECEC'/%3E%3Cstop%20offset='0.7381'%20stop-color='%23C9D5D6'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint38_linear'%20x1='20.9128'%20y1='4.24649'%20x2='19.7628'%20y2='4.7822'%20gradientUnits='userSpaceOnUse'%3E%3Cstop/%3E%3Cstop%20offset='0.1097'%20stop-color='%23060606'/%3E%3Cstop%20offset='0.2626'%20stop-color='%23161819'/%3E%3Cstop%20offset='0.4411'%20stop-color='%23303636'/%3E%3Cstop%20offset='0.639'%20stop-color='%23555F60'/%3E%3Cstop%20offset='0.8501'%20stop-color='%23849394'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint39_linear'%20x1='19.6137'%20y1='2.89871'%20x2='19.6066'%20y2='4.22728'%20gradientUnits='userSpaceOnUse'%3E%3Cstop/%3E%3Cstop%20offset='0.1097'%20stop-color='%23060606'/%3E%3Cstop%20offset='0.2626'%20stop-color='%23161819'/%3E%3Cstop%20offset='0.4411'%20stop-color='%23303636'/%3E%3Cstop%20offset='0.639'%20stop-color='%23555F60'/%3E%3Cstop%20offset='0.8501'%20stop-color='%23849394'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint40_linear'%20x1='20.4611'%20y1='3.41937'%20x2='19.8325'%20y2='4.40508'%20gradientUnits='userSpaceOnUse'%3E%3Cstop/%3E%3Cstop%20offset='0.1097'%20stop-color='%23060606'/%3E%3Cstop%20offset='0.2626'%20stop-color='%23161819'/%3E%3Cstop%20offset='0.4411'%20stop-color='%23303636'/%3E%3Cstop%20offset='0.639'%20stop-color='%23555F60'/%3E%3Cstop%20offset='0.8501'%20stop-color='%23849394'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint41_linear'%20x1='21.0513'%20y1='4.88604'%20x2='19.5656'%20y2='5.16461'%20gradientUnits='userSpaceOnUse'%3E%3Cstop/%3E%3Cstop%20offset='0.1097'%20stop-color='%23060606'/%3E%3Cstop%20offset='0.2626'%20stop-color='%23161819'/%3E%3Cstop%20offset='0.4411'%20stop-color='%23303636'/%3E%3Cstop%20offset='0.639'%20stop-color='%23555F60'/%3E%3Cstop%20offset='0.8501'%20stop-color='%23849394'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3ClinearGradient%20id='paint42_linear'%20x1='18.9324'%20y1='2.77855'%20x2='19.0396'%20y2='4.18569'%20gradientUnits='userSpaceOnUse'%3E%3Cstop/%3E%3Cstop%20offset='0.1097'%20stop-color='%23060606'/%3E%3Cstop%20offset='0.2626'%20stop-color='%23161819'/%3E%3Cstop%20offset='0.4411'%20stop-color='%23303636'/%3E%3Cstop%20offset='0.639'%20stop-color='%23555F60'/%3E%3Cstop%20offset='0.8501'%20stop-color='%23849394'/%3E%3Cstop%20offset='1'%20stop-color='%23A9BCBE'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E") 4 4; }
.ft, .ft * { cursor: var(--plane), auto; }
.ft a, .ft button, .ft [role="button"], .ft label { cursor: var(--plane), pointer; }
/* Курсор-кораблик ТОЛЬКО в футере и ТОЛЬКО на страницах круизов
   (как самолётик в футере везде; .crz-page = маркер страниц круизов) */
:root{--ship:url("data:image/svg+xml,%3Csvg%20width%3D%2728%27%20height%3D%2728%27%20viewBox%3D%270%200%20128%20128%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20xmlns%3Axlink%3D%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%27%20aria-hidden%3D%27true%27%20role%3D%27img%27%20class%3D%27iconify%20iconify--noto%27%20preserveAspectRatio%3D%27xMidYMid%20meet%27%3E%20%3Cpath%20d%3D%27M83.1%2044.23l.54-22.63c.02-.8.47-1.49%201.14-1.71c1.38-.45%204.04-1.05%208-.78c2.94.2%204.73.77%205.71%201.21c.62.28%201.01.99.99%201.76l-.54%2022.66l-15.84-.51z%27%20fill%3D%27%23356477%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M98.49%2020.32c-.98-.44-2.77-1-5.71-1.21c-3.96-.27-6.62.33-8%20.78c-.66.22-1.12.91-1.14%201.71l-.14%205.85c.09-.04.17-.1.26-.13c1.51-.45%204.42-1.04%208.77-.75c3.23.21%205.19.78%206.27%201.23c.2.08.37.21.53.36l.14-6.09c.02-.76-.36-1.48-.98-1.75z%27%20fill%3D%27%23f44336%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M51.53%2038.53l.62-26.57c.02-.76.55-1.41%201.32-1.62c1.59-.43%204.68-1%209.27-.74c3.41.19%205.48.73%206.63%201.15c.72.26%201.17.94%201.15%201.67l-.63%2026.6l-18.36-.49z%27%20fill%3D%27%23356477%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M69.37%2010.75c-1.14-.42-3.21-.95-6.63-1.15c-4.6-.26-7.68.31-9.27.74c-.77.21-1.3.86-1.32%201.62l-.16%205.55c.1-.04.19-.1.31-.12c1.75-.43%205.13-.99%2010.17-.71c3.75.2%206.02.74%207.27%201.16c.23.08.43.2.61.34l.17-5.77c.02-.72-.43-1.4-1.15-1.66z%27%20fill%3D%27%23f44336%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M86.01%2026.82c1.35-.22%203.11-.37%205.26-.3v-7.47c-2.26-.04-4.01.21-5.26.5v7.27z%27%20fill%3D%27%23ff7555%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M55.03%2016.9c1.39-.18%203.15-.3%205.26-.28V9.54c-2.2.01-3.96.21-5.26.45v6.91z%27%20fill%3D%27%23ff7555%27%3E%20%3C%2Fpath%3E%20%3Cg%3E%20%3Cpath%20d%3D%27M54.33%2073.61l-.42%208.4l-34.65-1.57l.26-6.83s7.78-11.44%207.78-34.96l32.56-1.94s1.55%203.32.39%2013.19c-1.94%2016.73-5.92%2023.71-5.92%2023.71z%27%20fill%3D%27%23eee%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M59.97%2044.76l-32.9.8c-.1%201.39-.22%202.73-.36%204.01L59.79%2049l.18-4.24z%27%20fill%3D%27%2382aec0%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M59.5%2057.05l-33.99.1c-.3%201.43-.62%202.77-.95%204.01h34.09l.85-4.11z%27%20fill%3D%27%2382aec0%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M54.96%2068.97l-33.04-.07c-.82%201.92-1.53%203.25-1.96%203.99l32.72.07c.01%200%201.78-2.67%202.28-3.99z%27%20fill%3D%27%2382aec0%27%3E%20%3C%2Fpath%3E%20%3C%2Fg%3E%20%3Cg%3E%20%3Cpath%20d%3D%27M52.56%2073.66l65.73%207.65l1.12-12.58l-11.14-1.4l2.02-22.19l-50.3-8.2c.38%2024.56-5.65%2033.81-7.43%2036.03v.69z%27%20fill%3D%27%2382aec0%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M109.68%2051.75l-49.8-7.02s-.2%203.2-.31%204.3l49.75%206.72l.36-4z%27%20fill%3D%27%23365666%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M108.26%2067.33l.36-3.95l-50.07-6.32c-.27%201.4-.54%202.87-.85%204.08l50.56%206.19z%27%20fill%3D%27%23365666%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M54.96%2068.97c-.91%201.74-1.95%203.32-2.42%204l-.01.15l65.84%207.22l.35-3.99l-63.76-7.38z%27%20fill%3D%27%23365666%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M105.82%2055.27l.46-4l-1.98-.28l-.46%204.01l-4.3-.58l.47-4.04l-1.98-.28l-.47%204.05l-4.3-.58l.47-4.07l-1.98-.28l-.47%204.08l-4.3-.58l.47-4.11l-1.98-.28l-.48%204.12l-4.3-.58l.48-4.14l-1.98-.28l-.48%204.16l-4.3-.58l.48-4.18l-1.98-.28l-.48%204.19l-4.3-.58l.49-4.22l-1.98-.28l-.49%204.23l-6.65-.9s-.08.88-.1%201.42c-.02.54-.1%201.58-.1%201.58l49.75%206.68l.27-2.96l-3.5-.46z%27%20fill%3D%27%23eee%27%3E%20%3C%2Fpath%3E%20%3Cpath%20fill%3D%27%23eee%27%20d%3D%27M110.08%2047.36l-50.24-7.64l.02-3.02l50.5%207.64z%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M104.79%2066.9l.42-3.94l-1.98-.25l-.42%203.94l-4.3-.53l.42-3.95l-1.98-.25l-.42%203.95l-4.3-.53l.42-3.96l-1.98-.25l-.42%203.96l-4.3-.53l.42-3.97l-1.98-.25l-.42%203.97l-4.3-.53l.42-3.97l-1.98-.25l-.42%203.98l-4.3-.53l.42-3.98l-1.98-.25l-.42%203.98l-4.3-.53l.42-3.99l-2.02-.24l-.43%203.99l-7.37-.85s-.2.7-.81%202.85l62.24%207.74l.28-3.02l-14.63-1.81z%27%20fill%3D%27%23eee%27%3E%20%3C%2Fpath%3E%20%3Cpath%20fill%3D%27%23eee%27%20d%3D%27M114.05%2079.8l.42-3.94l-1.98-.23l-.43%203.95l-4.63-.54l.42-3.95l-1.98-.23l-.43%203.95l-4.63-.53l.43-3.95l-1.99-.23l-.43%203.95l-4.63-.53l.43-3.96l-1.99-.23l-.43%203.96l-4.63-.53l.43-3.97l-1.99-.23l-.43%203.97l-4.63-.53l.43-3.97l-1.99-.23l-.43%203.97l-4.63-.54l.43-3.97l-1.99-.23l-.43%203.98l-4.63-.54l.43-3.98l-1.99-.23l-.43%203.98l-4.63-.53l.43-3.98l-1.99-.24l-.43%203.99l-6.58-.52l-.65%209.79l65.72%206.72l.79-9.16z%27%3E%20%3C%2Fpath%3E%20%3C%2Fg%3E%20%3Cg%3E%20%3Cpath%20d%3D%27M6.15%2078.96s-2.12-.1-1.93%201.99c0%200-2.49%2016.6%204.41%2028C15.26%20119.89%2024.43%20124%2028.52%20124h80.46c5.02%200%2010.23-3.78%2012.03-9.39c1.41-4.41%202.66-20.35%202.92-25.21c.04-.78-.55-1.45-1.33-1.51c0%200-72.87-9.04-116.45-8.93z%27%20fill%3D%27%23356477%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M123.48%2095.94S47.46%2090.75%203.86%2091.11l-.02-5.64c43.82-.37%20119.06%207.83%20119.83%207.89l-.19%202.58z%27%20fill%3D%27%23f44336%27%3E%20%3C%2Fpath%3E%20%3Cpath%20d%3D%27M19.38%2078.33l-.07.83c36.27%201.05%2083.26%206.37%2098.47%208.16l.17-2c-11.02-1.29-38.67-4.35-66.8-6.36c-10.82-.77-31.77-.63-31.77-.63z%27%20fill%3D%27%2382aec0%27%3E%20%3C%2Fpath%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E");}
body:has(.crz-page) .ft, body:has(.crz-page) .ft * { cursor: var(--ship), auto; }
body:has(.crz-page) .ft a, body:has(.crz-page) .ft button, body:has(.crz-page) .ft [role="button"], body:has(.crz-page) .ft label { cursor: var(--ship), pointer; }
.ft input, .ft textarea, .ft select { cursor: text; }


/* cm-content: пропускаем драг сквозь пустоту к 3D-самолёту */
.cm-content { pointer-events: none; }
.cm-content a, .cm-content button, .cm-content input,
.cm-content textarea, .cm-content select, .cm-content label,
.cm-content form, .cm-content [role="button"] { pointer-events: auto; }

/* 3D-самолёт: адаптив (мобилка/планшет) */
@media (max-width: 1024px) {
  .plane-stage { top: 32%; right: -6%; width: min(640px, 116vw); }
}
@media (max-width: 640px) {
  .plane-stage { top: 27%; right: -14%; width: 150vw; opacity: 0.92; }
}




/* obr-grid */
.obr-tabs{display:flex;gap:2px;border-bottom:1px solid #e3e0d6;margin:4px 0 14px;flex-wrap:wrap}
.obr-tab{position:relative;padding:9px 16px;font-size:13.5px;font-weight:600;color:#6a7a72;
  background:none;border:none;border-bottom:2px solid transparent;cursor:pointer}
.obr-tab.is-active{color:#0f3f3a;border-bottom-color:#0f3f3a}
.obr-tab.is-soon{color:#aab4ae;cursor:not-allowed}
.obr-soon{font-size:9px;font-weight:700;background:#eef0ea;color:#9aa49e;
  padding:1px 5px;border-radius:6px;margin-left:6px;vertical-align:middle}
.obr-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.obr-chips{display:flex;gap:6px}
.obr-chip{padding:7px 13px;font-size:13px;font-weight:600;border-radius:999px;
  border:1px solid #e0ddd2;background:#fff;color:#5a6b63;cursor:pointer}
.obr-chip.is-active{background:#0f3f3a;border-color:#0f3f3a;color:#fff}
.obr-search{min-width:240px;flex:1}
.obr-dd{position:relative}
.obr-dd-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;background:#fff;
  border:1px solid #e0ddd2;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);
  padding:6px;min-width:190px;max-height:340px;overflow:auto}
.obr-dd-menu button{display:block;width:100%;text-align:left;padding:8px 12px;font-size:13px;
  background:none;border:none;border-radius:7px;cursor:pointer;color:#2a3a33}
.obr-dd-menu button:hover{background:#f3f1ea}
.obr-table th,.obr-table td{white-space:nowrap}
.obr-grouprow .obr-grouphead{background:#f3f1ea;color:#0f3f3a;font-size:11px;
  text-transform:uppercase;letter-spacing:.04em;text-align:center;border-bottom:1px solid #e3e0d6}
.obr-totals td{background:#faf8f1;font-size:13px;color:#41525a;font-weight:600}
.obr-pager{display:flex;gap:12px;align-items:center;justify-content:center;margin:16px 0;font-size:13px}
.obr-pager button{padding:6px 12px;border:1px solid #e0ddd2;background:#fff;border-radius:8px;cursor:pointer}
.obr-pager button:disabled{opacity:.4;cursor:not-allowed}
.obr-modal-bg,.obr-drawer-bg{position:fixed;inset:0;background:rgba(15,30,28,.4);z-index:80;
  display:flex;justify-content:center;align-items:flex-start;padding:7vh 16px}
.obr-modal{background:#fff;border-radius:16px;padding:24px 26px;max-width:560px;width:100%;
  max-height:80vh;overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.obr-modal h3{margin:0 0 16px}
.obr-modal-grp{margin-bottom:14px}
.obr-modal-grp-h{font-size:11px;text-transform:uppercase;letter-spacing:.04em;
  color:#0f3f3a;font-weight:700;margin-bottom:6px}
.obr-modal-row{display:flex;gap:8px;align-items:center;font-size:13.5px;color:#2a3a33;
  padding:5px 4px;cursor:pointer}
.obr-modal-foot{display:flex;justify-content:flex-end;margin-top:10px}
.obr-drawer-bg{justify-content:flex-end;padding:0}
.obr-drawer{background:#fff;width:420px;max-width:92vw;height:100%;overflow:auto;
  padding:28px 26px;box-shadow:-16px 0 50px rgba(0,0,0,.18);position:relative}
.obr-drawer-x{position:absolute;right:18px;top:16px;border:none;background:none;
  font-size:18px;cursor:pointer;color:#7a857f}
.obr-drawer h3{margin:0 0 2px}
.obr-drawer-sub{color:#6a7a72;margin:0 0 12px}
.obr-drawer-dl{display:grid;grid-template-columns:120px 1fr;gap:8px 14px;margin-top:18px;font-size:13.5px}
.obr-drawer-dl dt{color:#8a948e;font-weight:600}
.obr-drawer-dl dd{margin:0;color:#1f2a26}


/* flights-cheap */
.fl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:26px}
.fl-card{display:block;background:var(--brand-cream-200);border:1px solid #E8E6DB;border-radius:14px;
  padding:18px 18px 16px;text-decoration:none;
  transition:transform .15s,box-shadow .15s,border-color .15s}
.fl-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,76,92,.12);border-color:var(--brand-deep-500)}
.fl-city{font-size:18px;font-weight:700;color:var(--brand-deep-600);line-height:1.2}
.fl-route{font-size:12.5px;color:#8a948e;margin-top:3px}
.fl-price{font-size:20px;font-weight:800;color:var(--brand-terra-400);margin-top:12px}
.fl-meta{font-size:13px;color:#5a6b63;margin-top:6px}


/* fl-cta */
.fl-cta{position:relative;background-attachment:fixed;background-size:cover;
  background-position:center;border-radius:24px;overflow:hidden}
.fl-cta-in{background:linear-gradient(120deg,rgba(6,43,54,.92),rgba(6,43,54,.66));
  padding:56px 44px}
.fl-cta-in h2{color:#fff;font-size:clamp(24px,3vw,36px);font-weight:600;
  letter-spacing:-.01em;margin:0;line-height:1.15}
.fl-cta-in p{color:#cfe0d6;max-width:56ch;margin:14px 0 0;font-size:15px;line-height:1.6}
@media (max-width:640px){.fl-cta-in{padding:36px 22px}}


/* fl-bits */
.fl-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.fl-steps li{display:flex;gap:16px;align-items:flex-start;font-size:15px;
  line-height:1.55;color:var(--brand-deep-600)}
.fl-steps li b{display:block;color:var(--brand-deep-600);font-weight:600;margin-bottom:2px}
.fl-steps li span:last-child{color:#41525a}
.fl-steps-n{flex:none;width:30px;height:30px;border-radius:50%;
  background:var(--brand-deep-600);color:#fff;display:flex;align-items:center;
  justify-content:center;font-size:14px;font-weight:600}
.fl-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  margin:34px 0 4px}
.fl-stats > div{text-align:center;padding:18px 10px;background:var(--brand-cream-200);
  border:1px solid #E8E6DB;border-radius:14px}
.fl-stats b{display:block;font-size:26px;font-weight:800;color:var(--brand-terra-400)}
.fl-stats span{display:block;margin-top:4px;font-size:13px;color:#5a6b63}
@media (max-width:680px){.fl-stats{grid-template-columns:repeat(2,1fr)}}


/* fl-air */
.fl-air{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.fl-air img{width:26px;height:26px;border-radius:6px;-o-object-fit:contain;object-fit:contain;
  background:#fff;border:1px solid #ECE4D6}
.fl-air span{font-size:12px;color:#8a948e;font-weight:500;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}


/* fc-air-cards */
.fc-eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:14px;
  font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;
  color:#B14A2C}
.fc-eyebrow svg{width:15px;height:15px;color:var(--brand-terra-400);flex:none}
.fc-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:22px 0 4px}
.fc-chips-l{font-size:11px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:#8a948e;margin-right:4px}
.fc-chip{padding:7px 14px;font-size:13px;font-weight:600;border-radius:999px;
  border:1px solid #E0DBCB;background:#fff;color:#41525a;cursor:pointer;
  transition:all .15s;white-space:nowrap}
.fc-chip:hover{border-color:var(--brand-deep-500);color:var(--brand-deep-600)}
.fc-chip.on{background:var(--brand-terra-400);border-color:var(--brand-terra-400);color:#fff}
.fc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:14px;margin-top:24px}
.fc-card{display:flex;align-items:stretch;background:var(--brand-cream-200);
  border:1px solid #E8E6DB;border-radius:16px;overflow:hidden;
  text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.fc-card:hover{transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(15,76,92,.13);border-color:var(--brand-deep-500)}
.fc-main{flex:1;min-width:0;padding:15px 16px 14px}
.fc-top{display:flex;align-items:center;gap:8px;margin-bottom:11px}
.fc-top img{width:24px;height:24px;border-radius:6px;-o-object-fit:contain;object-fit:contain;
  background:#fff;border:1px solid #ECE4D6;flex:none}
.fc-airn{flex:1;min-width:0;font-size:10.5px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;color:#8a948e;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-stop{flex:none;font-size:10px;font-weight:700;color:var(--brand-deep-500);
  background:#E8EEF0;padding:3px 8px;border-radius:999px;white-space:nowrap}
.fc-city{font-size:19px;font-weight:700;color:var(--brand-deep-600);line-height:1.15;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-sub{margin-top:5px;font-size:12.5px;color:#8a948e}
.fc-sub b{color:#41525a;font-weight:700;letter-spacing:.02em}
.fc-price{flex:none;width:104px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:2px;background:#fff;
  border-left:1px dashed #E0DBCB}
.fc-price i{font-size:10px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:#9aa49e;font-style:normal}
.fc-price b{font-size:17px;font-weight:800;color:var(--brand-terra-400);white-space:nowrap}
@media (max-width:640px){
  .fc-grid{grid-template-columns:1fr}
  .fc-price{width:92px}
  .fc-city{font-size:18px}
}


/* pc-cal */
.pc-cal{margin-top:24px;border:1px solid #E8E6DB;border-radius:16px;
  overflow:hidden;background:var(--brand-cream-200)}
.pc-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.pc-head{background:#F2F1EA}
.pc-dow{padding:10px 4px;text-align:center;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;color:#8a948e}
.pc-cell{min-height:62px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:3px;border-top:1px solid #ECE4D6;
  border-left:1px solid #ECE4D6;text-decoration:none}
.pc-grid > .pc-cell:nth-child(7n+1){border-left:0}
.pc-empty{background:transparent}
.pc-d{font-size:12px;font-weight:600;color:#8a948e}
.pc-na .pc-d{color:#c8d0cb}
.pc-dash{font-size:12px;color:#d4dad6}
.pc-on{background:#fff;transition:background .12s}
.pc-on:hover{background:#FBEFE9}
.pc-p{font-size:12.5px;font-weight:700;color:var(--brand-deep-600)}
.pc-min{background:#FBEFE9}
.pc-min .pc-p{color:var(--brand-terra-500)}
.pc-min .pc-d{color:var(--brand-terra-400)}
@media (max-width:640px){
  .pc-cell{min-height:52px}
  .pc-p{font-size:10px}
  .pc-d{font-size:11px}
  .pc-dow{font-size:9.5px;padding:8px 1px}
}


/* pc-seg */
.pc-seg{display:inline-flex;border:1px solid #E0DBCB;border-radius:999px;
  background:#fff;padding:3px}
.pc-seg button{padding:7px 16px;font-size:13px;font-weight:600;border:0;
  background:none;border-radius:999px;color:#5a6b63;cursor:pointer;
  transition:all .15s;white-space:nowrap}
.pc-seg button:hover{color:var(--brand-deep-600)}
.pc-seg button.on{background:var(--brand-terra-400);color:#fff}
@media (max-width:480px){.pc-seg button{padding:7px 12px;font-size:12px}}

/* Слайдер цены: одна линия, две ручки (наложенные range) */
.cr-slider{position:relative;height:34px;display:flex;align-items:center;margin-top:10px}
/* трек зажат на радиус бегунка (18px → 9px), чтобы заливка совпадала с точками */
.cr-slider-track{position:absolute;left:9px;right:9px;top:50%;transform:translateY(-50%);height:4px}
.cr-slider-rail{position:absolute;left:0;right:0;top:0;height:4px;background:#E7DECF;border-radius:2px}
.cr-slider-fill{position:absolute;top:0;height:4px;background:var(--brand-terra-400);border-radius:2px}
.cr-slider-input{position:absolute;left:0;width:100%;height:34px;margin:0;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:none}
.cr-slider-input::-webkit-slider-runnable-track{background:transparent;border:none}
.cr-slider-input::-moz-range-track{background:transparent;border:none}
.cr-slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--brand-terra-400);box-shadow:0 1px 4px rgba(0,0,0,.22);cursor:pointer;pointer-events:auto;margin-top:-7px}
.cr-slider-input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--brand-terra-400);box-shadow:0 1px 4px rgba(0,0,0,.22);cursor:pointer;pointer-events:auto}
.cr-price .cr-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* CD2-START do-not-edit */
/* === CRUISE DETAIL DESIGN v2 (cd2) — scoped, do not leak globally === */
.cd2 {
  --cream-50:#FBF7EF; --cream-100:#F6EFE0; --cream-200:#EFE5CF; --cream-300:#E5D6B6; --cream-400:#D9C499;
  --deep-50:#E9F0F2; --deep-100:#C9D9DC; --deep-200:#98B6BC; --deep-300:#5B8993; --deep-400:#2A6976;
  --deep-500:var(--brand-deep-600); --deep-600:#0C3E4B; --deep-700:#092E38; --deep-800:#061F26; --deep-900:#031318;
  --terra-50:#FBEDE7; --terra-100:#F4D2C3; --terra-200:#EBB39A; --terra-300:#E59478;
  --terra-400:var(--brand-terra-400); --terra-500:#C45D3E; --terra-600:#9A452C; --terra-700:#732F1D;
  color:var(--deep-700);
  position:relative;
  -webkit-font-smoothing:antialiased;
}
.cd2 *{box-sizing:border-box;}
.cd2 .cd2-wrap{max-width:1280px;margin:0 auto;padding:0 32px;}
.cd2 .cd2-disp{font-family:var(--font-display),'Playfair Display',Georgia,serif;}
.cd2 .cd2-script{font-family:var(--font-script),'Caveat',cursive;}
/* фон/зерно даёт сам сайт (body.grain bg-cream-100) — cd2 прозрачный */
.cd2 .cd2-eyebrow{
  font-family:var(--font-script),'Caveat',cursive;font-size:26px;color:var(--terra-500);
  line-height:1;display:inline-block;transform:rotate(-2deg);margin-bottom:6px;
}
.cd2 .cd2-h2{
  font-family:var(--font-display),'Playfair Display',serif;font-size:44px;line-height:1.12;
  letter-spacing:-.01em;color:var(--deep-700);margin:0;
}
.cd2 .cd2-h2 .it{font-style:italic;}
@media(max-width:680px){.cd2 .cd2-h2{font-size:32px;} .cd2 .cd2-eyebrow{font-size:22px;}}
.cd2 .cd2-section{scroll-margin-top:96px;}
.cd2 .soft-card{background:#fff;border-radius:22px;border:1px solid var(--cream-200);padding:28px;position:relative;}
.cd2 .cut-dashed{
  height:1px;background-image:linear-gradient(to right,var(--cream-300) 50%,transparent 50%);
  background-size:8px 1px;background-repeat:repeat-x;
}
/* scribble underline */
.cd2 .scribble{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 12' preserveAspectRatio='none'><path d='M2 7 C 30 1, 60 12, 100 6 S 180 2, 238 8' fill='none' stroke='%23E07856' stroke-width='3' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-size:100% 12px;background-position:0 100%;padding-bottom:12px;
}
/* CTA */
.cd2 .cta-pill{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 26px;border-radius:999px;background:var(--terra-400);color:#fff;
  font-weight:600;border:0;cursor:pointer;text-decoration:none;
  transition:transform .2s,box-shadow .2s,background .2s;
  box-shadow:0 14px 28px -14px rgba(224,120,86,.55);
}
.cd2 .cta-pill:hover{background:var(--terra-500);transform:translateY(-1px);box-shadow:0 18px 32px -14px rgba(224,120,86,.65);}
/* .fl-cta внутри .cd2 = тот же анимированный pill, что на /flights и в футере (не плоский оранж) */
.cd2 .fl-cta .cta-pill{display:inline-block;gap:0;padding:0;border-radius:9999px;background:var(--brand-cream-200);color:var(--brand-deep-600);border:1px solid rgba(15,76,92,.18);box-shadow:none;transition:background 320ms ease,border-color 320ms ease,box-shadow 320ms ease,transform 220ms ease;}
@media (hover:hover){.cd2 .fl-cta .cta-pill:hover{background:var(--brand-terra-400);border-color:var(--brand-terra-400);box-shadow:0 18px 30px -16px rgba(224,120,86,.55);transform:translateY(-2px);}}
.cd2 .cta-ghost{
  display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;
  border:1.5px solid var(--deep-200);color:var(--deep-500);background:transparent;
  font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s;font-size:14px;
}
.cd2 .cta-ghost:hover{border-color:var(--terra-400);color:var(--terra-500);background:rgba(224,120,86,.05);}
/* stamps */
.cd2 .stamp{
  display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-script),'Caveat',cursive;
  color:var(--terra-500);border:2px solid currentColor;border-radius:999px;padding:6px 14px;
  letter-spacing:.04em;text-transform:uppercase;font-size:14px;opacity:.85;
  box-shadow:inset 0 0 0 1px currentColor;background:var(--cream-50);
}
.cd2 .stamp-rotate{transform:rotate(-8deg);}
.cd2 .stamp-circle{
  width:92px;height:92px;border-radius:999px;border:2px dashed currentColor;color:var(--terra-500);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-script),'Caveat',cursive;
  font-size:18px;line-height:1.05;text-align:center;padding:6px;background:rgba(224,120,86,.06);
  transform:rotate(-12deg);
}
.cd2 .stamp-city{
  position:absolute;top:14px;right:14px;background:rgba(255,255,255,.92);color:var(--terra-500);
  padding:6px 10px;border-radius:6px;font-family:var(--font-script),'Caveat',cursive;
  font-size:18px;line-height:1;transform:rotate(4deg);border:1.5px solid var(--terra-400);z-index:2;
}

/* === HERO === */
.cd2 .hero{
  position:relative;overflow:hidden;isolation:isolate;
  display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(180deg,#FBEDE7 0%,#F6EFE0 30%,var(--cream-50) 100%);
}
.cd2 .hero-sky{
  position:absolute;inset:0;z-index:0;
  background:radial-gradient(ellipse at 70% 20%,#FBE1B9 0%,transparent 55%),
   radial-gradient(ellipse at 25% 30%,#F2C5A6 0%,transparent 50%),
   linear-gradient(180deg,#FCDDB8 0%,#F6C99D 30%,#EFB68B 60%,#E5A479 100%);
}
.cd2 .hero-photo{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;}
.cd2 .hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,31,38,.15) 0%,rgba(6,31,38,.55) 100%);}
.cd2 .hero-sun{
  position:absolute;top:16%;right:13%;width:140px;height:140px;border-radius:999px;
  background:radial-gradient(circle,#FFE7B7 0%,#FFC988 40%,transparent 70%);filter:blur(2px);z-index:1;
}
.cd2 .hero-water{
  position:absolute;left:0;right:0;bottom:0;height:34%;z-index:1;
  background:linear-gradient(180deg,#2A6976 0%,var(--brand-deep-600) 50%,#092E38 100%);overflow:hidden;
}
.cd2 .hero-water::before{
  content:"";position:absolute;inset:0;mix-blend-mode:screen;
  background-image:repeating-linear-gradient(0deg,transparent 0 8px,rgba(255,255,255,.05) 8px 9px),
   radial-gradient(ellipse at 50% 0%,rgba(255,222,180,.5) 0%,transparent 60%);
}
.cd2 .hero-edge{position:absolute;bottom:-1px;left:0;right:0;width:100%;}
.cd2 .hero-inner{position:relative;z-index:10;padding:44px 0 64px;}
.cd2 .hero-on-photo{color:var(--cream-50);}
.cd2 .hero-on-photo .cd2-disp,.cd2 .hero-on-photo h1{color:#fff;}
.cd2 .hero-badge{
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--terra-400);color:#fff;
  border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
}
.cd2 .hero-chip{
  display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;font-size:13px;
  background:rgba(251,247,239,.85);border:1px solid var(--cream-200);color:var(--deep-500);font-weight:500;
  backdrop-filter:blur(4px);
}
.cd2 .hero-on-photo .hero-chip{background:rgba(9,46,56,.45);border-color:rgba(255,255,255,.25);color:#fff;}
@keyframes cd2-shimmer{0%{transform:translateX(-10px);opacity:.6}100%{transform:translateX(10px);opacity:1}}
@keyframes cd2-bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-5px)}}
.cd2 .ship-bob{animation:cd2-bob 5s ease-in-out infinite;}

/* === TAB NAV === */
.cd2 .tab-nav{
  position:sticky;top:0;z-index:30;background:rgba(251,247,239,.92);
  backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--cream-200);
}
.cd2 .tab-row{display:flex;align-items:center;gap:32px;overflow-x:auto;scrollbar-width:thin;}
.cd2 .tab-link{
  display:inline-flex;align-items:center;gap:8px;padding:18px 4px;color:var(--deep-300);
  font-weight:500;font-size:15px;cursor:pointer;background:none;border:0;white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .15s,border-color .15s;
}
.cd2 .tab-link svg{opacity:.7;}
.cd2 .tab-lbl-mob{display:none;}
.cd2 .tab-link:hover{color:var(--deep-600);}
.cd2 .tab-link.active{color:var(--terra-500);border-bottom-color:var(--terra-400);}
.cd2 .tab-link.active svg{opacity:1;color:var(--terra-400);}

/* === LAYOUT === site Container даёт ширину (max-w-1400 + px) === */
.cd2 .cd2-main-wrap{padding:48px 0 88px;position:relative;z-index:1;}
.cd2 .cd2-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;}
@media(min-width:1024px){.cd2 .cd2-grid{grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start;}}
@media(min-width:1024px) and (max-width:1199px){.cd2 .cd2-grid{grid-template-columns:minmax(0,1fr) 280px;gap:28px;}}
.cd2 .cd2-col{display:flex;flex-direction:column;gap:72px;min-width:0;}
.cd2 .cd2-aside{order:-1;}
@media(min-width:1024px){.cd2 .cd2-aside{order:0;align-self:stretch;}
  .cd2 .cd2-sticky{position:sticky;top:88px;}}
@media(max-width:1023px){.cd2 .cd2-col{gap:48px;}}




/* === ROUTE === */
.cd2 .route-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  margin-bottom:36px;flex-wrap:wrap;}
.cd2 .route-string{position:relative;}
.cd2 .route-string .rs-tag{
  position:absolute;top:-12px;left:32px;padding:4px 12px;background:var(--cream-50);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--deep-300);font-weight:500;
}
.cd2 .rs-pills{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.cd2 .rs-pill{padding:5px 14px;background:var(--cream-100);border-radius:999px;font-size:14px;color:var(--deep-700);}
.cd2 .rs-pill.hot{background:var(--terra-50);color:var(--terra-600);font-weight:500;}
.cd2 .rs-arrow{color:var(--deep-200);flex-shrink:0;}
.cd2 .rs-note{margin-top:16px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--deep-300);}
.cd2 .days{display:flex;flex-direction:column;gap:20px;}
.cd2 .postcard{
  background:#fff;border-radius:18px;position:relative;overflow:hidden;border:1px solid var(--cream-200);
  box-shadow:0 1px 0 rgba(15,76,92,.04);transition:transform .2s,box-shadow .25s;
}
.cd2 .postcard:hover{transform:translateY(-2px);box-shadow:0 24px 36px -22px rgba(15,76,92,.25);}
.cd2 .postcard.hl{background:linear-gradient(180deg,#FBEDE7 0%,#fff 30%);box-shadow:0 0 0 1px var(--terra-200);}
.cd2 .pc-grid{display:grid;grid-template-columns:1fr;}
@media(min-width:640px){.cd2 .pc-grid{grid-template-columns:2fr 1fr;}}
.cd2 .pc-body{padding:28px;min-width:0;}
.cd2 .pc-art{position:relative;min-height:180px;overflow:hidden;}
.cd2 .pc-art-img{position:absolute;inset:0;background-size:cover;background-position:center;}
.cd2 .pc-art-grad{position:absolute;inset:0;}
.cd2 .day-banner{
  display:inline-flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;background:var(--deep-500);
  color:var(--cream-50);border-radius:999px;font-size:14px;font-weight:500;
}
.cd2 .day-banner-num{
  background:var(--terra-400);color:#fff;width:32px;height:32px;border-radius:999px;display:grid;
  place-items:center;font-family:var(--font-display),'Playfair Display',serif;font-style:italic;
  font-weight:700;font-size:17px;
}
.cd2 .pc-title{font-family:var(--font-display),'Playfair Display',serif;font-size:32px;
  line-height:1.05;color:var(--deep-700);margin:0 0 10px;}
.cd2 .pc-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--deep-300);margin-bottom:10px;}
.cd2 .pc-text{font-size:15px;line-height:1.6;color:var(--deep-700);margin:0 0 14px;}
.cd2 .pc-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--deep-300);}
.cd2 .pc-meta .dot{color:var(--cream-400);}
.cd2 .pc-script{font-family:var(--font-script),'Caveat',cursive;font-size:19px;color:var(--deep-300);}
.cd2 .pc-script.tr{color:var(--terra-500);transform:rotate(-3deg);}
.cd2 details.day-more{border-top:1px dashed var(--cream-300);}
.cd2 details.day-more>summary{
  list-style:none;cursor:pointer;padding:14px 28px;display:flex;align-items:center;gap:12px;
  color:var(--terra-500);font-size:14px;font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none;
}
.cd2 details.day-more>summary::-webkit-details-marker{display:none;}
.cd2 details.day-more>summary:hover{background:var(--cream-100);}
.cd2 details.day-more>summary .chev{margin-left:auto;transition:transform .25s;}
.cd2 details.day-more[open]>summary .chev{transform:rotate(180deg);}
.cd2 details.day-more[open]>summary .lbl-c{display:none;}
.cd2 details.day-more>summary .lbl-o{display:none;}
.cd2 details.day-more[open]>summary .lbl-o{display:inline;}
.cd2 .day-more-body{padding:4px 28px 28px;}
.cd2 .dm-ev{display:flex;gap:14px;padding:10px 0;border-top:1px dashed var(--cream-200);font-size:14px;color:var(--deep-700);}
.cd2 .dm-ev:first-child{border-top:0;}
.cd2 .dm-ev-time{font-variant-numeric:tabular-nums;color:var(--terra-500);font-weight:600;flex-shrink:0;min-width:48px;}

/* день: стоянки/время/подробнее/варианты/фото */
.cd2 .day-sail{display:flex;align-items:center;gap:14px;background:#fff;border:1px dashed var(--cream-300);
  border-radius:16px;padding:16px 22px;color:var(--deep-300);font-size:14px;}
.cd2 .day-sail .day-banner{background:var(--deep-400);}
.cd2 .day-times{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 12px;font-size:13px;color:var(--deep-500);}
.cd2 .day-times b{color:var(--deep-700);font-variant-numeric:tabular-nums;}
.cd2 .day-times .lbl{color:var(--deep-300);}
.cd2 details.daydesc{margin:10px 0 0;}
.cd2 details.daydesc>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;
  color:var(--terra-500);font-size:14px;font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none;}
.cd2 details.daydesc>summary::-webkit-details-marker{display:none;}
.cd2 details.daydesc>summary .chev{transition:transform .25s;}
.cd2 details.daydesc[open]>summary .chev{transform:rotate(180deg);}
.cd2 details.daydesc>summary .lo{display:none;}
.cd2 details.daydesc[open]>summary .lo{display:inline;}
.cd2 details.daydesc[open]>summary .lc{display:none;}
.cd2 .daydesc-body{margin-top:12px;padding-top:14px;border-top:1px dashed var(--cream-200);}
.cd2 .exc-wrap{margin-top:14px;padding-top:14px;border-top:1px dashed var(--cream-200);}
.cd2 .exc-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--deep-300);
  font-weight:600;margin-bottom:10px;}
.cd2 .exc-variant{border:1px solid var(--cream-200);border-radius:12px;padding:12px 14px;margin-bottom:8px;}
.cd2 .exc-variant:last-child{margin-bottom:0;}
.cd2 .exc-variant.inc{border-color:#CDE7BC;background:#F3F9EE;}
.cd2 .exc-variant-h{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;
  font-weight:600;color:var(--deep-700);}
.cd2 .exc-tag{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;flex-shrink:0;}
.cd2 .exc-tag.inc{background:#E4F2D9;color:#3E6E27;}
.cd2 .exc-tag.paid{background:var(--cream-200);color:var(--deep-500);}
.cd2 .exc-variant p{font-size:13px;line-height:1.55;color:var(--deep-500);margin:6px 0 0;}
.cd2 details.exc-acc{cursor:pointer;}
.cd2 details.exc-acc>summary{list-style:none;cursor:pointer;}
.cd2 details.exc-acc>summary::-webkit-details-marker{display:none;}
.cd2 details.exc-acc>summary .chev{transition:transform .25s;color:var(--deep-300);}
.cd2 details.exc-acc[open]>summary .chev{transform:rotate(180deg);}
.cd2 details.exc-acc>summary{transition:color .15s;}
.cd2 details.exc-acc:hover>summary{color:var(--terra-500);}
.cd2 .daygal{display:flex;gap:8px;overflow-x:auto;padding:2px;margin-top:12px;scrollbar-width:thin;}
.cd2 .daygal button{flex:0 0 auto;width:104px;height:74px;border-radius:10px;overflow:hidden;border:0;
  padding:0;cursor:pointer;background:var(--cream-200);position:relative;}
.cd2 .daygal img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;}
.cd2 .daygal .more{position:absolute;inset:0;background:rgba(9,46,56,.55);color:#fff;display:grid;
  place-items:center;font-size:14px;font-weight:600;}

/* === ABOUT / SHIP === */
.cd2 .ab-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:768px){.cd2 .ab-grid{grid-template-columns:1fr 1fr;}}
.cd2 .inc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:14px;color:var(--deep-700);}
.cd2 .inc-list li{display:flex;gap:10px;align-items:flex-start;line-height:1.5;}
.cd2 .inc-mark{flex-shrink:0;width:20px;height:20px;border-radius:999px;display:grid;place-items:center;
  font-size:12px;font-weight:700;margin-top:1px;}
.cd2 .inc-mark.in{background:#E4F2D9;color:#3E6E27;}
.cd2 .inc-mark.out{background:var(--cream-200);color:var(--deep-400);}
.cd2 .cd2-prose{font-size:14px;line-height:1.65;color:var(--deep-700);}
.cd2 .cd2-prose :where(ul,ol){padding-left:20px;margin:8px 0;}
.cd2 .cd2-prose li{margin:4px 0;}
.cd2 .cd2-prose img{display:none;}
.cd2 .cd2-prose a,.cd2 .cd2-a{color:var(--deep-500);text-decoration:underline;text-underline-offset:3px;font-weight:600;transition:color .18s;}
.cd2 .cd2-prose a:hover,.cd2 .cd2-a:hover{color:var(--terra-500);}
.cd2 .ship-sec{margin-top:18px;padding-top:16px;border-top:1px dashed var(--cream-300);}
.cd2 .ship-sec.first{margin-top:0;padding-top:0;border-top:0;}
.cd2 .visa-note{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:12px 16px;border-radius:12px;background:var(--cream-100);border:1px solid var(--cream-300);font-size:13px;line-height:1.5;color:var(--deep-500);}
.cd2 .visa-note svg{flex-shrink:0;margin-top:1px;color:var(--deep-300);}
.cd2 .sea-wrap{display:flex;flex-direction:column;gap:22px;}
.cd2 .sea-pax{background:var(--cream-100);border:1px solid var(--cream-300);border-radius:16px;padding:18px 20px;}
.cd2 .sea-pax-row{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;}
.cd2 .sea-stepper{display:inline-flex;align-items:center;gap:10px;margin-top:6px;}
.cd2 .sea-stepper button{width:30px;height:30px;border-radius:9px;border:1px solid var(--deep-200);background:#fff;color:var(--deep-600);font-size:16px;cursor:pointer;}
.cd2 .sea-stepper select{height:32px;border:1px solid var(--deep-200);border-radius:9px;padding:0 8px;background:#fff;color:var(--deep-700);}
.cd2 .sea-stepper span{min-width:18px;text-align:center;font-weight:600;color:var(--deep-700);}
.cd2 .sea-cur{display:inline-flex;gap:4px;margin-top:14px;background:#fff;border:1px solid var(--cream-300);border-radius:999px;padding:3px;}
.cd2 .sea-cur button{padding:6px 14px;border:0;background:none;border-radius:999px;font-size:12px;font-weight:600;color:var(--deep-400);cursor:pointer;}
.cd2 .sea-cur button.on{background:var(--deep-600);color:#fff;}
.cd2 .sea-steps{display:flex;gap:22px;flex-wrap:wrap;border-bottom:1px solid var(--cream-300);padding-bottom:12px;}
.cd2 .sea-step{font-size:13px;color:var(--deep-300);display:inline-flex;align-items:center;gap:7px;}
.cd2 .sea-step b{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--cream-200);color:var(--deep-400);font-size:12px;}
.cd2 .sea-step.on{color:var(--deep-700);font-weight:600;}
.cd2 .sea-step.on b{background:var(--terra-400);color:#fff;}
.cd2 .sea-note{background:var(--cream-100);border:1px solid var(--cream-300);border-radius:12px;padding:12px 16px;font-size:13px;line-height:1.5;color:var(--deep-500);}
.cd2 .sea-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
.cd2 .sea-tile{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid var(--cream-300);background:#fff;cursor:pointer;text-align:left;}
.cd2 .sea-tile span{font-size:13px;color:var(--deep-500);}
.cd2 .sea-tile b{font-size:15px;color:var(--deep-700);}
.cd2 .sea-tile.on{background:var(--deep-600);border-color:var(--deep-600);}
.cd2 .sea-tile.on span,.cd2 .sea-tile.on b{color:#fff;}
.cd2 .sea-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.cd2 .sea-card{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.cd2 .sea-card img{width:100%;height:170px;-o-object-fit:cover;object-fit:cover;}
.cd2 .sea-card-b{padding:18px;display:flex;flex-direction:column;}
.cd2 .sea-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--deep-300);margin-bottom:10px;}
.cd2 .sea-price{display:flex;align-items:baseline;gap:6px;margin:8px 0 12px;}
.cd2 .sea-price b{font-size:20px;color:var(--deep-700);font-family:var(--font-display),'Playfair Display',serif;}
.cd2 .sea-price span{font-size:12px;color:var(--deep-300);}
.cd2 .sea-sum{display:flex;flex-wrap:wrap;gap:8px 26px;background:var(--cream-100);border:1px solid var(--cream-300);border-radius:12px;padding:12px 18px;font-size:13px;color:var(--deep-400);}
.cd2 .sea-sum b{color:var(--deep-700);}
.cd2 .sea-tariff{cursor:pointer;}
.cd2 .sea-tariff.on{border-color:var(--terra-400);box-shadow:0 0 0 1px var(--terra-400) inset;}
.cd2 .sea-tariff-h{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--deep-700);margin-bottom:8px;}
.cd2 .sea-actions{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.cd2 .sea-cab-list{display:flex;flex-wrap:wrap;gap:8px;}
.cd2 .sea-cab{padding:7px 14px;border-radius:999px;background:#E4F2D9;color:#3E6E27;font-weight:600;font-size:13px;}
.cd2 .sea-fine{font-size:12px;color:var(--deep-300);line-height:1.5;margin:0;}
.cd-bm-ctx{white-space:pre-wrap;font:inherit;font-size:13px;line-height:1.55;color:var(--deep-600,#33474d);background:var(--cream-100,#f6efe0);border:1px solid var(--cream-300,#e7decf);border-radius:12px;padding:12px 14px;margin:0 0 14px;}
.cd2 .ship-sec-h{font-family:var(--font-display),'Playfair Display',serif;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--terra-500);margin:0 0 8px;}
.cd2 .svc-chip{
  display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;
  background:var(--cream-100);color:var(--deep-600);font-size:14px;border:1px solid var(--cream-200);
}
.cd2 .ship-album{position:relative;background:var(--deep-600);}
.cd2 .ship-body{padding:32px;display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:1024px){.cd2 .ship-body{grid-template-columns:5fr 7fr;}}
.cd2 .step-num{
  width:32px;height:32px;border-radius:999px;background:var(--terra-400);color:#fff;display:grid;
  place-items:center;font-family:var(--font-display),'Playfair Display',serif;font-weight:700;
  font-size:16px;font-style:italic;flex-shrink:0;
}
/* === BOARDING PASS (компактный, ~30% меньше) === */
.cd2 .cdpass{display:block;position:relative;width:100%;max-width:none;margin:0;filter:drop-shadow(0 16px 28px rgba(15,76,92,.16));}
.cd2 .bp-card{background:var(--cream-50);border-radius:16px;overflow:hidden;border:2px dashed var(--cream-300);}
.cd2 .bp-top{background:var(--deep-500);color:var(--cream-50);padding:14px 18px 18px;position:relative;}
.cd2 .bp-perf{height:11px;background-color:var(--deep-500);
  background-image:radial-gradient(circle,var(--cream-50) 3px,transparent 3.5px);
  background-size:11px 11px;background-position:5px center;background-repeat:repeat-x;}
.cd2 .bp-perf.cream{background-color:var(--cream-50);}
.cd2 .bp-mid{padding:14px 18px;display:flex;flex-direction:column;gap:11px;}
.cd2 .bp-mono{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--deep-300);margin-bottom:3px;}
.cd2 .bp-big{font-family:var(--font-display),'Playfair Display',serif;font-size:17px;line-height:1;color:var(--deep-700);}
.cd2 .bp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.cd2 .bp-bot{padding:12px 18px 18px;background:rgba(246,239,224,.6);}
.cd2 .bp-price{font-family:var(--font-display),'Playfair Display',serif;font-size:28px;line-height:1;
  color:var(--deep-700);font-style:italic;}
.cd2 .bp-old{font-size:12px;color:var(--deep-300);text-decoration:line-through;}
.cd2 .bp-disc{display:inline-flex;align-items:center;padding:2px 7px;background:var(--terra-400);color:#fff;
  border-radius:999px;font-size:10px;font-weight:700;}
.cd2 .bp-tape{position:absolute;top:-9px;left:18px;width:60px;height:20px;background:rgba(235,179,154,.7);
  transform:rotate(-4deg);box-shadow:0 3px 6px -3px rgba(0,0,0,.15);
  border-left:1px dashed rgba(224,120,86,.5);border-right:1px dashed rgba(224,120,86,.5);}
.cd2 .cdpass .cta-pill{padding:11px 18px!important;font-size:14px!important;}
/* полноширинные секции под гридом + CTA-блок (эффект fixed-фон) */
.cd2 .cd2-fullsec{margin-top:72px;}
.cd2 .cd2-cta{margin-top:48px;border-radius:22px;overflow:hidden;}
.cd2 .cd2-cta-tel{color:#fff;font-family:var(--font-display),'Playfair Display',serif;
  font-size:20px;font-style:italic;text-decoration:none;
  border-bottom:1px dashed rgba(255,255,255,.5);padding-bottom:2px;}
.cd2 .cd2-cta-tel:hover{border-bottom-style:solid;}
.cd2 .help-banner{background:var(--deep-500);color:var(--cream-50);border-radius:22px;padding:28px 32px;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:space-between;}
.cd2 .help-banner .cd2-disp{color:var(--cream-50);}

/* stamps anchored to soft-cards (do not push text) */
.cd2 .soft-card{overflow:visible;}
.cd2 .soft-card>.stamp-circle{position:absolute;top:-26px;right:-10px;z-index:3;}
.cd2 .soft-card>.stamp{position:absolute;top:-14px;right:-6px;z-index:3;}
@media(max-width:680px){
  .cd2 .soft-card>.stamp-circle{width:70px;height:70px;font-size:13px;top:-18px;right:6px;}
  .cd2 .soft-card>.stamp{font-size:12px;right:6px;}
  .cd2-main-wrap{padding:36px 18px 72px;}
  .cd2 .hero-inner{padding:32px 18px 0;}
  .cd2 .pc-body{padding:20px;}
  .cd2 .bp-top,.cd2 .bp-mid,.cd2 .bp-bot{padding-left:18px;padding-right:18px;}
}

/* === BOOKING (cd2) === */
.cd2 .bk-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.cd2 .bk-steps li{display:flex;gap:14px;font-size:15px;color:var(--deep-700);line-height:1.5;}
.cd2 .bk-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:wrap;margin-bottom:20px;}
.cd2 .bk-free{font-size:14px;color:var(--deep-500);}
.cd2 .bk-free strong{color:var(--terra-500);font-size:16px;}
.cd2 .bk-toggle{display:inline-flex;padding:4px;background:var(--cream-100);
  border:1px solid var(--cream-200);border-radius:999px;}
.cd2 .bk-toggle button{border:0;background:none;cursor:pointer;padding:8px 18px;
  border-radius:999px;font-size:14px;font-weight:500;color:var(--deep-500);}
.cd2 .bk-toggle button.on{background:var(--deep-500);color:var(--cream-50);}
.cd2 .bk-toggle button:disabled{opacity:.45;cursor:not-allowed;}
.cd2 .bk-cats{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:720px){.cd2 .bk-cats{grid-template-columns:1fr 1fr;}}
.cd2 .bk-cat{display:flex;flex-direction:column;background:#fff;border:1px solid var(--cream-200);
  border-radius:18px;overflow:hidden;}
.cd2 .bk-cat-img{height:170px;background:var(--cream-200);background-size:cover;
  background-position:center;position:relative;display:grid;place-items:center;}
.cd2 .bk-cat-img.noimg{height:130px;
  background:linear-gradient(135deg,var(--deep-400),var(--deep-600));}
.cd2 .bk-cat-img-ph{display:flex;flex-direction:column;align-items:center;gap:8px;
  font-family:var(--font-script),'Caveat',cursive;font-size:21px;color:rgba(251,247,239,.92);
  text-align:center;padding:0 16px;}
.cd2 .bk-cat-img.noimg svg{color:var(--terra-300);}
.cd2 .bk-cat-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.cd2 .bk-cat-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.cd2 .bk-cat-name{font-size:21px;color:var(--deep-700);margin:0;}
.cd2 .bk-cat-cap{font-size:12px;color:var(--deep-300);white-space:nowrap;}
.cd2 .bk-cat-desc{font-size:13px;line-height:1.55;color:var(--deep-500);
  max-height:64px;overflow:hidden;position:relative;transition:max-height .25s;}
.cd2 .bk-cat-desc.open{max-height:1400px;}
.cd2 .bk-cat-desc:not(.open)::after{content:"";position:absolute;left:0;right:0;bottom:0;
  height:28px;background:linear-gradient(transparent,#fff);}
.cd2 .bk-cat-more{align-self:flex-start;border:0;background:none;cursor:pointer;
  color:var(--terra-500);font-size:13px;font-weight:600;padding:0;}
.cd2 .bk-cat-foot{margin-top:auto;display:flex;align-items:flex-end;
  justify-content:space-between;gap:12px;padding-top:8px;}
.cd2 .bk-cat-old{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--deep-300);}
.cd2 .bk-cat-disc{background:var(--terra-400);color:#fff;border-radius:999px;
  padding:1px 7px;font-size:11px;font-weight:700;}
.cd2 .bk-cat-cur{display:flex;align-items:baseline;gap:5px;font-size:13px;color:var(--deep-300);}
.cd2 .bk-cat-cur b{font-family:var(--font-display),'Playfair Display',serif;
  font-size:22px;color:var(--deep-700);font-style:italic;}
.cd2 .bk-cat .cta-pill{padding:10px 18px!important;font-size:14px!important;white-space:nowrap;}
/* === SCHEME === */
.cd2 .scheme{position:relative;}
.cd2 .scheme-legend{display:flex;align-items:center;gap:18px;font-size:13px;
  color:var(--deep-500);margin-bottom:18px;flex-wrap:wrap;}
.cd2 .scheme-legend .sw{display:inline-block;width:14px;height:14px;border-radius:4px;
  margin-right:6px;vertical-align:-2px;}
.cd2 .sw.free{background:#BFE3A8;}.cd2 .sw.sold{background:#E8A89B;}
.cd2 .scheme-deck{margin-bottom:18px;}
.cd2 .scheme-deck-name{font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--deep-300);font-weight:600;margin-bottom:10px;}
.cd2 .scheme-row{display:flex;flex-wrap:wrap;gap:6px;}
.cd2 .cab{width:38px;height:30px;border-radius:6px;border:0;cursor:pointer;
  font-size:11px;font-weight:600;color:var(--brand-deep-600);transition:transform .12s;font-variant-numeric:tabular-nums;}
.cd2 .cab.free{background:#BFE3A8;}.cd2 .cab.sold{background:#E8A89B;color:#7d3b30;}
.cd2 .cab:hover{transform:scale(1.12);outline:2px solid var(--deep-500);z-index:2;}
.cd2 .scheme-tip{position:fixed;z-index:60;width:260px;background:#fff;
  border:1px solid var(--cream-200);border-radius:14px;overflow:hidden;
  box-shadow:0 20px 40px -16px rgba(15,76,92,.35);pointer-events:none;}
.cd2 .scheme-tip-img{height:120px;background-size:cover;background-position:center;background-color:var(--cream-200);}
.cd2 .scheme-tip-body{padding:12px 14px;}
.cd2 .scheme-tip-h{font-family:var(--font-display),'Playfair Display',serif;
  font-size:18px;color:var(--deep-700);}
.cd2 .scheme-tip-cat{font-size:13px;color:var(--terra-500);font-weight:600;margin-top:2px;}
.cd2 .scheme-tip-meta{font-size:12px;color:var(--deep-300);margin-top:4px;}
.cd2 .scheme-tip-foot{display:flex;align-items:center;justify-content:space-between;
  gap:10px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--cream-200);font-size:13px;}
.cd2 .scheme-tip-foot .ok{color:#3E6E27;font-weight:600;}
.cd2 .scheme-tip-foot .no{color:var(--terra-600);font-weight:600;}
.cd2 .scheme-tip-price{font-family:var(--font-display),'Playfair Display',serif;
  font-size:16px;color:var(--deep-700);font-style:italic;}
@media(max-width:680px){
}
/* CD2-END */

/* sea booking — step-0 locked preview (Screenshot_29): цены API тянет под состав */
.cd2 .sea-locked-h{font-family:var(--font-display),'Playfair Display',serif;font-size:20px;color:var(--deep-700);margin:2px 0 14px;}
.cd2 .sea-locked-stage{position:relative;}
.cd2 .sea-locked-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;filter:blur(5px) saturate(.65);opacity:.55;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;}
.cd2 .sea-locked-card{height:228px;border-radius:16px;border:1px solid var(--cream-300);background:linear-gradient(180deg,var(--cream-200),#fff 60%);}
.cd2 .sea-locked-msg{position:absolute;inset:0;margin:auto;width:-moz-max-content;width:max-content;max-width:min(440px,90%);height:-moz-max-content;height:max-content;display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid var(--cream-300);box-shadow:0 20px 54px -20px rgba(20,40,60,.30);border-radius:16px;padding:18px 22px;font-size:14px;line-height:1.55;color:var(--deep-600);text-align:left;}
.cd2 .sea-locked-msg svg{flex:none;color:var(--terra-500);margin-top:1px;}
.cd2 .sea-locked-msg b{color:var(--deep-700);white-space:nowrap;}

/* cruise request form — круизы без доступности у Инфофлота (Screenshot_30, без блока оплаты) */
.cd2 .crf{display:flex;flex-direction:column;gap:18px;}
.cd2 .crf-head h3{font-family:var(--font-display),'Playfair Display',serif;}
.cd2 .crf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.cd2 .crf-f{display:flex;flex-direction:column;gap:6px;}
.cd2 .crf-f>span{font-size:12px;color:var(--deep-400);font-weight:600;}
.cd2 .crf-f input,.cd2 .crf textarea{border:1px solid var(--cream-300);border-radius:12px;padding:11px 14px;font:inherit;font-size:14px;color:var(--deep-700);background:#fff;width:100%;box-sizing:border-box;}
.cd2 .crf-f input:focus,.cd2 .crf textarea:focus{outline:none;border-color:var(--terra-400);box-shadow:0 0 0 3px var(--terra-50);}
.cd2 .crf textarea{resize:vertical;min-height:80px;}
.cd2 .crf-pax{display:flex;gap:30px;flex-wrap:wrap;}
.cd2 .crf-ck{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--deep-500);line-height:1.5;cursor:pointer;}
.cd2 .crf-ck input{margin-top:2px;flex:none;accent-color:var(--terra-500);}
.cd2 .crf-err{color:#b3402f;font-size:13px;margin:0;}
.cd2 .crf-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;}
.cd2 .crf-ok{text-align:center;padding:34px 18px;}
.cd2 .crf-ok-ic{width:54px;height:54px;border-radius:999px;background:#E4F2D9;color:#3E6E27;display:grid;place-items:center;font-size:26px;margin:0 auto 14px;}

/* cta-pill в неактивном состоянии (формы/загрузка) */
.cta-pill:disabled{opacity:.5;pointer-events:none;}

/* «Изменить состав» — белый вариант фирменной пилюли (как «Подобрать круиз» в .fl-cta) */
.cd2 .cta-pill.cta-light{display:inline-block;gap:0;padding:0;border-radius:9999px;background:var(--brand-cream-200);color:var(--brand-deep-600);border:1px solid rgba(15,76,92,.18);box-shadow:none;transition:background 320ms ease,border-color 320ms ease,box-shadow 320ms ease,transform 220ms ease;}
@media (hover:hover){.cd2 .cta-pill.cta-light:hover{background:var(--brand-terra-400);border-color:var(--brand-terra-400);box-shadow:0 18px 30px -16px rgba(224,120,86,.55);transform:translateY(-2px);}}
/* «Посмотреть тарифы» — стильная лёгкая кнопка (не большая пилюля) */
.cd2 .sea-cta{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:999px;border:1.5px solid var(--terra-400);color:var(--terra-600);background:transparent;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .2s ease;}
.cd2 .sea-cta svg{transition:transform .25s ease;}
@media (hover:hover){.cd2 .sea-cta:hover{background:var(--terra-400);color:#fff;box-shadow:0 14px 26px -14px rgba(224,120,86,.55);transform:translateY(-1px);}.cd2 .sea-cta:hover svg{transform:translate(3px,-3px);}}

/* Заявка на бронирование круиза (Screenshot_32..34) — наш стиль */
.cd2 .cbf-wrap{max-width:1180px;margin:0 auto;padding:32px 20px 60px;}
.cd2 .cbf-back{background:none;border:0;color:var(--deep-500);font-size:14px;cursor:pointer;padding:6px 0;margin-bottom:6px;}
.cd2 .cbf-back:hover{color:var(--terra-500);}
.cd2 .cbf-title{font-family:var(--font-display),'Playfair Display',serif;font-size:34px;color:var(--deep-700);margin:0 0 18px;}
.cd2 .cbf-steps{display:flex;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--cream-300);padding-bottom:14px;margin-bottom:24px;}
.cd2 .cbf-step{font-size:13px;color:var(--deep-300);display:inline-flex;align-items:center;gap:8px;}
.cd2 .cbf-step b{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--cream-200);color:var(--deep-400);font-size:12px;}
.cd2 .cbf-step.on{color:var(--deep-700);font-weight:600;}
.cd2 .cbf-step.on b{background:var(--terra-400);color:#fff;}
.cd2 .cbf-grid{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start;}
.cd2 .cbf-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:20px;}
.cd2 .cbf-card{background:#fff;border:1px solid var(--cream-300);border-radius:16px;padding:18px 20px;}
.cd2 .cbf-card-h{font-family:var(--font-display),'Playfair Display',serif;font-size:18px;color:var(--deep-700);margin-bottom:12px;}
.cd2 .cbf-card-sub{font-size:12px;color:var(--deep-400);font-weight:600;margin:12px 0 4px;}
.cd2 .cbf-cruise-dates{font-size:13px;color:var(--deep-600);background:var(--cream-100);border-radius:10px;padding:8px 12px;}
.cd2 .cbf-route{font-size:13px;color:var(--deep-600);line-height:1.5;}
.cd2 .cbf-ship{font-size:15px;color:var(--deep-700);font-weight:600;}
.cd2 .cbf-chips{display:flex;gap:8px;margin-bottom:6px;}
.cd2 .cbf-chips span{font-size:12px;background:var(--cream-200);color:var(--deep-600);border-radius:999px;padding:4px 12px;}
.cd2 .cbf-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:14px;border-top:1px solid var(--cream-300);}
.cd2 .cbf-total b{font-family:var(--font-display),'Playfair Display',serif;font-size:22px;color:var(--deep-700);}
.cd2 .cbf-note-warn{font-size:12px;color:var(--deep-400);line-height:1.5;margin:12px 0 0;border-left:3px solid var(--terra-400);padding-left:10px;}
.cd2 .cbf-banner{background:var(--terra-50);border:1px solid var(--terra-200);border-radius:14px;padding:14px 18px;color:var(--deep-700);font-weight:600;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:20px;}
.cd2 .cbf-banner-chips{display:flex;gap:8px;}
.cd2 .cbf-banner-chips i{font-style:normal;font-size:12px;font-weight:500;background:#fff;color:var(--deep-500);border-radius:999px;padding:4px 12px;}
.cd2 .cbf-pane{display:flex;flex-direction:column;gap:18px;}
.cd2 .cbf-person{border:1px solid var(--cream-300);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px;}
.cd2 .cbf-person-h{font-family:var(--font-display),'Playfair Display',serif;font-size:18px;color:var(--deep-700);}
.cd2 .cbf-hint{font-size:13px;color:var(--deep-500);background:var(--cream-100);border-left:3px solid var(--terra-400);border-radius:8px;padding:10px 14px;margin:0;line-height:1.5;}
.cd2 .cbf-gender{display:flex;gap:22px;font-size:14px;color:var(--deep-600);}
.cd2 .cbf-gender label,.cd2 .cbf-radios label{display:inline-flex;align-items:center;gap:7px;cursor:pointer;}
.cd2 .cbf-gender input,.cd2 .cbf-radios input{accent-color:var(--terra-500);}
.cd2 .cbf-paygrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;align-items:start;}
.cd2 .cbf-radios{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--deep-600);margin-top:4px;}
.cd2 .cbf-ready{background:#EAF6E4;border:1px solid #BFE0AE;color:#2F6B2A;border-radius:12px;padding:14px 18px;font-size:14px;line-height:1.5;}
.cd2 .cbf-sum{border:1px solid var(--cream-300);border-radius:12px;padding:14px 18px;font-size:13px;color:var(--deep-600);line-height:1.6;}
.cd2 .cbf-sum-h{font-weight:700;color:var(--deep-700);margin-bottom:4px;}
.cd2 .cbf-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px;}
.cd2 .cbf-ok{align-items:center;text-align:center;padding:50px 20px;}
.cd2 .cbf-ok-ic{width:60px;height:60px;border-radius:999px;background:#EAF6E4;color:#2F6B2A;display:grid;place-items:center;font-size:30px;margin:0 auto;}
@media (max-width:900px){.cd2 .cbf-grid{grid-template-columns:1fr;}.cd2 .cbf-side{position:static;}}

/* Красивые селекты в формах круизов + триггер нашего DateField */
.cd2 .crf-f select{border:1px solid var(--cream-300);border-radius:12px;padding:11px 38px 11px 14px;font:inherit;font-size:14px;color:var(--deep-700);background-color:#fff;width:100%;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23C8623F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.cd2 .crf-f select:focus{outline:none;border-color:var(--terra-400);box-shadow:0 0 0 3px var(--terra-50);}
.cd2 .crf-f .crf-date{border:1px solid var(--cream-300);border-radius:12px;padding:11px 14px;font:inherit;font-size:14px;color:var(--deep-700);background:#fff;width:100%;box-sizing:border-box;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.cd2 .crf-f .crf-date:hover{border-color:var(--terra-400);}
.cd2 .cbf-paystatic{font-size:14px;color:var(--deep-600);background:var(--cream-100);border:1px solid var(--cream-300);border-radius:10px;padding:11px 14px;}

/* FancySelect — красивый кастомный дропдаун (Тип документа, офис, источник) */
.cd2 .fsel{position:relative;}
.cd2 .fsel-trig{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;border:1px solid var(--cream-300);border-radius:12px;padding:11px 14px;font:inherit;font-size:14px;color:var(--deep-700);background:#fff;cursor:pointer;text-align:left;}
.cd2 .fsel-trig:hover{border-color:var(--terra-400);}
.cd2 .fsel-trig.ph{color:var(--deep-300);}
.cd2 .fsel-trig:focus-visible{outline:none;border-color:var(--terra-400);box-shadow:0 0 0 3px var(--terra-50);}
.cd2 .fsel-chev{flex:none;color:var(--terra-500);transition:transform .2s ease;}
.cd2 .fsel-chev.up{transform:rotate(180deg);}
.cd2 .fsel-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;background:#fff;border:1px solid var(--cream-300);border-radius:14px;box-shadow:0 22px 50px -18px rgba(20,40,60,.28);padding:6px;max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:2px;}
.cd2 .fsel-opt{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:9px;font:inherit;font-size:14px;color:var(--deep-700);background:none;cursor:pointer;}
.cd2 .fsel-opt:hover{background:var(--cream-100);}
.cd2 .fsel-opt.on{background:var(--terra-50);color:var(--terra-600);font-weight:600;}

/* Корзина круиза — desktop плавающая карточка, mobile сверху */
.cd2 .ccart{position:fixed;right:24px;bottom:24px;width:360px;max-width:calc(100vw - 32px);z-index:1000;background:#fff;border:1px solid var(--cream-300);border-radius:16px;box-shadow:0 24px 60px -20px rgba(20,40,60,.35);overflow:hidden;}
.cd2 .ccart-head{display:flex;align-items:center;gap:10px;width:100%;border:0;background:var(--deep-700);color:#fff;padding:14px 18px;cursor:pointer;font:inherit;text-align:left;}
.cd2 .ccart-title{font-size:14px;}
.cd2 .ccart-sum{margin-left:auto;font-weight:700;font-size:15px;}
.cd2 .ccart-chev{flex:none;transition:transform .2s;}
.cd2 .ccart-chev.up{transform:rotate(180deg);}
.cd2 .ccart-body{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.cd2 .ccart.open .ccart-body{max-height:60vh;overflow:auto;}
.cd2 .ccart-list{padding:8px;display:flex;flex-direction:column;gap:6px;}
.cd2 .ccart-it{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--cream-300);border-radius:10px;}
.cd2 .ccart-it-l{display:flex;flex-direction:column;}
.cd2 .ccart-it-l b{font-size:14px;color:var(--deep-700);}
.cd2 .ccart-it-l span{font-size:12px;color:var(--deep-400);}
.cd2 .ccart-it-r{display:flex;align-items:center;gap:10px;}
.cd2 .ccart-it-r>span{font-size:14px;font-weight:600;color:var(--deep-700);white-space:nowrap;}
.cd2 .ccart-x{border:0;background:none;color:var(--deep-300);cursor:pointer;font-size:14px;}
.cd2 .ccart-x:hover{color:#b3402f;}
.cd2 .ccart-foot{padding:14px 16px;border-top:1px solid var(--cream-300);}
.cd2 .ccart-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;}
.cd2 .ccart-total b{font-family:var(--font-display),'Playfair Display',serif;font-size:20px;color:var(--deep-700);}
.cd2 .ccart-go{width:100%;border:0;border-radius:999px;background:var(--terra-400);color:#fff;font-weight:600;font-size:14px;padding:12px;cursor:pointer;transition:background .2s;}
.cd2 .ccart-go:hover{background:var(--terra-500);}
@media (max-width:900px){.cd2 .ccart{right:0;left:0;bottom:auto;top:0;width:100%;max-width:none;border-radius:0 0 16px 16px;}.cd2 .ccart.open .ccart-body{max-height:50vh;}}

/* Схема палуб — 3 цвета статуса + клик-поповер каюты (Screenshot_36) */
.cd2 .scheme{display:flex;flex-direction:column;gap:14px;}
.cd2 .scheme-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--deep-600);}
.cd2 .scheme-legend span{display:inline-flex;align-items:center;gap:7px;}
.cd2 .scheme-legend .sw{width:14px;height:14px;border-radius:4px;display:inline-block;}
.cd2 .sw.free{background:#CDE8BC;}
.cd2 .sw.booked{background:#F6E2B0;}
.cd2 .sw.sold{background:#F0C2BA;}
.cd2 .scheme-hint{font-size:12.5px;color:var(--deep-400);line-height:1.5;margin:0;}
.cd2 .scheme-deck{display:flex;flex-direction:column;gap:8px;}
.cd2 .scheme-deck-name{font-size:13px;font-weight:600;color:var(--deep-500);text-transform:uppercase;letter-spacing:.04em;}
.cd2 .scheme-row{display:flex;flex-wrap:wrap;gap:6px;}
.cd2 .scheme .cab{min-width:42px;height:38px;padding:0 8px;border-radius:8px;border:1px solid transparent;font-size:13px;font-weight:600;cursor:pointer;transition:transform .12s,box-shadow .12s;}
.cd2 .scheme .cab.free{background:#CDE8BC;color:#356B22;}
.cd2 .scheme .cab.booked{background:#F6E2B0;color:#8A5E10;}
.cd2 .scheme .cab.sold{background:#F0C2BA;color:#A23B2B;cursor:pointer;}
.cd2 .scheme .cab:hover{transform:translateY(-1px);box-shadow:0 6px 14px -6px rgba(20,40,60,.4);}
.cd2 .scheme .cab.incart{outline:2px solid var(--terra-500);outline-offset:1px;}
.cd2 .scheme-pop-ov{position:fixed;inset:0;z-index:1100;background:rgba(20,30,40,.45);display:flex;align-items:center;justify-content:center;padding:18px;}
.cd2 .scheme-pop{position:relative;width:min(440px,94vw);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 70px -22px rgba(20,40,60,.5);}
.cd2 .scheme-pop-x{position:absolute;top:10px;right:10px;z-index:2;width:30px;height:30px;border-radius:999px;border:0;background:rgba(255,255,255,.9);color:var(--deep-600);cursor:pointer;font-size:14px;}
.cd2 .scheme-pop-img{height:180px;background-size:cover;background-position:center;}
.cd2 .scheme-pop-b{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;}
.cd2 .scheme-pop-h{font-family:var(--font-display),'Playfair Display',serif;font-size:22px;color:var(--deep-700);}
.cd2 .scheme-pop-st{align-self:flex-start;font-size:12px;font-weight:600;border-radius:999px;padding:3px 12px;}
.cd2 .scheme-pop-st.free{background:#CDE8BC;color:#356B22;}
.cd2 .scheme-pop-st.booked{background:#F6E2B0;color:#8A5E10;}
.cd2 .scheme-pop-st.sold{background:#F0C2BA;color:#A23B2B;}
.cd2 .scheme-pop-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--deep-500);}
.cd2 .scheme-pop-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px;}
.cd2 .scheme-pop-price{display:flex;flex-direction:column;line-height:1.15;}
.cd2 .scheme-pop-price s{font-size:12px;color:var(--deep-300);}
.cd2 .scheme-pop-price b{font-family:var(--font-display),'Playfair Display',serif;font-size:20px;color:var(--deep-700);}
.cd2 .scheme-pop-acts{display:flex;align-items:center;gap:10px;}
.cd2 .scheme-pop-more{border:0;background:none;color:var(--terra-600);font-weight:600;font-size:13px;cursor:pointer;text-decoration:underline;}
.cd2 .scheme-pop-add{border:0;border-radius:999px;background:var(--terra-400);color:#fff;font-weight:600;font-size:13px;padding:10px 18px;cursor:pointer;}
.cd2 .scheme-pop-add:hover{background:var(--terra-500);}
.cd2 .scheme-pop-incart{font-size:13px;font-weight:600;color:#356B22;}

/* Модалка каюты «Подробнее» (Screenshot_37/38) */
.cd2 .cmod-ov{position:fixed;inset:0;z-index:1200;background:rgba(20,30,40,.5);display:flex;align-items:center;justify-content:center;padding:20px;}
.cd2 .cmod{position:relative;width:min(880px,96vw);max-height:92vh;overflow:hidden;display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 34px 80px -24px rgba(20,40,60,.55);}
.cd2 .cmod-x{position:absolute;top:14px;right:14px;z-index:3;width:34px;height:34px;border-radius:999px;border:0;background:rgba(255,255,255,.92);color:var(--deep-600);cursor:pointer;font-size:15px;}
.cd2 .cmod-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1;min-height:0;overflow:hidden;}
.cd2 .cmod-l{padding:26px;border-right:1px solid var(--cream-200);overflow-y:auto;}
.cd2 .cmod-ph{height:170px;border-radius:14px;background:var(--cream-100);border:1px dashed var(--cream-300);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--deep-300);font-size:13px;margin-bottom:16px;}
.cd2 .cmod-desc{font-size:13.5px;line-height:1.6;color:var(--deep-600);}
.cd2 .cmod-desc strong{color:var(--deep-700);}
.cd2 .cmod-r{padding:26px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;}
.cd2 .cmod-h{font-family:var(--font-display),'Playfair Display',serif;font-size:24px;color:var(--deep-700);}
.cd2 .cmod-cat{font-size:14px;color:var(--deep-500);margin-top:-6px;}
.cd2 .cmod-srv-h{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--deep-400);margin-bottom:8px;}
.cd2 .cmod-srv ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;}
.cd2 .cmod-srv li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--deep-600);}
.cd2 .cmod-srv li img{width:18px;height:18px;-o-object-fit:contain;object-fit:contain;flex:none;}
.cd2 .cmod-srv li i{width:6px;height:6px;border-radius:999px;background:var(--terra-400);flex:none;}
.cd2 .cmod-tar{display:flex;flex-direction:column;gap:8px;}
.cd2 .cmod-tar-i{display:flex;align-items:center;gap:10px;border:1px solid var(--cream-300);border-radius:12px;padding:11px 14px;cursor:pointer;font-size:14px;color:var(--deep-700);}
.cd2 .cmod-tar-i.on{border-color:var(--terra-400);box-shadow:0 0 0 1px var(--terra-400) inset;}
.cd2 .cmod-tar-i input{accent-color:var(--terra-500);}
.cd2 .cmod-tar-i b{margin-left:auto;}
.cd2 .cmod-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--cream-200);padding-top:14px;}
.cd2 .cmod-old{color:var(--deep-300);font-size:13px;}
.cd2 .cmod-price{font-family:var(--font-display),'Playfair Display',serif;font-size:22px;color:var(--deep-700);}
.cd2 .cmod-add{margin-left:auto;border:0;border-radius:999px;background:var(--terra-400);color:#fff;font-weight:600;font-size:14px;padding:12px 22px;cursor:pointer;}
.cd2 .cmod-add:hover{background:var(--terra-500);}
.cd2 .cmod-incart{margin-left:auto;font-weight:600;color:#356B22;font-size:14px;}
.cd2 .cmod-done{position:absolute;inset:0;background:rgba(255,255,255,.78);display:flex;align-items:center;justify-content:center;padding:20px;}
.cd2 .cmod-done-card{background:#fff;border:1px solid var(--cream-300);border-radius:18px;box-shadow:0 24px 60px -20px rgba(20,40,60,.4);padding:26px;text-align:center;max-width:420px;}
.cd2 .cmod-done-h{font-family:var(--font-display),'Playfair Display',serif;font-size:19px;color:var(--deep-700);margin-bottom:18px;}
.cd2 .cmod-done-acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
@media (max-width:760px){.cd2 .cmod-grid{grid-template-columns:1fr;}.cd2 .cmod-l{border-right:0;border-bottom:1px solid var(--cream-200);}}

/* Бронь списком + фильтры (Screenshot_41/42) */
.cd2 .clist{display:flex;flex-direction:column;gap:18px;}
.cd2 .clist-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 18px;}
.cd2 .clist-f{display:flex;flex-direction:column;gap:6px;min-width:180px;}
.cd2 .clist-f>span{font-size:12px;font-weight:600;color:var(--deep-400);}
.cd2 .clist-cats{position:relative;}
.cd2 .clist-cats>summary{list-style:none;cursor:pointer;border:1px solid var(--cream-300);border-radius:12px;padding:11px 14px;font-size:14px;color:var(--deep-700);background:#fff;}
.cd2 .clist-cats>summary::-webkit-details-marker{display:none;}
.cd2 .clist-cats[open]>summary{border-color:var(--terra-400);}
.cd2 .clist-cats-list{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:260px;max-height:280px;overflow:auto;background:#fff;border:1px solid var(--cream-300);border-radius:14px;box-shadow:0 22px 50px -18px rgba(20,40,60,.28);padding:8px;display:flex;flex-direction:column;gap:2px;}
.cd2 .clist-cats-list label{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--deep-700);cursor:pointer;}
.cd2 .clist-cats-list label:hover{background:var(--cream-100);}
.cd2 .clist-cats-list input{accent-color:var(--terra-500);}
.cd2 .clist-only{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--deep-600);cursor:pointer;}
.cd2 .clist-only input{accent-color:var(--terra-500);}
.cd2 .clist-cards{display:flex;flex-direction:column;gap:16px;}
.cd2 .clist-card{border:1px solid var(--cream-300);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px;}
.cd2 .clist-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;}
.cd2 .clist-card-name{font-family:var(--font-display),'Playfair Display',serif;font-size:19px;color:var(--deep-700);}
.cd2 .clist-card-sub{font-size:13px;color:var(--deep-400);margin-top:3px;}
.cd2 .clist-card-price{text-align:right;white-space:nowrap;}
.cd2 .clist-card-price span{font-size:12px;color:var(--deep-300);}
.cd2 .clist-card-price b{font-family:var(--font-display),'Playfair Display',serif;font-size:20px;color:var(--deep-700);margin-left:4px;}
.cd2 .clist-srv{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:7px 16px;}
.cd2 .clist-srv li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--deep-600);}
.cd2 .clist-srv li img{width:17px;height:17px;-o-object-fit:contain;object-fit:contain;flex:none;}
.cd2 .clist-srv li i{width:6px;height:6px;border-radius:999px;background:var(--terra-400);flex:none;}
.cd2 .clist-more{align-self:flex-start;border:0;background:none;color:var(--terra-600);font-weight:600;font-size:13px;cursor:pointer;text-decoration:underline;}
.cd2 .clist-desc{font-size:13px;line-height:1.6;color:var(--deep-600);}
.cd2 .clist-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--cream-200);padding-top:12px;}
.cd2 .clist-chips-h{font-size:13px;color:var(--deep-500);margin-right:4px;}
.cd2 .clist-chip{min-width:46px;height:36px;padding:0 10px;border-radius:8px;border:1px solid transparent;font-size:13px;font-weight:600;cursor:pointer;transition:transform .12s;}
.cd2 .clist-chip.free{background:#CDE8BC;color:#356B22;}
.cd2 .clist-chip.sold{background:#F0C2BA;color:#A23B2B;}
.cd2 .clist-chip:hover{transform:translateY(-1px);}

/* Интерактивный SVG-чертёж палуб (Screenshot_36) */
.cd2 .scheme-zoom{display:flex;gap:6px;align-self:flex-end;}
.cd2 .scheme-zoom button{width:34px;height:34px;border-radius:999px;border:1px solid var(--cream-300);background:#fff;color:var(--deep-600);font-size:16px;cursor:pointer;}
.cd2 .scheme-zoom button:hover{border-color:var(--terra-400);color:var(--terra-500);}
.cd2 .scheme-svg-wrap{overflow:auto;border:1px solid var(--cream-300);border-radius:14px;background:#EAF4FB;padding:12px;max-height:78vh;}
.cd2 .scheme-svg{transition:transform .15s ease;width:-moz-max-content;width:max-content;}
.cd2 .scheme-svg svg{display:block;max-width:none;}
.cd2 .scheme-svg g[data-cabin-id]:hover rect{stroke:var(--brand-deep-600) !important;stroke-width:1.4px !important;}

/* Стойкая покраска кают на SVG-чертеже (классы+!important, переживает зум/ре-рендер) */
.cd2 .scheme-svg g[data-cabin-id].cst-free rect{fill:#CDE8BC !important;}
.cd2 .scheme-svg g[data-cabin-id].cst-booked rect{fill:#F6E2B0 !important;}
.cd2 .scheme-svg g[data-cabin-id].cst-sold rect{fill:#F0C2BA !important;}
.cd2 .scheme-svg g[data-cabin-id]{cursor:pointer;}
/* Фото в карточке списка (Screenshot_43) */
.cd2 .clist-card-top{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;}
.cd2 .clist-card-ph{width:150px;height:104px;flex:none;border-radius:12px;background:var(--cream-200) center/cover no-repeat;border:1px solid var(--cream-300);}
.cd2 .clist-card-tt{flex:1;min-width:180px;}
.cd2 .clist-card-nums{font-size:12px;color:var(--deep-300);margin-top:6px;line-height:1.5;}
.cd2 .clist-card-per{display:block;font-size:11px;color:var(--deep-300);}
@media (max-width:560px){.cd2 .clist-card-ph{width:100%;height:150px;}}

/* Hover-карточка каюты на схеме (Screenshot_46, фото + не затемняет) */
.cd2 .scheme-pop2{position:fixed;left:50%;top:46%;transform:translate(-50%,-50%);z-index:1150;pointer-events:none;}
.cd2 .scheme-pop2-in{position:relative;width:min(420px,92vw);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(20,40,60,.55);pointer-events:auto;}
.cd2 .scheme-pop2-img{height:168px;background-size:cover;background-position:center;}
/* Фото-галерея в модалке каюты */
.cd2 .cmod-gal{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.cd2 .cmod-gal-main{position:relative;height:240px;border-radius:14px;background:var(--cream-200) center/cover no-repeat;}
.cd2 .cmod-gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:999px;border:0;background:rgba(255,255,255,.92);color:var(--deep-700);font-size:18px;cursor:pointer;}
.cd2 .cmod-gal-nav.prev{left:10px;}.cd2 .cmod-gal-nav.next{right:10px;}
.cd2 .cmod-gal-c{position:absolute;right:12px;bottom:10px;background:rgba(20,30,40,.6);color:#fff;font-size:12px;border-radius:999px;padding:3px 10px;}
.cd2 .cmod-gal-th{display:flex;gap:6px;}
.cd2 .cmod-gal-th button{width:54px;height:40px;border-radius:8px;border:2px solid transparent;background:var(--cream-200) center/cover no-repeat;cursor:pointer;padding:0;}
.cd2 .cmod-gal-th button.on{border-color:var(--terra-400);}
.cd2 .clist-card-ph{position:relative;}
.cd2 .clist-ph-n{position:absolute;right:8px;bottom:8px;background:rgba(20,30,40,.6);color:#fff;font-size:11px;border-radius:999px;padding:2px 9px;}

/* Схема на всю ширину + перетаскивание зажатием (Screenshot_47) */
.cd2 .scheme-svg-wrap{width:100%;overflow:auto;max-height:82vh;cursor:grab;border:1px solid var(--cream-300);border-radius:14px;background:#EAF4FB;padding:12px;}
.cd2 .scheme-svg-wrap.drag{cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none;}
.cd2 .scheme-svg{width:100%;transition:none;}
.cd2 .scheme-svg svg{width:100%;height:auto;display:block;max-width:none;}

/* Бронь: блок на каждую выбранную каюту (Screenshot_44/45) */
.cd2 .cbf-cabin{border:1px solid var(--cream-300);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:14px;background:var(--cream-50);}
.cd2 .cbf-cabin-top{display:flex;align-items:center;gap:12px;}
.cd2 .cbf-cabin-h{font-family:var(--font-display),'Playfair Display',serif;font-size:19px;color:var(--deep-700);}
.cd2 .cbf-cabin-free{font-size:12px;font-weight:600;background:#CDE8BC;color:#356B22;border-radius:999px;padding:3px 12px;}
.cd2 .cbf-cabin-chips{display:flex;flex-wrap:wrap;gap:8px;}
.cd2 .cbf-cabin-chips i{font-style:normal;font-size:12px;background:#fff;color:var(--deep-600);border:1px solid var(--cream-300);border-radius:999px;padding:4px 12px;}
.cd2 .cbf-cabin .cbf-person{background:#fff;}

/* Список кают: 3-колоночная карточка (Screenshot_48) */
.cd2 .clist-card{padding:18px 20px;}
.cd2 .clist-card-grid{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(220px,1fr) minmax(260px,1.2fr);gap:0;align-items:start;}
.cd2 .clist-col{padding:0 22px;}
.cd2 .clist-col1{padding-left:0;}
.cd2 .clist-col2{border-left:1px solid var(--cream-300);border-right:1px solid var(--cream-300);min-height:200px;}
.cd2 .clist-col3{padding-right:0;display:flex;flex-direction:column;gap:10px;}
.cd2 .clist-col-h{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--deep-500);}
.cd2 .clist-col-h-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
.cd2 .clist-left{font-size:12.5px;color:var(--terra-600);font-weight:600;}
.cd2 .clist-left.sold{color:#A23B2B;}
.cd2 .clist-place{font-size:13px;color:var(--deep-500);}
.cd2 .clist-card-name{font-family:var(--font-display),'Playfair Display',serif;font-size:19px;color:var(--deep-700);margin-bottom:12px;line-height:1.25;}
.cd2 .clist-card-ph{position:relative;width:100%;height:170px;border-radius:12px;background:var(--cream-200) center/cover no-repeat;border:1px solid var(--cream-300);margin-bottom:12px;}
.cd2 .clist-card-gal{position:absolute;left:12px;top:12px;border:0;background:rgba(255,255,255,.9);color:var(--deep-700);font-size:12px;font-weight:600;border-radius:999px;padding:6px 14px;cursor:pointer;box-shadow:0 6px 16px -6px rgba(20,40,60,.35);}
.cd2 .clist-card-gal:hover{background:#fff;}
.cd2 .clist-card-nums{font-size:12.5px;color:var(--deep-500);line-height:1.5;}
.cd2 .clist-card-nums b{color:var(--deep-700);font-weight:600;}
.cd2 .clist-srv-empty{font-size:13px;color:var(--deep-300);margin:0;}
.cd2 .clist-price-foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--cream-300);display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
.cd2 .clist-price-foot s{font-size:12px;color:var(--deep-300);}
.cd2 .clist-price-foot b{font-family:var(--font-display),'Playfair Display',serif;font-size:18px;color:var(--deep-700);}
@media (max-width:900px){.cd2 .clist-card-grid{grid-template-columns:1fr;}.cd2 .clist-col{padding:14px 0;border:0 !important;border-top:1px solid var(--cream-300) !important;}.cd2 .clist-col1{border-top:0 !important;padding-top:0;}}
/* Галерея кают: модалка с нашим PhotoGallery */
.cd2 .cg-ov{position:fixed;inset:0;z-index:1200;background:rgba(20,30,40,.7);display:flex;align-items:center;justify-content:center;padding:24px;}
.cd2 .cg-modal{position:relative;width:min(1100px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 34px 80px -22px rgba(0,0,0,.55);}
.cd2 .cg-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:999px;border:0;background:rgba(255,255,255,.95);color:var(--deep-700);cursor:pointer;font-size:15px;z-index:3;}
.cd2 .cg-h{font-family:var(--font-display),'Playfair Display',serif;font-size:22px;color:var(--deep-700);margin-bottom:14px;}

/* sea-cabins: возраст ребёнка через FancySelect + крестик */
.cd2 .sea-kid{display:flex;gap:8px;align-items:center;}
.cd2 .sea-kid .fs-trigger{min-width:80px;height:38px;}
.cd2 .sea-kid-x{width:32px;height:32px;border-radius:50%;border:1px solid var(--cream-300);background:#fff;color:var(--deep-400);cursor:pointer;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.cd2 .sea-kid-x:hover{background:var(--terra-50);border-color:var(--terra-300);color:var(--terra-600);}

/* ============================================================
   MOBILE — круизный блок (sea+river)
   Адаптив 768/480. Десктоп не трогаем (правила только в media).
   ============================================================ */

/* Заголовки */
@media (max-width:768px){
  .cd2 .cd2-h2{font-size:28px;line-height:1.15;}
  .cd2 .cd2-eyebrow{font-size:18px;}
  .cd2 .cd2-disp{font-size:18px !important;}
  .cd2 .cd2-section{padding-top:0;padding-bottom:0;}
  .cd2 .cd2-main-wrap{padding-top:18px;}
}
@media (max-width:480px){
  .cd2 .cd2-h2{font-size:24px;}
  .cd2 .cd2-eyebrow{font-size:15px;}
}

/* Bk-меню/toggle/free-плашка */
@media (max-width:680px){
  .cd2 .bk-meta{flex-direction:column;align-items:flex-start;gap:10px;}
  .cd2 .bk-toggle{width:100%;}
  .cd2 .bk-toggle button{flex:1;}
  .cd2 .bk-free{font-size:14px;}
  .cd2 .bk-steps{font-size:13.5px;}
  .cd2 .bk-steps li{gap:10px;}
}

/* SEA: пакс-стейн */
@media (max-width:760px){
  .cd2 .sea-pax-row{flex-direction:column;align-items:stretch;gap:14px;}
  .cd2 .sea-pax-row > div{width:100%;}
  .cd2 .sea-pax-row .cta-pill{margin-left:0 !important;width:100%;}
  .cd2 .sea-stepper{width:-moz-fit-content;width:fit-content;}
  .cd2 .sea-kid{width:-moz-fit-content;width:fit-content;}
}
@media (max-width:680px){
  .cd2 .sea-cur{flex-wrap:wrap;}
  .cd2 .sea-cur button{flex:1 1 40%;}
  .cd2 .sea-steps{flex-wrap:wrap;gap:8px;}
  .cd2 .sea-step{font-size:13px;}
  .cd2 .sea-actions{flex-direction:column-reverse;gap:10px;align-items:stretch;}
  .cd2 .sea-actions > *{width:100%;}
  .cd2 .sea-sum{flex-direction:column;align-items:flex-start;gap:4px;font-size:13.5px;}
}
@media (max-width:480px){
  .cd2 .sea-cards{grid-template-columns:1fr !important;}
  .cd2 .sea-tiles{grid-template-columns:1fr !important;}
  .cd2 .sea-locked-grid{grid-template-columns:1fr !important;}
  .cd2 .sea-cab-list{gap:6px;}
  .cd2 .sea-cab{font-size:13px;}
}

/* CBF (форма брони) */
@media (max-width:900px){
  .cd2 .cbf-wrap{padding-left:14px;padding-right:14px;}
  .cd2 .cbf-title{font-size:26px;}
  .cd2 .cbf-side{margin-top:18px;}
  .cd2 .cbf-banner{flex-direction:column;align-items:flex-start;gap:10px;}
  .cd2 .cbf-banner-chips{flex-wrap:wrap;}
}
@media (max-width:680px){
  .cd2 .cbf-title{font-size:22px;}
  .cd2 .cbf-pane{padding:16px;}
  .cd2 .cbf-person-h{font-size:15px;}
  .cd2 .crf-grid{grid-template-columns:1fr !important;gap:10px;}
  .cd2 .cbf-paygrid{grid-template-columns:1fr;}
  .cd2 .cbf-cabin-chips{flex-wrap:wrap;gap:6px;font-size:12px;}
  .cd2 .cbf-cabin-top{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .cd2 .cbf-actions{flex-direction:column-reverse;gap:10px;align-items:stretch;}
  .cd2 .cbf-actions > *{width:100% !important;}
  .cd2 .cbf-gender{flex-wrap:wrap;gap:10px;}
  .cd2 .cbf-steps{flex-wrap:wrap;gap:6px;font-size:12.5px;}
  .cd2 .cbf-step{padding:6px 10px;}
  .cd2 .cbf-cabin{padding:14px;}
  .cd2 .cbf-sum{font-size:13.5px;padding:12px;}
  .cd2 .cbf-sum-h{font-size:14px;}
  .cd2 .cbf-back{font-size:14px;}
  .cd2 .cbf-ok{padding:24px 16px;}
}

/* CMOD (модалка каюты) */
@media (max-width:760px){
  .cd2 .cmod{max-height:96vh;border-radius:14px;}
  .cd2 .cmod-l, .cd2 .cmod-r{padding:18px;}
  .cd2 .cmod-h{font-size:20px;}
  .cd2 .cmod-cat{font-size:13.5px;}
  .cd2 .cmod-foot{flex-wrap:wrap;gap:10px;}
  .cd2 .cmod-add{width:100%;}
  .cd2 .cmod-tar-i{flex-wrap:wrap;}
  .cd2 .cmod-srv ul{grid-template-columns:1fr 1fr;}
  .cd2 .cmod-gal-main{height:200px;}
  .cd2 .cmod-done-card{padding:20px 16px;}
  .cd2 .cmod-done-acts{flex-direction:column;align-items:stretch;}
  .cd2 .cmod-done-acts > *{width:100% !important;}
}
@media (max-width:380px){
  .cd2 .cmod-ov{padding:10px;}
  .cd2 .cmod-srv ul{grid-template-columns:1fr;}
}

/* SCHEME (схема палуб) — на мобиле поповер = bottom-sheet */
@media (max-width:768px){
  .cd2 .scheme-hint{font-size:13px;}
  .cd2 .scheme-zoom{top:8px;right:8px;}
  .cd2 .scheme-zoom button{width:34px;height:34px;font-size:18px;}
  .cd2 .scheme-svg-wrap{max-height:60vh;}
  .cd2 .scheme-legend{font-size:12.5px;gap:10px;flex-wrap:wrap;}
}
/* Bottom-sheet popover для тач-устройств: переопределяем inline-стили JS */
@media (max-width:640px){
  .cd2.scheme-pop2.portal{
    left:8px !important;
    right:8px !important;
    top:auto !important;
    bottom:8px !important;
    width:auto !important;
    transform:none !important;
  }
  .cd2.scheme-pop2.portal .scheme-pop2-in{width:auto;border-radius:14px;}
  .cd2.scheme-pop2.portal .scheme-pop2-img{height:140px;}
  .cd2.scheme-pop2.portal .scheme-pop-foot{flex-direction:column;align-items:stretch;gap:10px;}
  .cd2.scheme-pop2.portal .scheme-pop-acts{flex-wrap:wrap;}
  .cd2.scheme-pop2.portal .scheme-pop-acts button{flex:1;}
}
/* Делаем драг-скролл схемы тач-аккуратным */
.cd2 .scheme-svg-wrap{touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;}

/* CLIST (категории списком) */
@media (max-width:900px){
  .cd2 .clist-filters{flex-wrap:wrap;gap:12px;}
  .cd2 .clist-f{flex:1 1 calc(50% - 6px);min-width:140px;}
  .cd2 .clist-only{flex:1 1 100%;}
}
@media (max-width:680px){
  .cd2 .clist-card-ph{height:200px;}
  .cd2 .clist-card-name{font-size:18px;}
  .cd2 .clist-card-gal{padding:6px 12px;font-size:12px;}
  .cd2 .clist-col-h-row{flex-wrap:wrap;gap:6px;}
  .cd2 .clist-chips{gap:6px;}
  .cd2 .clist-chip{padding:6px 10px;font-size:13px;}
  .cd2 .clist-price-foot b{font-size:18px;}
}

/* CCART (корзина) — на мобиле bar сверху, не floating */
@media (max-width:768px){
  .cd2-booking + .ccart-bar, .ccart-bar.is-mobile{
    position:fixed;left:0;right:0;top:0;bottom:auto;
    border-radius:0;border-bottom:1px solid var(--cream-300);
    box-shadow:0 6px 18px -8px rgba(20,40,60,.18);
  }
}

/* CRZ-page CTA Не нашли */
@media (max-width:680px){
  .cd2 .fl-cta.cd2-cta{padding:32px 18px;background-position:center;}
  .cd2 .fl-cta-in h2{font-size:22px;}
  .cd2 .fl-cta-in p{font-size:14px;}
  .cd2-cta-tel{font-size:16px;}
}

/* nav-tabs прокручиваемые горизонтально на мобиле */
@media (max-width:768px){
  .cd2 .cd2-nav-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;}
  .cd2 .cd2-nav-tabs::-webkit-scrollbar{display:none;}
  .cd2 .cd2-nav-tabs > *{flex-shrink:0;}
}

/* Hero на узких — текст не вылезает */
@media (max-width:768px){
  .cd2 .hero h1{font-size:24px !important;line-height:1.15;}
  .cd2 .hero{min-height:auto !important;padding-top:80px;padding-bottom:60px;}
}

/* ============================================================
   MOBILE ITERATION 2 (по фидбэку владельца + Screenshot_50)
   ============================================================ */

/* CTA «Не нашли» — iOS Safari НЕ поддерживает background-attachment:fixed.
   На мобиле меняем на scroll, чтобы фон был виден; градиент усиливаем. */
@media (max-width:900px){
  .cd2 .fl-cta{background-attachment:scroll !important;background-size:cover;background-position:center;}
  .cd2 .fl-cta-in{background:linear-gradient(180deg,rgba(6,43,54,.78),rgba(6,43,54,.92));}
}

/* Расстояния между блоками x0.5 */
@media (max-width:768px){
  .cd2 .cd2-section{padding-top:0;padding-bottom:0;margin-top:0;}
  .cd2 .cd2-section + .cd2-section{margin-top:18px;}
  .cd2 .cd2-main-wrap{padding-top:12px;padding-bottom:8px;gap:14px;}
  .cd2 .cd2-grid{gap:14px;}
  .cd2 .cd2-col{gap:32px;}
  .cd2 .cd2-cta{margin-top:18px !important;}
}


/* Если когда-нибудь захотим вернуть — оставляем скругление */
.cd2 .cdpass{border-radius:16px;overflow:hidden;}

/* Tab-nav: на мобиле fixed bottom со всеми табами (как Infoflot Screenshot_50) */
@media (max-width:768px){
  .cd2 .tab-nav{
    position:fixed !important;left:0;right:0;bottom:0;top:auto;
    background:#fff;border-top:1px solid var(--cream-300);border-bottom:0;
    z-index:1100;padding:6px 0 calc(6px + env(safe-area-inset-bottom));
    box-shadow:0 -8px 24px -10px rgba(20,40,60,.18);
  }
  .cd2 .tab-nav .container, .cd2 .tab-nav > div{padding:0;}
  .cd2 .tab-row{display:flex;gap:0;overflow:visible;}
  .cd2 .tab-link{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:3px;padding:6px 2px;font-size:10.5px;text-align:center;line-height:1.1;
    border-bottom:0;border-top:2px solid transparent;
  }
  .cd2 .tab-link svg{width:18px;height:18px;opacity:.8;}
  .cd2 .tab-lbl-full{display:none;}
  .cd2 .tab-lbl-mob{display:inline;}
  .cd2 .tab-link.active{border-top-color:var(--terra-400);color:var(--terra-500);}
  .cd2 .tab-link.active svg{color:var(--terra-400);opacity:1;}
  /* Bottom-nav съедает место — отступ под контентом */
  body:has(.cd2 .tab-nav){padding-bottom:64px;}
}

/* Cabin-modal на мобиле — 100dvh + safe-area + overscroll-behavior */
@media (max-width:768px){
  .cd2 .cmod-ov{
    padding:0 !important;align-items:stretch;
    overscroll-behavior:contain;
  }
  .cd2 .cmod{
    width:100%;max-width:100%;max-height:100dvh !important;
    border-radius:0;height:100dvh;
    display:flex;flex-direction:column;
  }
  .cd2 .cmod-grid{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
  /* Иконка ✕ — справа вверху, не floating */
  .cd2 .cmod-x{
    top:env(safe-area-inset-top,8px);right:12px;width:38px;height:38px;
    background:#fff;border:1px solid var(--cream-300);
  }
  /* Заголовок «Каюта №X» — в самом верху, sticky */
  .cd2 .cmod-l{padding:18px 18px 12px;border-right:0 !important;border-bottom:1px solid var(--cream-200);}
  .cd2 .cmod-r{padding:14px 18px 24px;}
  /* Фото каюты с overlay-кнопкой «Открыть галерею» */
  .cd2 .cmod-gal-main{height:220px;border-radius:12px;position:relative;}
  /* Полное описание — раскрытие НЕ заходит за tab-nav снизу и close-кнопку сверху */
  .cd2 .cmod-desc{font-size:13.5px;line-height:1.55;}
  /* Done-toast в модалке — поверх с safe-area */
  .cd2 .cmod-done{position:fixed;inset:0;padding:env(safe-area-inset-top,20px) 16px env(safe-area-inset-bottom,20px);}
  .cd2 .cmod-done-card{max-width:none;}
}

/* Cabin modal NO scroll-through на iOS Safari (touchmove на overlay) */
.cd2 .cmod-ov{touch-action:none;}
.cd2 .cmod{touch-action:auto;}
.cd2 .cmod-grid{touch-action:pan-y;}

/* Маршрут — компактные ряды-аккордеоны на мобиле, фото скрыты */
@media (max-width:768px){
  .cd2 .day-art, .cd2 .day-photo, .cd2 .day-photos, .cd2 .day-thumb,
  .cd2 .day-art-img, .cd2 .cruise-day-art{display:none !important;}
  .cd2 .day-row, .cd2 .timeline-day{padding:10px 14px;gap:8px;}
  .cd2 .day-title{font-size:14px !important;}
  .cd2 .day-date{font-size:13px;}
  .cd2 .day-stop, .cd2 .stop-row{padding:6px 0;font-size:13px;}
  .cd2 .exc-acc summary{padding:8px 12px;font-size:13.5px;}
  .cd2 .route-full{font-size:13px !important;}
  .cd2 details.day-card{margin-bottom:6px;}
  .cd2 details.day-card summary{padding:10px 14px;font-size:13.5px;}
}

/* PDF/DOC иконки расписания — компактнее */
@media (max-width:768px){
  .cd2 .ab-files a, .cd2 .ab-pdf, .cd2 .ab-doc{font-size:13px;padding:8px 12px;gap:6px;flex-wrap:nowrap;white-space:nowrap;}
  .cd2 .ab-files svg, .cd2 .ab-files img, .cd2 .ab-pdf svg, .cd2 .ab-doc svg{width:18px;height:18px;flex-shrink:0;}
  .cd2 .ab-files{gap:8px;flex-wrap:wrap;}
}

/* Tap-targets на мобиле — мин 38px */
@media (max-width:768px){
  .cd2 .cta-pill{min-height:46px;}
  .cd2 button{min-height:38px;}
}

/* Route timeline — на мобиле компактные карточки без фото */
@media (max-width:768px){
  .cd2 .pc-art{display:none !important;}
  .cd2 .pc-grid{grid-template-columns:1fr !important;}
  .cd2 .postcard{padding:14px 16px;}
  .cd2 .postcard + .postcard{margin-top:10px;}
  .cd2 .pc-title{font-size:17px !important;margin:6px 0 4px;}
  .cd2 .day-banner{padding:5px 10px;font-size:12.5px;}
  .cd2 .day-banner-num{font-size:14px;}
  .cd2 .day-times{flex-wrap:wrap;gap:8px 14px;font-size:13px;}
  .cd2 .pc-kicker{font-size:11.5px;}
  .cd2 .daydesc summary{font-size:13.5px;padding:8px 0;}
  /* в раскрытом дне — скрываем галерею фото */
  .cd2 .daydesc-body .cdp, .cd2 .daydesc-body .day-photos,
  .cd2 .daydesc-body .cruise-day-photos{display:none !important;}
  /* day-sail (день в пути) */
  .cd2 .day-sail{padding:14px 16px;}
  /* «Полный путь» компактнее */
  .cd2 .route-string{padding:12px 14px;margin-bottom:18px !important;}
  .cd2 .days{gap:8px;}
  .cd2 .route-string .rs-tag{font-size:10.5px;}
  .cd2 .route-string .rs-pill{font-size:11px;padding:3px 7px;}
  .cd2 .route-string .rs-arrow{width:14px;height:10px;}
  /* route-head — заголовок + кнопки PDF/карта */
  .cd2 .route-head{flex-direction:column;align-items:flex-start;gap:10px;}
  .cd2 .route-head .cta-ghost{font-size:13px;padding:6px 12px;}
  .cd2 .cd2-about-dl{font-size:12px;padding:6px 11px;gap:5px;}
}

/* Корзина — bar.is-mobile принудительно top + полная ширина */
@media (max-width:768px){
  .cd2 .ccart-bar, .ccart-bar{
    position:fixed !important;
    top:0 !important;bottom:auto !important;left:0 !important;right:0 !important;
    width:100% !important;max-width:none !important;
    border-radius:0;border:0;border-bottom:1px solid var(--cream-300);
    box-shadow:0 4px 14px -6px rgba(20,40,60,.2);
    padding:env(safe-area-inset-top,8px) 14px 8px;
    z-index:1090;
  }
}

/* FIX: на мобиле bottom-tab-nav (~64px) перекрывал поповер схемы и низ контента */
@media (max-width:640px){
  .cd2.scheme-pop2.portal{
    bottom:calc(72px + env(safe-area-inset-bottom,0px)) !important;
    z-index:1095 !important;
  }
}
@media (max-width:768px){
  .cd2 .scheme-svg-wrap{padding-bottom:12px;}
  /* booking-section после tab-nav не залезал */
  .cd2 #booking{padding-bottom:24px;}
}

/* Скрывать bottom tab-nav когда открыты модалки/форма брони/корзина */
body:has(.cmod-ov) .cd2 .tab-nav,
body:has(.cbf-wrap) .cd2 .tab-nav,
body:has(.scheme-pop2.portal) .cd2 .tab-nav{display:none !important;}

/* После открытия overlay убираем body padding-bottom тоже */
body:has(.cmod-ov), body:has(.cbf-wrap){padding-bottom:0 !important;}

/* Низ booking-секции на мобиле не должен залезать под bottom-nav */
@media (max-width:768px){
  .cd2 #booking, .cd2 .cd2-booking{padding-bottom:80px;}
  .cd2 .clist{padding-bottom:24px;}
  .cd2 .cd2-cta{margin-bottom:24px !important;}
}

/* День-аккордеон на мобиле (Screenshot_53) */
.cd2 .day-acc{
  background:var(--deep-700);color:#fff;
  border-radius:10px;margin-bottom:8px;overflow:hidden;
  border:1px solid var(--deep-600);
}
.cd2 .day-acc[open]{background:#fff;color:var(--deep-800);border-color:var(--cream-300);}
.cd2 .day-acc > summary{
  list-style:none;cursor:pointer;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;
  padding:14px 16px;font-size:14px;font-weight:500;
}
.cd2 .day-acc > summary::-webkit-details-marker{display:none;}
.cd2 .day-acc-n{font-family:var(--font-display),'Playfair Display',serif;font-size:17px;font-weight:600;letter-spacing:.01em;}
.cd2 .day-acc-date{opacity:.92;font-size:13.5px;}
.cd2 .day-acc-chev{opacity:.85;transition:transform .25s ease;}
.cd2 .day-acc[open] .day-acc-chev{transform:rotate(180deg);color:var(--terra-500);}
.cd2 .day-acc-body{
  padding:14px 16px 18px;background:#fff;color:var(--deep-700);
  border-top:1px solid var(--cream-200);font-size:13.5px;line-height:1.55;
}
.cd2 .day-acc-title{font-family:var(--font-display),'Playfair Display',serif;font-size:18px;color:var(--deep-700);margin:0 0 6px;}
.cd2 .day-acc-note{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--terra-500);margin-bottom:10px;}
.cd2 .day-acc-times{display:flex;flex-wrap:wrap;gap:10px 16px;margin:6px 0 10px;font-size:13px;color:var(--deep-500);}
.cd2 .day-acc-times .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--deep-300);margin-right:4px;}
.cd2 .day-acc-times b{color:var(--deep-700);}
.cd2 .day-acc-hl{background:var(--terra-500);border-color:var(--terra-500);}
.cd2 .day-acc-hl[open]{background:#fff;}
.cd2 .day-acc-sail{background:var(--deep-600);}
.cd2 .day-acc-sail[open]{background:#fff;}



/* cd2 mobile sticky CTA — одна кнопка едет sticky в пределах cd2-col */
.cd2 .cd2-mob-cta { display:none; }
@media(max-width:1023px){
  .cd2 .bp-bot .cta-pill { display:none; }
  .cd2 .cd2-mob-cta {
    display:block;
    position:sticky;
    top:10px;
    z-index:950;
    margin-bottom:8px;
  }
  .cd2 .cd2-mob-cta-pill { width:100%; }
}

/* Инструкция «Как забронировать каюту» — стиль инфофлота */
.cd2 .bk-help {
  background: var(--cream-50);
  border: 1px solid var(--cream-200);
  border-radius: 16px;
  padding: 18px 22px;
  margin-bottom: 24px;
}
.cd2 .bk-help-h {
  font-size: 14px;
  font-weight: 600;
  color: var(--deep-700);
  margin-bottom: 12px;
}
.cd2 .bk-help .bk-steps { gap: 10px; }
.cd2 .bk-help .bk-steps li { font-size: 14px; align-items: flex-start; gap: 10px; }
.cd2 .bk-help .step-num {
  background: var(--cream-200);
  color: var(--deep-700);
  font-family: inherit;
  font-style: normal;
  font-weight: 600;
  font-size: 13px;
  width: 24px;
  height: 24px;
}
.cd2 .bk-help .bk-steps li > span:last-child { padding-top: 3px; }
.cd2 .bk-cart-i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: -3px;
  color: #3a7a23;
  margin: 0 1px;
}

/* Иконка корзинки в зелёных кнопках кают */
.cd2 .clist-chip { display: inline-flex; align-items: center; gap: 5px; }
.cd2 .clist-chip .chip-cart { flex-shrink: 0; opacity: .85; }
.cd2 .clist-chip.sold .chip-cart { display: none; }

/* === Cabin modal — per-passenger picker (по образцу инфофлота) === */
.cd2 .cmod-pax {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--cream-200);
}
.cd2 .cmod-pax-note {
  font-size: 12px;
  color: var(--deep-300);
  margin-bottom: 12px;
}
.cd2 .cmod-pax-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--deep-700);
  margin-bottom: 12px;
  cursor: pointer;
}
.cd2 .cmod-pax-toggle input { accent-color: var(--deep-500); }
.cd2 .cmod-pax-row {
  display: grid;
  grid-template-columns: 28px 1fr auto auto;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid var(--cream-200);
  border-radius: 10px;
  margin-bottom: 8px;
  background: #fff;
}
.cd2 .cmod-pax-row.disabled { opacity: 0.45; }
.cd2 .cmod-pax-i {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--cream-200);
  color: var(--deep-700);
  font-size: 12px;
  font-weight: 600;
}
.cd2 .cmod-pax-sel {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: transparent;
  font-size: 14px;
  color: var(--deep-700);
  font-weight: 500;
  padding-right: 16px;
  cursor: pointer;
}
.cd2 .cmod-pax-sel:disabled { cursor: not-allowed; color: var(--deep-300); }
.cd2 .cmod-pax-price {
  font-size: 13px;
  color: var(--deep-700);
  font-weight: 600;
  white-space: nowrap;
}
.cd2 .cmod-pax-h {
  font-size: 12px;
  color: var(--deep-500);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 14px 0 8px;
}
.cd2 .cmod-pax-warn {
  font-size: 12px;
  color: var(--terra-600);
  background: var(--terra-50);
  padding: 8px 10px;
  border-radius: 8px;
  margin-top: 10px;
}
.cd2 .cmod-price-sub {
  font-size: 12px;
  color: var(--deep-300);
  font-weight: 400;
  margin-left: 4px;
}
.cd2 .cmod-add[disabled] { opacity: .5; cursor: not-allowed; }
.cd2 .cmod-pax-ios{display:inline-flex;align-items:center;width:40px;height:22px;border-radius:999px;background:var(--cream-300);cursor:pointer;flex:none;transition:background .2s;outline:0;}
.cd2 .cmod-pax-ios span{display:block;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);margin-left:2px;transition:transform .2s;}
.cd2 .cmod-pax-ios.on{background:var(--terra-400);}
.cd2 .cmod-pax-ios.on span{transform:translateX(18px);}
.cd2 .cmod-pax-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13.5px;color:var(--deep-700);margin-bottom:10px;cursor:default;}
.cd2 .cmod-pax-add{width:100%;border:1px dashed var(--cream-300);border-radius:10px;background:#fff;color:var(--deep-500);font-size:13.5px;padding:9px 14px;cursor:pointer;text-align:center;transition:border-color .15s,color .15s;}
.cd2 .cmod-pax-add:hover{border-color:var(--terra-400);color:var(--terra-500);}

.cd2 .cmod-pax-del{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;border:0;background:transparent;color:var(--deep-400);font-size:20px;line-height:1;cursor:pointer;padding:0;transition:background .15s,color .15s;}
.cd2 .cmod-pax-del:hover{background:var(--cream-200);color:#c0392b;}
.cd2 .cmod-pax-del-ph{display:block;width:26px;height:26px;}

.cd2 .cmod-pax-row.has-age { grid-template-rows: auto auto; row-gap: 6px; }
.cd2 .cmod-pax-age { grid-column: 2 / -1; display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--deep-500); padding-top: 6px; border-top: 1px dashed var(--cream-200); }
.cd2 .cmod-pax-age-l { white-space: nowrap; }
.cd2 .cmod-pax-age-sel { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 1px solid var(--cream-300); border-radius: 6px; padding: 4px 22px 4px 8px; font-size: 13px; background: #fff; color: var(--deep-700); cursor: pointer; }
.cd2 .cmod-pax-age-sel:hover { border-color: var(--terra-400); }

/* === Унификация селектов в модале каюты === */
.cd2 .cmod-pax-sel {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23737583' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 4px center / 11px;
  font-size: 14px;
  color: var(--deep-700);
  font-weight: 500;
  padding: 5px 22px 5px 8px;
  cursor: pointer;
  transition: background-color .15s, border-color .15s;
}
.cd2 .cmod-pax-sel:hover:not(:disabled) { border-color: var(--cream-300); background-color: #fff; }
.cd2 .cmod-pax-sel:focus { outline: 0; border-color: var(--terra-400); background-color: #fff; }
.cd2 .cmod-pax-sel:disabled { cursor: not-allowed; color: var(--deep-300); opacity: .65; background-image: none; padding-right: 8px; }

.cd2 .cmod-pax-age-sel {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--cream-300);
  border-radius: 8px;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%23737583' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 8px center / 10px;
  padding: 5px 26px 5px 10px;
  font-size: 13px;
  font-weight: 500;
  color: var(--deep-700);
  cursor: pointer;
  min-width: 90px;
  transition: border-color .15s, box-shadow .15s;
}
.cd2 .cmod-pax-age-sel:hover { border-color: var(--terra-400); }
.cd2 .cmod-pax-age-sel:focus { outline: 0; border-color: var(--terra-500); box-shadow: 0 0 0 3px rgba(217,124,82,.12); }

/* === Фикс выравнивания при двухстрочной has-age раскладке === */
.cd2 .cmod-pax-row.has-age > .cmod-pax-i,
.cd2 .cmod-pax-row.has-age > .cmod-pax-sel,
.cd2 .cmod-pax-row.has-age > .cmod-pax-price,
.cd2 .cmod-pax-row.has-age > .cmod-pax-del,
.cd2 .cmod-pax-row.has-age > .cmod-pax-del-ph {
  grid-row: 1;
  align-self: center;
}
.cd2 .cmod-pax-row.has-age > .cmod-pax-age {
  grid-row: 2;
}

/* === Похожие круизы (низ страницы круиза) === */
.sim-cr { background: var(--cream-50); border-top: 1px solid var(--cream-200); }
.sim-cr-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 14px; margin-bottom: 22px; }
.sim-cr-h h2 { font-size: 26px; font-weight: 600; color: var(--deep-700); letter-spacing: -0.01em; margin: 0; }
.sim-cr-h-sub { font-size: 13px; color: var(--deep-400); }
.sim-cr-list { display: flex; flex-direction: column; gap: 14px; }
.sim-cr-more { display: flex; justify-content: center; margin-top: 24px; }
.sim-cr-more-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 28px; border: 1.5px solid var(--terra-400); border-radius: 999px; background: #fff; color: var(--terra-500); font-size: 14px; font-weight: 600; cursor: pointer; transition: background-color .2s, color .2s; }
.sim-cr-more-btn:hover { background: var(--terra-400); color: #fff; }
.sim-cr-more-btn svg { transition: transform .2s; }
.sim-cr-more-btn:hover svg { transform: translateY(2px); }
@media (max-width: 760px) {
  .sim-cr-h h2 { font-size: 22px; }
}

/* === Hero cruise search tabs === */
.hcr-form { display: flex; flex-direction: column; gap: 12px; }
.hcr-tabs { display: inline-flex; gap: 4px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: 3px; backdrop-filter: blur(6px); width: -moz-fit-content; width: fit-content; }
.hcr-tab { padding: 7px 16px; border: 0; background: transparent; color: rgba(255,255,255,.78); font-size: 13px; font-weight: 600; border-radius: 999px; cursor: pointer; transition: background-color .2s, color .2s; }
.hcr-tab:hover { color: #fff; }
.hcr-tab.is-on { background: #fff; color: var(--deep-700); }
.hcr-select { width: 100%; height: 42px; padding: 0 32px 0 12px; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; background-color: rgba(255,255,255,.92); color: var(--deep-700); font-size: 14px; font-weight: 500; cursor: pointer; -moz-appearance: none; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23434452' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>"); background-repeat: no-repeat; background-position: right 10px center; background-size: 11px; }
.hcr-select:focus { outline: 0; border-color: var(--terra-400); }

/* === Cruise route mobile («Судовой журнал») === */
.cd2 .crm { padding: 0 4px; font-family: var(--font-manrope), system-ui, sans-serif; }
.cd2 .crm-rail { position: relative; }
.cd2 .crm-river { position: absolute; left: 0; top: 0; width: 80px; pointer-events: none; z-index: 0; }
.cd2 .crm-rows { position: relative; z-index: 1; }
.cd2 .crm-row {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  align-items: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
  width: 100%;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
  text-align: left;
  color: inherit;
  transition: background-color .2s;
}
.cd2 .crm-row:hover { background-color: rgba(217, 124, 82, 0.04); }
.cd2 .crm-mark {
  width: 36px;
  height: 36px;
  margin: 0 auto;
  border-radius: 50%;
  background: var(--cream-50);
  border: 1.5px solid var(--deep-700);
  color: var(--deep-700);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display), Georgia, serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  box-shadow: 0 0 0 4px var(--cream-50);
  transition: all .25s cubic-bezier(.3,.7,.3,1);
}
.cd2 .crm-mark.is-on {
  width: 52px;
  height: 52px;
  background: var(--terra-400);
  border-color: var(--terra-400);
  color: #fff;
  box-shadow: 0 0 0 6px rgba(217,124,82,0.18), 0 0 0 12px rgba(217,124,82,0.07);
}
.cd2 .crm-meta { min-width: 0; }
.cd2 .crm-kicker {
  display: block;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: rgba(54, 74, 86, 0.55);
  margin-bottom: 4px;
  text-transform: uppercase;
}
.cd2 .crm-kicker.terra { color: var(--terra-400); }
.cd2 .crm-city {
  font-family: var(--font-display), Georgia, serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.05;
  color: var(--deep-700);
  display: block;
}
.cd2 .crm-city.is-on { font-size: 24px; font-style: italic; }
.cd2 .crm-times {
  text-align: right;
  font-size: 12px;
  white-space: nowrap;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cd2 .crm-arr { color: rgba(54, 74, 86, 0.65); }
.cd2 .crm-dep { color: var(--terra-400); font-weight: 500; }
.cd2 .crm-body {
  margin: -6px 0 18px 80px;
  background: var(--cream-100);
  border: 1px solid rgba(54, 74, 86, 0.08);
  border-radius: 14px;
  padding: 16px;
  position: relative;
  z-index: 2;
}
.cd2 .crm-times-row {
  display: flex;
  gap: 24px;
  padding-bottom: 12px;
  border-bottom: 1px dashed rgba(54, 74, 86, 0.14);
  margin-bottom: 12px;
}
.cd2 .crm-time-big {
  font-family: var(--font-display), Georgia, serif;
  font-weight: 500;
  font-size: 22px;
  color: var(--deep-700);
  line-height: 1;
  margin-top: 2px;
}
.cd2 .crm-body-text {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--deep-500);
}
.cd2 .crm-body-text + .crm-body-text { margin-top: 10px; }
.cd2 .crm-stop + .crm-stop { margin-top: 14px; padding-top: 14px; border-top: 1px dashed rgba(54, 74, 86, 0.14); }
.cd2 .crm-exc { margin-top: 14px; }
.cd2 .crm-exc-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 12px;
  border-radius: 8px;
  background: var(--cream-50);
  font-size: 13px;
  margin-top: 6px;
}
.cd2 .crm-exc-row em {
  font-style: normal;
  font-size: 11px;
  color: var(--terra-500);
  font-weight: 600;
}
.cd2 .crm-exc-row.inc em { color: #1f7a3a; }

@media (min-width: 1024px) {
  .cd2 .crm { display: none; }
}

/* Тонкие разделители между днями (mobile timeline) */
.cd2 .crm-rows > div + div > .crm-row {
  border-top: 1px solid rgba(54, 74, 86, 0.06);
}

/* Override: разделители начинаются от текстовой колонки, а не от края */
.cd2 .crm-rows > div + div > .crm-row { border-top: 0; position: relative; }
.cd2 .crm-rows > div + div > .crm-row::before {
  content: '';
  position: absolute;
  top: 0;
  left: 80px;
  right: 0;
  height: 1px;
  background: rgba(54, 74, 86, 0.08);
  pointer-events: none;
}

/* Кнопка раскрыть/свернуть все дни (mobile timeline) */
.cd2 .crm-toolbar { display: flex; justify-content: flex-end; padding: 0 4px 14px; }
.cd2 .crm-toggle-all { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid rgba(54, 74, 86, 0.15); border-radius: 999px; background: var(--cream-50); color: var(--deep-700); font-family: var(--font-manrope), system-ui, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.02em; cursor: pointer; transition: background-color .15s, border-color .15s; }
.cd2 .crm-toggle-all:hover { background: var(--cream-100); border-color: var(--terra-400); color: var(--terra-500); }

/* Разделители — теперь на обёртке дня, чтобы покрывать случай с раскрытым body */
.cd2 .crm-rows > div + div { position: relative; }
.cd2 .crm-rows > div + div::before {
  content: '';
  position: absolute;
  top: 0;
  left: 80px;
  right: 0;
  height: 1px;
  background: rgba(54, 74, 86, 0.08);
  pointer-events: none;
  z-index: 1;
}
/* Гасим старый разделитель на .crm-row, чтобы не дублировался */
.cd2 .crm-rows > div + div > .crm-row::before { display: none; }
.cd2 .crm-rows > div + div > .crm-row { border-top: 0; }

/* Цифры в маркерах — Manrope (Playfair давал визуальный сдвиг baseline-а) */
.cd2 .crm-mark { font-family: var(--font-manrope), system-ui, sans-serif; font-weight: 600; }

/* Линия после раскрытого body — рендерим как border-bottom внутри самого body,
   и гасим ::before у следующей обёртки, чтобы не дублировалось. */
.cd2 .crm-body { margin-bottom: 0; padding-bottom: 16px; border-bottom: 1px solid rgba(54, 74, 86, 0.08); }
.cd2 .crm-rows > div:has(> .crm-body) + div::before { display: none; }


/* === Hero forms — единый стиль для Туры/Круизы/Отели/Авиабилеты (кроме Aviasales-виджета) === */

/* Cruise hero form (использует свои hcs-* классы для табов и group-select).
   Размер плашек, шрифты и поведение совпадают с form-primitives. */
.cd2.hcs { display: flex; flex-direction: column; gap: 32px; font-family: var(--font-sans), system-ui, sans-serif; color: var(--deep-700); }

/* Шапка: «Поиск круизов» + табы Речные/Морские/Из Сочи в одну линию */
.cd2 .hcs-head { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.cd2 .hcs-h { margin: 0; white-space: nowrap; flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-sans), system-ui, sans-serif; font-weight: 500; font-size: 22px; line-height: 1.1; color: var(--deep-500); }
.cd2 .hcs-h em { font-family: var(--font-script), cursive; font-style: normal; font-weight: 500; color: var(--terra-400); font-size: 28px; position: relative; top: 2px; }

/* Табы Речные/Морские/Из Сочи — лёгкий оранжевый оттенок, активный — заливка */
.cd2 .hcs-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.cd2 .hcs-tab { background: rgba(224,120,86,0.06); border: 1px solid rgba(224,120,86,0.22); color: var(--deep-700); font-family: inherit; font-weight: 500; font-size: 13px; padding: 9px 18px; border-radius: 10px; cursor: pointer; transition: background-color .18s, border-color .18s, color .18s, box-shadow .18s; white-space: nowrap; }
.cd2 .hcs-tab:hover { background: rgba(224,120,86,0.14); border-color: var(--terra-400); color: var(--terra-500); }
.cd2 .hcs-tab.is-on { background: var(--terra-400); border-color: var(--terra-400); color: var(--cream-50); box-shadow: 0 4px 12px -4px rgba(224,120,86,0.45); }
.cd2 .hcs-tab.is-on:hover { background: var(--terra-500); border-color: var(--terra-500); }
.cd2 .hcs-tab-dot { display: none; }

/* Поля — высота 56px (комфортный, читабельный), padding 10×14 */
.cd2 .hcs-fields { display: grid; grid-template-columns: 1.05fr 0.95fr 1.05fr 1.25fr 1.1fr auto; align-items: stretch; gap: 10px; }
.cd2 .hcs-field { position: relative; background: var(--cream-50); border: 1px solid var(--cream-300); border-radius: 12px; padding: 10px 14px; cursor: pointer; transition: border-color .2s, box-shadow .2s, background-color .2s; min-height: 56px; display: flex; flex-direction: column; justify-content: center; }
.cd2 .hcs-field:hover { border-color: var(--terra-400); background: #fff; }
.cd2 .hcs-field.is-open, .cd2 .hcs-field:focus-within { border-color: var(--terra-400); box-shadow: 0 0 0 3px rgba(224,120,86,0.15); background: #fff; }
.cd2 .hcs-field[role='button']:focus-visible { outline: 2px solid var(--terra-400); outline-offset: 2px; }
.cd2 .hcs-label { display: block; font-family: inherit; font-size: 9.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--deep-700); opacity: 0.6; margin-bottom: 4px; }
.cd2 .hcs-row { display: flex; align-items: center; gap: 8px; width: 100%; background: transparent; border: 0; padding: 0; text-align: left; font-family: inherit; color: inherit; font-size: 14px; line-height: 1.4; }
.cd2 .hcs-ico { color: var(--terra-500); flex-shrink: 0; display: flex; }
.cd2 .hcs-ico svg { width: 16px; height: 16px; }
.cd2 .hcs-val { flex: 1; font-family: inherit; font-size: 14px; font-weight: 500; color: var(--deep-700); line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cd2 .hcs-ph { color: rgba(54,74,86,0.5); font-weight: 400; }
.cd2 .hcs-chev { color: var(--deep-500); flex-shrink: 0; display: flex; transition: transform .2s, color .2s; }
.cd2 .hcs-chev.is-open { transform: rotate(180deg); color: var(--terra-500); }

/* Поле даты: убираем двойную обёртку у CruiseDateRange */
.cd2 .hcs-field-date .hcs-date-wrap { flex: 1; min-width: 0; }
.cd2 .hcs-field-date .hcs-date-wrap > div { width: 100%; }
.cd2 .hcs-field-date .cr-cal-trigger { background: transparent !important; border: 0 !important; padding: 0 !important; height: auto !important; min-height: 0 !important; width: 100%; font-family: inherit; font-size: 14px; color: var(--deep-700); }
.cd2 .hcs-field-date .cr-cal-trigger:hover, .cd2 .hcs-field-date .cr-cal-trigger.is-open { background: transparent !important; border: 0 !important; }
.cd2 .hcs-field-date .cr-cal-icon { display: none; }
.cd2 .hcs-field-date .cr-cal-value { font-size: 14px; color: var(--deep-700); }

/* Dropdown-меню */
.cd2 .hcs-menu { position: absolute; top: calc(100% + 6px); left: -1px; right: -1px; background: #fff; border: 1px solid var(--cream-300); border-radius: 12px; padding: 4px; box-shadow: 0 20px 44px -14px rgba(0,0,0,0.22); z-index: 40; max-height: 320px; overflow-y: auto; }
.cd2 .hcs-menu-item { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; background: transparent; border: 0; border-radius: 8px; font-family: inherit; font-size: 14px; color: var(--deep-700); text-align: left; cursor: pointer; transition: background-color .15s, color .15s; }
.cd2 .hcs-menu-item:hover { background: var(--cream-50); }
.cd2 .hcs-menu-item.is-on { background: rgba(224,120,86,0.12); color: var(--terra-500); font-weight: 500; }
.cd2 .hcs-menu-mark { width: 14px; height: 14px; display: flex; align-items: center; justify-content: center; color: var(--terra-500); flex-shrink: 0; }
.cd2 .hcs-menu-mark-empty { width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid rgba(54,74,86,0.25); }

/* Сгруппированный селект для города со search */
.cd2 .hcs-menu-grouped { max-height: 380px; padding: 6px; }
.cd2 .hcs-menu-search { width: 100%; padding: 9px 12px; border: 1px solid rgba(224,120,86,0.22); border-radius: 10px; font-size: 14px; font-family: inherit; color: var(--deep-700); background: var(--cream-50); margin-bottom: 6px; outline: none; }
.cd2 .hcs-menu-search:focus { border-color: var(--terra-400); background: #fff; }
.cd2 .hcs-menu-group { margin-top: 6px; }
.cd2 .hcs-menu-group:first-of-type { margin-top: 0; }
.cd2 .hcs-menu-group-h { padding: 7px 12px 4px; font-size: 10px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--deep-500); opacity: 0.6; }
.cd2 .hcs-menu-empty { padding: 20px; text-align: center; color: var(--deep-400); font-size: 13px; }

/* CTA «Найти круиз» — единая высота с полями */
.cd2 .hcs-cta { position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 0 22px; background: var(--terra-400); color: var(--cream-50); border: 0; border-radius: 12px; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 500; min-height: 56px; box-shadow: 0 1px 2px rgba(0,0,0,0.05); transition: background-color .2s, box-shadow .2s; white-space: nowrap; }
.cd2 .hcs-cta:hover { background: var(--terra-500); box-shadow: 0 2px 4px rgba(0,0,0,0.08); }
.cd2 .hcs-cta-ico { display: flex; }
.cd2 .hcs-cta-ico svg { width: 16px; height: 16px; }
.cd2 .hcs-cta-glow { display: none; }

/* Адаптив */
@media (max-width: 1100px) {
  .cd2 .hcs-fields { grid-template-columns: 1fr 1fr 1fr; }
  .cd2 .hcs-cta { grid-column: 1 / -1; }
}
@media (max-width: 700px) { .cd2 .hcs-fields { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) {
  .cd2 .hcs-fields { grid-template-columns: 1fr; }
  .cd2 .hcs-h { font-size: 20px; }
  .cd2 .hcs-h em { font-size: 24px; }
}

/* Переключатель «Мои / Все» в шапке таблиц заявок и обращений */
.adm2-scope-switch{display:inline-flex;background:#eef0f1;border-radius:8px;padding:3px;gap:2px}
.adm2-scope-btn{padding:6px 14px;font-size:13px;font-weight:600;color:#6a7a72;border-radius:6px;text-decoration:none;transition:all .15s}
.adm2-scope-btn:hover{color:#0f3f3a}
.adm2-scope-btn.is-active{background:#fff;color:#0f3f3a;box-shadow:0 1px 2px rgba(0,0,0,.06)}

/* Грид клиентов в U-ON стиле — 2 строки в ячейках */
.clients-uon-grid{width:100%;border-collapse:collapse;font-size:12.5px;background:#fff}
.clients-uon-grid thead th{position:sticky;top:0;background:#f4f5f6;border-bottom:1px solid #d8dde0;padding:8px 10px;font-weight:600;font-size:11px;color:#586068;text-align:left;text-transform:uppercase;letter-spacing:.4px}
.clients-uon-grid tbody td{padding:10px;border-bottom:1px solid #eef0f1;vertical-align:top}
.clients-uon-grid tbody tr:hover{background:#fafbfc}
.cu-id{font-family:ui-monospace,Menlo,monospace;color:#6a7a72;font-size:11px}
.cu-name{text-decoration:none;color:inherit;display:block}
.cu-name-ru{font-weight:600;color:#0f3f3a;line-height:1.25}
.cu-name-en{color:#8a948c;font-size:11px;margin-top:2px;text-transform:uppercase;letter-spacing:.4px}
.cu-name:hover .cu-name-ru{color:#B0563A;text-decoration:underline}
.cu-mono{font-family:ui-monospace,Menlo,monospace}
.cu-sub{color:#8a948c;font-size:11px;margin-top:2px}
.cu-mgr{font-size:12px;color:#586068}
.cu-tag{display:inline-block;background:#eef0f1;color:#586068;padding:1px 8px;font-size:10.5px;border-radius:10px;margin-right:3px;margin-bottom:2px}
.cu-amount{text-align:center;color:#586068}
.cu-contact-main{font-size:12px}
.cu-contact-extra{color:#8a948c;font-size:11px;margin-top:1px}

/* Пагинация клиентского грида */
.cu-pager{display:flex;align-items:center;gap:8px;padding:14px 4px;flex-wrap:wrap}
.cu-pager-btn{padding:6px 12px;border:1px solid #d8dde0;background:#fff;border-radius:6px;font-size:13px;cursor:pointer;color:#0f3f3a}
.cu-pager-btn:hover:not(:disabled){background:#f4f5f6}
.cu-pager-btn:disabled{opacity:.4;cursor:not-allowed}
.cu-pager-info{font-weight:600;padding:0 8px;color:#0f3f3a}
.cu-pager-jump{display:flex;align-items:center;gap:6px;font-size:13px;color:#586068;margin-left:auto}
.cu-pager-jump input{width:60px;padding:4px 8px;border:1px solid #d8dde0;border-radius:4px;font-size:13px;text-align:center}
.cu-btn{padding:6px 14px;border:1px solid #d8dde0;background:#fff;border-radius:6px;font-size:13px;cursor:pointer;color:#586068}
.cu-btn:hover{background:#f4f5f6}

/* === Форма создания заявки (минималистичная, под перестройку владельцем) === */
.bcf-grid{display:grid;gap:14px;margin-top:14px}
.bcf-section{background:#fff;border:1px solid #e6e8eb;border-radius:8px;padding:16px}
.bcf-h{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:#586068;font-weight:600;margin:0 0 10px 0}
.bcf-req{color:#dc2626;margin-left:2px}
.bcf-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:10px}
.bcf-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#586068}
.bcf-row input,.bcf-row select,.bcf-section textarea{padding:8px 10px;border:1px solid #d8dde0;border-radius:5px;font-size:13px;color:#0f3f3a;background:#fff;font-family:inherit;width:100%}
.bcf-row input:focus,.bcf-row select:focus,.bcf-section textarea:focus{outline:none;border-color:#B0563A}
.bcf-section textarea{width:100%;resize:vertical}
.bcf-search{position:relative}
.bcf-search input{width:100%;padding:9px 12px;border:1px solid #d8dde0;border-radius:5px;font-size:13px}
.bcf-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d8dde0;border-radius:5px;max-height:280px;overflow-y:auto;z-index:10;box-shadow:0 8px 24px rgba(0,0,0,.08);margin-top:2px}
.bcf-dropdown-item{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:transparent;cursor:pointer;border-bottom:1px solid #f1f3f4}
.bcf-dropdown-item:hover{background:#f8f9fa}
.bcf-dropdown-name{font-size:13px;color:#0f3f3a;font-weight:500}
.bcf-dropdown-sub{font-size:11px;color:#8a948c;margin-top:2px}
.bcf-btn-add{margin-top:8px;padding:6px 12px;background:transparent;border:1px dashed #B0563A;border-radius:5px;color:#B0563A;font-size:12px;cursor:pointer}
.bcf-btn-add:hover{background:#fff5f0}
.bcf-new-client{margin-top:10px;padding:12px;background:#fafbfc;border-radius:5px;display:flex;flex-direction:column;gap:8px}
.bcf-new-client input{padding:7px 10px;border:1px solid #d8dde0;border-radius:5px;font-size:13px}
.bcf-selected{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:5px}
.bcf-selected-text{font-weight:600;color:#0f3f3a}
.bcf-btn-ghost{padding:4px 10px;background:transparent;border:1px solid #d8dde0;border-radius:5px;font-size:12px;cursor:pointer;color:#586068}
.bcf-btn-ghost:hover{background:#fff}
.bcf-btn-primary{padding:9px 16px;background:#B0563A;color:#fff;border:none;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer}
.bcf-btn-primary:hover{background:#9c4d33}
.bcf-btn-primary:disabled{opacity:.6;cursor:not-allowed}
.bcf-btn-big{padding:12px 24px;font-size:14px}
.bcf-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;margin-top:20px;padding:14px;background:#fafbfc;border-radius:8px}
.bcf-error{padding:8px 14px;background:#fef2f2;color:#dc2626;border-radius:5px;font-size:13px;align-self:stretch}

/* MOBILE: на /hero шапка .adm-page-head стоит выше топбара, а бургер
   (position:fixed top:12 left:12) налезает на заголовок. Отодвигаем вниз. */
@media (max-width: 1024px) {
  .adm-page-head { padding-top: 46px; }
}

/* crestik-glyph-fix */
/* Символ × выпал из JSX переиспользуемых кнопок (CrmDelete, закрытие модалок) — рисуем глифом. */
.cd-trigger-icon::before{ content:"\00d7"; font-size:17px; line-height:1; }
.cd-trigger-btn .cd-x::before{ content:"\00d7"; }
.adm2-modal-close::before{ content:"\00d7"; font-size:18px; line-height:1; }

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/shell.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/shell.css === Базовый shell — sidebar/topbar/glass-primitives ===*/
/* Импорт из @maclay/styles. Использует tokens.css */

/* Maclay Travel CRM — shared shell styles
   Loaded by every page; contains: tokens, sidebar, topbar, page header,
   glass primitives (tile/card/chip/ghost-btn), buttons, fade-in, responsive.
   Page-specific widgets live inline in each HTML file. */

:root{
  --brand-deep:var(--brand-deep-600);
  --brand-deep-2:var(--brand-deep-500);
  --brand-terra:var(--brand-terra-400);
  --brand-cream:var(--brand-cream-200);

  --bg-a:var(--brand-cream-200); --bg-b:#E8F1F4; --bg-c:#F4E8E2;

  --ink-1:var(--brand-deep-600);
  --ink-2:#3C5963;
  --ink-3:#6A8089;
  --ink-4:#9AAAB1;

  --line-1:rgba(15,76,92,0.08);
  --line-2:rgba(15,76,92,0.13);

  --glass-blur:40px;
  --glass-bg:rgba(255,255,255,0.55);
  --glass-bg-strong:rgba(255,255,255,0.72);
  --glass-bd:rgba(255,255,255,0.65);

  --shadow-card:0 8px 32px rgba(15,76,92,0.06), 0 2px 6px rgba(15,76,92,0.04);
  --shadow-pill:inset 0 1px 0 rgba(255,255,255,0.55), 0 6px 18px rgba(224,120,86,0.28), 0 1px 0 rgba(15,76,92,0.05);

  --r-sm:10px; --r-md:14px; --r-lg:18px; --r-xl:22px;

  --sb-w:248px;
  --gap:16px;

  --danger:#C8413A;
  --warn:#B5651D;
  --ok:#3A8C5F;
}
html[data-density="compact"]{ --gap:12px; }

*{box-sizing:border-box}
html,body{margin:0; padding:0}
body{
  font-family:"Inter","Helvetica Neue",system-ui,sans-serif;
  font-size:13px; line-height:1.45;
  color:var(--ink-1);
  background:var(--brand-cream);
  font-feature-settings:"cv11","ss01","ss03";
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
.tabnum{font-variant-numeric:tabular-nums; font-feature-settings:"tnum"}
button{font:inherit; color:inherit; background:none; border:none; padding:0; cursor:pointer}
input{font:inherit; color:inherit}
ul{list-style:none; margin:0; padding:0}
kbd{
  font:500 10px/1 "Inter",sans-serif;
  background:rgba(15,76,92,0.06);
  color:var(--ink-3);
  border:1px solid var(--line-1);
  border-radius:5px;
  padding:3px 5px;
}
.muted{color:var(--ink-4)}

.caveat{
  font-family:"Caveat",cursive;
  font-weight:600;
  color:var(--brand-terra);
  font-size:1.15em;
  margin-left:.3em;
  letter-spacing:.01em;
}
html[data-caveat="off"] .caveat{display:none}

/* ─── BACKGROUND AURA ─────────────────────────────── */
.bg-aura{
  position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;
  background:
    radial-gradient(120% 80% at 100% 0%, var(--bg-c) 0%, transparent 55%),
    radial-gradient(110% 85% at 0% 100%, var(--bg-b) 0%, transparent 55%),
    var(--bg-a);
}
.aura{position:absolute; border-radius:50%; filter:blur(80px); opacity:.55}
.aura--1{width:520px; height:520px; left:-120px; top:-180px; background:var(--bg-b)}
.aura--2{width:480px; height:480px; right:-100px; top:280px; background:var(--bg-c)}
.aura--3{width:420px; height:420px; left:40%; bottom:-220px; background:#DEE6E8}

/* ─── SHELL ───────────────────────────────────────── */
.shell{
  position:relative; z-index:1;
  display:grid;
  grid-template-columns:var(--sb-w) 1fr;
  min-height:100vh;
}

/* ─── SIDEBAR ─────────────────────────────────────── */
.sidebar{
  position:sticky; top:0;
  height:100vh;
  display:flex; flex-direction:column;
  padding:14px 12px 12px;
  background:linear-gradient(180deg, rgba(255,255,255,0.62), rgba(255,255,255,0.48));
  backdrop-filter:blur(var(--glass-blur)) saturate(180%);
  border-right:1px solid rgba(255,255,255,0.6);
  box-shadow:inset -1px 0 0 rgba(15,76,92,0.04), 8px 0 32px -16px rgba(15,76,92,0.08);
  z-index:5;
}
.sidebar__brand{display:flex; align-items:center; gap:10px; padding:6px 8px 12px}
.brand-mono{
  width:34px; height:34px; border-radius:10px;
  background:linear-gradient(155deg, var(--brand-deep-600) 0%, var(--brand-deep-500) 55%, #2F6C7E 100%);
  color:var(--brand-cream-200);
  display:grid; place-items:center;
  font-family:var(--font-heading); font-style:italic;
  font-size:20px; font-weight:600;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.25), 0 6px 14px -4px rgba(15,76,92,0.4);
  position:relative; overflow:hidden;
}
.brand-mono::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(155deg, rgba(255,255,255,0.18), transparent 45%);
  pointer-events:none;
}
.brand-text{display:flex; flex-direction:column; line-height:1.05; flex:1; min-width:0}
.brand-name{font-family:var(--font-heading); font-weight:600; font-size:16px; color:var(--brand-deep); letter-spacing:.005em}
.brand-sub{font-size:10.5px; color:var(--ink-3); letter-spacing:.08em; text-transform:uppercase; margin-top:1px}
.brand-dot{
  width:22px; height:22px; border-radius:50%;
  background:rgba(255,255,255,0.5);
  border:1px solid var(--line-1);
  display:grid; place-items:center;
  color:var(--ink-3);
}

.sidebar__new{
  display:flex; align-items:center; gap:8px;
  padding:8px 12px; margin:0 4px 12px;
  border-radius:12px;
  background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600));
  color:#FFF7F3;
  font-weight:600; font-size:12.5px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.35), 0 6px 14px -4px rgba(224,120,86,0.45);
  transition:transform .15s ease, box-shadow .15s ease;
}
.sidebar__new:hover{transform:translateY(-1px); box-shadow:inset 0 1px 0 rgba(255,255,255,0.4), 0 8px 18px -4px rgba(224,120,86,0.55)}
.sidebar__new kbd{margin-left:auto; background:rgba(255,255,255,0.18); color:#FFF7F3; border-color:rgba(255,255,255,0.25)}
.sidebar__new span{flex:1; text-align:left}

.sidebar__nav{
  flex:1; overflow-y:auto;
  padding:4px 4px 16px;
  margin:0 -4px;
  scrollbar-width:thin;
  scrollbar-color:rgba(15,76,92,0.18) transparent;
}
.sidebar__nav::-webkit-scrollbar{width:6px}
.sidebar__nav::-webkit-scrollbar-thumb{background:rgba(15,76,92,0.18); border-radius:3px}

.navgroup{padding:4px 0}
.navgroup__label{
  font-size:9.5px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase;
  color:var(--ink-4);
  padding:8px 12px 4px;
}

.navitem{
  position:relative;
  display:flex; align-items:center; gap:9px;
  width:100%;
  padding:6.5px 10px;
  border-radius:9px;
  font-size:12.5px;
  color:var(--ink-2);
  text-align:left;
  text-decoration:none;
  transition:color .15s ease, background .15s ease;
}
.navitem:hover{ background:rgba(15,76,92,0.05); color:var(--ink-1) }
.navitem__icon{display:grid; place-items:center; color:var(--ink-3); flex:none; width:18px}
.navitem:hover .navitem__icon{color:var(--brand-deep)}
.navitem__label{flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.navitem__badge{
  font-size:10px; font-weight:600;
  background:rgba(15,76,92,0.08);
  color:var(--ink-2);
  padding:1px 6px;
  border-radius:7px;
  font-variant-numeric:tabular-nums;
}
.navitem__badge.is-danger,
.navitem.is-danger .navitem__badge{
  background:rgba(200,65,58,0.12);
  color:var(--danger);
}
.navitem.is-danger .navitem__icon{color:var(--danger)}

.navitem.is-sub.is-active .navitem__pill{ display:none }
.navitem.is-sub.is-active{ background:rgba(15,76,92,0.08); color:var(--ink-1) }
.navitem.is-sub.is-active .navitem__icon{ color:var(--brand-deep) }
.navitem.is-active{ color:#FFFBF8 }
.navitem.is-active .navitem__icon{color:#FFFBF8}
.navitem.is-active .navitem__badge{ background:rgba(255,255,255,0.22); color:#FFFBF8 }

/* === Бейджи-счётчики сайдбара — V5 на иконке / V4 контур (переключатель в tweaks, дефолт icon) === */
.navitem__icon{ position:relative }
.nav-b4{
  margin-left:auto;
  min-width:20px; height:20px; padding:0 6px; border-radius:7px;
  background:rgba(224,120,86,.10);
  border:1.4px solid var(--brand-terra); color:var(--brand-terra);
  font-size:11px; font-weight:700; line-height:1; font-variant-numeric:tabular-nums;
  display:inline-flex; align-items:center; justify-content:center;
}
.nav-b4.dng{ background:rgba(200,65,58,.10); border-color:var(--danger); color:var(--danger) }
.navitem.is-active .nav-b4{ background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.55); color:#FFFBF8 }
.nav-dot{
  position:absolute; top:-2px; right:-2px;
  width:8px; height:8px; border-radius:50%;
  background:var(--brand-terra); border:1.6px solid #FBF7F4;
  animation:navdot-pulse 1.9s ease-out infinite;
}
.nav-dot.dng{ background:var(--danger); animation-name:navdot-pulse-dng }
@keyframes navdot-pulse{ 0%{box-shadow:0 0 0 0 rgba(224,120,86,.5)} 100%{box-shadow:0 0 0 7px rgba(224,120,86,0)} }
@keyframes navdot-pulse-dng{ 0%{box-shadow:0 0 0 0 rgba(200,65,58,.5)} 100%{box-shadow:0 0 0 7px rgba(200,65,58,0)} }
/* Точка справа (после лейбла, у правого края) */
.nav-dotr{ margin-left:auto; width:9px; height:9px; border-radius:50%; background:var(--brand-terra); animation:navdot-pulse 1.9s ease-out infinite }
.nav-dotr.dng{ background:var(--danger); animation-name:navdot-pulse-dng }
/* 3 стиля: точка (дефолт) / точка справа / контур — переключатель в tweaks */
.nav-b4{ display:none }
.nav-dotr{ display:none }
html[data-badge="outline"] .nav-b4{ display:inline-flex }
html[data-badge="outline"] .nav-dot{ display:none }
html[data-badge="dotright"] .nav-dotr{ display:block }
html[data-badge="dotright"] .nav-dot{ display:none }
/* Будильник дедлайнов «брынькает» раз в минуту, когда есть дедлайн в пределах 12ч */
@keyframes nav-ring{
  0%{transform:rotate(0)} 0.4%{transform:rotate(-15deg)} 0.8%{transform:rotate(13deg)}
  1.2%{transform:rotate(-10deg)} 1.6%{transform:rotate(7deg)} 2%{transform:rotate(-4deg)}
  2.4%{transform:rotate(2deg)} 2.8%{transform:rotate(0)} 100%{transform:rotate(0)}
}
.navitem__icon.is-ringing svg{ animation:nav-ring 60s linear infinite; transform-origin:50% 18% }
.navitem__pill{
  position:absolute; inset:0;
  border-radius:9px;
  background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600));
  box-shadow:var(--shadow-pill);
  z-index:-1;
  animation:pillIn .35s cubic-bezier(.34,1.56,.64,1);
}
@keyframes pillIn{
  0%{transform:scale(.88); opacity:0}
  100%{transform:scale(1); opacity:1}
}

.navitem--toggle .navitem__chev{color:var(--ink-3); transition:transform .2s ease}
.navitem--toggle.is-open .navitem__chev{transform:rotate(-180deg)}

.sub{display:grid; grid-template-rows:0fr; transition:grid-template-rows .25s ease}
.sub.is-open{grid-template-rows:1fr}
.sub > ul{overflow:hidden}
.subitem{
  display:block; width:100%; text-align:left;
  padding:5px 10px 5px 38px;
  border-radius:7px;
  font-size:12px;
  color:var(--ink-3);
}
.subitem:hover{color:var(--ink-1); background:rgba(15,76,92,0.04)}

.usercard{position:relative; margin-top:6px; padding-top:10px; border-top:1px solid var(--line-1)}
.usercard__btn{
  display:flex; align-items:center; gap:10px;
  width:100%; padding:7px 8px;
  border-radius:11px;
  transition:background .15s ease;
}
.usercard__btn:hover{background:rgba(15,76,92,0.05)}
.usercard__txt{flex:1; min-width:0; text-align:left; line-height:1.15}
.usercard__name{font-size:12.5px; font-weight:600; color:var(--ink-1)}
.usercard__role{font-size:10.5px; color:var(--ink-3); margin-top:1px}
.avatar{
  width:30px; height:30px; border-radius:50%;
  background:linear-gradient(155deg, #2F6C7E, var(--brand-deep-600));
  color:var(--brand-cream-200);
  display:grid; place-items:center;
  font-size:11px; font-weight:600;
  flex:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.2), 0 2px 6px rgba(15,76,92,0.2);
}
.avatar--sm{width:28px; height:28px; font-size:10.5px}
.avatar--xs{width:18px; height:18px; font-size:8.5px; font-weight:600; background:linear-gradient(155deg, #3A7383, var(--brand-deep-600))}
.avatar--ak{background:linear-gradient(155deg, var(--brand-terra-400), var(--brand-terra-600))}
.avatar--mp{background:linear-gradient(155deg, #3A7383, var(--brand-deep-600))}
.avatar--es{background:linear-gradient(155deg, #B5651D, #8C4A12)}
.avatar--dv{background:linear-gradient(155deg, #3A8C5F, #1F6A40)}

.usercard__menu{
  position:absolute; bottom:calc(100% + 6px); left:0; right:0;
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--glass-bd);
  border-radius:12px;
  padding:6px;
  box-shadow:var(--shadow-card);
  display:flex; flex-direction:column; gap:1px;
}
.umenu{
  display:flex; align-items:center; gap:9px;
  padding:7px 9px;
  border-radius:7px;
  font-size:12px; color:var(--ink-2);
  text-align:left;
}
.umenu:hover{background:rgba(15,76,92,0.05)}
.umenu--danger{color:var(--danger)}
.umenu__sep{height:1px; background:var(--line-1); margin:3px 4px}

/* ─── MAIN / TOPBAR ───────────────────────────────── */
.main{min-width:0; display:flex; flex-direction:column}

.topbar{
  position:sticky; top:0; z-index:4;
  display:flex; align-items:center; gap:14px;
  padding:11px 24px;
  background:rgba(250,250,247,0.55);
  backdrop-filter:blur(24px) saturate(160%);
  border-bottom:1px solid rgba(255,255,255,0.5);
  box-shadow:0 1px 0 rgba(15,76,92,0.04);
}
.crumbs{display:flex; align-items:center; gap:6px; font-size:12px; color:var(--ink-3); flex:none}
.crumbs a{color:var(--ink-3); cursor:pointer; text-decoration:none}
.crumbs a:hover{color:var(--ink-1)}
.crumbs span[aria-current]{color:var(--ink-1); font-weight:600}

.search{
  flex:1; min-width:0; max-width:520px;
  display:flex; align-items:center; gap:8px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--glass-bd);
  border-radius:11px;
  padding:7px 11px;
  color:var(--ink-3);
  transition:border-color .15s ease, background .15s ease;
}
.search:focus-within{border-color:rgba(15,76,92,0.25); background:rgba(255,255,255,0.75)}
.search input{flex:1; min-width:0; background:none; border:none; outline:none; font-size:12.5px; color:var(--ink-1)}
.search input::-moz-placeholder{color:var(--ink-4)}
.search input::placeholder{color:var(--ink-4)}

.topbar__right{display:flex; align-items:center; gap:8px; margin-left:auto}
.iconbtn{
  position:relative;
  width:34px; height:34px; border-radius:10px;
  display:grid; place-items:center;
  background:rgba(255,255,255,0.45);
  border:1px solid var(--glass-bd);
  color:var(--ink-2);
  transition:background .15s ease, color .15s ease;
}
.iconbtn:hover{background:rgba(255,255,255,0.7); color:var(--ink-1)}
.iconbtn .dot{
  position:absolute; top:7px; right:8px;
  width:7px; height:7px; border-radius:50%;
  background:var(--brand-terra);
  box-shadow:0 0 0 2px rgba(255,255,255,0.85);
}

/* ─── PAGE HEAD ───────────────────────────────────── */
.page{
  padding:22px 28px 32px;
  display:flex; flex-direction:column; gap:var(--gap);
}
.page__head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  padding-bottom:2px;
}
.h1{
  font-family:var(--font-heading);
  font-weight:600;
  font-size:36px;
  line-height:1.05;
  letter-spacing:-.01em;
  color:var(--brand-deep);
  margin:0 0 10px;
}
.caveat--h1{font-size:.7em; transform:translateY(-2px); display:inline-block}
/* Заголовок целиком рукописным Caveat (страница Туры). Не прячется тумблером caveat — откатывается на обычный шрифт. */
.h1--script{font-family:"Caveat",cursive; font-weight:600; color:var(--brand-terra); font-size:1.18em; letter-spacing:.01em}
html[data-caveat="off"] .h1--script{font-family:inherit; color:inherit; font-size:inherit; letter-spacing:normal}

.page__counters{display:flex; align-items:center; gap:14px; flex-wrap:wrap}
.istat{display:flex; align-items:baseline; gap:6px}
.istat__n{font-size:18px; font-weight:600; color:var(--brand-deep)}
.istat__l{font-size:12px; color:var(--ink-3)}
.istat__t{font-size:11px; color:var(--ink-4); margin-left:4px}
.istat__t.is-up{color:var(--ok)}
.istat__t.is-up::before{content:"↑ "; opacity:.8}
.vsep{width:1px; height:18px; background:var(--line-1)}

.page__actions{display:flex; gap:8px; flex:none}
.btn-ghost,.btn-primary{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 13px;
  border-radius:10px;
  font-size:12.5px; font-weight:500;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-ghost{background:rgba(255,255,255,0.55); border:1px solid var(--glass-bd); color:var(--ink-1)}
.btn-ghost:hover{background:rgba(255,255,255,0.78)}
.btn-primary{
  background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600));
  color:#FFFBF8;
  font-weight:600;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.3), 0 6px 14px -4px rgba(224,120,86,0.42);
}
.btn-primary:hover{transform:translateY(-1px); box-shadow:inset 0 1px 0 rgba(255,255,255,0.36), 0 8px 18px -4px rgba(224,120,86,0.5)}

/* ─── GLASS PRIMITIVES ────────────────────────────── */
.tile, .card{
  position:relative;
  border-radius:var(--r-lg);
  padding:16px 18px;
  background:rgba(255,255,255,0.65);
  border:1px solid var(--glass-bd);
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  transition:transform .25s cubic-bezier(.34,1.2,.64,1), box-shadow .25s ease;
  overflow:hidden;
}
.tile:hover{transform:scale(1.012); box-shadow:0 12px 36px rgba(15,76,92,0.09), 0 2px 6px rgba(15,76,92,0.04)}
.tile__hl{
  position:absolute; top:0; left:14px; right:14px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.95), transparent);
  pointer-events:none;
}
.tile__head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px}
.tile__eyebrow{font-size:11px; font-weight:600; color:var(--ink-3); letter-spacing:.08em; text-transform:uppercase}
.tile__sub{font-size:11.5px; color:var(--ink-4); margin-top:3px}
.tile__big{
  font-family:"Inter",sans-serif;
  font-size:28px; font-weight:600;
  color:var(--brand-deep);
  letter-spacing:-.015em;
  margin-top:10px;
}
.tile__big .rub{font-size:16px; color:var(--ink-3); margin-left:4px; font-weight:500}
.tile__foot{display:flex; justify-content:space-between; gap:10px; margin-top:8px; font-size:11.5px}

.chip{
  font-size:10.5px; font-weight:600;
  background:rgba(15,76,92,0.06);
  color:var(--ink-2);
  padding:2px 7px; border-radius:6px;
  letter-spacing:.02em;
}
.chip--up{background:rgba(58,140,95,0.12); color:var(--ok)}
.chip--down{background:rgba(200,65,58,0.12); color:var(--danger)}
.chip--warn{background:rgba(181,101,29,0.13); color:var(--warn)}

.card__head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px}
.card__title{
  margin:0;
  display:flex; align-items:center; gap:8px;
  font-family:var(--font-heading);
  font-weight:500;
  font-size:18px;
  color:var(--brand-deep);
  letter-spacing:-.005em;
}
.card__sub{font-size:11.5px; color:var(--ink-3); margin:3px 0 0}
.card__sub b{color:var(--ink-1); font-weight:600}

.ghost-btn{
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 10px;
  border-radius:8px;
  background:rgba(255,255,255,0.6);
  border:1px solid var(--glass-bd);
  font-size:11.5px; font-weight:500;
  color:var(--ink-2);
  text-decoration:none;
  transition:background .15s ease, color .15s ease;
}
.ghost-btn:hover{background:rgba(255,255,255,0.85); color:var(--ink-1)}

/* ─── VIEW SWITCHER (shared across booking views) ─── */
.vsw{
  display:flex; gap:2px;
  padding:2px;
  background:rgba(15,76,92,0.05);
  border-radius:9px;
  width:-moz-fit-content;
  width:fit-content;
  max-width:100%;
  overflow-x:auto;
  flex-wrap:nowrap;
  scrollbar-width:thin;
}
.vsw__item{
  display:inline-flex; align-items:center; gap:5px;
  padding:6px 11px;
  font-size:11.5px; font-weight:500;
  border-radius:7px;
  color:var(--ink-3);
  text-decoration:none;
  white-space:nowrap;
  transition:all .15s ease;
  background:none;
  border:none;
  cursor:pointer;
  font-family:inherit;
}
.vsw__item:hover{color:var(--ink-1); background:rgba(255,255,255,0.4)}
.vsw__item.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 3px rgba(15,76,92,0.08);
  cursor:default;
}

/* ─── FADE IN ─────────────────────────────────────── */
/* Entry animation animates ONLY the transform — opacity stays 1 throughout.
   This guarantees content is always visible: if the animation gets cancelled
   by a React re-render or never advances in a paused iframe, we never strand
   the element at opacity:0. The slight slide-up is enough to read as "fade-in"
   in motion. */
.fade-in{
  opacity:1;
  animation:fadeIn .55s cubic-bezier(.34,1.2,.64,1) both;
  animation-delay:var(--d, 0ms);
}
@keyframes fadeIn{
  from{transform:translateY(6px)}
  to{transform:translateY(0)}
}
@media (prefers-reduced-motion:reduce){
  .fade-in{animation:none}
}

/* ─── RESPONSIVE ──────────────────────────────────── */
@media (max-width:1024px){
  .shell{grid-template-columns:1fr}
  .sidebar{display:none}
  .page{padding:18px 18px 28px}
  .h1{font-size:30px}
}

/* ───── Sidebar brand mark (логотип Маклай вместо буквы М) ───── */
.brand-mark {
  width: 36px;
  height: 36px;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  background: transparent;
  filter: drop-shadow(0 4px 8px rgba(15, 76, 92, 0.18));
}

/* Иконка-ссылка «На сайт» рядом с brand-name (заменила MapPin) */
.brand-dot--link {
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, transform 0.15s, border-color 0.15s;
}
.brand-dot--link:hover {
  background: var(--brand-terra);
  border-color: var(--brand-terra);
  color: #fff;
  transform: translateY(-1px);
}

/* ─── Глобальный поиск: выпадашка результатов (портал в body) ─── */
.gsearch-pop{
  z-index:1000;
  max-height:72vh; overflow-y:auto;
  background:rgba(255,255,255,0.94);
  backdrop-filter:blur(20px) saturate(160%);
  border:1px solid var(--glass-bd);
  border-radius:14px;
  box-shadow:0 16px 48px rgba(15,30,40,0.18);
  padding:6px;
}
.gsearch-empty{padding:18px 12px; text-align:center; font-size:12.5px; color:var(--ink-4)}
.gsearch-grp{padding:4px 0}
.gsearch-grp + .gsearch-grp{border-top:1px solid rgba(15,76,92,0.06)}
.gsearch-grp__head{
  display:flex; align-items:center; gap:6px;
  padding:6px 10px 4px;
  font-size:10.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  color:var(--ink-4);
}
.gsearch-grp__count{margin-left:auto; font-weight:500; color:var(--ink-4)}
.gsearch-row{
  display:flex; flex-direction:column; align-items:flex-start; gap:1px;
  width:100%; text-align:left;
  padding:7px 10px; border-radius:9px; border:none; background:none;
  cursor:pointer; transition:background .1s ease;
}
.gsearch-row.is-active,
.gsearch-row:hover{background:rgba(15,76,92,0.07)}
.gsearch-row__title{font-size:13px; color:var(--ink-1); line-height:1.25}
.gsearch-row__sub{font-size:11.5px; color:var(--ink-3); line-height:1.2}

/* Пасхалка глобального поиска 🙃 */
.gsearch-egg{
  padding:28px 12px; text-align:center;
  font-size:30px; font-weight:800; letter-spacing:.08em;
  color:var(--brand-terra); text-transform:uppercase; -webkit-user-select:none; -moz-user-select:none; user-select:none;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/dashboard.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/dashboard.css === Главная страница (виджеты) ===*/
/* Импорт из @maclay/styles. Использует tokens.css */

/* Dashboard page-specific styles */
.page--dash{max-width:none}

/* URGENT BANNER */
.urgent{
  position:relative;
  border-radius:var(--r-lg);
  padding:14px 16px 12px;
  background:linear-gradient(180deg, rgba(255,237,232,0.75), rgba(255,225,218,0.55));
  border:1px solid rgba(224,120,86,0.32);
  box-shadow:0 6px 24px -8px rgba(200,65,58,0.18);
  backdrop-filter:blur(20px) saturate(160%);
  overflow:hidden;
}
.urgent::before{
  content:""; position:absolute; top:0; left:14px; right:14px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.9), transparent);
}
.urgent__head{display:flex; align-items:center; gap:10px}
.urgent__icon{
  width:28px; height:28px; border-radius:9px;
  background:linear-gradient(180deg, #E0635A, #C8413A);
  color:#FFF;
  display:grid; place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.3), 0 4px 10px -2px rgba(200,65,58,0.35);
  flex:none;
}
.urgent__title{font-size:13.5px; font-weight:600; color:#8C2922; letter-spacing:.005em}
.urgent__count{
  display:inline-flex; align-items:center; justify-content:center;
  margin-left:6px; box-sizing:border-box;
  min-width:21px; height:21px; padding:0 6px;
  background:#C8413A; color:#FFF; border-radius:7px;
  font-size:12px; font-weight:500; line-height:1;
  font-variant-numeric:tabular-nums; vertical-align:middle;
}
.urgent__sub{font-size:11.5px; color:#9C463E; margin-top:1px}
.urgent__all{
  margin-left:auto;
  display:inline-flex; align-items:center; gap:4px;
  font-size:12px; font-weight:500;
  color:#9C463E; text-decoration:none;
  padding:6px 10px; border-radius:8px;
  transition:background .15s ease;
}
.urgent__all:hover{background:rgba(200,65,58,0.08)}
.urgent__list{margin-top:10px; border-top:1px solid rgba(200,65,58,0.18); display:flex; flex-direction:column}
.urgent__list li{
  display:grid;
  grid-template-columns:58px 1.5fr 70px 1.1fr 96px 118px auto;
  align-items:center; gap:12px;
  padding:8px 0;
  border-bottom:1px dashed rgba(200,65,58,0.15);
  font-size:12.5px;
}
.urgent__list li:last-child{border-bottom:none; padding-bottom:0}
.u-id{font-variant-numeric:tabular-nums; font-size:11px; font-weight:600; color:#9C463E; letter-spacing:.02em}
.u-who{font-weight:600; color:#5D2520}
.u-tour{color:#7A3A33; display:flex}
.u-type{font-size:9.5px; font-weight:700; padding:2px 7px; border-radius:5px; text-transform:uppercase; letter-spacing:.03em; line-height:1.5}
.u-type--to{color:#225B6B; background:rgba(34,91,107,0.12)}
.u-type--cl{color:#1C82B5; background:rgba(28,130,181,0.12)}
.u-op{font-size:11.5px; color:#9C463E}
.u-amt{font-variant-numeric:tabular-nums; font-weight:600; color:#5D2520; text-align:right}
.u-due{font-size:11.5px; color:#9C463E; font-variant-numeric:tabular-nums}
.u-pay{
  background:#C8413A; color:#FFF;
  padding:5px 12px; border-radius:7px;
  font-size:11.5px; font-weight:600;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.25), 0 3px 8px -2px rgba(200,65,58,0.35);
  transition:transform .15s ease;
}
.u-pay:hover{transform:translateY(-1px)}

/* TILES */
.tiles{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--gap)}

/* progress bar */
.bar{
  position:relative; height:7px;
  background:rgba(15,76,92,0.07);
  border-radius:4px;
  margin-top:14px; overflow:hidden;
}
.bar__fill{
  position:absolute; top:0; left:0; height:100%;
  background:linear-gradient(90deg, #2F6C7E, var(--brand-terra));
  border-radius:4px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.25);
  transition:width .8s cubic-bezier(.34,1.2,.64,1);
}
.bar__marks{position:absolute; inset:0}
.bar__marks span{position:absolute; top:0; height:100%; width:1px; background:rgba(255,255,255,0.6)}

/* funnel */
.funnel{margin-top:10px; display:flex; flex-direction:column; gap:6px}
.funnel__row{display:grid; grid-template-columns:64px 1fr 28px; align-items:center; gap:8px}
.funnel__label{font-size:11.5px; color:var(--ink-2)}
.funnel__bar{height:14px; background:rgba(15,76,92,0.05); border-radius:4px; overflow:hidden}
.funnel__bar span{
  display:block; height:100%; border-radius:4px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.2);
  animation:funnelGrow .8s cubic-bezier(.34,1.2,.64,1) both;
  transform-origin:left;
}
@keyframes funnelGrow{ from{transform:scaleX(0)} to{transform:scaleX(1)} }
.funnel__num{font-size:11.5px; font-weight:600; color:var(--ink-1); text-align:right}

.spark{width:100%; height:56px; margin-top:6px; display:block}

/* GRID */
.grid2{display:grid; grid-template-columns:1.15fr 1fr; gap:var(--gap); align-items:start}
.rightcol{display:flex; flex-direction:column; gap:var(--gap)}

/* TASKS */
.tasks{display:flex; flex-direction:column; margin-top:4px}
.task{
  display:grid;
  grid-template-columns:20px 42px 1fr auto 22px;
  align-items:center; gap:10px;
  padding:8px 4px;
  border-top:1px solid var(--line-1);
  font-size:12.5px;
  position:relative;
}
.task:first-child{border-top:none}
html[data-density="compact"] .task{padding:5px 4px}
.check{
  width:16px; height:16px;
  border-radius:5px;
  border:1.5px solid var(--ink-4);
  background:rgba(255,255,255,0.6);
  display:grid; place-items:center;
  color:transparent;
  transition:all .15s ease;
}
.check:hover{border-color:var(--brand-deep)}
.check.is-checked{background:var(--brand-deep); border-color:var(--brand-deep); color:#FFFBF8}
.task__time{font-size:11px; color:var(--ink-3); font-weight:500}
.task__text{color:var(--ink-1)}
.task__tag{
  font-size:10px; font-weight:600;
  font-variant-numeric:tabular-nums; letter-spacing:.03em;
  color:var(--ink-3);
  background:rgba(15,76,92,0.05);
  padding:2px 6px; border-radius:5px;
}
.task.is-done .task__text{text-decoration:line-through; color:var(--ink-4)}
.task.is-done .task__time, .task.is-done .task__tag{opacity:.55}
.task.is-urgent::before{
  content:""; position:absolute; left:-12px; top:50%; transform:translateY(-50%);
  width:3px; height:18px; border-radius:2px;
  background:var(--brand-terra);
}

/* TRIPS */
.trips{display:flex; flex-direction:column}
.trip{
  display:grid;
  grid-template-columns:46px 56px 1fr auto;
  align-items:center; gap:12px;
  padding:10px 4px;
  border-top:1px solid var(--line-1);
}
.trip:first-child{border-top:none}
.trip__date{text-align:center; border-right:1px solid var(--line-1); padding-right:4px}
.trip__day{font-size:22px; font-weight:600; color:var(--brand-deep); line-height:1; letter-spacing:-.02em}
.trip__mon{font-size:10px; color:var(--ink-3); text-transform:uppercase; letter-spacing:.1em; margin-top:3px}
.trip__img{position:relative; width:56px; height:42px; border-radius:8px; overflow:hidden; border:1px solid var(--line-1)}
.trip__img svg{width:100%; height:100%; display:block}
.trip__img > :last-child{position:absolute; inset:0; margin:auto; color:var(--brand-deep-600); opacity:.55}
.trip__route{font-size:12.5px; font-weight:600; color:var(--ink-1)}
.trip__hotel{font-size:11.5px; color:var(--ink-2); margin-top:1px}
.trip__meta{display:flex; gap:5px; align-items:center; font-size:11px; color:var(--ink-3); margin-top:3px; flex-wrap:wrap}
.dot-sep{color:var(--ink-4)}
.trip__status{font-size:10.5px; font-weight:600; padding:3px 8px; border-radius:6px; letter-spacing:.02em; white-space:nowrap}
.status--оплачено{background:rgba(58,140,95,0.13); color:var(--ok)}
.status--готов{background:rgba(15,76,92,0.08); color:var(--brand-deep)}
.status--ждём-опл-{background:rgba(181,101,29,0.13); color:var(--warn)}
.status--подбор{background:rgba(154,170,177,0.18); color:var(--ink-3)}

/* BIRTHDAYS */
.bdays{display:flex; flex-direction:column}
.bdays li{display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:12px; padding:9px 4px; border-top:1px solid var(--line-1)}
.bdays li:first-child{border-top:none}
.bday__cake{
  width:32px; height:32px; border-radius:9px;
  background:linear-gradient(155deg, var(--brand-terra), var(--brand-terra-600));
  color:#FFFBF8;
  display:grid; place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.3), 0 4px 10px -3px rgba(224,120,86,0.35);
}
.bday__who{font-size:12.5px; font-weight:600; color:var(--ink-1)}
.bday__meta{font-size:11px; color:var(--ink-3); margin-top:1px}
.bday__note{font-size:11px; color:var(--brand-deep); margin-top:1px; font-style:italic; opacity:.85}
.bday__btn{
  background:rgba(255,255,255,0.7);
  border:1px solid rgba(224,120,86,0.3);
  color:var(--brand-terra);
  font-size:11px; font-weight:600;
  padding:5px 10px; border-radius:7px;
  transition:background .15s ease;
}
.bday__btn:hover{background:rgba(255,237,232,0.95)}

.page__foot{display:flex; justify-content:space-between; padding:18px 4px 4px; font-size:11px; color:var(--ink-3)}

@media (max-width:1180px){
  .tiles{grid-template-columns:1fr 1fr}
  .tiles > :nth-child(3){grid-column:1/-1}
  .grid2{grid-template-columns:1fr}
}
.u-id--link{cursor:pointer; text-decoration:none}
.u-id--link:hover{text-decoration:underline}

.bdays__more{display:inline-flex; align-items:center; gap:4px; margin-top:10px; font-size:12px; font-weight:600; color:var(--brand-terra,#C8413A); text-decoration:none}
.bdays__more:hover{text-decoration:underline}


/* ═══ Lego-дашборд: перетаскиваемые виджеты ═══ */
.dash-pinned{margin-bottom:var(--gap)}
.dash-tiles{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--gap); align-items:start; margin-bottom:var(--gap)}
.dash-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(360px,1fr)); gap:var(--gap); align-items:start}
.dash-col{display:flex; flex-direction:column; gap:var(--gap); min-width:0; min-height:32px}
.dash-lego{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:var(--gap); align-items:start}
.dash-cell{position:relative; min-width:0}
.dash-cell > *{height:auto}
.dash-cell .tile{min-height:205px}
.dash-grip{position:absolute; top:9px; right:9px; z-index:7; opacity:0; transition:opacity .14s; display:flex; align-items:center; justify-content:center; width:24px; height:24px; background:rgba(255,255,255,.82); border:1px solid var(--line-2,#e2e8f0); border-radius:6px; color:#94a3b8; cursor:grab; padding:0}
.dash-cell:hover .dash-grip{opacity:1}
.dash-grip:hover{color:#0F4C5C; background:#fff}
.dash-grip:active{cursor:grabbing}
.dash-cell.is-dragging{box-shadow:0 14px 36px rgba(15,76,92,.20); border-radius:14px}
@media(max-width:1100px){ .dash-lego{grid-template-columns:repeat(2,minmax(0,1fr))} .dash-cell{grid-column:span 2 !important} }

.dash-settings-bg{position:fixed; inset:0; background:rgba(15,76,92,.28); backdrop-filter:blur(2px); z-index:2147483646; display:grid; place-items:center; animation:dl-fade .15s}
.dash-settings{width:340px; max-width:calc(100vw - 32px); background:#fff; border-radius:14px; box-shadow:0 24px 60px rgba(15,76,92,.28); overflow:hidden}
.dash-settings__hd{display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--line-1,#eef2f4)}
.dash-settings__hd h3{font-size:15px; font-weight:700; color:#0F4C5C; margin:0}
.dash-settings__x{background:none; border:none; cursor:pointer; color:#94a3b8; line-height:0; display:flex}
.dash-settings__hint{padding:10px 16px 4px; font-size:12px; color:#94a3b8; margin:0}
.dash-settings__list{list-style:none; margin:0; padding:6px 8px 8px}
.dash-settings__list li label{display:flex; align-items:center; gap:9px; padding:8px 10px; border-radius:8px; cursor:pointer; font-size:14px; color:#334155}
.dash-settings__list li label:hover{background:#f1f5f8}
.dash-settings__list input{width:16px; height:16px; accent-color:#0F4C5C; cursor:pointer}
.dash-settings__reset{display:flex; align-items:center; gap:6px; margin:4px 12px 14px; padding:8px 12px; background:#f8fafc; border:1px solid var(--line-2,#e2e8f0); border-radius:8px; color:#64748b; font-size:13px; font-weight:600; cursor:pointer}
.dash-settings__reset:hover{background:#fef2f2; color:#dc2626; border-color:#fecaca}

.dash-settings__drag{display:flex; align-items:center; justify-content:space-between; padding:11px 16px; border-bottom:1px solid var(--line-1,#eef2f4); font-size:13.5px; color:#334155; font-weight:600}
.dash-switch{position:relative; width:38px; height:22px; border-radius:11px; background:#cbd5e1; border:none; cursor:pointer; transition:background .15s; padding:0; flex:none}
.dash-switch.is-on{background:#0F4C5C}
.dash-switch__dot{position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%; background:#fff; transition:transform .15s; box-shadow:0 1px 3px rgba(0,0,0,.2)}
.dash-switch.is-on .dash-switch__dot{transform:translateX(16px)}

/* ── Тайлы дашборда равной высоты (растёт один → растут все, без разнобоя) ── */
.dash-tiles{ align-items:stretch }
.dash-tiles .dash-cell > .tile{ height:100% }

/* ── Виджет «Счета на оплату» ── */
.invw{ list-style:none; margin:0; padding:0 }
.invw__row{ display:flex; align-items:center; gap:12px; padding:9px 4px; border-top:1px solid var(--line-1) }
.invw__row:first-child{ border-top:none }
.invw__main{ min-width:0; flex:1 }
.invw__sup{ display:block; font-size:13px; font-weight:600; color:var(--brand-deep); text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
a.invw__sup:hover{ color:var(--brand-terra) }
.invw__meta{ display:flex; align-items:center; gap:5px; font-size:11px; color:var(--ink-3); margin-top:2px; flex-wrap:wrap }
.invw__amt{ font-size:13px; font-weight:700; color:var(--danger); white-space:nowrap }
.invw__empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px 0; color:var(--ink-3); font-size:13px; text-align:center }

/* В растянутых тайлах дашборда подписи-футер («план/осталось», «лидов/заявок»)
   прижаты к низу, чтобы не висели в середине при равной высоте ряда. */
.dash-tiles .tile{ display:flex; flex-direction:column }
.dash-tiles .tile__foot{ margin-top:auto; padding-top:10px }

/* KPI-шапка дашборда: план крупным сверху, факт мелким-серым снизу (а не в строку). */
.vis-stats--kpi{gap:30px; align-items:flex-start}
.vis-stats--kpi .vis-stat{flex-direction:column; align-items:flex-start; gap:1px}
.vis-stats--kpi .vis-stat::before{display:none}
.vis-stat__sub{font-size:13px; font-weight:400; color:var(--ink-3); cursor:help}
.vis-stats--kpi .vis-stat__n{cursor:help}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/packages-search.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Пакетные туры (агрегатор БГ) — фильтр/выдача/деталка. Префикс .pkg-. Liquid-glass, бренд-токены CRM. */

.page--packages { display: flex; flex-direction: column; gap: 16px; padding: 24px 32px 40px; min-height: 100vh; }

/* ── HERO-фильтр (как на скрине: сегменты с подписями) ── */
.pkg-hero {
  display: flex; flex-wrap: wrap; align-items: stretch; gap: 1px;
  background: var(--line-1, #e3e6eb);
  border: 1px solid var(--line-1, #e3e6eb);
  border-radius: var(--r-lg, 16px); overflow: hidden;
  box-shadow: var(--shadow-card, 0 2px 12px rgba(8, 56, 74, 0.07));
}
.pkg-seg { display: flex; flex-direction: column; gap: 3px; padding: 11px 16px; flex: 1 1 150px; min-width: 120px; background: #fff; transition: background 0.15s; }
.pkg-seg:hover { background: var(--brand-cream-100, #faf8f3); }
.pkg-seg__lbl { font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--brand-deep-300, #9db4bd); display: flex; align-items: center; gap: 5px; }
.pkg-seg__val, .pkg-seg select, .pkg-seg input { border: none; outline: none; background: transparent; font-size: 14.5px; font-weight: 650; color: var(--brand-deep-700, #16323d); padding: 0; width: 100%; font-family: inherit; }
.pkg-seg input::-moz-placeholder { color: var(--brand-deep-300); font-weight: 500; }
.pkg-seg input::placeholder { color: var(--brand-deep-300); font-weight: 500; }
.pkg-seg--n { flex: 0 1 120px; }
.pkg-seg--n .pkg-nights { display: flex; align-items: center; gap: 4px; }
.pkg-seg--n input { width: 32px; font-size: 14px; }
.pkg-seg--cta { flex: 0 0 auto; padding: 0; }
.pkg-cta { height: 100%; min-height: 52px; border: none; background: var(--brand-terra, #d45f3a); color: #fff; font-size: 14px; font-weight: 700; padding: 0 28px; cursor: pointer; display: flex; align-items: center; gap: 8px; transition: background 0.15s; }
.pkg-cta:hover:not(:disabled) { background: var(--brand-terra-700, #a8401f); }
.pkg-cta:disabled { opacity: 0.5; cursor: not-allowed; }
.pkg-dates { display: flex; gap: 6px; align-items: center; }

/* ── вторичные фильтры ── */
.pkg-filters2 { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pkg-fl { display: flex; align-items: center; gap: 7px; padding: 7px 12px; background: #fff; border: 1px solid var(--line-1, #e3e6eb); border-radius: 10px; font-size: 13px; color: var(--brand-deep-600); }
.pkg-fl svg { color: var(--brand-deep-300); flex-shrink: 0; }
.pkg-fl select, .pkg-fl input { border: none; outline: none; background: transparent; font-size: 13px; color: var(--brand-deep-700); font-family: inherit; }
.pkg-fl input::-moz-placeholder { color: var(--brand-deep-300); }
.pkg-fl input::placeholder { color: var(--brand-deep-300); }
.pkg-chiprow { display: flex; gap: 4px; flex-wrap: wrap; }
.pkg-star, .pkg-chip { padding: 4px 10px; border-radius: 8px; border: 1px solid var(--line-1, #e3e6eb); background: #fff; cursor: pointer; font-size: 12.5px; font-weight: 600; color: var(--brand-deep-500, #3a5a68); transition: all 0.12s; font-family: inherit; }
.pkg-star.on { background: #fff1cf; border-color: #f0c869; color: #a06a14; }
.pkg-chip.on { background: #d9efdd; border-color: #9bd3a6; color: #2c6e3a; }
.pkg-resorts { display: flex; flex-wrap: wrap; gap: 6px; max-height: 92px; overflow-y: auto; width: 100%; padding: 2px; }

/* ── горящие ── */
.pkg-hot { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; padding: 11px 14px; background: linear-gradient(90deg, #fff6f0, #fff); border: 1px solid #f3d8c8; border-radius: 12px; }
.pkg-hot__t { font-weight: 700; color: var(--brand-terra-700, #a8401f); display: flex; align-items: center; gap: 6px; font-size: 13px; }
.pkg-hot__deal { background: #fff; border: 1px solid #f0d3c2; border-radius: 8px; padding: 4px 10px; font-size: 12.5px; cursor: pointer; transition: all 0.12s; color: var(--brand-deep-600); }
.pkg-hot__deal:hover { border-color: var(--brand-terra); box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.pkg-hot__deal b { color: var(--brand-terra-700, #a8401f); }

/* ── прогресс ── */
.pkg-prog { display: flex; align-items: center; gap: 12px; font-size: 13px; color: var(--brand-deep-500); padding: 4px 0; }
.pkg-prog__bar { flex: 1; height: 8px; background: var(--brand-cream-200, #f1efe8); border-radius: 4px; overflow: hidden; }
.pkg-prog__fill { height: 100%; background: linear-gradient(90deg, var(--brand-terra-400, #e8895f), var(--brand-terra, #d45f3a)); transition: width 0.3s; }

/* ── грид результатов ── */
.pkg-bar { font-size: 13px; color: var(--brand-deep-500); }
.pkg-bar b { color: var(--brand-deep-700); }
.pkg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.pkg-card { background: #fff; border: 1px solid rgba(8, 56, 74, 0.1); border-radius: 14px; overflow: hidden; box-shadow: var(--shadow-sm, 0 1px 3px rgba(8, 56, 74, 0.06)); cursor: pointer; transition: box-shadow 0.18s, transform 0.18s; display: flex; flex-direction: column; }
.pkg-card:hover { box-shadow: var(--shadow-md, 0 8px 22px rgba(8, 56, 74, 0.13)); transform: translateY(-2px); }
.pkg-card__ph { position: relative; height: 88px; display: flex; align-items: center; justify-content: center; color: rgba(255, 255, 255, 0.8); background: linear-gradient(125deg, var(--brand-deep-500, #3a5a68), var(--brand-deep-700, #16323d)); }
.pkg-card__phstars { position: absolute; top: 8px; right: 11px; color: #ffce54; font-size: 12px; letter-spacing: 1px; }
.pkg-card__head { padding: 12px 15px 0; }
.pkg-card__name { font-size: 15px; font-weight: 680; color: var(--brand-deep-700, #16323d); line-height: 1.25; }
.pkg-card__stars { color: #e8a93b; font-size: 12px; letter-spacing: 1px; white-space: nowrap; }
.pkg-card__resort { font-size: 12.5px; color: var(--brand-deep-400, #6a8794); margin-top: 3px; display: flex; align-items: center; gap: 4px; }
.pkg-card__rows { padding: 10px 15px; display: flex; flex-direction: column; gap: 5px; margin-top: 9px; border-top: 1px solid rgba(8, 56, 74, 0.06); }
.pkg-card__row { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--brand-deep-600, #2a4853); }
.pkg-card__row svg { color: var(--brand-deep-300); flex-shrink: 0; }
.pkg-card__foot { margin-top: auto; padding: 11px 15px; display: flex; align-items: center; justify-content: space-between; background: var(--brand-cream-100, #faf8f3); }
.pkg-card__price { font-size: 19px; font-weight: 780; color: var(--brand-terra-600, #c8623f); }
.pkg-card__price span { font-size: 11px; font-weight: 500; color: var(--brand-deep-400); }
.pkg-card__go { font-size: 12.5px; font-weight: 600; color: var(--brand-deep-600); display: flex; align-items: center; gap: 3px; }

/* ── деталка (модалка как 146) ── */
.pkg-ov { position: fixed; inset: 0; background: rgba(15, 40, 50, 0.42); backdrop-filter: blur(2px); display: flex; justify-content: center; align-items: flex-start; padding: 40px 20px; overflow: auto; z-index: 1200; }
.pkg-modal { width: min(880px, 100%); background: #fff; border-radius: 18px; overflow: hidden; box-shadow: var(--shadow-lg, 0 24px 64px rgba(8, 56, 74, 0.32)); }
.pkg-modal__hd { background: linear-gradient(125deg, var(--brand-deep-600, #0f4c5c), var(--brand-deep-800, #0d2730)); color: #fff; padding: 22px 26px; position: relative; }
.pkg-modal__stars { color: #ffce54; letter-spacing: 2px; font-size: 13px; }
.pkg-modal__name { font-size: 23px; font-weight: 750; margin-top: 2px; line-height: 1.15; }
.pkg-modal__loc { font-size: 13px; opacity: 0.85; margin-top: 4px; }
.pkg-modal__x { position: absolute; top: 18px; right: 18px; background: rgba(255, 255, 255, 0.16); border: none; color: #fff; width: 32px; height: 32px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.pkg-modal__x:hover { background: rgba(255, 255, 255, 0.28); }
.pkg-modal__body { padding: 22px 26px; }
.pkg-sum { display: grid; grid-template-columns: 1fr 1fr 220px; gap: 20px; align-items: start; }
.pkg-sum__col { display: flex; flex-direction: column; gap: 13px; }
.pkg-sum__item { display: flex; gap: 9px; align-items: flex-start; }
.pkg-sum__item svg { color: var(--brand-deep-300); margin-top: 2px; flex-shrink: 0; }
.pkg-sum__k { font-size: 11px; color: var(--brand-deep-400); }
.pkg-sum__v { font-size: 13.5px; font-weight: 600; color: var(--brand-deep-700); }
.pkg-sum__price { background: var(--brand-cream-100, #faf8f3); border-radius: 14px; padding: 16px; text-align: center; }
.pkg-sum__price b { font-size: 27px; font-weight: 820; color: var(--brand-deep-800, #0d2730); display: block; }
.pkg-sum__price small { font-size: 11px; color: var(--brand-deep-400); }
.pkg-book { margin-top: 12px; width: 100%; background: var(--brand-terra, #d45f3a); color: #fff; border: none; border-radius: 12px; padding: 13px; font-size: 14px; font-weight: 700; cursor: pointer; transition: background 0.15s; }
.pkg-book:hover { background: var(--brand-terra-700, #a8401f); }
.pkg-flights { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line-1); display: flex; flex-direction: column; gap: 16px; }
.pkg-flt { display: grid; grid-template-columns: 96px 1fr auto; gap: 14px; align-items: center; }
.pkg-flt__time { font-size: 15px; font-weight: 700; color: var(--brand-deep-700); }
.pkg-flt__date { font-size: 11px; color: var(--brand-deep-400); }
.pkg-flt__route { font-size: 13px; color: var(--brand-deep-600); font-weight: 500; }
.pkg-flt__dur { font-size: 11px; color: var(--brand-deep-400); margin-top: 2px; }
.pkg-flt__air { font-size: 12.5px; text-align: right; }
.pkg-flt__air b { color: var(--brand-deep-700); }
.pkg-flt__air span { display: block; font-size: 10px; text-transform: uppercase; color: var(--brand-deep-400); letter-spacing: 0.03em; }
.pkg-warn { margin-top: 16px; padding: 12px 14px; background: #fff8ec; border: 1px solid #f0d9a8; border-radius: 10px; font-size: 12.5px; color: #8a6a2a; line-height: 1.5; }
.pkg-variants { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line-1); }
.pkg-variants h4 { margin: 0 0 10px; font-size: 13px; color: var(--brand-deep-500); }
.pkg-vtable { width: 100%; border-collapse: collapse; font-size: 13px; }
.pkg-vtable th { text-align: left; color: var(--brand-deep-400); font-weight: 600; font-size: 11px; padding-bottom: 6px; }
.pkg-vtable th:last-child, .pkg-vrow td:last-child { text-align: right; }
.pkg-vrow { border-top: 1px solid var(--line-1); cursor: pointer; transition: background 0.12s; }
.pkg-vrow:hover { background: var(--brand-cream-100, #faf8f3); }
.pkg-vrow td { padding: 8px 4px; color: var(--brand-deep-700); }
.pkg-vrow.on { background: #fff1cf; }
.pkg-vrow td b { color: var(--brand-terra-600, #c8623f); }

/* ── состояния ── */
.pkg-state { padding: 48px 20px; text-align: center; color: var(--brand-deep-400); font-size: 14px; }
.pkg-spin { display: inline-block; width: 24px; height: 24px; border: 3px solid rgba(8, 56, 74, 0.15); border-top-color: var(--brand-terra, #d45f3a); border-radius: 50%; animation: pkg-rot 0.7s linear infinite; }
@keyframes pkg-rot { to { transform: rotate(360deg); } }

@media (max-width: 720px) {
  .page--packages { padding: 16px; }
  .pkg-sum { grid-template-columns: 1fr; }
  .pkg-modal__hd { padding: 18px; }
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/salary.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Меню «Зарплаты» (/salary). Скоупленные стили, префикс .sal- (css-discipline). */

.page--salary { --sal-teal: #0f4c5c; --sal-line: #e8eef1; }

/* шапка */
.sal-head { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.sal-monthnav { display: flex; align-items: center; gap: 8px; }
.sal-arrow {
  width: 36px; height: 36px; border-radius: 11px; border: 1px solid var(--sal-line);
  background: #fff; font-size: 19px; line-height: 1; cursor: pointer; color: var(--sal-teal);
  transition: background .15s, border-color .15s;
}
.sal-arrow:hover:not(:disabled) { background: #f0f7f8; border-color: #cfe3e6; }
.sal-arrow:disabled { opacity: .3; cursor: not-allowed; }
.sal-month { font-weight: 700; min-width: 140px; text-align: center; font-size: 15px; color: #0f172a; }

/* KPI-плитки */
.sal-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 16px; }
.sal-kpi {
  background: #fff; border: 1px solid var(--sal-line); border-radius: 14px; padding: 14px 16px;
  display: flex; flex-direction: column; gap: 3px; box-shadow: 0 1px 2px rgba(15,76,92,.04);
}
.sal-kpi__n { font-size: 22px; font-weight: 700; color: #0f172a; letter-spacing: -.01em; }
.sal-kpi__l { font-size: 12.5px; color: #64748b; }
.sal-kpi--accent { background: linear-gradient(135deg, #0f4c5c, #14637a); border-color: transparent; }
.sal-kpi--accent .sal-kpi__n, .sal-kpi--accent .sal-kpi__l { color: #fff; }
.sal-kpi--accent .sal-kpi__l { color: #cbe6ec; }

/* настройки */
.sal-settings { margin: 16px 0; padding: 0; overflow: hidden; }
.sal-settings__head {
  width: 100%; display: flex; align-items: center; gap: 12px; background: none; border: none;
  padding: 15px 18px; cursor: pointer; font: inherit; text-align: left;
}
.sal-settings__head:hover { background: #f8fafc; }
.sal-settings__title { font-weight: 600; color: #1e293b; }
.sal-settings__hint { font-size: 13px; flex: 1; }
.sal-chev { color: #94a3b8; font-size: 11px; }
.sal-settings__body { padding: 6px 18px 20px; border-top: 1px solid var(--sal-line); }
.sal-set-row { display: flex; gap: 18px; flex-wrap: wrap; margin: 16px 0; }
.sal-set-row label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: #64748b; }
.sal-set-row input { width: 180px; }
.sal-rates__title { font-size: 13px; font-weight: 600; color: #475569; margin: 8px 0 10px; }
.sal-rates__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px 20px; margin-bottom: 18px; }
.sal-rate { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; padding: 6px 0; border-bottom: 1px dashed #eef2f5; }
.sal-rate__lbl { color: #334155; }
.sal-rate__inp { display: flex; align-items: center; gap: 3px; color: #94a3b8; }
.sal-rate__inp i { font-style: normal; }
.sal-rate__inp input { width: 62px; text-align: right; }

.sal-settings input, .sal-set-row input, .sal-scheme input, .sal-ovr-edit input, .sal-pay-add input, .sal-pay-add select, .sal-rate__inp input {
  padding: 7px 10px; border: 1px solid #cbd5e1; border-radius: 9px; font: inherit; background: #fff;
}
.sal-settings input:focus, .sal-scheme input:focus { outline: none; border-color: var(--sal-teal); }

.sal-loading { padding: 32px; text-align: center; }

/* таблица */
.sal-table-card { padding: 0; overflow: hidden; }
.sal-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.sal-table thead th { background: #f1f5f7; color: #475569; font-weight: 600; font-size: 12.5px; padding: 12px 16px; text-align: left; white-space: nowrap; border-bottom: 1px solid var(--sal-line); }
.sal-table th.r, .sal-table td.r { text-align: right; }
.sal-table tbody td { padding: 13px 16px; border-bottom: 1px solid #f1f5f7; vertical-align: middle; }
.sal-row { cursor: pointer; transition: background .12s; }
.sal-row:hover { background: #f8fafc; }
.sal-row--open { background: #f0f7f8; }
.sal-row--open td { border-bottom-color: transparent; }
.sal-name { font-weight: 600; color: #0f172a; display: inline-flex; align-items: center; gap: 7px; }
.sal-caret { color: #94a3b8; font-size: 11px; width: 12px; }
.sal-deals-chip { margin-left: 12px; font-size: 12px; font-weight: 500; color: #64748b; background: #eef2f5; border-radius: 20px; padding: 2px 10px; white-space: nowrap; }
.sal-deals-chip--hit { background: #dcfce7; color: #047857; }
.sal-dim { color: #94a3b8; }
.sal-strong { font-weight: 700; color: #0f172a; }
.sal-due { color: #b45309; font-weight: 700; }
.sal-ok { color: #047857; }
.sal-empty { padding: 22px; text-align: center; }

/* раскрытие */
.sal-detail-row td { background: #f0f7f8; padding: 0 !important; }
.sal-detail { padding: 4px 18px 20px; }

.sal-scheme { background: #fff; border: 1px solid var(--sal-line); border-radius: 12px; padding: 14px 16px; margin-bottom: 16px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.sal-scheme__fields { display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap; }
.sal-scheme__fields label { display: flex; flex-direction: column; gap: 5px; font-size: 12.5px; color: #64748b; }
.sal-scheme__fields input { width: 130px; text-align: right; }
.sal-scheme__fields input[type="number"]:last-of-type { width: 90px; }
.sal-hint { color: #94a3b8; cursor: help; margin-left: 4px; }
.sal-breakdown { display: flex; align-items: center; gap: 9px; font-size: 13px; color: #64748b; flex-wrap: wrap; }
.sal-breakdown b { color: #1e293b; }
.sal-plus { color: #cbd5e1; font-weight: 700; }
.sal-breakdown__total { color: var(--sal-teal); }
.sal-breakdown__total b { color: var(--sal-teal); font-size: 15px; }

.sal-detail__cols { display: grid; grid-template-columns: 1.5fr 1fr; gap: 24px; }
.sal-detail h4 { margin: 0 0 10px; font-size: 12px; color: #64748b; text-transform: uppercase; letter-spacing: .04em; font-weight: 700; }

.sal-deals { width: 100%; border-collapse: collapse; font-size: 13px; }
.sal-deal td { padding: 7px 10px; border-bottom: 1px solid #e6eef0; }
.sal-deal a { color: var(--sal-teal); font-weight: 600; }
.sal-deal__name { color: #475569; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sal-deal__pct { color: #334155; }
.sal-ovr { color: #b45309; margin-left: 3px; cursor: help; }
.sal-pctbtn { width: 26px; height: 24px; border: 1px solid #cbd5e1; background: #fff; border-radius: 7px; cursor: pointer; color: var(--sal-teal); font-weight: 600; }
.sal-pctbtn:hover { background: #f0f7f8; }
.sal-ovr-edit { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 8px 4px; }
.sal-ovr-edit input[type="number"] { width: 100px; text-align: right; }
.sal-ovr-note { flex: 1; min-width: 160px; }

.sal-payouts { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.sal-payouts li { display: flex; align-items: center; gap: 9px; font-size: 13px; }
.sal-pay-amt { font-weight: 600; color: #0f172a; min-width: 84px; }
.sal-pay-kind { background: #e0f2f1; color: var(--sal-teal); border-radius: 6px; padding: 1px 8px; font-size: 12px; }
.sal-pay-note { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sal-del { margin-left: auto; background: none; border: none; color: #cbd5e1; cursor: pointer; font-size: 13px; }
.sal-del:hover { color: #dc2626; }
.sal-pay-add { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; }
.sal-pay-add input[type="number"] { width: 120px; }
.sal-pay-note-inp { flex: 1; min-width: 120px; }

.btn--sm { padding: 7px 14px; font-size: 13px; border-radius: 9px; }

@media (max-width: 900px) {
  .sal-kpis { grid-template-columns: repeat(2, 1fr); }
  .sal-detail__cols { grid-template-columns: 1fr; }
  .sal-scheme { flex-direction: column; align-items: stretch; }
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/inbox.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/inbox.css === Окно «Диалоги» (мессенджер-инбокс).
 * Liquid-glass в духе admin-shell. Только токены (tokens.css / shell.css :root).
 * Префикс домена: .inbox__* */

.inbox{
  display:flex;
  height:calc(100vh - 190px);
  min-height:440px;
  background:var(--glass-bg);
  border:1px solid var(--glass-bd);
  border-radius:var(--r-lg, 14px);
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  overflow:hidden;
}

/* ── Левый список диалогов ── */
.inbox__list{ width:320px; flex:none; display:flex; flex-direction:column; border-right:1px solid var(--line-1); }
.inbox__listhead{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border-bottom:1px solid var(--line-1);
  font-weight:600; color:var(--ink-1); font-size:13.5px;
}
.inbox__count{ font-size:11px; color:var(--ink-3); background:rgba(15,76,92,0.06); border-radius:999px; padding:2px 9px; }
.inbox__items{ flex:1; overflow-y:auto; }
.inbox__item{
  width:100%; text-align:left; display:block;
  padding:11px 16px; border-bottom:1px solid var(--line-1);
  background:none; cursor:pointer; transition:background .15s ease;
}
.inbox__item:hover{ background:rgba(15,76,92,0.04); }
.inbox__item.is-active{ background:rgba(212,95,58,0.08); }
.inbox__item-top{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.inbox__item-name{ font-size:13px; font-weight:600; color:var(--ink-1); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.inbox__item-time{ font-size:10.5px; color:var(--ink-4); flex:none; }
.inbox__item-last{ font-size:11.5px; color:var(--ink-3); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.inbox__list-empty{ padding:18px 16px; font-size:12.5px; color:var(--ink-4); }

/* ── Правая панель ── */
.inbox__pane{ flex:1; display:flex; flex-direction:column; min-width:0; }
.inbox__empty{ flex:1; display:grid; place-items:center; color:var(--ink-4); font-size:13px; }
.inbox__head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:13px 18px; border-bottom:1px solid var(--line-1);
}
.inbox__head-title{ font-size:14px; font-weight:600; color:var(--ink-1); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.inbox__head-sub{ font-size:11.5px; color:var(--ink-3); margin-top:1px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.inbox__head-right{ display:flex; align-items:center; gap:8px; flex:none; }

.inbox__badge{ font-size:11px; font-weight:600; border-radius:999px; padding:3px 10px; white-space:nowrap; }
.inbox__badge--bot{ background:rgba(15,76,92,0.08); color:var(--brand-deep); }
.inbox__badge--human{ background:rgba(212,95,58,0.12); color:var(--brand-terra-700); }

/* ── Лента сообщений ── */
.inbox__thread{ flex:1; overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:8px; background:rgba(255,255,255,0.25); }
.inbox__msg{ display:flex; }
.inbox__msg--out{ justify-content:flex-end; }
.inbox__bubble{
  max-width:76%; padding:9px 13px; border-radius:14px; font-size:13px; line-height:1.4;
  white-space:pre-wrap; word-break:break-word;
  background:#fff; border:1px solid var(--glass-bd); color:var(--ink-1);
  border-bottom-left-radius:4px;
}
.inbox__msg--out .inbox__bubble{
  background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600));
  color:#FFFBF8; border-color:transparent;
  border-bottom-left-radius:14px; border-bottom-right-radius:4px;
}
.inbox__btime{ font-size:10px; margin-top:4px; color:var(--ink-4); }
.inbox__msg--out .inbox__btime{ color:rgba(255,255,255,0.78); }

/* ── Поле ответа ── */
.inbox__reply{ border-top:1px solid var(--line-1); padding:12px 16px; }
.inbox__reply-row{ display:flex; align-items:flex-end; gap:10px; }
.inbox__input{
  flex:1; resize:none; font:inherit; font-size:13px; color:var(--ink-1);
  background:rgba(255,255,255,0.7); border:1px solid var(--glass-bd);
  border-radius:10px; padding:9px 12px; outline:none;
}
.inbox__input:focus{ border-color:var(--brand-terra-300); }
.inbox__input::-moz-placeholder{ color:var(--ink-4); }
.inbox__input::placeholder{ color:var(--ink-4); }
.inbox__hint{ font-size:11px; color:var(--ink-4); margin-top:6px; }

/* MOBILE: 2-панельный layout (список 320px + чат flex:1) на узком экране
   сжимал чат-панель в ~70px и обрезал её. Стекаем: список сверху (лимит высоты),
   диалог снизу во всю ширину. */
@media (max-width: 768px) {
  .inbox { flex-direction: column; height: calc(100vh - 150px); }
  .inbox__list {
    width: 100%; flex: none; max-height: 40vh;
    border-right: none; border-bottom: 1px solid var(--line-1);
  }
  .inbox__pane { width: 100%; min-width: 0; }
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/kanban.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/kanban.css === Канбан-доска заявок ===*/
/* Импорт из @maclay/styles. Использует tokens.css */

/* ─── KANBAN PAGE ──────────────────────────────────────── */
.page--kanban{
  padding:18px 22px 22px;
  flex:1;
  min-height:calc(100vh - 56px);  /* topbar */
  display:flex; flex-direction:column;
  gap:14px;
  max-width:none;
}
.page--kanban .h1{font-size:30px; margin-bottom:8px}
.istat--danger .istat__n{color:var(--danger)}

/* ─── FILTERS ──────────────────────────────────────────── */
.kfilters{
  display:flex; align-items:center; gap:10px;
  padding:8px 10px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  backdrop-filter:blur(20px) saturate(160%);
  box-shadow:0 4px 16px -8px rgba(15,76,92,0.08);
  flex-wrap:wrap;
}
.kfilters__group{display:flex; align-items:center; gap:6px; flex-wrap:wrap}
.kfilters__group--right{margin-left:auto}
.kfilters__label{font-size:11px; color:var(--ink-3); margin-right:2px; letter-spacing:.02em}

.mpill{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 8px 4px 5px;
  border-radius:99px;
  background:rgba(255,255,255,0.5);
  border:1px solid var(--line-1);
  font-size:11.5px; font-weight:500;
  color:var(--ink-2);
  transition:all .15s ease;
}
.mpill:hover{background:rgba(255,255,255,0.85); color:var(--ink-1)}
.mpill.is-active{
  background:linear-gradient(180deg, var(--brand-deep), var(--brand-deep-500));
  color:#FFFBF8;
  border-color:transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.15), 0 2px 8px -2px rgba(15,76,92,0.25);
}
.mpill.is-active .mpill__n{background:rgba(255,255,255,0.2); color:#FFFBF8}
.mpill__name{font-weight:500}
.mpill__n{
  font-size:10px; font-weight:600;
  background:rgba(15,76,92,0.07);
  color:var(--ink-3);
  padding:1px 6px;
  border-radius:99px;
  font-variant-numeric:tabular-nums;
}
.mpill:not(.is-active) .avatar{box-shadow:none}

.kselect{
  background:rgba(255,255,255,0.5);
  border:1px solid var(--line-1);
  border-radius:8px;
  padding:5px 10px;
  font-size:11.5px;
  color:var(--ink-2);
  cursor:pointer;
  outline:none;
  transition:background .15s ease;
}
.kselect:hover{background:rgba(255,255,255,0.85); color:var(--ink-1)}
.kselect:focus{border-color:rgba(15,76,92,0.25)}

.ksearch{
  display:flex; align-items:center; gap:6px;
  background:rgba(255,255,255,0.5);
  border:1px solid var(--line-1);
  border-radius:8px;
  padding:5px 10px;
  color:var(--ink-3);
  min-width:220px;
}
.ksearch:focus-within{border-color:rgba(15,76,92,0.25); background:rgba(255,255,255,0.85)}
.ksearch input{
  flex:1; min-width:0;
  background:none; border:none; outline:none;
  font-size:11.5px; color:var(--ink-1);
}
.ksearch input::-moz-placeholder{color:var(--ink-4)}
.ksearch input::placeholder{color:var(--ink-4)}

/* ─── BOARD ────────────────────────────────────────────── */
.board{
  flex:1;
  min-height:0;
  display:flex;
  gap:10px;
  align-items:stretch;
}

.kcol{
  flex:1 1 0;
  min-width:0;
  display:flex; flex-direction:column;
  border-radius:14px;
  background:rgba(255,255,255,0.45);
  border:1px solid rgba(255,255,255,0.55);
  box-shadow:0 6px 24px -10px rgba(15,76,92,0.07);
  backdrop-filter:blur(18px) saturate(160%);
  padding:10px 8px 8px;
  position:relative;
  transition:flex-basis .35s cubic-bezier(.34,1.2,.64,1), flex-grow .35s cubic-bezier(.34,1.2,.64,1), background .2s ease, border-color .2s ease;
  overflow:hidden;
}
.kcol::before{
  content:""; position:absolute; top:0; left:8px; right:8px; height:2px;
  background:var(--tone);
  border-radius:0 0 2px 2px;
  opacity:.7;
}
.kcol.is-collapsed{
  flex:0 0 44px;
  padding:10px 4px;
  background:rgba(255,255,255,0.35);
}
.kcol.is-dragover{
  background:rgba(255,237,232,0.7);
  border-color:rgba(224,120,86,0.45);
  box-shadow:0 10px 36px -8px rgba(224,120,86,0.25), inset 0 0 0 2px rgba(224,120,86,0.2);
}

.kcol__head{
  display:flex; align-items:center; gap:6px;
  padding:0 4px 8px;
  flex:none;
}
.kcol__collapse{
  width:18px; height:18px;
  border-radius:5px;
  display:grid; place-items:center;
  color:var(--ink-4);
  transition:color .15s ease, background .15s ease, transform .25s ease;
}
.kcol__collapse:hover{background:rgba(15,76,92,0.06); color:var(--ink-1)}
.kcol:not(.is-collapsed) .kcol__collapse{transform:rotate(-90deg)}
.kcol__dot{
  width:7px; height:7px; border-radius:50%;
  background:var(--tone);
  box-shadow:0 0 0 2px rgba(255,255,255,0.7), 0 0 8px var(--tone);
  flex:none;
}
.kcol__title{
  margin:0;
  font-family:"Inter",sans-serif;
  font-size:12px; font-weight:600;
  color:var(--ink-1);
  letter-spacing:.005em;
  flex:1; min-width:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.kcol__count{
  font-size:10.5px; font-weight:600;
  color:var(--ink-3);
  background:rgba(15,76,92,0.07);
  padding:1px 6px;
  border-radius:99px;
}
.kcol__more{
  width:18px; height:18px;
  border-radius:5px;
  display:grid; place-items:center;
  color:var(--ink-4);
  opacity:0;
  transition:opacity .15s ease, background .15s ease, color .15s ease;
}
.kcol:hover .kcol__more{opacity:1}
.kcol__more:hover{background:rgba(15,76,92,0.06); color:var(--ink-1)}
.kcol__meta{
  font-size:10.5px; color:var(--ink-3);
  padding:0 4px 8px;
  letter-spacing:.005em;
  flex:none;
}
.kcol__list{
  flex:1; min-height:0;
  overflow-y:auto;
  display:flex; flex-direction:column; gap:6px;
  padding:2px 2px 12px;
  margin:0 -2px;
  scrollbar-width:thin;
  scrollbar-color:rgba(15,76,92,0.18) transparent;
}
.kcol__list::-webkit-scrollbar{width:5px}
.kcol__list::-webkit-scrollbar-thumb{background:rgba(15,76,92,0.18); border-radius:3px}
.kcol__empty{
  display:flex; align-items:center; justify-content:center;
  gap:6px;
  padding:18px 8px;
  border:1.5px dashed var(--line-2);
  border-radius:9px;
  font-size:11px;
  color:var(--ink-4);
}

/* Collapsed column body (rotated label) */
.kcol__collapsed-body{
  flex:1;
  display:flex; flex-direction:column;
  align-items:center; justify-content:flex-start;
  padding-top:8px;
  gap:8px;
}
.kcol__collapsed-label{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-size:11px; font-weight:600;
  letter-spacing:.06em;
  color:var(--ink-2);
}
.kcol__collapsed-num{
  font-size:10px; font-weight:600;
  color:var(--ink-3);
  background:rgba(15,76,92,0.07);
  padding:1px 5px;
  border-radius:99px;
}

/* ─── DEAL CARD ────────────────────────────────────────── */
.deal{
  position:relative;
  background:rgba(255,255,255,0.85);
  border:1px solid rgba(255,255,255,0.7);
  border-radius:10px;
  padding:8px 9px 7px;
  box-shadow:0 2px 8px -2px rgba(15,76,92,0.08);
  cursor:grab;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  -webkit-user-select:none;
     -moz-user-select:none;
          user-select:none;
}
.deal:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 16px -4px rgba(15,76,92,0.14), 0 2px 4px rgba(15,76,92,0.06);
  border-color:rgba(255,255,255,1);
}
.deal:active{cursor:grabbing}
.deal.is-dragging{opacity:.4; transform:rotate(-1deg)}
.deal.is-urgent{
  background:linear-gradient(155deg, rgba(255,233,225,0.95), rgba(255,255,255,0.85) 70%);
  border-color:rgba(224,120,86,0.4);
}
.deal.is-urgent::before{
  content:""; position:absolute; left:0; top:8px; bottom:8px;
  width:2px; border-radius:0 2px 2px 0;
  background:var(--brand-terra);
}

.deal__head{
  display:flex; align-items:center; gap:5px;
  margin-bottom:4px;
}
.deal__id{
  font-size:9.5px; font-weight:600;
  color:var(--ink-3);
  letter-spacing:.04em;
  background:rgba(15,76,92,0.05);
  padding:1px 5px;
  border-radius:4px;
}
.deal__due{
  display:inline-flex; align-items:center; gap:3px;
  font-size:9.5px; font-weight:600;
  color:var(--warn);
  background:rgba(181,101,29,0.13);
  padding:1px 5px;
  border-radius:4px;
}
.deal__due.is-urgent{
  color:#FFF;
  background:linear-gradient(180deg, #E0635A, #C8413A);
  box-shadow:0 2px 6px -2px rgba(200,65,58,0.4);
}
.deal__trip{
  display:inline-flex; align-items:center; gap:3px;
  font-size:9.5px; font-weight:600;
  color:var(--ok);
  background:rgba(58,140,95,0.13);
  padding:1px 5px;
  border-radius:4px;
}
.deal__rating{
  font-size:10px;
  color:var(--brand-terra);
  letter-spacing:.04em;
}
.deal__mgr{margin-left:auto}
.deal__client{
  font-size:12px; font-weight:600;
  color:var(--ink-1);
  line-height:1.2;
  margin-bottom:2px;
  text-overflow:ellipsis; overflow:hidden; white-space:nowrap;
}
.deal__tour{
  font-size:10.5px;
  color:var(--ink-2);
  line-height:1.25;
  margin-bottom:6px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.deal__foot{
  display:flex; flex-direction:column; gap:3px;
}
.deal__amt{
  font-size:11.5px; font-weight:600;
  color:var(--brand-deep);
  letter-spacing:-.01em;
}
.deal__bar{
  position:relative;
  height:4px;
  background:rgba(15,76,92,0.07);
  border-radius:3px;
  overflow:hidden;
}
.deal__bar-fill{
  position:absolute; top:0; left:0; height:100%;
  background:linear-gradient(90deg, #2F6C7E, var(--brand-terra));
  border-radius:3px;
  transition:width .5s cubic-bezier(.34,1.2,.64,1);
}
.deal__bar-pct{
  position:absolute; right:0; top:-13px;
  font-size:9px;
  color:var(--ink-3);
  font-weight:500;
}
.deal__op{
  font-size:9.5px;
  color:var(--ink-3);
  text-overflow:ellipsis; overflow:hidden; white-space:nowrap;
  margin-top:2px;
}

/* ─── DRAWER ───────────────────────────────────────────── */
.drawer__scrim{
  position:fixed; inset:0;
  background:rgba(15,76,92,0.18);
  backdrop-filter:blur(2px);
  z-index:20;
  animation:scrimIn .25s ease;
}
@keyframes scrimIn{ from{opacity:0} to{opacity:1} }
.drawer{
  position:fixed; right:14px; top:14px; bottom:14px;
  width:min(460px, calc(100vw - 28px));
  z-index:21;
  border-radius:18px;
  background:rgba(255,255,255,0.88);
  border:1px solid var(--glass-bd);
  backdrop-filter:blur(36px) saturate(180%);
  box-shadow:0 24px 64px -16px rgba(15,76,92,0.25), 0 4px 12px rgba(15,76,92,0.08);
  display:flex; flex-direction:column;
  overflow:hidden;
  animation:drawerIn .35s cubic-bezier(.34,1.2,.64,1);
}
@keyframes drawerIn{
  from{transform:translateX(20px); opacity:0}
  to{transform:translateX(0); opacity:1}
}
.drawer__head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:18px 20px 12px;
  border-bottom:1px solid var(--line-1);
}
.drawer__id{
  font-size:10.5px; font-weight:600;
  color:var(--ink-3); letter-spacing:.04em;
}
.drawer__title{
  margin:3px 0 0;
  font-family:var(--font-heading);
  font-weight:500; font-size:22px;
  color:var(--brand-deep);
  letter-spacing:-.005em;
}
.drawer__close{
  width:30px; height:30px;
  border-radius:9px;
  background:rgba(15,76,92,0.06);
  display:grid; place-items:center;
  color:var(--ink-3);
  transform:rotate(45deg);
  transition:background .15s ease, color .15s ease;
}
.drawer__close:hover{background:rgba(15,76,92,0.12); color:var(--ink-1)}
.drawer__body{
  flex:1; overflow-y:auto;
  padding:14px 20px 16px;
  scrollbar-width:thin;
  scrollbar-color:rgba(15,76,92,0.18) transparent;
}
.drawer__body::-webkit-scrollbar{width:6px}
.drawer__body::-webkit-scrollbar-thumb{background:rgba(15,76,92,0.18); border-radius:3px}
.drawer__section{padding:12px 0; border-bottom:1px solid var(--line-1)}
.drawer__section:last-child{border-bottom:none}
.drawer__section--row{display:flex; align-items:center; justify-content:space-between; gap:12px}
.drawer__eyebrow{
  font-size:10px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-3);
  margin-bottom:8px;
}
.drawer__tour{font-size:14px; font-weight:500; color:var(--ink-1); margin-bottom:8px}
.drawer__meta{display:flex; flex-wrap:wrap; gap:10px 14px; font-size:11.5px; color:var(--ink-2)}
.drawer__meta b{font-weight:600; color:var(--ink-3); font-size:10px; text-transform:uppercase; letter-spacing:.06em; margin-right:4px}
.drawer__meta .is-urgent{color:var(--danger)}

.drawer__money{display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-bottom:10px}
.drawer__money-l{font-size:10.5px; color:var(--ink-3); margin-bottom:2px}
.drawer__money-v{font-size:15px; font-weight:600; color:var(--brand-deep)}
.drawer__bar{
  height:8px;
  background:rgba(15,76,92,0.07);
  border-radius:4px;
  overflow:hidden;
}
.drawer__bar span{
  display:block; height:100%; border-radius:4px;
  background:linear-gradient(90deg, #2F6C7E, var(--brand-terra));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.25);
  transition:width .6s cubic-bezier(.34,1.2,.64,1);
}
.drawer__bar-foot{
  display:flex; justify-content:space-between;
  margin-top:5px;
  font-size:11px;
}

.drawer__mgr{display:flex; align-items:center; gap:8px; font-size:13px; font-weight:500; color:var(--ink-1)}

.stagepicker{
  display:flex; flex-wrap:wrap; gap:5px;
}
.stagepicker__opt{
  font-size:11px; font-weight:500;
  padding:5px 10px;
  border-radius:7px;
  background:rgba(15,76,92,0.05);
  color:var(--ink-2);
  transition:all .15s ease;
  border:1px solid transparent;
}
.stagepicker__opt:hover{background:rgba(15,76,92,0.1); color:var(--ink-1)}
.stagepicker__opt.is-active{
  background:var(--tone);
  color:#FFFBF8;
  font-weight:600;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.2), 0 2px 8px -2px rgba(0,0,0,0.12);
}

.timeline{
  display:flex; flex-direction:column; gap:10px;
  padding-left:6px;
  list-style:none; margin:0;
}
.timeline li{
  position:relative;
  display:flex; gap:10px;
  padding-left:14px;
}
.timeline li::before{
  content:""; position:absolute; left:3px; top:8px; bottom:-10px;
  width:1px; background:var(--line-2);
}
.timeline li:last-child::before{display:none}
.timeline__dot{
  position:absolute; left:0; top:4px;
  width:7px; height:7px; border-radius:50%;
  background:#FFF;
  border:1.5px solid var(--brand-deep);
}
.timeline li:first-child .timeline__dot{background:var(--brand-terra); border-color:var(--brand-terra)}
.timeline__t{font-size:11.5px; color:var(--ink-1); font-weight:500}
.timeline__meta{font-size:10.5px; margin-top:1px}

.drawer__foot{
  padding:12px 20px;
  border-top:1px solid var(--line-1);
  background:rgba(255,255,255,0.4);
  display:flex; gap:8px; justify-content:flex-end;
}

/* Responsive: at narrower widths the cards get smaller content */
@media (max-width:1400px){
  .kcol{padding:8px 6px 6px}
  .deal{padding:7px 8px 6px}
  .ksearch{min-width:160px}
}
@media (max-width:1180px){
  .kfilters{padding:7px 8px}
  .mpill__name{display:none}
}

/* ─── MOBILE: доска скроллится по горизонтали, колонки читаемой ширины ─────
   Без этого N этапов делят 360-390px поровну (flex:1 1 0) и схлопываются в
   ~40px — нечитаемо. На мобиле — фикс-ширина + свайп между этапами. */
@media (max-width: 768px) {
  .board {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 8px;
    padding-bottom: 8px;
    scrollbar-width: thin;
  }
  .kcol:not(.is-collapsed) {
    flex: 0 0 232px;
    min-width: 232px;
  }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/bookings.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/bookings.css === Список заявок (грид) ===*/
/* Импорт из @maclay/styles. Использует tokens.css */

/* ─── BOOKINGS PAGE ────────────────────────────────── */
.page--bookings{max-width:none; padding:18px 24px 100px}
.istat--danger .istat__n{color:var(--danger)}

/* ─── Полноэкранный режим грида (фокус-режим) ─── */
.page--bookings.is-fs{
  position:fixed; inset:0; z-index:1100;
  margin:0; padding:14px 20px 20px;
  background:var(--bg-a);
  overflow:auto;
  animation:fsIn .16s ease;
}
@keyframes fsIn{from{opacity:.4; transform:scale(.995)} to{opacity:1; transform:none}}
.page--bookings.is-fs .page__head{display:none}      /* прячем H1/счётчики — остаётся фильтр + грид */
.page--bookings.is-fs .vsw{display:none}             /* и переключатель видов */
.page--bookings.is-fs .btoolbar{top:0}
.ghost-btn--fs.is-on{
  background:var(--brand-deep); color:#fff; border-color:transparent;
}
.ghost-btn--fs.is-on svg{color:#fff}

/* ─── TOOLBAR ──────────────────────────────────────── */
.btoolbar{
  position:sticky;
  top:64px;
  z-index:5;
  display:flex; flex-direction:column; gap:8px;
  padding:8px 10px;
  background:rgba(255,255,255,0.7);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 8px 24px -12px rgba(15,76,92,0.1);
}

/* Views row */
.bviews{
  display:flex; gap:2px;
  padding:2px;
  background:rgba(15,76,92,0.05);
  border-radius:9px;
  width:-moz-fit-content;
  width:fit-content;
  max-width:100%;
  overflow-x:auto;
}
.bview{
  display:inline-flex; align-items:center; gap:5px;
  padding:6px 11px;
  font-size:11.5px; font-weight:500;
  border-radius:7px;
  color:var(--ink-3);
  text-decoration:none;
  white-space:nowrap;
  transition:all .15s ease;
}
.bview:hover{color:var(--ink-1)}
.bview.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 3px rgba(15,76,92,0.08);
}

/* Row 2: filters */
.btoolbar__row2{display:flex; align-items:center; gap:7px; flex-wrap:wrap}

.bsearch{
  display:flex; align-items:center; gap:6px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:8px;
  padding:5px 10px;
  color:var(--ink-3);
  min-width:200px; max-width:260px; flex:1;
  transition:background .15s ease, border-color .15s ease;
}
.bsearch:focus-within{border-color:rgba(15,76,92,0.25); background:rgba(255,255,255,0.9)}
.bsearch input{
  flex:1; min-width:0;
  background:none; border:none; outline:none;
  font-size:12px; color:var(--ink-1);
}

.bmgrs{display:flex; gap:2px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px}
.bmpill{
  display:inline-flex; align-items:center; gap:5px;
  padding:4px 8px;
  border-radius:6px;
  font-size:11px; font-weight:500;
  color:var(--ink-3);
  transition:all .15s ease;
}
.bmpill:hover{color:var(--ink-1)}
.bmpill.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}
.bmpill .avatar{box-shadow:none}

.bstatus{display:flex; gap:4px; flex-wrap:wrap}
.bstatus-chip{
  display:inline-flex; align-items:center; gap:5px;
  padding:3px 8px;
  font-size:11px; font-weight:500;
  border:1px solid var(--line-1);
  border-radius:99px;
  color:var(--ink-3);
  background:rgba(255,255,255,0.5);
  transition:all .15s ease;
}
.bstatus-dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--tone);
}
.bstatus-chip:hover{background:rgba(255,255,255,0.85); color:var(--ink-1)}
.bstatus-chip.is-on{
  background:var(--tone);
  color:#FFFBF8;
  border-color:transparent;
  font-weight:600;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.2);
}
.bstatus-chip.is-on .bstatus-dot{background:rgba(255,255,255,0.85)}

.btoolbar__divider{width:1px; height:22px; background:var(--line-1); margin:0 2px}

.kselect{
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:7px;
  padding:5px 22px 5px 9px;
  font-size:11px;
  color:var(--ink-2);
  cursor:pointer;
  outline:none;
  -moz-appearance:none;
       appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236A8089' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat;
  background-position:right 6px center;
}
.kselect:hover{background-color:rgba(255,255,255,0.85); color:var(--ink-1)}
.kselect:focus{border-color:rgba(15,76,92,0.25)}
.kselect.is-on{background-color:rgba(255,255,255,0.92); color:var(--brand-deep); border-color:rgba(15,76,92,0.25); font-weight:600}

/* ── Выпадающий мультиселект статусов ── */
.bsdd{position:relative; display:inline-flex}
.bsdd-pop{
  position:fixed; z-index:1200;
  min-width:230px;
  padding:5px;
  background:#fff;
  border:1px solid var(--line-1);
  border-radius:9px;
  box-shadow:0 10px 30px -8px rgba(15,76,92,0.28), 0 2px 8px rgba(15,76,92,0.08);
}
.bsdd-opt{
  display:flex; align-items:center; gap:8px; width:100%;
  padding:6px 8px;
  font-size:12px; color:var(--ink-2);
  border-radius:6px; cursor:pointer;
  background:none; border:none; text-align:left;
  font-family:inherit;
}
.bsdd-opt:hover{background:rgba(15,76,92,0.06)}
.bsdd-opt.is-on{color:var(--brand-deep); font-weight:600}
.bsdd-check{width:13px; flex:0 0 13px; font-size:11px; color:var(--brand-terra)}
.bsdd-dot{width:8px; height:8px; flex:0 0 8px; border-radius:50%}
.bsdd-lbl{flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.bsdd-sep{height:1px; margin:4px 2px; background:var(--line-1)}
/* searchable вариант (ТО) */
.bsdd-pop--search{min-width:250px}
.bsdd-srch{
  display:flex; align-items:center; gap:6px;
  padding:5px 8px; margin-bottom:4px;
  border:1px solid var(--line-1); border-radius:7px;
  background:rgba(15,76,92,0.03);
  color:var(--ink-3);
}
.bsdd-srch input{
  flex:1; border:none; background:none; outline:none;
  font-size:12px; color:var(--ink-1); font-family:inherit;
}
.bsdd-list{max-height:260px; overflow-y:auto}
.bsdd-empty{padding:8px; font-size:12px; color:var(--ink-3); text-align:center}

/* ── Период-пикер ── */
.kselect--period{
  background-image:none; padding:5px 10px;
  display:inline-flex; align-items:center; gap:6px;
}
.kselect--period svg{color:var(--ink-3)}
.bsdd-pop--period{min-width:300px; padding:9px}
.pp-presets{display:grid; grid-template-columns:1fr 1fr; gap:4px}
.pp-preset{
  padding:6px 9px; font-size:12px; color:var(--ink-2);
  border:1px solid var(--line-1); border-radius:7px;
  background:rgba(255,255,255,0.5); cursor:pointer; text-align:left;
  font-family:inherit; transition:all .12s ease;
}
.pp-preset:hover{background:#fff; color:var(--ink-1); border-color:rgba(15,76,92,0.2)}
.pp-preset.is-on{background:var(--brand-deep); color:#fff; border-color:transparent; font-weight:600}
.pp-sec{margin-top:9px; padding-top:9px; border-top:1px solid var(--line-1)}
.pp-sec-h{
  display:flex; align-items:center; justify-content:space-between;
  font-size:10.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  color:var(--ink-3); margin-bottom:6px;
}
.pp-year{display:inline-flex; align-items:center; gap:7px; text-transform:none; letter-spacing:0}
.pp-year b{font-size:12px; color:var(--ink-1); min-width:34px; text-align:center}
.pp-year button{
  width:20px; height:20px; border-radius:5px; border:1px solid var(--line-1);
  background:rgba(255,255,255,0.6); color:var(--ink-2); cursor:pointer; line-height:1;
  font-size:13px; display:flex; align-items:center; justify-content:center;
}
.pp-year button:hover{background:#fff; color:var(--brand-deep)}
.pp-quarters{display:grid; grid-template-columns:repeat(4,1fr); gap:4px}
.pp-q{
  padding:7px 0; font-size:12px; font-weight:600; color:var(--ink-2);
  border:1px solid var(--line-1); border-radius:7px; background:rgba(255,255,255,0.5);
  cursor:pointer; font-family:inherit; transition:all .12s ease;
}
.pp-q:hover{background:#fff; color:var(--brand-deep); border-color:rgba(15,76,92,0.2)}
.pp-q.is-on{background:var(--brand-deep); color:#fff; border-color:transparent}
.pp-custom{display:flex; align-items:center; gap:6px}
.pp-custom .pp-date{
  width:108px; padding:5px 9px; font-size:12px;
  border:1px solid var(--line-1); border-radius:7px;
  background:rgba(255,255,255,0.6); color:var(--ink-1); font-family:inherit; outline:none;
}
.pp-dash{color:var(--ink-3)}
.pp-apply{
  margin-left:auto; padding:6px 14px; font-size:12px; font-weight:600;
  border:none; border-radius:7px; background:var(--brand-deep); color:#fff;
  cursor:pointer; font-family:inherit;
}
.pp-apply:disabled{opacity:.4; cursor:not-allowed}

.tseg{display:flex; gap:1px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px}
.tseg button{
  font-size:11px; font-weight:500;
  padding:4px 9px;
  border-radius:5px;
  color:var(--ink-3);
  transition:all .15s ease;
}
.tseg button.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}

.btoolbar__spacer{flex:1; min-width:8px}
.btoolbar__count{display:flex; align-items:baseline; gap:5px; font-size:11px; color:var(--ink-1); padding:0 4px}
.btoolbar__count .tabnum{font-size:13px; font-weight:600}

.bcol-toggle{position:relative}
.ghost-btn{
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 10px;
  border-radius:7px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  font-size:11px; font-weight:500;
  color:var(--ink-2);
  cursor:pointer;
  transition:all .15s ease;
}
.ghost-btn:hover{background:rgba(255,255,255,0.85); color:var(--ink-1)}

/* Column toggler menu */
.colmenu{
  position:absolute; right:0; top:calc(100% + 6px);
  z-index:10;
  background:rgba(255,255,255,0.95);
  backdrop-filter:blur(28px) saturate(180%);
  border:1px solid var(--glass-bd);
  border-radius:12px;
  box-shadow:0 16px 40px -8px rgba(15,76,92,0.2);
  width:300px; max-height:480px;
  display:flex; flex-direction:column;
  overflow:hidden;
}
.colmenu__head{
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 14px;
  border-bottom:1px solid var(--line-1);
  font-size:11.5px; font-weight:600;
  color:var(--ink-1);
}
.colmenu__body{
  flex:1; overflow-y:auto;
  padding:6px;
  scrollbar-width:thin;
  scrollbar-color:rgba(15,76,92,0.18) transparent;
}
.colmenu__group{margin-bottom:4px}
.colmenu__group-label{
  font-size:9.5px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase;
  color:var(--ink-4);
  padding:8px 10px 4px;
}
.colmenu__row{
  display:flex; align-items:center; gap:8px;
  padding:5px 10px;
  border-radius:7px;
  font-size:12px;
  color:var(--ink-1);
  cursor:pointer;
  transition:background .15s ease;
}
.colmenu__row:hover{background:rgba(15,76,92,0.04)}
.colmenu__row input{accent-color:var(--brand-terra); cursor:pointer}
.colmenu__row.is-locked{opacity:.6; cursor:not-allowed}

/* ─── TABLE CARD ─────────────────────────────────── */
.bcard{
  background:rgba(255,255,255,0.65);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  overflow:hidden;
}

.btable-wrap{overflow-x:auto; max-width:100%}
.btable-wrap::-webkit-scrollbar{height:8px}
.btable-wrap::-webkit-scrollbar-thumb{background:rgba(15,76,92,0.2); border-radius:4px}

.btable{
  border-collapse:collapse;
  font-size:11px;
  width:100%;
}
.btable thead th{
  position:sticky;
  top:0;
  z-index:2;
  font-size:9.5px; font-weight:600;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ink-3);
  padding:8px 8px;
  background:rgba(248,247,243,0.92);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line-1);
  white-space:nowrap;
}
.btable thead th.bth-num{text-align:right}
.bth-check{width:32px; padding-left:14px !important}

.btable tbody td{
  padding:7px 8px;
  border-bottom:1px solid var(--line-1);
  vertical-align:middle;
  color:var(--ink-1);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:0;
}
.btable tbody tr.btr:hover td{background:rgba(255,255,255,0.55)}
.btable tbody tr.btr:hover{box-shadow:inset 0 0 0 1px rgba(224,120,86,0.18)}
.btable tbody tr.btr.is-selected td{background:rgba(255,237,232,0.5)}
.btable tbody tr.btr.is-selected:hover td{background:rgba(255,237,232,0.65)}
.btable tbody tr.btr.is-urgent td:first-of-type{box-shadow:inset 3px 0 0 var(--brand-terra)}
.btable tbody tr:last-child td{border-bottom:none}

.btd-check{width:32px; padding-left:14px !important; padding-right:0 !important}
.btd-check input,.bth-check input{accent-color:var(--brand-terra); cursor:pointer}

.bt-idx{
  font-size:10px;
  color:var(--ink-4);
  font-variant-numeric:tabular-nums;
}
.bt-id{
  font-weight:600;
  color:var(--brand-deep);
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  background:rgba(15,76,92,0.05);
  padding:2px 6px;
  border-radius:4px;
  text-decoration:none;
  font-size:10.5px;
}
.bt-id:hover{background:rgba(224,120,86,0.15); color:var(--brand-terra)}

.status-chip{
  display:inline-flex; align-items:center; gap:4px;
  padding:2px 8px;
  border-radius:99px;
  font-size:10px; font-weight:600;
  background:rgba(255,255,255,0.6);
  border:1px solid var(--line-1);
  color:var(--ink-2);
}
.status-chip__dot{
  width:5px; height:5px; border-radius:50%;
  background:var(--tone);
  box-shadow:0 0 0 1.5px rgba(255,255,255,0.6);
}
.status-chip[data-status="paid"],
.status-chip[data-status="confirmed"]{color:var(--brand-deep); border-color:transparent; background:rgba(15,76,92,0.06)}
.status-chip[data-status="overdue"]{color:var(--danger); background:rgba(200,65,58,0.1); border-color:transparent}

.bt-client{font-weight:500; color:var(--ink-1)}
.bt-tour{font-size:11px}
.bt-country{font-weight:500; color:var(--brand-deep)}
.bt-op{font-size:11px; color:var(--ink-2); font-weight:500}
.bt-dates{font-size:10.5px; color:var(--ink-2)}

.bt-num{text-align:right; font-variant-numeric:tabular-nums; font-weight:500}
.bt-num.is-due{color:var(--danger); font-weight:600}

.bt-bar{
  position:relative;
  height:5px;
  background:rgba(15,76,92,0.06);
  border-radius:3px;
  width:60px;
  overflow:visible;
}
.bt-bar__fill{
  display:block; height:100%;
  background:linear-gradient(90deg, #6FA1AB, var(--brand-terra));
  border-radius:3px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.2);
  transition:width .5s cubic-bezier(.34,1.2,.64,1);
}
.bt-bar__pct{
  position:absolute; right:-32px; top:-4px;
  font-size:9.5px;
  color:var(--ink-3);
}

.bt-deadline{
  display:inline-flex; align-items:center; gap:3px;
  font-size:10.5px; font-weight:600;
  font-variant-numeric:tabular-nums;
  padding:2px 7px;
  border-radius:5px;
}
.bt-deadline.is-ok{color:var(--ink-3); background:rgba(15,76,92,0.05)}
.bt-deadline.is-warn{color:var(--warn); background:rgba(181,101,29,0.13)}
.bt-deadline.is-danger{
  color:#FFF;
  background:linear-gradient(180deg, #E0AC56, #B5651D);
  box-shadow:0 2px 6px -2px rgba(181,101,29,0.4);
}
.bt-deadline.is-overdue{
  color:#FFF;
  background:linear-gradient(180deg, #E0635A, #C8413A);
  box-shadow:0 2px 6px -2px rgba(200,65,58,0.45);
  font-weight:700;
}

.bt-actions{text-align:right; padding-right:14px !important}
.t-menu{
  width:22px; height:22px;
  display:grid; place-items:center;
  border-radius:5px;
  color:var(--ink-3);
}
.t-menu:hover{background:rgba(15,76,92,0.08); color:var(--ink-1)}

.t-empty{
  text-align:center;
  font-size:12px;
  color:var(--ink-4);
  font-style:italic;
  padding:36px 16px !important;
  max-width:none !important;
}

/* muted (override for table cells) */
.btable .muted{color:var(--ink-4); font-size:10.5px}

/* ─── PAGINATION ─────────────────────────────────── */
.tpag{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:10px;
  padding:6px 4px;
  font-size:12px;
  flex-wrap:wrap;
  gap:12px;
}
.tpag__info{display:flex; align-items:baseline; gap:5px; color:var(--ink-1)}
.tpag__info .muted{font-weight:400; color:var(--ink-3)}
.tpag__info .tabnum{font-weight:600}
.tpag__ctrls{display:flex; gap:3px; align-items:center}
.tpag__btn{
  width:28px; height:28px;
  display:grid; place-items:center;
  border-radius:7px;
  background:rgba(255,255,255,0.6);
  border:1px solid var(--line-1);
  color:var(--ink-2);
  transition:all .15s ease;
}
.tpag__btn:hover:not(:disabled){background:rgba(255,255,255,0.95); color:var(--ink-1)}
.tpag__btn:disabled{opacity:.35; cursor:not-allowed}
.tpag__page{
  min-width:28px; height:28px;
  padding:0 9px;
  border-radius:7px;
  font-size:11.5px; font-weight:500;
  color:var(--ink-2);
  background:rgba(255,255,255,0.4);
  border:1px solid transparent;
  font-variant-numeric:tabular-nums;
  transition:all .15s ease;
}
.tpag__page:hover{background:rgba(255,255,255,0.85); color:var(--ink-1)}
.tpag__page.is-active{
  background:linear-gradient(180deg, var(--brand-deep), var(--brand-deep-500));
  color:#FFFBF8;
  font-weight:600;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.15), 0 2px 6px -2px rgba(15,76,92,0.3);
}
.tpag__dots{color:var(--ink-4); padding:0 4px}

/* ─── BULK BAR ───────────────────────────────────── */
.bulkbar{
  position:fixed;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  display:flex; align-items:center; gap:4px;
  padding:7px 10px 7px 14px;
  background:rgba(15,76,92,0.92);
  color:#FFFBF8;
  border-radius:12px;
  box-shadow:0 18px 48px -8px rgba(15,76,92,0.4), 0 4px 12px rgba(15,76,92,0.2);
  backdrop-filter:blur(24px) saturate(180%);
  z-index:30;
  animation:bulkSlide .3s cubic-bezier(.34,1.2,.64,1);
  max-width:calc(100vw - 40px);
  flex-wrap:wrap;
}
@keyframes bulkSlide{
  from{transform:translate(-50%, 30px); opacity:0}
  to{transform:translate(-50%, 0); opacity:1}
}
.bulkbar__count{
  display:flex; align-items:baseline; gap:6px;
  font-size:12px; font-weight:500;
  padding-right:6px;
}
.bulkbar__count .tabnum{font-size:14px; font-weight:600}
.bulkbar__sep{width:1px; height:18px; background:rgba(255,255,255,0.2); margin:0 2px}
.bulkbar__btn{
  display:inline-flex; align-items:center; gap:5px;
  padding:6px 10px;
  font-size:11.5px; font-weight:500;
  border-radius:7px;
  color:rgba(255,255,255,0.88);
  transition:background .15s ease;
}
.bulkbar__btn:hover{background:rgba(255,255,255,0.12); color:#FFF}
.bulkbar__clear{
  width:24px; height:24px;
  margin-left:4px;
  border-radius:6px;
  display:grid; place-items:center;
  background:rgba(255,255,255,0.12);
  color:#FFF;
  transform:rotate(45deg);
  transition:background .15s ease;
}
.bulkbar__clear:hover{background:rgba(255,255,255,0.22)}

/* ─── ALT VIEWS ──────────────────────────────────── */
.alt-view{padding:16px 18px}
.alt-view__head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line-1);
}
.alt-view__head h3{
  margin:0;
  font-family:var(--font-heading);
  font-weight:500;
  font-size:17px;
  color:var(--brand-deep);
  letter-spacing:-.005em;
}
.alt-view__nav{display:flex; gap:6px}
.alt-view__legend{display:flex; align-items:center; gap:12px; font-size:11.5px; color:var(--ink-3)}
.legend-dot{width:10px; height:10px; border-radius:50%; display:inline-block; margin-right:2px}
.legend-dot--plan{background:rgba(15,76,92,0.25)}
.legend-dot--fact{background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600))}

/* CALENDAR */
.cal__wd{
  display:grid; grid-template-columns:repeat(7, 1fr);
  font-size:10px; font-weight:600;
  text-transform:uppercase; letter-spacing:.08em;
  color:var(--ink-3);
  padding-bottom:6px;
  border-bottom:1px solid var(--line-1);
}
.cal__wd > div{padding:4px 8px}
.cal__grid{
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  gap:1px;
  background:var(--line-1);
  border-radius:9px;
  overflow:hidden;
  margin-top:8px;
}
.cal__cell{
  background:rgba(255,255,255,0.55);
  padding:6px 8px;
  min-height:80px;
  display:flex; flex-direction:column; gap:4px;
}
.cal__cell.is-out{background:rgba(255,255,255,0.25); color:var(--ink-4)}
.cal__d{
  font-size:11px; font-weight:600;
  color:var(--ink-2);
  font-variant-numeric:tabular-nums;
}
.cal__cell.is-out .cal__d{color:var(--ink-4)}
.cal__items{display:flex; flex-direction:column; gap:2px}
.cal__item{
  display:flex; align-items:center; gap:5px;
  font-size:10px;
  color:var(--ink-1);
  background:rgba(255,255,255,0.7);
  padding:2px 6px;
  border-radius:4px;
  border:1px solid var(--line-1);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  cursor:pointer;
  transition:background .15s ease;
}
.cal__item:hover{background:rgba(255,255,255,1)}
.cal__dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--tone);
  flex:none;
}
.cal__more{font-size:9.5px; color:var(--ink-4); padding-left:11px}

/* BAR CHARTS */
.bars{
  display:flex; align-items:flex-end; gap:14px;
  height:240px;
  padding:14px 8px;
}
.bar-col{flex:1; display:flex; flex-direction:column; align-items:center; gap:6px; min-width:0}
.bar-col__bars{
  flex:1;
  display:flex; align-items:flex-end; gap:5px;
  width:100%; justify-content:center;
}
.bar{
  width:30px;
  min-height:6px;
  border-radius:6px 6px 0 0;
  position:relative;
  display:flex; align-items:flex-start; justify-content:center;
  padding-top:6px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.15);
  transition:height .6s cubic-bezier(.34,1.2,.64,1);
}
.bar--plan{background:rgba(15,76,92,0.18); color:var(--ink-2)}
.bar--fact{background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600)); color:#FFFBF8}
.bar__v{
  font-size:9.5px; font-weight:600;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.bar-col__l{
  font-size:10px;
  color:var(--ink-3);
  font-variant-numeric:tabular-nums;
}

/* HORIZONTAL BARS */
.hbars{display:flex; flex-direction:column; gap:10px; padding:6px 4px}
.hbar-row{display:grid; grid-template-columns:120px 1fr 180px; gap:14px; align-items:center}
.hbar-row__l{font-size:12px; font-weight:500; color:var(--ink-1)}
.hbar-row__track{
  position:relative;
  height:14px;
  background:rgba(15,76,92,0.05);
  border-radius:4px;
  overflow:hidden;
}
.hbar{
  position:absolute; top:0; left:0; height:100%;
  border-radius:4px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.15);
  transition:width .6s cubic-bezier(.34,1.2,.64,1);
}
.hbar--plan{background:rgba(15,76,92,0.2)}
.hbar--fact{background:linear-gradient(90deg, #2F6C7E, var(--brand-terra))}
.hbar-row__v{font-size:11.5px; font-weight:500; color:var(--brand-deep); text-align:right}
.hbar-row__v .muted{font-weight:400}

/* INSURANCE */
.ins-row{display:flex; gap:24px; align-items:center; padding:6px 4px}
.donut{width:160px; height:160px; flex:none}
.ins-table{flex:1; display:flex; flex-direction:column; gap:5px}
.ins-row__line{
  display:grid;
  grid-template-columns:14px 1fr 50px 110px;
  align-items:center; gap:10px;
  padding:7px 4px;
  border-bottom:1px solid var(--line-1);
  font-size:12px;
}
.ins-row__line:last-child{border-bottom:none}
.ins-row__dot{
  width:11px; height:11px; border-radius:50%;
  box-shadow:0 0 0 1.5px rgba(255,255,255,0.5);
}
.ins-row__l{color:var(--ink-1); font-weight:500}
.ins-row__line .tabnum{font-weight:600; color:var(--brand-deep); text-align:right}

/* ─── RESPONSIVE ─────────────────────────────────── */
@media (max-width:1400px){
  .btable{font-size:10.5px}
  .btable thead th{padding:7px 6px}
  .btable tbody td{padding:6px 6px}
}
@media (max-width:1180px){
  .btoolbar__row2 > .bmgrs{display:none}
}
@media (max-width:1024px){
  .page--bookings{padding:14px 14px 100px}
  .btoolbar{position:relative; top:0}
  .btable thead th{position:static}
  .bstatus{flex-basis:100%; order:10}
  .bulkbar{flex-direction:column; gap:4px; left:14px; right:14px; transform:none}
  @keyframes bulkSlide{ from{transform:translateY(30px); opacity:0} to{transform:translateY(0); opacity:1} }
  .hbar-row{grid-template-columns:80px 1fr; gap:10px}
  .hbar-row__v{grid-column:2}
  .ins-row{flex-direction:column; gap:14px}
}

/* ═══════════════════════════════════════════════════════════════
   ExcelGrid под Liquid Glass — 2026-05-26
   Обёртка табличного грида ZayavkiGridV2 + (опционально) внутренний toolbar.
   Используется в /bookings, /leads (когда переедет) и других гридах.
   ═══════════════════════════════════════════════════════════════ */

/* Контейнер таблицы — glass card */
.excel-grid-wrap{
  background:var(--glass-bg-strong);
  backdrop-filter:blur(var(--glass-blur)) saturate(180%);
  border:1px solid var(--glass-bd);
  border-radius:14px;
  box-shadow:0 1px 0 rgba(255,255,255,0.45) inset, 0 4px 14px rgba(0,0,0,0.06);
  margin-top:6px;
}
/* прячем вертикальный (правый) скроллбар грида; горизонтальный оставляем */
.excel-grid-wrap::-webkit-scrollbar{ width:0; height:9px; }
.excel-grid-wrap::-webkit-scrollbar-thumb{ background:rgba(15,76,92,0.22); border-radius:4px; }
.excel-grid-wrap::-webkit-scrollbar-track{ background:transparent; }

.excel-grid{
  background:transparent;
  font-family:var(--font-body);
  color:var(--ink-1);
}

/* Шапка таблицы — стеклянная, прилипает сверху */
.egrid__thead{
  background:rgba(250,248,243,0.92);
  backdrop-filter:blur(20px);
  box-shadow:0 1px 0 var(--line-1);
}
.egrid__th{
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--ink-3);
  background:transparent;
  border-right:1px solid var(--line-1);
  border-bottom:1px solid var(--line-2);
  position:relative;
  cursor:grab;
  -webkit-user-select:none;
     -moz-user-select:none;
          user-select:none;
  white-space:normal;
  word-break:break-word;
  line-height:1.2;
  vertical-align:top;
}
.egrid__th:last-child{border-right:none}

/* Строки */
.egrid__row{
  transition:background .12s ease;
}
.egrid__row--even{background:transparent}
.egrid__row--odd{background:rgba(245,242,236,0.5)}
.egrid__row:hover{
  background:rgba(212,95,58,0.06);  /* terra hover */
}

.egrid__td{
  white-space:normal;
  word-break:break-word;
  overflow-wrap:break-word;
  vertical-align:top;
  border-bottom:1px solid var(--line-1);
  line-height:1.35;
  font-size:12.5px;
  color:var(--ink-1);
}
.egrid__td--bd{border-right:1px solid var(--line-1)}

/* Подсветка пагинации/счётчика */
.tpag{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:8px 4px;
  font-size:12px;
}
.tpag__info{display:flex; align-items:center; gap:6px}
.tpag__info .muted{color:var(--ink-3)}
.tpag__ctrls{display:flex; align-items:center; gap:6px}
.tpag__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:8px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--glass-bd);
  color:var(--ink-1);
  font-weight:500;
  text-decoration:none;
  transition:background .14s, border-color .14s;
}
.tpag__btn:hover{background:rgba(255,255,255,0.78); border-color:var(--line-2)}
.tpag__page{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:8px;
  background:var(--brand-deep-600);
  color:#fff;
  font-weight:600;
}
.tpag__page.is-active{background:var(--brand-deep-600)}

/* === Внутренний egrid-toolbar (когда hideToolbar=false) === */
.egrid-toolbar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:8px;
  padding:6px 8px;
  background:rgba(255,255,255,0.6);
  border:1px solid var(--glass-bd);
  border-radius:10px;
}
.egrid-toolbar__preset{
  min-width:130px;
  height:28px;
  padding:0 10px;
  border-radius:8px;
  border:1px solid var(--line-2);
  background:rgba(255,255,255,0.7);
  color:var(--ink-1);
  font-size:12px;
}
.egrid-toolbar__btn{
  height:28px;
  padding:0 10px;
  border-radius:8px;
  border:1px solid var(--line-2);
  background:rgba(255,255,255,0.7);
  color:var(--ink-1);
  font-size:12px;
  cursor:pointer;
  transition:background .14s;
}
.egrid-toolbar__btn:hover{background:rgba(255,255,255,0.95)}
.egrid-toolbar__zoom{
  display:inline-flex;
  align-items:center;
  height:28px;
  border:1px solid var(--line-2);
  border-radius:8px;
  background:rgba(255,255,255,0.7);
  overflow:hidden;
}
.egrid-toolbar__zoom button{
  padding:0 8px;
  height:100%;
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:13px;
  color:var(--ink-1);
}
.egrid-toolbar__zoom button:hover{background:rgba(0,0,0,0.04)}
.egrid-toolbar__zoom .tabnum{
  min-width:40px;
  text-align:center;
  font-size:11px;
  color:var(--ink-3);
}
.egrid-toolbar__count{
  font-size:11px;
  color:var(--ink-3);
  margin-left:auto;
}

/* === ghost-btn (используется для "колонки 16/32" в Toolbar Claude Design) === */
.ghost-btn{
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:26px;
  padding:0 10px;
  border-radius:8px;
  background:rgba(255,255,255,0.6);
  border:1px solid var(--glass-bd);
  color:var(--ink-1);
  font-size:11px;
  font-weight:500;
  cursor:pointer;
  transition:background .14s, border-color .14s, transform .12s;
}
.ghost-btn:hover{
  background:rgba(255,255,255,0.85);
  border-color:var(--line-2);
}
.ghost-btn:active{transform:scale(0.97)}

/* === Поправка для thead в Excel-grid: убрать white background и box-shadow */
.excel-grid thead{
  background:transparent !important;
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/booking-detail.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/booking-detail.css === Карточка заявки (booking detail) ===*/
/* Импорт из @maclay/styles. Использует tokens.css */

/* ─── BOOKING PAGE ───────────────────────────────────── */
:root{
  --topbar-h:56px;
  --minibar-h:56px;
  --toc-h:46px; --sticky-top:calc(var(--topbar-h) + var(--toc-h) + 8px);
  --sticky-top-with-mini:calc(var(--topbar-h) + var(--minibar-h) + 4px);
}

.page--booking{
  padding:0;
  gap:0;
  max-width:none;
  display:block;
}

/* MINIBAR */
.minibar{
  position:fixed;
  top:var(--topbar-h);
  left:var(--sb-w);
  right:0;
  height:var(--minibar-h);
  z-index:6;
  display:flex; align-items:center; gap:14px;
  padding:0 22px;
  background:rgba(250,250,247,0.78);
  backdrop-filter:blur(28px) saturate(180%);
  border-bottom:1px solid rgba(15,76,92,0.08);
  box-shadow:0 6px 20px -10px rgba(15,76,92,0.12);
  transform:translateY(-100%);
  opacity:0;
  pointer-events:none;
  transition:transform .25s cubic-bezier(.34,1.2,.64,1), opacity .2s ease;
}
.minibar.is-visible{ transform:translateY(0); opacity:1; pointer-events:auto }
.minibar__id{
  font-family:var(--font-heading);
  font-weight:600; font-size:15px;
  color:var(--brand-deep);
  font-variant-numeric:tabular-nums; letter-spacing:.005em;
}
.minibar__sep{width:1px; height:18px; background:var(--line-1)}
.minibar__name{font-size:12.5px; font-weight:500; color:var(--ink-1)}
.minibar__name .muted{margin-left:4px}
.minibar__actions{margin-left:auto; display:flex; align-items:center; gap:6px}
.minibar__expand{
  font-size:11px; color:var(--ink-3);
  padding:5px 9px; border-radius:7px;
  background:rgba(15,76,92,0.05);
  transition:background .15s ease, color .15s ease;
}
.minibar__expand:hover{background:rgba(15,76,92,0.1); color:var(--ink-1)}

/* SAVE INDICATOR */
.saveind{
  display:inline-flex; align-items:center; gap:5px;
  font-size:11px; color:var(--ink-3);
  padding:3px 8px;
  border-radius:6px;
  background:rgba(15,76,92,0.04);
  transition:opacity .25s ease, color .25s ease;
}
.saveind__dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--ok);
  transition:background .2s ease;
}
.saveind.is-saving .saveind__dot{
  background:var(--brand-terra);
  animation:saveBlink 1s ease infinite;
}
@keyframes saveBlink{ 50%{opacity:.4} }

/* ─── LAYOUT ─────────────────────────────────────────── */
.booking-layout{
  display:grid;
  grid-template-columns:208px minmax(0, 1fr) 340px;
  gap:22px;
  padding:18px 24px 36px;
  align-items:start;
}

.booking-toc{
  position:sticky;
  top:var(--sticky-top);
  align-self:start;
  transition:top .25s ease;
}
body.has-minibar .booking-toc,
body.has-minibar .booking-right{ top:var(--sticky-top-with-mini) }

.booking-content{
  display:flex; flex-direction:column; gap:16px;
  min-width:0;
}

.booking-right{
  position:sticky;
  top:var(--sticky-top);
  align-self:start;
  max-height:calc(100vh - var(--sticky-top) - 16px);
  transition:top .25s ease;
}
body.has-minibar .booking-right{max-height:calc(100vh - var(--sticky-top-with-mini) - 16px)}

/* ─── HERO ────────────────────────────────────────────── */
.hero{
  position:relative;
  border-radius:var(--r-lg);
  padding:0;
  background:rgba(255,255,255,0.7);
  border:1px solid var(--glass-bd);
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  overflow:hidden;
}
.hero::before{
  content:""; position:absolute; top:0; left:14px; right:14px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.95), transparent);
}

.hero__upper{
  display:flex; align-items:flex-start; gap:24px;
  padding:18px 20px 16px;
}
.hero__left{flex:1; min-width:0}
.hero__id-row{display:flex; align-items:center; gap:10px; margin-bottom:6px}
.hero__id{
  font-family:var(--font-heading);
  font-weight:600;
  font-size:30px;
  letter-spacing:-.005em;
  color:var(--brand-deep);
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.hero__status{
  display:inline-flex; align-items:center; gap:5px;
  font-size:11.5px; font-weight:600;
  padding:4px 9px; border-radius:99px;
  background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600));
  color:#FFFBF8;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.3), 0 3px 8px -2px rgba(224,120,86,0.35);
}
.hero__status::before{
  content:""; width:6px; height:6px; border-radius:50%;
  background:#FFFBF8;
  box-shadow:0 0 0 2px rgba(255,255,255,0.3);
}
.hero__copy{display:flex; align-items:center; gap:5px; padding:5px 8px; border-radius:7px; color:var(--ink-3); transition:all .15s ease; font-size:11px}
.hero__copy:hover{background:rgba(15,76,92,0.05); color:var(--ink-1)}
.hero__name{
  font-size:18px; font-weight:500; color:var(--ink-1);
  letter-spacing:-.005em;
  line-height:1.3;
  margin-bottom:6px;
}
.hero__name b{font-weight:600; color:var(--brand-deep)}
.hero__sub{display:flex; align-items:center; gap:10px; font-size:11.5px; color:var(--ink-3); flex-wrap:wrap}
.hero__sub-online{display:inline-flex; align-items:center; gap:5px}
.hero__sub-online::before{
  content:""; width:6px; height:6px; border-radius:50%;
  background:var(--ok);
  box-shadow:0 0 0 2px rgba(58,140,95,0.18);
}

.hero__actions{display:flex; align-items:center; gap:6px; flex:none}
.hero__more{
  position:relative;
  width:34px; height:34px; border-radius:10px;
  display:grid; place-items:center;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--glass-bd);
  color:var(--ink-2);
  transition:background .15s ease, color .15s ease;
}
.hero__more:hover{background:rgba(255,255,255,0.85); color:var(--ink-1)}
.hero__menu{
  position:absolute; top:calc(100% + 6px); right:0;
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--glass-bd);
  border-radius:11px;
  padding:5px;
  min-width:180px;
  box-shadow:0 12px 32px -8px rgba(15,76,92,0.2);
  z-index:5;
  display:flex; flex-direction:column;
}
.hero__menu button{
  display:flex; align-items:center; gap:8px;
  padding:7px 9px; border-radius:7px;
  font-size:12px; color:var(--ink-2);
  text-align:left;
}
.hero__menu button:hover{background:rgba(15,76,92,0.05); color:var(--ink-1)}
.hero__menu .danger{color:var(--danger)}
.hero__menu .danger:hover{background:rgba(200,65,58,0.06)}
.hero__menu hr{border:none; height:1px; background:var(--line-1); margin:4px 6px}

/* HERO LOWER — financial tiles */
.hero__lower{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1px;
  background:var(--line-1);
  border-top:1px solid var(--line-1);
}
.fintile{
  background:rgba(255,255,255,0.55);
  padding:14px 16px 12px;
  position:relative;
  transition:background .2s ease;
}
.fintile:hover{background:rgba(255,255,255,0.78)}
.fintile--danger{background:linear-gradient(180deg, rgba(255,237,232,0.6), rgba(255,255,255,0.45))}
.fintile--danger::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:2px;
  background:linear-gradient(180deg, #E0635A, #C8413A);
}
.fintile--ok::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:2px;
  background:linear-gradient(180deg, var(--ok), #1F6A40);
}
.fintile--profit{background:linear-gradient(180deg, rgba(232,241,244,0.6), rgba(255,255,255,0.4))}
.fintile__eyebrow{
  font-size:9.5px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase;
  color:var(--ink-3);
  margin-bottom:6px;
}
.fintile__val{
  font-size:22px; font-weight:600;
  color:var(--brand-deep);
  letter-spacing:-.015em;
  font-variant-numeric:tabular-nums;
}
.fintile__val .rub{font-size:14px; color:var(--ink-3); margin-left:3px; font-weight:500}
.fintile__sub{font-size:11px; color:var(--ink-3); margin-top:2px; display:flex; align-items:center; gap:6px}
.fintile__sub b{font-weight:600; font-variant-numeric:tabular-nums}
.fintile__sub--danger b{color:var(--danger)}
.fintile__sub--ok b{color:var(--ok)}
.fintile__bar{
  height:4px;
  background:rgba(15,76,92,0.06);
  border-radius:3px;
  margin-top:10px;
  overflow:hidden;
}
.fintile__bar span{
  display:block; height:100%; border-radius:3px;
  background:linear-gradient(90deg, #2F6C7E, var(--brand-terra));
  transition:width .8s cubic-bezier(.34,1.2,.64,1);
}
.fintile--ok .fintile__bar span{background:linear-gradient(90deg, #6FA1AB, var(--ok))}

/* ─── TOC ────────────────────────────────────────────── */
.toc{
  position:relative;
  padding:8px 6px 8px 16px;
  background:rgba(255,255,255,0.4);
  border:1px solid rgba(255,255,255,0.6);
  border-radius:14px;
  backdrop-filter:blur(20px) saturate(160%);
}
.toc__line{
  position:absolute; top:14px; bottom:14px; left:10px; width:2px;
  background:rgba(15,76,92,0.08);
  border-radius:2px;
}
.toc__line-active{
  position:absolute; left:10px; width:2px;
  background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600));
  border-radius:2px;
  transition:top .25s cubic-bezier(.34,1.2,.64,1), height .25s cubic-bezier(.34,1.2,.64,1);
}
.toc__label{
  font-size:9.5px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase;
  color:var(--ink-4);
  padding:4px 4px 8px 4px;
}
.toc__list{display:flex; flex-direction:column; gap:1px}
.toc__item{
  display:flex; align-items:center; gap:8px;
  padding:6px 10px 6px 8px;
  border-radius:7px;
  font-size:12px; font-weight:500;
  color:var(--ink-3);
  text-align:left;
  text-decoration:none;
  transition:color .15s ease, background .15s ease;
  position:relative;
}
.toc__item:hover{color:var(--ink-1); background:rgba(15,76,92,0.04)}
.toc__item.is-active{color:var(--brand-deep); font-weight:600; background:rgba(224,120,86,0.08)}
.toc__num{
  font-size:9.5px; font-weight:600;
  font-variant-numeric:tabular-nums;
  color:var(--ink-4);
  letter-spacing:.04em;
  width:14px;
}
.toc__item.is-active .toc__num{color:var(--brand-terra)}
.toc__name{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.toc__badge{
  font-size:9.5px; font-weight:600;
  background:rgba(15,76,92,0.07);
  color:var(--ink-3);
  padding:1px 5px;
  border-radius:99px;
  font-variant-numeric:tabular-nums;
}
.toc__item.is-active .toc__badge{background:rgba(224,120,86,0.18); color:var(--brand-terra)}

.toc__bulk{
  margin-top:8px; padding-top:8px;
  border-top:1px solid var(--line-1);
  display:flex; gap:4px;
}
.toc__bulk button{
  flex:1;
  font-size:10px; font-weight:500;
  padding:4px 6px;
  border-radius:6px;
  color:var(--ink-3);
  background:rgba(15,76,92,0.04);
  transition:all .15s ease;
}
.toc__bulk button:hover{background:rgba(15,76,92,0.1); color:var(--ink-1)}

/* ─── SECTIONS ───────────────────────────────────────── */
.bsection{padding:0; overflow:visible}
.bsection__head{
  position:sticky;
  top:var(--sticky-top);
  z-index:3;
  display:flex; align-items:center; gap:10px;
  padding:14px 18px;
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid var(--line-1);
  cursor:pointer;
  transition:background .15s ease, top .25s ease;
  border-radius:var(--r-lg) var(--r-lg) 0 0;
}
body.has-minibar .bsection__head{top:var(--sticky-top-with-mini)}
.bsection__head:hover{background:rgba(255,255,255,0.95)}
.bsection.is-collapsed .bsection__head{border-bottom-color:transparent; border-radius:var(--r-lg)}
.bsection__num{
  font-family:var(--font-heading);
  font-style:normal;
  font-weight:500;
  font-size:18px;
  color:var(--brand-terra);
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
}
.bsection__title{
  margin:0;
  font-family:var(--font-heading);
  font-weight:500;
  font-size:18px;
  color:var(--brand-deep);
  letter-spacing:-.005em;
}
.bsection__badge{
  font-size:10.5px; font-weight:600;
  background:rgba(15,76,92,0.07);
  color:var(--ink-3);
  padding:1px 7px;
  border-radius:99px;
  font-variant-numeric:tabular-nums;
}
.bsection__hint{
  font-size:11px; color:var(--ink-4);
  margin-left:auto;
}
.bsection__chev{
  color:var(--ink-3);
  transition:transform .25s ease, color .15s ease;
}
.bsection.is-collapsed .bsection__chev{transform:rotate(-90deg)}
.bsection__head:hover .bsection__chev{color:var(--ink-1)}

.bsection__body{
  padding:16px 18px 18px;
  transition:opacity .2s ease;
}
.bsection.is-collapsed .bsection__body{display:none}

/* ─── FIELDS (edit mode) ─────────────────────────────── */
.field{display:flex; flex-direction:column; gap:3px; min-width:0}
.field__label{
  font-size:10px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-4);
}
.field__input,
.field__select{
  font:inherit;
  font-size:13px;
  color:var(--ink-1);
  background:transparent;
  border:1px solid transparent;
  border-radius:7px;
  padding:5px 8px;
  margin:0 -8px;
  outline:none;
  width:calc(100% + 16px);
  transition:background .15s ease, border-color .15s ease;
  text-overflow:ellipsis;
}
.field__input:hover,
.field__select:hover{background:rgba(15,76,92,0.04)}
.field__input:focus,
.field__select:focus{
  background:rgba(255,255,255,0.95);
  border-color:rgba(15,76,92,0.2);
  box-shadow:0 0 0 3px rgba(224,120,86,0.1);
}
.field__select{cursor:pointer; -moz-appearance:none; appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236A8089' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat;
  background-position:right 8px center;
  padding-right:22px;
}
.field__input::-moz-placeholder{color:var(--ink-4)}
.field__input::placeholder{color:var(--ink-4)}
.field__textarea{
  font:inherit; font-size:13px;
  color:var(--ink-1);
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:9px;
  padding:10px 12px;
  outline:none;
  width:100%;
  min-height:96px;
  resize:vertical;
  line-height:1.5;
  transition:border-color .15s ease, background .15s ease;
}
.field__textarea:focus{
  background:rgba(255,255,255,0.95);
  border-color:rgba(15,76,92,0.2);
  box-shadow:0 0 0 3px rgba(224,120,86,0.1);
}
.field--warn .field__input{color:var(--warn)}
.field--ok .field__input{color:var(--ok)}
.field__link{
  font-size:11px; font-weight:500;
  color:var(--brand-terra);
  margin-top:3px;
}
.field__link:hover{text-decoration:underline}

.field-grid{display:grid; gap:14px 22px; grid-template-columns:1fr 1fr}
.field-grid .field-grid{padding:0; margin:0}
.field-utm{display:grid; gap:8px; grid-template-columns:repeat(5, 1fr); margin-top:4px}
.field-utm .field{gap:2px}
.field-utm .field__label{font-size:9px}

/* ─── 01 ФИНАНСЫ ─────────────────────────────────────── */
.fin-tabs{
  display:flex; gap:2px;
  margin-top:12px;
  padding:3px;
  background:rgba(15,76,92,0.04);
  border-radius:9px;
  width:-moz-fit-content;
  width:fit-content;
}
.fin-tabs button{
  font-size:11.5px; font-weight:500;
  padding:5px 11px;
  border-radius:7px;
  color:var(--ink-3);
  transition:all .15s ease;
}
.fin-tabs button:hover{color:var(--ink-1)}
.fin-tabs button.is-active{
  background:rgba(255,255,255,0.85);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 3px rgba(15,76,92,0.06);
}
.fin-tab-panel{
  margin-top:12px;
  padding:12px 14px;
  background:rgba(15,76,92,0.025);
  border-radius:10px;
  font-size:12px;
  color:var(--ink-2);
  line-height:1.55;
}
.fin-link{
  font-size:11.5px; font-weight:500;
  color:var(--brand-terra);
  margin-top:6px;
  display:inline-flex; align-items:center; gap:4px;
}

/* ─── 03 КЛИЕНТ ──────────────────────────────────────── */
.client-card{display:flex; gap:18px; align-items:flex-start}
.client-card__avatar{
  width:64px; height:64px; border-radius:50%;
  background:linear-gradient(155deg, #2F6C7E, var(--brand-deep-600));
  color:var(--brand-cream-200);
  display:grid; place-items:center;
  font-family:var(--font-heading);
  font-weight:500;
  font-size:24px;
  letter-spacing:-.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.25), 0 6px 14px -4px rgba(15,76,92,0.3);
  flex:none;
}
.client-card__main{flex:1; min-width:0}
.client-card__fio{
  font-family:var(--font-heading);
  font-weight:500;
  font-size:22px;
  color:var(--brand-deep);
  letter-spacing:-.005em;
  margin-bottom:4px;
}
.client-card__labels{display:flex; gap:5px; flex-wrap:wrap; margin-bottom:10px}
.client-label{
  font-size:10.5px; font-weight:600;
  padding:2px 8px;
  border-radius:99px;
  letter-spacing:.01em;
}
.client-label--vip{background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600)); color:#FFFBF8}
.client-label--regular{background:rgba(58,140,95,0.13); color:var(--ok)}
.client-label--count{background:rgba(15,76,92,0.07); color:var(--ink-2)}
.client-contacts{display:flex; flex-direction:column; gap:6px; font-size:12.5px}
.client-contact{display:flex; align-items:center; gap:8px}
.client-contact__val{color:var(--ink-1); font-weight:500; font-variant-numeric:tabular-nums}
.client-contact__icons{display:flex; gap:2px; margin-left:4px}
.client-iconbtn{
  width:24px; height:24px;
  display:grid; place-items:center;
  border-radius:6px;
  color:var(--ink-3);
  transition:all .15s ease;
}
.client-iconbtn:hover{background:rgba(15,76,92,0.07); color:var(--brand-deep)}
.client-iconbtn--wa:hover{color:#25D366}
.client-iconbtn--tg:hover{color:#229ED9}
.client-iconbtn--call:hover{color:var(--ok)}

.client-warn{
  font-size:11.5px;
  color:var(--warn);
  background:rgba(181,101,29,0.1);
  padding:6px 10px;
  border-radius:7px;
  display:inline-flex; align-items:center; gap:6px;
  margin-top:8px;
}

.client-side{
  border-left:1px solid var(--line-1);
  padding-left:20px;
  display:flex; flex-direction:column; gap:14px;
  min-width:200px;
}
.client-side .field__label{margin-bottom:4px}
.client-row-open{
  margin-top:8px;
  display:inline-flex; align-items:center; gap:5px;
  font-size:12px; font-weight:500;
  color:var(--brand-terra);
}
.client-row-open:hover{text-decoration:underline}

/* ─── 04 ТУРИСТЫ ─────────────────────────────────────── */
.tab-toolbar{display:flex; align-items:center; gap:8px; margin-bottom:12px}
.tab-toolbar__spacer{flex:1}
.btn-mini{
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 11px;
  font-size:11.5px; font-weight:500;
  border-radius:7px;
  transition:all .15s ease;
}
.btn-mini.btn-primary{padding:5px 11px}

.travelers-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}
.travelers-table th{
  font-size:10px; font-weight:600;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ink-4);
  padding:6px 8px;
  border-bottom:1px solid var(--line-1);
  white-space:nowrap;
}
.travelers-table th:first-child, .travelers-table td:first-child{padding-left:0}
.travelers-table th:last-child, .travelers-table td:last-child{padding-right:0; text-align:right}
.travelers-table td{
  padding:8px;
  border-bottom:1px solid var(--line-1);
  vertical-align:top;
  color:var(--ink-1);
}
.travelers-table tr:last-child td{border-bottom:none}
.t-n{
  font-size:10px; font-weight:600;
  color:var(--ink-4);
  width:18px;
}
.t-title{width:64px}
.t-fio-ru{font-weight:500}
.t-fio-en{font-size:10.5px; color:var(--ink-3); letter-spacing:.04em; margin-top:1px}
.t-doc{font-variant-numeric:tabular-nums; font-size:11.5px}
.t-doc-exp{font-size:10px; color:var(--ink-3); margin-top:1px}
.t-doc-exp.is-warn{color:var(--warn); font-weight:500}
.t-doc--empty{color:var(--ink-4); font-style:italic; font-size:11px}
.t-age{font-variant-numeric:tabular-nums; width:46px; color:var(--ink-2)}
.t-actions{width:30px}
.t-menu{
  width:22px; height:22px;
  display:grid; place-items:center;
  border-radius:5px;
  color:var(--ink-3);
}
.t-menu:hover{background:rgba(15,76,92,0.06); color:var(--ink-1)}

/* ─── 05 УСЛУГИ ──────────────────────────────────────── */
.service-group{margin-bottom:14px}
.service-group:last-child{margin-bottom:0}
.service-group__head{
  display:flex; align-items:center; gap:8px;
  padding:7px 12px;
  background:rgba(15,76,92,0.05);
  border-radius:9px;
  margin-bottom:6px;
  font-size:12px; font-weight:500;
  color:var(--ink-1);
}
.service-group__head b{font-weight:600; color:var(--brand-deep); font-variant-numeric:tabular-nums}
.service-group__chev{margin-left:auto; color:var(--ink-3)}

.service-row{
  display:grid;
  grid-template-columns:88px 1fr 110px 100px 92px 110px;
  gap:12px;
  padding:10px 8px;
  border-bottom:1px solid var(--line-1);
  font-size:11.5px;
  align-items:start;
}
.service-row:last-child{border-bottom:none}
.service-row__period{font-variant-numeric:tabular-nums; color:var(--ink-2); font-weight:500}
.service-row__desc{color:var(--ink-1); line-height:1.4}
.service-row__type{display:inline-block; font-weight:600; color:var(--brand-deep); margin-right:4px}
.service-row__partner{color:var(--ink-2)}
.service-row__status{
  font-size:10.5px; font-weight:600;
  padding:2px 7px; border-radius:5px;
  width:-moz-fit-content;
  width:fit-content;
  letter-spacing:.005em;
}
.service-row__status--ok{background:rgba(58,140,95,0.13); color:var(--ok)}
.service-row__status--pending{background:rgba(181,101,29,0.13); color:var(--warn)}
.service-row__calc{font-size:10px; color:var(--ink-3); font-variant-numeric:tabular-nums}
.service-row__price{
  font-size:12.5px; font-weight:600;
  color:var(--brand-deep);
  text-align:right;
  font-variant-numeric:tabular-nums;
}

.service-total{
  display:flex; justify-content:flex-end; gap:14px;
  padding:10px 8px;
  border-top:2px solid var(--line-2);
  margin-top:4px;
}
.service-total__l{font-size:11px; color:var(--ink-3); text-transform:uppercase; letter-spacing:.06em; align-self:center}
.service-total__v{font-size:18px; font-weight:600; color:var(--brand-deep); font-variant-numeric:tabular-nums}

.service-add{
  position:relative;
  margin-top:10px;
  display:inline-block;
}
.service-add__menu{
  position:absolute; top:calc(100% + 4px); left:0;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--glass-bd);
  border-radius:10px;
  padding:4px;
  min-width:180px;
  box-shadow:0 10px 28px -8px rgba(15,76,92,0.2);
  z-index:4;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
}
.service-add__menu button{
  padding:6px 9px;
  border-radius:6px;
  font-size:11.5px;
  color:var(--ink-2);
  text-align:left;
}
.service-add__menu button:hover{background:rgba(15,76,92,0.06); color:var(--ink-1)}

/* ─── 06 ПЛАТЕЖИ ─────────────────────────────────────── */
.pay-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.pay-col__head{
  font-size:11px; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-3);
  margin-bottom:10px;
}
.pay-deadline{
  display:flex; align-items:center; gap:8px;
  padding:8px 11px;
  border-radius:9px;
  margin-bottom:10px;
  font-size:12px;
  background:rgba(15,76,92,0.04);
}
.pay-deadline.is-urgent{
  background:linear-gradient(180deg, rgba(255,237,232,0.7), rgba(255,225,218,0.4));
  border:1px solid rgba(224,120,86,0.25);
}
.pay-deadline__l{color:var(--ink-3)}
.pay-deadline__v{font-weight:600; color:var(--brand-deep); font-variant-numeric:tabular-nums}
.pay-deadline__count{
  margin-left:auto;
  font-size:11px; font-weight:600;
  padding:2px 7px; border-radius:5px;
  background:rgba(200,65,58,0.13); color:var(--danger);
  font-variant-numeric:tabular-nums;
}
.pay-row{
  display:grid;
  grid-template-columns:74px 1fr 80px 78px;
  gap:8px;
  padding:7px 4px;
  border-bottom:1px solid var(--line-1);
  font-size:11.5px;
  align-items:center;
}
.pay-row:last-of-type{border-bottom:none}
.pay-row__date{color:var(--ink-2); font-variant-numeric:tabular-nums}
.pay-row__method{color:var(--ink-1); font-weight:500}
.pay-row__amount{font-weight:600; color:var(--brand-deep); text-align:right; font-variant-numeric:tabular-nums}
.pay-row__status{
  font-size:10px; font-weight:600;
  padding:2px 6px;
  border-radius:5px;
  text-align:center;
}
.pay-row__status--ok{background:rgba(58,140,95,0.13); color:var(--ok)}
.pay-empty{
  font-size:11.5px; color:var(--ink-4);
  font-style:italic;
  padding:14px 8px;
  text-align:center;
}
.pay-progress{margin-top:10px; padding-top:10px; border-top:1px solid var(--line-1)}
.pay-progress__head{display:flex; justify-content:space-between; font-size:11px; margin-bottom:5px}
.pay-progress__bar{height:6px; background:rgba(15,76,92,0.06); border-radius:3px; overflow:hidden}
.pay-progress__bar span{display:block; height:100%; background:linear-gradient(90deg, #6FA1AB, var(--ok)); border-radius:3px}

/* ─── 07 ДОКУМЕНТЫ ───────────────────────────────────── */
.doc-grid{display:grid; grid-template-columns:1.4fr 1fr; gap:18px}
.doc-controls{
  display:flex; align-items:center; gap:12px;
  padding:8px 10px;
  background:rgba(15,76,92,0.03);
  border-radius:9px;
  margin-bottom:10px;
  flex-wrap:wrap;
}
.doc-check{display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--ink-2)}
.doc-check input{accent-color:var(--brand-terra)}
.doc-list{display:flex; flex-direction:column; gap:1px}
.doc-item{
  display:flex; align-items:center; gap:9px;
  padding:6px 8px;
  border-radius:7px;
  font-size:12px;
  color:var(--ink-1);
  transition:background .15s ease;
}
.doc-item:hover{background:rgba(15,76,92,0.04)}
.doc-item__icon{
  width:24px; height:30px;
  border-radius:3px;
  background:linear-gradient(160deg, #FFF, #F0E4DE);
  border:1px solid rgba(224,120,86,0.3);
  display:grid; place-items:center;
  font-size:7px; font-weight:700;
  color:#C8413A;
  letter-spacing:.04em;
  flex:none;
  position:relative;
}
.doc-item__icon::after{
  content:""; position:absolute; top:0; right:0;
  width:6px; height:6px;
  background:linear-gradient(225deg, rgba(224,120,86,0.4), transparent 60%);
}
.doc-item__name{flex:1; min-width:0; text-overflow:ellipsis; overflow:hidden; white-space:nowrap}
.doc-item__menu{
  display:flex; gap:1px;
  opacity:0;
  transition:opacity .15s ease;
}
.doc-item:hover .doc-item__menu{opacity:1}
.doc-item__menu button{
  width:24px; height:24px;
  border-radius:5px;
  display:grid; place-items:center;
  color:var(--ink-3);
}
.doc-item__menu button:hover{background:rgba(15,76,92,0.07); color:var(--ink-1)}
.doc-partner-empty{
  font-size:11.5px; color:var(--ink-4);
  font-style:italic;
  padding:18px 10px;
  text-align:center;
  border:1.5px dashed var(--line-2);
  border-radius:9px;
}

/* ─── 08 ФАЙЛЫ ───────────────────────────────────────── */
.file-drop{
  display:flex; align-items:center; justify-content:center;
  gap:8px;
  padding:18px;
  border:1.5px dashed rgba(15,76,92,0.18);
  border-radius:12px;
  background:rgba(255,255,255,0.4);
  color:var(--ink-3);
  font-size:12px;
  transition:all .2s ease;
  cursor:pointer;
}
.file-drop:hover{
  border-color:var(--brand-terra);
  background:rgba(255,237,232,0.5);
  color:var(--brand-deep);
}
.file-drop b{font-weight:600; color:var(--brand-terra)}
.file-meta{display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; margin-top:10px}
.file-meta input{
  font:inherit; font-size:12px;
  background:rgba(255,255,255,0.5);
  border:1px solid var(--line-1);
  border-radius:8px;
  padding:6px 10px;
  outline:none;
  color:var(--ink-1);
}
.file-meta input:focus{background:rgba(255,255,255,0.95); border-color:rgba(15,76,92,0.2)}
.file-list{display:flex; flex-direction:column; gap:1px; margin-top:14px}
.file-item{
  display:grid;
  grid-template-columns:30px 1fr 70px 110px 24px;
  align-items:center; gap:10px;
  padding:8px 8px;
  border-radius:8px;
  font-size:11.5px;
  transition:background .15s ease;
}
.file-item:hover{background:rgba(15,76,92,0.04)}
.file-item__icon{
  width:30px; height:30px;
  border-radius:7px;
  background:rgba(15,76,92,0.07);
  display:grid; place-items:center;
  color:var(--ink-2);
}
.file-item__icon--img{background:linear-gradient(155deg, rgba(232,241,244,0.9), rgba(207,224,223,0.6)); color:var(--brand-deep)}
.file-item__icon--pdf{background:linear-gradient(155deg, rgba(255,228,222,0.8), rgba(240,228,222,0.5)); color:#C8413A}
.file-item__name{font-weight:500; color:var(--ink-1); display:flex; align-items:center; gap:6px; overflow:hidden}
.file-item__name b{font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.file-item__lock{color:var(--warn)}
.file-item__size{color:var(--ink-3); font-variant-numeric:tabular-nums}
.file-item__date{color:var(--ink-4); font-variant-numeric:tabular-nums; font-size:10.5px}

/* ─── 09 ИСТОРИЯ ─────────────────────────────────────── */
.hist-toggle{
  font-size:12px; font-weight:500;
  color:var(--brand-terra);
  display:inline-flex; align-items:center; gap:5px;
  padding:6px 10px;
  border-radius:7px;
  background:rgba(224,120,86,0.08);
  transition:background .15s ease;
}
.hist-toggle:hover{background:rgba(224,120,86,0.16)}
.hist-list{
  display:flex; flex-direction:column; gap:14px;

  padding-left:6px;
}
.hist-item{
  position:relative;
  display:flex; gap:12px;
  padding-left:22px;
}
.hist-item::before{
  content:""; position:absolute; left:8px; top:18px; bottom:-14px;
  width:1px; background:var(--line-2);
}
.hist-item:last-child::before{display:none}
.hist-item__icon{
  position:absolute; left:0; top:2px;
  width:18px; height:18px;
  border-radius:50%;
  background:#FFF;
  border:1.5px solid var(--brand-deep);
  display:grid; place-items:center;
  color:var(--brand-deep);
}
.hist-item__t{font-size:12.5px; color:var(--ink-1); font-weight:500}
.hist-item__meta{font-size:11px; color:var(--ink-3); margin-top:2px}

/* ─── RIGHT PANEL ────────────────────────────────────── */
.rp{
  background:rgba(255,255,255,0.7);
  border:1px solid var(--glass-bd);
  border-radius:14px;
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  display:flex; flex-direction:column;
  overflow:hidden;
  height:100%;
}
.rp__tabs{
  display:flex;
  padding:4px;
  margin:8px;
  background:rgba(15,76,92,0.05);
  border-radius:9px;
  gap:2px;
  flex:none;
}
.rp__tab{
  flex:1;
  font-size:11.5px; font-weight:500;
  padding:6px 10px;
  border-radius:7px;
  color:var(--ink-3);
  transition:all .15s ease;
}
.rp__tab:hover{color:var(--ink-1)}
.rp__tab.is-active{
  background:rgba(255,255,255,0.9);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 3px rgba(15,76,92,0.06);
}
.rp__tab .rp__tab-n{
  font-size:10px; font-weight:600;
  background:rgba(15,76,92,0.07);
  color:var(--ink-3);
  padding:0 6px; border-radius:99px;
  margin-left:5px;
  font-variant-numeric:tabular-nums;
}
.rp__tab.is-active .rp__tab-n{background:rgba(224,120,86,0.18); color:var(--brand-terra)}
.rp__body{
  flex:1; overflow-y:auto;
  padding:8px 14px 14px;
  scrollbar-width:thin;
  scrollbar-color:rgba(15,76,92,0.18) transparent;
}
.rp__body::-webkit-scrollbar{width:5px}
.rp__body::-webkit-scrollbar-thumb{background:rgba(15,76,92,0.18); border-radius:3px}

/* COMMS */
.comm-types{display:flex; gap:3px; padding:6px; background:rgba(15,76,92,0.04); border-radius:8px; margin-bottom:12px}
.comm-types button{
  flex:1;
  display:inline-flex; align-items:center; justify-content:center; gap:4px;
  font-size:10.5px; font-weight:500;
  padding:4px 6px;
  border-radius:6px;
  color:var(--ink-3);
  transition:all .15s ease;
}
.comm-types button:hover{color:var(--ink-1)}
.comm-types button.is-active{
  background:rgba(255,255,255,0.85);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.06);
}

.comm-list{display:flex; flex-direction:column; gap:10px; margin-bottom:14px}
.comm-msg{
  display:flex; gap:8px;
  padding:9px 10px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:10px;
}
.comm-msg__main{flex:1; min-width:0}
.comm-msg__head{display:flex; align-items:baseline; gap:6px; margin-bottom:3px; flex-wrap:wrap}
.comm-msg__who{font-size:11.5px; font-weight:600; color:var(--ink-1)}
.comm-msg__when{font-size:10px; color:var(--ink-4)}
.comm-msg__kind{
  font-size:9.5px; font-weight:600;
  padding:1px 5px; border-radius:4px;
  text-transform:uppercase; letter-spacing:.06em;
  color:var(--ink-3); background:rgba(15,76,92,0.06);
}
.comm-msg__kind--call{background:rgba(58,140,95,0.13); color:var(--ok)}
.comm-msg__kind--email{background:rgba(15,76,92,0.07); color:var(--brand-deep)}
.comm-msg__text{font-size:11.5px; color:var(--ink-2); line-height:1.45}

.comm-input{
  background:rgba(255,255,255,0.7);
  border:1px solid var(--line-1);
  border-radius:10px;
  padding:6px;
  display:flex; flex-direction:column; gap:4px;
}
.comm-input textarea{
  font:inherit; font-size:12px;
  color:var(--ink-1);
  background:transparent;
  border:none; outline:none; resize:none;
  padding:6px 8px;
  min-height:46px;
}
.comm-input__bar{display:flex; align-items:center; justify-content:space-between; gap:6px; padding:0 4px}
.comm-input__hint{font-size:10px; color:var(--ink-4)}

/* TASKS in RP */
.rp-tasks{display:flex; flex-direction:column; gap:1px; margin-bottom:14px}
.rp-task{
  display:grid;
  grid-template-columns:18px 1fr auto;
  gap:8px; align-items:center;
  padding:7px 4px;
  border-bottom:1px solid var(--line-1);
  font-size:11.5px;
}
.rp-task:last-child{border-bottom:none}
.rp-task__t{color:var(--ink-1); line-height:1.35}
.rp-task__time{font-size:10px; color:var(--ink-3); font-variant-numeric:tabular-nums}
.rp-task.is-urgent .rp-task__time{color:var(--brand-terra); font-weight:600}

.rp-warn{
  display:flex; align-items:flex-start; gap:8px;
  padding:10px 12px;
  border-radius:10px;
  background:linear-gradient(180deg, rgba(255,237,232,0.7), rgba(255,225,218,0.4));
  border:1px solid rgba(224,120,86,0.25);
  font-size:11.5px;
  color:#8C2922;
}
.rp-warn b{font-weight:600}
.rp-warn a{color:var(--brand-terra); font-weight:500; text-decoration:underline}

/* AUDIT log */
.audit-list{display:flex; flex-direction:column; gap:8px}
.audit-row{
  display:grid; grid-template-columns:14px 1fr;
  gap:8px; align-items:start;
  font-size:11.5px;
  color:var(--ink-2);
}
.audit-row__icon{margin-top:3px; color:var(--ink-3)}
.audit-row__when{font-size:10px; color:var(--ink-4); margin-top:1px}
.audit-row b{font-weight:600; color:var(--ink-1)}

/* FOOTER */
.booking-foot{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 8px 8px;
  font-size:11px;
  color:var(--ink-3);
}
.booking-foot a{color:var(--brand-terra); font-weight:500; text-decoration:none}
.booking-foot a:hover{text-decoration:underline}

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media (max-width:1440px){
  .booking-layout{
    grid-template-columns:minmax(0, 1fr) 340px;
    padding:14px 18px 28px;
    gap:18px;
  }
  .booking-toc{display:none}
}
@media (max-width:1024px){
  :root{--sb-w:0px}
  .booking-layout{grid-template-columns:1fr; gap:16px; padding:14px}
  .booking-right{display:none}
  .minibar{left:0; padding:0 16px}
  .hero__lower{grid-template-columns:1fr}
  .field-grid{grid-template-columns:1fr}
  .field-utm{grid-template-columns:repeat(2, 1fr)}
  .pay-grid, .doc-grid{grid-template-columns:1fr}
  .client-card{flex-direction:column}
  .client-side{border-left:none; border-top:1px solid var(--line-1); padding-left:0; padding-top:14px}
  .travelers-table{font-size:11px}
}

/* ═══ Booking-detail v2: горизонтальный TOC + payment blocks ═══ */

/* Layout: была 3-col (208 + content + 340) → теперь 2-col (content + right).
   ВАЖНО: только десктоп (≥1025). Без min-width это правило с !important
   перебивало мобильное @media(≤1024){1fr}, и фикс-колонка 340px съедала
   контент в 0px на телефоне (right-колонка при этом display:none — трек
   резервировался пустым). На мобиле остаётся одна колонка. */
@media (min-width: 1025px) {
  .booking-layout {
    grid-template-columns: minmax(0, 1fr) 340px;
  }
}

/* Горизонтальный TOC под topbar */
.b-toch {
  position: sticky;
  top: 57px;
  z-index: 5;
  display: flex;
  gap: 4px;
  padding: 8px 24px;
  background: rgba(250, 250, 247, 0.78);
  backdrop-filter: blur(20px) saturate(160%);
  border-bottom: 1px solid var(--line-1);
  overflow-x: auto;
  scrollbar-width: thin;
}
.b-toch__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12.5px;
  color: var(--ink-2);
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
}
.b-toch__item:hover {
  background: rgba(15, 76, 92, 0.06);
  color: var(--ink-1);
}
.b-toch__item.is-active {
  background: var(--brand-terra);
  color: #fff;
  box-shadow: var(--shadow-pill);
}
.b-toch__num {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  opacity: 0.7;
}
.b-toch__item.is-active .b-toch__num { opacity: 0.95; }

/* Прячем старый .booking-toc даже если где-то остался */
.booking-toc { display: none !important; }

/* Платёжный 2-блочный грид */
.pay-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap, 16px);
}
@media (max-width: 1200px) {
  .pay-grid { grid-template-columns: 1fr; }
}

.pay-block {
  background: var(--glass-bg-strong);
  border: 1px solid var(--glass-bd);
  border-radius: var(--r-md);
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pay-block__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.pay-block__title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 600;
  color: var(--ink-1);
}
.pay-block__meta {
  padding: 8px 12px;
  background: rgba(15, 76, 92, 0.04);
  border-radius: var(--r-sm);
  font-size: 12.5px;
}
.pay-block__totals {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid var(--line-1);
  border-bottom: 1px solid var(--line-1);
}
.pay-block__totals > div { font-size: 13.5px; }

.pay-block__empty {
  padding: 18px 0;
  text-align: center;
  font-style: italic;
}

.pay-block__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.pay-block__table thead th {
  text-align: left;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--ink-3);
  padding: 8px 6px;
  border-bottom: 1px solid var(--line-1);
}
.pay-block__table tbody td {
  padding: 10px 6px;
  border-bottom: 1px solid var(--line-1);
  vertical-align: top;
}
.pay-block__table tbody tr:last-child td { border-bottom: 0; }
.pay-block__table tfoot td {
  padding: 10px 6px;
  border-top: 1px solid var(--line-2);
  font-size: 13.5px;
}

/* Mini-кнопка для шапки блока */
.btn-mini {
  padding: 6px 12px !important;
  font-size: 12px !important;
  height: auto !important;
}

/* ═══ Booking-detail v3: services table, docs, files, history, right panel ═══ */

/* Services таблица U-ON */
.services-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.services-table thead th {
  text-align: left;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--ink-3);
  padding: 10px 12px;
  border-bottom: 1px solid var(--line-1);
  background: linear-gradient(180deg, rgba(255,255,255,0.4), transparent);
}
.services-table tbody td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--line-1);
  vertical-align: top;
}
.services-table tbody tr:hover {
  background: rgba(15, 76, 92, 0.025);
}
.services-table tbody tr:last-child td { border-bottom: 0; }
.services-table tfoot td {
  padding: 12px 12px;
  border-top: 1px solid var(--line-2);
}

.svc-segments {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  font-size: 11.5px;
  color: var(--ink-2);
}
.svc-segments li {
  padding: 2px 0 2px 12px;
  position: relative;
}
.svc-segments li::before {
  content: "└";
  position: absolute;
  left: 0;
  color: var(--ink-4);
}

/* Documents / Files list */
.doc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.doc-list__row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 4px;
  border-bottom: 1px solid var(--line-1);
}
.doc-list__row:last-child { border-bottom: 0; }

/* History timeline */
.hist-list {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.hist-list::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background: var(--line-2);
}
.hist-list__row {
  display: flex;
  gap: 16px;
  padding: 10px 0 10px 4px;
  position: relative;
}
.hist-list__dot {
  width: 9px;
  height: 9px;
  background: var(--brand-terra);
  border: 2px solid var(--brand-cream);
  border-radius: 50%;
  margin: 4px 0 0 -4px;
  z-index: 1;
  flex-shrink: 0;
}

/* Right-panel: badges + tabs polish */
.rp__tab {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
}
.rp__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 16px;
  padding: 0 4px;
  font-size: 10px;
  font-weight: 700;
  background: var(--brand-terra);
  color: #fff;
  border-radius: 999px;
  margin-left: 4px;
}
.rp__tab.is-active .rp__badge { background: #fff; color: var(--brand-terra); }

/* Right-panel: tasks */
.rp-tasks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rp-tasks li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid var(--line-1);
  border-radius: var(--r-sm);
  font-size: 13px;
}
.rp-tasks li.is-done { opacity: 0.6; text-decoration: line-through; }
.rp-task__check {
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: var(--ok);
  display: grid;
  place-items: center;
  margin-top: 1px;
}
.rp-task__circle {
  width: 14px;
  height: 14px;
  border: 1.6px solid var(--ink-3);
  border-radius: 50%;
  display: inline-block;
}

/* Right-panel: activity */
.rp-activity {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rp-activity__row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 6px 4px;
}
.rp-activity__dot {
  width: 6px;
  height: 6px;
  margin: 6px 0 0;
  background: var(--brand-terra);
  border-radius: 50%;
  flex-shrink: 0;
}

/* Documents dropdown */
.b-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 10;
  min-width: 220px;
  background: var(--glass-bg-strong);
  backdrop-filter: blur(20px) saturate(160%);
  border: 1px solid var(--glass-bd);
  border-radius: var(--r-sm);
  box-shadow: var(--shadow-card);
  padding: 4px;
  display: flex;
  flex-direction: column;
}
.b-dropdown__item {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 0;
  background: transparent;
  text-align: left;
  font: inherit;
  color: var(--ink-1);
  border-radius: 6px;
  cursor: pointer;
}
.b-dropdown__item:hover { background: rgba(15, 76, 92, 0.06); }

/* ───── Deadline modal ───── */
.dl-link {
  background: transparent;
  border: 0;
  color: var(--brand-terra);
  font: inherit;
  font-style: italic;
  cursor: pointer;
  padding: 0;
  border-bottom: 1px dashed currentColor;
}
.dl-link:hover { color: var(--brand-terra-600); }

.dl-modal-bg {
  position: fixed;
  inset: 0;
  background: rgba(15, 76, 92, 0.32);
  backdrop-filter: blur(2px);
  z-index: 2147483648;
  display: grid;
  place-items: center;
  animation: dl-fade 0.15s;
}
@keyframes dl-fade { from { opacity: 0; } }
.dl-modal {
  background: var(--glass-bg-strong);
  backdrop-filter: blur(28px) saturate(160%);
  border: 1px solid var(--glass-bd);
  border-radius: var(--r-md);
  box-shadow: 0 24px 60px rgba(15, 76, 92, 0.28);
  width: 540px;
  max-width: calc(100vw - 32px);
  overflow: hidden;
}
.dl-modal__hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 22px;
  border-bottom: 1px solid var(--line-1);
}
.dl-modal__hd h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 600;
}
.dl-modal__x {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: 0;
  font-size: 16px;
  cursor: pointer;
  color: var(--ink-3);
  padding: 4px 8px;
}
.dl-modal__x:hover { color: var(--ink-1); }
.dl-modal__body { padding: 18px 22px; }
.dl-modal__ft {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 22px;
  border-top: 1px solid var(--line-1);
  background: rgba(255, 255, 255, 0.3);
}

/* Блок «01 Общая информация» — акцент на редактируемых полях (чтобы не сливались с фоном) */
#general .field__input,
#general .field__textarea {
  background: rgba(255,255,255,0.85);
  border: 1px solid var(--line-1);
  margin: 0;
  width: 100%;
}
#general .field__input:hover,
#general .field__textarea:hover { border-color: rgba(15,76,92,0.28); background: #fff; }
#general .field__input:focus,
#general .field__textarea:focus {
  border-color: var(--brand-terra);
  background: #fff;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-terra) 15%, transparent);
}
/* readonly (менеджер) — видно, что НЕ редактируется */
#general .field__input[readonly] {
  background: rgba(15,76,92,0.05);
  border-style: dashed;
  color: var(--ink-3);
  cursor: default;
}

/* Read-only поля (страна/город/даты) — один компактный ряд сверху, тянутся из услуг */
.bgen-ro{display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px 22px; margin-bottom:16px}
#general .field__ro{
  background:rgba(15,76,92,0.04);
  border:1px dashed var(--line-1);
  border-radius:7px;
  padding:5px 9px;
  font-size:13px;
  color:var(--ink-3);
  min-height:30px;
  display:flex; align-items:center;
}

/* ═══ U-ON-таблицы блоков Клиент/Туристы + ⋯-меню строки ═══ */
.uon-tbl{width:100%; font-size:13px}
.uon-tbl__head{
  display:grid; align-items:center; gap:12px;
  padding:0 0 8px; border-bottom:1px solid var(--line-1);
  font-size:10.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-4);
}
.uon-tbl__row{
  display:grid; align-items:center; gap:12px;
  padding:11px 0; border-bottom:1px solid rgba(15,76,92,0.06);
}
.uon-tbl__row:last-child{border-bottom:none}
.uon-tbl--client .uon-tbl__head,
.uon-tbl--client .uon-tbl__row{grid-template-columns:1.7fr 1.6fr 1.5fr 72px}
.uon-tbl--tourists .uon-tbl__head,
.uon-tbl--tourists .uon-tbl__row{grid-template-columns:30px 2fr 1.2fr 1.5fr 1.3fr 72px}
.uon-col{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-2)}
.uon-col.tnum{color:var(--ink-4); font-variant-numeric:tabular-nums}
.uon-col--name{white-space:normal}
.uon-name{font-weight:600; color:var(--brand-deep); text-decoration:none}
.uon-name:hover{text-decoration:underline}
.uon-actions{display:flex; gap:6px; justify-content:flex-end; align-items:center}
.uon-tbl__row.is-excluded{opacity:.55}
.uon-tbl__row.is-excluded .uon-name{text-decoration:line-through}
.uon-excl{margin-left:8px; font-size:10px; font-weight:600; color:#C8413A; background:rgba(200,65,58,0.10); padding:1px 7px; border-radius:99px; text-transform:uppercase; letter-spacing:.03em}

.row-iconbtn{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:7px;
  border:1px solid var(--line-1); background:rgba(255,255,255,0.6);
  color:var(--ink-3); cursor:pointer; transition:all .12s ease;
}
.row-iconbtn:hover{background:#fff; color:var(--brand-deep); border-color:rgba(15,76,92,0.25)}

.rmenu-wrap{display:inline-block}
.rmenu{
  position:fixed; z-index:1300; min-width:248px;
  background:#fff; border:1px solid var(--line-1); border-radius:10px;
  box-shadow:0 12px 32px -8px rgba(15,76,92,0.30), 0 2px 8px rgba(15,76,92,0.08);
  padding:5px;
}
.rmenu__item{
  position:relative;
  display:flex; align-items:center; gap:10px; width:100%;
  padding:8px 10px; font-size:12.5px; color:var(--ink-1);
  background:none; border:none; border-radius:7px; cursor:pointer; text-align:left; font-family:inherit;
}
.rmenu__item:hover{background:rgba(15,76,92,0.06)}
.rmenu__item svg{color:var(--ink-3); flex:0 0 auto}
.rmenu__item.is-danger{color:#C8413A}
.rmenu__item.is-danger svg{color:#C8413A}
.rmenu__item.is-disabled{opacity:.42; cursor:not-allowed}
.rmenu__item.is-disabled:hover{background:none}
.rmenu__sep{height:1px; margin:4px 6px; background:var(--line-1)}
/* тултип-подсказка над пунктом (data-tip) */
.rmenu__item[data-tip]:hover::after{
  content:attr(data-tip);
  position:absolute; left:6px; bottom:calc(100% + 6px);
  width:230px; max-width:230px; white-space:normal;
  background:#1f2d31; color:#fff; font-size:11.5px; line-height:1.45;
  padding:8px 11px; border-radius:9px;
  box-shadow:0 10px 24px -8px rgba(0,0,0,0.45);
  z-index:6; pointer-events:none;
}

/* Метки клиента в блоке Клиент */
.uon-tags{display:flex; flex-wrap:wrap; gap:4px; margin-top:5px}
.uon-tag{font-size:10.5px; font-weight:600; line-height:1; padding:3px 8px; border-radius:99px; border:1px solid var(--line-1); background:rgba(15,76,92,0.06); color:var(--ink-2); white-space:nowrap}
/* Иконки в строке туриста (тортик ДР, предупреждение загранника) + тултип */
.uon-doc{display:inline-flex; align-items:center; gap:6px}
.bday-cake{display:inline-flex; color:var(--brand-deep); position:relative; cursor:default}
.pass-warn{display:inline-flex; position:relative; cursor:default}
.pass-warn--soon{color:#C8881E}
.pass-warn--expired{color:#C8413A}
.bday-cake[data-tip]:hover::after,
.pass-warn[data-tip]:hover::after{
  content:attr(data-tip);
  position:absolute; left:50%; transform:translateX(-50%); bottom:calc(100% + 7px);
  width:220px; max-width:220px; white-space:normal;
  background:#1f2d31; color:#fff; font-size:11px; line-height:1.4; font-weight:400;
  padding:7px 10px; border-radius:8px; box-shadow:0 10px 24px -8px rgba(0,0,0,0.45);
  z-index:6; pointer-events:none;
}
/* Плавающая кнопка «Назад в заявку» (карточка клиента/туриста, открытая из заявки) */
.back-to-booking{
  position:fixed; left:50%; bottom:26px; transform:translateX(-50%); z-index:1200;
  display:inline-flex; align-items:center; gap:9px;
  padding:11px 22px; border-radius:99px;
  background:var(--brand-deep); color:#fff; font-size:13px; font-weight:600; text-decoration:none;
  box-shadow:0 12px 30px -8px rgba(15,76,92,0.55), inset 0 1px 0 rgba(255,255,255,0.22);
  animation:btbIn .25s ease;
}
.back-to-booking:hover{background:color-mix(in srgb, var(--brand-deep) 88%, #000); transform:translateX(-50%) translateY(-2px)}
@keyframes btbIn{from{opacity:0; transform:translateX(-50%) translateY(16px)} to{opacity:1; transform:translateX(-50%) translateY(0)}}

/* Поле Менеджер — кликабельный триггер передачи */
.mgr-trigger{display:flex; align-items:center; justify-content:space-between; gap:8px; cursor:pointer; text-align:left}
.mgr-trigger svg{color:var(--ink-3); flex:0 0 auto}
.mgr-trigger:hover svg{color:var(--brand-deep)}
/* Модалка «Передача заявки менеджеру» */
.mgr-list{display:flex; flex-direction:column; gap:4px; max-height:360px; overflow-y:auto}
.mgr-opt{
  display:flex; align-items:center; gap:11px; width:100%;
  padding:9px 11px; border-radius:10px;
  border:1px solid rgba(15,76,92,0.10); background:#fff; cursor:pointer; text-align:left;
  font-family:inherit; transition:all .12s ease;
}
.mgr-opt:hover{border-color:rgba(15,76,92,0.25); background:rgba(15,76,92,0.03)}
.mgr-opt.is-current{background:rgba(15,76,92,0.05); border-color:rgba(15,76,92,0.20)}
.mgr-opt:disabled{opacity:.6; cursor:default}
.mgr-ava{
  flex:0 0 34px; width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--brand-deep); color:#fff; font-size:12px; font-weight:600;
}
.mgr-info{display:flex; flex-direction:column; gap:1px; flex:1; min-width:0}
.mgr-name{font-size:13.5px; font-weight:600; color:var(--ink-1)}
.mgr-role{font-size:11px; color:var(--ink-3)}
.mgr-cur{font-size:10px; font-weight:600; color:var(--brand-terra); background:rgba(224,120,86,0.12); padding:2px 8px; border-radius:99px; white-space:nowrap}

.uon-col--tip{overflow:visible}

/* Пустой блок клиента → стильная кнопка по центру «Добавить заказчика» */
.add-customer-wrap{display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px 0 26px; text-align:center}
.add-customer-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 18px; border-radius:9px; cursor:pointer;
  border:1px solid var(--line-1); background:#fff; color:var(--brand-deep);
  font-size:13.5px; font-weight:600; font-family:inherit;
  transition:background .12s ease, border-color .12s ease;
}
.add-customer-btn:hover{background:rgba(15,76,92,0.05); border-color:rgba(15,76,92,0.25)}
.add-customer-btn svg{flex:0 0 auto}

/* Серая кастомная стрелка у select-полей карточки (вместо яркой нативной) */
#general select.field__input{
  -moz-appearance:none;
       appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%239FB2B8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat; background-position:right 11px center;
  padding-right:30px;
}

/* === Форма «Пакетный тур» === */
.pt-modal{width:min(1040px,96vw); max-height:92vh; display:flex; flex-direction:column; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 30px 80px -20px rgba(10,42,51,.5)}
.pt-modal__head{display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--line-1)}
.pt-x{border:none; background:none; cursor:pointer; color:var(--ink-3)}
.pt-body{padding:18px 20px; overflow-y:auto}
.pt-cols{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px 22px}
.pt-col{display:flex; flex-direction:column; gap:12px}
.pt-col--prices{grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 18px}
.pt-col--prices .field{ min-width:0;flex:1}

.pt-dates{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,0.7fr) minmax(0,1fr); gap:10px}
.pt-pax{display:grid; grid-template-columns:repeat(3,minmax(0,110px)); gap:8px}
.pt-sec{margin-top:18px; padding-top:16px; border-top:1px solid var(--line-1)}
.pt-sec__h{font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-3); margin-bottom:12px}
.pt-extras{display:flex; flex-direction:column; gap:8px}
.pt-extra{display:flex; align-items:center; gap:12px; padding:9px 12px; border:1px solid var(--line-1); border-radius:10px; background:rgba(255,255,255,0.5)}
.pt-extra__tgl{flex:1}
.pt-extra.is-on{border-color:rgba(15,76,92,0.22); background:rgba(15,76,92,0.03)}
.pt-extra__tgl{display:flex; align-items:center; gap:9px; font-size:13px; font-weight:600; color:var(--ink-1); cursor:pointer}
.pt-extra__tgl input{width:16px; height:16px; accent-color:var(--brand-deep); cursor:pointer}

.pt-flight{border:1px solid var(--line-1); border-radius:11px; padding:12px 14px; margin-bottom:10px; display:flex; flex-direction:column; gap:10px; background:rgba(255,255,255,0.5)}
.pt-flight__row{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; align-items:end}
.pt-flight__row2{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 44px; gap:10px; align-items:end; margin-top:10px}
.pt-flight__row .field, .pt-flight__row2 .field{min-width:0}
.pt-dates2{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px}
.pt-foot{display:flex; align-items:center; justify-content:flex-end; gap:10px; padding:14px 20px; border-top:1px solid var(--line-1); background:rgba(15,76,92,0.02)}

/* Инлайн-форма услуг (пакетный тур / индивидуальная) внутри блока Услуги */
.pt-inline{border:1px solid var(--line-1); border-radius:12px; padding:16px 18px; background:rgba(15,76,92,0.02); margin-bottom:6px}
.pt-inline__head{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--line-1)}
.pt-inline__title{display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:700; color:var(--brand-deep)}
.pt-inline__foot{display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:16px; padding-top:14px; border-top:1px solid var(--line-1)}

/* Поля внутри инлайн-форм услуг и страницы состава: видимый контур + без bleed-ширины */
.pt-inline .field__input,
.pt-inline select.field__input,
.pc-row .field__input,
.pc-row select.field__input{
  margin:0; width:100%;
  border:1px solid var(--line-1);
  background:rgba(255,255,255,0.9);
  border-radius:8px;
}
.pt-inline .field__input:hover,
.pc-row .field__input:hover{border-color:rgba(15,76,92,0.28); background:#fff}
.pt-inline .field__input:focus,
.pc-row .field__input:focus{border-color:var(--brand-terra); background:#fff; box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-terra) 14%, transparent)}

/* Поле «сумма + валюта» в формах услуг (input flex + валюта фикс, рядом, без разрывов) */
.pt-money{display:flex; gap:6px; align-items:stretch}
.pt-money input{flex:1; min-width:0; width:100%}
.pt-inline .pt-money select, .pc-row .pt-money select, .pt-money select{flex:0 0 66px; width:66px; min-width:0; padding-right:6px}
.pt-extra .pt-money{flex:0 0 200px; width:200px}

/* Вкладки индивидуальной услуги + сегмент да/нет + итого по услугам */
.pt-tabs{display:flex; gap:4px; border-bottom:1px solid var(--line-1); margin-bottom:16px}
.pt-tab{padding:8px 14px; font-size:13px; font-weight:600; color:var(--ink-3); background:none; border:none; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; font-family:inherit}
.pt-tab.is-active{color:var(--brand-deep); border-bottom-color:var(--brand-terra)}
.pt-onecol{display:flex; flex-direction:column; gap:14px; max-width:460px}
.pt-check{display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--ink-2); cursor:pointer}
.pt-check input{width:15px; height:15px; accent-color:var(--brand-deep)}
.seg2{display:inline-flex; gap:1px; padding:2px; background:rgba(15,76,92,0.05); border-radius:8px; width:-moz-max-content; width:max-content}
.seg2 button{padding:5px 18px; font-size:12px; border:none; background:none; border-radius:6px; cursor:pointer; color:var(--ink-3); font-family:inherit}
.seg2 button.is-active{background:#fff; color:var(--brand-deep); font-weight:600; box-shadow:0 1px 2px rgba(15,76,92,0.08)}
.svc-total{display:flex; justify-content:flex-end; align-items:baseline; gap:10px; margin-top:14px; padding-top:12px; border-top:1px solid var(--line-1)}
.svc-total__lbl{font-size:12px; color:var(--ink-3)}
.svc-total__val{font-size:18px; font-weight:700; color:var(--brand-deep); font-variant-numeric:tabular-nums}
.pt-rate{font-size:12px; color:var(--ink-2); padding-top:2px}
.pt-rate b{color:var(--brand-deep)}

/* Плоская 2-кол сетка пакетного тура (без перекоса колонок) */
.pt-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px 20px; align-items:end}
.pt-grid > .span2{grid-column:1 / -1}
/* поля и DateField-обёртки должны сжиматься, а не вылазить */
.pt-inline .field__input{min-width:0}
.pt-inline .field > div{min-width:0; max-width:100%}

.pt-hint{font-size:11.5px; color:var(--ink-3); margin-top:10px}
.pt-hint b{color:var(--brand-deep)}

/* ── Импорт Qui-Quo: /imports/[id] (page--import) ───────────────── */
.page--import .bsection__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:8px;border-radius:99px;background:rgba(58,115,131,0.12);color:var(--brand-deep);font-size:11px;font-weight:700}
.page--import .field__input{border:1px solid var(--line-1);background:#fff;border-radius:8px}
.page--import select.field__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a9aa0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}
.imp-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid rgba(15,76,92,0.06)}
.imp-row:last-child{border-bottom:none}
.imp-row__main{flex:1;min-width:0}
.imp-row__pick{flex:0 0 280px;max-width:280px}
.imp-name{font-size:14px;font-weight:600;color:var(--ink-1);letter-spacing:.01em}
.imp-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2px 9px;border-radius:99px}
.imp-badge--base{background:rgba(16,163,74,0.10);color:#15803d}
.imp-badge--picked{background:rgba(58,115,131,0.12);color:var(--brand-deep)}
.imp-badge--new{background:rgba(224,120,86,0.13);color:#c2562f}
.imp-picker{display:flex;align-items:center;gap:7px;cursor:pointer;color:var(--ink-3);text-align:left;border:1px solid var(--line-1);background:rgba(255,255,255,0.7);border-radius:8px;padding:8px 11px;width:100%;font-size:12.5px}
.imp-picker:hover{border-color:rgba(15,76,92,0.25);background:#fff;color:var(--ink-2)}
.imp-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-bottom:40px}

/* ── Конвертер валюты показа (карточка заявки) ───────────────── */
.conv-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12px}
.conv-bar__lbl{color:var(--ink-3)}
.conv-bar__sel{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line-1);background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a9aa0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 8px center;border-radius:7px;padding:4px 26px 4px 10px;font-size:12px;font-weight:600;color:var(--ink-1);cursor:pointer}
.conv-bar__sel:hover{border-color:rgba(15,76,92,0.25)}
.conv-bar__rate{color:var(--ink-3);font-variant-numeric:tabular-nums}

/* Бейдж «Заказчик» у туриста, который является заказчиком заявки */
.uon-zakaz{display:inline-flex;align-items:center;margin-left:8px;padding:1px 8px;border-radius:99px;font-size:10.5px;font-weight:700;letter-spacing:.02em;background:rgba(58,115,131,0.12);color:var(--brand-deep);vertical-align:middle}

/* ─── MOBILE: страница разбора импорта → создания заявки (/imports/[id]) ───
   .imp-row была flex [инфо | .imp-row__pick фикс 280px] → на телефоне пикер
   «Заменить/выбрать клиента» и кнопка «Создать заявку» уезжали за экран.
   Стекаем в колонку, пикер и кнопки — во всю ширину/с переносом. */
@media (max-width: 768px) {
  .imp-row { flex-direction: column; gap: 10px; }
  .imp-row__pick { flex: none; max-width: 100%; width: 100%; }
  .imp-foot { flex-wrap: wrap; }
  .imp-foot > * { flex: 1 1 auto; justify-content: center; }
  .imp-name, .imp-name__nm { word-break: break-word; overflow-wrap: anywhere; }
  .imp-namehead { flex-wrap: wrap; }
}

/* ─── MOBILE: карточка заявки — секции не толкают страницу вправо ─────────
   .services-table (услуги) / таблица туристов шире экрана (557px) и лежат в
   .bsection__body без скролла → страница ехала на ~200px. Даём телу секции
   горизонтальный скролл (узкие секции скроллбар не показывают). Кнопки шапки
   (.hero__actions: Задача/Ваучер/Принять платёж) — перенос. */
@media (max-width: 1024px) {
  .bsection__body { overflow-x: auto; }
  /* Шапка заявки: [имя | кнопки] в колонку, иначе кнопки Задача/Ваучер/
     Принять платёж (flex:none) не переносятся и режутся справа на 390px. */
  .hero__upper { flex-direction: column; gap: 14px; }
  .hero__actions { width: 100%; flex: none; flex-wrap: wrap; justify-content: flex-start; }
}

/* ── Баннер-предупреждение о дублях клиента (после hero, перед секцией 01) ── */
.dupwarn{
  position:relative;

  padding:13px 16px 14px 18px;
  border-radius:var(--r-md);
  border:1px solid var(--glass-bd);
  background:linear-gradient(180deg, rgba(255,243,232,0.85), rgba(255,255,255,0.5));
  box-shadow:var(--shadow-card);
  overflow:hidden;
}
.dupwarn::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg, var(--warn), #8f4f17);
}
.dupwarn__close{
  position:absolute; top:8px; right:9px;
  width:22px; height:22px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  border:none; border-radius:7px; background:none;
  color:var(--ink-3); font-size:16px; cursor:pointer; transition:all .15s ease;
}
.dupwarn__close:hover{ background:rgba(181,101,29,0.12); color:var(--warn) }
.dupwarn__head{
  display:flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:600; color:var(--warn);
  padding-right:26px;
}
.dupwarn__ic{ font-size:14px; flex:none; line-height:1 }
.dupwarn__list{ display:flex; flex-wrap:wrap; gap:8px; margin-top:11px }
.dupwarn__item{
  display:inline-flex; align-items:baseline; gap:7px;
  padding:6px 12px; border-radius:999px;
  background:rgba(255,255,255,0.7); border:1px solid var(--line-2);
  font-size:12px; color:var(--ink-2); text-decoration:none;
  transition:all .15s ease;
}
.dupwarn__item:hover{
  background:#fff; border-color:rgba(181,101,29,0.4);
  box-shadow:0 2px 8px rgba(15,76,92,0.07);
}
.dupwarn__item b{ font-weight:600; color:var(--brand-deep) }
.dupwarn__meta{ font-size:11px; color:var(--ink-3) }


/* ───── Модалка генерации документов (чек-лист, перетаскиваемая) ───── */
.docgen { width: 460px; }
.docgen__hd { cursor: move; -webkit-user-select: none; -moz-user-select: none; user-select: none; touch-action: none; }
.docgen__selall {
  display: flex; align-items: center; gap: 9px;
  padding: 2px 4px 11px; margin-bottom: 7px;
  border-bottom: 1px solid var(--line-1);
  font-size: 12.5px; color: var(--ink-3); font-weight: 600; cursor: pointer;
}
.docgen__list { display: flex; flex-direction: column; gap: 1px; max-height: 52vh; overflow-y: auto; }
.docgen__row {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 8px; border-radius: 8px; cursor: pointer;
}
.docgen__row:hover { background: rgba(15, 76, 92, 0.05); }
.docgen__row input, .docgen__selall input { width: 15px; height: 15px; accent-color: var(--brand-terra); cursor: pointer; flex: none; }
.docgen__name { flex: 1; font-size: 13px; color: var(--ink-1); }
.docgen__tag { font-size: 11px; color: var(--brand-terra); white-space: nowrap; }

/* ─── Скидка клиенту (DiscountEditor + модалка, 2026-06-09) ─── */
.disc-overlay { position: fixed; inset: 0; background: rgba(15,42,51,.35); display: flex; align-items: center; justify-content: center; z-index: 200; }
.disc-modal { background: #fff; border-radius: 16px; width: 420px; max-width: 92vw; box-shadow: 0 24px 60px -15px rgba(15,42,51,.45); overflow: hidden; }
.disc-modal__head { padding: 14px 18px; font-weight: 600; color: #0f172a; border-bottom: 1px solid #eef2f6; }
.disc-ed { padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; }
.disc-ed__row { display: flex; justify-content: space-between; align-items: center; font-size: 14px; }
.disc-ed__row--muted { color: #94a3b8; }
.disc-ed__lbl { color: #64748b; }
.disc-ed__tabs { display: flex; gap: 6px; margin-top: 2px; }
.disc-ed__tab { flex: 1; padding: 7px; border: 1px solid #e2e8f0; background: #fff; border-radius: 9px; cursor: pointer; font: inherit; font-size: 13px; color: #475569; }
.disc-ed__tab.is-active { background: #0f4c5c; color: #fff; border-color: #0f4c5c; }
.disc-ed__field { display: flex; flex-direction: column; gap: 8px; }
.disc-ed__field label { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: #64748b; }
.disc-ed__field input { padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 9px; font: inherit; }
.disc-ed__quick { display: flex; gap: 6px; }
.disc-ed__qbtn { padding: 6px 14px; border: 1px solid #cbd5e1; background: #fff; border-radius: 8px; cursor: pointer; font: inherit; font-size: 13px; }
.disc-ed__qbtn.is-active { background: #e0f2f1; border-color: #0f4c5c; color: #0f4c5c; font-weight: 600; }
.disc-ed__result { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding-top: 8px; border-top: 1px dashed #eef2f6; }
.disc-ed__err { font-size: 12.5px; color: #dc2626; }
.disc-ed__actions { display: flex; gap: 8px; margin-top: 4px; }

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/calendar.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/calendar.css === Календарь заявок ===*/
/* Импорт из @maclay/styles. Использует tokens.css */

.page--cal{max-width:none; padding:18px 24px 32px}
.istat--danger .istat__n{color:var(--danger)}

/* ─── TOOLBAR ─────────────────────────────────────── */
.btoolbar{
  position:sticky;
  top:64px;
  z-index:5;
  display:flex; flex-direction:column; gap:8px;
  padding:8px 10px;
  background:rgba(255,255,255,0.7);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 8px 24px -12px rgba(15,76,92,0.1);
}
.btoolbar__row2{display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.btoolbar__spacer{flex:1; min-width:8px}

.cal-modes{display:flex; gap:1px; padding:2px; background:rgba(15,76,92,0.05); border-radius:8px}
.cal-modes button, .cal-modes a{
  font-size:11.5px; font-weight:500;
  padding:5px 12px;
  border-radius:6px;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
  text-decoration:none;
  transition:all .15s ease;
  font-family:inherit;
}
.cal-modes button:hover, .cal-modes a:hover{color:var(--ink-1)}
.cal-modes button.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 3px rgba(15,76,92,0.08);
}

.cal-nav{display:flex; align-items:center; gap:8px; padding:0 4px}
.cal-nav__l{
  font-family:var(--font-heading);
  font-weight:500; font-size:16px;
  color:var(--brand-deep);
  min-width:120px; text-align:center;
}
.iconbtn-sm{
  width:24px; height:24px;
  display:grid; place-items:center;
  border-radius:6px;
  font-size:14px;
  color:var(--ink-2);
  background:rgba(15,76,92,0.05);
  transition:all .15s ease;
}
.iconbtn-sm:hover{background:rgba(15,76,92,0.12); color:var(--ink-1)}

.cal-today{
  font-size:11.5px; font-weight:600;
  padding:5px 11px;
  border-radius:99px;
  background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600));
  color:#FFFBF8;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.2), 0 3px 8px -2px rgba(224,120,86,0.3);
  transition:transform .15s ease;
}
.cal-today:hover{transform:translateY(-1px)}

.bmgrs{display:flex; gap:2px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px}
.bmpill{
  display:inline-flex; align-items:center; gap:5px;
  padding:4px 8px;
  border-radius:6px;
  font-size:11px; font-weight:500;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
  font-family:inherit;
  transition:all .15s ease;
}
.bmpill:hover{color:var(--ink-1)}
.bmpill.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}
.bmpill .avatar{box-shadow:none}

.tseg{display:flex; gap:1px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px}
.tseg button{
  font-size:11px; font-weight:500;
  padding:4px 10px;
  border-radius:5px;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
  font-family:inherit;
  transition:all .15s ease;
}
.tseg button.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}

/* ─── LAYOUT (Month + side panel) ─────────────────── */
.cal-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:14px;
}
.cal-layout:has(.day-panel){grid-template-columns:minmax(0, 1fr) 340px}

/* ─── CALENDAR CARD ───────────────────────────────── */
.bcard{
  background:rgba(255,255,255,0.65);
  border:1px solid var(--glass-bd);
  border-radius:14px;
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  overflow:hidden;
}
.cal-card{padding:14px 14px 16px}

.cal-wd{
  display:grid; grid-template-columns:repeat(7, 1fr);
  font-size:9.5px; font-weight:600;
  text-transform:uppercase; letter-spacing:.13em;
  color:var(--ink-4);
  padding-bottom:6px;
  border-bottom:1px solid var(--line-1);
  margin-bottom:8px;
}
.cal-wd > div{padding:4px 10px}
.cal-wd .is-weekend{color:var(--brand-terra)}

.cal-grid{
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  gap:6px;
}
.cal-cell{
  position:relative;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:9px;
  padding:6px 8px;
  min-height:110px;
  display:flex; flex-direction:column; gap:4px;
  text-align:left;
  cursor:pointer;
  transition:all .15s ease;
  font-family:inherit;
  color:inherit;
}
.cal-cell:hover{background:rgba(255,255,255,0.9); border-color:var(--line-2); transform:translateY(-1px); box-shadow:0 4px 12px -4px rgba(15,76,92,0.1)}
.cal-cell.is-weekend{background:rgba(255,237,232,0.35)}
.cal-cell.is-out{background:rgba(255,255,255,0.25); cursor:default}
.cal-cell.is-out:hover{transform:none; box-shadow:none}
.cal-cell.is-out .cal-d{color:var(--ink-4)}
.cal-cell.is-today{box-shadow:inset 0 0 0 2px var(--brand-terra)}
.cal-cell.is-today .cal-d{
  background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600));
  color:#FFFBF8;
  padding:1px 7px;
  border-radius:99px;
  font-weight:600;
  box-shadow:0 2px 6px -2px rgba(224,120,86,0.4);
}
.cal-cell.is-selected{
  background:rgba(255,237,232,0.5);
  border-color:rgba(224,120,86,0.45);
  box-shadow:0 8px 24px -8px rgba(224,120,86,0.25);
}

.cal-d{
  display:inline-block;
  width:-moz-fit-content;
  width:fit-content;
  font-family:var(--font-heading);
  font-weight:500;
  font-size:14px;
  color:var(--ink-1);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
  line-height:1.1;
  align-self:flex-start;
}

.cal-items{display:flex; flex-direction:column; gap:3px; margin-top:2px}
.cal-item{
  display:flex; align-items:center; gap:4px;
  font-size:10px;
  background:rgba(255,255,255,0.75);
  border:1px solid var(--line-1);
  border-left:3px solid var(--tone);
  padding:2px 5px 2px 5px;
  border-radius:4px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  color:var(--ink-1);
}
.cal-item--back{background:linear-gradient(90deg, rgba(58,140,95,0.06), rgba(255,255,255,0.75))}
.cal-arrow{font-size:9px; opacity:.7; flex:none}
.cal-cli{font-weight:500; overflow:hidden; text-overflow:ellipsis}
.cal-more{
  font-size:9.5px;
  color:var(--ink-4);
  padding:1px 5px;
}

/* ─── SIDE PANEL ──────────────────────────────────── */
.day-panel{
  background:rgba(255,255,255,0.78);
  border:1px solid var(--glass-bd);
  border-radius:14px;
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(28px) saturate(180%);
  display:flex; flex-direction:column;
  max-height:calc(100vh - 130px);
  overflow:hidden;
  animation:slideIn .3s cubic-bezier(.34,1.2,.64,1);
  position:sticky;
  top:130px;
  align-self:start;
}
@keyframes slideIn{from{transform:translateX(20px); opacity:0} to{transform:translateX(0); opacity:1}}
.day-panel__head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 16px;
  border-bottom:1px solid var(--line-1);
}
.day-panel__d{
  font-family:var(--font-heading);
  font-weight:600; font-size:22px;
  color:var(--brand-deep);
  letter-spacing:-.01em;
}
.day-panel__sub{font-size:11.5px; color:var(--ink-3); margin-top:1px}
.day-panel__close{
  width:28px; height:28px;
  border-radius:7px;
  display:grid; place-items:center;
  background:rgba(15,76,92,0.06);
  color:var(--ink-3);
  transform:rotate(45deg);
  transition:all .15s ease;
}
.day-panel__close:hover{background:rgba(15,76,92,0.12); color:var(--ink-1)}
.day-panel__body{flex:1; overflow-y:auto; padding:10px 14px 16px; display:flex; flex-direction:column; gap:14px}
.day-panel__group{display:flex; flex-direction:column; gap:6px}
.day-panel__group-l{
  font-size:10px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase;
  color:var(--ink-3);
  padding-bottom:4px;
}
.day-panel__empty{font-size:12px; color:var(--ink-4); padding:20px; text-align:center; font-style:italic}

.day-ev-row{
  display:flex; flex-direction:column; gap:5px;
  padding:10px 12px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:10px;
  text-decoration:none;
  color:inherit;
  position:relative;
  transition:all .15s ease;
}
.day-ev-row:hover{background:rgba(255,255,255,0.95); border-color:var(--line-2); transform:translateX(2px)}
.day-ev-row__cli{font-size:12.5px; font-weight:600; color:var(--ink-1)}
.day-ev-row__tour{font-size:11.5px; color:var(--ink-2)}
.day-ev-row__tour b{font-weight:600; color:var(--brand-deep)}
.day-ev-row__meta{display:flex; align-items:center; gap:6px; font-size:10.5px; color:var(--ink-3); margin-top:2px}
.day-ev-row__amt{
  position:absolute; right:12px; top:10px;
  font-size:12px; font-weight:600;
  color:var(--brand-deep);
}

/* Reuse status-chip / bt-id from elsewhere */
.status-chip{
  display:inline-flex; align-items:center; gap:4px;
  width:-moz-fit-content;
  width:fit-content;
  padding:2px 8px;
  border-radius:99px;
  font-size:10px; font-weight:600;
  background:rgba(255,255,255,0.6);
  border:1px solid var(--line-1);
  color:var(--ink-2);
}
.status-chip__dot{width:5px; height:5px; border-radius:50%; background:var(--tone); box-shadow:0 0 0 1.5px rgba(255,255,255,0.6)}
.status-chip[data-status="overdue"]{color:var(--danger); background:rgba(200,65,58,0.1); border-color:transparent}
.status-chip[data-status="paid"], .status-chip[data-status="done"]{color:var(--brand-deep); background:rgba(15,76,92,0.06); border-color:transparent}
.bt-id{
  font-weight:600; color:var(--brand-deep);
  font-variant-numeric:tabular-nums; letter-spacing:.02em;
  background:rgba(15,76,92,0.06); padding:1px 6px; border-radius:4px;
  font-size:10px;
}

/* ─── WEEK VIEW ───────────────────────────────────── */
.alt-view{padding:14px 16px}
.alt-view__head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line-1);
}
.alt-view__head h3{
  margin:0;
  font-family:var(--font-heading);
  font-weight:500; font-size:17px;
  color:var(--brand-deep);
}

.week-grid{display:grid; grid-template-columns:repeat(7, 1fr); gap:6px}
.week-col{display:flex; flex-direction:column; gap:6px}
.week-head{
  display:flex; align-items:baseline; gap:6px;
  padding:6px 8px;
  border-bottom:1px solid var(--line-1);
}
.week-head__l{font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-3)}
.week-head__d{font-family:var(--font-heading); font-size:18px; font-weight:500; color:var(--brand-deep); margin-left:auto}
.week-events{display:flex; flex-direction:column; gap:4px; padding:0 6px}
.week-empty{font-size:11px; color:var(--ink-4); text-align:center; padding:8px}
.week-ev{
  background:rgba(255,255,255,0.7);
  border:1px solid var(--line-1);
  border-left:3px solid var(--tone);
  border-radius:6px;
  padding:5px 7px;
  font-size:10.5px;
  display:flex; flex-direction:column; gap:1px;
}
.week-ev__time{font-size:9.5px; color:var(--ink-3); font-weight:500; font-variant-numeric:tabular-nums}
.week-ev__cli{font-weight:600; color:var(--ink-1)}
.week-ev__t{font-size:10px; color:var(--ink-2)}

/* ─── DAY VIEW ────────────────────────────────────── */
.day-timeline{display:flex; flex-direction:column}
.day-row{
  display:grid;
  grid-template-columns:60px 1fr;
  gap:10px;
  min-height:48px;
  border-top:1px dashed var(--line-1);
  padding-top:4px;
}
.day-row:first-child{border-top:none}
.day-hour{font-size:11px; color:var(--ink-3); font-weight:500; padding-top:4px}
.day-track{position:relative; border-left:1px solid var(--line-1); padding:4px 4px 4px 10px}
.day-ev{
  position:absolute; top:4px;
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(255,255,255,0.8);
  border:1px solid var(--line-1);
  border-left:3px solid var(--tone);
  border-radius:6px;
  padding:4px 9px;
  font-size:11px;
  color:var(--ink-1);
}

/* ─── RESPONSIVE ─────────────────────────────────── */
@media (max-width:1400px){
  .cal-layout:has(.day-panel){grid-template-columns:minmax(0, 1fr) 300px}
}
@media (max-width:1180px){
  .cal-layout:has(.day-panel){grid-template-columns:minmax(0, 1fr)}
  .day-panel{position:relative; top:0; max-height:none}
  .cal-cell{min-height:90px}
}
@media (max-width:1024px){
  .page--cal{padding:14px}
  .btoolbar{position:relative; top:0}
  .cal-grid{gap:3px}
  .cal-cell{min-height:70px; padding:5px}
  .cal-items{display:none}
  .week-grid{grid-template-columns:1fr; gap:10px}
}


/* Кнопка месяца (вместо «Сегодня»-овала) */
.cal-month{font-size:13px; font-weight:600; color:var(--brand-deep); padding:6px 14px; border-radius:8px; background:rgba(15,76,92,0.05); border:1px solid var(--line-1); cursor:pointer; min-width:130px; transition:background .15s, border-color .15s}
.cal-month:hover{background:rgba(15,76,92,0.09); border-color:var(--line-2)}
.cal-cell.has-ev{cursor:pointer}

/* Модалка дня */
@keyframes cal-fade{from{opacity:0}}
.cal-modal-bg{position:fixed; inset:0; background:rgba(15,76,92,0.32); backdrop-filter:blur(2px); z-index:2147483646; display:grid; place-items:center; animation:cal-fade .15s}
.cal-modal{width:460px; max-width:calc(100vw - 32px); background:#fff; border-radius:14px; box-shadow:0 24px 60px rgba(15,76,92,0.28); overflow:hidden}
.cal-modal__hd{display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--line-1)}
.cal-modal__hd h3{font-size:15px; font-weight:700; color:var(--brand-deep); margin:0}
.cal-modal__x{background:none; border:none; cursor:pointer; color:var(--ink-3); font-size:16px; line-height:1}
.cal-modal__body{padding:12px}
.cal-modal-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; max-height:60vh; overflow:auto}
.cal-modal-row{display:flex; align-items:center; gap:11px; padding:9px 11px; border-radius:9px; border:1px solid var(--line-1); text-decoration:none; color:var(--ink-1); transition:background .14s, border-color .14s}
.cal-modal-row:hover{background:rgba(15,76,92,0.05); border-color:var(--line-2)}
.cal-modal-ic{display:grid; place-items:center; width:30px; height:30px; border-radius:8px; background:rgba(15,76,92,0.08); font-size:14px; flex:none}
.cal-modal-ic.is-back{background:rgba(58,140,95,0.14)}
.cal-modal-main{flex:1; min-width:0; display:flex; flex-direction:column; gap:1px}
.cal-modal-main b{font-size:13.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.cal-modal-main .muted{font-size:11.5px}
.cal-modal-row svg{color:var(--ink-3); flex:none}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/departures.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/departures.css === График выездов ===*/
/* Импорт из @maclay/styles. Использует tokens.css */

.page--dep{max-width:none; padding:18px 24px 32px}

/* TOOLBAR (shared base copied) */
.btoolbar{
  position:sticky; top:64px; z-index:5;
  display:flex; flex-direction:column; gap:8px;
  padding:8px 10px;
  background:rgba(255,255,255,0.7);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 8px 24px -12px rgba(15,76,92,0.1);
}
.btoolbar__row2{display:flex; align-items:center; gap:8px; flex-wrap:wrap}

.bsearch{
  display:flex; align-items:center; gap:6px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:8px;
  padding:5px 10px;
  color:var(--ink-3);
  min-width:200px; max-width:260px; flex:1;
}
.bsearch:focus-within{border-color:rgba(15,76,92,0.25); background:rgba(255,255,255,0.9)}
.bsearch input{flex:1; min-width:0; background:none; border:none; outline:none; font-size:12px; color:var(--ink-1)}

.kselect{
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:7px;
  padding:5px 22px 5px 9px;
  font-size:11px; color:var(--ink-2);
  cursor:pointer; outline:none;
  -moz-appearance:none;
       appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236A8089' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat;
  background-position:right 6px center;
}
.kselect:hover{background-color:rgba(255,255,255,0.85); color:var(--ink-1)}

.tseg{display:flex; gap:1px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px}
.tseg button{
  font-size:11px; font-weight:500;
  padding:4px 10px;
  border-radius:5px;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
  font-family:inherit;
  transition:all .15s ease;
}
.tseg button.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}

.check-l{display:flex; align-items:center; gap:5px; font-size:11.5px; color:var(--ink-2); cursor:pointer; padding:0 6px}
.check-l input{accent-color:var(--brand-terra); cursor:pointer}

.btoolbar__spacer{flex:1; min-width:8px}

/* ─── DAY GROUPS ──────────────────────────────────── */
.dep-groups{display:flex; flex-direction:column; gap:14px}
.depg{display:flex; flex-direction:column; gap:6px}
.depg__head{
  position:sticky;
  top:140px;
  z-index:2;
  display:flex; align-items:baseline; gap:10px;
  padding:8px 12px;
  background:rgba(255,255,255,0.88);
  backdrop-filter:blur(20px) saturate(180%);
  border:1px solid var(--glass-bd);
  border-radius:10px;
  font-size:12px;
}
.depg__date{
  font-family:var(--font-heading);
  font-weight:600; font-size:22px;
  color:var(--brand-deep);
  letter-spacing:-.015em;
}
.depg__mo{font-size:11px; color:var(--ink-3); font-weight:600; text-transform:uppercase; letter-spacing:.08em}
.depg__sub{color:var(--ink-2); margin-left:8px}
.depg__sub b{font-weight:600; color:var(--brand-deep)}
.depg__sum{
  margin-left:auto;
  font-size:13px; font-weight:600;
  color:var(--brand-deep);
}
.dot-sep{color:var(--ink-4); margin:0 4px}

.bcard{
  background:rgba(255,255,255,0.65);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  overflow:hidden;
}

/* ─── TABLE ───────────────────────────────────────── */
.depg-table{width:100%; border-collapse:collapse; font-size:11.5px}
.depg-table thead th{
  font-size:9.5px; font-weight:600;
  text-align:left;
  text-transform:uppercase; letter-spacing:.08em;
  color:var(--ink-3);
  padding:8px 10px;
  border-bottom:1px solid var(--line-1);
  background:rgba(248,247,243,0.6);
}
.depg-table thead th.dth-num,.depg-table .bt-num{text-align:right}
.dth-time{width:140px}

.depg-table tbody td{
  padding:10px 10px;
  border-bottom:1px solid var(--line-1);
  vertical-align:middle;
  color:var(--ink-1);
}
.depg-table tbody tr:last-child td{border-bottom:none}
.depg-table tbody tr.dep-row:hover td{background:rgba(255,255,255,0.55)}

.dep-time__t{
  font-family:"Inter",sans-serif;
  font-size:14px; font-weight:600;
  color:var(--brand-deep);
  letter-spacing:-.005em;
}
.dep-time__dir{font-size:10.5px; color:var(--ink-3); margin-top:1px}

.dep-route__c{font-weight:600; color:var(--brand-deep); font-size:12px}
.dep-route__h{font-size:11px; color:var(--ink-2); margin-top:1px}

.dep-flight{font-size:11px}
.dep-flight .muted{font-size:10.5px; color:var(--ink-4); margin-top:1px}

.dep-booking__top{display:flex; align-items:center; gap:6px}
.dep-booking__bot{font-size:10.5px; margin-top:3px; color:var(--ink-4)}
.bt-id{
  font-weight:600; color:var(--brand-deep);
  font-variant-numeric:tabular-nums; letter-spacing:.02em;
  background:rgba(15,76,92,0.06); padding:1px 6px; border-radius:4px;
  text-decoration:none;
  font-size:10.5px;
}
.bt-id:hover{background:rgba(224,120,86,0.16); color:var(--brand-terra)}

.status-chip{
  display:inline-flex; align-items:center; gap:4px;
  padding:2px 7px;
  border-radius:99px;
  font-size:9.5px; font-weight:600;
  background:rgba(255,255,255,0.6);
  border:1px solid var(--line-1);
  color:var(--ink-2);
}
.status-chip__dot{width:5px; height:5px; border-radius:50%; background:var(--tone); box-shadow:0 0 0 1.5px rgba(255,255,255,0.6)}
.status-chip[data-status="paid"], .status-chip[data-status="confirmed"]{color:var(--brand-deep); background:rgba(15,76,92,0.06); border-color:transparent}
.status-chip[data-status="overdue"]{color:var(--danger); background:rgba(200,65,58,0.1); border-color:transparent}

.dep-client__c{font-weight:500; color:var(--ink-1); font-size:11.5px}
.dep-client__contacts{display:flex; gap:2px; margin-top:3px}
.contact-pill{
  width:20px; height:20px;
  display:grid; place-items:center;
  border-radius:5px;
  background:rgba(15,76,92,0.05);
  color:var(--ink-3);
  transition:all .15s ease;
  cursor:pointer;
}
.contact-pill:hover{background:rgba(15,76,92,0.13); color:var(--brand-deep)}

.bt-num{text-align:right; font-variant-numeric:tabular-nums; font-weight:500}

.muted{color:var(--ink-4); font-size:10.5px}

/* ─── RESPONSIVE ─────────────────────────────────── */
@media (max-width:1400px){
  .depg-table{font-size:11px}
}
@media (max-width:1180px){
  .depg-table thead th, .depg-table tbody td{padding:8px 7px}
  .dth-time{width:110px}
}
@media (max-width:1024px){
  .page--dep{padding:14px 14px 24px}
  .btoolbar{position:relative; top:0}
  .depg__head{position:relative; top:0}
  .depg-table th:nth-child(3), .depg-table td:nth-child(3),
  .depg-table th:nth-child(6), .depg-table td:nth-child(6){display:none}
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/visas.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/visas.css === График виз ===*/
/* Импорт из @maclay/styles. Использует tokens.css */

.page--visas{max-width:none; padding:18px 24px 32px}

/* Stat chips */
.vis-stats{display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:6px}
.vis-stat{display:inline-flex; align-items:baseline; gap:6px; padding:0; border:none; background:none; border-radius:0; font-size:inherit}
.vis-stat:not(:first-child)::before{content:""; align-self:center; width:1px; height:18px; margin-right:8px; background:var(--line-1)}
.vis-stat__n{font-size:18px; font-weight:600; color:var(--brand-deep)}
.vis-stat__l{color:var(--ink-3)}
.vis-stat--work{background:none; border-color:transparent}
.vis-stat--work .vis-stat__n{color:#3A7383}
.vis-stat--submitted{background:none; border-color:transparent}
.vis-stat--submitted .vis-stat__n{color:var(--brand-deep)}
.vis-stat--received{background:none; border-color:transparent}
.vis-stat--received .vis-stat__n{color:var(--ok)}
.vis-stat--refused{background:none; border-color:transparent}
.vis-stat--refused .vis-stat__n{color:var(--danger)}

/* Toolbar */
.btoolbar{
  position:sticky; top:64px; z-index:5;
  display:flex; flex-direction:column; gap:8px;
  padding:8px 10px;
  background:rgba(255,255,255,0.7);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 8px 24px -12px rgba(15,76,92,0.1);
}
.btoolbar__row2{display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.btoolbar__spacer{flex:1; min-width:8px}

.bsearch{
  display:flex; align-items:center; gap:6px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:8px;
  padding:5px 10px;
  color:var(--ink-3);
  min-width:200px; max-width:280px; flex:1;
}
.bsearch:focus-within{border-color:rgba(15,76,92,0.25); background:rgba(255,255,255,0.9)}
.bsearch input{flex:1; min-width:0; background:none; border:none; outline:none; font-size:12px; color:var(--ink-1)}

.kselect{
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:7px;
  padding:5px 22px 5px 9px;
  font-size:11px; color:var(--ink-2);
  cursor:pointer; outline:none;
  -moz-appearance:none;
       appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236A8089' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat;
  background-position:right 6px center;
}
.kselect:hover{background-color:rgba(255,255,255,0.85); color:var(--ink-1)}

.tseg{display:flex; gap:1px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px; flex-wrap:wrap}
.tseg button{
  font-size:11px; font-weight:500;
  padding:4px 10px;
  border-radius:5px;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
  font-family:inherit;
  transition:all .15s ease;
  white-space:nowrap;
}
.tseg button:hover{color:var(--ink-1)}
.tseg button.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}

.country-multi{display:flex; gap:4px; flex-wrap:wrap}
.country-chip{
  display:inline-flex; align-items:center; gap:5px;
  padding:3px 9px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:99px;
  font-size:11px; font-weight:500;
  color:var(--ink-2);
  cursor:pointer;
  transition:all .15s ease;
}
.country-chip:hover{background:rgba(255,255,255,0.9); color:var(--ink-1)}
.country-chip.is-on{
  background:linear-gradient(180deg, var(--brand-deep), var(--brand-deep-500));
  color:#FFFBF8;
  border-color:transparent;
  font-weight:600;
}

/* Table card */
.bcard{
  background:rgba(255,255,255,0.65);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  overflow:hidden;
}

.vtable{width:100%; border-collapse:collapse; font-size:11.5px}
.vtable thead th{
  font-size:9.5px; font-weight:600;
  text-align:left;
  text-transform:uppercase; letter-spacing:.08em;
  color:var(--ink-3);
  padding:10px 10px;
  border-bottom:1px solid var(--line-1);
  background:rgba(248,247,243,0.6);
  white-space:nowrap;
}
.vtable thead th:first-child{padding-left:18px}
.vtable thead th:last-child{padding-right:18px}
.vtable tbody td{
  padding:9px 10px;
  border-bottom:1px solid var(--line-1);
  vertical-align:middle;
  color:var(--ink-1);
}
.vtable tbody td:first-child{padding-left:18px}
.vtable tbody td:last-child{padding-right:18px}
.vtable tbody tr:last-child td{border-bottom:none}
.vtable tbody tr.vrow:hover td{background:rgba(255,255,255,0.55)}

.vtrv{display:flex; align-items:center; gap:8px; min-width:0}
.vtrv .avatar{flex:none}
.vtrv > span:last-child{font-weight:500; color:var(--ink-1); overflow:hidden; text-overflow:ellipsis; max-width:200px; white-space:nowrap}

.vcountry{display:inline-flex; align-items:center; gap:6px; font-weight:500}
.vcountry__flag{font-size:14px}

.status-chip{
  display:inline-flex; align-items:center; gap:4px;
  width:-moz-fit-content;
  width:fit-content;
  padding:2px 8px;
  border-radius:99px;
  font-size:10px; font-weight:600;
  background:rgba(255,255,255,0.6);
  border:1px solid var(--line-1);
  color:var(--ink-2);
}
.status-chip__dot{width:5px; height:5px; border-radius:50%; background:var(--tone); box-shadow:0 0 0 1.5px rgba(255,255,255,0.6)}
.status-chip[data-status="received"]{color:var(--ok); background:rgba(58,140,95,0.13); border-color:transparent}
.status-chip[data-status="refused"]{color:var(--danger); background:rgba(200,65,58,0.13); border-color:transparent}
.status-chip[data-status="submitted"]{color:var(--brand-deep); background:rgba(15,76,92,0.07); border-color:transparent}

.bt-id{
  font-weight:600; color:var(--brand-deep);
  font-variant-numeric:tabular-nums; letter-spacing:.02em;
  background:rgba(15,76,92,0.06); padding:1px 6px; border-radius:4px;
  text-decoration:none;
  font-size:10.5px;
}
.bt-id:hover{background:rgba(224,120,86,0.16); color:var(--brand-terra)}

.muted{color:var(--ink-4)}
.t-menu{
  width:22px; height:22px;
  display:grid; place-items:center;
  border-radius:5px;
  color:var(--ink-3);
}
.t-menu:hover{background:rgba(15,76,92,0.08); color:var(--ink-1)}
.td-menu{text-align:right}

.t-empty{
  text-align:center;
  font-size:12px;
  color:var(--ink-4);
  font-style:italic;
  padding:36px 16px !important;
}

/* Visa upcoming timeline */
.vis-timeline{padding:14px 16px}
.vis-tl__head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line-1);
}
.vis-tl__head h3{
  margin:0;
  font-family:var(--font-heading);
  font-weight:500; font-size:16px;
  color:var(--brand-deep);
}
.vis-tl__bars{display:flex; align-items:flex-end; gap:14px; height:140px; padding:8px 4px}
.vis-tl__col{flex:1; display:flex; flex-direction:column; align-items:center; gap:6px}
.vis-tl__bar{
  width:36px;
  min-height:24px;
  border-radius:7px 7px 0 0;
  background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600));
  color:#FFFBF8;
  font-size:11px; font-weight:600;
  display:flex; align-items:flex-start; justify-content:center;
  padding-top:4px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.2);
}
.vis-tl__d{font-size:13px; font-weight:600; color:var(--brand-deep); font-variant-numeric:tabular-nums}
.vis-tl__m{font-size:9.5px; color:var(--ink-3); text-transform:uppercase; letter-spacing:.08em}

/* Responsive */
@media (max-width:1180px){
  .vtable th:nth-child(3), .vtable td:nth-child(3){display:none}
  .vtable th:nth-child(6), .vtable td:nth-child(6){display:none}
}
@media (max-width:1024px){
  .page--visas{padding:14px}
  .btoolbar{position:relative; top:0}
  .vtable th:nth-child(4), .vtable td:nth-child(4),
  .vtable th:nth-child(5), .vtable td:nth-child(5){display:none}
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/insurances.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/insurances.css === График страховок ===*/
/* Импорт из @maclay/styles. Использует tokens.css */

.page--ins{max-width:none; padding:18px 24px 32px}

/* Stat chips */
.vis-stats{display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:6px}
.vis-stat{display:inline-flex; align-items:baseline; gap:6px; padding:0; border:none; background:none; border-radius:0; font-size:inherit}
.vis-stat:not(:first-child)::before{content:""; align-self:center; width:1px; height:18px; margin-right:8px; background:var(--line-1)}
.vis-stat__n{font-size:18px; font-weight:600; color:var(--brand-deep)}
.vis-stat__l{color:var(--ink-3)}
.vis-stat--work{background:none; border-color:transparent}
.vis-stat--work .vis-stat__n{color:var(--warn)}
.vis-stat--active{background:none; border-color:transparent}
.vis-stat--active .vis-stat__n{color:var(--ok)}
.vis-stat--warn{background:none; border-color:transparent}
.vis-stat--warn .vis-stat__n{color:var(--danger)}
.vis-stat--info{background:none; border-color:transparent}
.vis-stat--info .vis-stat__n{color:var(--brand-deep)}

/* Toolbar */
.btoolbar{
  position:sticky; top:64px; z-index:5;
  display:flex; flex-direction:column; gap:8px;
  padding:8px 10px;
  background:rgba(255,255,255,0.7);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 8px 24px -12px rgba(15,76,92,0.1);
}
.btoolbar__row2{display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.btoolbar__spacer{flex:1; min-width:8px}

.bsearch{
  display:flex; align-items:center; gap:6px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:8px;
  padding:5px 10px;
  color:var(--ink-3);
  min-width:200px; max-width:280px; flex:1;
}
.bsearch:focus-within{border-color:rgba(15,76,92,0.25); background:rgba(255,255,255,0.9)}
.bsearch input{flex:1; min-width:0; background:none; border:none; outline:none; font-size:12px; color:var(--ink-1)}

.kselect{
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:7px;
  padding:5px 22px 5px 9px;
  font-size:11px; color:var(--ink-2);
  cursor:pointer; outline:none;
  -moz-appearance:none;
       appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236A8089' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat;
  background-position:right 6px center;
}
.kselect:hover{background-color:rgba(255,255,255,0.85); color:var(--ink-1)}

.tseg{display:flex; gap:1px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px; flex-wrap:wrap}
.tseg button{
  font-size:11px; font-weight:500;
  padding:4px 10px;
  border-radius:5px;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
  font-family:inherit;
  transition:all .15s ease;
  white-space:nowrap;
}
.tseg button:hover{color:var(--ink-1)}
.tseg button.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}

.country-multi{display:flex; gap:4px; flex-wrap:wrap}
.country-chip{
  display:inline-flex; align-items:center; gap:5px;
  padding:3px 9px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:99px;
  font-size:11px; font-weight:500;
  color:var(--ink-2);
  cursor:pointer;
  transition:all .15s ease;
}
.country-chip:hover{background:rgba(255,255,255,0.9); color:var(--ink-1)}
.country-chip.is-on{
  background:linear-gradient(180deg, var(--brand-deep), var(--brand-deep-500));
  color:#FFFBF8;
  border-color:transparent;
  font-weight:600;
}

/* Table card */
.bcard{
  background:rgba(255,255,255,0.65);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  overflow:hidden;
}

.vtable{width:100%; border-collapse:collapse; font-size:11.5px}
.vtable thead th{
  font-size:9.5px; font-weight:600;
  text-align:left;
  text-transform:uppercase; letter-spacing:.08em;
  color:var(--ink-3);
  padding:10px 10px;
  border-bottom:1px solid var(--line-1);
  background:rgba(248,247,243,0.6);
  white-space:nowrap;
}
.vtable thead th:first-child{padding-left:18px}
.vtable thead th:last-child{padding-right:18px}
.vtable tbody td{
  padding:9px 10px;
  border-bottom:1px solid var(--line-1);
  vertical-align:middle;
  color:var(--ink-1);
}
.vtable tbody td:first-child{padding-left:18px}
.vtable tbody td:last-child{padding-right:18px}
.vtable tbody tr:last-child td{border-bottom:none}
.vtable tbody tr.vrow:hover td{background:rgba(255,255,255,0.55)}

.vtrv{display:flex; align-items:center; gap:8px; min-width:0}
.vtrv .avatar{flex:none}
.vtrv > span:last-child{font-weight:500; color:var(--ink-1); overflow:hidden; text-overflow:ellipsis; max-width:200px; white-space:nowrap}

.vcountry{display:inline-flex; align-items:center; gap:6px; font-weight:500}
.vcountry__flag{font-size:14px}

.status-chip{
  display:inline-flex; align-items:center; gap:4px;
  width:-moz-fit-content;
  width:fit-content;
  padding:2px 8px;
  border-radius:99px;
  font-size:10px; font-weight:600;
  background:rgba(255,255,255,0.6);
  border:1px solid var(--line-1);
  color:var(--ink-2);
}
.status-chip__dot{width:5px; height:5px; border-radius:50%; background:var(--tone); box-shadow:0 0 0 1.5px rgba(255,255,255,0.6)}
.status-chip[data-status="issued"]{color:var(--ok); background:rgba(58,140,95,0.13); border-color:transparent}
.status-chip[data-status="expiring"]{color:var(--danger); background:rgba(200,65,58,0.13); border-color:transparent}
.status-chip[data-status="work"]{color:var(--warn); background:rgba(181,101,29,0.13); border-color:transparent}

.ins-end-warn{color:var(--danger); font-weight:600}
.ins-issuer{font-weight:500; color:var(--brand-deep)}

/* INSURANCE layout: list + side */
.ins-layout{display:grid; grid-template-columns:minmax(0, 1fr) 320px; gap:14px}
.ins-side{display:flex; flex-direction:column; gap:14px}
.ins-by{padding:14px 16px}
.ins-by__head{
  font-size:10px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase;
  color:var(--ink-3);
  margin-bottom:10px;
  padding-bottom:8px;
  border-bottom:1px solid var(--line-1);
}
.ins-by__row{
  display:grid;
  grid-template-columns:14px 1fr 36px 100px;
  gap:8px;
  padding:7px 4px;
  align-items:center;
  font-size:11.5px;
  border-bottom:1px solid var(--line-1);
}
.ins-by__row:last-child{border-bottom:none}
.ins-by__dot{width:10px; height:10px; border-radius:50%; box-shadow:0 0 0 1.5px rgba(255,255,255,0.5)}
.ins-by__l{color:var(--ink-1); font-weight:500}
.ins-by__row b{color:var(--brand-deep)}
.ins-by__row .muted{text-align:right}

.ins-renewals{padding:14px 16px}
.ins-renew{
  display:grid;
  grid-template-columns:18px 1fr auto;
  gap:9px; align-items:center;
  padding:7px 4px;
  border-bottom:1px solid var(--line-1);
  color:var(--warn);
  font-size:11px;
}
.ins-renew:last-child{border-bottom:none}
.ins-renew__trv{color:var(--ink-1); font-weight:500; font-size:11.5px}
.ins-renew__sub{margin-top:1px; font-size:10.5px}

.bt-id{
  font-weight:600; color:var(--brand-deep);
  font-variant-numeric:tabular-nums; letter-spacing:.02em;
  background:rgba(15,76,92,0.06); padding:1px 6px; border-radius:4px;
  text-decoration:none;
  font-size:10.5px;
}
.bt-id:hover{background:rgba(224,120,86,0.16); color:var(--brand-terra)}

.muted{color:var(--ink-4)}
.t-menu{
  width:22px; height:22px;
  display:grid; place-items:center;
  border-radius:5px;
  color:var(--ink-3);
}
.t-menu:hover{background:rgba(15,76,92,0.08); color:var(--ink-1)}
.td-menu{text-align:right}

.t-empty{
  text-align:center;
  font-size:12px;
  color:var(--ink-4);
  font-style:italic;
  padding:36px 16px !important;
}

/* Visa upcoming timeline (unused on this page) */
.vis-timeline{padding:14px 16px}
.vis-tl__head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line-1);
}
.vis-tl__head h3{
  margin:0;
  font-family:var(--font-heading);
  font-weight:500; font-size:16px;
  color:var(--brand-deep);
}
.vis-tl__bars{display:flex; align-items:flex-end; gap:14px; height:140px; padding:8px 4px}
.vis-tl__col{flex:1; display:flex; flex-direction:column; align-items:center; gap:6px}
.vis-tl__bar{
  width:36px;
  min-height:24px;
  border-radius:7px 7px 0 0;
  background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600));
  color:#FFFBF8;
  font-size:11px; font-weight:600;
  display:flex; align-items:flex-start; justify-content:center;
  padding-top:4px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.2);
}
.vis-tl__d{font-size:13px; font-weight:600; color:var(--brand-deep); font-variant-numeric:tabular-nums}
.vis-tl__m{font-size:9.5px; color:var(--ink-3); text-transform:uppercase; letter-spacing:.08em}

/* Responsive */
@media (max-width:1180px){
  .ins-layout{grid-template-columns:1fr}
  .vtable th:nth-child(3), .vtable td:nth-child(3){display:none}
  .vtable th:nth-child(4), .vtable td:nth-child(4){display:none}
}
@media (max-width:1024px){
  .page--ins{padding:14px}
  .btoolbar{position:relative; top:0}
  .vtable th:nth-child(5), .vtable td:nth-child(5){display:none}
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/travellers-list.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/travellers-list.css === Список туристов ===*/
/* Импорт из @maclay/styles. Использует tokens.css */

/* ─── TRAVELLERS PAGE ───────────────────────────────── */
.page--travellers{max-width:none; padding:18px 24px 32px}
.istat--warn .istat__n{color:var(--warn)}
.istat--warn .istat__l{color:var(--warn); opacity:.85}

/* ─── FILTERS ──────────────────────────────────────── */
.tfilters{
  position:sticky;
  top:64px;
  z-index:3;
  display:flex; align-items:center; gap:8px;
  padding:8px 10px;
  background:rgba(255,255,255,0.65);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 6px 20px -10px rgba(15,76,92,0.08);
  flex-wrap:wrap;
}
.tsearch{
  display:flex; align-items:center; gap:7px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:9px;
  padding:5px 11px;
  color:var(--ink-3);
  flex:1; min-width:260px; max-width:360px;
  transition:background .15s ease, border-color .15s ease;
}
.tsearch:focus-within{border-color:rgba(15,76,92,0.25); background:rgba(255,255,255,0.85)}
.tsearch input{
  flex:1; min-width:0;
  background:none; border:none; outline:none;
  font-size:12.5px; color:var(--ink-1);
}
.tsearch input::-moz-placeholder{color:var(--ink-4)}
.tsearch input::placeholder{color:var(--ink-4)}

.kselect{
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:8px;
  padding:6px 26px 6px 10px;
  font-size:11.5px;
  color:var(--ink-2);
  cursor:pointer;
  outline:none;
  -moz-appearance:none;
       appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236A8089' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat;
  background-position:right 8px center;
  transition:background-color .15s ease, border-color .15s ease;
}
.kselect:hover{background-color:rgba(255,255,255,0.85); color:var(--ink-1)}
.kselect:focus{border-color:rgba(15,76,92,0.25)}

.tseg{
  display:flex; gap:1px;
  padding:2px;
  background:rgba(15,76,92,0.05);
  border-radius:8px;
}
.tseg button{
  font-size:11px; font-weight:500;
  padding:5px 10px;
  border-radius:6px;
  color:var(--ink-3);
  transition:all .15s ease;
}
.tseg button:hover{color:var(--ink-1)}
.tseg button.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 3px rgba(15,76,92,0.08);
}
.tseg--view button{padding:5px 8px; display:grid; place-items:center}

.tfilters__spacer{flex:1; min-width:8px}
.tfilters__count{display:flex; align-items:baseline; gap:5px; font-size:12px; color:var(--ink-1); font-weight:600; padding:0 6px}
.tfilters__count .tabnum{font-size:14px}

/* ─── TABLE CARD ───────────────────────────────────── */
.tcard{
  background:rgba(255,255,255,0.65);
  border:1px solid var(--glass-bd);
  border-radius:14px;
  backdrop-filter:blur(24px) saturate(180%);
  box-shadow:var(--shadow-card);
  overflow:hidden;
}

.ttable{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}
.ttable thead th{
  position:sticky;
  top:120px;
  z-index:1;
  font-size:10px; font-weight:600;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ink-3);
  padding:10px 10px;
  background:rgba(248,247,243,0.85);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line-1);
  white-space:nowrap;
}
.th-n{width:32px; padding-left:18px !important}
.ttable thead th:last-child{padding-right:16px}
.ttable tbody td{
  padding:10px 10px;
  border-bottom:1px solid var(--line-1);
  vertical-align:middle;
  color:var(--ink-1);
}
.ttable tbody tr:last-child td{border-bottom:none}
.ttable tbody tr.trow:hover td{background:rgba(255,255,255,0.5)}
.td-n{
  padding-left:18px !important;
  font-size:10.5px;
  color:var(--ink-4);
  font-variant-numeric:tabular-nums;
}
.td-menu{padding-right:16px !important; width:30px; text-align:right}

.trow__person{
  display:flex; align-items:center; gap:9px;
  text-decoration:none;
  color:inherit;
  min-width:0;
}
.trow__person:hover .trow__name{color:var(--brand-terra)}
.trow__fio{display:flex; flex-direction:column; min-width:0; line-height:1.2}
.trow__name{font-size:12.5px; font-weight:600; color:var(--ink-1); transition:color .15s ease}
.trow__en{font-size:10px; color:var(--ink-3); letter-spacing:.04em; margin-top:1px}

.t-age-l{
  font-size:11.5px; color:var(--ink-2);
  display:inline-flex; gap:5px; align-items:baseline;
}

.trow__contacts{display:flex; gap:3px}
.contact-pill{
  width:22px; height:22px;
  display:grid; place-items:center;
  border-radius:6px;
  background:rgba(15,76,92,0.05);
  color:var(--ink-3);
  transition:all .15s ease;
}
.contact-pill:hover{background:rgba(15,76,92,0.12); color:var(--brand-deep)}
.contact-pill--wa:hover{background:rgba(37,211,102,0.18); color:#1AAE52}
.contact-pill--tg:hover{background:rgba(34,158,217,0.18); color:#1C82B5}
.contact-pill--phone:hover{background:rgba(58,140,95,0.18); color:var(--ok)}
.contact-pill.is-disabled{
  background:rgba(15,76,92,0.03);
  color:var(--ink-4);
  opacity:.4;
  pointer-events:none;
}

.trow__doc{
  display:inline-flex; align-items:center; gap:6px;
  font-size:11.5px;
}
.trow__doc .dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--ink-4);
  flex:none;
}
.trow__doc .dot.is-ok{background:var(--ok); box-shadow:0 0 0 2px rgba(58,140,95,0.18)}
.trow__doc .dot.is-warn{background:var(--warn); box-shadow:0 0 0 2px rgba(181,101,29,0.22); animation:dotPulse 2s ease infinite}
.trow__doc .dot.is-none{background:var(--ink-4)}
@keyframes dotPulse{ 50%{box-shadow:0 0 0 4px rgba(181,101,29,0.12)} }
.trow__doc-empty{color:var(--ink-4); font-style:italic; font-size:11px}
.trow__doc-exp{display:block; font-size:10px; color:var(--ink-3); margin-top:1px}
.trow__doc-exp.is-warn{color:var(--warn); font-weight:500}

.trow__trips{display:flex; flex-direction:column; line-height:1.25}
.trow__trips-n{font-size:13px; font-weight:600; color:var(--brand-deep)}
.trow__trips .muted{font-size:10px}

.trow__labels{display:flex; gap:3px; flex-wrap:wrap}
.trow__more{
  font-size:10px; font-weight:600;
  color:var(--ink-3);
  background:rgba(15,76,92,0.05);
  padding:2px 6px;
  border-radius:99px;
}

/* Reuse client-label from booking */
.client-label{
  font-size:10px; font-weight:600;
  padding:2px 7px;
  border-radius:99px;
  letter-spacing:.005em;
  white-space:nowrap;
}
.client-label--vip{background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600)); color:#FFFBF8}
.client-label--regular{background:rgba(58,140,95,0.13); color:var(--ok)}
.client-label--debtor{background:rgba(200,65,58,0.13); color:var(--danger)}
.client-label--new{background:rgba(34,158,217,0.13); color:#1C82B5}
.client-label--warn{background:rgba(181,101,29,0.13); color:var(--warn)}
.client-label--count{background:rgba(15,76,92,0.07); color:var(--ink-2)}

.t-menu{
  width:24px; height:24px;
  display:grid; place-items:center;
  border-radius:6px;
  color:var(--ink-3);
}
.t-menu:hover{background:rgba(15,76,92,0.08); color:var(--ink-1)}

.t-empty{
  text-align:center;
  font-size:12px;
  color:var(--ink-4);
  font-style:italic;
  padding:36px 16px !important;
}

/* ─── CARDS VIEW ────────────────────────────────────── */
.tcards{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:14px;
}
.tcards__card{
  padding:14px;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  display:flex; flex-direction:column; gap:10px;
}
.tcards__card:hover{transform:translateY(-1px); box-shadow:0 12px 28px -8px rgba(15,76,92,0.14)}
.tcards__head{display:flex; gap:10px; align-items:center}
.tcards__head .avatar{width:42px; height:42px; font-size:13px}
.tcards__fio{
  font-family:var(--font-heading);
  font-weight:500; font-size:15px;
  color:var(--brand-deep);
  line-height:1.2;
  letter-spacing:-.005em;
}
.tcards__en{font-size:10px; color:var(--ink-3); letter-spacing:.04em; margin-top:2px}
.tcards__meta{display:flex; gap:6px; align-items:center; font-size:11px; color:var(--ink-2); font-variant-numeric:tabular-nums}
.tcards__labels{display:flex; gap:4px; flex-wrap:wrap; min-height:22px}
.tcards__foot{
  margin-top:auto;
  display:flex; align-items:center; gap:10px;
  padding-top:8px;
  border-top:1px solid var(--line-1);
  font-size:11px;
  color:var(--ink-2);
}
.tcards__foot > :nth-child(2){margin-left:auto; font-weight:600; color:var(--brand-deep)}

/* ─── PAGINATION ────────────────────────────────────── */
.tpag{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:6px;
  padding:8px 4px;
  font-size:12px;
  flex-wrap:wrap;
  gap:12px;
}
.tpag__info{display:flex; align-items:baseline; gap:5px; color:var(--ink-1)}
.tpag__info .muted{font-weight:400}
.tpag__info .tabnum{font-weight:600}
.tpag__ctrls{display:flex; gap:3px; align-items:center}
.tpag__btn{
  width:28px; height:28px;
  display:grid; place-items:center;
  border-radius:7px;
  background:rgba(255,255,255,0.6);
  border:1px solid var(--line-1);
  color:var(--ink-2);
  transition:all .15s ease;
}
.tpag__btn:hover:not(:disabled){background:rgba(255,255,255,0.95); color:var(--ink-1)}
.tpag__btn:disabled{opacity:.35; cursor:not-allowed}
.tpag__page{
  min-width:28px; height:28px;
  padding:0 9px;
  border-radius:7px;
  font-size:11.5px; font-weight:500;
  color:var(--ink-2);
  background:rgba(255,255,255,0.4);
  border:1px solid transparent;
  transition:all .15s ease;
  font-variant-numeric:tabular-nums;
}
.tpag__page:hover{background:rgba(255,255,255,0.85); color:var(--ink-1)}
.tpag__page.is-active{
  background:linear-gradient(180deg, var(--brand-deep), var(--brand-deep-500));
  color:#FFFBF8;
  font-weight:600;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.15), 0 2px 6px -2px rgba(15,76,92,0.3);
}
.tpag__dots{color:var(--ink-4); padding:0 4px; font-variant-numeric:tabular-nums}

/* ─── RESPONSIVE ────────────────────────────────────── */
@media (max-width:1400px){
  .ttable thead th{padding:9px 8px}
  .ttable tbody td{padding:9px 8px}
  .trow__doc-exp{display:none}
}
@media (max-width:1180px){
  .tfilters{padding:7px 8px}
  .ttable .trow__contacts{display:none}
  .ttable th:nth-child(4){display:none}
}
@media (max-width:1024px){
  .page--travellers{padding:14px 16px 24px}
  .tfilters{position:relative; top:0}
  .ttable thead th{position:static}
  .ttable th:nth-child(3), .ttable td:nth-child(3){display:none} /* age col */
  .ttable th:nth-child(8), .ttable td:nth-child(8){display:none} /* labels */
  .ttable th:nth-child(9), .ttable td:nth-child(9){display:none} /* manager */
}

/* ─── Меню действий по туристу (три точки): дропдаун + модалка менеджера ─── */
.t-menu-pop{
  position:absolute; right:0; top:100%; margin-top:4px; min-width:210px;
  background:#fff; border:1px solid rgba(15,76,92,0.12);
  border-radius:10px; box-shadow:0 8px 28px rgba(0,0,0,.14);
  z-index:50; overflow:hidden; padding:4px 0;
}
.t-menu-pop__item{
  display:flex; align-items:center; gap:8px; width:100%;
  padding:8px 12px; background:none; border:none; text-align:left;
  cursor:pointer; font-size:13px; color:var(--ink-1);
  transition:background .12s;
}
.t-menu-pop__item:hover{background:rgba(15,76,92,0.08)}
.t-menu-pop__item--danger{color:var(--danger)}
.t-menu-pop__item--danger:hover{background:rgba(200,65,58,0.10)}

/* модалка выбора менеджера (рендерится через портал в body — поверх backdrop-filter предков) */
.t-mgr-backdrop{
  position:fixed; inset:0; background:rgba(15,30,40,.35);
  z-index:1000; display:flex; align-items:center; justify-content:center;
}
.t-mgr-modal{
  background:#fff; border-radius:14px; padding:20px; width:360px;
  max-height:70vh; overflow:auto; box-shadow:0 12px 40px rgba(0,0,0,.2);
}
.t-mgr-modal__title{font-weight:600; font-size:15px; margin-bottom:2px}
.t-mgr-opts{display:flex; flex-direction:column; gap:4px}
.t-mgr-opt{
  display:flex; justify-content:space-between; align-items:center;
  padding:9px 12px; border-radius:8px;
  border:1px solid rgba(15,76,92,0.12); background:#fff;
  cursor:pointer; font-size:13px; text-align:left;
  transition:background .12s, border-color .12s;
}
.t-mgr-opt:hover{background:rgba(15,76,92,0.06)}
.t-mgr-opt--active{border-color:var(--brand-terra); background:rgba(224,120,86,0.08)}
.t-mgr-opt__check{color:var(--brand-terra)}
.t-mgr-clear{
  margin-top:6px; padding:8px 12px; border-radius:8px; border:none;
  background:none; color:var(--ink-3); cursor:pointer; font-size:13px; text-align:left;
  transition:background .12s, color .12s;
}
.t-mgr-clear:hover{background:rgba(15,76,92,0.06); color:var(--ink-1)}

/* Инпуты внутри модалок (.t-mgr-modal) — видимые, не прозрачные */
.t-mgr-modal .field__input {
  background:#fff; border:1px solid rgba(15,76,92,0.16); border-radius:8px;
  padding:8px 10px; font-size:13px; width:100%; margin:0; color:var(--ink-1);
}
.t-mgr-modal .field__input:focus { border-color:var(--brand-terra); box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-terra) 14%,transparent); outline:none; }

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/traveller-detail.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/traveller-detail.css === Карточка туриста ===*/
/* Импорт из @maclay/styles. Использует tokens.css */

/* ─── PERSON PAGE ─────────────────────────────────── */
.page--person{
  max-width:none;
  padding:18px 24px 32px;
  display:flex; flex-direction:column;
  gap:16px;
}

/* ─── HERO ────────────────────────────────────────── */
.phero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto auto;
  gap:24px;
  padding:18px 22px;
  border-radius:var(--r-lg);
  background:rgba(255,255,255,0.7);
  border:1px solid var(--glass-bd);
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  overflow:visible;
  align-items:center;
}
.phero__main{display:flex; gap:18px; align-items:center; min-width:0}
.phero__avatar{
  width:72px; height:72px;
  border-radius:50%;
  background:linear-gradient(155deg, #2F6C7E, var(--brand-deep-600));
  color:var(--brand-cream-200);
  display:grid; place-items:center;
  font-family:var(--font-heading);
  font-weight:500;
  font-size:28px;
  letter-spacing:-.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.25), 0 8px 20px -6px rgba(15,76,92,0.35);
  flex:none;
}
.phero__id{min-width:0}
.phero__fio{
  margin:0 0 2px;
  font-family:var(--font-heading);
  font-weight:500;
  font-size:26px;
  color:var(--brand-deep);
  letter-spacing:-.01em;
  line-height:1.1;
}
.phero__en{font-size:10.5px; color:var(--ink-3); letter-spacing:.06em; margin-bottom:8px}
.phero__labels{display:flex; gap:5px; flex-wrap:wrap; margin-bottom:8px}
.phero__sub{display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--ink-3); flex-wrap:wrap}
.phero__mgr{display:inline-flex; align-items:center; gap:5px; color:var(--ink-2)}

.phero__metrics{
  display:flex;
  align-items:stretch;
  gap:18px;
  padding-left:24px;
  border-left:1px solid var(--line-1);
}
.pmetric{display:flex; flex-direction:column; gap:2px; min-width:120px}
.pmetric--sm{min-width:160px}
.pmetric__big{
  font-size:26px; font-weight:600;
  color:var(--brand-deep);
  letter-spacing:-.015em;
  line-height:1;
}
.pmetric__big .rub{font-size:14px; color:var(--ink-3); margin-left:3px; font-weight:500}
.pmetric__l{font-size:11px; color:var(--ink-3); margin-top:2px}

.loyalty{min-width:200px; align-self:center}
.loyalty__head{
  display:flex; justify-content:space-between; align-items:baseline;
  font-size:11px; color:var(--ink-3); margin-bottom:5px;
}
.loyalty__lvl{font-size:13px; font-weight:600; color:var(--brand-deep)}
.loyalty__bar{
  height:6px;
  background:rgba(15,76,92,0.07);
  border-radius:3px;
  overflow:hidden;
}
.loyalty__bar span{
  display:block; height:100%; border-radius:3px;
  background:linear-gradient(90deg, #6FA1AB, var(--brand-terra));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.25);
  transition:width .8s cubic-bezier(.34,1.2,.64,1);
}
.loyalty__hint{font-size:10.5px; color:var(--ink-3); margin-top:5px}
.loyalty__hint b{color:var(--brand-deep); font-weight:600}

.phero__actions{
  display:flex; gap:6px; align-items:center;
  align-self:flex-start;
}
.phero__actions .hero__more{
  width:34px; height:34px;
  display:grid; place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--glass-bd);
  color:var(--ink-2);
}
.phero__actions .hero__more:hover{background:rgba(255,255,255,0.85); color:var(--ink-1)}
.hero__menu{
  position:absolute; top:calc(100% + 6px); right:0;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--glass-bd);
  border-radius:11px;
  padding:5px;
  min-width:200px;
  box-shadow:0 12px 32px -8px rgba(15,76,92,0.2);
  z-index:200;
  display:flex; flex-direction:column;
}
/* hero overflow стал visible (чтобы выпадашка «⋯» не обрезалась) — подложку-блик держим скруглённой */
.phero > .tile__hl{ border-radius:var(--r-lg); }
.hero__menu button{
  display:flex; align-items:center; gap:8px;
  padding:7px 9px; border-radius:7px;
  font-size:12px; color:var(--ink-2);
  text-align:left;
}
.hero__menu button:hover{background:rgba(15,76,92,0.05); color:var(--ink-1)}
.hero__menu .danger{color:var(--danger)}
.hero__menu .danger:hover{background:rgba(200,65,58,0.06)}
.hero__menu hr{border:none; height:1px; background:var(--line-1); margin:4px 6px}

/* CLIENT LABELS (shared) */
.client-label{
  font-size:10px; font-weight:600;
  padding:2px 7px;
  border-radius:99px;
  letter-spacing:.005em;
}
.client-label--vip{background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600)); color:#FFFBF8}
.client-label--regular{background:rgba(58,140,95,0.13); color:var(--ok)}
.client-label--count{background:rgba(15,76,92,0.07); color:var(--ink-2)}

/* ─── LAYOUT (content + right panel) ──────────────── */
.person-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 340px;
  gap:18px;
  align-items:start;
}
.person-content{
  display:flex; flex-direction:column; gap:14px;
  min-width:0;
}
.person-right{
  position:sticky;
  top:72px;
  align-self:start;
  max-height:calc(100vh - 88px);
}

/* ─── HORIZONTAL TOC ──────────────────────────────── */
.htoc{
  position:sticky;
  top:64px;
  z-index:3;
  display:flex; gap:2px;
  padding:4px;
  background:rgba(255,255,255,0.75);
  border:1px solid var(--glass-bd);
  border-radius:11px;
  backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 4px 16px -8px rgba(15,76,92,0.08);
  width:-moz-fit-content;
  width:fit-content;
  align-self:flex-start;
}
.htoc__item{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 12px;
  border-radius:8px;
  font-size:12px; font-weight:500;
  color:var(--ink-3);
  text-decoration:none;
  transition:all .15s ease;
}
.htoc__item:hover{color:var(--ink-1)}
.htoc__item.is-active{
  background:linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600));
  color:#FFFBF8;
  font-weight:600;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.25), 0 2px 6px -2px rgba(224,120,86,0.3);
}
.htoc__badge{
  font-size:9.5px; font-weight:600;
  background:rgba(15,76,92,0.08);
  color:var(--ink-3);
  padding:1px 6px;
  border-radius:99px;
  font-variant-numeric:tabular-nums;
}
.htoc__item.is-active .htoc__badge{background:rgba(255,255,255,0.22); color:#FFFBF8}

/* ─── SECTIONS ────────────────────────────────────── */
.psection{padding:0; overflow:visible}
.psection__head{
  display:flex; align-items:center; gap:12px;
  padding:14px 18px 10px;
  border-bottom:1px solid var(--line-1);
}
.psection__title{
  margin:0;
  font-family:var(--font-heading);
  font-weight:500;
  font-size:17px;
  color:var(--brand-deep);
  letter-spacing:-.005em;
}
.psection__hint{font-size:11px; color:var(--ink-4); margin-left:6px}
.psection__add{margin-left:auto}
.psection__body{padding:14px 18px 18px}

/* SAVE INDICATOR (re-used) */
.saveind{
  display:inline-flex; align-items:center; gap:5px;
  font-size:11px; color:var(--ink-3);
  padding:3px 8px;
  border-radius:6px;
  background:rgba(15,76,92,0.04);
}
.saveind__dot{width:6px; height:6px; border-radius:50%; background:var(--ok); transition:background .2s ease}
.saveind.is-saving .saveind__dot{background:var(--brand-terra); animation:saveBlink 1s ease infinite}
@keyframes saveBlink{ 50%{opacity:.4} }

/* ─── CONTACTS ────────────────────────────────────── */
.contacts-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px}
.cfield{display:flex; flex-direction:column; gap:3px; padding:6px 0}
.cfield__l{
  font-size:10px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-4);
  margin-bottom:2px;
}
.cfield__v{
  font-size:13px;
  color:var(--ink-1);
  display:flex; align-items:center; gap:8px;
  flex-wrap:wrap;
}
.cfield__empty{color:var(--ink-4); font-style:italic; font-size:12.5px}
.cfield__hint{font-size:11px; color:var(--ink-4); margin-left:8px}
.cfield__actions{display:flex; gap:2px; margin-left:auto}
.cfield-row{display:grid; grid-template-columns:1fr 1fr; gap:12px}

.client-iconbtn{
  width:26px; height:26px;
  display:grid; place-items:center;
  border-radius:7px;
  color:var(--ink-3);
  transition:all .15s ease;
}
.client-iconbtn:hover{background:rgba(15,76,92,0.07); color:var(--brand-deep)}
.client-iconbtn--call:hover{color:var(--ok); background:rgba(58,140,95,0.13)}
.client-iconbtn--wa:hover{color:#1AAE52; background:rgba(37,211,102,0.13)}
.client-iconbtn--tg:hover{color:#1C82B5; background:rgba(34,158,217,0.13)}

.field__input{
  font:inherit; font-size:13px;
  color:var(--ink-1);
  background:transparent;
  border:1px solid transparent;
  border-radius:7px;
  padding:5px 8px;
  margin:0 -8px;
  outline:none;
  transition:background .15s ease, border-color .15s ease;
  min-width:240px;
}
.field__input:hover{background:rgba(15,76,92,0.04)}
.field__input:focus{
  background:rgba(255,255,255,0.95);
  border-color:rgba(15,76,92,0.2);
  box-shadow:0 0 0 3px rgba(224,120,86,0.1);
}

.field__textarea{
  font:inherit; font-size:13px;
  color:var(--ink-1);
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:10px;
  padding:11px 13px;
  outline:none;
  width:100%;
  min-height:120px;
  resize:vertical;
  line-height:1.55;
  transition:border-color .15s ease, background .15s ease;
}
.field__textarea:focus{
  background:rgba(255,255,255,0.95);
  border-color:rgba(15,76,92,0.2);
  box-shadow:0 0 0 3px rgba(224,120,86,0.1);
}

/* ─── DOCUMENTS ───────────────────────────────────── */
.docs-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:12px;
}
.doccard{
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:12px;
  padding:12px 14px;
  display:flex; flex-direction:column; gap:6px;
  transition:all .2s ease;
}
.doccard:hover{background:rgba(255,255,255,0.85); border-color:var(--line-2)}
.doccard__head{display:flex; align-items:center; gap:8px; justify-content:space-between}
.doccard__kind{
  font-size:9.5px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase;
  color:var(--ink-3);
}
.doccard__status{
  font-size:10px; font-weight:600;
  padding:1px 7px; border-radius:99px;
  letter-spacing:.01em;
}
.doccard__status--ok{background:rgba(58,140,95,0.13); color:var(--ok)}
.doccard__status--warn{background:rgba(181,101,29,0.13); color:var(--warn)}
.doccard__num{
  font-size:18px; font-weight:600;
  color:var(--brand-deep);
  letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;
}
.doccard__meta{display:flex; flex-direction:column; gap:3px; font-size:11.5px; color:var(--ink-2)}
.doccard__meta b{font-weight:600; color:var(--brand-deep)}
.doccard__issuer{font-size:10.5px; color:var(--ink-3); line-height:1.35}
.doccard__visited{margin-top:6px}
.doccard__visited-l{font-size:10px; color:var(--ink-3); margin-bottom:4px; text-transform:uppercase; letter-spacing:.06em}
.doccard__visited-list{display:flex; flex-wrap:wrap; gap:4px}
.country{
  font-size:11px;
  padding:2px 7px;
  border-radius:99px;
  background:rgba(15,76,92,0.05);
  color:var(--ink-2);
}
.doccard__actions{display:flex; gap:6px; margin-top:6px; padding-top:8px; border-top:1px solid var(--line-1)}
.doccard__actions .ghost-btn{padding:4px 9px; font-size:11px}

/* ─── TRIPS ───────────────────────────────────────── */
.trips-tl{display:flex; flex-direction:column; gap:8px; position:relative}
.trips-tl::before{
  content:""; position:absolute;
  left:34px; top:6px; bottom:6px;
  width:1px;
  background:var(--line-2);
}
.ttrip{
  position:relative;
  display:grid;
  grid-template-columns:62px 1fr auto;
  align-items:center; gap:14px;
  padding:10px 12px 10px 14px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:11px;
  text-decoration:none;
  color:inherit;
  transition:all .15s ease;
}
.ttrip:hover{background:rgba(255,255,255,0.85); border-color:var(--line-2); transform:translateX(2px)}
.ttrip.is-up{
  background:linear-gradient(155deg, rgba(255,242,232,0.7), rgba(255,255,255,0.55) 60%);
  border-color:rgba(224,120,86,0.25);
}
.ttrip__date{text-align:right; padding-right:6px; border-right:1px solid var(--line-1); line-height:1.05}
.ttrip__d{font-size:18px; font-weight:600; color:var(--brand-deep); letter-spacing:-.01em}
.ttrip__m{font-size:9.5px; color:var(--ink-3); text-transform:uppercase; letter-spacing:.08em; margin-top:2px}
.ttrip__route{font-size:13px; font-weight:600; color:var(--ink-1)}
.ttrip__hotel{font-size:11.5px; color:var(--ink-2); margin-top:2px}
.ttrip__meta{display:flex; gap:5px; align-items:center; font-size:10.5px; color:var(--ink-3); margin-top:3px}
.ttrip__id{
  background:rgba(15,76,92,0.06);
  padding:1px 6px;
  border-radius:4px;
  font-weight:600;
  color:var(--brand-deep);
  letter-spacing:.02em;
}
.ttrip__right{text-align:right; display:flex; flex-direction:column; gap:4px; align-items:flex-end}
.ttrip__amt{font-size:13px; font-weight:600; color:var(--brand-deep)}
.ttrip__status{
  font-size:10px; font-weight:600;
  padding:2px 7px;
  border-radius:99px;
  letter-spacing:.01em;
}
.ttrip__status--done{background:rgba(58,140,95,0.13); color:var(--ok)}
.ttrip__status--pending{background:rgba(224,120,86,0.16); color:var(--brand-terra)}

.btn-mini{padding:5px 10px; font-size:11.5px}

/* ─── FINANCE ─────────────────────────────────────── */
.fin-stats{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1px;
  background:var(--line-1);
  border-radius:11px;
  overflow:hidden;
  margin-bottom:14px;
}
.fin-stat{
  background:rgba(255,255,255,0.55);
  padding:12px 14px;
}
.fin-stat__l{font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-bottom:4px}
.fin-stat__v{font-size:18px; font-weight:600; color:var(--brand-deep); font-variant-numeric:tabular-nums; letter-spacing:-.015em}
.fin-stat__v .rub{font-size:12px; color:var(--ink-3); margin-left:3px; font-weight:500}
.fin-stat__hint{font-size:10px; margin-top:2px}

.fin-spark{
  background:rgba(255,255,255,0.45);
  border-radius:11px;
  padding:12px 14px;
  margin-bottom:14px;
  border:1px solid var(--line-1);
}
.fin-spark__head{display:flex; justify-content:space-between; font-size:11px; color:var(--ink-3); margin-bottom:8px}
.fin-spark__svg{width:100%; height:80px; display:block}

.fin-list{font-size:11.5px}
.fin-list__head{
  display:flex; justify-content:space-between;
  font-size:10px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-3);
  padding:0 4px 6px;
  border-bottom:1px solid var(--line-1);
}
.fin-row{
  display:grid;
  grid-template-columns:78px 64px 1fr 110px 80px;
  gap:10px;
  padding:7px 4px;
  border-bottom:1px solid var(--line-1);
  align-items:center;
}
.fin-row:last-child{border-bottom:none}
.fin-row__date{color:var(--ink-3); font-variant-numeric:tabular-nums; font-size:11px}
.fin-row__id{
  font-weight:600; color:var(--brand-deep);
  background:rgba(15,76,92,0.05);
  padding:1px 6px;
  border-radius:5px;
  font-size:10.5px;
  width:-moz-fit-content;
  width:fit-content;
}
.fin-row__route{color:var(--ink-1)}
.fin-row__amt{text-align:right; font-weight:600; color:var(--brand-deep)}
.fin-row__paid{font-size:10.5px; text-align:right}

/* ─── NOTES ───────────────────────────────────────── */
.notes-area{min-height:140px}
.notes-log{margin-top:14px; padding-top:14px; border-top:1px solid var(--line-1)}
.notes-log__head{font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-bottom:8px}
.notes-log__row{
  display:grid; grid-template-columns:24px 1fr;
  gap:9px;
  padding:6px 4px;
  border-bottom:1px solid var(--line-1);
  font-size:11.5px;
  color:var(--ink-2);
  align-items:center;
}
.notes-log__row:last-child{border-bottom:none}

/* ─── RIGHT PANEL ────────────────────────────────── */
.rp{
  background:rgba(255,255,255,0.7);
  border:1px solid var(--glass-bd);
  border-radius:14px;
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  display:flex; flex-direction:column;
  overflow:hidden;
  max-height:inherit;
}
.rp__tabs{
  display:flex; padding:4px; margin:8px;
  background:rgba(15,76,92,0.05);
  border-radius:9px;
  gap:2px;
}
.rp__tab{
  flex:1;
  font-size:11.5px; font-weight:500;
  padding:6px 10px;
  border-radius:7px;
  color:var(--ink-3);
  transition:all .15s ease;
}
.rp__tab:hover{color:var(--ink-1)}
.rp__tab.is-active{
  background:rgba(255,255,255,0.92);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 3px rgba(15,76,92,0.06);
}
.rp__tab-n{
  font-size:10px; font-weight:600;
  background:rgba(15,76,92,0.07);
  color:var(--ink-3);
  padding:0 6px; border-radius:99px;
  margin-left:5px;
  font-variant-numeric:tabular-nums;
}
.rp__tab.is-active .rp__tab-n{background:rgba(224,120,86,0.18); color:var(--brand-terra)}
.rp__body{
  flex:1; overflow-y:auto;
  padding:8px 14px 14px;
  scrollbar-width:thin;
  scrollbar-color:rgba(15,76,92,0.18) transparent;
}
.rp__body::-webkit-scrollbar{width:5px}
.rp__body::-webkit-scrollbar-thumb{background:rgba(15,76,92,0.18); border-radius:3px}

/* timeline */
.ptl{display:flex; flex-direction:column; gap:12px; padding:6px 0 0 6px; list-style:none; margin:0}
.ptl__item{
  position:relative;
  display:flex; gap:10px;
  padding-left:20px;
}
.ptl__item::before{
  content:""; position:absolute; left:7px; top:14px; bottom:-12px;
  width:1px; background:var(--line-2);
}
.ptl__item:last-child::before{display:none}
.ptl__dot{
  position:absolute; left:0; top:3px;
  width:16px; height:16px;
  border-radius:50%;
  background:#FFF;
  border:1.5px solid var(--brand-deep);
  display:grid; place-items:center;
  color:var(--brand-deep);
}
.ptl__item:first-child .ptl__dot{background:var(--brand-terra); border-color:var(--brand-terra); color:#FFF}
.ptl__t{font-size:11.5px; color:var(--ink-1); line-height:1.35}
.ptl__meta{font-size:10.5px; margin-top:1px}

/* related */
.related-card{
  display:grid;
  grid-template-columns:28px 1fr auto;
  gap:10px; align-items:center;
  padding:8px 10px;
  background:rgba(255,255,255,0.5);
  border:1px solid var(--line-1);
  border-radius:9px;
  text-decoration:none;
  color:inherit;
  transition:all .15s ease;
}
.related-card:hover{background:rgba(255,255,255,0.9); border-color:var(--line-2); transform:translateX(2px)}
.related-card__fio{font-size:12px; font-weight:600; color:var(--ink-1)}
.related-card__meta{font-size:10.5px; margin-top:1px}
.related-card__n{display:flex; flex-direction:column; align-items:flex-end; gap:0; line-height:1.1; font-size:10px}
.related-card__n .tabnum{font-size:13px; font-weight:600; color:var(--brand-deep)}

.dot-sep{color:var(--ink-4)}

/* ─── RESPONSIVE ───────────────────────────────── */
@media (max-width:1400px){
  .phero{grid-template-columns:minmax(0, 1fr) auto; row-gap:14px}
  .phero__actions{grid-column:1 / -1; padding-top:8px; border-top:1px solid var(--line-1); justify-content:flex-end}
}
@media (max-width:1280px){
  .person-layout{grid-template-columns:1fr}
  .person-right{position:static; max-height:none}
  .rp{max-height:480px}
}
@media (max-width:1024px){
  .page--person{padding:14px 16px 24px}
  .phero{padding:14px 16px}
  .phero__avatar{width:56px; height:56px; font-size:22px}
  .phero__fio{font-size:22px}
  .phero__metrics{flex-direction:column; gap:14px; padding-left:0; padding-top:14px; border-left:none; border-top:1px solid var(--line-1); width:100%}
  .phero{grid-template-columns:1fr}
  .htoc{flex-wrap:wrap}
  .contacts-grid{grid-template-columns:1fr}
  .fin-stats{grid-template-columns:1fr 1fr}
  .fin-stats > :nth-child(3){grid-column:1/-1}
  .ttrip{grid-template-columns:54px 1fr; row-gap:6px}
  .ttrip__right{grid-column:2}
}

/* Редактируемая секция «Личные данные» клиента */
.cedit__grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px 18px; }
.cedit__field { display:flex; flex-direction:column; gap:5px; min-width:0; }
.cedit__label { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.02em; color:var(--ink-3); }
.cedit .field__input, .cedit .tf-inp {
  background:rgba(255,255,255,0.85); border:1px solid var(--line-1); border-radius:8px;
  margin:0; width:100%; padding:7px 10px; font-size:13px; color:var(--ink-1);
  display:flex; align-items:center;
}
.cedit .field__input:hover, .cedit .tf-inp:hover { border-color:rgba(15,76,92,0.28); background:#fff; }
.cedit .field__input:focus, .cedit .tf-inp:focus { border-color:var(--brand-terra); background:#fff; box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-terra) 15%,transparent); outline:none; }
@media (max-width:1100px){ .cedit__grid{ grid-template-columns:repeat(2,1fr); } }

/* Контейнер редактируемой формы — горизонтальные отступы как у .psection__body */
.cedit { padding: 2px 18px 18px; }

/* Подзаголовки секций внутри редактируемой формы */
.cedit__sub {
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
  color:var(--brand-deep); margin:18px 0 10px;
}
.cedit__sub:first-child { margin-top:0; }

/* Согласия */
.cedit__consents { display:flex; flex-direction:column; gap:9px; }
.cedit__check { display:flex; align-items:center; gap:9px; font-size:13px; color:var(--ink-1); cursor:pointer; }
.cedit__check input { width:16px; height:16px; accent-color:var(--brand-terra); cursor:pointer; }

/* Метки-чипы */
.cedit__tags { display:flex; flex-wrap:wrap; gap:7px; }
.ctag {
  padding:5px 12px; border-radius:999px; border:1px solid var(--line-2);
  background:#fff; font-size:12px; font-weight:600; color:var(--ink-2); cursor:pointer;
  transition:all .12s ease;
}
.ctag:hover { border-color:var(--brand-terra); color:var(--brand-terra); }
.ctag--on { background:var(--brand-deep); border-color:var(--brand-deep); color:#fff; }
.ctag:disabled { opacity:.55; cursor:default; }

/* «Дополнительно» (свёрнутый блок) */
.cedit__more { margin-top:18px; }
.cedit__more > summary {
  cursor:pointer; font-size:12px; font-weight:600; color:var(--brand-terra);
  list-style:none; padding:6px 0; -webkit-user-select:none; -moz-user-select:none; user-select:none;
}
.cedit__more > summary::-webkit-details-marker { display:none; }
.cedit__more > summary::before { content:"+ "; }
.cedit__more[open] > summary::before { content:"− "; }

/* Табы контейнера «Документы» (Паспорт/Визы/Страховки/Файлы/Бонусы/Заявки/История) */
.dtabs { display:flex; flex-wrap:wrap; gap:2px; padding:10px 14px 0; border-bottom:1px solid var(--line-1); }
.dtabs__tab {
  border:0; background:none; padding:8px 12px; font-size:12.5px; font-weight:600;
  color:var(--ink-3); cursor:pointer; border-bottom:2px solid transparent;
  margin-bottom:-1px; border-radius:6px 6px 0 0; white-space:nowrap;
}
.dtabs__tab:hover { color:var(--brand-terra); background:rgba(224,120,86,0.06); }
.dtabs__tab.is-active { color:var(--brand-deep); border-bottom-color:var(--brand-terra); }

/* Редактор паспортов — три фиксированных блока (внутренний / загран / свидетельство) */
.passport-cols { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; align-items:start; }
@media (max-width:1100px){ .passport-cols{ grid-template-columns:1fr; } }
.passport-card {
  border:1px solid var(--line-1); border-radius:12px; padding:14px 16px;
  background:rgba(255,255,255,0.6);
}
.passport-card__head { display:flex; align-items:center; gap:10px; margin-bottom:12px; min-height:22px; }
.passport-card__title { font-size:13px; font-weight:700; color:var(--brand-deep); }
.passport-card__fields { display:flex; flex-direction:column; gap:11px; }
/* поля внутри узких колонок паспортов: не растягивать, дать вид инпута */
.passport-card__fields .field__input {
  min-width:0; width:100%; margin:0; box-sizing:border-box;
  border:1px solid var(--line-1); background:rgba(255,255,255,0.85); padding:7px 10px;
}
.passport-card__fields button.field__input { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.passport-card__fields button.field__input:hover { background:#fff; }

/* DateField-триггер в .cedit (карточка/страница создания): не переполнять ячейку, иконку — вправо */
.cedit .field__input { min-width:0; box-sizing:border-box; }
.cedit button.field__input { justify-content:space-between; gap:8px; }

/* Полная страница создания туриста — 2 колонки + нижняя панель */
.tfull { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; padding-bottom:84px; }
@media (max-width:1100px){ .tfull{ grid-template-columns:1fr; } }
.tfull-bar {
  position:fixed; left:0; right:0; bottom:0; z-index:40;
  display:flex; justify-content:flex-end; gap:12px;
  padding:14px 28px; background:rgba(255,255,255,0.92);
  backdrop-filter:blur(8px); border-top:1px solid var(--line-2);
}
.tfull-bar .btn-primary, .tfull-bar .btn-ghost { display:inline-flex; align-items:center; gap:7px; }

/* Контент табов «Документы» (визы/страховки/бонусы) и блок файлов */
.ctab__head { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.ctab__title { font-size:14px; font-weight:700; color:var(--brand-deep); }
.ctab__title b { margin-left:6px; color:var(--ink-3); font-weight:600; }
.ctab__head .btn-primary { margin-left:auto; display:inline-flex; align-items:center; gap:6px; }
.ctab__empty { color:var(--ink-3); font-size:13px; padding:14px 0; }
.ctab__list { display:flex; flex-direction:column; gap:8px; }
.ctab__quick { display:flex; gap:10px; margin-top:8px; }
.ctab__quick button { border:0; background:none; color:var(--brand-terra); font-size:12px; font-weight:600; cursor:pointer; }
.ctab__quick button:hover { text-decoration:underline; }
.crow {
  display:flex; justify-content:space-between; align-items:flex-start; gap:12px;
  border:1px solid var(--line-1); border-radius:10px; padding:10px 12px; background:rgba(255,255,255,0.6);
}
.crow--expired { border-color:#e7b4b4; background:rgba(220,38,38,0.05); }
.crow__title { font-size:13.5px; font-weight:600; color:var(--ink-1); }
.crow__badge { margin-left:8px; font-size:10px; font-weight:700; text-transform:uppercase; color:#b91c1c; }
.crow__meta { font-size:11.5px; color:var(--ink-3); margin-top:2px; }
.crow__note { font-size:11.5px; color:var(--ink-2); margin-top:4px; }
.crow__del { border:0; background:none; color:var(--ink-3); cursor:pointer; padding:2px; }
.crow__del:hover { color:var(--danger,#c0392b); }

/* Метки: обёртка с кнопкой удаления + «+ метка» */
.ctag-wrap { position:relative; display:inline-flex; align-items:center; }
.ctag-del {
  margin-left:-6px; width:16px; height:16px; border-radius:50%; border:0; cursor:pointer;
  background:rgba(15,76,92,0.12); color:var(--ink-2); font-size:12px; line-height:1;
  display:flex; align-items:center; justify-content:center; opacity:.65; transition:opacity .12s, background .12s;
}
.ctag-wrap:hover .ctag-del { opacity:1; }
.ctag-del:hover { background:var(--danger,#c0392b); color:#fff; }
.ctag--add { border-style:dashed; color:var(--brand-terra); }
.ctag--add:hover { border-color:var(--brand-terra); background:rgba(224,120,86,0.06); }

/* hero выше правого блока — чтобы выпадашка «⋯» не перекрывалась Активность/Связанные/Семья */
.phero { z-index:30; }

/* Фото клиента в аватаре hero */
.phero__avatar--photo { position:relative; cursor:pointer; overflow:visible; }
.phero__avatar-img { position:absolute; inset:0; width:100%; height:100%; -o-object-fit:cover; object-fit:cover; border-radius:50%; display:block; z-index:1; }
.phero__avatar-edit {
  position:absolute; right:-2px; bottom:-2px; width:20px; height:20px; border-radius:50%;
  background:var(--brand-terra); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 1px 4px rgba(15,76,92,0.25); z-index:3; cursor:pointer;
}
.phero__avatar-del {
  position:absolute; right:-6px; top:-6px; width:18px; height:18px; border-radius:50%; border:0;
  background:rgba(15,76,92,0.65); color:#fff; cursor:pointer; font-size:12px; line-height:1;
  display:none; align-items:center; justify-content:center; z-index:3;
}
.phero__avatar--photo:hover .phero__avatar-del { display:flex; }
.phero__avatar--photo:hover .phero__avatar-img { filter:brightness(0.92); }

/* Лайтбокс фото клиента */
.photo-lightbox {
  position:fixed; inset:0; z-index:1000; background:rgba(15,28,33,0.82);
  display:flex; align-items:center; justify-content:center; padding:40px; cursor:zoom-out; backdrop-filter:blur(4px);
}
.photo-lightbox img { max-width:min(90vw,720px); max-height:88vh; border-radius:14px; box-shadow:0 20px 60px rgba(0,0,0,.5); cursor:default; }
.photo-lightbox__close {
  position:absolute; top:20px; right:24px; width:40px; height:40px; border-radius:50%;
  border:0; background:rgba(255,255,255,0.14); color:#fff; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.photo-lightbox__close:hover { background:rgba(255,255,255,0.26); }

/* Чипы типа/приоритета в модалке задачи */
.tchips { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
.tchip { padding:6px 12px; border-radius:8px; border:1px solid var(--line-2); background:#fff; font-size:12.5px; font-weight:600; color:var(--ink-2); cursor:pointer; }
.tchip:hover { border-color:var(--brand-terra); color:var(--brand-terra); }
.tchip--on { background:var(--brand-deep); border-color:var(--brand-deep); color:#fff; }

/* Поле времени — иконка-часы к правому краю (как календарь), наш стиль */
input.tf-time { width:100%; box-sizing:border-box; }
input.tf-time::-webkit-calendar-picker-indicator { margin-left:auto; opacity:.5; cursor:pointer; }
input.tf-time:hover::-webkit-calendar-picker-indicator { opacity:.8; }

/* Ответственный «Имя Ф.:» перед текстом задачи */
.task-assignee { font-weight:700; color:var(--brand-deep); margin-right:4px; }
.task-bk { font-weight:700; color:var(--brand-terra); margin-right:4px; }

/* Привязка задачи к заявке (поиск/выбранное) */
.tbk-sel { display:flex; align-items:center; gap:8px; padding:7px 10px; border:1px solid var(--line-2); border-radius:8px; background:rgba(224,120,86,0.06); font-size:13px; font-weight:600; color:var(--brand-deep); }
.tbk-sel button { margin-left:auto; border:0; background:none; cursor:pointer; color:var(--ink-3); font-size:13px; }
.tbk-res { position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:30; background:#fff; border:1px solid var(--line-2); border-radius:10px; box-shadow:0 12px 30px -12px rgba(15,76,92,.3); max-height:220px; overflow-y:auto; padding:4px; }
.tbk-res button { display:block; width:100%; text-align:left; border:0; background:none; cursor:pointer; padding:8px 10px; border-radius:7px; font-size:13px; color:var(--ink-1); }
.tbk-res button:hover { background:rgba(15,76,92,0.06); }

/* Архив задач */
.arch-list { list-style:none; margin:0; padding:0; }
.arch-row { display:flex; align-items:center; gap:12px; padding:12px 18px; border-bottom:1px solid var(--line-1); font-size:13.5px; }
.arch-row:last-child { border-bottom:0; }
.arch-row__ic { color:var(--ok,#3a8c5f); flex:0 0 auto; }
.arch-row__title { flex:1; color:var(--ink-2); }
.arch-row__date { flex:0 0 auto; font-size:12px; }

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/birthdays.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.page--bday{max-width:none; padding:18px 24px 32px}

/* STAT CHIPS (reused) */
.vis-stats{display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:6px}
.vis-stat{display:inline-flex; align-items:baseline; gap:6px; padding:0; border:none; background:none; border-radius:0; font-size:inherit}
.vis-stat:not(:first-child)::before{content:""; align-self:center; width:1px; height:18px; margin-right:8px; background:var(--line-1)}
.vis-stat__n{font-size:18px; font-weight:600; color:var(--brand-deep)}
.vis-stat__l{color:var(--ink-3)}
.vis-stat--hot{background:none; border-color:transparent}
.vis-stat--hot .vis-stat__n{color:var(--brand-terra)}
.vis-stat--hot .vis-stat__l{color:var(--ink-3)}
.vis-stat--info{background:none; border-color:transparent}
.vis-stat--info .vis-stat__n{color:var(--brand-deep)}
.vis-stat--neutral{background:none; border-color:transparent}
.vis-stat--neutral .vis-stat__n{color:var(--ink-2)}
.vis-stat--active{background:none; border-color:transparent}
.vis-stat--active .vis-stat__n{color:var(--ok)}

/* TOOLBAR */
.btoolbar{
  position:sticky; top:64px; z-index:5;
  display:flex; flex-direction:column; gap:8px;
  padding:8px 10px;
  background:rgba(255,255,255,0.7);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 8px 24px -12px rgba(15,76,92,0.1);
}
.btoolbar__row2{display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.btoolbar__spacer{flex:1; min-width:8px}

.bsearch{
  display:flex; align-items:center; gap:6px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:8px;
  padding:5px 10px;
  color:var(--ink-3);
  min-width:200px; max-width:280px; flex:1;
}
.bsearch:focus-within{border-color:rgba(15,76,92,0.25); background:rgba(255,255,255,0.9)}
.bsearch input{flex:1; min-width:0; background:none; border:none; outline:none; font-size:12px; color:var(--ink-1)}

.bmgrs{display:flex; gap:2px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px}
.bmpill{
  display:inline-flex; align-items:center; gap:5px;
  padding:4px 8px;
  border-radius:6px;
  font-size:11px; font-weight:500;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
  font-family:inherit;
  transition:all .15s ease;
}
.bmpill:hover{color:var(--ink-1)}
.bmpill.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}
.bmpill .avatar{box-shadow:none}

.bstatus{display:flex; gap:4px; flex-wrap:wrap}
.bstatus-chip{
  display:inline-flex; align-items:center; gap:5px;
  padding:3px 8px;
  font-size:11px; font-weight:500;
  border:1px solid var(--line-1);
  border-radius:99px;
  color:var(--ink-3);
  background:rgba(255,255,255,0.5);
  cursor:pointer;
  transition:all .15s ease;
  font-family:inherit;
}
.bstatus-dot{width:6px; height:6px; border-radius:50%; background:var(--tone)}
.bstatus-chip:hover{background:rgba(255,255,255,0.85); color:var(--ink-1)}
.bstatus-chip.is-on{
  background:var(--tone);
  color:#FFFBF8;
  border-color:transparent;
  font-weight:600;
}
.bstatus-chip.is-on .bstatus-dot{background:rgba(255,255,255,0.85)}

.tseg{display:flex; gap:1px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px}
.tseg button{
  font-size:11px; font-weight:500;
  padding:4px 10px;
  border-radius:5px;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
  font-family:inherit;
  transition:all .15s ease;
}
.tseg button.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}
.tseg--view button{padding:4px 8px; display:grid; place-items:center}

/* ─── HERO TODAY ──────────────────────────────────── */
.bday-today{
  background:linear-gradient(135deg, rgba(255,237,232,0.85), rgba(255,255,255,0.65) 45%, rgba(255,242,232,0.7));
  border:1px solid rgba(224,120,86,0.3);
  border-radius:var(--r-lg);
  padding:18px 20px 20px;
  box-shadow:0 12px 36px -12px rgba(224,120,86,0.25);
  backdrop-filter:blur(28px) saturate(180%);
  position:relative;
  overflow:hidden;
}
.bday-today::before{
  content:""; position:absolute; top:0; left:14px; right:14px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.95), transparent);
}
.bday-today__head{display:flex; align-items:center; gap:14px; margin-bottom:14px}
.bday-today__cake{
  width:54px; height:54px;
  border-radius:14px;
  background:linear-gradient(155deg, var(--brand-terra), #CC6645);
  color:#FFFBF8;
  display:grid; place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.3), 0 8px 20px -4px rgba(224,120,86,0.4);
  flex:none;
}
.bday-today__l{
  font-size:10px; font-weight:600;
  letter-spacing:.15em; text-transform:uppercase;
  color:#8C4A30;
}
.bday-today__h{
  font-family:var(--font-heading);
  font-weight:500; font-size:24px;
  color:#5D2820;
  letter-spacing:-.01em;
  margin-top:2px;
}
.bday-today__h b{font-weight:600; color:var(--brand-terra)}

.bday-today__list{display:flex; flex-direction:column; gap:10px}

.bday-hero-card{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:16px; align-items:center;
  padding:14px 16px;
  background:rgba(255,255,255,0.7);
  border:1px solid var(--glass-bd);
  border-radius:12px;
  backdrop-filter:blur(20px) saturate(160%);
  transition:all .2s ease;
}
.bday-hero-card:hover{
  background:rgba(255,255,255,0.92);
  transform:translateY(-2px);
  box-shadow:0 10px 28px -8px rgba(15,76,92,0.18);
}
.bday-hero-card.is-greeted{opacity:.6}

.bday-hero-card__avatar{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none; color:inherit;
}
.bday-hero-card__cake{
  position:absolute;
  bottom:-2px; right:-6px;
  font-size:20px;
  filter:drop-shadow(0 2px 4px rgba(15,76,92,0.2));
}
.bday-hero-card__fio{
  font-family:var(--font-heading);
  font-weight:500; font-size:18px;
  color:var(--brand-deep);
  letter-spacing:-.005em;
  text-decoration:none;
  display:block;
  margin-bottom:3px;
}
.bday-hero-card__fio:hover{color:var(--brand-terra)}
.bday-hero-card__meta{
  display:flex; gap:7px; align-items:center;
  font-size:12px; color:var(--ink-2);
  flex-wrap:wrap;
  margin-bottom:6px;
}
.bday-hero-card__meta b{font-weight:600; color:var(--brand-deep)}
.bday-hero-card__labels{display:flex; gap:4px; flex-wrap:wrap}

.bday-hero-card__actions{
  display:flex; gap:5px; align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.bday-hero-card__mgr{
  position:absolute;
  top:10px; right:10px;
}

.bday-act{
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 10px;
  border-radius:7px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  font-size:11px; font-weight:500;
  color:var(--ink-2);
  text-decoration:none;
  cursor:pointer;
  transition:all .15s ease;
  font-family:inherit;
}
.bday-act:hover{background:rgba(255,255,255,0.95); color:var(--ink-1)}
.bday-act--call{color:var(--ok); background:rgba(58,140,95,0.1); border-color:rgba(58,140,95,0.2)}
.bday-act--call:hover{background:rgba(58,140,95,0.16); color:var(--ok)}
.bday-act--wa{color:#1AAE52; background:rgba(37,211,102,0.12); border-color:rgba(37,211,102,0.2)}
.bday-act--card{color:var(--brand-deep)}
.bday-act--promo{color:var(--brand-terra); background:rgba(224,120,86,0.1); border-color:rgba(224,120,86,0.25)}

.bday-mark{
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 12px;
  border-radius:99px;
  font-size:11px; font-weight:600;
  background:linear-gradient(180deg, var(--brand-terra), #CC6645);
  color:#FFFBF8;
  border:none; cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.2), 0 3px 10px -2px rgba(224,120,86,0.35);
  transition:all .15s ease;
  font-family:inherit;
}
.bday-mark:hover{transform:translateY(-1px); box-shadow:inset 0 1px 0 rgba(255,255,255,0.25), 0 5px 14px -2px rgba(224,120,86,0.45)}
.bday-mark.is-on{
  background:rgba(58,140,95,0.13);
  color:var(--ok);
  box-shadow:none;
}
.bday-mark--small{padding:3px 9px; font-size:10px}

/* ─── GROUP HEADERS ────────────────────────────────── */
.bday-groups{display:flex; flex-direction:column; gap:18px}
.bday-group{display:flex; flex-direction:column; gap:8px}
.bday-group__head{
  display:flex; align-items:baseline; gap:10px;
  padding:0 4px;
}
.bday-group__title{
  margin:0;
  font-family:var(--font-heading);
  font-weight:500;
  font-size:18px;
  color:var(--brand-deep);
}
.bday-group__n{
  font-size:11px; font-weight:600;
  background:rgba(15,76,92,0.07);
  color:var(--ink-3);
  padding:2px 8px;
  border-radius:99px;
}
.bday-group__hint{
  font-family:"Caveat",cursive;
  font-weight:600;
  color:var(--brand-terra);
  font-size:15px;
  margin-left:4px;
}

/* TABLE (reused vtable) */
.bcard{
  background:rgba(255,255,255,0.65);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  overflow:hidden;
}
.vtable{width:100%; border-collapse:collapse; font-size:11.5px}
.vtable thead th{
  font-size:9.5px; font-weight:600;
  text-align:left;
  text-transform:uppercase; letter-spacing:.08em;
  color:var(--ink-3);
  padding:9px 10px;
  border-bottom:1px solid var(--line-1);
  background:rgba(248,247,243,0.6);
  white-space:nowrap;
}
.vtable thead th:first-child{padding-left:18px}
.vtable thead th:last-child{padding-right:18px}
.vtable tbody td{
  padding:9px 10px;
  border-bottom:1px solid var(--line-1);
  vertical-align:middle;
  color:var(--ink-1);
}
.vtable tbody td:first-child{padding-left:18px}
.vtable tbody td:last-child{padding-right:18px}
.vtable tbody tr:last-child td{border-bottom:none}
.vtable tbody tr.vrow:hover td{background:rgba(255,255,255,0.55)}
.vtable tbody tr.vrow.is-greeted{opacity:.55}

.vtrv{display:flex; align-items:center; gap:8px; min-width:0}
.vtrv > span:last-child{font-weight:500; color:var(--ink-1); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:220px}
.vrow__sub{font-size:10px; color:var(--ink-3); margin-top:1px}

.client-label{
  font-size:10px; font-weight:600;
  padding:2px 7px;
  border-radius:99px;
  letter-spacing:.005em;
  white-space:nowrap;
}
.client-label--vip{background:linear-gradient(180deg, var(--brand-terra), #CC6645); color:#FFFBF8}
.client-label--regular{background:rgba(58,140,95,0.13); color:var(--ok)}
.client-label--debtor{background:rgba(200,65,58,0.13); color:var(--danger)}
.client-label--new{background:rgba(34,158,217,0.13); color:#1C82B5}
.client-label--warn{background:rgba(181,101,29,0.13); color:var(--warn)}

.trow__contacts{display:flex; gap:3px}
.contact-pill{
  width:22px; height:22px;
  display:grid; place-items:center;
  border-radius:6px;
  background:rgba(15,76,92,0.05);
  color:var(--ink-3);
  text-decoration:none;
  transition:all .15s ease;
}
.contact-pill:hover{background:rgba(15,76,92,0.12); color:var(--brand-deep)}
.contact-pill--wa:hover{background:rgba(37,211,102,0.18); color:#1AAE52}
.contact-pill.is-disabled{opacity:.35; pointer-events:none}

.trow__labels{display:flex; gap:3px; flex-wrap:wrap}
.bday-row__trips{display:flex; flex-direction:column; line-height:1.25}
.bday-row__trips-n{font-size:13px; font-weight:600; color:var(--brand-deep)}
.bday-row__trips .muted{font-size:10px}

.bt-num{text-align:right; font-variant-numeric:tabular-nums; font-weight:500}
.muted{color:var(--ink-4)}
.dot-sep{color:var(--ink-4)}

/* CARD VIEW */
.bday-cards{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:12px;
}
.bdaycard{
  padding:14px;
  display:flex; flex-direction:column; gap:10px;
  transition:all .2s ease;
}
.bdaycard:hover{transform:translateY(-1px)}
.bdaycard.is-greeted{opacity:.6}
.bdaycard__head{display:flex; align-items:center; gap:10px; position:relative}
.bdaycard__fio{
  font-family:var(--font-heading);
  font-weight:500; font-size:15px;
  color:var(--brand-deep);
  letter-spacing:-.005em;
  line-height:1.2;
}
.bdaycard__bd{font-size:11px; color:var(--ink-3); margin-top:2px}
.bdaycard__mgr{margin-left:auto}
.bdaycard__meta{font-size:11.5px; color:var(--ink-2); display:flex; gap:5px; align-items:center}
.bdaycard__meta b{font-weight:600; color:var(--brand-deep)}
.bdaycard__labels{display:flex; gap:3px; flex-wrap:wrap; min-height:20px}
.bdaycard__foot{
  display:flex; gap:6px; align-items:center;
  padding-top:8px;
  border-top:1px solid var(--line-1);
  margin-top:auto;
}

/* RESPONSIVE */
@media (max-width:1180px){
  .vtable th:nth-child(6), .vtable td:nth-child(6),
  .vtable th:nth-child(7), .vtable td:nth-child(7){display:none}
  .bday-hero-card{grid-template-columns:auto 1fr; row-gap:10px}
  .bday-hero-card__actions{grid-column:1/-1}
}
@media (max-width:1024px){
  .page--bday{padding:14px}
  .btoolbar{position:relative; top:0}
  .vtable th:nth-child(3), .vtable td:nth-child(3),
  .vtable th:nth-child(5), .vtable td:nth-child(5){display:none}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/partners.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ═══════════════════════════════════════════════════════════════
   /partners — Поставщики (туроператоры)
   Использует общие классы из travellers-list.css + локальные доводки.
   ═══════════════════════════════════════════════════════════════ */

.page--partners{
  padding:24px 28px 100px;
  /* full width */
  /* full width */
}

/* Полоса статуса обновления курсов */
.refresh-banner{
  margin:10px 0 14px;
  padding:10px 16px;
  border-radius:10px;
  background:rgba(15,76,92,0.06);
  border:1px solid rgba(15,76,92,0.12);
  color:var(--ink-1);
  font-family:var(--font-body);
  font-size:13px;
  font-weight:500;
}
.refresh-banner.is-ok{
  background:rgba(4,120,87,0.08);
  border-color:rgba(4,120,87,0.25);
  color:#047857;
}
.refresh-banner.is-err{
  background:rgba(220,38,38,0.08);
  border-color:rgba(220,38,38,0.25);
  color:#dc2626;
}

/* Чекбокс "Архивные" */
.tcheck{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:var(--font-body);
  font-size:12px;
  color:var(--ink-2);
  cursor:pointer;
  -webkit-user-select:none;
     -moz-user-select:none;
          user-select:none;
}
.tcheck input{
  width:14px; height:14px;
  accent-color:var(--brand-terra-500);
  cursor:pointer;
}

/* Контракт: цветовая семантика по сроку */
.trow__doc-exp.is-warning{
  color:#C28B2F;
  font-weight:500;
}
.trow__doc-exp.is-expired{
  color:var(--brand-terra-600);
  font-weight:600;
}

/* Ячейка курсов EUR/USD */
.rates-cell{
  display:flex;
  flex-direction:column;
  gap:2px;
  font-family:var(--font-body);
  font-size:12px;
  color:var(--ink-3);
  line-height:1.3;
}
.rates-cell__r{
  display:inline-flex;
  align-items:baseline;
  gap:4px;
}
.rates-cell__c{
  width:14px;
  display:inline-block;
  color:var(--ink-3);
  font-weight:600;
}
.rates-cell__r.is-live{ color:#047857 }
.rates-cell__r.is-live .rates-cell__c{ color:#047857 }
.rates-cell__star{
  color:#0EA5E9;
  font-weight:600;
  margin-left:1px;
}

/* Анимация при обновлении курсов */
@keyframes spin{ to{ transform:rotate(360deg) } }
.animate-spin{ animation:spin 1.2s linear infinite }

/* Узкая колонка # */
.td-n, .th-n{
  width:46px;
  text-align:center;
  color:var(--ink-3);
  font-size:11px;
}

/* Адаптив */
@media (max-width:1280px){
  .page--partners{ padding:18px 18px 80px }
}
@media (max-width:1024px){
  .ttable thead{ display:none }
  .ttable tr{ display:block; padding:10px 12px; border-bottom:1px solid var(--line-1) }
}

/* Ликвидированные/архивные поставщики — серым */
.trow--inactive { opacity: 0.45; }
.trow--inactive .trow__name { color: var(--ink-3); }

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/partner-detail.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/partner-detail.css === Карточка партнёра /partners/[id]
 * Liquid Glass форма с 7 вкладками. Использует .bcard / .pd-card / .pd-grid / .pd-field.
 */

.page.page--partner-detail {
  display: flex;
  flex-direction: column;
  gap: var(--gap, 16px);
  padding: 24px 32px 40px;
  min-height: 100vh;
}

/* Tabs */
.page--partner-detail .bviews {
  display: flex;
  gap: 4px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-bd);
  border-radius: var(--r-md);
  padding: 4px;
  backdrop-filter: blur(var(--glass-blur));
  overflow-x: auto;
}
.page--partner-detail .bviews .bview {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: transparent;
  padding: 8px 14px;
  font: inherit;
  color: var(--ink-2);
  border-radius: var(--r-sm);
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.18s, color 0.18s;
}
.page--partner-detail .bviews .bview:hover { color: var(--ink-1); background: rgba(15, 76, 92, 0.04); }
.page--partner-detail .bviews .bview.is-active {
  background: var(--brand-terra);
  color: #fff;
  box-shadow: var(--shadow-pill);
}

/* Form container */
.pd-form {
  display: flex;
  flex-direction: column;
  gap: var(--gap, 16px);
}

/* Cards */
.pd-card {
  padding: 0;
  overflow: hidden;
}
.pd-card__head {
  padding: 14px 22px;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.02em;
  color: var(--ink-1);
  border-bottom: 1px solid var(--line-1);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), transparent);
}
.pd-card__head--with-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.pd-card__body {
  padding: 18px 22px 22px;
}

/* Grids */
.pd-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px 18px;
}
.pd-grid + .pd-grid {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed var(--line-1);
}
.pd-grid--2 { grid-template-columns: 1fr 1fr; }
.pd-grid--3 { grid-template-columns: 1fr 1fr 1fr; }

@media (max-width: 900px) {
  .pd-grid--2,
  .pd-grid--3 { grid-template-columns: 1fr; }
}

/* Fields */
.pd-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.pd-field__lbl {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-3);
  font-weight: 600;
  min-height: 14px;
}
.pd-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 34px;
  padding: 0 12px;
  border: 1px solid var(--line-2);
  border-radius: var(--r-sm);
  background: rgba(255, 255, 255, 0.6);
  color: var(--ink-1);
  font: inherit;
  outline: none;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}
.pd-input:focus {
  border-color: var(--brand-terra);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(212, 95, 58, 0.12);
}
.pd-textarea {
  height: auto;
  min-height: 60px;
  padding: 8px 12px;
  resize: vertical;
}
select.pd-input {
  padding-right: 28px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%236A8089' d='M0 0h10L5 6z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
}

/* Subform inside card */
.pd-subform {
  background: rgba(15, 76, 92, 0.03);
  border: 1px dashed var(--line-2);
  border-radius: var(--r-sm);
  padding: 16px;
  margin-bottom: 16px;
}

/* Contacts */
.pd-contacts {
  display: flex;
  flex-direction: column;
}
.pd-contact {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid var(--line-1);
  gap: 14px;
}
.pd-contact:last-child { border-bottom: 0; }
.pd-contact__name {
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Files */
.pd-files {
  display: flex;
  flex-direction: column;
}
.pd-file {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--line-1);
}
.pd-file:last-child { border-bottom: 0; }
.pd-file a {
  color: var(--brand-terra);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.pd-file a:hover { text-decoration: underline; }

/* Access prompt */
.pd-warn {
  background: rgba(181, 101, 29, 0.08);
  border: 1px solid rgba(181, 101, 29, 0.22);
  border-radius: var(--r-sm);
  padding: 12px 14px;
  color: var(--warn);
  font-size: 12.5px;
}
.pd-warn a { color: var(--warn); text-decoration: underline; }

.pd-access-prompt {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 32px 24px;
  text-align: center;
  max-width: 320px;
  margin: 0 auto;
}
.pd-access-prompt__h {
  font-family: var(--font-heading);
  font-size: 18px;
  margin: 0;
  font-weight: 600;
}
.pd-pin {
  height: 50px;
  text-align: center;
  font-size: 22px;
  letter-spacing: 0.4em;
  width: 200px;
  margin: 8px auto;
}
.pd-error {
  color: var(--danger);
  font-size: 12.5px;
  margin: 4px 0 0;
}

/* Danger button variant */
.btn-ghost--danger {
  color: var(--danger);
}
.btn-ghost--danger:hover {
  background: rgba(200, 65, 58, 0.08);
  color: var(--danger);
}

/* Разделитель-подзаголовок внутри pd-формы (между группами полей) */
.pd-group-lbl {
  margin: 20px 0 8px;
  padding-top: 14px;
  border-top: 1px dashed var(--line-2);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--brand-terra);
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/lg-common.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/lg-common.css === Общие LG-классы.
 * Используется страницами finance, cash-orders, utm, profile, kpi, staff, user-detail и др.
 */

/* Container layouts */
.page.page--finance,
.page.page--cash-orders,
.page.page--utm,
.page.page--profile,
.page.page--kpi,
.page.page--staff,
.page.page--user-detail,
.page.page--booking-new,
.page.page--audit,
.page.page--archive,
.page.page--imports,
.page.page--compilations,
.page.page--settings,
.page.page--posts,
.page.page--photos,
.page.page--reviews,
.page.page--pages,
.page.page--hero,
.page.page--tours-admin {
  display: flex;
  flex-direction: column;
  gap: var(--gap, 16px);
  padding: 24px 32px 40px;
  min-height: 100vh;
}

/* Generic bview shared */
.btoolbar .bviews {
  display: flex;
  gap: 4px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-bd);
  border-radius: var(--r-md);
  padding: 4px;
  backdrop-filter: blur(var(--glass-blur));
  overflow-x: auto;
}
.btoolbar .bviews .bview {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; border: 0; background: transparent;
  padding: 8px 14px;
  font: inherit;
  color: var(--ink-2);
  border-radius: var(--r-sm);
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.18s, color 0.18s;
}
.btoolbar .bviews .bview:hover {
  color: var(--ink-1);
  background: rgba(15, 76, 92, 0.04);
}
.btoolbar .bviews .bview.is-active {
  background: var(--brand-terra);
  color: #fff;
  box-shadow: var(--shadow-pill);
}

/* User-detail two-column */
.usr-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: var(--gap, 16px);
}
@media (max-width: 1100px) {
  .usr-grid { grid-template-columns: 1fr; }
}
.usr-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed var(--line-1);
}
.btn-ghost--on {
  color: var(--brand-terra);
  background: rgba(212, 95, 58, 0.08);
}
.usr-invite-link {
  display: flex;
  gap: 8px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed var(--line-1);
}
.usr-invite-link .pd-input { flex: 1; }

/* Profile avatar */
.pf-avatar {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--surface-sky-50);
  flex-shrink: 0;
  border: 1px solid var(--line-2);
  display: grid;
  place-items: center;
}
.pf-avatar img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.pf-avatar__placeholder {
  color: var(--ink-4);
  font-size: 28px;
  font-family: var(--font-heading);
}

/* KPI styles */
.kpi-salary__big {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 12px;
}
.kpi-salary__amount {
  font-family: var(--font-heading);
  font-size: 38px;
  font-weight: 600;
  color: var(--brand-terra);
}
.kpi-salary__sub {
  font-size: 12px;
  color: var(--ink-3);
}
.kpi-progress {
  height: 12px;
  background: rgba(15, 76, 92, 0.08);
  border-radius: 999px;
  overflow: hidden;
}
.kpi-progress__fill {
  height: 100%;
  background: linear-gradient(90deg, var(--brand-terra-300), var(--brand-terra));
  transition: width 0.4s;
}
.kpi-conds {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.kpi-conds li {
  padding: 8px 12px;
  background: rgba(15, 76, 92, 0.03);
  border-left: 3px solid var(--brand-terra);
  border-radius: 4px;
}

/* Period selector (date from/to) */
.fn-period {
  display: flex;
  align-items: center;
  gap: 8px;
}
.fn-period .pd-input { max-width: 150px; height: 32px; }

/* Finance grid */
.fn-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: var(--gap, 16px);
}
.fn-side {
  display: flex;
  flex-direction: column;
  gap: var(--gap, 16px);
}
@media (max-width: 1100px) {
  .fn-grid { grid-template-columns: 1fr; }
}

/* Generic bstatus chips reused everywhere */
.bstatus-chip--danger {
  background: rgba(200, 65, 58, 0.10);
  color: var(--danger);
  border: 1px solid rgba(200, 65, 58, 0.18);
}
.bstatus-chip--warn {
  background: rgba(181, 101, 29, 0.10);
  color: var(--warn);
  border: 1px solid rgba(181, 101, 29, 0.18);
}
.bstatus-chip--ok {
  background: rgba(58, 140, 95, 0.10);
  color: var(--ok);
  border: 1px solid rgba(58, 140, 95, 0.18);
}
.bstatus-chip--info {
  background: rgba(14, 165, 233, 0.10);
  color: var(--brand-deep);
  border: 1px solid rgba(14, 165, 233, 0.18);
}
.bstatus-chip--neutral {
  background: rgba(15, 76, 92, 0.06);
  color: var(--ink-2);
  border: 1px solid var(--line-2);
}

/* Common .ttable polish */
.ttable {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.ttable thead th {
  text-align: left;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--ink-3);
  padding: 12px 14px;
  border-bottom: 1px solid var(--line-1);
  background: linear-gradient(180deg, rgba(255,255,255,0.4), transparent);
}
.ttable tbody td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line-1);
  vertical-align: middle;
}
.ttable tbody tr:hover { background: rgba(15, 76, 92, 0.03); }
.ttable tbody tr:last-child td { border-bottom: 0; }
.bt-id {
  color: var(--brand-terra);
  font-weight: 600;
  text-decoration: none;
}
.bt-id:hover { text-decoration: underline; }

/* ───── Sticky thead correction ─────
 * .ttable thead th sticky top: high (60-65px = topbar высота 57px + запас).
 * Переопределяет .ttable thead th top:120px из travellers-list.css.
 */
.ttable thead th {
  top: 60px !important;
  background: rgba(248, 247, 243, 0.92) !important;
  backdrop-filter: blur(20px);
  z-index: 2 !important;
}

/* .tcard overflow:hidden убивает sticky thead в /clients. Переопределяем. */
.tcard {
  overflow: visible !important;
}

/* Sticky thead ломается внутри .bcard (overflow:hidden) -> при скролле даёт пустоту
 * над шапкой (cash-orders / finance / utm). Внутри .bcard шапку делаем статичной. */
.bcard .ttable thead th {
  position: static !important;
  top: auto !important;
  backdrop-filter: none;
}

/* Home dashboard: симметричные 2 колонки (Tasks+Birthdays vs UpcomingDepartures).
 * .leftcol зеркальный к .rightcol — для устранения пустоты под Tasks.
 */
.leftcol {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  min-width: 0;
}

/* ═══ GLASS CTA — стеклянные акцентные кнопки (2026-05-27) ═══
 * Заменяет solid-градиент на полупрозрачный backdrop-blur с акцентом-обводкой.
 * Цвет берётся из --brand-terra (= --ui-accent через Tweaks).
 */

/* Главная CTA — «Принять платёж», «Добавить услугу», «Сгенерировать» и т.д. */
.btn-primary {
  background: color-mix(in srgb, var(--brand-terra) 78%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--brand-terra) 92%, white) !important;
  color: #fff !important;
  backdrop-filter: blur(16px) saturate(160%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.45),
    inset 0 -1px 0 color-mix(in srgb, var(--brand-terra) 60%, black),
    0 1px 2px rgba(15, 76, 92, 0.10),
    0 8px 24px -8px color-mix(in srgb, var(--brand-terra) 80%, transparent) !important;
  text-shadow: 0 1px 0 color-mix(in srgb, var(--brand-terra) 60%, black);
  transition: transform .15s, box-shadow .15s, background .15s;
}
.btn-primary:hover {
  background: color-mix(in srgb, var(--brand-terra) 90%, transparent) !important;
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 -1px 0 color-mix(in srgb, var(--brand-terra) 55%, black),
    0 1px 2px rgba(15, 76, 92, 0.12),
    0 14px 32px -8px color-mix(in srgb, var(--brand-terra) 90%, transparent) !important;
}

/* «+ Новая заявка» в sidebar — glass */
.sidebar__new {
  background: color-mix(in srgb, var(--brand-terra) 70%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--brand-terra) 88%, white);
  backdrop-filter: blur(18px) saturate(160%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.4),
    0 1px 2px rgba(15, 76, 92, 0.10),
    0 10px 24px -10px color-mix(in srgb, var(--brand-terra) 70%, transparent) !important;
  text-shadow: 0 1px 0 color-mix(in srgb, var(--brand-terra) 50%, black);
}
.sidebar__new:hover {
  background: color-mix(in srgb, var(--brand-terra) 85%, transparent) !important;
  transform: translateY(-1px);
}
.sidebar__new kbd {
  background: rgba(255, 255, 255, 0.22) !important;
  border: 1px solid rgba(255, 255, 255, 0.30) !important;
  color: #fff !important;
}

/* Активный пункт меню — glass */
.navitem.is-active:not(.is-sub) {
  background: color-mix(in srgb, var(--brand-terra) 65%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--brand-terra) 85%, white);
  backdrop-filter: blur(16px) saturate(160%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    0 1px 2px rgba(15, 76, 92, 0.08),
    0 8px 20px -8px color-mix(in srgb, var(--brand-terra) 70%, transparent);
}

/* TOC карточки заявки — активный pill */
.b-toch__item.is-active {
  background: color-mix(in srgb, var(--brand-terra) 75%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--brand-terra) 90%, white);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    0 4px 12px -4px color-mix(in srgb, var(--brand-terra) 70%, transparent) !important;
}

/* ViewSwitcher legacy active */
.bview.is-active {
  background: color-mix(in srgb, var(--brand-terra) 70%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--brand-terra) 88%, white);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    0 4px 12px -4px color-mix(in srgb, var(--brand-terra) 65%, transparent);
}

/* ═══ Единый сегмент-тумблер (Все/Мои и пр.) — одинаковый вид для <a> и <button> ═══ */
/* Канон: задаётся здесь, в глобальном lg-common, чтобы Link-варианты (заявки, лиды)
   выглядели как button-варианты (задачи, туристы и т.д.). НЕ дублировать по страницам. */
.tseg { display:flex; gap:1px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px }
.tseg a,
.tseg button {
  display:inline-flex; align-items:center;
  font-family:inherit;
  font-size:11px; font-weight:500;
  line-height:1.4;
  padding:4px 10px;
  border-radius:5px;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
  text-decoration:none;
  transition:all .15s ease;
}
.tseg a:hover,
.tseg button:hover { color:var(--brand-deep); }
.tseg a.is-active,
.tseg button.is-active {
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}

/* ═══ Mobile sidebar (≤1024px) ═══ */

/* Кнопка-гамбургер — по умолчанию скрыта */
.mobile-nav-btn {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1100;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid var(--glass-bd);
  background: var(--glass-bg-strong);
  backdrop-filter: blur(20px) saturate(160%);
  color: var(--ink-1);
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-card);
}
.sidebar__close {
  display: none;
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid var(--line-1);
  background: rgba(255, 255, 255, 0.6);
  color: var(--ink-2);
  cursor: pointer;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

@media (max-width: 1024px) {
  /* Показываем гамбургер */
  .mobile-nav-btn { display: flex !important; }
  .sidebar__close { display: flex !important; }

  /* Перекрываем shell.css:506 .sidebar{display:none} на slide-in */
  .sidebar {
    display: flex !important;
    position: fixed !important;
    top: 0;
    left: 0;
    bottom: 0;
    width: 280px;
    z-index: 1200;
    transform: translateX(-100%);
    transition: transform 0.28s cubic-bezier(0.32, 0.72, 0.32, 1);
    background: var(--glass-bg-strong);
    backdrop-filter: blur(28px) saturate(180%);
    border-right: 1px solid var(--glass-bd);
    box-shadow: 12px 0 32px rgba(15, 76, 92, 0.18);
    overflow-y: auto;
  }
  .shell.is-mobile-nav-open .sidebar {
    transform: translateX(0);
  }

  /* Меню открыто: растворяем стэкинг-контекст .shell (z-index:1 в shell.css),
     иначе .sidebar (z-1200) заперт внутри shell и .mobile-nav-overlay (z-1150,
     корневой контекст) рисуется поверх пунктов меню → «нельзя нажать».
     Только при открытом меню → закрытое состояние и десктоп не затронуты. */
  .shell.is-mobile-nav-open {
    z-index: auto !important;
  }

  /* Backdrop */
  .mobile-nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 76, 92, 0.32);
    backdrop-filter: blur(2px);
    z-index: 1150;
    animation: mobile-nav-fade 0.2s;
  }
  @keyframes mobile-nav-fade { from { opacity: 0; } }

  /* Topbar внутри shell — отодвигаем чтобы гамбургер не перекрывал крошки,
     и ужимаем паддинги/гэп, чтобы поиск+крошки+колокольчик влезали в 360-390px */
  .topbar { padding-left: 58px !important; padding-right: 14px !important; gap: 8px !important; }
  .search { min-width: 0; }
}

/* MOBILE: общие таблицы .ttable (users/travellers/currency/partners) шире
   экрана и лежали без скролл-обёртки → страница ехала (например /users +190px,
   таблица 580px). Делаем саму таблицу горизонтальным скролл-контейнером. */
@media (max-width: 1024px) {
  .ttable {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/settings.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/settings.css === /settings/* — единый shell + кит */

/* ─────────────────────────────────────────────────────────────
 *  SHELL: двухколоночный layout (боковой nav + контент)
 * ───────────────────────────────────────────────────────────── */
.st-shell {
  display: grid;
  grid-template-columns: 232px 1fr;
  gap: var(--gap, 16px);
  align-items: start;
  min-height: 60vh;
}
@media (max-width: 1024px) {
  .st-shell { grid-template-columns: 1fr; }
}

.st-nav {
  background: var(--glass-bg-strong);
  border: 1px solid var(--glass-bd);
  backdrop-filter: blur(var(--glass-blur));
  border-radius: var(--r-md);
  padding: 7px;
  position: sticky;
  top: 76px;
  height: -moz-max-content;
  height: max-content;
  box-shadow: var(--shadow-card);
}
.st-nav__title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--ink-4);
  padding: 8px 10px 6px;
}
.st-nav__list {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.st-nav__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 11px;
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  border-radius: var(--r-sm);
  transition: background .15s, color .15s;
}
.st-nav__item svg { color: var(--ink-4); flex: none; transition: color .15s; }
.st-nav__item:hover {
  background: rgba(15, 76, 92, 0.05);
  color: var(--ink-1);
}
.st-nav__item:hover svg { color: var(--brand-terra); }
.st-nav__item.is-active {
  background: color-mix(in srgb, var(--brand-terra) 70%, transparent);
  border: 1px solid color-mix(in srgb, var(--brand-terra) 88%, white);
  backdrop-filter: blur(16px) saturate(160%);
  color: #fff;
  font-weight: 600;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    0 6px 16px -8px color-mix(in srgb, var(--brand-terra) 70%, transparent);
}
.st-nav__item.is-active svg { color: #fff; }

.st-main { min-width: 0; display: flex; flex-direction: column; gap: var(--gap, 16px); }

/* ─────────────────────────────────────────────────────────────
 *  PAGE HEADER (внутри st-main, у каждого раздела свой)
 * ───────────────────────────────────────────────────────────── */
.st-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.st-head__title {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 23px;
  line-height: 1.15;
  letter-spacing: -.01em;
  color: var(--brand-deep);
}
.st-head__title svg { color: var(--brand-terra); flex: none; }
.st-head__sub {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-3);
  max-width: 66ch;
}
.st-head__sub b { color: var(--ink-2); font-weight: 600; }
.st-head__actions { display: flex; gap: 8px; flex: none; padding-top: 2px; }

/* контейнер контента раздела */
.st-stack { display: flex; flex-direction: column; gap: var(--gap, 16px); }
.st-narrow { max-width: 760px; }
.st-wide { max-width: 1040px; }

/* ─────────────────────────────────────────────────────────────
 *  CARD (используем общий .card + локальные хелперы)
 * ───────────────────────────────────────────────────────────── */
.st-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: -2px 0 14px;
}
.st-card__title {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 15px;
  color: var(--brand-deep);
}
.st-card__title .st-card__n {
  font-size: 12px;
  font-weight: 600;
  color: var(--ink-4);
  font-family: var(--font-body);
}
.st-card__title svg { color: var(--brand-terra); flex: none; }
.st-card--flush { padding: 0; }
.st-card--flush .st-card__head { padding: 16px 18px 0; }
.st-card__divider { height: 1px; background: var(--line-1); margin: 14px -18px; }

/* ─────────────────────────────────────────────────────────────
 *  FORM PRIMITIVES (боксовые, в стиле LG)
 * ───────────────────────────────────────────────────────────── */
.st-fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; }
.st-fgrid--3 { grid-template-columns: repeat(3, 1fr); }
.st-fgrid--4 { grid-template-columns: repeat(4, 1fr); }
.st-fgrid .st-col-2 { grid-column: 1 / -1; }
@media (max-width: 720px) {
  .st-fgrid, .st-fgrid--3, .st-fgrid--4 { grid-template-columns: 1fr; }
}

.st-fld { display: flex; flex-direction: column; min-width: 0; }
.st-lbl {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--ink-3);
  margin-bottom: 5px;
}
.st-inp, .st-sel, .st-area {
  width: 100%;
  font: inherit;
  font-size: 13px;
  color: var(--ink-1);
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid var(--line-1);
  border-radius: 9px;
  padding: 8px 11px;
  outline: none;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.st-inp:hover, .st-sel:hover, .st-area:hover { background: rgba(255, 255, 255, 0.85); }
.st-inp:focus, .st-sel:focus, .st-area:focus {
  background: #fff;
  border-color: color-mix(in srgb, var(--brand-terra) 50%, white);
  box-shadow: 0 0 0 3px rgba(224, 120, 86, 0.12);
}
.st-inp::-moz-placeholder, .st-area::-moz-placeholder { color: var(--ink-4); }
.st-inp::placeholder, .st-area::placeholder { color: var(--ink-4); }
.st-inp:disabled, .st-sel:disabled { opacity: .55; cursor: not-allowed; }
.st-sel {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  padding-right: 30px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236A8089' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
}
.st-area { resize: vertical; min-height: 62px; line-height: 1.5; }
.st-hint { font-size: 11.5px; line-height: 1.45; color: var(--ink-4); margin-top: 5px; }

/* кнопка-ряд под формой */
.st-formfoot {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed var(--line-1);
}
.st-formfoot--start { justify-content: space-between; }

/* ─────────────────────────────────────────────────────────────
 *  SWITCH (iOS-тумблер) — замена голым чекбоксам
 * ───────────────────────────────────────────────────────────── */
.st-switch {
  position: relative;
  display: inline-flex;
  flex: none;
  width: 38px;
  height: 22px;
  cursor: pointer;
}
.st-switch input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.st-switch__track {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  background: rgba(15, 76, 92, 0.16);
  border: 1px solid rgba(15, 76, 92, 0.10);
  transition: background .2s ease;
}
.st-switch__thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 76, 92, 0.30);
  transition: transform .2s cubic-bezier(.34, 1.4, .64, 1);
}
.st-switch input:checked + .st-switch__track {
  background: linear-gradient(180deg, var(--brand-terra), var(--brand-terra-600));
  border-color: transparent;
}
.st-switch input:checked + .st-switch__track .st-switch__thumb { transform: translateX(16px); }
.st-switch input:disabled + .st-switch__track { opacity: .45; }
.st-switch input:focus-visible + .st-switch__track { box-shadow: 0 0 0 3px rgba(224, 120, 86, 0.22); }

/* ряд-строка с тумблером (название + описание слева, switch справа) */
.st-toggle-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid var(--line-1);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.45);
  transition: border-color .15s, background .15s;
}
.st-toggle-row + .st-toggle-row { margin-top: 8px; }
.st-toggle-row:hover { background: rgba(255, 255, 255, 0.7); }
.st-toggle-row.is-on { border-color: color-mix(in srgb, var(--brand-terra) 38%, var(--line-1)); }
.st-toggle-row.is-disabled { opacity: .55; }
.st-toggle-row__body { flex: 1; min-width: 0; }
.st-toggle-row__t { font-size: 13.5px; font-weight: 600; color: var(--ink-1); }
.st-toggle-row__d { font-size: 12px; color: var(--ink-3); margin-top: 2px; line-height: 1.45; }

/* ─────────────────────────────────────────────────────────────
 *  COLOR SWATCHES
 * ───────────────────────────────────────────────────────────── */
.st-swatches { display: flex; flex-wrap: wrap; gap: 6px; }
.st-swatch {
  width: 26px;
  height: 26px;
  border-radius: 7px;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px var(--line-1);
  cursor: pointer;
  padding: 0;
  transition: transform .12s ease, box-shadow .12s ease;
}
.st-swatch:hover { transform: scale(1.12); }
.st-swatch.is-active {
  box-shadow: 0 0 0 2px var(--brand-deep);
  transform: scale(1.08);
}

/* цветной тег-чип (имя на фоне цвета) */
.st-tagchip {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  padding: 2px 9px;
  border-radius: 999px;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.18);
}
.st-dot { display: inline-block; width: 22px; height: 22px; border-radius: 6px; }

/* ─────────────────────────────────────────────────────────────
 *  NOTE / CALLOUT
 * ───────────────────────────────────────────────────────────── */
.st-note {
  display: flex;
  gap: 10px;
  background: rgba(224, 120, 86, 0.07);
  border: 1px solid rgba(224, 120, 86, 0.20);
  border-radius: 11px;
  padding: 12px 14px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--ink-2);
}
.st-note svg { color: var(--brand-terra); flex: none; margin-top: 1px; }
.st-note b { color: var(--ink-1); font-weight: 600; }
.st-note--info { background: rgba(58, 115, 131, 0.07); border-color: rgba(58, 115, 131, 0.20); }
.st-note--info svg { color: var(--brand-deep); }

/* нумерованная инструкция (Эвотор и т.п.) */
.st-steps { margin: 0; padding-left: 0; list-style: none; counter-reset: st; display: flex; flex-direction: column; gap: 10px; }
.st-steps li { position: relative; padding-left: 32px; font-size: 13px; line-height: 1.5; color: var(--ink-2); counter-increment: st; }
.st-steps li::before {
  content: counter(st);
  position: absolute;
  left: 0; top: 0;
  width: 21px; height: 21px;
  display: grid; place-items: center;
  font-size: 11px; font-weight: 700;
  color: var(--brand-terra);
  background: rgba(224, 120, 86, 0.12);
  border-radius: 6px;
}
.st-steps code, .st-code {
  font-family: var(--font-mono);
  font-size: 12px;
  background: rgba(15, 76, 92, 0.07);
  padding: 1px 6px;
  border-radius: 5px;
  color: var(--brand-deep);
}
.st-link { color: var(--brand-terra); text-decoration: none; font-weight: 500; }
.st-link:hover { text-decoration: underline; }

/* ─────────────────────────────────────────────────────────────
 *  TABLE (settings) — без sticky-шапки чтобы не ловить «съезд» в .card
 * ───────────────────────────────────────────────────────────── */
.st-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.st-table thead th {
  text-align: left;
  font-size: 10.5px;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--ink-4);
  padding: 11px 14px;
  border-bottom: 1px solid var(--line-1);
  background: rgba(15, 76, 92, 0.02);
  position: static;
}
.st-table tbody td { padding: 11px 14px; border-bottom: 1px solid var(--line-1); vertical-align: middle; }
.st-table tbody tr:last-child td { border-bottom: 0; }
.st-table tbody tr:hover { background: rgba(15, 76, 92, 0.025); }
.st-table .st-td-num { font-variant-numeric: tabular-nums; color: var(--ink-3); width: 48px; }
.st-table .st-td-act { text-align: right; white-space: nowrap; }
.st-table .st-td-c { text-align: center; }

/* группа-заголовок внутри flush-карточки (категории шаблонов) */
.st-group-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  background: rgba(15, 76, 92, 0.035);
  border-bottom: 1px solid var(--line-1);
  font-size: 12px;
  font-weight: 600;
  color: var(--brand-deep);
}
.st-group-bar .st-card__n { color: var(--ink-4); font-weight: 600; }

/* ─────────────────────────────────────────────────────────────
 *  ICON BUTTONS
 * ───────────────────────────────────────────────────────────── */
.st-iconbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--line-1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.6);
  color: var(--ink-3);
  cursor: pointer;
  transition: all .12s ease;
}
.st-iconbtn:hover { background: #fff; color: var(--ink-1); }
.st-iconbtn--danger { border-color: rgba(200, 65, 58, 0.22); background: rgba(200, 65, 58, 0.05); color: var(--danger); }
.st-iconbtn--danger:hover { background: var(--danger); color: #fff; border-color: transparent; }

/* мелкая текст-кнопка-ссылка */
.st-tbtn {
  font: inherit; font-size: 12px;
  border: none; background: none; cursor: pointer; padding: 0;
  color: var(--ink-3); text-decoration: none;
}
.st-tbtn:hover { color: var(--ink-1); }
.st-tbtn--danger { color: var(--danger); }
.st-tbtn--danger:hover { color: var(--danger); text-decoration: underline; }

/* ─────────────────────────────────────────────────────────────
 *  EMPTY / LOADING / RESULT
 * ───────────────────────────────────────────────────────────── */
.st-empty {
  padding: 32px 20px;
  text-align: center;
  font-size: 13px;
  color: var(--ink-4);
}
.st-loading { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 32px; color: var(--ink-4); font-size: 13px; }
.st-result {
  border-radius: 10px;
  padding: 11px 13px;
  font-size: 12.5px;
  line-height: 1.5;
}
.st-result--ok { background: rgba(58, 140, 95, 0.09); border: 1px solid rgba(58, 140, 95, 0.22); color: var(--ok); }
.st-result--err { background: rgba(200, 65, 58, 0.08); border: 1px solid rgba(200, 65, 58, 0.20); color: var(--danger); }

/* статус-сообщение (PIN и т.п.) */
.st-msg { font-size: 12.5px; }
.st-msg--ok { color: var(--ok); }
.st-msg--err { color: var(--danger); }

/* ─────────────────────────────────────────────────────────────
 *  LEGACY: состав пакетного тура (страница уже на этом гриде)
 * ───────────────────────────────────────────────────────────── */
.pc-rows { display: flex; flex-direction: column; gap: 10px; }
.pc-row {
  display: grid; grid-template-columns: 1.05fr 1.5fr 168px 110px 36px; gap: 14px; align-items: end;
  padding: 12px 14px; border: 1px solid var(--line-1); border-radius: 11px; background: rgba(255, 255, 255, 0.55);
}
.pc-money { display: grid; grid-template-columns: 1fr 70px; gap: 6px; }
.pc-toggle { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--ink-2); white-space: nowrap; padding-bottom: 5px; cursor: pointer; }
.pc-actions { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; }

/* ─────────────────────────────────────────────────────────────
 *  Старый .st-page (оставлен для совместимости)
 * ───────────────────────────────────────────────────────────── */
.st-page { max-width: 1040px; }
.st-page__head { margin-bottom: 16px; }

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/currency.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Курсы валют — /currency. Только .cur-* ; фрейм (.page/.card/.ttable/.btn-*) — из shell.css/lg-common.css.
   Брендовые цвета — через токены (tokens.css). */

.cur-toast {
  margin: 0 0 14px;
  padding: 10px 14px;
  border-radius: var(--radius-md);
  background: var(--surface-sky-50);
  border: 1px solid var(--brand-deep-100);
  color: var(--brand-deep-700);
  font-size: 13px;
}

/* Сводные карточки сверху */
.cur-top {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 18px;
}
.cur-rate-pair { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.cur-rate { display: flex; align-items: baseline; gap: 10px; }
.cur-rate__cur { width: 38px; color: var(--brand-deep-400); font-size: 12px; font-weight: 600; }
.cur-rate b { font-size: 22px; color: var(--brand-deep-700); }
.cur-egress, .cur-fail { display: flex; align-items: center; gap: 10px; margin-top: 4px; flex-wrap: wrap; }
.cur-fail__n { font-size: 26px; color: var(--color-error); }

/* Таблица ТО */
.cur-tablewrap { overflow-x: auto; }
.cur-table th:nth-child(2), .cur-table th:nth-child(3),
.cur-table td:nth-child(2), .cur-table td:nth-child(3) { text-align: right; white-space: nowrap; }
.cur-actions { display: flex; gap: 6px; justify-content: flex-end; }
.cur-actions .btn-ghost { padding: 5px 8px; }

/* Инлайн-редактор конфигурации */
.cur-editrow > td { background: var(--brand-cream-50); padding: 0 !important; }
.cur-edit { padding: 16px 14px; border-left: 3px solid var(--brand-terra-400); }
.cur-edit__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px 16px;
  margin-bottom: 12px;
}
.cur-field { display: flex; flex-direction: column; gap: 5px; }
.cur-field > span { font-size: 11px; font-weight: 600; color: var(--brand-deep-400); text-transform: uppercase; letter-spacing: .02em; }
.cur-field--wide { grid-column: span 2; }
.cur-input, .cur-select {
  padding: 8px 10px;
  border: 1px solid var(--brand-deep-100);
  border-radius: var(--radius-md);
  background: var(--brand-cream-50);
  font: inherit;
  font-size: 13px;
  color: var(--brand-deep-700);
  width: 100%;
}
.cur-input:focus, .cur-select:focus { outline: none; border-color: var(--brand-terra-400); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-terra-400) 18%, transparent); }
.cur-hint { grid-column: 1 / -1; font-size: 12px; margin: 0; }
.cur-edit__foot { display: flex; gap: 10px; }

/* Архив */
.cur-toggle { display: flex; gap: 6px; }
.cur-toggle .btn-ghost { padding: 5px 12px; }
.cur-toggle--on { background: var(--brand-terra-400); color: #fff; }
.cur-archive { padding: 8px 4px 4px; }
.cur-spark { width: 100%; height: 90px; display: block; }
.cur-archive__foot { display: flex; justify-content: space-between; margin-top: 8px; font-size: 12px; }

/* Спиннер обновления */
.cur-spin { animation: cur-spin 0.9s linear infinite; }
@keyframes cur-spin { to { transform: rotate(360deg); } }

@media (max-width: 900px) {
  .cur-top { grid-template-columns: 1fr; }
  .cur-field--wide { grid-column: span 1; }
}

.cur-legal { font-size: 11px; font-weight: 400; color: var(--ink-3); }

/* Шапка таблицы курсов: sticky top:60px в .card/.cur-tablewrap (overflow) даёт зазор
 * при скролле («съехала вниз»). Делаем статичной (как .bcard-фикс в lg-common). */
.cur-table thead th {
  position: static !important;
  top: auto !important;
  backdrop-filter: none;
}

/* ─── Сводные карточки сверху: компактный stat-вид с иконкой-чипом ─── */
.cur-top { align-items: stretch; }
.cur-stat { padding: 14px 15px !important; display: flex; flex-direction: column; }
.cur-stat .card__head { margin-bottom: 0; align-items: center; }
.cur-stat .cur-rate-pair, .cur-stat .cur-egress, .cur-stat .cur-fail { margin-top: auto; padding-top: 14px; }
.cur-stat .card__title { font-size: 14px; font-weight: 600; gap: 10px; }
.cur-stat .card__sub { margin-top: 0; }
.cur-stat .card__title svg,
.cur-stat__ico {
  box-sizing: content-box;
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; padding: 7px;
  border-radius: 9px; flex-shrink: 0;
  font-size: 14px; line-height: 1;
}
.cur-stat--cbr   .cur-stat__ico    { background: color-mix(in srgb, var(--brand-deep) 9%, transparent); }
.cur-stat--egress .card__title svg { background: color-mix(in srgb, var(--brand-terra) 13%, transparent); color: var(--brand-terra); }
.cur-stat--fail  .card__title svg  { background: color-mix(in srgb, var(--color-error) 13%, transparent); color: var(--color-error); }

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/posts.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/posts.css === Список постов (blog/news/guides) */

.pp-list {
  display: flex;
  flex-direction: column;
}
.pp-row {
  display: grid;
  grid-template-columns: 96px 1fr auto;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--line-1);
  align-items: center;
}
.pp-row:last-child { border-bottom: 0; }
.pp-row:hover { background: rgba(15, 76, 92, 0.03); }
.pp-thumb {
  width: 96px;
  height: 64px;
  border-radius: var(--r-sm);
  overflow: hidden;
  background: var(--surface-sky-50);
  display: grid;
  place-items: center;
  text-decoration: none;
}
.pp-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pp-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pp-top {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.pp-title {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 600;
  color: var(--ink-1);
  text-decoration: none;
  line-height: 1.3;
}
.pp-title:hover { color: var(--brand-terra); }
.pp-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-end;
}
@media (max-width: 900px) {
  .pp-row { grid-template-columns: 64px 1fr; }
  .pp-actions { grid-column: 1 / -1; flex-direction: row; }
}

/* Photos/Reviews moderation grid */
.mod-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}
.mod-card {
  background: var(--glass-bg-strong);
  border: 1px solid var(--glass-bd);
  border-radius: var(--r-md);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mod-card__thumb {
  aspect-ratio: 16/10;
  border-radius: var(--r-sm);
  overflow: hidden;
  background: var(--surface-sky-50);
}
.mod-card__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mod-card__actions {
  display: flex;
  gap: 6px;
}

/* Hero editor & pages list */
.he-section {
  background: var(--glass-bg-strong);
  border: 1px solid var(--glass-bd);
  border-radius: var(--r-md);
  padding: 18px 22px;
  box-shadow: var(--shadow-card);
}
.he-section + .he-section { margin-top: var(--gap, 16px); }
.he-section__h {
  margin: 0 0 12px;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 600;
}

.pl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}
.pl-card {
  display: block;
  background: var(--glass-bg-strong);
  border: 1px solid var(--glass-bd);
  border-radius: var(--r-md);
  padding: 14px 18px;
  text-decoration: none;
  transition: transform 0.15s, box-shadow 0.15s;
}
.pl-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-card);
}
.pl-card__t {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 15px;
  color: var(--ink-1);
}
.pl-card__sub {
  color: var(--ink-3);
  font-size: 12px;
  margin-top: 4px;
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/leads.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ============================================================
   Обращения — лента карточек + drawer раскрытия.
   Фильтр использует общие классы CRM (.bsearch/.status-chip/.tseg).
   Только admin. Цвета — токены packages/styles/src/tokens.css.
   Статусные hue (--lc/--tone) — семантические (как .adm2-status-*), заданы значениями.
   ============================================================ */

/* статус-hue левой полосы карточки + акцента drawer */
.lcard[data-status="new"],  .ldraw[data-status="new"]            { --lc: #2f6fae; }
.lcard[data-status="in_progress"],   .ldraw[data-status="in_progress"]   { --lc: #b07d2b; }
.lcard[data-status="proposal_sent"], .ldraw[data-status="proposal_sent"] { --lc: #6b4fc0; }
.lcard[data-status="negotiation"],   .ldraw[data-status="negotiation"]   { --lc: #6b4fc0; }
.lcard[data-status="booking"],       .ldraw[data-status="booking"]       { --lc: #2f9e6f; }
.lcard[data-status="paid"],          .ldraw[data-status="paid"]          { --lc: #2f9e6f; }
.lcard[data-status="converted"],     .ldraw[data-status="converted"]     { --lc: #2f9e6f; }
.lcard[data-status="rejected"],      .ldraw[data-status="rejected"]      { --lc: #c0392b; }
.lcard[data-status="no_response"],   .ldraw[data-status="no_response"]   { --lc: #b07d2b; }
.lcard[data-status="duplicate"],     .ldraw[data-status="duplicate"]     { --lc: #94a3b8; }

/* ============================================================ Лента */
.lfeed { display: flex; flex-direction: column; gap: 12px; padding: 2px 4px 16px 2px; }
.lfeed__empty { padding: 48px 0; text-align: center; color: var(--brand-deep-300); font-style: italic; }

.lcard {
  position: relative; cursor: pointer; flex-shrink: 0;
  background: var(--brand-cream-50);
  border: 1px solid var(--brand-cream-400);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: 13px 16px 12px 20px;
  overflow: hidden;
  transition: box-shadow .15s ease, transform .15s ease, border-color .15s ease;
}
.lcard:hover { box-shadow: var(--shadow-md); border-color: var(--brand-cream-500); transform: translateY(-1px); }
.lcard__stripe { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--lc, var(--brand-deep-400)); }

.lcard__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.lcard__ident { display: flex; align-items: center; gap: 8px; min-width: 0; }
.lcard__num {
  font-family: var(--font-mono); font-size: 11px; font-weight: 700; letter-spacing: .02em;
  color: var(--brand-deep-600); background: rgba(15, 76, 92, 0.07);
  padding: 2px 7px; border-radius: 5px; flex: 0 0 auto;
}
.lcard__name { font-size: 15px; font-weight: 700; color: var(--brand-deep-800); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lcard__top-right { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }

.lcard__src {
  display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 600;
  padding: 2px 8px; border-radius: 999px; background: var(--surface-sky-50); color: var(--brand-deep-500); white-space: nowrap;
}
.lcard__src--qq { background: var(--brand-terra-50); color: var(--brand-terra-800); }

/* ⋯ меню */
.lcard__menuwrap { position: relative; }
.lcard__menu {
  display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px;
  border: none; border-radius: 8px; background: transparent; color: var(--brand-deep-300); cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.lcard__menu:hover { background: var(--brand-cream-300); color: var(--brand-deep-600); }
.lmenu-backdrop { position: fixed; inset: 0; z-index: 149; }
.lmenu {
  position: absolute; right: 0; top: 30px; min-width: 200px;
  background: var(--brand-cream-50); border: 1px solid var(--brand-cream-400);
  border-radius: var(--radius-md); box-shadow: var(--shadow-lg); padding: 5px; max-height: 360px; overflow-y: auto; z-index: 150;
}
.lmenu__head { font-size: 10.5px; text-transform: uppercase; letter-spacing: .4px; color: var(--brand-deep-300); padding: 6px 8px 4px; }
.lmenu__sep { height: 1px; background: var(--brand-cream-400); margin: 4px 0; }
.lmenu__item {
  width: 100%; display: flex; align-items: center; gap: 8px; text-align: left;
  font-size: 13px; color: var(--brand-deep-700); padding: 7px 8px; border: none; background: transparent;
  border-radius: 7px; cursor: pointer;
}
.lmenu__item:hover { background: var(--brand-cream-300); }
.lmenu__dot { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; }
.lmenu__check { margin-left: auto; color: var(--brand-terra-500); font-weight: 700; }

.lcard__trip { margin-top: 7px; font-size: 13.5px; color: var(--brand-deep-600); }
.lcard__budget { font-weight: 700; color: var(--brand-deep-800); }
.lcard__compil { margin-top: 7px; display: inline-flex; align-items: center; gap: 5px; font-size: 13.5px; font-weight: 600; color: var(--brand-terra-800); }
.lcard__wish { margin-top: 4px; font-size: 12.5px; font-style: italic; color: var(--brand-deep-300); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.lcard__foot { margin-top: 10px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lcard__avatar { width: 26px; height: 26px; border-radius: 999px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; background: var(--brand-terra-100); color: var(--brand-terra-800); }
.lcard__avatar--empty { background: transparent; color: var(--brand-deep-200); border: 1.5px dashed var(--brand-deep-200); }
.lcard__mgr { font-size: 12.5px; font-weight: 500; color: var(--brand-deep-600); }
.lcard__mgr--none { color: var(--color-warning); font-weight: 600; }
.lcard__time { font-size: 12px; color: var(--brand-deep-200); }
.lcard__contacts { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; }
.lcard__contact { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px; color: var(--brand-deep-400); background: var(--brand-cream-300); transition: background .15s ease, color .15s ease; }
.lcard__contact:hover { background: var(--brand-deep-500); color: #fff; }

/* кнопки действий на карточке */
.lcard__actions { margin-top: 11px; display: flex; gap: 8px; flex-wrap: wrap; }
.lbtn {
  display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 600;
  padding: 6px 11px; border-radius: 9px; border: 1px solid var(--brand-cream-400);
  background: var(--brand-cream-100); color: var(--brand-deep-600); cursor: pointer;
  text-decoration: none; transition: background .14s ease, border-color .14s ease, color .14s ease;
}
.lbtn:hover { border-color: var(--brand-cream-500); background: var(--brand-cream-200); }
.lbtn:disabled { opacity: .5; cursor: default; }
.lbtn--primary { background: var(--brand-terra-500); border-color: var(--brand-terra-500); color: #fff; }
.lbtn--primary:hover { background: var(--brand-terra-600); border-color: var(--brand-terra-600); }
.lbtn--link { border: none; background: transparent; padding: 0; color: var(--brand-terra-600); }

/* ============================================================ Drawer раскрытия */
.ldraw-scrim {
  position: fixed; inset: 0; z-index: 200; display: flex; justify-content: flex-end;
  background: rgba(6, 43, 54, 0.34); backdrop-filter: blur(1.5px);
  animation: ldraw-fade .15s ease;
}
.ldraw {
  position: relative; width: min(580px, 100%); height: 100vh; display: flex; flex-direction: column;
  background: var(--brand-cream-100); box-shadow: var(--shadow-lg);
  border-left: 4px solid var(--lc, var(--brand-deep-400));
  animation: ldraw-in .22s cubic-bezier(.2,.7,.3,1);
}
.ldraw__loading { display: flex; align-items: center; justify-content: center; gap: 10px; height: 100%; color: var(--brand-deep-400); }
@keyframes ldraw-in { from { transform: translateX(28px); opacity: .4; } to { transform: none; opacity: 1; } }
@keyframes ldraw-fade { from { opacity: 0; } to { opacity: 1; } }
.spin { animation: ldraw-spin 1s linear infinite; }
@keyframes ldraw-spin { to { transform: rotate(360deg); } }

.ldraw__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 18px 20px 14px; border-bottom: 1px solid var(--brand-cream-400); }
.ldraw__title { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.ldraw__title b { font-size: 17px; color: var(--brand-deep-800); }
.ldraw__num { font-family: var(--font-mono); font-size: 12px; font-weight: 700; color: var(--brand-deep-600); background: rgba(15,76,92,0.08); padding: 3px 8px; border-radius: 6px; }
.ldraw__close { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: none; border-radius: 8px; background: var(--brand-cream-300); color: var(--brand-deep-500); cursor: pointer; flex: 0 0 auto; }
.ldraw__close:hover { background: var(--brand-cream-400); }

.ldraw__bar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 14px 20px; border-bottom: 1px solid var(--brand-cream-400); background: var(--brand-cream-50); }
.ldraw__status { height: 32px; border-radius: 9px; border: 1px solid var(--brand-cream-400); background: var(--brand-cream-100); color: var(--brand-deep-700); font-size: 12.5px; font-weight: 600; padding: 0 8px; cursor: pointer; margin-left: auto; }

.ldraw__body { flex: 1; overflow-y: auto; padding: 16px 20px 28px; }
.ldraw__sec { margin-bottom: 20px; }
.ldraw__sec-h { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--brand-deep-300); margin-bottom: 8px; }
.ldraw__row { display: flex; gap: 12px; padding: 5px 0; font-size: 13.5px; align-items: baseline; }
.ldraw__k { flex: 0 0 130px; color: var(--brand-deep-300); }
.ldraw__v { flex: 1; min-width: 0; color: var(--brand-deep-700); word-break: break-word; }
.ldraw__v a { color: var(--brand-terra-600); text-decoration: none; cursor: pointer; }
.ldraw__v a:hover { text-decoration: underline; }

.ldraw__tl { display: flex; flex-direction: column; gap: 14px; padding-left: 2px; }
.ldraw__tl-item { display: flex; gap: 10px; }
.ldraw__tl-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--lc, var(--brand-terra-500)); margin-top: 4px; flex: 0 0 auto; }
.ldraw__tl-h { font-size: 13px; font-weight: 600; color: var(--brand-deep-700); }
.ldraw__tl-sub { font-size: 13px; color: var(--brand-deep-600); }
.ldraw__tl-body { font-size: 12.5px; color: var(--brand-deep-500); margin-top: 2px; white-space: pre-line; }
.ldraw__tl-time { font-size: 11px; color: var(--brand-deep-200); margin-top: 2px; }

.ldraw__note { margin-top: 14px; display: flex; gap: 8px; align-items: flex-end; }
.ldraw__note textarea { flex: 1; resize: vertical; min-height: 38px; border-radius: 9px; border: 1px solid var(--brand-cream-400); background: var(--brand-cream-50); padding: 8px 10px; font-size: 13px; color: var(--brand-deep-700); outline: none; font-family: inherit; }
.ldraw__note textarea:focus { border-color: var(--brand-deep-300); }

/* ============================================================ Модалка «В архив» + Архив */
.lmodal-scrim {
  position: fixed; inset: 0; z-index: 220; display: flex; align-items: center; justify-content: center;
  background: rgba(6,43,54,0.34); backdrop-filter: blur(1.5px); animation: ldraw-fade .15s ease;
}
.lmodal {
  width: min(460px, 94vw); background: var(--brand-cream-50);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden;
  animation: ldraw-in .2s cubic-bezier(.2,.7,.3,1);
}
.lmodal__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--brand-cream-400); font-size: 15px; color: var(--brand-deep-800); }
.lmodal__close { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: none; border-radius: 8px; background: var(--brand-cream-300); color: var(--brand-deep-500); cursor: pointer; flex: 0 0 auto; }
.lmodal__close:hover { background: var(--brand-cream-400); }
.lmodal__body { padding: 16px 18px; }
.lmodal__label { font-size: 12.5px; color: var(--brand-deep-300); margin-bottom: 9px; }
.lmodal__presets { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.lmodal__preset { font-size: 12.5px; font-weight: 600; padding: 5px 11px; border-radius: 999px; border: 1px solid var(--brand-cream-400); background: var(--brand-cream-100); color: var(--brand-deep-600); cursor: pointer; transition: all .14s ease; }
.lmodal__preset:hover { border-color: var(--brand-cream-500); }
.lmodal__preset.is-on { background: var(--brand-deep-600); border-color: var(--brand-deep-600); color: #fff; }
.lmodal__ta { width: 100%; resize: vertical; min-height: 70px; border-radius: 10px; border: 1px solid var(--brand-cream-400); background: var(--brand-cream-100); padding: 9px 11px; font-size: 13.5px; color: var(--brand-deep-700); outline: none; font-family: inherit; }
.lmodal__ta:focus { border-color: var(--brand-deep-300); }
.lmodal__foot { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 18px 16px; }

.lbtn--danger { background: var(--color-error); border-color: var(--color-error); color: #fff; }
.lbtn--danger:hover { background: #b91c1c; border-color: #b91c1c; }
.lmenu__item--danger { color: var(--color-error); }
.lmenu__item--danger:hover { background: #fdeaea; }

.larch { display: flex; flex-direction: column; gap: 10px; padding: 2px 4px 16px 2px; }
.larch__row { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: var(--brand-cream-50); border: 1px solid var(--brand-cream-400); border-radius: var(--radius-lg); }
.larch__num { font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: var(--brand-deep-600); background: rgba(15,76,92,0.07); padding: 2px 7px; border-radius: 5px; flex: 0 0 auto; }
.larch__name { font-size: 14px; font-weight: 700; color: var(--brand-deep-800); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.larch__reason { font-size: 12.5px; color: var(--brand-terra-700); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.larch__meta { font-size: 12px; color: var(--brand-deep-300); margin-left: auto; white-space: nowrap; flex: 0 0 auto; }
.larch__empty { padding: 48px 0; text-align: center; color: var(--brand-deep-300); font-style: italic; }

/* приоритет на карточке + блок касания в drawer */
.ldraw__follow { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.ldraw__follow input[type="datetime-local"], .ldraw__follow input[type="text"] {
  height: 34px; border-radius: 9px; border: 1px solid var(--brand-cream-400);
  background: var(--brand-cream-50); padding: 0 10px; font-size: 13px; color: var(--brand-deep-700); outline: none;
}
.ldraw__follow input[type="text"] { flex: 1; min-width: 150px; }
.ldraw__follow input:focus { border-color: var(--brand-deep-300); }
.ldraw__follow-hint { font-size: 11.5px; color: var(--brand-deep-300); margin-top: 6px; }

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/marketing.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/marketing.css === Маркетинг-модуль (Я.Директ + автопилот).
 * Дополняет lg-common.css — переиспользует .bcard / .ttable / .vis-stat / .bstatus-chip / .fn-grid.
 * Здесь только marketing-специфика: контейнер, воронка-виз, бейдж режима, инбокс автопилота.
 */

/* Контейнер раздела — как у прочих LG-страниц (см. lg-common.css) */
.page.page--marketing {
  display: flex;
  flex-direction: column;
  gap: var(--gap, 16px);
  padding: 24px 32px 40px;
  min-height: 100vh;
}

/* ═══ Шапка-итоги: ровные KPI-плитки (не «в кучу») ═══ */
.page--marketing .vis-stats--kpi {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  margin-top: 14px;
}
.page--marketing .vis-stats--kpi .vis-stat {
  padding-left: 18px;
  border-left: 2px solid var(--line-1);
}
.page--marketing .vis-stats--kpi .vis-stat:first-child {
  padding-left: 0;
  border-left: 0;
}
@media (max-width: 820px) {
  .page--marketing .vis-stats--kpi {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 16px;
  }
  .page--marketing .vis-stats--kpi .vis-stat { padding-left: 14px; }
  .page--marketing .vis-stats--kpi .vis-stat:nth-child(odd) { padding-left: 0; border-left: 0; }
}

/* ═══ Воронка «клик → заявка → бронь → деньги» ═══ */
.mkt-funnel {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 20px 22px;
}
.mkt-funnel__row {
  display: grid;
  grid-template-columns: 132px 1fr 92px;
  align-items: center;
  gap: 14px;
}
.mkt-funnel__name {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ink-2);
  display: flex;
  align-items: center;
  gap: 7px;
}
.mkt-funnel__name svg { color: var(--brand-terra); opacity: 0.85; }
.mkt-funnel__track {
  position: relative;
  height: 30px;
  background: rgba(15, 76, 92, 0.05);
  border-radius: 8px;
  overflow: hidden;
}
.mkt-funnel__bar {
  height: 100%;
  border-radius: 8px;
  background: linear-gradient(90deg, var(--brand-terra-300, #e8a48c), var(--brand-terra));
  display: flex;
  align-items: center;
  padding-left: 11px;
  padding-right: 8px;
  min-width: 64px;
  transition: width 0.5s cubic-bezier(0.32, 0.72, 0.32, 1);
}
.mkt-funnel__bar--deep { background: linear-gradient(90deg, #5aa0b2, var(--brand-deep, #0f4c5c)); }
.mkt-funnel__bar--ok   { background: linear-gradient(90deg, #6fc59a, var(--ok, #3a8c5f)); }
.mkt-funnel__num {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: 13px;
  color: #fff;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.18);
  white-space: nowrap;
}
.mkt-funnel__cr {
  font-size: 11.5px;
  font-variant-numeric: tabular-nums;
  color: var(--ink-3);
  text-align: right;
}
.mkt-funnel__cr b { color: var(--ink-1); font-weight: 600; }

/* ═══ Бейдж режима кампании 🤚 / 🤖 ═══ */
.mkt-mode {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.15s;
  white-space: nowrap;
}
.mkt-mode--manual { background: rgba(15, 76, 92, 0.06); color: var(--ink-2); border-color: var(--line-2); }
.mkt-mode--auto   { background: rgba(212, 95, 58, 0.10); color: var(--brand-terra); border-color: rgba(212, 95, 58, 0.22); }
.mkt-mode:hover   { transform: translateY(-1px); box-shadow: 0 2px 8px -3px rgba(15, 76, 92, 0.22); }

/* ═══ ROMI / метрики — цветовые акценты в ячейках ═══ */
.mkt-romi--good { color: var(--ok); font-weight: 700; }
.mkt-romi--bad  { color: var(--danger); font-weight: 700; }
.mkt-romi--mid  { color: var(--warn); font-weight: 600; }

/* ═══ Инбокс автопилота (предложенные действия) ═══ */
.mkt-actions { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; }
.mkt-action {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid var(--line-1);
  border-radius: var(--r-md, 12px);
  background: rgba(255, 255, 255, 0.45);
}
.mkt-action--rule { border-left: 3px solid var(--brand-terra); }
.mkt-action--ai   { border-left: 3px solid var(--brand-deep, #0f4c5c); }
.mkt-action--manual { border-left: 3px solid var(--ink-4, #94a3b8); }
.mkt-action__main { min-width: 0; }
.mkt-action__title { font-weight: 600; font-size: 13px; color: var(--ink-1); }
.mkt-action__reason { font-size: 12px; color: var(--ink-3); margin-top: 3px; }
.mkt-action__btns { display: flex; gap: 6px; flex-shrink: 0; }

/* Источник предложения — мелкий тег */
.mkt-src { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.04em; font-weight: 700; padding: 2px 6px; border-radius: 5px; }
.mkt-src--rule { background: rgba(212, 95, 58, 0.12); color: var(--brand-terra); }
.mkt-src--ai   { background: rgba(15, 76, 92, 0.10); color: var(--brand-deep, #0f4c5c); }
.mkt-src--manual { background: rgba(15, 76, 92, 0.06); color: var(--ink-3); }

/* ═══ Kill switch / статус-полоса автопилота ═══ */
.mkt-killbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 16px;
  border-radius: var(--r-md, 12px);
  border: 1px solid rgba(200, 65, 58, 0.18);
  background: rgba(200, 65, 58, 0.05);
}
.mkt-killbar--on { border-color: rgba(58, 140, 95, 0.20); background: rgba(58, 140, 95, 0.05); }
.mkt-killbar__txt { font-size: 12.5px; color: var(--ink-2); }
.mkt-killbar__txt b { color: var(--ink-1); }

/* Маленький переключатель (toggle) */
.mkt-toggle {
  position: relative; width: 42px; height: 24px; border-radius: 999px;
  background: rgba(15, 76, 92, 0.18); border: 0; cursor: pointer; transition: background 0.2s; flex-shrink: 0;
}
.mkt-toggle.is-on { background: var(--brand-terra); }
.mkt-toggle::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px;
  border-radius: 50%; background: #fff; transition: transform 0.2s; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.mkt-toggle.is-on::after { transform: translateX(18px); }

/* ═══ AI-карточка статуса ═══ */
.mkt-ai {
  display: flex; align-items: center; gap: 12px; padding: 14px 16px;
}
.mkt-ai__icon {
  width: 40px; height: 40px; border-radius: 11px; flex-shrink: 0;
  display: grid; place-items: center;
  background: linear-gradient(135deg, rgba(212, 95, 58, 0.14), rgba(15, 76, 92, 0.12));
  color: var(--brand-terra);
}
.mkt-ai__txt { font-size: 12.5px; color: var(--ink-2); }
.mkt-ai__txt b { color: var(--ink-1); }

/* ═══ Компактная иконочная кнопка (действия в гридах) ═══ */
.btn-ghost--sm {
  padding: 7px 9px;
  min-width: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  line-height: 1;
}
.btn-primary.btn-ghost--sm { padding: 7px 10px; }

/* ═══ Лёгкая модалка маркетинга (без зависимостей) ═══ */
.mkt-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1300;
  background: rgba(15, 76, 92, 0.28);
  backdrop-filter: blur(3px);
  display: grid;
  place-items: center;
  padding: 20px;
  animation: mkt-fade 0.18s ease;
}
@keyframes mkt-fade { from { opacity: 0; } }
.mkt-modal {
  width: 100%;
  max-width: 460px;
  background: var(--glass-bg-strong, rgba(255, 255, 255, 0.96));
  border: 1px solid var(--glass-bd, var(--line-1));
  border-radius: var(--r-lg, 16px);
  box-shadow: 0 24px 64px -16px rgba(15, 76, 92, 0.34);
  backdrop-filter: blur(28px) saturate(180%);
  overflow: hidden;
  animation: mkt-pop 0.2s cubic-bezier(0.32, 0.72, 0.32, 1);
}
@keyframes mkt-pop { from { opacity: 0; transform: translateY(8px) scale(0.98); } }
.mkt-modal .pd-card__body { padding: 16px 18px 18px; }

/* ═══ Мастер создания кампании ═══ */
.mkt-wizard { max-width: 760px; display: flex; flex-direction: column; max-height: 88vh; }
.mkt-wizard__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px 18px 12px; border-bottom: 1px solid var(--line-1); }
.mkt-wizard__title { font-family: var(--font-heading); font-size: 18px; font-weight: 600; color: var(--ink-1); }
.mkt-wizard__steps { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.mkt-wstep { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 999px; background: rgba(15,76,92,0.05); color: var(--ink-3); }
.mkt-wstep.is-active { background: var(--brand-terra); color: #fff; }
.mkt-wstep.is-done { background: rgba(58,140,95,0.12); color: var(--ok); }
.mkt-wizard__close { background: none; border: 0; color: var(--ink-3); cursor: pointer; padding: 4px; border-radius: 8px; }
.mkt-wizard__close:hover { background: rgba(15,76,92,0.06); color: var(--ink-1); }
.mkt-wizard__body { padding: 16px 18px; overflow-y: auto; flex: 1; }
.mkt-wizard__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 18px; border-top: 1px solid var(--line-1); }
.mkt-wizard__sum { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; text-align: center; }

.mkt-form { display: flex; flex-direction: column; gap: 14px; }
.mkt-hint { display: block; font-size: 11.5px; color: var(--ink-3); margin-top: 5px; }
.mkt-check { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-2); cursor: pointer; }
.mkt-check input { width: 16px; height: 16px; }

/* Чипы регионов */
.mkt-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.mkt-chip { display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: 999px; background: rgba(212,95,58,0.10); color: var(--brand-terra); font-size: 12px; font-weight: 600; }
.mkt-chip button { background: none; border: 0; color: inherit; cursor: pointer; display: inline-flex; padding: 0; opacity: 0.7; }
.mkt-chip button:hover { opacity: 1; }
.mkt-quick { display: flex; flex-wrap: wrap; gap: 6px; }
.mkt-quickbtn { font-size: 12px; padding: 4px 10px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--surface-1, #fff); color: var(--ink-2); cursor: pointer; }
.mkt-quickbtn:hover:not(:disabled) { border-color: var(--brand-terra); color: var(--brand-terra); }
.mkt-quickbtn:disabled { opacity: 0.4; cursor: default; }
.mkt-suggest { margin-top: 6px; border: 1px solid var(--line-1); border-radius: 10px; overflow: hidden; }
.mkt-suggest__it { display: block; width: 100%; text-align: left; padding: 8px 12px; background: none; border: 0; border-bottom: 1px solid var(--line-1); font-size: 13px; cursor: pointer; color: var(--ink-1); }
.mkt-suggest__it:last-child { border-bottom: 0; }
.mkt-suggest__it:hover { background: rgba(212,95,58,0.06); }

/* Дерево регионов */
.rt { display: flex; flex-direction: column; gap: 8px; }
.rt-chips { display: flex; flex-wrap: wrap; gap: 6px; min-height: 4px; }
.rt-search { display: flex; align-items: center; gap: 6px; border: 1px solid var(--line-2); border-radius: 9px; padding: 6px 10px; color: var(--ink-3); }
.rt-search input { border: 0; outline: 0; background: none; font: inherit; flex: 1; color: var(--ink-1); }
.rt-box { max-height: 240px; overflow-y: auto; border: 1px solid var(--line-1); border-radius: 10px; padding: 4px; }
.rt-row { display: flex; align-items: center; gap: 4px; padding: 2px 0; }
.rt-exp { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border: 0; background: none; color: var(--ink-3); cursor: pointer; border-radius: 5px; flex-shrink: 0; transition: transform 0.15s; }
.rt-exp.is-open { transform: rotate(90deg); }
.rt-exp:hover { background: rgba(15, 76, 92, 0.06); }
.rt-exp--leaf { cursor: default; }
.rt-lbl { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; cursor: pointer; color: var(--ink-1); }
.rt-cb { width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid var(--line-2); display: inline-flex; align-items: center; justify-content: center; font-size: 11px; flex-shrink: 0; }
.rt-cb--on { background: var(--brand-terra); border-color: var(--brand-terra); color: #fff; }
.rt-cb--partial { background: rgba(212, 95, 58, 0.18); border-color: var(--brand-terra); color: var(--brand-terra); font-weight: 700; }

/* Корректировки демографии */
.mkt-demorow { display: grid; grid-template-columns: 1fr 1fr 110px 36px; gap: 8px; align-items: center; margin-bottom: 8px; }
.mkt-demobid { display: flex; align-items: center; gap: 5px; }
.mkt-demobid .pd-input { width: 80px; }
.mkt-addbtn { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 600; color: var(--brand-terra); background: none; border: 1px dashed rgba(212,95,58,0.4); border-radius: 9px; padding: 7px 12px; cursor: pointer; }
.mkt-addbtn:hover { background: rgba(212,95,58,0.06); }

/* Превью объявления (как в поиске Яндекса) */
.mkt-adpreview { border: 1px solid var(--line-1); border-radius: 12px; padding: 12px 14px; background: rgba(255,255,255,0.6); }
.mkt-adpreview__lbl { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-4); margin-bottom: 6px; }
.mkt-adpreview__title { color: #1a0dab; font-size: 15px; font-weight: 500; line-height: 1.3; }
.mkt-adpreview__url { color: var(--ok); font-size: 12.5px; margin: 2px 0; }
.mkt-adpreview__text { color: var(--ink-2); font-size: 13px; line-height: 1.4; }

/* Места показа — ручная настройка */
.mkt-places { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; padding: 12px 14px; border: 1px solid var(--line-1); border-radius: 12px; background: rgba(15, 76, 92, 0.02); }
.mkt-place__sub { font-size: 11.5px; color: var(--ink-3); margin: 3px 0 0 24px; line-height: 1.4; }

/* Ретаргетинг / аудитории */
.mkt-rtlist { display: flex; flex-direction: column; gap: 8px; margin-bottom: 8px; }
.mkt-rtitem { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border: 1px solid var(--line-1); border-radius: 9px; }
.mkt-rtcreate { margin-top: 4px; }
.mkt-rtcreate summary { font-size: 12.5px; font-weight: 600; color: var(--brand-terra); cursor: pointer; padding: 4px 0; }

/* Расписание показов — дни недели */
.mkt-days { display: flex; gap: 5px; flex-wrap: wrap; }
.mkt-day { width: 40px; height: 34px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--surface-1, #fff); color: var(--ink-2); font-size: 12.5px; font-weight: 600; cursor: pointer; transition: all 0.15s; }
.mkt-day:hover { border-color: var(--brand-terra); }
.mkt-day.is-on { background: var(--brand-terra); color: #fff; border-color: var(--brand-terra); }

/* Расширения объявления: быстрые ссылки / уточнения / изображение */
.mkt-slrow { display: grid; grid-template-columns: 1fr 1.4fr 34px; gap: 8px; margin-bottom: 8px; align-items: center; }
.mkt-upload { display: block; padding: 16px; border: 1.5px dashed var(--line-2); border-radius: 12px; text-align: center; cursor: pointer; color: var(--ink-2); font-size: 13px; transition: all 0.15s; }
.mkt-upload:hover { border-color: var(--brand-terra); color: var(--brand-terra); background: rgba(212, 95, 58, 0.04); }
.mkt-imgbox { display: flex; gap: 14px; align-items: flex-start; }
.mkt-imgprev { width: 140px; height: 140px; -o-object-fit: cover; object-fit: cover; border-radius: 10px; border: 1px solid var(--line-1); }
.mkt-adpreview__img { width: 100%; max-height: 160px; -o-object-fit: cover; object-fit: cover; border-radius: 8px; margin-bottom: 8px; display: block; }
@media (max-width: 760px) { .mkt-slrow { grid-template-columns: 1fr 1fr 34px; } }

/* Результат создания */
.mkt-result { padding: 12px 14px; border-radius: 12px; font-weight: 600; font-size: 14px; }
.mkt-result.is-ok { background: rgba(58,140,95,0.10); color: var(--ok); }
.mkt-result.is-warn { background: rgba(181,101,29,0.10); color: var(--warn); }
.mkt-steps { display: flex; flex-direction: column; gap: 6px; }
.mkt-stepline { display: flex; align-items: center; gap: 8px; font-size: 13px; padding: 7px 10px; border-radius: 9px; background: rgba(15,76,92,0.03); }
.mkt-stepline__ic { display: inline-flex; width: 20px; height: 20px; border-radius: 50%; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; }
.mkt-stepline.is-ok .mkt-stepline__ic { background: var(--ok); }
.mkt-stepline.is-fail .mkt-stepline__ic { background: var(--danger); }

/* Инструкция по мастер-токену */
.mkt-steps-num { margin: 0 0 4px; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }
.mkt-steps-num li { font-size: 13px; color: var(--ink-2); line-height: 1.45; }
.mkt-steps-num code { background: rgba(15,76,92,0.07); padding: 1px 6px; border-radius: 5px; font-size: 12px; color: var(--brand-deep, #0f4c5c); }

/* Единый тулбар грида: [+ Добавить] … [Колонки · По экрану · zoom · счётчик] */
.mkt-gridbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-bottom: 1px solid var(--line-1); flex-wrap: wrap; }
.mkt-gridbar__left { display: flex; gap: 8px; align-items: center; }
.mkt-gridbar__ctrls { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.mkt-gctrl { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; padding: 6px 10px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--surface-1, #fff); color: var(--ink-2); cursor: pointer; }
.mkt-gctrl:hover { border-color: var(--brand-terra); color: var(--brand-terra); }
.mkt-zoom { display: inline-flex; align-items: center; gap: 2px; border: 1px solid var(--line-2); border-radius: 8px; overflow: hidden; }
.mkt-zoom button { border: 0; background: var(--surface-1, #fff); padding: 5px 9px; cursor: pointer; color: var(--ink-2); font-size: 13px; }
.mkt-zoom button:hover { background: rgba(15, 76, 92, 0.06); }
.mkt-zoom > span { font-size: 12px; padding: 0 4px; min-width: 40px; text-align: center; }
.mkt-gridbar__count { font-size: 11.5px; color: var(--ink-3); margin-left: 4px; white-space: nowrap; }
.mkt-quickbtn.is-on { border-color: var(--brand-terra); color: var(--brand-terra); background: rgba(212,95,58,0.08); font-weight: 600; }
@media (max-width: 760px) { .mkt-gridbar__count { display: none; } .mkt-gridbar { gap: 8px; } }

/* ИИ-генератор объявления + link-кнопка */
.mkt-aigen { display: flex; align-items: center; gap: 8px; }
.mkt-aigen__ic { width: 34px; height: 34px; border-radius: 9px; flex-shrink: 0; display: grid; place-items: center; background: linear-gradient(135deg, rgba(212, 95, 58, 0.14), rgba(15, 76, 92, 0.12)); color: var(--brand-terra); }
.mkt-aigen .pd-input { flex: 1; }
.mkt-linkbtn { background: none; border: 0; color: var(--brand-terra); cursor: pointer; font: inherit; text-decoration: underline; padding: 0; }

/* ═══ Страница-редактор с деревом (как Яндекс) ═══ */
.mkt-editor { display: grid; grid-template-columns: 290px 1fr; gap: 16px; align-items: start; }
.mkt-tree { display: flex; flex-direction: column; gap: 4px; position: sticky; top: 76px; background: var(--glass-bg, rgba(255,255,255,0.5)); border: 1px solid var(--line-1); border-radius: 14px; padding: 10px; max-height: calc(100vh - 100px); overflow-y: auto; backdrop-filter: blur(var(--glass-blur, 16px)); }
.mkt-tnode { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 9px; border: 0; background: none; cursor: pointer; font-size: 13px; color: var(--ink-2); text-align: left; width: 100%; transition: background 0.15s; }
.mkt-tnode:hover { background: rgba(15, 76, 92, 0.05); }
.mkt-tnode.is-sel { background: color-mix(in srgb, var(--brand-terra) 14%, transparent); color: var(--brand-terra); font-weight: 600; }
.mkt-tnode__t { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mkt-tnode--camp { font-weight: 600; color: var(--ink-1); }
.mkt-tnode--ad { font-size: 12.5px; }
.mkt-tgroup { display: flex; flex-direction: column; gap: 2px; padding-left: 6px; border-left: 2px solid var(--line-1); margin-left: 8px; }
.mkt-tdel { opacity: 0; background: none; border: 0; color: var(--ink-3); cursor: pointer; padding: 2px; border-radius: 5px; flex-shrink: 0; }
.mkt-tnode:hover .mkt-tdel { opacity: 0.7; }
.mkt-tdel:hover { opacity: 1 !important; color: var(--danger); }
.mkt-tadd { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; color: var(--brand-terra); background: none; border: 1px dashed rgba(212, 95, 58, 0.4); border-radius: 8px; padding: 6px 10px; cursor: pointer; margin-top: 4px; }
.mkt-tadd:hover { background: rgba(212, 95, 58, 0.06); }
.mkt-tadd--ad { margin: 2px 0 4px 8px; font-size: 11.5px; padding: 4px 8px; border-color: var(--line-2); color: var(--ink-3); align-self: flex-start; }
.mkt-tadd--ad:hover { border-color: var(--brand-terra); color: var(--brand-terra); }
.mkt-panel { padding: 0 !important; display: flex; flex-direction: column; }
.mkt-panel__body { flex: 1; }
.mkt-panel .mkt-form { padding: 18px 20px; }
.mkt-panel__nav { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 18px; border-top: 1px solid var(--line-1); position: sticky; bottom: 0; background: var(--glass-bg-strong, rgba(255, 255, 255, 0.92)); backdrop-filter: blur(12px); border-radius: 0 0 14px 14px; }
.mkt-panel__step { font-size: 12px; text-align: center; flex: 1; }
.mkt-err { display: inline-flex; align-items: center; gap: 4px; color: var(--danger); font-size: 11.5px; margin-top: 4px; font-weight: 500; }
.pd-input--err { border-color: var(--danger) !important; box-shadow: 0 0 0 2px rgba(200, 65, 58, 0.10) !important; }
.mkt-terr { color: var(--danger); flex-shrink: 0; }
.mkt-fsec { padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--line-1); }
.mkt-fsec:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.mkt-fsec__t { font-size: 13px; font-weight: 600; color: var(--ink-1); margin: 0 0 12px; font-family: var(--font-heading); }
@media (max-width: 900px) { .mkt-editor { grid-template-columns: 1fr; } .mkt-tree { position: static; max-height: none; } }

/* Закреплённая строка «Итого» в гриде */
.egrid__row--pinned { position: sticky; top: 0; z-index: 4; }
.egrid__row--pinned .egrid__td { border-bottom: 2px solid var(--line-2) !important; }

/* ═══ Мобилка ═══ */
@media (max-width: 760px) {
  .mkt-modal { max-width: 100%; }
  .mkt-wizard { max-height: 94vh; }
  .mkt-demorow { grid-template-columns: 1fr 1fr; }
  .mkt-wizard__sum { display: none; }
  /* тач-таргеты ≥ 40px по высоте на узких экранах */
  .btn-ghost--sm { padding: 9px 11px; min-height: 38px; }
  .mkt-mode { padding: 7px 11px; }
  .page.page--marketing { padding: 16px 14px 32px; }
  .mkt-funnel__row { grid-template-columns: 96px 1fr 64px; gap: 8px; }
  .mkt-funnel__name { font-size: 11px; }
  .mkt-funnel__cr { font-size: 10.5px; }
  .mkt-action { grid-template-columns: 1fr; }
  .mkt-action__btns { justify-content: flex-end; }
}

/* ════════ Подбор ключей (Wordstat) ════════ */
.mkt-ws__controls { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mkt-ws__search { position: relative; display: flex; align-items: center; gap: 8px; flex: 1 1 340px; min-width: 240px; padding: 0 12px; height: 42px; border: 1px solid var(--line-1); border-radius: 12px; background: var(--surface-1, #fff); transition: border-color .15s, box-shadow .15s; }
.mkt-ws__search:focus-within { border-color: var(--brand-terra); box-shadow: 0 0 0 3px rgba(212,95,58,0.12); }
.mkt-ws__search svg { color: var(--ink-3); flex: none; }
.mkt-ws__search input { flex: 1; border: 0; outline: 0; background: transparent; font-size: 14px; color: var(--ink-1); }
.mkt-ws__clear { border: 0; background: transparent; color: var(--ink-3); cursor: pointer; display: inline-flex; padding: 4px; border-radius: 6px; }
.mkt-ws__clear:hover { background: rgba(0,0,0,0.05); color: var(--ink-1); }
.mkt-ws__reg { position: relative; }
.mkt-ws__regbox { position: absolute; z-index: 40; top: calc(100% + 6px); left: 0; width: 280px; background: var(--surface-1, #fff); border: 1px solid var(--line-1); border-radius: 12px; box-shadow: 0 12px 32px rgba(0,0,0,0.14); padding: 8px; }
.mkt-ws__dev { height: 42px; min-width: 150px; }
.mkt-ws__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.mkt-ws__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.mkt-ws__pickbar { display: inline-flex; align-items: center; gap: 6px; }
.mkt-ws__empty { padding: 28px; text-align: center; color: var(--ink-3); font-size: 13px; }
.mkt-ws__err { margin-top: 12px; padding: 10px 14px; border-radius: 10px; background: rgba(212,95,58,0.08); color: var(--brand-terra); font-size: 13px; }
.mkt-ws__barwrap { position: relative; display: inline-flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 110px; }
.mkt-ws__bar { position: absolute; right: 0; top: 50%; transform: translateY(-50%); height: 18px; border-radius: 5px; background: rgba(15,76,92,0.12); z-index: 0; max-width: 100%; }
.mkt-ws__bar--good { background: rgba(58,140,95,0.22); }
.mkt-ws__barwrap b { position: relative; z-index: 1; padding: 0 4px; }
.btn-primary--sm { padding: 6px 12px; min-height: 30px; font-size: 12.5px; }

@media (max-width: 720px) {
  .mkt-ws__controls { gap: 8px; }
  .mkt-ws__search { flex: 1 1 100%; height: 44px; }
  .mkt-ws__dev { flex: 1 1 46%; min-width: 0; }
  .mkt-ws__reg { flex: 1 1 46%; }
  .mkt-ws__reg > .btn-ghost { width: 100%; justify-content: center; }
  .mkt-ws__regbox { width: 88vw; }
}

/* ════════ ИИ-генератор кампаний ════════ */
.mkt-wsteps { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.mkt-gen__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; }
.mkt-gen__foot { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 18px; border-top: 1px solid var(--line-1); }
.mkt-gen__foot--split { justify-content: space-between; border: 0; padding: 16px 2px 4px; }
.mkt-gen__sum { display: flex; gap: 10px; flex-wrap: wrap; }
.mkt-gen__grp { padding: 0; }
.mkt-gen__grpbody { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.mkt-gen__col { min-width: 0; }
.mkt-gen__lbl { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3); margin-bottom: 6px; }
.mkt-gen__ad { border: 1px solid var(--line-1); border-radius: 10px; padding: 10px 12px; background: rgba(15,76,92,0.02); }
.mkt-gen__adt { color: #1a52c4; font-size: 14px; font-weight: 600; line-height: 1.3; }
.mkt-gen__adtxt { font-size: 13px; color: var(--ink-2); margin-top: 4px; line-height: 1.4; }
.mkt-gen__adurl { font-size: 12px; color: var(--ok); margin-top: 5px; }
.mkt-gen__kws { display: flex; flex-wrap: wrap; gap: 5px; }
.mkt-gen__lp { border: 1px dashed var(--line-1); border-radius: 10px; padding: 12px 14px; background: rgba(212,95,58,0.02); }
.mkt-gen__lph1 { font-size: 16px; font-weight: 700; color: var(--ink-1); line-height: 1.25; }
.mkt-gen__lpintro { font-size: 13px; color: var(--ink-2); margin-top: 6px; line-height: 1.45; }
.pd-field__hint { font-size: 11px; color: var(--ink-3); margin-top: 4px; }
.pd-field--check { flex-direction: row; align-items: center; gap: 8px; }
.pd-field--check input { width: 16px; height: 16px; }

.mkt-gen__target { display: flex; flex-direction: column; gap: 6px; }
.mkt-gen__targopt { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid var(--line-1); border-radius: 10px; cursor: pointer; transition: border-color .15s, background .15s; font-size: 13.5px; }
.mkt-gen__targopt:hover { border-color: var(--brand-terra); }
.mkt-gen__targopt.is-on { border-color: var(--brand-terra); background: rgba(212,95,58,0.05); }
.mkt-gen__targopt input { margin-top: 2px; }

@media (max-width: 760px) {
  .mkt-gen__grid { grid-template-columns: 1fr; }
  .mkt-gen__grpbody { grid-template-columns: 1fr; gap: 14px; }
  .mkt-wsteps { width: 100%; }
}

/* ── Смарт-баннеры (динамический ремаркетинг) ── */
.smart-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.smart-step { display: flex; gap: 10px; align-items: flex-start; }
.smart-step__n { flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; background: var(--brand-terra); color: #fff; font-size: 12px; font-weight: 700; display: grid; place-items: center; }
.smart-step b { display: flex; align-items: center; gap: 5px; font-size: 13px; margin-bottom: 3px; }
.smart-step > div > span { font-size: 11.5px; line-height: 1.45; color: var(--ink-2); opacity: 0.72; display: block; }

.smart-warn { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 12px; border: 1px solid rgba(181,101,29,0.3); background: rgba(181,101,29,0.07); color: var(--ink-2); font-size: 12.5px; line-height: 1.45; margin: 0 0 18px; }
.smart-warn > svg { color: var(--warn); flex-shrink: 0; margin-top: 1px; }

.smart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }

.smart-feedrow { display: flex; align-items: center; gap: 10px; font-size: 12.5px; flex-wrap: wrap; }
.smart-feedrow > span:first-child { color: var(--ink-2); }
.smart-feedrow .mkt-gctrl { margin-left: auto; }
.smart-feedurl { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; margin-top: 7px; color: var(--ok); opacity: 0.9; word-break: break-all; }
.smart-divider { height: 1px; background: var(--line-2); margin: 16px 0; }
.smart-result { margin-top: 14px; padding: 11px 13px; border-radius: 10px; font-size: 12.5px; line-height: 1.45; }
.smart-result--ok  { background: rgba(58,140,95,0.10); color: var(--ok); }
.smart-result--err { background: rgba(181,101,29,0.10); color: var(--warn); }

@media (max-width: 860px) {
  .smart-steps { grid-template-columns: 1fr; gap: 14px; }
  .smart-grid { grid-template-columns: 1fr; }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/responsive.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/responsive.css === Адаптивные правила (G #34) */

/* 1440 и меньше: двухколоночные finance/users в одну колонку */
@media (max-width: 1440px) {
  .fn-grid,
  .usr-grid { grid-template-columns: 1fr; }
  .he-form { grid-template-columns: 1fr !important; }
}

/* 1280: вертикальная стабилизация — sidebar/main */
@media (max-width: 1280px) {
  .page--bookings,
  .page--finance,
  .page--utm,
  .page--cash-orders,
  .page--partners,
  .page--audit,
  .page--archive,
  .page--imports,
  .page--compilations { padding: 18px 22px 32px; }

  .pd-grid--2,
  .pd-grid--3 { grid-template-columns: 1fr; }

  /* TOC бронирования / правая боковушка — скрыть на узких */
  .booking-toc,
  .bk-right { display: none; }
}

/* ≤1024 — раздел /settings/*: nav-лента, стек-заголовок, скролл-таблицы */
@media (max-width: 1024px) {
  .page--settings { padding: 16px 14px 30px; }

  .st-shell { grid-template-columns: 1fr; gap: 14px; }

  /* боковой nav → горизонтальная прокручиваемая лента вкладок (без wrap) */
  .st-nav {
    position: relative; top: 0;
    padding: 6px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }
  .st-nav::-webkit-scrollbar { display: none; }
  .st-nav__title { display: none; }
  .st-nav__list { flex-direction: row; flex-wrap: nowrap; gap: 4px; }
  .st-nav__item { flex: 0 0 auto; white-space: nowrap; scroll-snap-align: start; }

  /* заголовок раздела: кнопки/фильтры переносятся под текст, во всю ширину */
  .st-head { flex-direction: column; align-items: stretch; gap: 12px; }
  .st-head__actions { flex-wrap: wrap; padding-top: 0; }

  /* таблицы настроек — горизонтальный скролл ВНУТРИ карточки (а не обрезание) */
  .st-table {
    display: block;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  /* состав пакета — стек вместо 5 фиксированных колонок */
  .pc-row { grid-template-columns: 1fr; gap: 10px; align-items: stretch; }
  .pc-money { grid-template-columns: 1fr 84px; }
  .pc-toggle { padding-bottom: 0; }
}

/* ≤720 — формы настроек: коды Росстата компактнее в 2 колонки */
@media (max-width: 720px) {
  .st-fgrid--4 { grid-template-columns: 1fr 1fr; }
}

/* 900 и меньше — карточки blog/posts на 1 колонку */
@media (max-width: 900px) {
  .pp-row { grid-template-columns: 64px 1fr !important; }
  .pp-actions { grid-column: 1 / -1; flex-direction: row !important; }
  .mod-grid { grid-template-columns: 1fr 1fr; }
  .vis-stats { gap: 8px !important; }
  .vis-stat { padding: 0 !important; }
}

@media (max-width: 640px) {
  .vis-stats { flex-wrap: wrap; }
  .mod-grid { grid-template-columns: 1fr; }
  .page__head { flex-direction: column !important; align-items: stretch !important; }
  .page__actions { width: 100%; flex-wrap: wrap !important; justify-content: flex-start !important; }
  .topbar .search { max-width: 220px; }
  /* Длинное имя в хлебных крошках (детальные страницы) не должно толкать
     ширину за экран: крошки ужимаются, последний сегмент — многоточием. */
  .crumbs { min-width: 0; flex: 0 1 auto; overflow: hidden; }
  .crumbs > * { flex-shrink: 0; }
  .crumbs > :last-child {
    flex-shrink: 1; min-width: 0;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
}

/* ≤620 — таблицы настроек превращаются в карточки-строки (премиум-мобайл) */
@media (max-width: 620px) {
  .st-table { display: block; overflow-x: visible; white-space: normal; }
  .st-table thead { display: none; }
  .st-table tbody { display: block; }
  .st-table tbody tr {
    display: block;
    margin: 10px;
    padding: 2px 12px;
    border: 1px solid var(--line-1);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.55);
  }
  .st-table tbody tr:hover { background: rgba(255, 255, 255, 0.6); }
  .st-table tbody td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: auto;
    padding: 9px 0;
    border: none;
    border-bottom: 1px dashed var(--line-1);
    text-align: right;
    white-space: normal;
  }
  .st-table tbody tr td:last-child { border-bottom: none; }
  .st-table tbody td::before {
    content: attr(data-label);
    flex: none;
    font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    color: var(--ink-4);
    text-align: left;
  }
  .st-table tbody td.st-td-act { justify-content: flex-end; padding-top: 11px; }
  .st-table tbody td.st-td-num { color: var(--ink-2); font-weight: 600; }
  /* центрирующие обёртки в ячейках прижимаются вправо */
  .st-table tbody td > .flex.justify-center { justify-content: flex-end; }
}

/* Печать */
@media print {
  .topbar,
  .twk-fab,
  .twk-panel,
  .page__actions,
  .btoolbar { display: none !important; }
  .page { padding: 0 !important; }
  .bcard { -moz-column-break-inside: avoid; break-inside: avoid; }
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/users.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* ═══════════════════════════════════════════════════════════════
   /users — Пользователи сайта (ЛК клиента / партнёр)
   Использует общие классы travellers-list.css + локальные модалка/формы.
   ═══════════════════════════════════════════════════════════════ */

.page--users{
  padding:24px 28px 100px;
}

/* Email — длинный, дать минимум ширины */
.trow__email{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--ink-2);
  word-break:break-all;
}

/* Последняя активность — две строки (relative + abs) */
.users-lastact{
  display:flex;
  flex-direction:column;
  gap:1px;
  line-height:1.3;
}
.users-lastact__sub{
  font-size:10.5px;
  letter-spacing:0.02em;
}

/* Avatar tone варианты для ролей */
.avatar--regular{
  background:linear-gradient(135deg, var(--brand-deep-500), var(--brand-deep-700));
  color:#fff;
}
.avatar--vip{
  background:linear-gradient(135deg, var(--brand-terra-500), var(--brand-terra-700));
  color:#fff;
}

/* ─── МОДАЛКА «новый пользователь» ─────────────────────────────── */
.users-modal-bg{
  position:fixed; inset:0;
  background:rgba(15,76,92,0.42);
  backdrop-filter:blur(8px);
  z-index:100;
  display:grid;
  place-items:center;
  padding:24px;
  animation:fadeIn .18s ease-out;
}
@keyframes fadeIn{ from{opacity:0} to{opacity:1} }

.users-modal{
  position:relative;
  width:100%;
  max-width:560px;
  padding:32px 36px 28px;
  background:#FDFCF9;
  border:1px solid var(--glass-bd);
  border-radius:18px;
  box-shadow:0 24px 60px rgba(15,76,92,0.22), 0 0 0 1px rgba(255,255,255,0.5) inset;
  animation:popIn .22s cubic-bezier(.34,1.2,.64,1);
}
@keyframes popIn{
  from{ opacity:0; transform:translateY(10px) scale(0.98) }
  to{ opacity:1; transform:translateY(0) scale(1) }
}

.users-modal__close{
  position:absolute;
  top:14px; right:14px;
  width:32px; height:32px;
  border:none;
  background:rgba(15,76,92,0.06);
  color:var(--ink-2);
  border-radius:50%;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:background .14s;
}
.users-modal__close:hover{ background:rgba(15,76,92,0.12) }

.users-modal__title{
  font-family:var(--font-heading);
  font-size:24px;
  font-weight:600;
  color:var(--brand-deep-700);
  margin:0 0 6px;
  letter-spacing:-0.01em;
}
.users-modal__sub{
  font-family:var(--font-body);
  font-size:13px;
  color:var(--ink-2);
  line-height:1.5;
  margin:0 0 22px;
}
.users-modal__sub strong{ color:var(--brand-deep-700); font-weight:600 }

.users-modal__result{
  display:flex;
  gap:8px;
  align-items:stretch;
  padding:10px;
  background:rgba(15,76,92,0.04);
  border:1px solid var(--line-2);
  border-radius:10px;
  margin-bottom:14px;
}
.users-modal__result code{
  flex:1;
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--brand-deep-700);
  padding:8px 10px;
  background:#fff;
  border-radius:6px;
  word-break:break-all;
  -webkit-user-select:all;
     -moz-user-select:all;
          user-select:all;
}
.users-modal__copy{
  white-space:nowrap;
  align-self:stretch;
}

.users-modal__note{
  font-family:var(--font-body);
  font-size:11.5px;
  color:var(--ink-3);
  line-height:1.5;
  margin:0 0 18px;
  font-style:italic;
}

.users-modal__actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:20px;
}

/* ─── ФОРМА ────────────────────────────────────────────────────── */
.users-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.users-form__row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.users-form__field{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.users-form__field > span{
  font-family:var(--font-body);
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:var(--ink-3);
}
.users-form__field input,
.users-form__field select{
  height:38px;
  padding:0 12px;
  background:#fff;
  border:1px solid var(--line-2);
  border-radius:10px;
  font-family:var(--font-body);
  font-size:13.5px;
  color:var(--ink-1);
  outline:none;
  transition:border-color .14s, box-shadow .14s;
}
.users-form__field input:focus,
.users-form__field select:focus{
  border-color:var(--brand-terra-500);
  box-shadow:0 0 0 3px rgba(212,95,58,0.12);
}

.users-form__err{
  margin:0;
  padding:8px 12px;
  background:rgba(220,38,38,0.08);
  border:1px solid rgba(220,38,38,0.25);
  border-radius:8px;
  color:#dc2626;
  font-family:var(--font-body);
  font-size:12px;
}

/* Адаптив */
@media (max-width:1280px){
  .page--users{ padding:18px 18px 80px }
}
@media (max-width:640px){
  .users-form__row{ grid-template-columns:1fr }
  .users-modal{ padding:24px 22px 20px }
  .users-modal__title{ font-size:20px }
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/tasks.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.page--tasks{max-width:none; padding:18px 24px 100px}

/* STAT CHIPS (same as elsewhere) */
.vis-stats{display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:6px}
.vis-stat{display:inline-flex; align-items:baseline; gap:6px; padding:0; border:none; background:none; border-radius:0; font-size:inherit}
.vis-stat:not(:first-child)::before{content:""; align-self:center; width:1px; height:18px; margin-right:8px; background:var(--line-1)}
.vis-stat__n{font-size:18px; font-weight:600; color:var(--brand-deep)}
.vis-stat__l{color:var(--ink-3)}
.vis-stat--hot{background:none; border-color:transparent}
.vis-stat--hot .vis-stat__n{color:var(--danger)}
.vis-stat--info{background:none; border-color:transparent}
.vis-stat--info .vis-stat__n{color:var(--brand-terra)}
.vis-stat--info .vis-stat__l{color:var(--ink-3)}
.vis-stat--neutral{background:none; border-color:transparent}
.vis-stat--neutral .vis-stat__n{color:var(--brand-deep)}
.vis-stat--active{background:none; border-color:transparent}
.vis-stat--active .vis-stat__n{color:var(--ok)}

/* TOOLBAR (same base) */
.btoolbar{
  position:sticky; top:64px; z-index:5;
  display:flex; flex-direction:column; gap:8px;
  padding:8px 10px;
  background:rgba(255,255,255,0.7);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 8px 24px -12px rgba(15,76,92,0.1);
}
.btoolbar__row2{display:flex; align-items:center; gap:8px; flex-wrap:wrap}

.bsearch{
  display:flex; align-items:center; gap:6px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:8px;
  padding:5px 10px;
  color:var(--ink-3);
  min-width:200px; max-width:280px; flex:1;
}
.bsearch:focus-within{border-color:rgba(15,76,92,0.25); background:rgba(255,255,255,0.9)}
.bsearch input{flex:1; min-width:0; background:none; border:none; outline:none; font-size:12px; color:var(--ink-1)}

.bmgrs{display:flex; gap:2px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px}
.bmpill{
  display:inline-flex; align-items:center; gap:5px;
  padding:4px 8px;
  border-radius:6px;
  font-size:11px; font-weight:500;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
  font-family:inherit;
}
.bmpill.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}
.bmpill .avatar{box-shadow:none}

.kselect{
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:7px;
  padding:5px 22px 5px 9px;
  font-size:11px; color:var(--ink-2);
  cursor:pointer; outline:none;
  -moz-appearance:none;
       appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236A8089' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat;
  background-position:right 6px center;
  font-family:inherit;
}

.tseg{display:flex; gap:1px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px}
.tseg button{
  font-size:11px; font-weight:500;
  padding:4px 10px;
  border-radius:5px;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
  font-family:inherit;
}
.tseg button.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}

.check-l{display:flex; align-items:center; gap:5px; font-size:11.5px; color:var(--ink-2); cursor:pointer; padding:0 6px}
.check-l input{accent-color:var(--brand-terra); cursor:pointer}

/* ─── GROUP HEADERS ─────────────────────────────── */
.tasks-groups{display:flex; flex-direction:column; gap:18px}
.task-group{display:flex; flex-direction:column; gap:8px}
.task-group__head{
  display:flex; align-items:center; gap:10px;
  padding:0 4px;
}
.task-group__bullet{
  width:8px; height:8px; border-radius:50%;
  background:rgba(15,76,92,0.2);
}
.task-group__bullet.is-danger{
  background:var(--danger);
  box-shadow:0 0 0 3px rgba(200,65,58,0.18);
  animation:pulseDanger 1.6s ease infinite;
}
@keyframes pulseDanger{50%{box-shadow:0 0 0 6px rgba(200,65,58,0.08)}}
.task-group__title{
  margin:0;
  font-family:var(--font-heading);
  font-weight:500;
  font-size:18px;
  color:var(--brand-deep);
}
.task-group.is-danger .task-group__title{color:var(--danger)}
.task-group__n{
  font-size:11px; font-weight:600;
  background:rgba(15,76,92,0.07);
  color:var(--ink-3);
  padding:2px 8px;
  border-radius:99px;
}
.task-group.is-danger .task-group__n{background:rgba(200,65,58,0.13); color:var(--danger)}
.task-group__hint{
  font-family:"Caveat",cursive;
  font-weight:600;
  color:var(--brand-terra);
  font-size:15px;
  margin-left:4px;
}
.task-group.is-danger .task-group__hint{color:var(--danger)}

/* ─── TASK ROW ───────────────────────────────────── */
.bcard{
  background:rgba(255,255,255,0.65);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  overflow:hidden;
}

.task-row{
  display:grid;
  grid-template-columns:24px 22px minmax(0, 1fr) 130px 22px 30px;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-bottom:1px solid var(--line-1);
  transition:background .15s ease;
  position:relative;
}
.task-row:last-child{border-bottom:none}
.task-row:hover{background:rgba(255,255,255,0.55)}
.task-row.is-selected{background:rgba(255,237,232,0.45)}
.task-row.is-done{opacity:.55}
.task-row.is-urgent::before{
  content:""; position:absolute;
  left:0; top:8px; bottom:8px;
  width:3px;
  background:var(--danger);
  border-radius:0 2px 2px 0;
}

.task-check{
  width:18px; height:18px;
  border-radius:5px;
  border:1.5px solid var(--ink-4);
  background:rgba(255,255,255,0.6);
  display:grid; place-items:center;
  color:transparent;
  transition:all .15s ease;
  cursor:pointer;
}
.task-check:hover{border-color:var(--brand-deep)}
.task-check.is-checked{
  background:var(--brand-deep);
  border-color:var(--brand-deep);
  color:#FFFBF8;
}

.task-type{
  width:22px; height:22px;
  border-radius:6px;
  display:grid; place-items:center;
  background:color-mix(in oklab, var(--tone) 12%, transparent);
  color:var(--tone);
}

.task-main{min-width:0; display:flex; flex-direction:column; gap:2px}
.task-main__top{display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.task-title{
  font-size:13px; font-weight:500;
  color:var(--ink-1);
  line-height:1.3;
}
.task-row.is-done .task-title{text-decoration:line-through; color:var(--ink-4)}
.task-prio{
  font-size:9.5px; font-weight:600;
  letter-spacing:.05em; text-transform:uppercase;
  padding:1px 7px;
  border-radius:99px;
  background:color-mix(in oklab, var(--tone) 13%, transparent);
  color:var(--tone);
}
.task-prio--low{display:none} /* hide for low-prio to reduce noise */

.task-desc{
  font-size:11.5px;
  color:var(--ink-3);
  line-height:1.4;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
}
.task-meta{display:flex; align-items:center; gap:7px; margin-top:2px; font-size:11px; color:var(--ink-3)}
.task-client{color:var(--ink-2)}

.task-due{display:flex; flex-direction:column; align-items:flex-end; text-align:right; line-height:1.25}
.task-due__d{
  font-size:11.5px; font-weight:600;
  color:var(--ink-2);
  font-variant-numeric:tabular-nums;
}
.task-due__d.is-overdue{
  color:#FFF;
  background:linear-gradient(180deg, #E0635A, #C8413A);
  padding:2px 8px;
  border-radius:5px;
  box-shadow:0 2px 6px -2px rgba(200,65,58,0.4);
  font-weight:700;
}
.task-due__d.is-today{
  color:var(--brand-terra);
  font-weight:700;
}
.task-due__date{font-size:10px; margin-top:1px}

.bt-id{
  font-weight:600; color:var(--brand-deep);
  font-variant-numeric:tabular-nums; letter-spacing:.02em;
  background:rgba(15,76,92,0.06); padding:1px 6px; border-radius:4px;
  text-decoration:none;
  font-size:10.5px;
}
.bt-id:hover{background:rgba(224,120,86,0.16); color:var(--brand-terra)}

.t-menu{
  width:24px; height:24px;
  display:grid; place-items:center;
  border-radius:6px;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
}
.t-menu:hover{background:rgba(15,76,92,0.07); color:var(--ink-1)}

.muted{color:var(--ink-4)}

/* ─── BULK BAR (same as Bookings) ────────────────── */
.bulkbar{
  position:fixed;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  display:flex; align-items:center; gap:4px;
  padding:7px 10px 7px 14px;
  background:rgba(15,76,92,0.92);
  color:#FFFBF8;
  border-radius:12px;
  box-shadow:0 18px 48px -8px rgba(15,76,92,0.4), 0 4px 12px rgba(15,76,92,0.2);
  backdrop-filter:blur(24px) saturate(180%);
  z-index:30;
  animation:bulkSlide .3s cubic-bezier(.34,1.2,.64,1);
  max-width:calc(100vw - 40px);
  flex-wrap:wrap;
}
@keyframes bulkSlide{from{transform:translate(-50%, 30px); opacity:0} to{transform:translate(-50%, 0); opacity:1}}
.bulkbar__count{display:flex; align-items:baseline; gap:6px; font-size:12px; font-weight:500; padding-right:6px}
.bulkbar__count .tabnum{font-size:14px; font-weight:600}
.bulkbar__sep{width:1px; height:18px; background:rgba(255,255,255,0.2); margin:0 2px}
.bulkbar__btn{
  display:inline-flex; align-items:center; gap:5px;
  padding:6px 10px;
  font-size:11.5px; font-weight:500;
  border-radius:7px;
  color:rgba(255,255,255,0.88);
  background:none; border:none; cursor:pointer;
  font-family:inherit;
  transition:background .15s ease;
}
.bulkbar__btn:hover{background:rgba(255,255,255,0.12); color:#FFF}
.bulkbar__clear{
  width:24px; height:24px;
  margin-left:4px;
  border-radius:6px;
  display:grid; place-items:center;
  background:rgba(255,255,255,0.12);
  color:#FFF;
  border:none; cursor:pointer;
  transform:rotate(45deg);
}
.bulkbar__clear:hover{background:rgba(255,255,255,0.22)}

/* RESPONSIVE */
@media (max-width:1024px){
  .page--tasks{padding:14px 14px 100px}
  .btoolbar{position:relative; top:0}
  .task-row{grid-template-columns:24px 20px minmax(0, 1fr) 78px 20px 26px; padding:9px 10px}
  .task-row > .t-menu{display:flex}
  .bulkbar{flex-direction:column; left:14px; right:14px; transform:none}
  @keyframes bulkSlide{from{transform:translateY(30px); opacity:0} to{transform:translateY(0); opacity:1}}
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/deadlines.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.page--dead{max-width:none; padding:18px 24px 32px}

/* STAT CHIPS */
.vis-stats{display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:6px}
.vis-stat{display:inline-flex; align-items:baseline; gap:6px; padding:0; border:none; background:none; border-radius:0; font-size:inherit}
.vis-stat:not(:first-child)::before{content:""; align-self:center; width:1px; height:18px; margin-right:8px; background:var(--line-1)}
.vis-stat__n{font-size:18px; font-weight:600; color:var(--brand-deep)}
.vis-stat__l{color:var(--ink-3)}
.vis-stat--hot{background:none; border-color:transparent}
.vis-stat--hot .vis-stat__n{color:var(--danger)}
.vis-stat--hot .vis-stat__l{color:var(--ink-3)}
.vis-stat--warn{background:none; border-color:transparent}
.vis-stat--warn .vis-stat__n{color:var(--warn)}
.vis-stat--info{background:none; border-color:transparent}
.vis-stat--info .vis-stat__n{color:var(--brand-deep)}
.vis-stat--money{background:none; border-color:transparent}
.vis-stat--money .vis-stat__n{color:var(--ok)}

/* TOOLBAR (same base) */
.btoolbar{
  position:sticky; top:64px; z-index:5;
  display:flex; flex-direction:column; gap:8px;
  padding:8px 10px;
  background:rgba(255,255,255,0.7);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  backdrop-filter:blur(24px) saturate(180%);
  box-shadow:0 8px 24px -12px rgba(15,76,92,0.1);
}
.btoolbar__row2{display:flex; align-items:center; gap:8px; flex-wrap:wrap}

.bsearch{
  display:flex; align-items:center; gap:6px;
  background:rgba(255,255,255,0.55);
  border:1px solid var(--line-1);
  border-radius:8px;
  padding:5px 10px;
  color:var(--ink-3);
  min-width:200px; max-width:280px; flex:1;
}
.bsearch:focus-within{border-color:rgba(15,76,92,0.25); background:rgba(255,255,255,0.9)}
.bsearch input{flex:1; min-width:0; background:none; border:none; outline:none; font-size:12px; color:var(--ink-1)}

.bmgrs{display:flex; gap:2px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px}
.bmpill{
  display:inline-flex; align-items:center; gap:5px;
  padding:4px 8px;
  border-radius:6px;
  font-size:11px; font-weight:500;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
  font-family:inherit;
}
.bmpill.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}
.bmpill .avatar{box-shadow:none}

.bstatus{display:flex; gap:4px; flex-wrap:wrap}
.bstatus-chip{
  display:inline-flex; align-items:center; gap:5px;
  padding:3px 8px;
  font-size:11px; font-weight:500;
  border:1px solid var(--line-1);
  border-radius:99px;
  color:var(--ink-3);
  background:rgba(255,255,255,0.5);
  cursor:pointer;
  font-family:inherit;
  transition:all .15s ease;
}
.bstatus-dot{width:6px; height:6px; border-radius:50%; background:var(--tone)}
.bstatus-chip:hover{background:rgba(255,255,255,0.85); color:var(--ink-1)}
.bstatus-chip.is-on{
  background:var(--tone);
  color:#FFFBF8;
  border-color:transparent;
  font-weight:600;
}
.bstatus-chip.is-on .bstatus-dot{background:rgba(255,255,255,0.85)}

.tseg{display:flex; gap:1px; padding:2px; background:rgba(15,76,92,0.05); border-radius:7px}
.tseg button{
  font-size:11px; font-weight:500;
  padding:4px 10px;
  border-radius:5px;
  color:var(--ink-3);
  background:none; border:none; cursor:pointer;
  font-family:inherit;
}
.tseg button.is-active{
  background:rgba(255,255,255,0.95);
  color:var(--brand-deep);
  font-weight:600;
  box-shadow:0 1px 2px rgba(15,76,92,0.08);
}

.check-l{display:flex; align-items:center; gap:5px; font-size:11.5px; color:var(--ink-2); cursor:pointer; padding:0 6px}
.check-l input{accent-color:var(--brand-terra); cursor:pointer}

/* ─── DANGER ALERT ───────────────────────────────── */
.dl-alert{
  display:flex; align-items:center; gap:14px;
  padding:14px 18px;
  background:linear-gradient(135deg, rgba(255,233,225,0.85), rgba(255,220,210,0.55) 50%, rgba(255,237,232,0.7));
  border:1px solid rgba(200,65,58,0.32);
  border-radius:var(--r-lg);
  box-shadow:0 12px 36px -10px rgba(200,65,58,0.2);
  backdrop-filter:blur(24px) saturate(180%);
  position:relative;
  overflow:hidden;
}
.dl-alert::before{
  content:""; position:absolute; top:0; left:14px; right:14px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.95), transparent);
}
.dl-alert__icon{
  width:42px; height:42px;
  border-radius:11px;
  background:linear-gradient(155deg, #E0635A, #C8413A);
  color:#FFF;
  display:grid; place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.25), 0 6px 14px -2px rgba(200,65,58,0.35);
  flex:none;
}
.dl-alert__main{flex:1; min-width:0}
.dl-alert__t{font-size:14px; font-weight:500; color:#5D2520; line-height:1.4}
.dl-alert__t b{font-weight:700; color:var(--danger)}
.dl-alert__sub{font-size:11.5px; color:#8C4A40; margin-top:2px}
.dl-alert__btn{flex:none}

/* ─── GROUP HEADERS ───────────────────────────── */
.dl-groups{display:flex; flex-direction:column; gap:20px}
.dl-group{display:flex; flex-direction:column; gap:8px}
.dl-group__head{
  display:flex; align-items:center; gap:10px;
  padding:0 4px;
}
.dl-group__bullet{
  width:10px; height:10px; border-radius:50%;
  background:rgba(15,76,92,0.2);
}
.dl-group__bullet.is-danger{
  background:linear-gradient(180deg, #E0635A, #C8413A);
  box-shadow:0 0 0 3px rgba(200,65,58,0.18);
  animation:pulseDanger 1.6s ease infinite;
}
@keyframes pulseDanger{50%{box-shadow:0 0 0 6px rgba(200,65,58,0.08)}}
.dl-group__title{
  margin:0;
  font-family:var(--font-heading);
  font-weight:500;
  font-size:18px;
  color:var(--brand-deep);
}
.dl-group.is-danger .dl-group__title{color:var(--danger)}
.dl-group__n{
  font-size:11px; font-weight:600;
  background:rgba(15,76,92,0.07);
  color:var(--ink-3);
  padding:2px 8px;
  border-radius:99px;
}
.dl-group.is-danger .dl-group__n{background:rgba(200,65,58,0.13); color:var(--danger)}
.dl-group__sum{font-size:12px; padding:0 4px}
.dl-group__sum.muted{color:var(--ink-3)}
.dl-group__hint{
  font-family:"Caveat",cursive;
  font-weight:600;
  color:var(--brand-terra);
  font-size:15px;
  margin-left:4px;
}
.dl-group.is-danger .dl-group__hint{color:var(--danger)}

/* ─── DEADLINE ROW ───────────────────────────── */
.bcard{
  background:rgba(255,255,255,0.65);
  border:1px solid var(--glass-bd);
  border-radius:13px;
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(24px) saturate(180%);
  overflow:hidden;
}

.dl-row{
  display:grid;
  grid-template-columns:140px 132px minmax(0, 1fr) 200px 22px 175px;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-bottom:1px solid var(--line-1);
  transition:background .15s ease;
  position:relative;
}
.dl-row:last-child{border-bottom:none}
.dl-row:hover{background:rgba(255,255,255,0.55)}
.dl-row.is-resolved{opacity:.45}
.dl-row.is-overdue{background:rgba(255,237,232,0.42)}
.dl-row.is-overdue::before{
  content:""; position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background:linear-gradient(180deg, #E0635A, #C8413A);
}
.dl-row.is-today::before{
  content:""; position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background:var(--warn);
}

.dl-row__when{display:flex; flex-direction:column; gap:3px}
.dl-row__count{
  font-size:11.5px; font-weight:600;
  color:var(--ink-2);
}
.dl-row__count.is-overdue{
  display:inline-block;
  width:-moz-fit-content;
  width:fit-content;
  color:#FFF;
  background:linear-gradient(180deg, #E0635A, #C8413A);
  padding:3px 9px;
  border-radius:6px;
  font-weight:700;
  box-shadow:0 3px 8px -2px rgba(200,65,58,0.4);
}
.dl-row__count.is-today{color:var(--warn); font-weight:700}
.dl-row__date{font-size:10px; color:var(--ink-3); font-variant-numeric:tabular-nums}

.dl-row__kind{
  display:inline-flex; align-items:center; gap:5px;
  padding:4px 9px;
  border-radius:7px;
  background:color-mix(in oklab, var(--tone) 12%, transparent);
  color:var(--tone);
  font-size:10.5px; font-weight:600;
  letter-spacing:.005em;
  width:-moz-fit-content;
  width:fit-content;
}

.dl-row__main{min-width:0; display:flex; flex-direction:column; gap:3px}
.dl-row__title{
  font-size:14px; font-weight:600;
  color:var(--ink-1);
  letter-spacing:-.005em;
  line-height:1.3;
}
.dl-row__meta{display:flex; align-items:center; gap:7px; font-size:11px; color:var(--ink-3); flex-wrap:wrap}
.dl-row__client{color:var(--ink-2); font-weight:500}
.dot-sep{color:var(--ink-4)}
.dl-row__note{
  font-size:11px;
  color:var(--ink-3);
  line-height:1.4;
  margin-top:2px;
  font-style:italic;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.dl-row__risk{display:flex; flex-direction:column; gap:3px; text-align:right; align-items:flex-end}
.dl-row__amount{
  font-size:15px; font-weight:600;
  color:var(--brand-deep);
  letter-spacing:-.005em;
}
.dl-row.is-overdue .dl-row__amount{color:var(--danger)}
.dl-pill{
  display:inline-block;
  font-size:9.5px; font-weight:600;
  letter-spacing:.04em;
  padding:1px 7px;
  border-radius:99px;
  white-space:nowrap;
}
.dl-pill--penalty{
  background:rgba(200,65,58,0.13);
  color:var(--danger);
}
.dl-row__impact{font-size:10px; color:var(--ink-3); line-height:1.3}

.dl-row__actions{display:flex; gap:5px; align-items:center; justify-content:flex-end; flex-wrap:wrap}
.ghost-btn.dl-act{
  display:inline-flex; align-items:center; gap:4px;
  padding:5px 9px;
  border-radius:7px;
  background:rgba(255,255,255,0.6);
  border:1px solid var(--line-1);
  font-size:10.5px; font-weight:500;
  color:var(--ink-2);
  cursor:pointer;
  font-family:inherit;
  transition:all .15s ease;
}
.ghost-btn.dl-act:hover{background:rgba(255,255,255,0.95); color:var(--ink-1)}

.dl-resolve{
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 12px;
  border-radius:99px;
  font-size:10.5px; font-weight:600;
  background:linear-gradient(180deg, var(--brand-terra), #CC6645);
  color:#FFFBF8;
  border:none; cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.2), 0 3px 8px -2px rgba(224,120,86,0.35);
  font-family:inherit;
  transition:all .15s ease;
}
.dl-resolve:hover{transform:translateY(-1px)}
.dl-resolve.is-on{
  background:rgba(58,140,95,0.13);
  color:var(--ok);
  box-shadow:none;
}

.bt-id{
  font-weight:600; color:var(--brand-deep);
  font-variant-numeric:tabular-nums; letter-spacing:.02em;
  background:rgba(15,76,92,0.06); padding:1px 6px; border-radius:4px;
  text-decoration:none;
  font-size:10.5px;
}
.bt-id:hover{background:rgba(224,120,86,0.16); color:var(--brand-terra)}

.muted{color:var(--ink-4)}

/* RESPONSIVE */
@media (max-width:1400px){
  .dl-row{grid-template-columns:130px 120px minmax(0, 1fr) 160px 22px auto; gap:10px; padding:12px 14px}
  .dl-row__title{font-size:13px}
}
@media (max-width:1180px){
  .dl-row{grid-template-columns:120px minmax(0, 1fr) 160px auto; gap:10px}
  .dl-row__kind{display:none}
  .dl-row > .avatar{display:none}
}
@media (max-width:1024px){
  .page--dead{padding:14px}
  .btoolbar{position:relative; top:0}
  .dl-row{grid-template-columns:1fr; padding:12px 14px}
  .dl-row__risk{align-items:flex-start; text-align:left}
  .dl-row__actions{justify-content:flex-start}
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/tweaks.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === @maclay/styles/pages/tweaks.css === Tweaks-панель (глобальные настройки темы)
 *
 * Эталон: _design_3/app.jsx + tweaks-panel.jsx.
 * FAB-кнопка + плавающая панель.
 * Применяется на любой странице (authed)/layout.tsx.
 *
 * Tweaks → CSS-vars: --ui-accent (=--brand-terra), --bg-a/b/c, --glass-blur.
 * data-атрибуты: <html data-density data-caveat>.
 */

:root {
  --ui-accent: #D45F3A;
  --ui-base-font: 13px;
}

/* density */
html[data-density="compact"]      { --gap: 12px; }
html[data-density="comfortable"]  { --gap: 18px; }

/* Скрытие декоративных Caveat-подписей */
html[data-caveat="off"] .caveat,
html[data-caveat="off"] .caveat--h1 { display: none !important; }

/* ---- FAB ---- */
.twk-fab {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2147483645;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--glass-bg-strong);
  backdrop-filter: blur(var(--glass-blur)) saturate(160%);
  border: 1px solid var(--glass-bd);
  box-shadow: var(--shadow-card), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  color: var(--ink-2);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: transform 0.18s cubic-bezier(0.3, 0.7, 0.4, 1),
              box-shadow 0.18s, color 0.18s, background 0.18s;
}
.twk-fab:hover {
  transform: translateY(-2px);
  color: var(--ui-accent);
  box-shadow: 0 12px 30px rgba(15, 76, 92, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
.twk-fab[data-open="1"] {
  background: var(--ui-accent);
  color: #fff;
  border-color: var(--ui-accent);
}

/* ---- Панель ---- */
.twk-panel {
  position: fixed;
  z-index: 2147483646;
  width: 280px;
  max-height: calc(100vh - 32px);
  display: flex;
  flex-direction: column;
  background: var(--glass-bg-strong);
  color: var(--ink-1);
  backdrop-filter: blur(28px) saturate(160%);
  border: 1px solid var(--glass-bd);
  border-radius: var(--r-md);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset,
              0 12px 40px rgba(15, 76, 92, 0.22);
  font: 11.5px/1.4 var(--font-body, "Inter", system-ui, sans-serif);
  overflow: hidden;
  animation: twk-pop 0.18s cubic-bezier(0.3, 0.7, 0.4, 1);
}
@keyframes twk-pop {
  from {
    opacity: 0;
    transform: translateY(6px) scale(0.98);
  }
}

.twk-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 8px 10px 14px;
  cursor: move;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border-bottom: 1px solid var(--line-1);
}
.twk-hd b {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--ink-1);
}

.twk-x {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: transparent;
  color: var(--ink-3);
  width: 24px;
  height: 24px;
  border-radius: 6px;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.twk-x:hover {
  background: rgba(0, 0, 0, 0.06);
  color: var(--ink-1);
}

.twk-body {
  padding: 6px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.15) transparent;
}
.twk-body::-webkit-scrollbar { width: 8px; }
.twk-body::-webkit-scrollbar-track { background: transparent; margin: 2px; }
.twk-body::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  border: 2px solid transparent;
  background-clip: content-box;
}
.twk-body::-webkit-scrollbar-thumb:hover { background: rgba(0, 0, 0, 0.25); }

.twk-row {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.twk-row-h {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.twk-lbl {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  color: var(--ink-2);
}
.twk-lbl > span:first-child { font-weight: 500; }
.twk-val {
  color: var(--ink-3);
  font-variant-numeric: tabular-nums;
}

.twk-sect {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-3);
  padding: 8px 0 0;
}
.twk-sect:first-child { padding-top: 0; }

/* ---- Field (input/select) ---- */
.twk-field {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 28px;
  padding: 0 8px;
  border: 1px solid var(--line-2);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.7);
  color: var(--ink-1);
  font: inherit;
  outline: none;
  transition: border-color 0.15s, background 0.15s;
}
.twk-field:focus {
  border-color: var(--ui-accent);
  background: #fff;
}
select.twk-field {
  padding-right: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%236A8089' d='M0 0h10L5 6z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 8px center;
  cursor: pointer;
}

/* ---- Slider ---- */
.twk-slider {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 4px;
  margin: 6px 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.12);
  outline: none;
}
.twk-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}
.twk-slider::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}

/* ---- Toggle ---- */
.twk-toggle {
  position: relative;
  width: 32px;
  height: 18px;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.18);
  transition: background 0.15s;
  cursor: pointer;
  padding: 0;
}
.twk-toggle[data-on="1"] { background: var(--ui-accent); }
.twk-toggle i {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  transition: transform 0.15s;
}
.twk-toggle[data-on="1"] i { transform: translateX(14px); }

/* ---- Color chips ---- */
.twk-chips {
  display: flex;
  gap: 6px;
}
.twk-chip {
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  flex: 1;
  min-width: 0;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.06);
  transition: transform 0.12s cubic-bezier(0.3, 0.7, 0.4, 1), box-shadow 0.12s;
}
.twk-chip:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18), 0 4px 10px rgba(0, 0, 0, 0.12);
}
.twk-chip[data-on="1"] {
  box-shadow: 0 0 0 2px var(--ink-1), 0 2px 6px rgba(0, 0, 0, 0.18);
}
.twk-chip svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.3));
}

/* ---- Reset button ---- */
.twk-btn-reset {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 30px;
  margin-top: 4px;
  border: 1px solid var(--line-2);
  border-radius: 8px;
  background: transparent;
  color: var(--ink-2);
  font: inherit;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.twk-btn-reset:hover {
  background: rgba(212, 95, 58, 0.06);
  color: var(--ui-accent);
  border-color: var(--ui-accent);
}

/* ---- Печать: скрыть полностью ---- */
@media print {
  .twk-fab,
  .twk-panel { display: none !important; }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/assistant.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* AI-ассистент менеджеров — slide-over чат. Префикс .asst-. Glass-токены как в tweaks.css. */

.asst-fab {
  position: fixed;
  right: 70px; /* слева от шестерёнки tweaks (right:18 + 44 + 8) */
  bottom: 18px;
  z-index: 2147483644;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--glass-bg-strong);
  backdrop-filter: blur(var(--glass-blur)) saturate(160%);
  border: 1px solid var(--glass-bd);
  box-shadow: var(--shadow-card), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  color: var(--brand-deep-600);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: transform 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.asst-fab:hover {
  transform: translateY(-2px);
  color: var(--ui-accent);
  box-shadow: 0 12px 30px rgba(15, 76, 92, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
.asst-fab[data-open="1"] {
  background: var(--ui-accent);
  color: #fff;
  border-color: var(--ui-accent);
}

.asst-panel {
  position: fixed;
  right: 18px;
  bottom: 70px;
  z-index: 2147483646;
  width: 384px;
  height: 600px;
  max-height: calc(100vh - 100px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius-lg, 16px);
  background: var(--glass-bg-strong);
  backdrop-filter: blur(var(--glass-blur)) saturate(160%);
  border: 1px solid var(--glass-bd);
  box-shadow: var(--shadow-lg, 0 20px 50px rgba(15, 76, 92, 0.22)), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  animation: asst-in 0.18s ease;
}
@keyframes asst-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.asst-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid var(--glass-bd);
}
.asst-title { font-size: 14px; color: var(--brand-deep-700); }
.asst-iconbtn {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  border: none;
  background: transparent;
  color: var(--brand-deep-500, #5b7c86);
  cursor: pointer;
}
.asst-iconbtn:hover { background: rgba(15, 76, 92, 0.08); }

.asst-body {
  flex: 1;
  overflow-y: auto;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.asst-empty {
  margin: auto;
  text-align: center;
  font-size: 13px;
  line-height: 1.5;
  color: var(--brand-deep-500, #5b7c86);
  max-width: 240px;
}
.asst-msg {
  max-width: 86%;
  padding: 9px 12px;
  border-radius: 14px;
  font-size: 13.5px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
}
.asst-msg--user {
  align-self: flex-end;
  background: var(--ui-accent);
  color: #fff;
  border-bottom-right-radius: 4px;
}
.asst-msg--bot {
  align-self: flex-start;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--glass-bd);
  color: var(--brand-deep-700);
  border-bottom-left-radius: 4px;
}
.asst-typing { opacity: 0.65; font-style: italic; }
.asst-err {
  align-self: stretch;
  font-size: 12.5px;
  color: var(--color-error, #c0392b);
  background: rgba(192, 57, 43, 0.08);
  border-radius: 10px;
  padding: 8px 10px;
}

.asst-foot {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid var(--glass-bd);
}
.asst-input {
  flex: 1;
  resize: none;
  max-height: 110px;
  border: 1px solid var(--glass-bd);
  border-radius: 12px;
  padding: 9px 12px;
  font: inherit;
  font-size: 13.5px;
  line-height: 1.4;
  background: rgba(255, 255, 255, 0.7);
  color: var(--brand-deep-700);
  outline: none;
}
.asst-input:focus { border-color: var(--ui-accent); }
.asst-send {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: 50%;
  border: none;
  background: var(--ui-accent);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.asst-send:hover { transform: translateY(-1px); }
.asst-send:disabled { opacity: 0.45; cursor: not-allowed; transform: none; }

.asst-budget {
  font-size: 11px;
  text-align: center;
  padding: 6px 10px;
  color: var(--brand-deep-500, #5b7c86);
  border-top: 1px solid var(--glass-bd);
}

@media (max-width: 520px) {
  .asst-panel {
    width: calc(100vw - 24px);
    right: 12px;
    bottom: 70px;
    height: calc(100vh - 110px);
  }
  .asst-fab { right: 70px; }
}

.asst-actions {
  display: flex;
  gap: 4px;
  align-items: center;
}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!../../packages/styles/src/pages/test-search.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Test search — внутренний инструмент просмотра офферов агрегатора (sourcing).
   Префикс .tss-. Фильтр использует готовые .adm2-* ; здесь — грид и карточки. */

.tss-ext {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.tss-ext .adm2-filter { min-width: 150px; }

.tss-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  font-size: 13px;
  color: var(--brand-deep-500, #3a5a68);
}
.tss-bar b { color: var(--brand-deep-700, #16323d); }

.tss-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}

.tss-card {
  background: #fff;
  border: 1px solid rgba(8, 56, 74, 0.1);
  border-radius: var(--radius-lg, 14px);
  overflow: hidden;
  box-shadow: var(--shadow-sm, 0 1px 3px rgba(8, 56, 74, 0.06));
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.tss-card:hover {
  box-shadow: var(--shadow-md, 0 6px 18px rgba(8, 56, 74, 0.12));
  transform: translateY(-2px);
}

.tss-card__imgwrap {
  position: relative;
  aspect-ratio: 16 / 10;
  background: var(--brand-cream-200, #f1efe8);
}
.tss-card__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.tss-card__noimg {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-deep-300, #9db4bd);
}
.tss-card__stars {
  position: absolute;
  top: 8px;
  left: 8px;
  display: flex;
  gap: 1px;
  padding: 3px 6px;
  background: rgba(0, 0, 0, 0.55);
  border-radius: 999px;
  color: #ffce54;
}
.tss-card__src {
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  background: var(--brand-deep-600, #0f4c5c);
  color: #fff;
  border-radius: 999px;
  letter-spacing: 0.02em;
}

.tss-card__body {
  padding: 12px 13px 13px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  flex: 1;
}
.tss-card__title {
  font-size: 14.5px;
  font-weight: 650;
  line-height: 1.25;
  color: var(--brand-deep-700, #16323d);
}
.tss-card__type {
  font-size: 12px;
  color: var(--brand-deep-400, #6a8794);
}
.tss-card__rows {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 2px;
  padding-top: 8px;
  border-top: 1px solid rgba(8, 56, 74, 0.07);
}
.tss-card__row {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  color: var(--brand-deep-600, #2a4853);
}
.tss-card__row svg { color: var(--brand-deep-300, #9db4bd); flex-shrink: 0; }
.tss-card__foot {
  margin-top: auto;
  padding-top: 9px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.tss-card__price {
  font-size: 17px;
  font-weight: 750;
  color: var(--brand-terra-600, #c8623f);
  white-space: nowrap;
}
.tss-card__price span { font-size: 11px; font-weight: 500; color: var(--brand-deep-400, #6a8794); }
.tss-card__comm { font-size: 11px; color: var(--brand-deep-300, #9db4bd); }

.tss-state {
  padding: 48px 20px;
  text-align: center;
  color: var(--brand-deep-400, #6a8794);
  font-size: 14px;
}
.tss-spin {
  display: inline-block;
  width: 22px;
  height: 22px;
  border: 2.5px solid rgba(8, 56, 74, 0.15);
  border-top-color: var(--brand-terra-500, #e07856);
  border-radius: 50%;
  animation: tss-rot 0.7s linear infinite;
}
@keyframes tss-rot { to { transform: rotate(360deg); } }

/* Переключатель режима Отели/Экскурсии */
.tss-mode {
  display: inline-flex;
  gap: 4px;
  background: var(--brand-cream-200, #f1efe8);
  border-radius: 999px;
  padding: 3px;
  margin-bottom: 14px;
}
.tss-mode button {
  border: none;
  background: none;
  padding: 6px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: var(--brand-deep-400, #6a8794);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.tss-mode button.is-active {
  background: #fff;
  color: var(--brand-deep-700, #16323d);
  box-shadow: var(--shadow-sm, 0 1px 3px rgba(8, 56, 74, 0.08));
}
.tss-card__desc {
  font-size: 12px;
  line-height: 1.45;
  color: var(--brand-deep-500, #3a5a68);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./app/styles/legacy-public/01-home.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === legacy-public/01-home.css === строки 20-1104 исходного globals.css ===*/
/* Публичный сайт: ToursCalendarSlider, About, Services, Cruises, Contact, News */

/* =================== ToursCalendarSlider =================== */

.tcs-root {
  --tcs-card-w: 78vw;
}
@media (min-width: 480px) {
  .tcs-root { --tcs-card-w: 62vw; }
}
@media (min-width: 640px) {
  .tcs-root { --tcs-card-w: 38vw; }
}
@media (min-width: 900px) {
  .tcs-root { --tcs-card-w: 28vw; }
}
@media (min-width: 1180px) {
  .tcs-root { --tcs-card-w: 18.5vw; }
}
@media (min-width: 1440px) {
  .tcs-root { --tcs-card-w: 244px; }
}

.tcs-track {
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 24px;
  cursor: grab;
}
.tcs-track::-webkit-scrollbar { display: none; }
.tcs-track.tcs-dragging { cursor: grabbing; }

.tcs-card { perspective: 1200px; will-change: transform; }
.tcs-card-inner {
  transform-style: preserve-3d;
  transition: transform 600ms cubic-bezier(.2,.7,.2,1), box-shadow 600ms cubic-bezier(.2,.7,.2,1);
  will-change: transform;
  box-shadow: 0 14px 30px -16px rgba(15,76,92,.35), 0 6px 14px -6px rgba(0,0,0,.18);
}

.tcs-lift-2 { transform: translateZ(40px); }
.tcs-lift-3 { transform: translateZ(60px); }

.tcs-img { transition: transform 900ms cubic-bezier(.2,.7,.2,1), filter 600ms ease; }

.tcs-sheen {
  background: radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.45), transparent 55%);
}

.tcs-chip {
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.35);
}

.tcs-summary { transition: opacity 320ms ease, transform 520ms cubic-bezier(.2,.7,.2,1); }

.tcs-reveal { transform: translateY(110%); transition: transform 520ms cubic-bezier(.2,.7,.2,1); will-change: transform; }

.tcs-stagger > * { opacity: 0; transform: translateY(8px); transition: opacity 380ms ease, transform 380ms cubic-bezier(.2,.7,.2,1); }

.tcs-cta-arrow { transition: transform 300ms cubic-bezier(.2,.7,.2,1); }

/* Hover-эффекты только на устройствах с реальным курсором.
   На тач (мобилка/планшет) :hover залипает после первого тапа и
   summary исчезает навсегда — заворачиваем правила в @media (hover: hover). */
@media (hover: hover) {
  .tcs-card:hover .tcs-card-inner {
    box-shadow: 0 14px 30px -16px rgba(15,76,92,.35), 0 6px 14px -6px rgba(0,0,0,.18);
  }
  .tcs-card:hover .tcs-img { transform: scale(1.08); filter: saturate(1.1); }
  .tcs-card:hover .tcs-sheen { opacity: 1; }
  .tcs-card:hover .tcs-summary { opacity: 0; transform: translateY(-10px); }
  .tcs-card:hover .tcs-reveal { transform: translateY(0); }
  .tcs-card:hover .tcs-stagger > * { opacity: 1; transform: translateY(0); }
  .tcs-card:hover .tcs-stagger > *:nth-child(1) { transition-delay: 120ms; }
  .tcs-card:hover .tcs-stagger > *:nth-child(2) { transition-delay: 180ms; }
  .tcs-card:hover .tcs-stagger > *:nth-child(3) { transition-delay: 240ms; }
  .tcs-card:hover .tcs-stagger > *:nth-child(4) { transition-delay: 300ms; }
  .tcs-card:hover .tcs-stagger > *:nth-child(5) { transition-delay: 360ms; }
  .tcs-card:hover .tcs-cta-arrow { transform: translateX(6px); }
}

/* Тап по карточке (мобилка/любое устройство) — раскрыть панель с ценой.
   Зеркало hover, но БЕЗ @media(hover) — поэтому срабатывает на тач. */
.tcs-card.is-open .tcs-card-inner { box-shadow: 0 14px 30px -16px rgba(15,76,92,.35), 0 6px 14px -6px rgba(0,0,0,.18); }
.tcs-card.is-open .tcs-img { transform: scale(1.08); filter: saturate(1.1); }
.tcs-card.is-open .tcs-sheen { opacity: 1; }
.tcs-card.is-open .tcs-summary { opacity: 0; transform: translateY(-10px); }
.tcs-card.is-open .tcs-reveal { transform: translateY(0); }
.tcs-card.is-open .tcs-stagger > * { opacity: 1; transform: translateY(0); }
.tcs-card.is-open .tcs-stagger > *:nth-child(1) { transition-delay: 80ms; }
.tcs-card.is-open .tcs-stagger > *:nth-child(2) { transition-delay: 140ms; }
.tcs-card.is-open .tcs-stagger > *:nth-child(3) { transition-delay: 200ms; }
.tcs-card.is-open .tcs-stagger > *:nth-child(4) { transition-delay: 260ms; }
.tcs-card.is-open .tcs-stagger > *:nth-child(5) { transition-delay: 320ms; }
.tcs-card.is-open .tcs-cta-arrow { transform: translateX(6px); }

@keyframes tcs-heart-pop {
  0% { transform: scale(1); }
  40% { transform: scale(1.35); }
  100% { transform: scale(1); }
}
.tcs-heart-pop { animation: tcs-heart-pop 420ms cubic-bezier(.2,.7,.2,1); }

.tcs-vertical { writing-mode: vertical-rl; transform: rotate(180deg); letter-spacing: 0.6em; }

.tcs-arrow {
  transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease;
  box-shadow: 0 14px 30px -10px rgba(15,76,92,.35), 0 6px 12px -6px rgba(0,0,0,.15);
}
@media (hover: hover) {
  .tcs-arrow:hover { transform: scale(1.06); }
  .tcs-arrow:active { transform: scale(0.96); }
  /* Абсолютно-позиционированные стрелки в tours-slider центруются через
     -translate-y-1/2 — сохраняем эту центровку при hover/active. */
  .tcs-arrow-floating:hover { transform: translateY(-50%) scale(1.06); }
  .tcs-arrow-floating:active { transform: translateY(-50%) scale(0.96); }
}

.tcs-dot { transition: width 320ms cubic-bezier(.2,.7,.2,1), background 320ms ease; }

@media (prefers-reduced-motion: reduce) {
  .tcs-card-inner, .tcs-img, .tcs-reveal, .tcs-summary, .tcs-arrow, .tcs-stagger > * {
    transition: none !important;
    animation: none !important;
  }
}

/* =================== AboutSection =================== */

/* Маркер-подсветка под "незабываемый отдых" */

/* Marquee — бесконечная горизонтальная лента полароидов */
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* Полароид-тильт под разные углы */

@media (hover: hover) {
}

/* CTA pill — лого и стрелка плавно меняются на hover */
.cta-pill {
  --pill-w: 220px;
  --pill-h: 56px;
  --circle-d: 44px;
  --circle-pad: 6px;
  position: relative;
  width: var(--pill-w);
  height: var(--pill-h);
  border-radius: 9999px;
  background: var(--brand-cream-200);
  border: 1px solid rgba(15, 76, 92, 0.18);
  overflow: hidden;
  display: inline-block;
  transition: background 320ms ease, border-color 320ms ease, box-shadow 320ms ease, transform 220ms ease;
}
.cta-pill .cta-label {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  text-align: left;
  padding-left: 24px;
  padding-right: calc(var(--circle-d) + var(--circle-pad) + 16px);
  color: var(--brand-deep-600);
  font-weight: 500;
  font-size: 15px;
  transition: color 320ms ease, padding 320ms ease;
  pointer-events: none;
  white-space: nowrap;
}
.cta-pill .cta-circle {
  position: absolute;
  top: 50%;
  right: var(--circle-pad);
  width: var(--circle-d);
  height: var(--circle-d);
  border-radius: 9999px;
  background: var(--brand-deep-600);
  color: var(--brand-cream-200);
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(0, -50%);
  transition: transform 480ms cubic-bezier(.2,.7,.2,1), background 320ms ease;
}
.cta-pill .cta-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 280ms ease, transform 380ms cubic-bezier(.2,.7,.2,1);
}
.cta-pill .cta-icon-logo {
  opacity: 0;
  transform: scale(.5) rotate(-90deg);
}
@media (hover: hover) {
  .cta-pill:hover {
    background: var(--brand-terra-400);
    border-color: var(--brand-terra-400);
    box-shadow: 0 18px 30px -16px rgba(224, 120, 86, 0.55);
    transform: translateY(-2px);
  }
  .cta-pill:hover .cta-label {
    color: var(--brand-cream-200);
    padding-left: calc(var(--circle-d) + var(--circle-pad) + 16px);
    padding-right: 24px;
  }
  .cta-pill:hover .cta-circle {
    transform: translate(calc(-1 * (var(--pill-w) - var(--circle-d) - var(--circle-pad) * 2)), -50%);
    background: var(--brand-cream-200);
    color: var(--brand-deep-600);
  }
  .cta-pill:hover .cta-icon-arrow { opacity: 0; transform: scale(.5) rotate(45deg); }
  .cta-pill:hover .cta-icon-logo { opacity: 1; transform: scale(1) rotate(0); }
}

/* Touch-устройства: hover нет — тактильный отклик на :active (срабатывает на
   тап). Для .cta-pill зеркалим ту же hover-анимацию, остальным — быстрый press.
   Лежит рядом с hover-источником, без !important. */
@media (hover: none) {
  .cta-pill:active {
    background: var(--brand-terra-400);
    border-color: var(--brand-terra-400);
    box-shadow: 0 14px 26px -16px rgba(224, 120, 86, 0.55);
    transform: scale(.97);
  }
  .cta-pill:active .cta-label {
    color: var(--brand-cream-200);
    padding-left: calc(var(--circle-d) + var(--circle-pad) + 16px);
    padding-right: 24px;
  }
  .cta-pill:active .cta-circle {
    transform: translate(calc(-1 * (var(--pill-w) - var(--circle-d) - var(--circle-pad) * 2)), -50%);
    background: var(--brand-cream-200);
    color: var(--brand-deep-600);
  }
  .cta-pill:active .cta-icon-arrow { opacity: 0; transform: scale(.5) rotate(45deg); }
  .cta-pill:active .cta-icon-logo { opacity: 1; transform: scale(1) rotate(0); }

  button:not(:disabled):not(.cta-pill):active,
  [role="tab"]:active,
  .news-readmore:active,
  .news-filter-chip:active,
  .chip:active,
  .side-cat:active,
  .side-all:active,
  .back-link:active,
  .share-btn:active {
    transform: scale(.96);
    transition: transform .08s ease;
  }
  .news-readmore:active { color: var(--brand-terra-400); }
  .news-filter-chip:active,
  .chip:active,
  .side-cat:active { border-color: rgba(224,120,86,.5); color: var(--brand-terra-600); }
  .share-btn:active { background: var(--brand-deep-600); color: var(--brand-cream-200); border-color: var(--brand-deep-600); }

  a, button, [role="button"], [role="tab"], .cta-pill {
    -webkit-tap-highlight-color: rgba(224, 120, 86, 0.18);
  }
}

/* Stat numbers — табулярные цифры */

/* Тонкая dot-линия под счётчиками */
@keyframes dot-drift {
  from { background-position: 0 0; }
  to   { background-position: 24px 0; }
}
.dot-line {
  background-image: radial-gradient(circle, rgba(15, 76, 92, 0.35) 1.5px, transparent 1.5px);
  background-size: 12px 12px;
  background-repeat: repeat-x;
  background-position: 0 50%;
  height: 12px;
  animation: dot-drift 3s linear infinite;
}

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


/* [ServicesSection / NewsSection удалены 2026-05-26 — не используются в admin] */

/* =================== CruisesSection =================== */

.crs-track {
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 0;
  cursor: grab;
}
.crs-track::-webkit-scrollbar { display: none; }
.crs-track.dragging { cursor: grabbing; }

.crs-card {
  --w: 78vw;
  flex: 0 0 auto;
  width: var(--w);
  scroll-snap-align: start;
  perspective: 1200px;
}
@media (min-width: 480px) { .crs-card { --w: 60vw; } }
@media (min-width: 640px) { .crs-card { --w: 38vw; } }
@media (min-width: 900px) { .crs-card { --w: 28vw; } }
@media (min-width: 1180px) { .crs-card { --w: 21vw; } }
@media (min-width: 1440px) { .crs-card { --w: 280px; } }

.crs-card-inner {
  position: relative;
  width: 100%;
  height: calc(var(--w) * 4.4 / 3);
  border-radius: 22px;
  overflow: hidden;
  background: var(--brand-deep-800);
  transform-style: preserve-3d;
  transition: transform 600ms cubic-bezier(.2,.7,.2,1), box-shadow 600ms cubic-bezier(.2,.7,.2,1);
  box-shadow: 0 14px 30px -16px rgba(15,76,92,.35), 0 6px 14px -6px rgba(0,0,0,.18);
  will-change: transform;
}

.crs-img { transition: transform 1100ms cubic-bezier(.2,.7,.2,1), filter 600ms ease; }

/* Stereo poster — 3 параллакс-слоя на каждой карточке */
.crs-stereo {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  pointer-events: none;
}
.crs-stereo-layer {
  position: absolute;
  inset: 0;
  will-change: transform;
  transition: transform 480ms cubic-bezier(.2,.7,.2,1);
}
.crs-stereo-far {
  background-size: cover;
  background-position: center;
  filter: blur(8px) saturate(0.85) brightness(0.92);
  transform: translate3d(calc(var(--px,0) * -8px), calc(var(--py,0) * -6px), -40px) scale(1.08);
}
.crs-stereo-mid {
  background-size: cover;
  background-position: center;
  transform: translate3d(calc(var(--px,0) * 4px), calc(var(--py,0) * 3px), 0) scale(1.02);
}
.crs-stereo-near {
  background:
    radial-gradient(120% 80% at 50% 110%, rgba(6,43,54,0.55) 0%, rgba(6,43,54,0) 55%),
    radial-gradient(140% 100% at 50% -20%, rgba(180,220,235,0.18) 0%, rgba(180,220,235,0) 50%),
    linear-gradient(120deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0) 35%);
  transform: translate3d(calc(var(--px,0) * 16px), calc(var(--py,0) * 12px), 28px);
}

.crs-nights-chip {
  will-change: transform;
  transform: translate3d(calc(var(--px,0) * 20px), calc(var(--py,0) * 14px), 50px);
  transition: transform 480ms cubic-bezier(.2,.7,.2,1), background 320ms ease;
  box-shadow: 0 8px 18px -8px rgba(6,43,54,0.55);
}

.crs-sheen {
  background: radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.4), transparent 55%);
  mix-blend-mode: overlay;
  opacity: 0;
  transition: opacity 500ms ease;
}

/* crs-lift-2/3 удалены — мешали кликам через 3D-вложенность.
   3D-эффект остаётся за счёт stereo-слоёв на --px/--py. */

.crs-chip {
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.35);
  color: var(--brand-cream-200);
}

.crs-summary {
  transition: opacity 320ms ease, transform 520ms cubic-bezier(.2,.7,.2,1);
  /* Декоративный текст. Никогда не должен ловить клики — иначе перехватывает
     клик у reveal-панели когда они в одной зоне. */
  pointer-events: none;
}

.crs-reveal {
  transform: translateY(110%);
  transition: transform 520ms cubic-bezier(.2,.7,.2,1);
  will-change: transform;
  position: absolute;
  z-index: 10;
  pointer-events: auto !important;
}

.crs-reveal a,
.crs-reveal button {
  position: relative;
  z-index: 5;
  pointer-events: auto !important;
  cursor: pointer;
}

.crs-stagger > * {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 380ms ease, transform 380ms cubic-bezier(.2,.7,.2,1);
}

.crs-cta-arrow { transition: transform 300ms cubic-bezier(.2,.7,.2,1); }

.crs-dot { transition: width 320ms cubic-bezier(.2,.7,.2,1), background 320ms ease; }

@media (hover: hover) {
  .crs-card:hover .crs-card-inner {
    /* Никакого translateY/rotate — любое физическое смещение карточки на hover
       создаёт mouseleave/mouseenter цикл на границе и кнопка «Смотреть круиз»
       выскальзывает из-под курсора. Эффект подъёма передаём через тень. */
    box-shadow: 0 14px 30px -16px rgba(15,76,92,.35), 0 6px 14px -6px rgba(0,0,0,.18);
  }
  .crs-card:hover .crs-img { transform: scale(1.1); filter: saturate(1.15) brightness(1.05); }
  .crs-card:hover .crs-sheen { opacity: 1; }
  .crs-card:hover .crs-nights-chip {
    background: rgba(250,250,247,0.95);
    color: var(--brand-deep-600);
  }
  .crs-card:hover .crs-summary {
    opacity: 0;
    transform: translateY(-10px);
  }
  .crs-card:hover .crs-reveal { transform: translateY(0); }
  .crs-card:hover .crs-stagger > * { opacity: 1; transform: translateY(0); }
  .crs-card:hover .crs-stagger > *:nth-child(1) { transition-delay: 120ms; }
  .crs-card:hover .crs-stagger > *:nth-child(2) { transition-delay: 180ms; }
  .crs-card:hover .crs-stagger > *:nth-child(3) { transition-delay: 240ms; }
  .crs-card:hover .crs-stagger > *:nth-child(4) { transition-delay: 300ms; }
  .crs-card:hover .crs-stagger > *:nth-child(5) { transition-delay: 360ms; }
  .crs-card:hover .crs-cta-arrow { transform: translateX(6px); }
}

/* Тап по карточке круиза — раскрыть панель (тач, без @media hover). */
.crs-card.is-open .crs-card-inner { box-shadow: 0 14px 30px -16px rgba(15,76,92,.35), 0 6px 14px -6px rgba(0,0,0,.18); }
.crs-card.is-open .crs-img { transform: scale(1.1); filter: saturate(1.15) brightness(1.05); }
.crs-card.is-open .crs-sheen { opacity: 1; }
.crs-card.is-open .crs-nights-chip { background: rgba(250,250,247,0.95); color: var(--brand-deep-600); }
.crs-card.is-open .crs-summary { opacity: 0; transform: translateY(-10px); }
.crs-card.is-open .crs-reveal { transform: translateY(0); }
.crs-card.is-open .crs-stagger > * { opacity: 1; transform: translateY(0); }
.crs-card.is-open .crs-stagger > *:nth-child(1) { transition-delay: 80ms; }
.crs-card.is-open .crs-stagger > *:nth-child(2) { transition-delay: 140ms; }
.crs-card.is-open .crs-stagger > *:nth-child(3) { transition-delay: 200ms; }
.crs-card.is-open .crs-stagger > *:nth-child(4) { transition-delay: 260ms; }
.crs-card.is-open .crs-stagger > *:nth-child(5) { transition-delay: 320ms; }
.crs-card.is-open .crs-cta-arrow { transform: translateX(6px); }

/* arrow-btn — для стрелок круиз-слайдера */
.arrow-btn {
  transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease;
  box-shadow: 0 14px 30px -10px rgba(15,76,92,.35), 0 6px 12px -6px rgba(0,0,0,.15);
}
.arrow-btn:disabled { opacity: 0.4; pointer-events: none; }
@media (hover: hover) {
  .arrow-btn:hover { transform: translateY(-50%) scale(1.06); }
  .arrow-btn:active { transform: translateY(-50%) scale(0.96); }
}

/* Parallax horizon */
@keyframes cloud-drift {
  from { background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0; }
  to   { background-position: -300px 0, -300px 0, -300px 0, -300px 0, -300px 0, -300px 0; }
}

/* Liquid water */
@keyframes wave-slide {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

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

/* =================== ContactManagerSection =================== */

.cm-section {
  position: relative;
  /* Первый слой — grain-сетка (как .grain::before на остальном сайте), ниже —
     радиальные пятна и базовый gradient cream → sky → cream. */
  background:
    radial-gradient(rgba(15,76,92,0.04) 1px, transparent 1px) 0 0 / 3px 3px,
    radial-gradient(900px 600px at 85% 40%, rgba(180,220,235,0.55) 0%, rgba(180,220,235,0) 60%),
    radial-gradient(700px 500px at 15% 80%, rgba(232,147,121,0.10) 0%, rgba(232,147,121,0) 60%),
    linear-gradient(to bottom, var(--brand-cream-200) 0%, #EAF4F7 30%, #EAF4F7 68%, var(--brand-cream-200) 100%);
  overflow: hidden;
}
/* Длинные fade-маски сверху и снизу — секция плавно «появляется» из cream-фона
   и так же плавно растворяется обратно. Стык с соседними блоками не резкий. */
.cm-section::before,
.cm-section::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 200px;
  pointer-events: none;
  z-index: 1;
}
.cm-section::before {
  top: 0;
  /* Сетка-grain (верхний слой) поверх cream-fade — иначе fade-маска
     закрывала grain в 200px зоне сверху и краё «лысеет». */
  background:
    radial-gradient(rgba(15,76,92,0.04) 1px, transparent 1px) 0 0 / 3px 3px,
    linear-gradient(to bottom, var(--brand-cream-200) 0%, rgba(250,250,247,0.6) 50%, rgba(250,250,247,0) 100%);
}
.cm-section::after {
  bottom: 0;
  background:
    radial-gradient(rgba(15,76,92,0.04) 1px, transparent 1px) 0 0 / 3px 3px,
    linear-gradient(to top, var(--brand-cream-200) 0%, rgba(250,250,247,0.6) 50%, rgba(250,250,247,0) 100%);
}

.plane-stage {
  position: absolute;
  top: 50%;
  right: 2%;
  width: min(860px, 82vw);
  aspect-ratio: 1 / 1;
  transform: translateY(-50%);
  transform-style: preserve-3d;
  perspective: 1400px;
  pointer-events: none;
  z-index: 1;
}
.plane-wrap {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  transition: transform 600ms cubic-bezier(.2,.7,.2,1);
  animation: plane-idle 5.83s ease-in-out infinite;
}
@keyframes plane-idle {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-8deg); }
  50%      { transform: translate3d(0, -20.4px, 0) rotate(-6.56deg); }
}
.plane-layer {
  position: absolute;
  inset: 0;
  will-change: transform;
  transition: transform 600ms cubic-bezier(.2,.7,.2,1);
}
.plane-shadow {
  transform: translate3d(calc(var(--px,0) * -10px), calc(var(--py,0) * -8px + 30px), -80px) scale(1.02);
  filter: blur(28px);
  opacity: 0.55;
}
.plane-back {
  transform: translate3d(calc(var(--px,0) * -16px), calc(var(--py,0) * -10px), -30px);
}
.plane-body {
  transform: translate3d(calc(var(--px,0) * 8px), calc(var(--py,0) * 6px), 0);
}
.plane-highlight {
  transform: translate3d(calc(var(--px,0) * 22px), calc(var(--py,0) * 16px), 50px);
  mix-blend-mode: screen;
  opacity: 0.85;
}
.plane-window {
  transform: translate3d(calc(var(--px,0) * 14px), calc(var(--py,0) * 10px), 30px);
}

.cm-cloud {
  position: absolute;
  border-radius: 9999px;
  background: rgba(255,255,255,0.85);
  filter: blur(14px);
  will-change: transform;
  animation: cm-cloud-drift linear infinite;
}
@keyframes cm-cloud-drift {
  from { transform: translateX(0); }
  to   { transform: translateX(-120px); }
}

.cm-phone-field {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 380px;
  height: 60px;
  padding: 0 22px;
  border-radius: 9999px;
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(15,76,92,0.18);
  transition: border-color 280ms ease, box-shadow 280ms ease, background 280ms ease;
}
.cm-phone-field:focus-within {
  border-color: var(--brand-terra-400);
  background: #FFFFFF;
  box-shadow: 0 0 0 4px rgba(224,120,86,0.12), 0 12px 28px -16px rgba(15,76,92,0.25);
}
.cm-phone-field input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-size: 15px;
  color: var(--brand-deep-600);
  font-weight: 500;
}
.cm-phone-field input::-moz-placeholder {
  color: rgba(15,76,92,0.45);
  font-weight: 400;
}
.cm-phone-field input::placeholder {
  color: rgba(15,76,92,0.45);
  font-weight: 400;
}

.cm-cta-pill {
  --pill-w: 220px;
  --pill-h: 60px;
  --circle-d: 46px;
  --circle-pad: 7px;
  position: relative;
  width: var(--pill-w);
  height: var(--pill-h);
  border-radius: 9999px;
  background: #0A3744;
  border: 1px solid #0A3744;
  overflow: hidden;
  display: inline-block;
  cursor: pointer;
  transition: background 320ms ease, border-color 320ms ease, box-shadow 320ms ease, transform 220ms ease;
}
.cm-cta-label {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  text-align: left;
  padding-left: 28px;
  padding-right: calc(var(--circle-d) + var(--circle-pad) + 16px);
  color: var(--brand-cream-200);
  font-weight: 500;
  font-size: 15px;
  transition: color 320ms ease, padding 320ms ease;
  pointer-events: none;
  white-space: nowrap;
}
.cm-cta-circle {
  position: absolute;
  top: 50%;
  right: var(--circle-pad);
  width: var(--circle-d);
  height: var(--circle-d);
  border-radius: 9999px;
  background: var(--brand-terra-400);
  color: var(--brand-cream-200);
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(0, -50%);
  transition: transform 480ms cubic-bezier(.2,.7,.2,1), background 320ms ease;
}
.cm-cta-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 280ms ease, transform 380ms cubic-bezier(.2,.7,.2,1);
}
.cm-cta-icon-logo {
  opacity: 0;
  transform: scale(.5) rotate(-90deg);
}
@media (hover: hover) {
  .cm-cta-pill:hover {
    background: var(--brand-terra-400);
    border-color: var(--brand-terra-400);
    box-shadow: 0 18px 30px -16px rgba(224,120,86,.55);
    transform: translateY(-2px);
  }
  .cm-cta-pill:hover .cm-cta-label {
    color: var(--brand-cream-200);
    padding-left: calc(var(--circle-d) + var(--circle-pad) + 16px);
    padding-right: 28px;
  }
  .cm-cta-pill:hover .cm-cta-circle {
    transform: translate(calc(-1 * (var(--pill-w) - var(--circle-d) - var(--circle-pad) * 2)), -50%);
    background: var(--brand-cream-200);
    color: var(--brand-terra-400);
  }
  .cm-cta-pill:hover .cm-cta-icon-arrow { opacity: 0; transform: scale(.5) rotate(45deg); }
  .cm-cta-pill:hover .cm-cta-icon-logo  { opacity: 1; transform: scale(1) rotate(0); }
}

.cm-link-accent {
  color: var(--brand-terra-400);
  border-bottom: 1px solid rgba(224,120,86,0.4);
  transition: border-color 220ms ease, color 220ms ease;
}
.cm-link-accent:hover {
  color: var(--brand-terra-600);
  border-bottom-color: var(--brand-terra-600);
}

.cm-num-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(15,76,92,0.55);
  font-weight: 600;
}
.cm-num-dot {
  width: 28px;
  height: 1px;
  background: rgba(15,76,92,0.35);
}

.cm-ch-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 9999px;
  background: rgba(255,255,255,0.8);
  border: 1px solid rgba(15,76,92,0.12);
  font-size: 12px;
  color: var(--brand-deep-600);
  transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
  cursor: pointer;
}
.cm-ch-chip svg { color: var(--brand-terra-400); }
@media (hover: hover) {
  .cm-ch-chip:hover {
    transform: translateY(-2px);
    border-color: rgba(224,120,86,0.45);
    background: #FFFFFF;
  }
}

.cm-av-stack {
  display: inline-flex;
}
.cm-av-stack > * {
  width: 36px;
  height: 36px;
  border-radius: 9999px;
  border: 2px solid var(--brand-cream-200);
  -o-object-fit: cover;
     object-fit: cover;
  margin-left: -10px;
}
.cm-av-stack > *:first-child {
  margin-left: 0;
}

@media (prefers-reduced-motion: reduce) {
  .plane-wrap, .cm-cloud {
    animation: none !important;
  }
}


/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./app/styles/legacy-public/02-tours-reviews.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === legacy-public/02-tours-reviews.css === строки 1105-1610 === */
/* Публичный сайт: Tours hero/single/catalog, /reviews */
/* =================== Tours page hero =================== */

.tours-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (min-width: 768px) {
  .tours-hero {
    min-height: 480px;
  }
}
@media (min-width: 1024px) {
  .tours-hero {
    min-height: 540px;
  }
}
.tours-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
}
.tours-hero-img-fade {
  transition: opacity 1500ms ease-in-out;
}
.tours-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(6,43,54,0.55) 0%, rgba(6,43,54,0.65) 100%);
}


/* [IndividualPickup / TourGallery / /reviews / reviews-модалка удалены 2026-05-26] */

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./app/styles/legacy-public/04-blog-team-catalog.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === legacy-public/04-blog-team-catalog.css === строки 2773-3624 === */
/* Публичный сайт: /blog, /contact, /news, Team, Tour catalog */
/* =================== /blog =================== */

.blog-cat-chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border-radius: 9999px;
  border: 1px solid rgba(15, 76, 92, 0.12);
  background: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  font-weight: 500;
  color: rgba(15, 76, 92, 0.7);
  transition: all 240ms ease;
}
.blog-cat-chip:hover {
  border-color: rgba(15, 76, 92, 0.35);
  color: var(--brand-deep-600);
}
.blog-cat-chip.is-active {
  background: var(--brand-deep-600);
  color: var(--brand-cream-200);
  border-color: var(--brand-deep-600);
}

.blog-card {
  position: relative;
  transition: transform 480ms cubic-bezier(.2,.7,.2,1);
}
.blog-card-cover {
  position: relative;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  border-radius: 20px;
  background: var(--brand-deep-800);
}
.blog-card-cover img {
  transition: transform 1100ms cubic-bezier(.2,.7,.2,1), filter 600ms ease;
}
.blog-card-cover-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6,43,54,0.35) 0%, rgba(6,43,54,0) 35%, rgba(6,43,54,0) 60%, rgba(6,43,54,0.55) 100%);
  pointer-events: none;
}
.blog-card-cat {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--brand-deep-600);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
}
@media (hover: hover) {
  .blog-card:hover .blog-card-cover img {
    transform: scale(1.08);
    filter: saturate(1.1);
  }
}


/* [/contact / /news / Team list+detail / About interview / Tours catalog удалены 2026-05-26] */

/* =================== Tour single page chip =================== */
.tour-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 12px;
  border-radius: 9999px;
  background: rgba(15, 76, 92, 0.06);
  font-weight: 500;
  color: rgba(15, 76, 92, 0.75);
}


/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!../../node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./app/styles/06-login.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* === styles/06-login.css === Login форма admin (.alg-* Akvarel split-screen) === */
/* Admin: форма входа на /login (.alg-*) */
.alg-shell {
  position: fixed;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #f5f6f8;
  font-family: var(--font-inter), -apple-system, sans-serif;
  color: #20384a;
}
@media (max-width: 900px) { .alg-shell { grid-template-columns: 1fr; } }

.alg-left {
  position: relative;
  background: #1a3850;
  overflow: hidden;
  border-radius: 0 28px 28px 0;
}
@media (max-width: 900px) { .alg-left { display: none; } }
.alg-art { position: absolute; inset: 0; }
.alg-art-svg { width: 100%; height: 100%; display: block; }

.alg-brand {
  position: absolute;
  top: 28px;
  left: 28px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #f4ead5;
  z-index: 2;
}
.alg-brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.95);
  color: #1a3850;
  font-family: var(--font-playfair), serif;
  font-weight: 700;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}
.alg-brand-text { display: grid; line-height: 1.15; }
.alg-brand-name {
  font-family: var(--font-playfair), serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.alg-brand-sub {
  font-size: 10px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(244, 234, 213, 0.7);
}

.alg-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 40px 60px;
  background: #fff;
  position: relative;
}
@media (max-width: 900px) { .alg-right { padding: 32px 24px; } }
.alg-form-wrap { width: 100%; max-width: 360px; }
.alg-h1 {
  font-family: var(--font-playfair), serif;
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 8px;
  color: #1a3850;
}
.alg-sub {
  font-size: 13px;
  color: rgba(32, 56, 74, 0.6);
  margin: 0 0 32px;
}
.alg-form { display: grid; gap: 18px; }
.alg-field { display: grid; gap: 6px; }
.alg-label {
  font-size: 12px;
  color: rgba(32, 56, 74, 0.7);
  font-weight: 500;
}
.alg-field input {
  padding: 12px 14px;
  background: #f7f8fa;
  border: 1px solid #e3e6eb;
  border-radius: 8px;
  font-size: 14px;
  color: #1a3850;
  outline: none;
  transition: border-color 160ms, background 160ms;
  font-family: inherit;
}
.alg-field input:focus { border-color: #2b6cb0; background: #fff; }

.alg-pwd-wrap { position: relative; }
.alg-pwd-wrap input { width: 100%; padding-right: 38px; }
.alg-pwd-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  color: rgba(32, 56, 74, 0.5);
  border-radius: 6px;
}
.alg-pwd-toggle:hover { color: #1a3850; background: rgba(32, 56, 74, 0.06); }

.alg-err {
  margin: 0;
  padding: 9px 12px;
  background: #fdf0ed;
  border: 1px solid #f5c4ba;
  color: #b3573e;
  border-radius: 8px;
  font-size: 12.5px;
}
.alg-submit {
  margin-top: 8px;
  padding: 12px 20px;
  background: #2b6cb0;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background 180ms, transform 180ms;
  font-family: inherit;
}
.alg-submit:hover:not(:disabled) { background: #225491; }
.alg-submit:disabled { opacity: 0.55; cursor: wait; }

.alg-foot {
  position: absolute;
  bottom: 24px;
  font-size: 11px;
  color: rgba(32, 56, 74, 0.4);
  margin: 0;
  text-align: center;
}

/* === SHELL (adm2-*) — Akvarel-стиль === */
body.adm-body {
  background: #f5f6f8;
  color: #20384a;
  margin: 0;
  font-family: var(--font-inter), -apple-system, sans-serif;
  min-height: 100vh;
}


