:root {
    /*-- NEUTRAL -----------------------------------------------*/
    /* neutral/cool/… */
    --ciaColourNeutralCool0: rgba(255,255,255,1.00);
    --ciaColourNeutralCool50: rgba(247,249,251,1.00);
    --ciaColourNeutralCool100: rgba(235,238,241,1.00);
    --ciaColourNeutralCool200: rgba(218,224,230,1.00);
    --ciaColourNeutralCool300: rgba(196,206,215,1.00);
    --ciaColourNeutralCool400: rgba(166,181,195,1.00);
    --ciaColourNeutralCool500: rgba(131,144,156,1.00);
    --ciaColourNeutralCool600: rgba(106,116,126,1.00);
    --ciaColourNeutralCool700: rgba(80,88,96,1.00);
    --ciaColourNeutralCool800: rgba(55,61,67,1.00);
    --ciaColourNeutralCool900: rgba(33,37,40,1.00);
    --ciaColourNeutralCool950: rgba(24,27,30,1.00);
    --ciaColourNeutralCool1000: rgba(0,8,16,1.00);

    /* neutral/warm/… */
    --ciaColourNeutralWarm0: rgba(255,255,255,1.00);
    --ciaColourNeutralWarm50: rgba(244,244,244,1.00);
    --ciaColourNeutralWarm100: rgba(228,228,228,1.00);
    --ciaColourNeutralWarm200: rgba(217,217,217,1.00);
    --ciaColourNeutralWarm300: rgba(187,187,187,1.00);
    --ciaColourNeutralWarm400: rgba(158,158,158,1.00);
    --ciaColourNeutralWarm500: rgba(130,130,130,1.00);
    --ciaColourNeutralWarm600: rgba(105,105,105,1.00);
    --ciaColourNeutralWarm700: rgba(82,82,82,1.00);
    --ciaColourNeutralWarm800: rgba(59,59,59,1.00);
    --ciaColourNeutralWarm900: rgba(38,38,38,1.00);
    --ciaColourNeutralWarm950: rgba(22,22,22,1.00);
    --ciaColourNeutralWarm1000: rgba(0,0,0,1.00);

    /*-- UTILITY -----------------------------------------------*/
    /* utility/ai/… */
    --ciaColourUtilityAi100: rgba(248,245,255,1.00);
    --ciaColourUtilityAi200: rgba(234,226,255,1.00);
    --ciaColourUtilityAi300: rgba(209,189,255,1.00);
    --ciaColourUtilityAi400: rgba(171,123,255,1.00);
    --ciaColourUtilityAi500: rgba(151,71,255,1.00);
    --ciaColourUtilityAi600: rgba(132,52,237,1.00);
    --ciaColourUtilityAi700: rgba(109,26,201,1.00);
    --ciaColourUtilityAi800: rgba(84,10,157,1.00);
    --ciaColourUtilityAi900: rgba(59,0,113,1.00);

    /* utility/blue/… */
    --ciaColourUtilityBlue100: rgba(246,250,255,1.00);
    --ciaColourUtilityBlue200: rgba(228,239,255,1.00);
    --ciaColourUtilityBlue300: rgba(172,210,255,1.00);
    --ciaColourUtilityBlue400: rgba(100,183,255,1.00);
    --ciaColourUtilityBlue500: rgba(0,154,234,1.00);
    --ciaColourUtilityBlue600: rgba(4,113,175,1.00);
    --ciaColourUtilityBlue700: rgba(10,94,144,1.00);
    --ciaColourUtilityBlue800: rgba(7,68,105,1.00);
    --ciaColourUtilityBlue900: rgba(4,43,69,1.00);

    /* utility/green/… */
    --ciaColourUtilityGreen100: rgba(241,252,245,1.00);
    --ciaColourUtilityGreen200: rgba(221,249,231,1.00);
    --ciaColourUtilityGreen300: rgba(147,231,183,1.00);
    --ciaColourUtilityGreen400: rgba(100,206,150,1.00);
    --ciaColourUtilityGreen500: rgba(44,166,109,1.00);
    --ciaColourUtilityGreen600: rgba(25,126,79,1.00);
    --ciaColourUtilityGreen700: rgba(19,102,64,1.00);
    --ciaColourUtilityGreen800: rgba(10,74,45,1.00);
    --ciaColourUtilityGreen900: rgba(3,47,27,1.00);

    /* utility/indigo/… */
    --ciaColourUtilityIndigo100: rgba(245,246,253,1.00);
    --ciaColourUtilityIndigo200: rgba(225,229,249,1.00);
    --ciaColourUtilityIndigo300: rgba(188,197,243,1.00);
    --ciaColourUtilityIndigo400: rgba(149,165,236,1.00);
    --ciaColourUtilityIndigo500: rgba(108,134,229,1.00);
    --ciaColourUtilityIndigo600: rgba(54,95,206,1.00);
    --ciaColourUtilityIndigo700: rgba(49,82,171,1.00);
    --ciaColourUtilityIndigo800: rgba(34,58,127,1.00);
    --ciaColourUtilityIndigo900: rgba(19,37,86,1.00);

    /* utility/orange/… */
    --ciaColourUtilityOrange100: rgba(255,248,245,1.00);
    --ciaColourUtilityOrange200: rgba(255,232,221,1.00);
    --ciaColourUtilityOrange300: rgba(255,177,139,1.00);
    --ciaColourUtilityOrange400: rgba(240,127,0,1.00);
    --ciaColourUtilityOrange500: rgba(202,106,0,1.00);
    --ciaColourUtilityOrange600: rgba(163,86,7,1.00);
    --ciaColourUtilityOrange700: rgba(130,67,6,1.00);
    --ciaColourUtilityOrange800: rgba(97,49,5,1.00);
    --ciaColourUtilityOrange900: rgba(66,31,3,1.00);

    /* utility/purple/… */
    --ciaColourUtilityPurple100: rgba(250,248,252,1.00);
    --ciaColourUtilityPurple200: rgba(238,232,247,1.00);
    --ciaColourUtilityPurple300: rgba(213,194,234,1.00);
    --ciaColourUtilityPurple400: rgba(190,156,222,1.00);
    --ciaColourUtilityPurple500: rgba(167,118,209,1.00);
    --ciaColourUtilityPurple600: rgba(140,75,188,1.00);
    --ciaColourUtilityPurple700: rgba(115,64,153,1.00);
    --ciaColourUtilityPurple800: rgba(85,45,114,1.00);
    --ciaColourUtilityPurple900: rgba(56,27,77,1.00);

    /* utility/teal/… */
    --ciaColourUtilityTeal100: rgba(241,252,252,1.00);
    --ciaColourUtilityTeal200: rgba(209,248,248,1.00);
    --ciaColourUtilityTeal300: rgba(148,237,237,1.00);
    --ciaColourUtilityTeal400: rgba(95,216,216,1.00);
    --ciaColourUtilityTeal500: rgba(25,159,159,1.00);
    --ciaColourUtilityTeal600: rgba(12,122,122,1.00);
    --ciaColourUtilityTeal700: rgba(12,99,99,1.00);
    --ciaColourUtilityTeal800: rgba(6,72,72,1.00);
    --ciaColourUtilityTeal900: rgba(3,46,46,1.00);

    /* utility/red/… */
    --ciaColourUtilityRed100: rgba(253,241,242,1.00);
    --ciaColourUtilityRed200: rgba(250,218,221,1.00);
    --ciaColourUtilityRed300: rgba(244,167,174,1.00);
    --ciaColourUtilityRed400: rgba(240,107,123,1.00);
    --ciaColourUtilityRed500: rgba(236,53,86,1.00);
    --ciaColourUtilityRed600: rgba(190,38,65,1.00);
    --ciaColourUtilityRed700: rgba(156,31,54,1.00);
    --ciaColourUtilityRed800: rgba(119,20,38,1.00);
    --ciaColourUtilityRed900: rgba(84,10,24,1.00);

    /* utility/yellow/… */
    --ciaColourUtilityYellow100: rgba(255,249,236,1.00);
    --ciaColourUtilityYellow200: rgba(254,239,199,1.00);
    --ciaColourUtilityYellow300: rgba(254,217,125,1.00);
    --ciaColourUtilityYellow400: rgba(254,190,16,1.00);
    --ciaColourUtilityYellow500: rgba(188,139,9,1.00);
    --ciaColourUtilityYellow600: rgba(140,103,0,1.00);
    --ciaColourUtilityYellow700: rgba(127,93,5,1.00);
    --ciaColourUtilityYellow800: rgba(89,65,3,1.00);
    --ciaColourUtilityYellow900: rgba(54,37,1,1.00);

    /* TODO: To implement new theme system and generate primary/secondary colours */
    /*-- BRAND -------------------------------------------------*/
    --ciaColourPrimaryBase: var(--ciaColourThemePrimaryAction);
    --ciaColourSecondaryBase: var(--ciaColourThemeMain1);
    --ciaColourHighlightBase: var(--ciaColourThemeHighlight1);

    /* brand/primary/… */
    --ciaColourBrandPrimary50: color-mix(in oklch, var(--ciaColourPrimaryBase) 5%, white);
    --ciaColourBrandPrimary100: color-mix(in oklch, var(--ciaColourPrimaryBase) 10%, white);
    --ciaColourBrandPrimary200: color-mix(in oklch, var(--ciaColourPrimaryBase) 20%, white);
    --ciaColourBrandPrimary300: color-mix(in oklch, var(--ciaColourPrimaryBase) 30%, white);
    --ciaColourBrandPrimary400: color-mix(in oklch, var(--ciaColourPrimaryBase) 40%, white);
    --ciaColourBrandPrimary500: var(--ciaColourPrimaryBase);
    --ciaColourBrandPrimary600: color-mix(in oklch, var(--ciaColourPrimaryBase) 90%, black);
    --ciaColourBrandPrimary700: color-mix(in oklch, var(--ciaColourPrimaryBase) 80%, black);
    --ciaColourBrandPrimary800: color-mix(in oklch, var(--ciaColourPrimaryBase) 70%, black);
    --ciaColourBrandPrimary900: color-mix(in oklch, var(--ciaColourPrimaryBase) 60%, black);

    /* brand/secondary/… */
    --ciaColourBrandSecondary50: color-mix(in oklch, var(--ciaColourSecondaryBase) 5%, white);
    --ciaColourBrandSecondary100: var(--ciaColourThemeMain5);
    --ciaColourBrandSecondary200: var(--ciaColourThemeMain4);
    --ciaColourBrandSecondary300: var(--ciaColourThemeMain3);
    --ciaColourBrandSecondary400: var(--ciaColourThemeMain2);
    --ciaColourBrandSecondary500: var(--ciaColourSecondaryBase);
    --ciaColourBrandSecondary600: var(--ciaColourThemeDark3);
    --ciaColourBrandSecondary700: var(--ciaColourThemeDark2);
    --ciaColourBrandSecondary800: var(--ciaColourThemeDark1);
    --ciaColourBrandSecondary900: color-mix(in oklch, var(--ciaColourSecondaryBase) 60%, black);
    &:has(body.useModernColorScheme){
        /* Modern colour scheme uses a fixed brand secondary colour.
           Only the global header/footer, actions and highlight colour follow the theme colours.
         */
        --ciaColourSecondaryBase: var(--ciaColourNeutralWarm500);
        --ciaColourBrandSecondary50: color-mix(in oklch, var(--ciaColourSecondaryBase) 5%, white);
        --ciaColourBrandSecondary100: color-mix(in oklch, var(--ciaColourSecondaryBase) 10%, white);
        --ciaColourBrandSecondary200: color-mix(in oklch, var(--ciaColourSecondaryBase) 20%, white);
        --ciaColourBrandSecondary300: color-mix(in oklch, var(--ciaColourSecondaryBase) 30%, white);
        --ciaColourBrandSecondary400: color-mix(in oklch, var(--ciaColourSecondaryBase) 40%, white);
        --ciaColourBrandSecondary500: var(--ciaColourSecondaryBase);
        --ciaColourBrandSecondary600: color-mix(in oklch, var(--ciaColourSecondaryBase) 90%, black);
        --ciaColourBrandSecondary700: color-mix(in oklch, var(--ciaColourSecondaryBase) 80%,  black);
        --ciaColourBrandSecondary800: color-mix(in oklch, var(--ciaColourSecondaryBase) 70%,  black);
        --ciaColourBrandSecondary900: color-mix(in oklch, var(--ciaColourSecondaryBase) 60%, black);

        --ciaColourHighlightBase: var(--ciaColourBrandPrimary500);
    }
}

/* TODO: Remove these one by one and replace with new Tier 2 tokens via C# utilities */
/*-- LEGACY ------------------------------------------------*/
:root{
    /* The 8 colours generated from the theme main colour are not symetric. I.e --ciaColourThemeMain1 is darker than the main color*/
    --ciaColourMainDarkest: var(--ciaColourThemeDark1);
    --ciaColourMainDarker: var(--ciaColourThemeDark2);
    --ciaColourMainDark-50: var(--ciaColourThemeDark3);
    --ciaColourMainDark: var(--ciaColourThemeMain1);
    --ciaColourMain: var(--ciaColourThemeMainColor);
    --ciaColourMainLight: var(--ciaColourThemeMain2);
    --ciaColourMainLight-50: var(--ciaColourThemeMain3);
    --ciaColourMainLighter: var(--ciaColourThemeMain4);
    --ciaColourMainLightest: var(--ciaColourThemeMain5);

    --ciaColourWhite : #ffffff;
    --ciaColourBlack : #000000;

    --ciaColourGreenLight : #e2ead1;
    --ciaColourGreen : #74bd00;
    --ciaColourGreenDark : #00661A;
    --ciaColourDarkGreenLight : #96C09E;

    --ciaColourYellowLight : #ffe398;
    --ciaColourYellow : #ffc853;

    --ciaColourBlueLight : #c6dae8;
    --ciaColourBlue : #325ea1;
    --ciaColourBlueDark : #000060;
    --ciaColourDarkBlueLight : #C3C3DA;

    --ciaColourGrayLight : #c7c7c7;
    --ciaColourGray : #4b4b4b;

    --ciaColourPurpleLight : #d7bdd7;
    --ciaColourPurple : #660066;

    --ciaColourTealLight : #C9D9DD;
    --ciaColourTeal : #1E5E6D;

    --ciaColourOrangeLight : #fce2ce;
    --ciaColourOrange : #F2661F;

    --ciaColourRedLight: #eccdca;
    --ciaColourRed : #E53327;

    --ciaColourBrown : #8a6d3b;

    /* opacity tokens */
    --ciaOpacityDisabled: .32;
}

:root{
    /* size palette */
    --ciaSize-xxsmall: 8px;
    --ciaSize-xsmall: 10px;
    --ciaSize-small: 12px;
    --ciaSize-medium: 14px; /* This is only used once in CPM: https://git.code.one/projects/CPM/repos/c2-entbudgeting/browse/src/T1.EntBudgeting.Web/Content/Styles/BudgetTabProcessingOverlay.css#62,88 */
    --ciaSize-default: 16px;
    --ciaSize-large: 32px;
    --ciaSize-xlarge: 64px;
    --ciaSize-xxlarge: 128px;

    /* Only used for --ciaHeightHeader */
    --ciaHeight-small: 40px;
    --ciaHeight-default: 50px;
}



:root{
    /* family */
    --ciaFontFamilyBody: Osans, Arial, Verdana, sans-serif;
    --ciaFontFamilyHeading: Osans, Arial, Verdana, sans-serif;

    /*
        Size

        Use the browser root element font unit (for most browsers 1rem is 16px).
        This should allow us to better support zooming.

        Note:
        According to the design document the default body font size should be 14 px.
        The current default font size is 12px .
        Changing default font size will likely have much larger impact on any fixed height/width containers
        (i.e. many containers have 16px height and 250px label width)
    */
    --ciaFontBaseUnit_legacy: 0.85rem;    /* 13.7px - FontSize 300 (default body) is 12px*/
    --ciaFontBaseUnit_design: 1rem;       /* 16px   - FontSize 300 (default body) is 14px*/

    --ciaFontBaseUnit: var(--ciaFontBaseUnit_design);

    &:has(> body.fontLegacy) {
        --ciaFontBaseUnit: var(--ciaFontBaseUnit_legacy);
    }

    --ciaFontSize50: calc(var(--ciaFontBaseUnit) * 0.5);    /* design 8px - legacy 7px */
    --ciaFontSize100: calc(var(--ciaFontBaseUnit) * 0.625); /* design 10px - legacy 8.75px */
    --ciaFontSize200: calc(var(--ciaFontBaseUnit) * 0.75);  /* design 12px - legacy 10.5px*/
    --ciaFontSize300: calc(var(--ciaFontBaseUnit) * 0.875); /* design 14px - legacy 12px */
    --ciaFontSize400: calc(var(--ciaFontBaseUnit) * 1);     /* design 16px - legacy 13.7px */
    --ciaFontSize500: calc(var(--ciaFontBaseUnit) * 1.125); /* design 18px - legacy 15.75px */
    --ciaFontSize600: calc(var(--ciaFontBaseUnit) * 1.25);  /* design 20px - legacy 17.12px */
    --ciaFontSize700: calc(var(--ciaFontBaseUnit) * 1.5);   /* design 24px - legacy 22.5px */
    --ciaFontSize800: calc(var(--ciaFontBaseUnit) * 1.75);  /* design 28px - legacy 24px */
    --ciaFontSize900: calc(var(--ciaFontBaseUnit) * 2);     /* design 32px - legacy 27.4px */
    --ciaFontSize1000: calc(var(--ciaFontBaseUnit) * 2.5);  /* design 40px - legacy 24.25px */

    /* weight */
    --ciaFontWeight200: 200;
    --ciaFontWeight400: 400;
    --ciaFontWeight500: 500;
    --ciaFontWeight600: 600;
    --ciaFontWeight700: 700;

    /* line-height ratio */
    --ciaLineHeight120: 1.2;
    --ciaLineHeight150: 1.5;

    /* letter-spacing (px, with em equivalents for reference) */
    --ciaLetterSpacingDefault: 0;
    --ciaLetterSpacingMinus1: -1px;   /* ≈ -0.083em @12px, -0.05em @20px, -0.025em @40px */
    --ciaLetterSpacingHalf: 0.5px;    /* ≈ +0.036em @14px, +0.031em @16px */
}

:root {
    /* Animation Variables */
    --ciaAnimationDuration: 300ms;
    --ciaAnimationTimingFunction: ease-in-out;
    --ciaAnimationIterationCount: 1;
    --ciaAnimationFillMode: forwards;
    --ciaAnimationDirection: normal;

    /* Slide Variables */
    --ciaAnimationSlideDistanceX: 0px;
    --ciaAnimationSlideDistanceY: 0px;
}


/*-- BASE --------------------------------------------------*/
body {
    background-color: var(--ciaColourBackgroundDefault); /* Default background colour. All other elements should be `transparent` by default */
    color: var(--ciaColourContentDefault); /* Default text colour */
}
/*-- VARIABLES ---------------------------------------------*/
:root {
    /*-- BACKGROUND --------------------------------------------*/
    /* background/default/… */
    --ciaColourBackgroundDefault: var(--ciaColourNeutralCool0);
    --ciaColourBackgroundDefaultHover: var(--ciaColourNeutralCool100);
    --ciaColourBackgroundDefaultFocus: var(--ciaColourNeutralCool100);
    --ciaColourBackgroundDefaultActive: var(--ciaColourNeutralCool200);
    --ciaColourBackgroundDefaultSecondary: var(--ciaColourNeutralCool200);
    --ciaColourBackgroundDefaultSecondaryHover: var(--ciaColourNeutralCool300);
    --ciaColourBackgroundDefaultSecondaryFocus: var(--ciaColourNeutralCool300);
    --ciaColourBackgroundDefaultSecondaryActive: var(--ciaColourNeutralCool400);
    --ciaColourBackgroundDefaultSubtle: var(--ciaColourNeutralCool50);
    --ciaColourBackgroundDefaultSubtleHover: var(--ciaColourNeutralCool100);
    --ciaColourBackgroundDefaultSubtleActive: var(--ciaColourNeutralCool100);
    --ciaColourBackgroundDefaultInverse: var(--ciaColourNeutralCool900);
    --ciaColourBackgroundDefaultInverseHover: var(--ciaColourNeutralCool800);
    --ciaColourBackgroundDefaultDisabled: var(--ciaColourNeutralCool100);

    /* background/brand-primary/… */
    --ciaColourBackgroundBrandPrimary: var(--ciaColourBrandPrimary100);
    --ciaColourBackgroundBrandPrimaryHover: var(--ciaColourBrandPrimary200);
    --ciaColourBackgroundBrandPrimaryFocus: var(--ciaColourBrandPrimary200);
    --ciaColourBackgroundBrandPrimaryActive: var(--ciaColourBrandPrimary300);
    --ciaColourBackgroundBrandPrimarySubtle: var(--ciaColourBrandPrimary50);
    --ciaColourBackgroundBrandPrimaryInverse: var(--ciaColourBrandPrimary500);
    --ciaColourBackgroundBrandPrimaryInverseHover: var(--ciaColourBrandPrimary600);
    --ciaColourBackgroundBrandPrimaryInverseFocus: var(--ciaColourBrandPrimary600);
    --ciaColourBackgroundBrandPrimaryInverseActive: var(--ciaColourBrandPrimary700);

    /* background/brand-secondary/… */
    --ciaColourBackgroundBrandSecondary: var(--ciaColourBrandSecondary100);
    --ciaColourBackgroundBrandSecondaryHover: var(--ciaColourBrandSecondary200);
    --ciaColourBackgroundBrandSecondaryFocus: var(--ciaColourBrandSecondary200);
    --ciaColourBackgroundBrandSecondaryActive: var(--ciaColourBrandSecondary300);
    --ciaColourBackgroundBrandSecondarySubtle: var(--ciaColourBrandSecondary50);
    --ciaColourBackgroundBrandSecondaryInverse: var(--ciaColourBrandSecondary500);
    --ciaColourBackgroundBrandSecondaryInverseHover: var(--ciaColourBrandSecondary600);
    --ciaColourBackgroundBrandSecondaryInverseFocus: var(--ciaColourBrandSecondary600);
    --ciaColourBackgroundBrandSecondaryInverseActive: var(--ciaColourBrandSecondary700);

    /* background/error/… */
    --ciaColourBackgroundError: var(--ciaColourUtilityRed100);
    --ciaColourBackgroundErrorSecondary: var(--ciaColourUtilityRed200);
    --ciaColourBackgroundErrorInverse: var(--ciaColourUtilityRed600);

    /* background/warning/… */
    --ciaColourBackgroundWarning: var(--ciaColourUtilityOrange100);
    --ciaColourBackgroundWarningSecondary: var(--ciaColourUtilityOrange200);
    --ciaColourBackgroundWarningInverse: var(--ciaColourUtilityOrange600);

    /* background/success/… */
    --ciaColourBackgroundSuccess: var(--ciaColourUtilityGreen100);
    --ciaColourBackgroundSuccessSecondary: var(--ciaColourUtilityGreen200);
    --ciaColourBackgroundSuccessInverse: var(--ciaColourUtilityGreen600);

    /* background/info/… */
    --ciaColourBackgroundInfo: var(--ciaColourUtilityBlue100);
    --ciaColourBackgroundInfoSecondary: var(--ciaColourUtilityBlue200);
    --ciaColourBackgroundInfoInverse: var(--ciaColourUtilityBlue600);

    /* background/ai/… */
    --ciaColourBackgroundAi: var(--ciaColourUtilityAi200);
    --ciaColourBackgroundAiSubtle: var(--ciaColourUtilityAi100);
    --ciaColourBackgroundAiInverse: var(--ciaColourUtilityAi600);
    --ciaColourBackgroundAiInverseHover: var(--ciaColourUtilityAi700);
    --ciaColourBackgroundAiInverseFocus: var(--ciaColourUtilityAi700);
    --ciaColourBackgroundAiInverseActive: var(--ciaColourUtilityAi900);

    /*-- CONTENT -----------------------------------------------*/
    /* content/default/… */
    --ciaColourContentDefault: var(--ciaColourNeutralCool900);
    --ciaColourContentDefaultHover: var(--ciaColourNeutralCool950);
    --ciaColourContentDefaultFocus: var(--ciaColourNeutralCool950);
    --ciaColourContentDefaultActive: var(--ciaColourNeutralCool950);
    --ciaColourContentDefaultSecondary: var(--ciaColourNeutralCool700);
    --ciaColourContentDefaultSubtle: var(--ciaColourNeutralCool600);
    --ciaColourContentDefaultInverse: var(--ciaColourNeutralCool0);
    --ciaColourContentDefaultInverseHover: var(--ciaColourNeutralCool100);
    --ciaColourContentDefaultInverseFocus: var(--ciaColourNeutralCool100);
    --ciaColourContentDefaultDisabled: var(--ciaColourNeutralCool400);

    /* content/brand-primary/… */
    --ciaColourContentBrandPrimary: var(--ciaColourBrandPrimary600);
    --ciaColourContentBrandPrimaryHover: var(--ciaColourBrandPrimary700);
    --ciaColourContentBrandPrimaryFocus: var(--ciaColourBrandPrimary700);
    --ciaColourContentBrandPrimaryActive: var(--ciaColourBrandPrimary800);
    --ciaColourContentBrandPrimaryInverse: var(--ciaColourBrandPrimary100);

    /* content/brand-secondary/… */
    --ciaColourContentBrandSecondary: var(--ciaColourBrandSecondary600);
    --ciaColourContentBrandSecondaryHover: var(--ciaColourBrandSecondary700);
    --ciaColourContentBrandSecondaryFocus: var(--ciaColourBrandSecondary700);
    --ciaColourContentBrandSecondaryActive: var(--ciaColourBrandSecondary800);
    --ciaColourContentBrandSecondaryInverse: var(--ciaColourBrandSecondary100);

    /* content/error/… */
    --ciaColourContentError: var(--ciaColourUtilityRed600);
    --ciaColourContentErrorInverse: var(--ciaColourUtilityRed200);

    /* content/warning/… */
    --ciaColourContentWarning: var(--ciaColourUtilityOrange600);
    --ciaColourContentWarningInverse: var(--ciaColourUtilityOrange200);

    /* content/success/… */
    --ciaColourContentSuccess: var(--ciaColourUtilityGreen600);
    --ciaColourContentSuccessInverse: var(--ciaColourUtilityGreen200);

    /* content/info/… */
    --ciaColourContentInfo: var(--ciaColourUtilityBlue600);
    --ciaColourContentInfoInverse: var(--ciaColourUtilityBlue200);

    /* content/ai/… */
    --ciaColourContentAi: var(--ciaColourUtilityAi600);
    --ciaColourContentAiHover: var(--ciaColourUtilityAi700);
    --ciaColourContentAiFocus: var(--ciaColourUtilityAi700);
    --ciaColourContentAiActive: var(--ciaColourUtilityAi900);
    --ciaColourContentAiInverse: var(--ciaColourUtilityAi200);

    /*-- BORDER ------------------------------------------------*/
    /* border/default/… */
    --ciaColourBorderDefault: var(--ciaColourNeutralCool300);
    --ciaColourBorderDefaultHover: var(--ciaColourNeutralCool400);
    --ciaColourBorderDefaultFocus: var(--ciaColourNeutralCool400);
    --ciaColourBorderDefaultActive: var(--ciaColourNeutralCool950);
    --ciaColourBorderDefaultSubtle: var(--ciaColourNeutralCool200);
    --ciaColourBorderDefaultSubtleHover: var(--ciaColourNeutralCool300);
    --ciaColourBorderDefaultDisabled: var(--ciaColourNeutralCool100);

    /* border/brand-primary/… */
    --ciaColourBorderBrandPrimary: var(--ciaColourBrandPrimary600);
    --ciaColourBorderBrandPrimaryHover: var(--ciaColourBrandPrimary700);
    --ciaColourBorderBrandPrimaryFocus: var(--ciaColourBrandPrimary700);
    --ciaColourBorderBrandPrimaryActive: var(--ciaColourBrandPrimary800);

    /* border/brand-secondary/… */
    --ciaColourBorderBrandSecondary: var(--ciaColourBrandSecondary600);
    --ciaColourBorderBrandSecondaryHover: var(--ciaColourBrandSecondary700);
    --ciaColourBorderBrandSecondaryFocus: var(--ciaColourBrandSecondary700);
    --ciaColourBorderBrandSecondaryActive: var(--ciaColourBrandSecondary800);

    /* border/error/… */
    --ciaColourBorderError: var(--ciaColourUtilityRed600);
    --ciaColourBorderErrorInverse: var(--ciaColourUtilityRed200);

    /* border/warning/… */
    --ciaColourBorderWarning: var(--ciaColourUtilityOrange600);
    --ciaColourBorderWarningInverse: var(--ciaColourUtilityOrange200);

    /* border/success/… */
    --ciaColourBorderSuccess: var(--ciaColourUtilityGreen600);
    --ciaColourBorderSuccessInverse: var(--ciaColourUtilityGreen200);

    /* border/info/… */
    --ciaColourBorderInfo: var(--ciaColourUtilityBlue600);
    --ciaColourBorderInfoInverse: var(--ciaColourUtilityBlue200);

    /* border/ai/… */
    --ciaColourBorderAi: var(--ciaColourUtilityAi600);
    --ciaColourBorderAiHover: var(--ciaColourUtilityAi700);
    --ciaColourBorderAiFocus: var(--ciaColourUtilityAi700);
    --ciaColourBorderAiActive: var(--ciaColourUtilityAi800);
    --ciaColourBorderAiInverse: var(--ciaColourUtilityAi200);
}

/*-- BACKGROUND --------------------------------------------*/
/* color/background/default/… */
.ciaColourBackgroundDefault {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefault));
	--ciaStateHoverBackground: var(--ciaColourBackgroundDefaultHover);
	--ciaStateFocusBackground: var(--ciaColourBackgroundDefaultFocus);
	--ciaStateActiveBackground: var(--ciaColourBackgroundDefaultActive);
	--ciaStateDisabledBackground: var(--ciaColourBackgroundDefaultDisabled);
}
.ciaColourBackgroundDefaultSecondary {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefaultSecondary));
}
.ciaColourBackgroundDefaultSubtle {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefaultSubtle));
	--ciaStateHoverBackground: var(--ciaColourBackgroundDefaultSubtleHover);
	--ciaStateActiveBackground: var(--ciaColourBackgroundDefaultSubtleActive);
}
.ciaColourBackgroundDefaultInverse {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefaultInverse));
	--ciaStateHoverBackground: var(--ciaColourBackgroundDefaultInverseHover);
}

/* color/background/brand-primary/… */
.ciaColourBackgroundBrandPrimary {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundBrandPrimary));
	--ciaStateHoverBackground: var(--ciaColourBackgroundBrandPrimaryHover);
	--ciaStateFocusBackground: var(--ciaColourBackgroundBrandPrimaryFocus);
	--ciaStateActiveBackground: var(--ciaColourBackgroundBrandPrimaryActive);
}
.ciaColourBackgroundBrandPrimarySubtle {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundBrandPrimarySubtle));
	--ciaStateHoverBackground: var(--ciaColourBackgroundBrandPrimaryHover);
	--ciaStateFocusBackground: var(--ciaColourBackgroundBrandPrimaryFocus);
	--ciaStateActiveBackground: var(--ciaColourBackgroundBrandPrimaryActive);
}
.ciaColourBackgroundBrandPrimaryInverse {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundBrandPrimaryInverse));
	--ciaStateHoverBackground: var(--ciaColourBackgroundBrandPrimaryInverseHover);
	--ciaStateFocusBackground: var(--ciaColourBackgroundBrandPrimaryInverseFocus);
	--ciaStateActiveBackground: var(--ciaColourBackgroundBrandPrimaryInverseActive);
}

/* color/background/brand-secondary/… */
.ciaColourBackgroundBrandSecondary {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundBrandSecondary));
	--ciaStateHoverBackground: var(--ciaColourBackgroundBrandSecondaryHover);
	--ciaStateFocusBackground: var(--ciaColourBackgroundBrandSecondaryFocus);
    --ciaStateActiveBackground: var(--ciaColourBackgroundBrandSecondaryActive);
}
.ciaColourBackgroundBrandSecondarySubtle {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundBrandSecondarySubtle));
	--ciaStateHoverBackground: var(--ciaColourBackgroundBrandSecondaryHover);
	--ciaStateFocusBackground: var(--ciaColourBackgroundBrandSecondaryFocus);
	--ciaStateActiveBackground: var(--ciaColourBackgroundBrandSecondaryActive);
}
.ciaColourBackgroundBrandSecondaryInverse {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundBrandSecondaryInverse));
	--ciaStateHoverBackground: var(--ciaColourBackgroundBrandSecondaryInverseHover);
	--ciaStateFocusBackground: var(--ciaColourBackgroundBrandSecondaryInverseFocus);
	--ciaStateActiveBackground: var(--ciaColourBackgroundBrandSecondaryInverseActive);
}

/* color/background/error/… */
.ciaColourBackgroundError {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundError));
}
.ciaColourBackgroundErrorSecondary {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundErrorSecondary));
}
.ciaColourBackgroundErrorInverse {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundErrorInverse));
}

/* color/background/warning/… */
.ciaColourBackgroundWarning {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundWarning));
}
.ciaColourBackgroundWarningSecondary {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundWarningSecondary));
}
.ciaColourBackgroundWarningInverse {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundWarningInverse));
}

/* color/background/success/… */
.ciaColourBackgroundSuccess {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundSuccess));
}
.ciaColourBackgroundSuccessSecondary {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundSuccessSecondary));
}
.ciaColourBackgroundSuccessInverse {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundSuccessInverse));
}

/* color/background/info/… */
.ciaColourBackgroundInfo {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundInfo));
}
.ciaColourBackgroundInfoSecondary {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundInfoSecondary));
}
.ciaColourBackgroundInfoInverse {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundInfoInverse));
}

/* color/background/ai/… */
.ciaColourBackgroundAi {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundAi));
}
.ciaColourBackgroundAiSubtle {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundAiSubtle));
}
.ciaColourBackgroundAiInverse {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundAiInverse));
	--ciaStateHoverBackground: var(--ciaColourBackgroundAiInverseHover);
	--ciaStateFocusBackground: var(--ciaColourBackgroundAiInverseFocus);
	--ciaStateActiveBackground: var(--ciaColourBackgroundAiInverseActive);
}

/*-- CONTENT -----------------------------------------------*/
/* color/content/default/… */
.ciaColourContentDefault {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefault));
	--ciaStateHoverContent: var(--ciaColourContentDefaultHover);
	--ciaStateFocusContent: var(--ciaColourContentDefaultFocus);
	--ciaStateActiveContent: var(--ciaColourContentDefaultActive);
	--ciaStateDisabledContent: var(--ciaColourContentDefaultDisabled);
}
.ciaColourContentDefaultSecondary {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultSecondary));
}
.ciaColourContentDefaultSubtle {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultSubtle));
}
.ciaColourContentDefaultDisabled {
    color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultDisabled));
}
.ciaColourContentDefaultInverse {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultInverse));
	--ciaStateHoverContent: var(--ciaColourContentDefaultInverseHover);
	--ciaStateFocusContent: var(--ciaColourContentDefaultInverseFocus);
}

/* color/content/brand-primary/… */
.ciaColourContentBrandPrimary {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentBrandPrimary));
	--ciaStateHoverContent: var(--ciaColourContentBrandPrimaryHover);
	--ciaStateFocusContent: var(--ciaColourContentBrandPrimaryFocus);
	--ciaStateActiveContent: var(--ciaColourContentBrandPrimaryActive);
}
.ciaColourContentBrandPrimaryInverse {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentBrandPrimaryInverse));
}

/* color/content/brand-secondary/… */
.ciaColourContentBrandSecondary {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentBrandSecondary));
	--ciaStateHoverContent: var(--ciaColourContentBrandSecondaryHover);
	--ciaStateFocusContent: var(--ciaColourContentBrandSecondaryFocus);
	--ciaStateActiveContent: var(--ciaColourContentBrandSecondaryActive);
}
.ciaColourContentBrandSecondaryInverse {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentBrandSecondaryInverse));
}

/* color/content/error/… */
.ciaColourContentError {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentError));
}
.ciaColourContentErrorInverse {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentErrorInverse));
}

/* color/content/warning/… */
.ciaColourContentWarning {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentWarning));
}
.ciaColourContentWarningInverse {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentWarningInverse));
}

/* color/content/success/… */
.ciaColourContentSuccess {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentSuccess));
}
.ciaColourContentSuccessInverse {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentSuccessInverse));
}

/* color/content/info/… */
.ciaColourContentInfo {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentInfo));
}
.ciaColourContentInfoInverse {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentInfoInverse));
}

/* color/content/ai/… */
.ciaColourContentAi {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentAi));
	--ciaStateHoverContent: var(--ciaColourContentAiHover);
	--ciaStateFocusContent: var(--ciaColourContentAiFocus);
	--ciaStateActiveContent: var(--ciaColourContentAiActive);
}
.ciaColourContentAiInverse {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentAiInverse));
}

/*-- BORDER ------------------------------------------------*/
/* color/border/default/… */
.ciaColourBorderDefault {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderDefault));
	--ciaStateHoverBorder: var(--ciaColourBorderDefaultHover);
	--ciaStateFocusBorder: var(--ciaColourBorderDefaultFocus);
	--ciaStateActiveBorder: var(--ciaColourBorderDefaultActive);
	--ciaStateDisabledBorder: var(--ciaColourBorderDefaultDisabled);
}
.ciaColourBorderDefaultSubtle {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderDefaultSubtle));
	--ciaStateHoverBorder: var(--ciaColourBorderDefaultSubtleHover);
}

/* color/border/brand-primary/… */
.ciaColourBorderBrandPrimary {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderBrandPrimary));
	--ciaStateHoverBorder: var(--ciaColourBorderBrandPrimaryHover);
	--ciaStateFocusBorder: var(--ciaColourBorderBrandPrimaryFocus);
	--ciaStateActiveBorder: var(--ciaColourBorderBrandPrimaryActive);
}

/* color/border/brand-secondary/… */
.ciaColourBorderBrandSecondary {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderBrandSecondary));
	--ciaStateHoverBorder: var(--ciaColourBorderBrandSecondaryHover);
	--ciaStateFocusBorder: var(--ciaColourBorderBrandSecondaryFocus);
	--ciaStateActiveBorder: var(--ciaColourBorderBrandSecondaryActive);
}

/* color/border/error/… */
.ciaColourBorderError {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderError));
}
.ciaColourBorderErrorInverse {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderErrorInverse));
}

/* color/border/warning/… */
.ciaColourBorderWarning {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderWarning));
}
.ciaColourBorderWarningInverse {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderWarningInverse));
}

/* color/border/success/… */
.ciaColourBorderSuccess {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderSuccess));
}
.ciaColourBorderSuccessInverse {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderSuccessInverse));
}

/* color/border/info/… */
.ciaColourBorderInfo {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderInfo));
}
.ciaColourBorderInfoInverse {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderInfoInverse));
}

/* color/border/ai/… */
.ciaColourBorderAi {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderAi));
	--ciaStateHoverBorder: var(--ciaColourBorderAiHover);
	--ciaStateFocusBorder: var(--ciaColourBorderAiFocus);
	--ciaStateActiveBorder: var(--ciaColourBorderAiActive);
}
.ciaColourBorderAiInverse {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderAiInverse));
}

/*-- SHADOW ------------------------------------------------*/
/* color/shadow/default/… */
.ciaColourShadowDefaultSubtle {
	--shadowColour: var(--ciaStateDefaultShadow, var(--ciaColourShadowDefaultSubtle));
}

/* TODO: Remove these one by one and replace with new Tier 2 tokens via C# utilities */
/*-- LEGACY ------------------------------------------------*/
:root{
    /* Abstract colors css variables from theme-defined naming to design/semantic naming */
    --ciaColourHighlight: rgb(var(--ciaColourThemeHighlight3_RGB));
    --ciaColourHighlightHover: rgb(var(--ciaColourThemeHighlight3_RGB), 0.4);

    --ciaColourPrimary: var(--ciaColourThemePrimaryAction);

    --ciaColourPrimaryHover: var(--ciaColourThemePrimaryActionBorderHover);


    /*-- AI COLOUR TOKENS -----------------------------------*/
    --ciaColourBackgroundAIMarker: #ECE3FF;
    --ciaColourBackgroundAIAnnotation: #EBE7FB;
    --ciaColourContentAIAnnotation: var(--ciaColourAIDefault);

    /*-- AI COLOUR TOKENS - Semantic  -----------------------*/
    --ciaColourAIFaint:      var(--ciaColourUtilityPurple100);
    --ciaColourAIBackground: var(--ciaColourUtilityPurple200);
    --ciaColourAISubtle:     var(--ciaColourUtilityPurple300);
    --ciaColourAIMuted:      var(--ciaColourUtilityPurple400);
    --ciaColourAIBase:       var(--ciaColourUtilityPurple500); /* base AI colour - should only be used for branding*/
    --ciaColourAIDefault:    var(--ciaColourUtilityPurple600);
    --ciaColourAIAccent:     var(--ciaColourUtilityPurple700);
    --ciaColourAIStrong:     var(--ciaColourUtilityPurple800);
    --ciaColourAIOpaque:     var(--ciaColourUtilityPurple900);

    /*-- COLOUR TOKENS ----------------------------------------------------*/
    --ciaColourContentBody: var(--ciaColourBlack);
    --ciaColourSelection: var(--ciaColourThemeMain4);

    /*-- COLOUR TEXT AND BACKGROUND TOKENS ----------------------------------------------------*/
    /*-- Workplace Header & Footer ---------------------------------------------------*/
    --ciaColourBackgroundBanner: var(--ciaColourMainLightest) ;
    --ciaColourBackgroundSignaturePad: rgba(235, 237, 238, 0.9);
    --ciaColourHandlerResize: var(--ciaColourPrimary);

    --ciaColourBackgroundHighlight: var(--ciaColourHighlight) ;
    --ciaColourBackgroundHighlightHover: var(--ciaColourHighlightHover) ;

    /*-- Selection ---------------------------------------------------------------------*/
    --ciaColourBackgroundSelection: var(--ciaColourSelection);
    --ciaColourContentSelection: var(--ciaColourContentPrimary);

    /*-- Tabs --------------------------------------------------------------------*/
    --ciaColourBackgroundTabsHandles : var(--ciaColourMainLightest);
    --ciaColourBackgroundTabHandleSelected : var(--ciaColourWhite);

    /*-- Dropdown --------------------------------------------------------------------*/
    --ciaColourBackgroundHeaderDropdown: var(--ciaColourMainDarker); /* dropdowns displayed from global header */

    --ciaColourContentHeaderDropdown: var(--ciaColourGray);
    --ciaColourContentHeaderButton: var(--ciaColourThemeGlobalHeaderText);

    /*-- Forms Footer ----------------------------------------------------------------*/
    --ciaColourBackgroundFormsFooter: rgba(0,0,0,0.05);


    /*-- COLOUR TEXT TOKENS ----------------------------------------------------------*/
    --ciaColourContentFooter: var(--ciaColourThemeGlobalFooterFg);


    /*-- COLOUR BORDER TOKENS --------------------------------------------------------*/
    /*-- standard HTML elements colours ----------------------------------------------*/
    --ciaColourBorderTableCell: #e6e6e6;
    --ciaColourBorderHighlight: var(--ciaColourThemeHighlight1);
    --ciaColourBorderPrimary: var(--ciaColourThemePrimaryActionBorder);
    --ciaColourBorderSubtle: var(--ciaColourNeutralCool200);

    --ciaColourContentSecondary: var(--ciaColourNeutralCool600);
    --ciaColourBackgroundSecondary: var(--ciaColourNeutralCool200);


    /*-- COLOUR STATUS TOKENS --------------------------------------------------------*/
    --ciaColourContentSuccess: var(--ciaColourUtilityGreen600);
    --ciaColourBackgroundSuccess: var(--ciaColourUtilityGreen100);
    --ciaColourBorderSuccess: var(--ciaColourUtilityGreen600);

    --ciaColourContentInfo: var(--ciaColourUtilityBlue600);
    --ciaColourBackgroundInfo: var(--ciaColourUtilityBlue100);
    --ciaColourBorderInfo: var(--ciaColourUtilityBlue600);

    --ciaColourContentWarning: var(--ciaColourUtilityOrange600);
    --ciaColourBackgroundWarning: var(--ciaColourUtilityOrange100);
    --ciaColourBorderWarning: var(--ciaColourUtilityOrange600);

    --ciaColourContentFail: var(--ciaColourUtilityRed600);
    --ciaColourBackgroundFail: var(--ciaColourUtilityRed100);
    --ciaColourBorderFail: var(--ciaColourUtilityRed600);

    /*-- COLOUR TOKENS --------------------------------------------------------*/
    --ciaColourContentSubtle: var(--ciaColourNeutralCool400);
    --ciaColourBackgroundSubtle: var(--ciaColourNeutralCool50);

    --ciaColourContentInverse: var(--ciaColourWhite);

    --ciaColourContentDefault: var(--ciaColourNeutralCool800);
    --ciaColourBackgroundDefault: var(--ciaColourWhite);
    --ciaColourBackgroundDefaultHover: var(--ciaColourNeutralCool100);
}

.roleLabel{
    --ciaColourContentHeaderDropdown:var(--ciaColourBlack);
}

/***** icon-related design tokens and components ********/
:root{
    --ciaIconSortAsc: url('https://cdn.t1cloud.com/cianywhere/content/base/icons/svg/core/sort-asc.svg?v=12.0.108.0');
    --ciaIconSortDesc: url('https://cdn.t1cloud.com/cianywhere/content/base/icons/svg/core/sort-desc.svg?v=12.0.108.0');
    --ciaIconSortUnselected: url('https://cdn.t1cloud.com/cianywhere/content/base/icons/svg/core/sort-unselected.svg?v=12.0.108.0');
    --ciaIconAi: url('https://cdn.t1cloud.com/cianywhere/content/base/icons/svg/core/ai-icon.svg?v=12.0.108.0');

    --ciaIconDropdownMore: "\E226";
    --ciaIconBorder-radius: 3px;
}


/**** AI Icons ****/
.dropdownPanelListItem .aiChip {
    --ciaIconAi: url('https://cdn.t1cloud.com/cianywhere/content/base/icons/svg/core/ai-label.svg?v=12.0.108.0');
}
.ciaButtonContainerColourVariantAiPrimary .aiChip{
    --ciaIconAi: url('https://cdn.t1cloud.com/cianywhere/content/base/icons/svg/core/ai-sparkle-inverse.svg?v=12.0.108.0');
}
.ciaButtonContainerColourVariantAiSecondary .aiChip {
    --ciaIconAi: url('https://cdn.t1cloud.com/cianywhere/content/base/icons/svg/core/ai-sparkle.svg?v=12.0.108.0');
}

.aiDetailsPanel .aiIcon, .plusPromo .aiIcon {
    --ciaIconAi: url('https://cdn.t1cloud.com/cianywhere/content/base/icons/svg/core/ai-icon.svg?v=12.0.108.0');
}
.aiValue .aiIcon{
    --ciaIconAi: url('https://cdn.t1cloud.com/cianywhere/content/base/icons/svg/core/ai-sparkle.svg?v=12.0.108.0');
}
.plusBanner{
    --ciaIconAi: url('https://cdn.t1cloud.com/cianywhere/content/base/icons/svg/core/ai-icon-large.svg?v=12.0.108.0');
}

.aiStaticValue{
    .aiIcon {
        --ciaIconAi: url('https://cdn.t1cloud.com/cianywhere/content/base/icons/svg/core/ai-sparkle.svg?v=12.0.108.0');
    }
}


/**** Layout definitions ****/
.defaultLayout{
    --ciaIconBorder-radius: 3px;
}

.modernLayout{
    --ciaIconBorder-radius: 50%;
}

/*** Dropdown exceptions ***/

.downFill,
.thumbnailSection .tagSection{
    --ciaIconDropdownMore: "\E045";
}

.viewSelectorControl{
    --ciaIconDropdownMore: "\E532";
}

.buttonGroup .downFill {
    --ciaIconDropdownMore: "\E226";
}



.selectionSummary.shoppingCartMode .summaryCounter{
    --ciaIconDropdownMore: "\E016";
}

:root{
    --ciaHeightHeader: var(--ciaHeight-default);

    /*Inline sections*/
    --ciaHeightMinInlineSectionHeight: 300px;

    /* Attachment sizes */
    --ciaWidthFileUploadPopupContainer: 89vw;
    --ciaWidthMaxFileUploadPopupContainer: 980px;

    /* Attachment popup inner container sizes */
    --ciaWidthFileUploadPopupInnerContainer: 93vw;
    --ciaWidthMaxFileUploadPopupInnerContainer: 1000px;

    /* Summary panels */
    --ciaHeightSummaryPanelSmall: 240px;
    --ciaHeightSummaryPanelMedium: 480px;
    --ciaHeightSummaryPanelLarge: 720px;

    /* Resize handle */
    --ciaResizeHandleWidth: 3px;

    /**** AI ****/
    --ciaIconAiSize: 16px;
    --ciaIconAiMargin: 4px;
}

/**** AI Icons ****/
.aiStaticValue, .ciaButtonContainerColourVariantAiPrimary, .ciaButtonContainerColourVariantAiSecondary {
    --ciaIconAiSize: 12px;
}

.aiValue{
    --ciaIconAiSize: 8px;
}

.hasPicker .aiValue{
    /* there is no need for right-margin as the AI icon is followed by other elements */
    --ciaIconAiMargin: 0px;
}

/* TODO: Clean up button style declarations. Ideally should be using utility classes */
/* === Utility Classes -> States === */
/* Layer ensures component styles (declared outside any layer) always win over the reset-descendant rules here,
   regardless of specificity — so a nested .ciaStateClickable's own hover/focus tokens aren't clobbered by the reset. */
@layer ciaState {
    /*-- CLICKABLE ---------------------------------------------*/
    :is(.ciaStateClickable, .ciaStateClickableGroup, .ciaStateClickableGroup *, :is(button, a.buttonStyle), :is(.stackedStyle .textBoxControl, .stackedContainer > .controlContainer)) {
        cursor: pointer;
    
        /* Render clickable child elements seperately, unless in a group */
        &:not(
            .ciaStateSelected, 
            .ciaStateSelectedGroup, 
            .ciaStateSelectedGroup *:not(
                .ciaStateClickable, 
                :is(button, a.buttonStyle),
                :is(.stackedStyle .textBoxControl, .stackedContainer > .controlContainer)
            ),
            .ciaStateDisabled, .ciaStateDisabled *, :disabled, [aria-disabled=true],
            .ciaStateReadOnly, :is(.readonly, .readonly *) 
        ) {
            &:is(:hover, .ciaStateClickableGroup:hover *) {
                --ciaStateDefaultBackground: var(--ciaStateHoverBackground);
                --ciaStateDefaultContent: var(--ciaStateHoverContent);
                --ciaStateDefaultBorder: var(--ciaStateHoverBorder);
                --ciaStateDefaultOutline: var(--ciaStateHoverOutline);
            }
            &:is(:focus-visible, .ciaStateClickableGroup:focus-visible *, .ciaStateClickableGroup:focus-within *, .ciaStateFocusWithin:focus-within) {
                --ciaStateDefaultBackground: var(--ciaStateFocusBackground);
                --ciaStateDefaultContent: var(--ciaStateFocusContent);
                --ciaStateDefaultBorder: var(--ciaStateFocusBorder);
                --ciaStateDefaultOutline: var(--ciaStateFocusOutline);
            }
            &:is(:active, .ciaStateClickableGroup:active *) {
                --ciaStateDefaultBackground: var(--ciaStateActiveBackground, var(--ciaStateFocusBackground, var(--ciaStateHoverBackground)));
                --ciaStateDefaultContent: var(--ciaStateActiveContent, var(--ciaStateFocusContent, var(--ciaStateHoverContent)));
                --ciaStateDefaultBorder: var(--ciaStateActiveBorder, var(--ciaStateFocusBorder, var(--ciaStateHoverBorder)));
                --ciaStateDefaultOutline: var(--ciaStateActiveOutline, var(--ciaStateFocusOutline, var(--ciaStateHoverOutline)));
            }
        }
    
        /* Reset clickable child elements' states */
        :not(
            .ciaStateDisabled, .ciaStateDisabled *, :disabled, [aria-disabled=true],
            .ciaStateReadOnly, :is(.readonly, .readonly *) 
        ) {
            --ciaStateDefaultBackground: initial;
            --ciaStateDefaultContent: initial;
            --ciaStateDefaultBorder: initial;
            --ciaStateDefaultOutline: initial;
    
            --ciaStateHoverBackground: initial;
            --ciaStateHoverContent: initial;
            --ciaStateHoverBorder: initial;
            --ciaStateHoverOutline: initial;
    
            --ciaStateFocusBackground: initial;
            --ciaStateFocusContent: initial;
            --ciaStateFocusBorder: initial;
            --ciaStateFocusOutline: initial;
    
            --ciaStateActiveBackground: initial;
            --ciaStateActiveContent: initial;
            --ciaStateActiveBorder: initial;
            --ciaStateActiveOutline: initial;
        }
    
        /* Preserve outline colour on focus while selected */
        &:is(.ciaStateSelected, .ciaStateSelectedGroup) {
            &:is(:focus-visible, .ciaStateClickableGroup:focus-visible *, .ciaStateClickableGroup:focus-within *, .ciaStateFocusWithin:focus-within) {
                --ciaStateDefaultOutline: var(--ciaStateSelectedFocusOutline, var(--ciaStateFocusOutline));
            }
        }
    }
    
    /*-- DISABLED ----------------------------------------------*/
    .ciaStateDisabled, .ciaStateDisabled *, :disabled, [aria-disabled=true],
    /* If a form is in edit mode, show read only fields as disabled */
    .editMode :is(.stackedStyle .textBoxControl, .stackedContainer > .controlContainer):is(.readonly, .readonly *) {
        cursor: default;
    
        --ciaStateDefaultBackground: var(--ciaStateDisabledBackground);
        --ciaStateDefaultContent: var(--ciaStateDisabledContent);
        --ciaStateDefaultBorder: var(--ciaStateDisabledBorder);
        --ciaStateDefaultOutline: var(--ciaStateDisabledOutline);
    }
    
    /*-- READ ONLY ---------------------------------------------*/
    .ciaStateReadOnly, :is(.stackedStyle .textBoxControl, .stackedContainer > .controlContainer):is(.readonly, .readonly *) {
        --ciaStateDefaultBackground: var(--ciaStateReadOnlyBackground);
        --ciaStateDefaultContent: var(--ciaStateReadOnlyContent);
        --ciaStateDefaultBorder: var(--ciaStateReadOnlyBorder);
        --ciaStateDefaultOutline: var(--ciaStateReadOnlyOutline);
    }
    
    /*-- SELECTED ----------------------------------------------*/
    :is(.ciaStateSelected, .ciaStateSelectedGroup, .ciaStateSelectedGroup *):not(
        .ciaStateDisabled, .ciaStateDisabled *, :disabled, [aria-disabled=true],
        .ciaStateReadOnly, :is(.stackedStyle .textBoxControl, .stackedContainer > .controlContainer):is(.readonly, .readonly *)
        ) {
        .ciaStateClickable, .ciaStateClickableGroup, :is(button, a.buttonStyle), :is(.stackedStyle .textBoxControl, .stackedContainer > .controlContainer) {
            --ciaStateDefaultBackground: initial;
            --ciaStateDefaultContent: initial;
            --ciaStateDefaultBorder: initial;
            --ciaStateDefaultOutline: initial;
        }
        --ciaStateDefaultBackground: var(--ciaStateSelectedBackground);
        --ciaStateDefaultContent: var(--ciaStateSelectedContent);
        --ciaStateDefaultBorder: var(--ciaStateSelectedBorder);
        --ciaStateDefaultOutline: var(--ciaStateSelectedOutline);
    }
}

/* Typography categories*/
:root{
    /* Display */
    --ciaFontSizeDisplayLarge: var(--ciaFontSize1000);
    --ciaFontSizeDisplayDefault: var(--ciaFontSize900);
    --ciaFontSizeDisplaySmall: var(--ciaFontSize700);
    --ciaFontWeightDisplayDefault: var(--ciaFontWeight600);
    --ciaFontWeightDisplayStrong: var(--ciaFontWeight700);
    --ciaLineHeightDisplay: var(--ciaLineHeight120);
    --ciaLetterSpacingDisplay: var(--ciaLetterSpacingMinus1);

    /* Heading */
    --ciaFontSizeHeadingLarge: var(--ciaFontSize600);
    --ciaFontSizeHeadingDefault: var(--ciaFontSize400);
    --ciaFontSizeHeadingSmall: var(--ciaFontSize300);
    --ciaFontSizeHeadingXSmall: var(--ciaFontSize200);
    --ciaFontWeightHeadingDefault: var(--ciaFontWeight600);
    --ciaFontWeightHeadingStrong: var(--ciaFontWeight700);
    --ciaLineHeightHeading: var(--ciaLineHeight120);
    --ciaLetterSpacingHeading: var(--ciaLetterSpacingDefault);
    --ciaTextTransformHeading: none;

    /* Body (default) */
    --ciaFontSizeBodyLarge: var(--ciaFontSize400);
    --ciaFontSizeBodyDefault: var(--ciaFontSize300);
    --ciaFontSizeBodySmall: var(--ciaFontSize200);
    --ciaFontSizeBodyXSmall: var(--ciaFontSize100);
    --ciaFontWeightBodyDefault: var(--ciaFontWeight400);
    --ciaFontWeightBodyStrong: var(--ciaFontWeight600);
    --ciaLineHeightBody: var(--ciaLineHeight150);
    --ciaLetterSpacingBody: var(--ciaLetterSpacingDefault);
    --ciaTextTransformBody: none;

    /* Label */
    --ciaFontSizeLabelDefault: var(--ciaFontSize300);
    --ciaFontSizeLabelSmall: var(--ciaFontSize200);
    --ciaFontWeightLabelDefault: var(--ciaFontWeight400);
    --ciaFontWeightLabelStrong: var(--ciaFontWeight600);
    --ciaLineHeightLabel: var(--ciaLineHeight150);
    --ciaLetterSpacingLabel: var(--ciaLetterSpacingDefault);
    --ciaTextTransformLabel: none;

    /* Meta */
    --ciaFontSizeMetaDefault: var(--ciaFontSize300);
    --ciaFontSizeMetaSmall: var(--ciaFontSize200);
    --ciaFontWeightMetaDefault: var(--ciaFontWeight500);
    --ciaFontWeightMetaStrong: var(--ciaFontWeight500);
    --ciaLineHeightMeta: var(--ciaLineHeight120);
    --ciaLetterSpacingMeta: var(--ciaLetterSpacingDefault);
    --ciaTextTransformMeta: uppercase;
}

/*
 * Phone typography tokens
 * define only values different from desktop
 */
.phone{
    /* Display - same as desktop */

    /* Heading */
    --ciaFontSizeHeadingDefault: var(--ciaFontSize500);
    --ciaFontSizeHeadingSmall: var(--ciaFontSize400);
    --ciaFontSizeHeadingXSmall: var(--ciaFontSize300);

    /* Body (default) */
    --ciaFontSizeBodyLarge: var(--ciaFontSize500);
    --ciaFontSizeBodyDefault: var(--ciaFontSize200); /* Note: according to the design document this should be -medium but currently default font size
                                                            on phone is 12px equivalent of -small primitive.
                                                           Changing default font size will likely have much larger impact on any fixed height/width containers
                                                           (i.e. many containers have 16px height and 250px label width)
                                                         */
    --ciaFontSizeBodySmall: var(--ciaFontSize300);

    /* Label */
    --ciaFontSizeLabelDefault: var(--ciaFontSize400);
    --ciaFontSizeLabelSmall: var(--ciaFontSize300);

    /* Meta */
    --ciaFontSizeMetaDefault: var(--ciaFontSize400);
    --ciaFontSizeMetaSmall: var(--ciaFontSize300);
}

:root{
    --ciaFontSizeLink: var(--ciaFontSize300);
    --ciaFontSizeDropDownItem: var(--ciaFontSize300);
    --ciaFontSizeHeading: var(--ciaFontSize300);

    /* global header tokens */
    --ciaFontSizeFunctionSearch: var(--ciaFontSize300);
    --ciaFontSizePageTitle: var(--ciaFontSize300);

    /* main panel (main editable panel) heading tokens */
    --ciaFontSizeMainPanelHeading: var(--ciaFontSize400);
    --ciaFontSizeMainPanelHeadingGlyph: var(--ciaFontSize700); /* 16px text is the equivalent of 24px for glyph*/

    /* normal panel (i.e. categories) heading tokens */
    --ciaFontSizePanelHeading: var(--ciaFontSizeHeading);
    --ciaFontTransformPanelHeading: none;
    --ciaFontWeightPanelHeading: var(--ciaFontWeight700);

    --ciaFontWeightStatus: var(--ciaFontWeight700);
}

/* ideally we will have as little exceptions as possible */
/* within the filters panel, headings are to be uppercase */
.filterContent{
    --ciaFontTransformPanelHeading: uppercase;
}

.statusField {
    font-weight: var(--ciaFontWeightStatus);
}


/* TODO: Clean this up. We shouldn't style default elements directly. Instead, apply component tokens to the relevant UI elements.
 - Exclude embedded CiaMaps (MapBuilder) buttons (eg. class prefix of mb-) from global button styling
 */
button:not([class*="mb-"]), a.buttonStyle {
    border-width: 1px;
    border-style: solid;
    border-radius: 3px;
    line-height: 16px;
    padding: 6px;
    cursor: pointer;
    display: inline-flex;
    gap: 4px;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    &.alignLeft{/* i.e. sometimes dropdown items are rendered as buttons */
        justify-content: flex-start;
    }
    &.alignRight{/* i.e. suggestionPaneButton */
        justify-content: flex-end;
    }
    text-align: center;

    > * {
        vertical-align: middle;
    }

    /*-- BUTTON STYLE ------------------------------------------*/
    &:is(a.buttonStyle):hover {
        text-decoration:none;
    }

    /*-- DISABLED STATE ----------------------------------------*/
    &:is(.ciaStateDisabled, :disabled) {
        /* Semi-transparency for AI icons */
        > .aiBadgeControl {
            opacity: 0.5;
        }
    }

    /*-- VIEW SELECTOR BUTTON ----------------------------------*/
    /* Active arrow on .selectViewBtn (shown when JS toggles ciaStateSelected on) */
    &.selectViewBtn.ciaStateSelected:after {
        content: "";
        border: 4px solid transparent;
        border-left: 8px solid;
        border-left-color: inherit;
        position: absolute;
        right: -12px;
        align-self: center;
    }

    /*-- AI BUTTONS --------------------------------------------*/
    /* hide the AI icon by default for AI action buttons */
    &:is(.ciaButtonContainerColourVariantAiPrimary, .ciaButtonContainerColourVariantAiSecondary) {
        &:not(.showAIIcon){
            >.aiBadgeControl >.aiIcon {
                display: none;
            }
        }
    }

    /*-- POPUP BUTTONS -----------------------------------------*/
    &:is(.popupClose, .popupMaximise) {
        position:absolute;
        right:5px;
        top:5px;
        padding: 2px;
        
        &:is(.popupMaximise) {
            right:40px;
        }
    }

    /*-- SUGGESTION PANE BUTTON --------------------------------*/
    &.suggestionPaneButton {
        border: none;
        width: 100%;
        overflow: hidden;
        padding: 12px;
        cursor: pointer;
        line-height: 16px;
        box-sizing: border-box;
    }

    /* TODO: Consolidate and standardise `.flatButton`, `.favouriteButton`, and other random button class types here where necessary */
}

.cardNavigator{
    display: flex;
    flex-direction: row;
    align-items: center;
    box-sizing: border-box;
    width: var(--navigator-width);
    justify-content: center;
    
    position: var(--navigator-position, relative);
    top: var(--navigator-top, unset);
    bottom: var(--navigator-bottom, unset);
    right: var(--navigator-right, unset);
    z-index: 1;

    .selectorIndicator{
        display: none;
        border-right-width: 3px;
        border-right-style: solid;
        border-right-color: inherit;
        height: 100%;
        align-items: center;
        justify-content: flex-end;
        flex-grow: 1;

        .arrowLeft {
            border-top: solid 6px transparent;
            border-bottom: solid 6px transparent;
            border-right-style: solid;
            border-right-width: 5px;
            border-right-color: inherit;

            height: 0;
            width: 0;
        }
    }

    :is(.ciaStateSelected, .ciaStateSelectedGroup) & {
        .navigatorIndicator{
            display: var(--cn-nav-indicator-display, none);
        }
        .selectorIndicator{
            display: var(--cn-sel-indicator-display, flex);
        }
    }

    .phone & {
        /* on phone, never show the selector, only the navigator indicator regardless of the state */
        --cn-nav-indicator-display: block;
        --cn-sel-indicator-display: none;
    }
}
/*== Tier 3 Utility Classes -> Components ==================*/
/*-- ACCORDION ---------------------------------------------*/
/* accordion/item/color/… */
.ciaAccordionItemColourContent {
    color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultSecondary));
    --ciaStateHoverContent: var(--ciaColourContentDefaultHover);
    --ciaStateSelectedContent: var(--ciaColourContentDefaultActive);

    .phone & {
        color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultInverse));
    }
}
.ciaAccordionItemColourBorder {
	border-color: var(--ciaColourBorderDefaultSubtle);
}

/* accordion/item/variant/primary — brand primary hover + selected content. */
.ciaAccordionItemColourVariantPrimary {
	&.ciaAccordionItemColourContent,
	& .ciaAccordionItemColourContent {
		--ciaStateHoverContent: var(--ciaColourContentBrandPrimaryHover);
		--ciaStateSelectedContent: var(--ciaColourContentBrandPrimary);
	}
}

/* accordion/trigger/color/… */
.ciaAccordionTriggerColourContent {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefault));
	--ciaStateHoverContent: var(--ciaColourContentDefaultHover);
}
.ciaAccordionTriggerColourContentIndicator {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultSecondary));
	--ciaStateHoverContent: var(--ciaColourContentDefaultHover);
}


/*-- ALERT -------------------------------------------------*/
/* alert/container/color/… */
.ciaAlertContainerColourBackground {
	background-color: var(--ciaColourBackgroundDefault);
}
.ciaAlertContainerColourBorder {
	border-color: var(--ciaColourBorderDefault);
}

/*-- BUTTON ------------------------------------------------*/
/* TODO: Clean up the selectors here. We should be applying components tokens to the relevant UI elements instead. */
/*
- Exclude other component parts that are using the <button> element from using Button component tokens
- The notification header button will be a badge component. Exclude it here as a temporary fix.
- Favourite button's star is gold. Exclude it here so it doesn't inherit the button colour instead.
- Exclude Page header buttons (eg. app switcher).
- Exclude embedded CiaMaps (MapBuilder) buttons (eg. class prefix of mb-) from global button styling
*/
:not([class*="ciaAccordionTrigger"], [class*="ciaPageHeader"] *, [class*="ciaTabBarTab"], [class*="ciaInputAddon"], [class*="ciaDropdownItem"], [class*="ciaDropdownItem"] *, [class*="mb-"], .notificationHeaderButton, .favouriteButton) {
	/* button/container/color/… */
	&.ciaButtonContainerColourBackground, &:is(button, a.buttonStyle) {
		background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefault));
		--ciaStateHoverBackground: var(--ciaColourBackgroundDefaultHover);
		--ciaStateFocusBackground: var(--ciaColourBackgroundDefaultFocus);
		--ciaStateActiveBackground: var(--ciaColourBackgroundDefaultActive);
		--ciaStateDisabledBackground: var(--ciaColourBackgroundDefaultDisabled);
	}
	&.ciaButtonContainerColourContent, &:is(button, a.buttonStyle) {
		color: var(--ciaStateDefaultContent, var(--ciaColourContentDefault));
		--ciaStateHoverContent: var(--ciaColourContentDefaultHover);
		--ciaStateFocusContent: var(--ciaColourContentDefaultFocus);
		--ciaStateActiveContent: var(--ciaColourContentDefaultActive);
		--ciaStateDisabledContent: var(--ciaColourContentDefaultDisabled);
	}
	&.ciaButtonContainerColourBorder, &:is(button, a.buttonStyle) {
		border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderDefault));
		--ciaStateHoverBorder: var(--ciaColourBorderDefaultHover);
		--ciaStateFocusBorder: var(--ciaColourBorderDefaultFocus);
		--ciaStateActiveBorder: var(--ciaColourBorderDefaultActive);
		--ciaStateDisabledBorder: var(--ciaColourBorderDefaultDisabled);
	}
	&.ciaButtonContainerColourVariantPrimary, &:is(button, a.buttonStyle):is(.primary, .searchResultItemAction)  {
		&.ciaButtonContainerColourBackground, &:is(button, a.buttonStyle) {
			background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundBrandPrimaryInverse));
			--ciaStateHoverBackground: var(--ciaColourBackgroundBrandPrimaryInverseHover);
			--ciaStateFocusBackground: var(--ciaColourBackgroundBrandPrimaryInverseFocus);
			--ciaStateActiveBackground: var(--ciaColourBackgroundBrandPrimaryInverseActive);
		}
		&.ciaButtonContainerColourContent, &:is(button, a.buttonStyle) {
			color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultInverse));
			--ciaStateHoverContent: var(--ciaColourContentDefaultInverseHover);
			--ciaStateFocusContent: var(--ciaColourContentDefaultInverseFocus);
			--ciaStateActiveContent: var(--ciaColourContentDefaultInverseFocus);
		}
		&.ciaButtonContainerColourBorder, &:is(button, a.buttonStyle) {
			border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderBrandPrimary));
			--ciaStateHoverBorder: var(--ciaColourBorderBrandPrimaryHover);
			--ciaStateFocusBorder: var(--ciaColourBorderBrandPrimaryFocus);
			--ciaStateActiveBorder: var(--ciaColourBorderBrandPrimaryActive);
		}
	}
	&.ciaButtonContainerColourVariantSecondary, &:is(button, a.buttonStyle).secondary  {
		&.ciaButtonContainerColourBackground, &:is(button, a.buttonStyle) {
			background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefault));
			--ciaStateHoverBackground: var(--ciaColourBackgroundBrandPrimary);
			--ciaStateFocusBackground: var(--ciaColourBackgroundBrandPrimary);
			--ciaStateActiveBackground: var(--ciaColourBackgroundDefaultActive);
		}
		&.ciaButtonContainerColourContent, &:is(button, a.buttonStyle) {
			color: var(--ciaStateDefaultContent, var(--ciaColourContentBrandPrimary));
			--ciaStateHoverContent: var(--ciaColourContentBrandPrimaryHover);
			--ciaStateFocusContent: var(--ciaColourContentBrandPrimaryFocus);
			--ciaStateActiveContent: var(--ciaColourContentBrandPrimaryActive);
		}
		&.ciaButtonContainerColourBorder, &:is(button, a.buttonStyle) {
			border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderBrandPrimary));
			--ciaStateHoverBorder: var(--ciaColourBorderBrandPrimaryHover);
			--ciaStateFocusBorder: var(--ciaColourBorderBrandPrimaryFocus);
			--ciaStateActiveBorder: var(--ciaColourBorderBrandPrimaryActive);
		}
	}
	&.ciaButtonContainerColourVariantAiPrimary {
		&.ciaButtonContainerColourBackground {
			background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundAiInverse));
			--ciaStateHoverBackground: var(--ciaColourBackgroundAiInverseHover);
			--ciaStateFocusBackground: var(--ciaColourBackgroundAiInverseFocus);
			--ciaStateActiveBackground: var(--ciaColourBackgroundAiInverseActive);
		}
		&.ciaButtonContainerColourContent {
			color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultInverse));
			--ciaStateHoverContent: var(--ciaColourContentDefaultInverseHover);
			--ciaStateFocusContent: var(--ciaColourContentDefaultInverseFocus);
			--ciaStateActiveContent: var(--ciaColourContentDefaultInverse);
		}
		&.ciaButtonContainerColourBorder {
			border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderAi));
			--ciaStateHoverBorder: var(--ciaColourBorderAiHover);
			--ciaStateFocusBorder: var(--ciaColourBorderAiFocus);
			--ciaStateActiveBorder: var(--ciaColourBorderAiActive);
		}
	}
	&.ciaButtonContainerColourVariantAiSecondary {
		&.ciaButtonContainerColourBackground {
			background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefault));
			--ciaStateHoverBackground: var(--ciaColourBackgroundDefaultHover);
			--ciaStateFocusBackground: var(--ciaColourBackgroundDefaultFocus);
			--ciaStateActiveBackground: var(--ciaColourBackgroundDefaultActive);
		}
		&.ciaButtonContainerColourContent {
			color: var(--ciaStateDefaultContent, var(--ciaColourContentAi));
			--ciaStateHoverContent: var(--ciaColourContentAiHover);
			--ciaStateFocusContent: var(--ciaColourContentAiFocus);
			--ciaStateActiveContent: var(--ciaColourContentAiActive);
		}
		&.ciaButtonContainerColourBorder {
			border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderAi));
			--ciaStateHoverBorder: var(--ciaColourBorderAiHover);
			--ciaStateFocusBorder: var(--ciaColourBorderAiFocus);
			--ciaStateActiveBorder: var(--ciaColourBorderAiActive);
		}
	}
	&.ciaButtonContainerColourModeButtonOnHover, :is(button, a.buttonStyle):is(.buttonOnHover, .toolbarAction, .favouriteButton)  {
		&.ciaButtonContainerColourBackground, &:is(button, a.buttonStyle) {
			background-color: var(--ciaStateDefaultBackground, transparent);
		}
		&.ciaButtonContainerColourBorder, &:is(button, a.buttonStyle) {
			border-color: var(--ciaStateDefaultBorder, transparent);
		}
		&.ciaButtonContainerColourVariantPrimary, &:is(button, a.buttonStyle):is(.primary, .searchResultItemAction) {
			&.ciaButtonContainerColourContent, &:is(button, a.buttonStyle) {
				color: var(--ciaStateDefaultContent, var(--ciaColourContentBrandPrimary));
			}
		}
		&.ciaButtonContainerColourVariantAiPrimary {
			&.ciaButtonContainerColourContent {
				color: var(--ciaStateDefaultContent, var(--ciaColourContentAi));
			}
		}
	}
}

/*-- PAGE --------------------------------------------------*/
/* TODO: Global Header, Footer, and Function links retain their existing theme colours. In future, clients will be able to choose between primary, secondary, or black/white colours. */
/* page/header/color/… */
.ciaPageHeaderColourBackground {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourThemeGlobalHeaderBg));
}
.ciaPageHeaderColourContent {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultInverse));
}

/* page/header-tab/color/… */
.ciaPageHeaderTabColourBackground {
	background-color: var(--ciaStateDefaultBackground, inherit);
    --ciaStateSelectedBackground: var(--ciaColourBackgroundBrandSecondary);
}
.ciaPageHeaderTabColourContent {
    color: var(--ciaStateDefaultContent, inherit);
	--ciaStateSelectedContent: var(--ciaColourContentDefaultActive);
}

/* page/title/color/… */
.ciaPageTitleColourBackground {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundBrandSecondary));
}
.ciaPageTitleColourContent {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultSecondary));
}
.ciaPageTitleColourBorder {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderDefaultSubtle));
}

/* page/title-heading/color/… */
.ciaPageTitleHeadingColourContent {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefault));
}

/* page/footer/color/… */
.ciaPageFooterColourBackground {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourThemeGlobalFooterBg));
}
.ciaPageFooterColourContent {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefault));
}

/*-- TABLE -------------------------------------------------*/
/* table/body/color/… */
.ciaTableBodyColourBackground {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefault));
}
.ciaTableBodyColourContent {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefault));
}

/* table/header/color/… */
.ciaTableHeaderColourBackground {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefaultSubtle));
	--ciaStateHoverBackground: var(--ciaColourBackgroundDefaultSubtleHover);
    --ciaStateSelectedBackground: var(--ciaColourBackgroundDefaultSubtleHover);
}
.ciaTableHeaderColourContent {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultSecondary));
}
.ciaTableHeaderColourBorder {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderDefaultSubtle));
}

/* table/row/color/… */
.ciaTableRowColourBackground {
	background-color: var(--ciaStateDefaultBackground, transparent);
	--ciaStateHoverBackground: var(--ciaColourBackgroundDefaultHover);
    --ciaStateActiveBackground: var(--ciaColourBackgroundDefaultActive);
    --ciaStateSelectedBackground: var(--ciaColourBackgroundBrandPrimaryActive);
	--ciaStateDisabledBackground: var(--ciaColourBackgroundDefaultDisabled);
}
.ciaTableRowColourBorder {
	border-color: var(--ciaStateDefaultBorder, var(--ciaBorder));
    --ciaBorder: var(--ciaColourBorderDefaultSubtle);
}

/* table/cell/color/… */
.ciaTableCellColourBackground {
    background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefault));
	--ciaStateHoverBackground: var(--ciaColourBackgroundDefaultSubtle);
    --ciaStateActiveBackground: var(--ciaColourBackgroundDefault);
    --ciaStateSelectedBackground: var(--ciaColourBackgroundDefault);
}
.ciaTableCellColourBorder {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderDefaultSubtle));
    --ciaStateSelectedBorder: var(--ciaColourBorderBrandPrimary);
}

/*-- CARD --------------------------------------------------*/
/* card/container/color/… */
.ciaCardContainerColourBackground {
    background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefault));
    --ciaStateHoverBackground: var(--ciaColourBackgroundBrandSecondaryHover);
    --ciaStateSelectedBackground: var(--ciaColourBackgroundBrandSecondaryActive);
}
.ciaCardContainerColourContent {
    color: var(--ciaStateDefaultContent, var(--ciaColourContentDefault));
    --ciaStateDisabledContent: var(--ciaColourContentDefaultDisabled);
}
/* TODO: ContentHeading retains the existing theme colours. In future, clients will be able to choose between primary, secondary, or black/white colours. */
.ciaCardContainerColourContentHeading {
    color: var(--ciaStateDefaultContent, inherit);
    --ciaStateSelectedContent: var(--ciaColourHighlightBase);
}
.ciaCardContainerColourBorder {
    border-color: var(--ciaColourBorderDefaultSubtle);
}
.ciaCardContainerColourVariantShaded {
    &.ciaCardContainerColourBackground {
        background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundBrandSecondarySubtle));
    }
    &.ciaCardContainerColourBorder {
        border-color: var(--ciaColourBorderDefault);
    }
}

/* card/drag-handler/color/… */
.ciaCardDragHandlerColourBackground {
    background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefaultSecondary));
    --ciaStateHoverBackground: var(--ciaColourBackgroundDefaultSecondaryHover);
    --ciaStateActiveBackground: var(--ciaColourBackgroundDefaultSecondaryActive);
}
.ciaCardDragHandlerColourContent {
    color: var(--ciaColourContentDefaultSecondary);
}

/* card/navigator/color/… */
.ciaCardNavigatorColourContent {
    color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultSubtle));
    --ciaStateHoverContent: var(--ciaColourContentDefaultHover);
    --ciaStateSelectedContent: var(--ciaColourContentDefaultActive);
}
.ciaCardNavigatorColourBorder {
    border-color: var(--ciaStateDefaultBorder, transparent);
    --ciaStateSelectedBorder: var(--ciaColourBorderBrandSecondary);
}

/*-- PANEL -------------------------------------------------*/
/* panel/container/color/… */
.ciaPanelContainerColourBackground {
    background-color: transparent;
}
.ciaPanelContainerColourBorder {
    border-color: var(--ciaColourBorderDefaultSubtle);
}
.ciaPanelContainerColourVariantShaded {
    &.ciaPanelContainerColourBackground {
        background-color: var(--ciaColourBackgroundBrandSecondarySubtle);
    }
}
/* panel/header-bar/color/… */
.ciaPanelHeaderBarColourBackground {
    background-color: transparent;
}
/* TODO: ContentHeading retains the existing theme colours. In future, clients will be able to choose between primary, secondary, or black/white colours. */
.ciaPanelHeaderBarColourContentHeading {
    color: var(--ciaColourHighlightBase);
}
.ciaPanelHeaderBarColourBorder {
    border-color: var(--ciaColourBorderDefaultSubtle);
}
.ciaPanelHeaderBarColourVariantShaded {
    &.ciaPanelHeaderBarColourBackground {
        background-color: var(--ciaColourBackgroundBrandSecondary);
    }
}
/* panel/resize-handler/color/… */
.ciaPanelResizeHandlerColourBackground {
    background-color: var(--ciaStateDefaultBackground, transparent);
    --ciaStateHoverBackground: var(--ciaColourBackgroundBrandPrimaryInverse);
    --ciaStateActiveBackground: var(--ciaColourBackgroundBrandPrimaryInverseActive);
}

/*-- BLOCKING OVERLAY --------------------------------------*/
/* blocking-overlay/container/color/… */
.ciaBlockingOverlayContainerColourBackground {
	background-color: transparent;
}
.ciaBlockingOverlayContainerColourVariantSubtle {
	&.ciaBlockingOverlayContainerColourBackground {
		background-color: oklch(from var(--ciaColourBackgroundDefault) l c h / 0.4);
	}
}
.ciaBlockingOverlayContainerColourVariantShaded {
	&.ciaBlockingOverlayContainerColourBackground {
		background-color: oklch(from var(--ciaColourBackgroundDefaultInverse) l c h / 0.4);
	}
}

/*-- SPINNER -----------------------------------------------*/
/* spinner/container/color/… */
.ciaSpinnerContainerColourBackground {
	background-color: var(--ciaColourBackgroundDefault);
}
.ciaSpinnerContainerColourContent {
	color: var(--ciaColourContentDefault);
}
.ciaSpinnerContainerColourBorder {
	border-color: var(--ciaColourBorderDefaultSubtle);
}

/* spinner/indicator/color/… */
.ciaSpinnerIndicatorColourContent {
	color: var(--ciaColourContentDefault);
}
.ciaSpinnerIndicatorColourVariantAi {
	&.ciaSpinnerIndicatorColourContent {
		color: var(--ciaColourContentAi);
	}
}
.ciaSpinnerIndicatorColourVariantProcess {
	&.ciaSpinnerIndicatorColourContent {
		color: var(--ciaColourContentInfo);
	}
}

/*-- TAB BAR ---------------------------------------------------*/
/* tab-bar/tab/color/… */
.ciaTabBarTabColourBackground {
    background-color: transparent;
}
.ciaTabBarTabColourContent {
    color: var(--ciaStateDefaultContent, var(--ciaColourContentDefault));
    --ciaStateHoverContent: var(--ciaColourContentDefaultHover);
    --ciaStateSelectedContent: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultActive));
}
.ciaTabBarTabColourBorder {
    border-color: var(--ciaStateDefaultBorder, transparent)!important;
    --ciaStateSelectedBorder: var(--ciaColourBorderBrandSecondary);
    --ciaStateHoverBorder: transparent;
}

/* tab-bar/tab/color/variant-shaded… */
.ciaTabBarTabColourVariantShaded {
    &.ciaTabBarTabColourBackground {
        background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundSecondary));
        --ciaStateHoverBackground: var(--ciaColourBackgroundDefaultHover);
        --ciaStateSelectedBackground: var(--ciaColourBackgroundDefault);
    }
    &.ciaTabBarTabColourContent {
        color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultActive));
        --ciaStateHoverContent: var(--ciaColourContentDefaultHover);
    }
    &.ciaTabBarTabColourBorder {
        border-color: transparent !important;
    }
}

/*-- FIELD -------------------------------------------------*/
/* field/label/color/… */
.ciaFieldLabelColourContent {
	color: var(--ciaColourContentDefaultSecondary);
}
.ciaFieldLabelColourContentRequired {
	color: var(--ciaColourContentError);
}
.ciaFieldLabelColourVariantError {
	&.ciaFieldLabelColourContent {
		color: var(--ciaColourContentError);
	}
}

/* field/validation-message/color/… */
.ciaFieldValidationMessageColourContent {
	color: var(--ciaColourContentError);
}

/*-- INPUT -------------------------------------------------*/
/* input/container/color/… */
/* Many legacy stacked controls lack the ciaInputContainer* classes, so we graft their selectors on here to opt them
   into the input tokens without markup changes. Selectors we style:
   - .ciaInputContainer*                     — new token-based inputs
   - .stackedStyle .textBoxControl           — legacy stacked TextBox controls (eg. NativeLink)
   - .stackedContainer > .controlContainer   — legacy stacked control containers (usually reserved for TextBox controls inside a Read Only form) */
.ciaInputContainerColourBackground, :is(.stackedStyle .textBoxControl, .stackedContainer > .controlContainer)  {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefault));
	--ciaStateDisabledBackground: var(--ciaColourBackgroundDefaultDisabled);
	--ciaStateReadOnlyBackground: transparent;
	--ciaStateSelectedBackground: var(--ciaColourBackgroundBrandPrimaryInverse);
}
.ciaInputContainerColourContent, :is(.stackedStyle .textBoxControl, .stackedContainer > .controlContainer)  {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefault));
	--ciaStateDisabledContent: var(--ciaColourContentDefaultSubtle);
	--ciaStateReadOnlyContent: var(--ciaColourContentDefaultSecondary);
}
.ciaInputContainerColourContentIndicator {
	color: var(--ciaStateDefaultContent, transparent);
	--ciaStateDisabledContent: var(--ciaColourContentDefaultDisabled);
	--ciaStateSelectedContent: var(--ciaColourContentDefaultInverse);
}
:is(.ciaInputContainerColourContentPlaceholder, :is(.stackedStyle .textBoxControl, .stackedContainer > .controlContainer)) :is(input, textarea)::placeholder {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultSubtle));
	--ciaStateDisabledContent: var(--ciaColourContentDefaultDisabled);
}
.ciaInputContainerColourBorder, :is(.stackedStyle .textBoxControl, .stackedContainer > .controlContainer) {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderDefault));
	--ciaStateHoverBorder: var(--ciaColourBorderDefaultHover);
	--ciaStateFocusBorder: var(--ciaColourBorderBrandPrimary);
	--ciaStateDisabledBorder: var(--ciaColourBorderDefaultDisabled);
	--ciaStateReadOnlyBorder: var(--ciaColourBorderDefaultDisabled);
	--ciaStateSelectedBorder: var(--ciaColourBorderBrandPrimary);
}
.ciaInputContainerColourOutline, :is(.stackedStyle .textBoxControl, .stackedContainer > .controlContainer) {
	outline-color: var(--ciaStateDefaultOutline, transparent);
	--ciaStateFocusOutline: var(--ciaColourBackgroundBrandPrimarySubtle);
}
.ciaInputContainerColourVariantError {
	&.ciaInputContainerColourBackground {
		background-color: var(--ciaStateDefaultBackground, inherit);
		--ciaStateSelectedBackground: var(--ciaColourBackgroundErrorInverse);
	}
	&.ciaInputContainerColourBorder {
		border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderError));
		--ciaStateHoverBorder: var(--ciaColourBorderError);
		--ciaStateFocusBorder: var(--ciaColourBorderError);
		--ciaStateSelectedBorder: var(--ciaColourBorderError);
	}
	&.ciaInputContainerColourOutline {
		outline-color: var(--ciaStateDefaultOutline, var(--ciaColourBorderErrorInverse));
		--ciaStateFocusOutline: var(--ciaColourBorderErrorInverse);
	}
}
.ciaInputContainerColourVariantAi {
	&.ciaInputContainerColourBackground {
		background-color: var(--ciaStateDefaultBackground, inherit);
		--ciaStateSelectedBackground: var(--ciaColourBackgroundAiInverse);
	}
	&.ciaInputContainerColourBorder {
		border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderAi));
		--ciaStateHoverBorder: var(--ciaColourBorderAiHover);
		--ciaStateFocusBorder: var(--ciaColourBorderAiFocus);
		--ciaStateSelectedBorder: var(--ciaColourBorderAiActive);
	}
	&.ciaInputContainerColourOutline {
		outline-color: var(--ciaStateDefaultOutline, inherit);
		--ciaStateFocusOutline: var(--ciaColourBorderAiInverse);
	}
}
/* input/addon/color/… */
.ciaInputAddonColourContent {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefaultSecondary));
	--ciaStateHoverContent: var(--ciaColourContentDefaultHover);
	--ciaStateActiveContent: var(--ciaColourContentDefaultActive);
}
.ciaInputAddonColourVariantAi {
	&.ciaInputAddonColourContent {
		color: var(--ciaStateDefaultContent, var(--ciaColourContentAi));
		--ciaStateHoverContent: var(--ciaColourContentAiHover);
		--ciaStateActiveContent: var(--ciaColourContentAiActive);
	}
}

/*-- DIALOG ------------------------------------------------*/
/* dialog/container/color/… */
.ciaDialogContainerColourBackground {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefault));
}
.ciaDialogContainerColourContent {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefault));
}
.ciaDialogContainerColourBorder {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderDefault));
}

/* dialog/header/color/… */
.ciaDialogHeaderColourBackground {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefaultSubtle));
}
.ciaDialogHeaderColourContent {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentBrandPrimary));
}

/* dialog/footer/color/… */
.ciaDialogFooterColourBackground {
	background-color: var(--ciaStateDefaultBackground, var(--ciaColourBackgroundDefaultSubtle));
}
.ciaDialogFooterColourBorder {
	border-color: var(--ciaStateDefaultBorder, var(--ciaColourBorderDefaultSubtle));
}

/*-- DROPDOWN ----------------------------------------------*/
/* dropdown/container/color/… */
.ciaDropdownContainerColourBackground {
	background-color: var(--ciaColourBackgroundDefault);
}
.ciaDropdownContainerColourBorder {
	border-color: var(--ciaColourBorderDefault);
}
/* dropdown/header/color/… */
.ciaDropdownHeaderColourContent {
	color: var(--ciaColourContentDefaultSecondary);
}
/* dropdown/item/color/… */
.ciaDropdownItemColourBackground {
    background-color: var(--ciaStateDefaultBackground, transparent);
	--ciaStateHoverBackground: var(--ciaColourBackgroundDefaultHover);
	--ciaStateActiveBackground: var(--ciaColourBackgroundDefaultActive);
	--ciaStateSelectedBackground: var(--ciaColourBackgroundDefaultActive);
	--ciaStateDisabledBackground: var(--ciaColourBackgroundDefaultDisabled);
}
.ciaDropdownItemColourContent {
	color: var(--ciaStateDefaultContent, var(--ciaColourContentDefault));
	--ciaStateHoverContent: var(--ciaColourContentDefaultHover);
	--ciaStateActiveContent: var(--ciaColourContentDefaultActive);
	--ciaStateSelectedContent: var(--ciaColourContentDefaultActive);
	--ciaStateDisabledContent: var(--ciaColourContentDefaultDisabled);
}
.ciaDropdownItemColourBorder {
	border-color: var(--ciaColourBorderDefaultSubtle);
}


:root{
    /*---------------------------------------------------------------------
     * FORM TOKENS
    ----------------------------------------------------------------------*/
    --ciaColourBackgroundPage: var(--ciaColourWhite);
    --ciaColourBackgroundFormHeader: var(--ciaColourMainLightest);
}

.phone{
    --ciaColourBackgroundFormHeader: var(--ciaColourWhite);
}

.ciaInputGroup {
    width: auto;
    display: inline-flex;
    align-items: stretch;
    border-width: 1px;
    border-style: solid;
    border-radius: 3px;

    :has(input[type="text"], textarea) {
        width: 100%;
    }
    input[type="text"], textarea {
        width: 100%;
        box-sizing: border-box;
    }

    > * {
        border-radius: 0;
        align-items: center;
        height: auto;
        display: flex;

        &:first-child {
            border-top-left-radius: inherit;
            border-bottom-left-radius: inherit;
        }

        &:last-child {
            border-top-right-radius: inherit;
            border-bottom-right-radius: inherit;
        }

        &:not(:last-child) {
            border-inline-end: 1px solid var(--ciaColourBorderDefault);
        }
        &:not(:first-child) {
            margin: -1px;
            padding-left: 12px;
            padding-right: 12px;
        }
    }
}

[class*="ciaInputContainer"] {
    /* Text input controls */
    input, textarea {
        color: inherit;
        background-color: transparent;
        border: none;
        outline: none;
        width: 100%;
    }

    /* Selection controls */
    :is(.checkBoxControl, .radioButtonControl) & {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 16px;
        height: 16px;
        border-style: solid;
        border-width: 1px;
        outline-style: solid;
        outline-width: 2px;
        outline-color: transparent;
        flex-shrink: 0;
        box-sizing: border-box;

        .radioButtonControl & {
            border-radius: 50%;

            .ciaInputContainerColourContentIndicator {
                width: 8px;
                height: 8px;
                border-radius: 50%;
                pointer-events: none;
                background-color: currentColor;
                outline: none;
            }
        }

        .checkBoxControl & {
            font-family: iconGlyph;
            font-size: 15px;
            border-radius: 2px;
        }

        &:hover {
            outline-color: transparent;
        }
    }
}

:root{
    /*-- SectionNotReady tokens ---------------------------------------------------*/
    --ciaColourContentSectionNotReady: #00A7FF; /*TODO: point to a primitive or design token */
}

/*-- AI-related tokens ---------------------------------------------------*/
.longRunningTaskTypeAIProcess{
    --ciaColourContentSectionNotReady: var(--ciaColourAIDefault);
}

:root{
    /*---------------------------------------------------------------------
     * TEXTBOX TOKENS
    ----------------------------------------------------------------------*/
    --ciaColourContentTextBoxLabel : var(--ciaColourBlack);
    --ciaColourBorderTextBox : #afafaf;
}

.textBoxControl.active.editable{
    --ciaColourBorderTextBox : var(--ciaColourBorderPrimary);
    &.hasAIGeneratedValue{
        --ciaColourContentTextBoxLabel : var(--ciaColourAIDefault);
        --ciaColourBorderTextBox : var(--ciaColourAIDefault);
        --ciaColourBackgroundAIAnnotation: var(--ciaColourAIDefault);
        --ciaColourContentAIAnnotation: var(--ciaColourWhite);
    }
}

.stackedStyle{
    --ciaColourBorderTextBox : #afafaf;
}

.standardStyle{
    --ciaColourBorderTextBox : #c4c4c4;
}

.engagingStyle{
    --ciaColourContentTextBoxLabel : #656565;
    .textBoxControl.active{
        --ciaColourBorderTextBox : var(--ciaColourPrimary);
        --ciaColourContentTextBoxLabel : var(--ciaColourPrimary);
    }
}

.consumerStyle{
    --ciaColourBorderTextBox : #cbcbcb;
    .textBoxControl.active,.tbcEditorField:hover
    {
        --ciaColourBorderTextBox : #606060;
    }
    .textBoxControl.hasAIGeneratedValue{
        .tbcEditorField:hover{
            --ciaColourBorderTextBox : var(--ciaColourAIDefault);
        }
    }

}


/*---------------------------------------------------------------------
 * TYPOGRAPHY
 * Categories: Display, Heading, Body, Label, Meta
 * Variants: Small, Large, Strong
 ----------------------------------------------------------------------*/
@layer fontBase, fontCategories, fontVariants;

@layer fontBase{

    /*Note:
    body doesn't need a category class as the CSS definitions are applied on the <body> element and are inherited by all child elements.
    */
    :root {
        --ciaFontSizeXSmall: var(--ciaFontSizeBodyXSmall);
        --ciaFontSizeSmall: var(--ciaFontSizeBodySmall);
        --ciaFontSizeLarge: var(--ciaFontSizeBodyLarge);
        --ciaFontWeightStrong: var(--ciaFontWeightBodyStrong);
    }

    body{
        font-family: var(--ciaFontFamilyBody);
        font-size: var(--ciaFontSizeBodyDefault);
        font-weight: var(--ciaFontWeightBodyDefault);
        * {
            font-family: inherit;
            font-size: inherit;
            font-weight: inherit;
        }
    }
}


/* Default intermediate token values for each category */
@layer fontCategories{
    /* category classes */
    .fontBody{
        font-family: var(--ciaFontFamilyBody);
        font-size: var(--ciaFontSizeBodyDefault);
        font-weight: var(--ciaFontWeightBodyDefault);
    }

    .fontDisplay{
        font-family: var(--ciaFontFamilyHeading);
        font-size: var(--ciaFontSizeDisplayDefault);
        font-weight: var(--ciaFontWeightDisplayDefault);

        --ciaFontSizeSmall: var(--ciaFontSizeDisplaySmall);
        --ciaFontSizeLarge: var(--ciaFontSizeDisplayLarge);
        --ciaFontWeightStrong: var(--ciaFontWeightDisplayStrong);
    }

    .fontHeading{
        font-family: var(--ciaFontFamilyHeading);
        font-size: var(--ciaFontSizeHeadingDefault);
        font-weight: var(--ciaFontWeightHeadingDefault);

        --ciaFontSizeXSmall: var(--ciaFontSizeHeadingXSmall);
        --ciaFontSizeSmall: var(--ciaFontSizeHeadingSmall);
        --ciaFontSizeLarge: var(--ciaFontSizeHeadingLarge);
        --ciaFontWeightStrong: var(--ciaFontWeightHeadingStrong);
    }

    .fontLabel{
        font-family: var(--ciaFontFamilyBody);
        font-size: var(--ciaFontSizeLabelDefault);
        font-weight: var(--ciaFontWeightLabelDefault);
        line-height: var(--ciaLineHeightLabel);

        --ciaFontSizeSmall: var(--ciaFontSizeLabelSmall);
        --ciaFontSizeLarge: var(--ciaFontSizeLabelDefault); /* there is no large font size for label */
        --ciaFontWeightStrong: var(--ciaFontWeightLabelStrong);
    }
}

@layer fontVariants{
    /* Context classes */
    .fontXSmall{
        font-size: var(--ciaFontSizeXSmall);
    }

    .fontSmall{
        font-size: var(--ciaFontSizeSmall);
    }

    .fontLarge{
        font-size: var(--ciaFontSizeLarge);
    }

    .fontStrong{
        font-weight: var(--ciaFontWeightStrong);
    }
}

/*
In legacy mode, just reduce the font label size to 10.8px (0.75 html default * 0.9 for label and grid heading).
*/
.legacyTypography{
    .fontLabel, .slick-header{
        --ciaFontSizeLabelDefault: calc(0.9 * var(--ciaFontSizeLabelSmall)); /* make it 10.8px as it was before*/
        font-size: var(--ciaFontSizeLabelDefault);
        font-weight: var(--ciaFontWeightStrong)
    }
}

body
{
    min-height:500px;
    overflow-y:auto;
    -ms-touch-action: none;
}

body.hidePageHeader > #MainContainer > #GlobalHeader,
body.hidePageFooter > #MainContainer > #GlobalFooter {
    display: none;
}

.screenReader-text {
    position: absolute;
    left: -999px;
    width: 1px;
    height: 1px;
    top: auto;
}

.screenReader-text:focus {
    color: var(--ciaColourBlack);
    background-color: var(--ciaColourWhite);
    display: inline-block;
    height: auto;
    width: auto;
    position: static;
    margin: auto auto 1px;
}

.flipBlocker {
    overflow: hidden;
}

.flipBlocker:before {
    content:"";
    display:block;
    width:1024px;
    margin:0 auto;
    height:100%;
    background-color:#fff;
    opacity:0.6;
}

.maxScreen .flipBlocker:before, .tablet .flipBlocker:before {
    width:100%;
}

.fixedWidth
{

    min-width: 800px;
    max-width:1024px;
    margin:0 auto;
    position: relative;
}

.clearFix:after, .clearFixRWFloat:after, #ContextualActionsPanel:after, .popup > footer > div:after, .repeatableEditablePanel.fiveColumns .content .fieldsContainer:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clearFixRWFloat:after {
    clear: right;
}

.maxScreen .fixedWidth
{
    width: auto;
    max-width: 100%;

}

#MainContainer {
    overflow: hidden;
    min-width:800px;
    min-height:100%;
    position:relative;
}

.maxScreen #MainContainer {
    max-width:100%;

}

#MainContainer > .contentContainer
{
    margin:0 auto;
    min-height:100%;
    position:relative;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.25);
}


.maxScreen > #MainContainer > .contentContainer {
    margin: 0;
}

.contentLayoutContainer {
    min-height:100%;
}

.sideBarLayout .contentLayoutContainer {
    margin-left:190px;
}

.sideBarLayout .contentLayoutContainer
{
    padding-top:0;
}

.gridActions a,
.jqmWindow,
.startSection .dropdownPanel
{
    border-radius:3px;
    -moz-border-radius:3px;
}

/*-- Color Constants--*/

#FormTitleContainer #FormTitleImageContainer {
    border-color:#fff;
}

/*--Label Colour--*/

.editorLabel.summaryLineValue {
    color: #656565;
}

.highlightElement {
    background-color: #FFEEDD !important;
    border: solid 1px red;
}

/* function groups */
.func-list-popover-main
{
    background-color: #EDF6FE;
    background-color: rgba(235, 237, 238, 0.8);
}

.tile.expanded.Blue      { background-color:  #244981; }
.tile.expanded.DarkBlue      { background-color:  #0B3A5A; }
.tile.expanded.LightBlue { background-color:#11697E; }
.tile.expanded.DarkTeal  { background-color: #065A52; }
.tile.expanded.Green     { background-color: #385500; }
.tile.expanded.Grey      { background-color:  #444444; }
.tile.expanded.Lime      { background-color:  #84964e; }
.tile.expanded.Maroon    { background-color: #5E151A; }
.tile.expanded.Yellow      { background-color:  #BB8800; }
.tile.expanded.Purple      { background-color:  #301B46; }
.tile.expanded.Orange      { background-color:  #B25900; }



.tile.expanded.Blue .hyperTabHandles .hTabHandle.selected, .tile.expanded.Blue .hyperTabHandles .hTabHandle:hover, .activeTileBody .BlueCol { color:  #244981; }
.tile.expanded.DarkBlue .hyperTabHandles .hTabHandle.selected, .tile.expanded.DarkBlue .hyperTabHandles .hTabHandle:hover, .activeTileBody .DarkBlueCol { color:  #0B3A5A; }
.tile.expanded.LightBlue .hyperTabHandles .hTabHandle.selected, .tile.expanded.LightBlue .hyperTabHandles .hTabHandle:hover, .activeTileBody .LightBlueCol { color:#11697E; }
.tile.expanded.DarkTeal .hyperTabHandles .hTabHandle.selected, .tile.expanded.DarkTeal .hyperTabHandles .hTabHandle:hover, .activeTileBody .DarkTealCol { color: #065A52; }
.tile.expanded.Green .hyperTabHandles .hTabHandle.selected, .tile.expanded.Green .hyperTabHandles .hTabHandle:hover, .activeTileBody .GreenCol { color: #385500; }
.tile.expanded.Grey .hyperTabHandles .hTabHandle.selected, .tile.expanded.Grey .hyperTabHandles .hTabHandle:hover, .activeTileBody .GreyCol { color:  #444444; }
.tile.expanded.Lime .hyperTabHandles .hTabHandle.selected, .tile.expanded.Lime .hyperTabHandles .hTabHandle:hover, .activeTileBody .LimeCol { color:  #84964e; }
.tile.expanded.Maroon .hyperTabHandles .hTabHandle.selected, .tile.expanded.Maroon .hyperTabHandles .hTabHandle:hover, .activeTileBody .MaroonCol { color: #5E151A; }
.tile.expanded.Yellow .hyperTabHandles .hTabHandle.selected, .tile.expanded.Yellow .hyperTabHandles .hTabHandle:hover, .activeTileBody .YellowCol { color:  #BB8800; }
.tile.expanded.Purple .hyperTabHandles .hTabHandle.selected, .tile.expanded.Purple .hyperTabHandles .hTabHandle:hover, .activeTileBody .PurpleCol { color:  #301B46; }
.tile.expanded.Orange .hyperTabHandles .hTabHandle.selected, .tile.expanded.Orange .hyperTabHandles .hTabHandle:hover, .activeTileBody .OrangeCol { color:  #B25900; }



/* Footer */

body.screenLoading > #MainContainer > #GlobalFooter {
    position: absolute;
    bottom: 0;
}

footer
{
    clear:both;
    width:100%;
    max-width:inherit;
    text-align:center;
}

 footer.stickToBottom
 {
     position:fixed;
     bottom:0;
 }

 /*--Generic horizontal layout class (selector to turns child elements into inline block elements)--*/

.horizLayout > * {
    display: inline-block;
    vertical-align: top;
}

.fieldsContainer .horizLayout > * {
    margin-right: 5px;
}

.sideBySideContainer > .stackedStyle, .sideBySideContainer > .sideBySide {
    margin-right: 5px;
}

.sideBySideContainer > .sideBySide.stackedStyle + .aiBadgeControl {
    margin-bottom: 8px;
}

.sideBySideContainer.columns7 > .stackedStyle {
    margin-right: 0;
}

*:focus, .focus {
    outline-color: transparent;
    outline-style: solid;
    outline-width: 1px;
}

*:hover, [tabindex="-1"]:focus {
    outline: none;
}

/*--Various column layouts--*/

.columns {
    display: table;
    width: 100%;
}

.columns > * {
    display:table-cell;
    vertical-align:top;
}

.height100pc { height: 100%; }




/*--Generic Padding classes--*/

.padding0, .cPadding0 > *       {  padding:0; }
.paddingT0, .cPaddingT0         {  padding-top:0; }
.paddingB0, .cPaddingB0         {  padding-bottom:0; }
.paddingTB0, .cPaddingTB0 > *   {  padding-top:0;    padding-bottom:0; }
.paddingL0, .cPaddingL0 > *     {  padding-left:0; }
.paddingR0, .cPaddingR0 > *     {  padding-right:0; }
.paddingLR0, .cPaddingLR0 > *   {  padding-left:0;    padding-right:0; }

.padding2, .cPadding3 > *       {  padding:2px; }
.paddingTB2, .cPaddingTB2 > *   {  padding-top:2px;    padding-bottom:2px; }

.padding5, .cPadding5 > *       {  padding:5px; }
.paddingT5, .cPaddingT5         {  padding-top:5px; }
.paddingB5, .cPaddingB5         {  padding-bottom:5px; }
.paddingTB5, .cPaddingTB5 > *   {  padding-top:5px;    padding-bottom:5px; }
.paddingL5, .cPaddingL5 > *     {  padding-left:5px; }
.paddingR5, .cPaddingR5 > *     {  padding-right:5px; }
.paddingLR5, .cPaddingLR5 > *   {  padding-left:5px;    padding-right:5px;}
.padding10, .cPadding10 > *     {  padding:10px; }
.paddingT10, .cPaddingT10       {  padding-top:10px; }
.paddingB10, .cPaddingB10       {  padding-bottom:10px; }
.paddingTB10, .cPaddingTB10 > * {  padding-top:10px;    padding-bottom:10px; }
.paddingL10, .cPaddingL10 > *   {  padding-left:10px; }
.paddingR10, .cPaddingR10 > *   {  padding-right:10px; }
.paddingLR10, .cPaddingLR10 > * {  padding-left:10px;     padding-right:10px; }
.padding20, .cPadding20 > *     {  padding:20px; }
.paddingT20, .cPaddingT20       {  padding-top:20px; }
.paddingB20, .cPaddingB20       {  padding-bottom:20px; }
.paddingTB20, .cPaddingTB20 > * {  padding-top:20px;    padding-bottom:20px; }
.paddingL20, .cPaddingL20 > *   {  padding-left:20px; }
.paddingR20, .cPaddingR20 > *   {  padding-right:20px; }
.paddingLR20, .cPaddingLR20 > * {  padding-left:20px;     padding-right:20px; }

.padding0I { padding: 0 !important; }

.imageSection.center { text-align: center !important; }

/*--Arrow indicators--*/

.tArw:before, .tArw:after, .rArw:before, .rArw:after, .lArw:before, .lArw:after, .arwPosB:before, .arwPosB:after, .pointerArrow .bg, .pointerArrow .fg {
    content: "";
    position: absolute;
    height: 0;
    width: 0;
}
.tArw:before, .tArw:after{
    top: -7px;
}

.arwPosB:before, .arwPosB:after {
    bottom: -6px;
}

.tArw:before, .tArw:after, .arwPosB:before, .arwPosB:after, .pointerArrow .bg, .pointerArrow .fg {
	left: 50%;
}

.tArw.arwPosL:before, .tArw.arwPosL:after {
    left: 20%;
}

.tArw.arwPosR:before, .tArw.arwPosR:after {
    left: 80%;
}

.lArw:before, .lArw:after {
	top: 50%;
	left:0;
}

.pointerArrow .bg, .pointerArrow .fg{
    bottom: -1px;
}

.pointerArrowB .bg, .pointerArrowB .fg {
    position: absolute;
    top: -1px;
    left: 50%;
    height: 0;
    width: 0;
}

.searchToggle.pointerArrowB .fg {
    top: -2px;
}

.tArw:before, .pointerArrow .bg {
    margin-left: -7px;
    border-left: solid 7px transparent !important;
    border-right: solid 7px transparent !important;
    border-bottom-style: solid;
    border-bottom-width: 7px;
    border-color: inherit;
}

.tArw:after, .pointerArrow .fg {
    margin-left: -6px;
    border-left: solid 6px transparent !important;
    border-right: solid 6px transparent !important;
    border-bottom-style: solid;
    border-bottom-width: 6px;
    border-color: inherit;
}

.arwPosB:before, .pointerArrowT .bg {
    margin-left: -7px;
    border-left: solid 7px transparent !important;
    border-right: solid 7px transparent !important;
    border-top-style: solid;
    border-top-width: 6px;
    border-color: inherit;
}

.arwPosB:after, .pointerArrowT .fg {
    margin-left: -6px;
    border-left: solid 6px transparent !important;
    border-right: solid 6px transparent !important;
    border-top-style: solid;
    border-top-width: 6px;
    border-color: inherit;
}


.pointerArrowB .bg {
    margin-left: -7px;
    border-left: solid 7px transparent !important;
    border-right: solid 7px transparent !important;
    border-top-style: solid;
    border-top-width: 6px;
}

.pointerArrowB .fg {
    margin-left: -6px;
    border-left: solid 6px transparent !important;
    border-right: solid 6px transparent !important;
    border-top-style: solid;
    border-top-width: 6px;
}


.pointerArrowR .bg, .pointerArrowR .fg {
    position: absolute;
    top: 50%;
    left: -1px;
    height: 0;
    width: 0;
}

.pointerArrowL .bg, .pointerArrowL .fg {
    position: absolute;
    top: 50%;
    right: -1px;
    height: 0;
    width: 0;
}


.searchToggle.pointerArrowR .fg {
    top: -2px;
}


 .rArw:before, .pointerArrowR .bg {
    margin-top: -7px;
    border-top: solid 7px transparent !important;
    border-bottom: solid 7px transparent !important;
    border-left-style: solid;
    border-left-width: 7px;
}

 .rArw:after, .pointerArrowR .fg {
    margin-top: -6px;
    border-top: solid 6px transparent !important;
    border-bottom: solid 6px transparent !important;
    border-left-style: solid;
    border-left-width: 6px;
}

 .lArw:before, .pointerArrowL .bg {
    margin-top: -7px;
    border-top: solid 7px transparent !important;
    border-bottom: solid 7px transparent !important;
    border-right-style: solid;
    border-right-width: 7px;
}

.lArw:after, .pointerArrowL .fg {
    margin-top: -6px;
    border-top: solid 6px transparent !important;
    border-bottom: solid 6px transparent !important;
    border-right-style: solid;
    border-right-width: 6px;
}

.useSelectedMarker.selected:before, .selected > .useSelectedMarker:before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: -1px;
    bottom: 0;
    border-right: solid 3px;
}


.tabHandle_LinkedTab.useSelectedMarker.selected:before {
    top: 0;
    bottom: auto;
    border: none;
}

.useSelectedMarker.selected:after, .selected > .useSelectedMarker:after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -7px;
    border-right: solid 7px;
    border-top: solid 7px transparent !important;
    border-bottom: solid 7px transparent !important;
    width: 0;
    height: 0;
}

.tabHandle_LinkedTab.useSelectedMarker.selected:after {
    right: -3px;
}

.unSelectable {
    -moz-user-select: -moz-none;
    -khtml-user-select: none;
    -o-user-select: none;
    user-select: none;
    -webkit-user-select: none;
}

/* Drragging elements */

.dragging
{
    z-index: 10000;
}

/* Hand open */
.draggable
{
    -ms-touch-action: none;
    cursor: pointer;
    cursor: url(data:image/jpeg;base64,AAACAAEAICACAAcABQAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAA/AAAAfwAAAP+AAAH/gAAB/8AAA//AAAd/wAAGf+AAAH9gAADbYAAA2yAAAZsAAAGbAAAAGAAAAAAAAA//////////////////////////////////////////////////////////////////////////////////////gH///4B///8Af//+AD///AA///wAH//4AB//8AAf//AAD//5AA///gAP//4AD//8AF///AB///5A////5///8=) 4 4, pointer;
}
/* Hand close */
.dragging, .dragging *
{
    cursor: url(data:image/jpeg;base64,AAACAAEAICACAAcABQAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAA/AAAAfwAAAP+AAAH/gAAB/8AAAH/AAAB/wAAA/0AAANsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////////////////////////////////////////gH///4B///8Af//+AD///AA///wAH//+AB///wAf//4AH//+AD///yT/////////////////////////////8=) 4 4, pointer !important;
}

.webkitOverflowTouch {
    -webkit-overflow-scrolling: touch;
}

.zoomable {
    -webkit-overflow-scrolling: touch;
    overflow: auto;
}
.zoomable > div {
    -webkit-transform-origin: 0% 0%;
}

.overflowHidden { overflow: hidden; }
.overflowHiddenI { overflow: hidden !important; }

/***************************** tablets *****************************/

.tablet.portraitMode #MainContainer,
.tablet.portraitMode .fixedWidth {
    min-width: 700px;
}

body.ipad.landscapeMode.ios7 {
    height: calc(100% - 20px);
    min-height: calc(100% - 20px);
    width: 100%;
    position:fixed;
}

body.ipad.landscapeMode.ios7 > #MainContainer {
    min-height: calc(100% - 20px);
}

body.ipad.landscapeMode.ios7 > #MainContainer > .contentContainer {
    min-height: calc(100% - 20px);
}

.cMsgWrap.fixedWidth {
    max-width: 1024px;
}

.topBannerMsg {
    box-shadow: 1px 2px 5px rgba(0,0,0,0.2);
    padding: 5px;
}

.topBannerMsg button {
    margin: 0;
    padding: 3px;
}
.topBannerMsg button .buttonLabel {
    min-width: 0;
}
.topBannerMsg > .icon16 {
    margin: 2px 5px;
}

.topBannerMsg {
    box-shadow: 1px 2px 5px rgba(0,0,0,0.2);
}
.desktop .topBannerMsg {
    padding: 5px;
}

.topBannerMsg button {
    margin: 0;
    padding: 3px;
}
.topBannerMsg button .buttonLabel {
    min-width: 0;
}
.topBannerMsg > .icon16 {
    margin: 2px 5px;
}


.sclWrapper .panel {
    display: inline-block;
    vertical-align: top;
    margin-left: 20px;
}

.sclWrapper .panel header {
    text-align: center;
}

.sclDesc {
    width: 198px;
    text-align: right;
    display: inline-block;
    margin-right: 20px;
    line-height: 1.5em;
    vertical-align: top;
}
.sclKeys {
    display: inline-block;
    vertical-align: top;
    vertical-align: super;
}
.sclKeys > a {
    cursor: default !important;
}
.sclItem {
    border-top: solid 1px rgba(0, 0, 0, 0.05);
    padding: 2px;
}

@media \0screen {



}



/*--custom scroll bar style for windows devices--*/


.windows0.desktop ::-webkit-scrollbar-button, body.windows0.desktop::-webkit-scrollbar-button {
  width: 0;
  height: 0;
}

.windows0.desktop ::-webkit-scrollbar, body.windows0.desktop::-webkit-scrollbar {
    width: 9px;
    height: 9px;
}

.windows0.desktop ::-webkit-scrollbar-button:horizontal:start:decrement, .windows0.desktop ::-webkit-scrollbar-button:horizontal:end:increment, .windows0.desktop ::-webkit-scrollbar-button:vertical:start:decrement, .windows0.desktop ::-webkit-scrollbar-button:vertical:end:increment,
body.windows0.desktop::-webkit-scrollbar-button:horizontal:start:decrement, body.windows0.desktop::-webkit-scrollbar-button:horizontal:end:increment, body.windows0.desktop::-webkit-scrollbar-button:vertical:start:decrement, body.windows0.desktop::-webkit-scrollbar-button:vertical:end:increment {
    width:9px;
}

.windows0.desktop ::-webkit-scrollbar-thumb:vertical,
.windows0.desktop ::-webkit-scrollbar-thumb:horizontal,
body.windows0.desktop::-webkit-scrollbar-thumb:vertical,
body.windows0.desktop::-webkit-scrollbar-thumb:horizontal {
	background-color: rgba(0,0,0, 0.15);
}

.windows0.desktop ::-webkit-scrollbar-thumb:hover,
body.windows0.desktop::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0,0,0, 0.25);
}

.windows0.desktop ::-webkit-scrollbar-track,
body.windows0.desktop::-webkit-scrollbar-track {
	background-color: transparent;
    box-shadow: none;
}

body.windows0.desktop::-webkit-scrollbar-track {
    background-color:#fff;
}


.windows0.desktop :hover::-webkit-scrollbar-track {
	background-color: rgba(0,0,0,0.05);
}


body.windows0.desktop:hover::-webkit-scrollbar-track {
    background-color: #fff;
}

.dropdownPanelListItem span.OneDrive:before {
    content: "\E517";
}

.dropdownPanelListItem span.GoogleDrive:before {
    content: "\E522";
}


/* Offline */
body.offline .durationSpinner {
    display: none !important;
}


/* Hover Effects */
/*
IDEA: the parent container has the class supportsHover and the child item has the class hoverItem.
For some controls (grid, filters) this is not always true as the hover item is deeper within the HTML DOM tree or there are nested hover items (hierarchy viewer, or hierarchical filters)
Define the exceptions here.
*/
.supportsHover > .hoverItem:hover
{
    background-color: var(--ciaColourBackgroundHighlightHover)!important;
}

.supportsHover > .hoverItem.disabled:hover,
.supportsHover > .hoverItem.readOnly:hover{
    background-color: unset!important;
}

/* Radial Out */
.hvr-radial-out {
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    position: relative;
    overflow: hidden;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

.hvr-radial-out:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(rgba(0,0,0,0.05), rgba(0,0,0,0));
    border-radius: 100%;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}

.hvr-radial-out.light:before{
    background: radial-gradient(rgba(255,255,255,0.15), rgba(255,255,255,0));
}

.hvr-radial-out:hover, .hvr-radial-out:focus, .hvr-radial-out:active {
}
.hvr-radial-out:hover:before, .hvr-radial-out:focus:before, .hvr-radial-out:active:before {
    -webkit-transform: scale(2);
    transform: scale(2);
}

/* ripple out */


@-webkit-keyframes hvr-ripple-out {
    0%      { top: -3px;  right: -3px;  bottom: -3px;  left: -3px;  opacity: 1; border-color:rgba(5, 5, 5, 0.21); }
    100%    { top: -9px;  right: -9px;  bottom: -9px;  left: -9px;  opacity: 0;  }
}
@keyframes hvr-ripple-out {
    0%      { top: -3px;  right: -3px;  bottom: -3px;  left: -3px;  opacity: 1; border-color:rgba(5, 5, 5, 0.21); }
    100%    { top: -9px;  right: -9px;  bottom: -9px;  left: -9px;  opacity: 0;  }
}
.hvr-ripple-out {
    position: relative;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
}
.hvr-ripple-out:before {
    content: '';
    position: absolute;
    border-color: transparent;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    border-radius: 100%;
    border-style: solid;
    border-width: 3px;
}
.hvr-ripple-out:hover:before, .hvr-ripple-out:focus:before, .hvr-ripple-out:active:before {
    -webkit-animation-name: hvr-ripple-out;
    animation-name: hvr-ripple-out;
}

/*--Consumer styles--*/

.consumerStyleWrapper {
    background-image: none;
    background-color: #f8f8f8; /*--theme colorGreyWarmLightest-50--*/
    color:#3b4e58; /*--theme colorGreyWarmDarker--*/
}

.consumerStyleWrapper #MainContainer {
    box-sizing:border-box;
}

.consumerStyleWrapper #MainContainer > .contentContainer,
.consumerStyleWrapper #C2FormContent {
    background-color: transparent !important;
}

.consumerStyleWrapper #C2FormContent {
    overflow: auto;
}

.consumerStyleWrapper #MainContainer > .contentContainer {
    box-shadow: none;
    max-width: 100vw;
}

.consumerStyleWrapper #MyMaintenanceForm > .mainContent {
    max-width: 100vw;
}

.consumerStyleWrapper #TabsContainer, .consumerStyleWrapper .linkedTabbedControl {
    height: auto;
    max-width: 1100px;
    margin:0 auto;
    background-color: #fff;
    box-shadow: 0 1px 6px 0 rgba(0,0 ,0 , 0.15);
}

.consumerStyleWrapper .tabsContainer_LinkedTab {
    height: auto;
}

.consumerStyleWrapper .tabControl > .editablePanel > .content {
    overflow: initial !important;
    height: auto !important;
}

.consumerStyleWrapper .editablePanel {
    display: flex;
    flex-flow: column;
}

.consumerStyleWrapper .editablePanel > .topActionPane:first-child {
    display:none;
}

.consumerStyleWrapper .contentContainer .bottomActionPane {
    display:block;
    padding:0 60px;
}

.consumerStyleWrapper .editablePanel > .header {
    line-height: 1.25rem;
    height: auto;
    padding: 16px 60px;
    color:inherit;
    position: sticky;
    top: 0;
    background-color: #fff;
    z-index: 1;
}

.consumerStyleWrapper .helpLink {
    font-weight:600;
}

.consumerStyleWrapper .warningLabel:before,
.consumerStyleWrapper .helpLink:before {
    display:none;
}

.consumerStyleWrapper .tabControlsInnerContainer_LinkedTab .tabControl:first-child > .editablePanel > .content {
    min-height: 400px;
}

