/* Minification failed. Returning unminified contents.
(7,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(13,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(14,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(16,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(17,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(18,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(19,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(21,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(22,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(26,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(27,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(30,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(33,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(36,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(37,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(38,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(39,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(40,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(41,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(44,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(45,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(46,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(47,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(48,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(49,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(50,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(51,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(52,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(53,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(54,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(55,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(56,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(57,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(58,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(61,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(64,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(65,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(66,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(67,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(69,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(72,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(73,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(74,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(81,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(82,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(83,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(84,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(85,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(86,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(89,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(90,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(91,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(92,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(93,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(94,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(95,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(96,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(97,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(98,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(103,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(104,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(105,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(106,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(107,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(108,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(111,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(114,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(115,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(116,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(117,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(118,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(119,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(122,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(123,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(124,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(125,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(126,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(127,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(128,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(129,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(130,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(131,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(132,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(133,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(134,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(135,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(136,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(139,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(142,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(143,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(144,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(145,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(146,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(149,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(150,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(151,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(154,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(155,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(156,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(157,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(158,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(163,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(166,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(184,46): run-time error CSS1039: Token not allowed after unary operator: '-scrollbar-track'
(185,46): run-time error CSS1039: Token not allowed after unary operator: '-scrollbar-thumb'
(186,52): run-time error CSS1039: Token not allowed after unary operator: '-scrollbar-thumb-hover'
(196,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(197,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(256,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(257,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(258,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(262,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(263,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(266,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(267,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(268,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(273,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(276,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(277,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(278,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(281,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(282,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(283,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(286,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(287,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(288,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(289,31): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(294,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(295,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(300,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(301,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(305,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(306,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(310,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(311,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(314,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(315,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(318,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(322,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(325,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(326,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(327,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(333,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(334,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(335,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(338,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(343,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(346,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(347,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(348,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(352,24): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(355,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(360,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(361,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(382,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(383,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(386,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(396,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(400,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(401,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(404,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(409,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(410,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(413,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(414,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(415,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(418,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(423,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(424,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(427,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(428,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(436,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(442,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(443,29): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(444,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(447,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(448,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(454,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(458,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(461,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(465,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(469,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(474,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(475,24): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(476,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(479,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(482,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(483,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(488,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(489,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(490,24): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(493,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(494,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(495,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(498,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(499,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(502,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(503,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(504,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(509,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(510,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(511,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(514,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(515,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(516,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(519,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(520,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(525,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(530,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(536,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(541,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(546,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(549,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(552,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(555,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(564,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(571,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(575,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(581,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(586,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(589,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(592,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(597,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(609,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(612,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(617,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(628,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(634,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(642,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(649,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(654,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(660,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(666,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(671,31): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-bright'
(678,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(681,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(684,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(687,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(688,31): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(691,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(695,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(698,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(702,31): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(705,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(706,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(707,31): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(712,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(717,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(720,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(721,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(724,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(725,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(728,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(732,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(735,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(738,29): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(742,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(745,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(746,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(749,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(750,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(753,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(754,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(763,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(766,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(773,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(778,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(794,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(795,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(800,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(805,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(810,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(818,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(821,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(824,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(827,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(830,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(833,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(836,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(842,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(845,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(845,70): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(846,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(847,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(855,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(858,58): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(859,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(862,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(863,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(877,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(878,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(889,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(890,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(891,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(897,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(905,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(911,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(911,70): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(912,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(919,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(924,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(934,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(942,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(950,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(956,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(957,31): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(963,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(964,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(970,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(975,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(976,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(977,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(980,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(981,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(986,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(995,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1000,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(1001,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(1010,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(1011,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(1012,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(1015,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1016,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1025,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1027,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1030,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1031,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(1041,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1043,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1047,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(1048,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1052,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1053,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1062,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-bright'
(1064,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-bright'
(1119,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1120,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1121,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(1124,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(1135,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1136,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(1139,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1140,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1147,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1155,43): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1155,92): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(1156,44): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1156,92): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1157,43): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1157,88): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1158,43): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1158,87): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1159,30): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1160,31): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1161,31): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(1162,32): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1163,34): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1164,30): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1165,32): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(1166,32): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(1167,41): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1168,40): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1169,39): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1170,39): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1171,41): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(1172,40): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(1173,41): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(1174,39): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1175,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1176,41): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1193,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(1193,79): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1194,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(1198,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1202,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(1207,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1208,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1212,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1213,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(1217,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1221,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1222,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(1223,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1227,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1231,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(1232,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(1236,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(1240,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(1240,79): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1241,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(1242,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1245,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(1248,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1252,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1253,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(1256,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1265,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1266,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1269,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(1269,70): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1270,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1271,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1274,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1277,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1278,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(1279,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1282,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(1285,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1288,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1289,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1292,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1295,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(1299,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(1299,70): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1300,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1301,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1304,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1307,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1308,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1311,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(1312,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1322,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1325,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1330,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1335,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1336,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1341,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1344,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1349,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(1352,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1356,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1363,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(1368,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(1369,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-bright'
(1372,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1373,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(1378,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(1379,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(1382,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1383,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(1389,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1390,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(1394,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1404,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1405,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(1408,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1412,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1413,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1424,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(1430,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1431,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1434,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(1435,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(1438,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1439,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1444,22): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(1445,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(1448,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(1449,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(1452,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(1453,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1456,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(1463,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1468,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1473,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1487,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(1492,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1493,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1496,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(1497,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(1502,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1505,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1524,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1525,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(1526,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1531,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1532,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1535,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1541,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1542,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1547,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1548,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1549,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1552,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1555,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1558,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1559,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1562,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(1563,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1566,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1569,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1572,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1573,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1576,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1579,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1582,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(1583,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1588,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(1589,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1592,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(1593,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1598,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(1603,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1604,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1607,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1610,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1611,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1617,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1622,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1623,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1624,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1627,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1628,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1637,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1638,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1641,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1642,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1645,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(1648,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1659,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1662,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1665,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1670,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1675,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1678,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(1721,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1722,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1723,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1735,79): run-time error CSS1030: Expected identifier, found '*'
(1735,80): run-time error CSS1031: Expected selector, found ')'
(1735,80): run-time error CSS1025: Expected comma or open brace, found ')'
(1744,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1747,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(1751,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1754,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(1760,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(1765,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(1769,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(1793,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1806,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1816,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1817,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1820,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1821,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1824,58): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1825,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(1828,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1831,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1842,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1843,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1844,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(1851,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1854,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(1857,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(1860,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(1864,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(1914,22): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(1915,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(1916,24): run-time error CSS1039: Token not allowed after unary operator: '-status-info-border'
(1921,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(1921,76): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1922,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(1944,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(1945,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2038,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(2039,31): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(2042,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(2043,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(2046,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(2049,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2068,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2069,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2070,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2071,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2072,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2073,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2074,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2075,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2076,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2077,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2078,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2079,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2080,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2081,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2082,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2083,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2084,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2085,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2086,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2087,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2088,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2089,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2090,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2091,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2092,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2093,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2094,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2095,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2096,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2097,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2098,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2099,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2100,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2101,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2102,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2103,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2104,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2105,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2106,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2107,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2108,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2109,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2110,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2111,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2122,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2123,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2124,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2125,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2126,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2127,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2128,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2129,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2130,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2131,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2132,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2133,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2134,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2135,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2136,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2141,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2142,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2143,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2144,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2145,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2146,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2147,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2150,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2151,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2152,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2153,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2154,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2155,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2158,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2159,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2162,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2163,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2164,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2169,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2170,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2171,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2172,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2173,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2174,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2175,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2176,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2177,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2178,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2179,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2180,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2181,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2182,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2183,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2186,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2187,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2188,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2191,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2192,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2193,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2194,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2195,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2196,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2199,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2200,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2203,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2204,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2205,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2221,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2222,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2223,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2224,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2225,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2226,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2227,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2228,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2229,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2230,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2231,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2232,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2233,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2234,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2235,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2236,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2237,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2238,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2239,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2240,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2241,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2242,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2243,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2244,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2245,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2246,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2247,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2248,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2274,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(2276,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(2369,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(2375,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(2425,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(2623,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(2657,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(2671,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(2672,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(2689,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(2694,17): run-time error CSS1039: Token not allowed after unary operator: '-accent-pink'
(2705,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(2706,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(2719,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(3857,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(3864,36): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(3869,39): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(3873,36): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(3882,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(3887,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(3907,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(3914,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(3921,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(3925,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-tint'
(3930,32): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-tint'
(3936,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(3943,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(3947,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(3952,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(3958,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success-border'
(3965,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success-border'
(3969,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success-tint'
(3974,32): run-time error CSS1039: Token not allowed after unary operator: '-status-success-tint'
(3980,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-border'
(3987,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-border'
(3991,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-tint'
(3996,32): run-time error CSS1039: Token not allowed after unary operator: '-status-info-tint'
(4002,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(4009,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(4013,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-tint'
(4018,32): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-tint'
(4024,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-border'
(4031,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-border'
(4035,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-tint'
(4040,32): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-tint'
(4046,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(4053,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(4057,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(4062,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(4068,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(4075,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(4079,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(4084,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(4103,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4104,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4105,24): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4109,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4110,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(4111,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(4115,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4116,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4122,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4134,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4209,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4210,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(4212,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(4230,29): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4234,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4235,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(4236,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-light'
(4242,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4247,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4252,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4257,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(4271,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4272,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(4310,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4381,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4407,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(4421,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4434,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(4443,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(4453,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(4455,494): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(4459,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(4464,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(4474,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(4478,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(4482,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(4483,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(4491,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(4495,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(4499,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(4508,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(4522,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4535,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(4544,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(4554,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(4556,553): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(4560,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(4565,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(4575,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(4579,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(4583,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(4584,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(4592,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(4596,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(4600,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(4674,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4697,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4720,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4721,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4722,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4726,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4727,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(4728,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(4732,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4733,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(4734,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(4739,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4740,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(4741,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(4745,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4746,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(4747,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(4755,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4756,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(4757,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(4761,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4762,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4763,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4767,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4768,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4769,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4774,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4775,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4776,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4780,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4781,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4782,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4793,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4799,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4805,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4812,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4818,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4828,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4829,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(4830,24): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(4834,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4835,32): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(4836,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(4840,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4841,32): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(4842,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(4847,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4848,32): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(4849,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(4853,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4854,32): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(4855,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-hover'
(4863,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4864,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(4865,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(4869,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4870,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4871,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4875,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4876,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4877,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4882,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4883,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(4884,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(4888,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(4889,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4890,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(4902,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4908,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4914,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4921,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4927,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4928,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger-hover'
(4929,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger-hover'
(4937,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4938,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(4939,24): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(4943,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4944,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(4945,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(4949,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4950,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(4951,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(4956,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4957,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(4958,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(4962,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4963,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(4964,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(4972,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4973,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4974,24): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4978,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4979,32): run-time error CSS1039: Token not allowed after unary operator: '-text-primary-hover'
(4980,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary-hover'
(4984,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4985,32): run-time error CSS1039: Token not allowed after unary operator: '-text-primary-hover'
(4986,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary-hover'
(4991,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4992,32): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4993,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(4997,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(4998,32): run-time error CSS1039: Token not allowed after unary operator: '-text-primary-hover'
(4999,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary-hover'
(5008,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5013,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5014,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5027,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5028,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5029,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5037,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5038,24): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(5042,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5043,32): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(5044,28): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(5052,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5057,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5058,32): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(5059,28): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(5067,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(5068,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(5072,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5073,32): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(5074,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(5082,21): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(5087,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5088,32): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(5089,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(5097,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(5098,24): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(5102,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5103,32): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(5104,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(5112,21): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(5117,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5118,32): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(5119,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(5127,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(5128,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5132,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(5133,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5134,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5142,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(5147,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(5148,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5149,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5157,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(5158,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(5162,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5163,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(5164,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(5172,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(5177,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5178,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(5179,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(5187,17): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(5188,24): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(5192,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5193,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(5194,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(5202,21): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(5207,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5208,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(5209,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(5217,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5218,24): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5222,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5223,32): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5224,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5232,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5237,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5238,32): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5239,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5248,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(5253,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(5262,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(5363,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5366,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(5525,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(5534,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5542,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5544,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(5548,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5550,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5554,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(5568,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(5575,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5809,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(5812,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(5813,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(5906,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5907,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5908,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5916,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-light'
(5920,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(5921,32): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-tint-light'
(5922,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-tint-light'
(5926,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(5930,36): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(5948,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(5949,22): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(5972,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(5973,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(6016,32): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(6028,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6044,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6046,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6047,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(6055,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-light'
(6061,25): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6062,36): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6072,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(6073,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(6082,33): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6119,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-light'
(6124,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(6145,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6146,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6147,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(6161,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6163,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(6183,40): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6187,40): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6191,40): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6202,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(6219,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-tint-light'
(6227,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(6235,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(6252,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-tint-light'
(6260,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(6271,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(6287,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-tint-light'
(6301,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(6307,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(6312,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(6320,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(6328,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(6363,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(6369,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(6383,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(6383,61): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(6383,90): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(6387,25): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(6394,25): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6395,36): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6396,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(6396,60): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(6396,88): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(6411,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(6412,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(6413,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(6772,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6776,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6780,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(6784,21): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(6788,21): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(6795,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6799,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(6808,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(6812,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6816,25): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(6820,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(6824,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(6843,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(6860,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(6864,25): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(6873,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7116,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7131,25): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(7144,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(7160,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(7161,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7162,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(7167,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(7169,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7170,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(7192,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7193,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(7194,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(7198,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(7201,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7202,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(7276,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7277,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(7281,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7282,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(7291,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7292,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(7296,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7297,28): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7306,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7307,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(7311,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7312,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(7321,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7322,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(7326,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7327,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(7336,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7337,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(7341,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7342,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(7351,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7352,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(7356,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7357,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(7366,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7367,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(7371,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7372,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7381,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7382,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7386,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7387,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary-hover'
(7398,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7444,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(7445,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(7446,24): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(7450,32): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-tint'
(7454,21): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(7458,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7459,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7460,24): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7464,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7468,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7472,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(7473,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(7474,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success-border'
(7478,32): run-time error CSS1039: Token not allowed after unary operator: '-status-success-tint'
(7482,21): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(7486,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(7487,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(7488,24): run-time error CSS1039: Token not allowed after unary operator: '-status-info-border'
(7492,32): run-time error CSS1039: Token not allowed after unary operator: '-status-info-tint'
(7496,21): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(7500,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(7501,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(7502,24): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(7506,32): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-tint'
(7510,21): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(7514,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(7515,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(7516,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-border'
(7520,32): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-tint'
(7524,21): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(7528,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7529,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7530,24): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7534,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7538,21): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7542,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7543,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7544,24): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7548,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7552,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7581,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7590,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7593,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(7639,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7645,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7647,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(7651,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7652,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7659,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7674,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(7676,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7681,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7682,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(7683,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(7856,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(7857,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(7861,21): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(7862,32): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-tint'
(7866,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7867,32): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(7868,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(7872,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7873,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7877,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7878,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7882,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7883,32): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7884,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7888,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(7889,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success-border'
(7893,21): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(7894,32): run-time error CSS1039: Token not allowed after unary operator: '-status-success-tint'
(7898,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7899,32): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(7900,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(7904,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(7905,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-border'
(7909,21): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(7910,32): run-time error CSS1039: Token not allowed after unary operator: '-status-info-tint'
(7914,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7915,32): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(7916,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(7920,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(7921,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(7925,21): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(7926,32): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-tint'
(7930,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7931,32): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(7932,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(7936,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(7937,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-border'
(7941,21): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(7942,32): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-tint'
(7946,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7947,32): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(7948,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(7952,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7953,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7957,21): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7958,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7962,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7963,32): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7964,28): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(7968,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7969,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7973,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7974,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(7978,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(7979,32): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7980,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7988,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(7989,31): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(7994,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8045,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(8158,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8172,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8188,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(8215,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(8328,36): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8344,38): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8358,39): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8374,37): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8380,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(8382,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8409,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8448,36): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8471,38): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8491,39): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8502,39): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(8525,37): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8532,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(8533,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(8544,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8637,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(8653,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(8706,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8732,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(8830,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(8836,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(8840,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(8846,28): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(8850,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(8856,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(8860,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(8866,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(8870,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(8876,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(8880,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(8886,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(8890,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(8896,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(8900,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8906,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary-hover'
(8910,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(8918,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(8922,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(8926,34): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(8930,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(8934,33): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(8958,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(8962,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(8966,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(8970,24): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(8974,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(8978,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(8982,24): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(8986,24): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(8990,24): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(10245,1): run-time error CSS1019: Unexpected token, found '}'
(12553,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(12557,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(12561,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(12565,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(12569,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(12573,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(12577,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(12581,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(12585,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(12589,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(12593,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-hover'
(12597,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(12601,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(12605,17): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(12609,17): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(12613,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(12617,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(12621,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(12625,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(12629,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(12687,32): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(12729,32): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(12738,36): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(12743,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(12754,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(12759,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(12803,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(12808,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(12841,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(12846,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(12849,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(12855,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(12858,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(12864,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(12868,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(12886,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(12957,29): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(12967,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(13044,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(13092,25): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(13093,36): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(13095,36): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(13232,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(13239,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(13269,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(13276,21): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(13282,21): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(13288,21): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(13294,21): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(13360,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(13364,28): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(13407,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(13410,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(13425,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(13426,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(13427,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success-border'
(13433,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(13434,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(13435,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-border'
(13441,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(13442,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(13443,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(13449,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(13450,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(13451,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-border'
(13457,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(13458,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(13459,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(13488,43): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(13488,85): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(13489,43): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(13489,85): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(13490,43): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(13490,85): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(13491,43): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(13491,85): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(13492,43): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(13492,85): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(13502,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(13503,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13507,47): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(13507,81): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(13511,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13512,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(13559,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(13559,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(13559,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(13559,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(13562,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(13563,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(13581,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(13586,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(13588,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(13657,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(13743,27): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13760,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(13760,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint-2'
(13761,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(13763,35): run-time error CSS1019: Unexpected token, found ' '
(13763,35): run-time error CSS1019: Unexpected token, found ' '
(13763,35): run-time error CSS1042: Expected function, found ' '
(13763,35): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(13769,38): run-time error CSS1019: Unexpected token, found ' '
(13769,38): run-time error CSS1019: Unexpected token, found ' '
(13769,38): run-time error CSS1042: Expected function, found ' '
(13769,38): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(13771,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13776,35): run-time error CSS1019: Unexpected token, found ' '
(13776,35): run-time error CSS1019: Unexpected token, found ' '
(13776,35): run-time error CSS1042: Expected function, found ' '
(13776,35): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(13780,38): run-time error CSS1019: Unexpected token, found ' '
(13780,38): run-time error CSS1019: Unexpected token, found ' '
(13780,38): run-time error CSS1042: Expected function, found ' '
(13780,38): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(13803,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13804,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(13805,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13814,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(13817,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13818,31): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(13823,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13828,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13829,31): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(13837,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13838,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(13848,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13851,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(13870,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(13871,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(13875,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13888,35): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(13889,36): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(13890,46): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13902,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(13903,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13906,49): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(13906,87): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(13907,52): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(13907,91): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(13908,50): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(13909,49): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(13913,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(13916,60): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(13919,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(13936,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(13937,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(13981,32): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(13982,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(13982,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(13982,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(13982,112): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(13982,134): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(13998,32): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(13999,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(13999,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(13999,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(13999,112): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(13999,134): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(14024,33): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(14025,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14027,34): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(14040,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(14041,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14042,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(14049,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(14053,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(14054,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(14055,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(14069,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(14071,42): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(14072,42): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(14075,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(14076,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14077,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14083,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(14092,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(14093,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14094,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(14097,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(14098,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14099,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(14115,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(14163,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(14164,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(14191,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(14258,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(14281,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14314,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(14319,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(14320,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(14336,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(14354,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(14373,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(14374,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14378,36): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14382,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14386,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14390,21): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(14392,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14396,36): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14400,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14404,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14408,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14409,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(14410,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(14414,36): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(14418,35): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(14424,21): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(14466,22): run-time error CSS1039: Token not allowed after unary operator: '-loader-overlay-bg'
(14480,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-danger-subtle'
(14500,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(14506,24): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(14555,1): run-time error CSS1019: Unexpected token, found '@-moz-keyframes'
(14556,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(14569,1): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(14570,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(14583,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(14584,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(14603,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14680,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(14686,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(14697,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14703,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14708,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14711,36): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14730,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(14748,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(14764,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14765,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(14771,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14772,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(14776,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(14780,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(14781,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(14795,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(14796,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(14797,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14865,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(14873,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(14881,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(14890,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(14899,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(14917,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(14950,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(14956,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(14957,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14969,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(14988,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(14999,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(15000,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15013,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(15014,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15035,17): run-time error CSS1039: Token not allowed after unary operator: '-page-title-color'
(15044,17): run-time error CSS1039: Token not allowed after unary operator: '-page-title-color'
(15054,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(15080,21): run-time error CSS1030: Expected identifier, found '.'
(15080,35): run-time error CSS1031: Expected selector, found ')'
(15080,35): run-time error CSS1025: Expected comma or open brace, found ')'
(15097,26): run-time error CSS1030: Expected identifier, found '.'
(15097,27): run-time error CSS1030: Expected identifier, found 'page-campaign'
(15097,40): run-time error CSS1031: Expected selector, found ')'
(15097,40): run-time error CSS1025: Expected comma or open brace, found ')'
(15106,17): run-time error CSS1039: Token not allowed after unary operator: '-page-title-color'
(15113,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(15122,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(15128,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(15134,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15176,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(15181,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(15186,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15192,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(15193,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15257,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(15273,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(15283,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(15284,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(15287,34): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(15290,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(15293,33): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(15301,36): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(15306,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(15316,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15322,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(15323,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15332,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(15333,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(15336,34): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(15339,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(15342,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(15350,36): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(15355,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(15361,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15365,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15371,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(15372,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15381,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(15382,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(15385,34): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(15388,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(15391,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(15399,36): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(15413,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(15427,39): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(15463,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(15467,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(15484,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(15496,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(15497,21): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(15502,22): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(15503,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(15504,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15509,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(15537,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(15546,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15580,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(15636,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15667,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15678,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15690,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(15700,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15707,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15715,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15725,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15732,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15740,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15758,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(15760,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(15761,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(15767,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(15777,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(15786,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(15788,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(15789,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(15795,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(15884,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(15893,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15899,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(15900,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15909,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(15930,50): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(15930,70): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(15930,104): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(15930,124): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(15931,37): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(15932,36): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(15933,38): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(15934,39): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(15935,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(15940,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(15946,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(15951,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(15956,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15962,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(15963,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(15972,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16003,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16004,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16011,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(16021,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(16024,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(16029,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(16031,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(16040,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(16053,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(16059,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(16063,22): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(16071,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(16110,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16111,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16115,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(16116,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(16174,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16179,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(16195,26): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16196,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16206,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16210,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(16216,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16220,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16224,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16238,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16241,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16341,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16342,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(16343,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16351,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16352,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16353,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16377,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(16379,21): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(16382,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16385,31): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16392,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(16449,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(16471,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(16472,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(16492,36): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(16500,39): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(16504,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(16512,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(16513,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(16517,36): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(16521,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(16529,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16547,21): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(16548,32): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(16566,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(16579,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16583,21): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(16584,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16585,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16589,36): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16593,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16632,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16637,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16642,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16662,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16663,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16672,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16673,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16674,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16678,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(16679,24): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(16685,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16686,28): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(16687,24): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(16691,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16692,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16698,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16699,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16700,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(16704,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(16705,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(16711,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16712,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(16713,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(16717,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16718,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(16724,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16725,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(16726,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(16730,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(16731,24): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(16737,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16738,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(16739,24): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(16743,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(16744,24): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(16750,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16751,28): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(16752,24): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(16767,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(16775,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(16776,10): run-time error CSS1035: Expected colon, found '{'
(16793,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(16802,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16803,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16809,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16810,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16832,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(16848,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(16857,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16863,25): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16865,36): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(16866,37): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(16871,25): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(16877,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16892,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(16902,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16908,25): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(16910,36): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(16911,37): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(16916,25): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(16922,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(16936,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(17037,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(17096,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(17103,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17105,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17122,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17145,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(17146,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(17167,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17191,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(17191,61): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(17191,90): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(17197,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(17205,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17212,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(17218,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17230,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17234,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17248,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(17265,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17271,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17291,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(17293,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(17294,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(17310,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(17414,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(17426,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(17439,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17465,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(17466,39): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(17499,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(17500,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(17513,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(17518,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17548,65): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(17548,83): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(17548,101): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(17569,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(17573,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(17574,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(17575,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(17579,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(17584,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(17585,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(17586,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(17680,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(17747,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(17769,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(17776,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(17794,39): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17826,29): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(17830,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17834,25): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17846,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17850,25): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(17863,25): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(17875,25): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(17877,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(18143,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(18167,32): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(18182,21): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(18192,16): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(18197,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(18208,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(18209,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18210,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(18216,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(18217,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(18231,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(18251,20): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(18259,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(18280,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark-muted'
(18316,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18323,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-hover'
(18335,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(18342,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(18366,49): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(18366,88): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(18367,48): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(18367,90): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(18368,50): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(18368,88): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(18404,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(18414,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(18421,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(18423,37): run-time error CSS1046: Expect comma, found '0'
(18423,41): run-time error CSS1046: Expect comma, found '/'
(18450,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(18452,30): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18520,42): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18521,46): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(18525,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(18526,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18535,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(18536,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-secondary'
(18545,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18549,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18559,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(18598,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(18609,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18624,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18630,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(18643,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(18660,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(18666,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18671,36): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18672,42): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18675,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(18692,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(18728,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18732,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(18751,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(18752,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(18755,66): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(18757,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(18758,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18759,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18763,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(18764,24): run-time error CSS1039: Token not allowed after unary operator: '-border-gold-soft'
(18766,71): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(18769,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(18770,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(18772,67): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(18773,68): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(18781,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(18784,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(18786,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(18795,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(18799,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18806,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(18817,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18828,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(18840,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(18844,52): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(18848,67): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(18858,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18859,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(18860,30): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(18868,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(18869,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(18905,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18910,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(18916,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(18921,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(18922,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(18933,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(18934,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(18971,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(18980,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(18991,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(19059,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(19067,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(19069,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(19070,10): run-time error CSS1035: Expected colon, found '{'
(19091,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(19131,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(19144,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(19169,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(19185,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(19195,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(19196,10): run-time error CSS1035: Expected colon, found '{'
(19210,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(19246,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(19255,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(19258,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(19259,10): run-time error CSS1035: Expected colon, found '{'
(19310,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(19323,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(19334,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(19353,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(19354,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(19364,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(19365,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(19378,16): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(19384,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(19390,16): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(19395,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(19400,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(19431,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(19443,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(19449,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(19453,30): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(19476,28): run-time error CSS1039: Token not allowed after unary operator: '-border-gold-softer'
(19481,28): run-time error CSS1039: Token not allowed after unary operator: '-border-gold-soft'
(19483,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(19502,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(19503,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(19506,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(19526,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(19527,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(19528,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(19533,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(19534,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(19535,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(19544,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(19545,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(19546,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(19551,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(19552,17): run-time error CSS1039: Token not allowed after unary operator: '-accent-gold-text'
(19553,24): run-time error CSS1039: Token not allowed after unary operator: '-accent-gold'
(19556,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(19557,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(19558,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-light'
(19561,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(19562,17): run-time error CSS1039: Token not allowed after unary operator: '-accent-gold'
(19563,24): run-time error CSS1039: Token not allowed after unary operator: '-accent-gold'
(19573,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(19578,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(19582,24): run-time error CSS1039: Token not allowed after unary operator: '-accent-gold'
(19583,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(19586,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(19587,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(19591,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(19602,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(19606,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(19607,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(19610,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(19611,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-light'
(19613,56): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(19622,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(19624,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(19631,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(19654,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(19656,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted-soft'
(19660,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(19666,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(19674,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(19676,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(19677,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(19688,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(19691,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(19692,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(19695,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted-soft'
(19696,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(19699,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(19700,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(19701,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(19708,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(19714,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(19719,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(19730,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(19731,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(19732,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(19740,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(19741,29): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(19743,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(19754,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(19766,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(19767,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(19779,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(19780,24): run-time error CSS1039: Token not allowed after unary operator: '-border-gold-soft'
(19781,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(19784,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(19785,24): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(19786,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(19789,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(19790,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-border'
(19791,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(19801,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(19802,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(19804,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(19812,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(19812,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint-2'
(19813,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(19814,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(19815,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(19860,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(19866,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(19880,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(19889,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(19896,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(19908,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(19912,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(19930,36): run-time error CSS1046: Expect comma, found '0'
(19930,40): run-time error CSS1046: Expect comma, found '/'
(19952,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(19953,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(19957,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(19975,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(20017,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(20019,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20030,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20030,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20030,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20030,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20031,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(20032,35): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(20037,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20041,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(20043,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20053,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(20077,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(20088,32): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(20089,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20104,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(20119,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(20143,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20157,35): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(20158,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20158,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20158,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20158,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20159,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(20165,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20176,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(20178,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(20189,32): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(20195,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(20197,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20205,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20205,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20205,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20205,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20206,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(20207,35): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(20210,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20222,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(20231,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(20239,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20260,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(20264,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20265,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20271,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(20275,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20276,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20289,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(20306,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(20315,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20317,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20329,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(20347,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(20350,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(20366,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20368,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20389,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(20408,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20422,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20423,28): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(20424,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20438,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20450,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(20451,31): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20453,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20463,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20468,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20477,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(20499,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20499,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20499,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20499,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20500,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(20503,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20504,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(20508,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(20509,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(20513,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(20519,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(20530,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(20538,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(20560,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20561,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(20568,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-md'
(20596,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20607,37): run-time error CSS1046: Expect comma, found '0'
(20607,41): run-time error CSS1046: Expect comma, found '/'
(20633,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(20634,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20649,21): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(20650,39): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(20678,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(20679,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(20686,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(20691,36): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(20710,63): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20754,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(20755,10): run-time error CSS1035: Expected colon, found '{'
(20773,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(20774,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(20859,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(20881,21): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(21030,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(21045,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21050,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(21055,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21066,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(21073,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(21074,28): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(21075,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(21083,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21084,31): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(21096,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(21108,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21117,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(21118,28): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(21119,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(21133,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21136,35): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(21146,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21154,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(21159,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(21163,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21169,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(21174,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21179,22): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(21192,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21211,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(21282,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(21285,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21286,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(21362,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(21373,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(21374,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(21388,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(21397,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21398,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(21496,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(21502,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(21505,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(21521,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(21525,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21535,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(21540,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21547,52): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21548,52): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(21549,52): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(21550,51): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(21551,49): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(21552,54): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21559,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(21564,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(21577,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(21585,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21589,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(21590,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(21592,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21595,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21596,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(21606,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21607,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(21611,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(21630,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(21631,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(21634,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(21637,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(21638,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(21641,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(21644,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(21645,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(21648,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(21651,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(21652,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21669,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(21673,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(21680,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(21685,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(21688,38): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(21689,38): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(21690,40): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(21706,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(21708,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(21709,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(21717,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(21718,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21719,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21722,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21723,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21724,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(21730,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(21737,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(21755,22): run-time error CSS1039: Token not allowed after unary operator: '-loader-overlay-bg'
(21767,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21771,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(21772,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(21777,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21783,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(21785,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(21795,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(21803,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(21805,56): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(21806,56): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(21807,55): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(21810,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(21811,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(21820,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(21833,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(21835,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21841,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(21852,63): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(21853,63): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(21854,62): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(21885,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(21886,24): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21890,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(21891,28): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(21894,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(21895,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(21899,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(21900,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(21911,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21912,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21916,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(21917,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21920,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(21921,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(21925,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(21926,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(21945,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(21945,79): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(21946,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(21953,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21954,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(21958,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(21967,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(21968,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(21973,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(21980,59): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(21988,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(21992,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(21998,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22009,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22014,57): run-time error CSS1039: Token not allowed after unary operator: '-page-title-color'
(22025,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22035,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(22038,36): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(22046,22): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(22048,56): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(22072,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(22073,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22082,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(22085,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(22086,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(22091,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(22096,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22099,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22105,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22105,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22105,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22105,112): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(22105,130): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(22105,148): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(22106,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(22107,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(22117,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22123,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(22123,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(22123,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(22123,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(22124,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(22126,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(22130,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(22134,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22142,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22143,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22146,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(22147,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22170,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22177,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(22177,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(22177,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(22177,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(22178,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(22188,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(22213,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(22221,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(22229,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22236,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22237,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(22243,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(22254,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(22257,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(22258,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22270,29): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(22274,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(22288,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(22299,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22312,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(22328,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(22336,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22346,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(22378,33): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(22411,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(22417,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22418,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(22444,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(22458,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(22462,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(22463,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(22467,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(22471,22): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(22492,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(22493,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(22494,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(22498,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-danger-subtle'
(22500,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(22543,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22543,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22543,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22543,112): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(22543,130): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(22543,148): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(22547,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(22557,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(22577,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(22584,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(22592,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22595,33): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(22602,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22608,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22620,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(22624,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22637,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22647,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22653,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22663,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22670,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22681,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(22689,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22701,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22717,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(22726,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(22727,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22737,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(22746,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22750,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22766,15): run-time error CSS1039: Token not allowed after unary operator: '-bh-navbar-h'
(22775,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(22776,28): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(22777,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(22786,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22791,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22802,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22813,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(22814,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22819,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(22820,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22831,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22837,22): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(22847,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(22848,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22855,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(22856,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(22859,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(22860,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(22863,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(22864,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(22867,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(22868,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(22871,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(22872,24): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(22884,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(22887,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(22888,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(22901,29): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(22905,29): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(22909,29): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22913,29): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(22930,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(22931,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(22934,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(22935,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(22944,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(22979,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(22984,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(22996,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(23003,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(23009,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(23014,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(23024,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(23024,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(23024,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(23024,112): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(23024,130): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(23024,148): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(23025,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(23037,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(23043,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(23055,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(23069,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(23075,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(23085,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(23091,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(23102,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(23107,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(23114,33): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(23131,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(23136,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(23142,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23145,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(23188,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(23189,10): run-time error CSS1035: Expected colon, found '{'
(23210,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(23235,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(23285,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23285,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23285,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23285,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23286,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(23295,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(23308,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(23309,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(23315,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(23316,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(23337,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(23342,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(23372,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(23384,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(23388,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(23399,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(23411,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(23425,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(23426,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(23430,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(23431,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(23439,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(23457,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(23458,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(23474,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(23479,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(23483,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(23486,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(23487,10): run-time error CSS1035: Expected colon, found '{'
(23524,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(23526,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(23538,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(23539,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(23544,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(23550,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(23602,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(23614,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(23616,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(23623,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23623,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23623,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23623,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23626,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(23633,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(23634,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(23648,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(23660,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(23662,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(23668,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23668,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23668,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23668,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23682,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(23687,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(23700,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(23712,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(23719,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(23724,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(23725,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(23730,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(23738,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(23755,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(23760,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(23773,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(23774,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(23783,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(23788,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23788,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23788,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23788,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23794,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(23813,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(23873,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(23878,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(23883,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-danger-subtle'
(23883,83): run-time error CSS1039: Token not allowed after unary operator: '-bg-danger-subtle'
(23884,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(23895,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(23915,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(23918,33): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(23932,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(23937,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(23983,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(23985,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(23990,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(23991,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(23997,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(24006,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(24011,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(24023,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(24024,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(24028,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(24029,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(24033,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(24034,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(24039,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(24056,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(24063,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-danger-subtle'
(24064,33): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(24080,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(24100,29): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(24104,29): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(24109,33): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(24115,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24119,33): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(24123,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(24145,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(24167,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24167,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24167,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24167,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24168,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(24172,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(24174,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(24180,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24180,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24180,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24180,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24183,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(24189,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(24248,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(24248,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(24248,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(24248,112): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(24248,130): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(24248,148): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(24249,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(24256,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(24261,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(24299,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(24303,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(24307,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24307,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24307,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24307,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24308,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(24311,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(24319,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(24347,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(24358,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(24388,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(24391,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(24395,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(24406,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(24421,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(24458,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(24472,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(24497,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(24498,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(24499,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(24543,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(24548,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(24570,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(24571,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(24575,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(24576,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(24580,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(24599,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(24608,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(24609,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(24617,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(24618,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(24628,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(24657,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(24686,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(24701,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(24710,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(24725,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(24745,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(24753,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(24759,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(24767,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(24790,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(24804,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(24822,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(24840,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(24847,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24847,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24847,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24847,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(24848,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(24851,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(24856,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(24862,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(24875,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(24894,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(24908,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(24941,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(24947,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(24963,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(24971,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(24996,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(25006,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(25010,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(25069,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(25075,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(25080,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(25084,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(25089,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(25100,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(25130,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(25130,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(25130,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(25130,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(25131,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(25139,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(25164,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25189,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(25194,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25202,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(25202,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(25210,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25230,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(25251,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(25255,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25262,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25268,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(25280,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(25281,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(25290,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(25297,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(25301,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25310,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(25318,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(25328,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(25347,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(25373,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(25374,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(25385,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(25385,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(25385,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(25385,112): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(25385,130): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(25385,148): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(25387,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(25389,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(25398,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25408,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25409,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(25432,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(25433,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(25438,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(25445,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25457,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25467,27): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(25475,22): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(25490,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(25491,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25500,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(25504,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(25518,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25547,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(25559,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25564,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(25568,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(25576,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(25583,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(25588,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(25592,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(25601,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25605,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(25618,33): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(25657,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(25661,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25676,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25679,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25682,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25685,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25697,45): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25698,46): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(25700,51): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(25701,46): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(25702,50): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(25707,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(25726,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(25728,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(25729,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(25735,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(25740,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(25741,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25774,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(25775,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(25818,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(25818,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(25818,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(25818,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(25819,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(25832,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25842,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(25889,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(25890,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(25891,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(25902,35): run-time error CSS1019: Unexpected token, found ' '
(25902,35): run-time error CSS1019: Unexpected token, found ' '
(25902,35): run-time error CSS1042: Expected function, found ' '
(25902,35): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(25903,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(25904,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(25909,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25910,38): run-time error CSS1019: Unexpected token, found ' '
(25910,38): run-time error CSS1019: Unexpected token, found ' '
(25910,38): run-time error CSS1042: Expected function, found ' '
(25910,38): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(25925,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(25926,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(25927,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(25935,22): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(25940,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(25941,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25942,24): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(25945,73): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25948,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(25949,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(25950,24): run-time error CSS1039: Token not allowed after unary operator: '-border-gold-soft'
(25953,73): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(25974,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(25975,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(25985,40): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(25989,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(26001,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26019,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(26029,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26031,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(26056,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(26057,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26061,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(26062,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26066,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(26067,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(26084,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(26092,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(26093,29): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26097,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(26110,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(26119,56): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(26120,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(26121,64): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(26141,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(26142,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(26143,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-border'
(26188,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26196,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26197,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(26206,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(26218,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(26221,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26225,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26236,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26239,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(26240,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26243,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint-2'
(26246,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(26249,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(26258,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26263,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26267,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26274,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26277,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26283,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26284,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(26285,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26312,41): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(26312,75): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26312,121): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26313,57): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26315,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint-2'
(26344,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(26350,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26359,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(26360,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26362,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26369,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(26370,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(26373,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26383,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(26385,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26393,46): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26406,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(26414,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26417,42): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26419,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(26420,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26421,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(26449,22): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26454,45): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26454,76): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(26470,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26471,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(26472,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26480,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26481,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26486,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(26487,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(26488,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26492,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(26493,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(26506,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26512,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26517,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26522,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(26556,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(26559,46): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26561,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26572,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(26581,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(26588,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26589,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26590,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(26593,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(26594,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26597,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26607,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(26615,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(26616,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26621,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26623,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26632,35): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(26633,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(26635,42): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(26641,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26651,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(26657,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26676,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26678,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(26688,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(26689,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26697,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(26703,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(26704,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26705,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26709,22): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26715,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26733,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(26748,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(26749,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(26756,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26758,43): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26764,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(26765,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(26766,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(26774,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(26776,56): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26780,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26781,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(26795,30): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(26801,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26820,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26828,64): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26898,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(26904,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26945,52): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(26952,52): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(26959,52): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(26965,49): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(26972,51): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(26976,51): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(26980,47): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-alt'
(26983,53): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(26987,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(27004,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(27034,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27053,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(27061,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(27062,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(27073,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(27073,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(27073,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(27073,112): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27073,130): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27073,148): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27085,22): run-time error CSS1039: Token not allowed after unary operator: '-loader-overlay-bg'
(27094,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(27105,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27121,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(27121,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(27121,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(27121,112): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27121,130): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27121,148): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27122,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(27129,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(27130,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(27143,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(27148,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27166,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(27170,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(27175,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(27195,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27196,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(27211,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(27226,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(27239,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(27250,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27296,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(27316,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(27320,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(27320,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(27320,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27320,118): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27320,136): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27321,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(27335,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27341,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(27350,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27351,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(27378,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(27387,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27391,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(27405,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27406,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(27411,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27428,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27438,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(27452,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(27461,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27466,33): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(27470,33): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(27471,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-danger-subtle'
(27475,33): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27476,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(27487,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(27496,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(27511,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(27515,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27528,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27536,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(27565,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(27613,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27638,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(27657,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(27662,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27667,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(27676,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(27688,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27692,33): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(27695,60): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(27696,61): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(27698,61): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(27699,64): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(27710,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(27715,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27719,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(27732,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27741,58): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(27741,100): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(27742,59): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(27742,101): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(27743,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(27743,100): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(27744,59): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(27744,98): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(27758,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27768,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(27774,44): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(27782,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27788,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(27835,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(27845,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27861,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(27921,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27922,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(27925,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(27931,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(27932,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(27945,26): run-time error CSS1030: Expected identifier, found ':'
(27945,34): run-time error CSS1031: Expected selector, found ')'
(27945,34): run-time error CSS1025: Expected comma or open brace, found ')'
(27950,26): run-time error CSS1030: Expected identifier, found ':'
(27950,34): run-time error CSS1031: Expected selector, found ')'
(27950,34): run-time error CSS1025: Expected comma or open brace, found ')'
(27960,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(27961,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(27966,26): run-time error CSS1030: Expected identifier, found ':'
(27966,34): run-time error CSS1031: Expected selector, found ')'
(27966,34): run-time error CSS1025: Expected comma or open brace, found ')'
(27979,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(27980,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(27983,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(27988,45): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(27990,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(27991,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28001,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28017,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(28018,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(28028,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(28035,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(28038,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(28039,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(28045,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28061,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(28064,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(28071,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(28075,44): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(28079,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(28080,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(28083,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(28084,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(28107,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(28115,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(28119,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28123,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28124,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(28136,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(28146,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(28147,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(28149,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(28167,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(28180,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(28189,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(28191,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(28192,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(28208,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28216,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(28221,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28236,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(28241,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28250,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(28276,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(28279,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(28284,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(28288,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(28316,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28320,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(28324,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(28332,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28338,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28351,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28356,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(28361,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(28385,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(28386,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(28413,33): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(28417,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(28421,33): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(28426,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(28426,62): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(28430,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(28434,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(28439,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(28439,62): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(28443,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(28449,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(28450,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-border'
(28458,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(28458,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(28458,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(28458,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(28460,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(28481,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28505,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(28509,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28513,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(28517,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(28531,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(28539,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(28545,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(28551,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(28557,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(28563,28): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(28564,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(28572,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(28584,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(28593,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(28594,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(28612,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(28617,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(28620,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(28631,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(28637,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28648,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(28654,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(28659,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(28662,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28676,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(28682,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(28688,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(28689,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(28690,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(28698,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(28699,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(28700,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(28709,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(28718,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(28719,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(28720,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(28737,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28753,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(28754,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28772,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(28773,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28774,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28781,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(28785,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(28805,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(28810,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(28820,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(28821,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(28822,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-border'
(28850,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(28855,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(28861,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(28884,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(28885,10): run-time error CSS1035: Expected colon, found '{'
(28985,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(28996,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(28996,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(28996,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(28996,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(28997,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(29004,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(29004,79): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(29011,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29018,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(29027,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(29037,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29042,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(29043,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(29062,36): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(29070,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(29076,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(29085,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29087,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(29097,58): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29097,76): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29097,94): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29102,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(29102,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(29102,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(29102,112): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29102,130): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29102,148): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29107,58): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29107,76): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29107,94): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29116,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29117,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(29125,77): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(29126,79): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(29127,79): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(29138,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(29146,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(29167,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(29168,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(29177,61): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29179,43): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(29179,85): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(29180,45): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(29180,87): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(29181,42): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(29181,76): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(29184,60): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(29184,104): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(29186,57): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(29207,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29208,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(29214,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29219,33): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(29223,33): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(29228,33): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(29229,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-danger-subtle'
(29233,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29234,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(29234,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(29234,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29234,118): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29234,136): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29240,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29241,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(29248,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29252,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(29253,58): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29253,76): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29253,94): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29258,33): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(29262,33): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(29267,33): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(29268,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-danger-subtle'
(29280,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(29292,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(29297,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(29309,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(29315,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(29316,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(29329,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(29341,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(29343,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(29349,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(29353,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29358,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(29370,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(29395,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(29397,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29410,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(29411,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(29412,28): run-time error CSS1039: Token not allowed after unary operator: '-status-info-border'
(29428,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(29441,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(29453,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(29458,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(29462,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(29480,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(29488,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(29498,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(29509,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(29517,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(29521,17): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(29535,60): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(29537,60): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(29544,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(29557,36): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(29572,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(29581,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29596,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(29596,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(29596,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(29596,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(29597,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(29600,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(29607,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(29632,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(29639,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(29643,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29648,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(29688,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(29693,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(29702,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(29707,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(29738,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29742,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(29756,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29766,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29770,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(29777,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29778,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(29787,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29795,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(29802,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(29804,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(29826,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29833,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(29840,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(29847,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(29860,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29861,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(29862,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(29872,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29873,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(29874,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29880,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29881,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(29882,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29888,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(29907,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(29909,33): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(29921,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(29927,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(29933,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(29983,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(29998,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(29998,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(29998,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(29998,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(29999,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(30007,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(30014,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(30021,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(30033,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30047,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30055,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(30065,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(30073,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(30073,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(30073,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(30073,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(30074,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(30082,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(30127,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(30133,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(30152,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(30165,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(30168,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(30173,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(30178,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(30190,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30195,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(30202,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(30206,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(30218,46): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(30218,81): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(30227,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(30245,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(30247,35): run-time error CSS1039: Token not allowed after unary operator: '-border-color'
(30270,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(30271,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(30282,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(30312,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(30320,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(30340,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(30345,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(30363,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(30387,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(30396,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30430,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(30439,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(30449,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(30456,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(30460,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(30461,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(30480,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(30481,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30489,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(30490,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(30497,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(30501,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(30523,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(30524,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30531,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(30556,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(30557,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30565,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(30566,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(30570,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(30571,58): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(30571,76): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(30571,94): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(30572,33): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(30577,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(30584,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(30601,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(30605,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(30609,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(30614,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(30615,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30624,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30625,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(30625,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(30625,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(30625,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(30627,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(30632,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30633,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(30638,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(30638,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(30638,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(30638,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(30639,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(30640,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30641,34): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30642,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30643,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(30649,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(30653,33): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30668,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30673,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(30698,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(30704,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(30710,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(30719,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(30730,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(30731,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30742,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30821,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30826,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(30843,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(30848,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(30854,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30871,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(30878,43): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(30882,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(30911,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(30922,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(30929,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(30950,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(30951,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(30956,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(30963,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(30967,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(30968,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(30983,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(30998,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(31003,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(31020,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(31024,33): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(31037,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(31041,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31047,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(31065,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(31066,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(31072,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(31073,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(31079,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31080,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(31098,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(31099,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(31104,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(31105,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(31114,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31116,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(31131,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31137,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(31142,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(31147,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(31154,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31156,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(31161,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(31174,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(31184,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31187,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(31192,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(31226,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31241,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(31252,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(31257,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(31266,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31268,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(31275,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(31299,58): run-time error CSS1030: Expected identifier, found '>'
(31299,81): run-time error CSS1031: Expected selector, found ')'
(31299,81): run-time error CSS1025: Expected comma or open brace, found ')'
(31305,58): run-time error CSS1030: Expected identifier, found '>'
(31305,81): run-time error CSS1031: Expected selector, found ')'
(31305,81): run-time error CSS1025: Expected comma or open brace, found ')'
(31313,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31313,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31313,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31313,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31314,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(31316,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31342,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31374,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(31382,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(31389,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(31394,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(31395,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(31399,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(31404,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(31405,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(31409,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(31417,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(31435,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(31441,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(31455,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(31462,33): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(31465,54): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(31466,51): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(31471,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(31476,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(31489,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(31499,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(31504,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(31511,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31511,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31511,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31511,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31512,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(31513,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31529,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(31531,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(31537,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(31539,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(31547,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(31555,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(31565,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(31574,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(31613,39): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(31613,76): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(31615,40): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(31615,79): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(31633,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31638,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(31645,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(31674,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(31682,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(31684,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(31694,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31708,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(31714,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31714,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31714,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31714,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31719,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31729,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(31734,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(31740,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(31744,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(31751,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(31752,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(31754,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(31767,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(31775,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(31807,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(31818,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(31847,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(31860,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31863,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31863,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31863,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31863,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31864,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(31915,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(31918,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31918,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31918,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31918,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(31919,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(31997,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(31998,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(32009,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(32019,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(32019,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint-2'
(32020,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32021,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(32022,35): run-time error CSS1019: Unexpected token, found ' '
(32022,35): run-time error CSS1019: Unexpected token, found ' '
(32022,35): run-time error CSS1042: Expected function, found ' '
(32022,35): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(32028,19): run-time error CSS1030: Expected identifier, found '>'
(32028,48): run-time error CSS1031: Expected selector, found ')'
(32028,48): run-time error CSS1025: Expected comma or open brace, found ')'
(32043,38): run-time error CSS1019: Unexpected token, found ' '
(32043,38): run-time error CSS1019: Unexpected token, found ' '
(32043,38): run-time error CSS1042: Expected function, found ' '
(32043,38): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(32049,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32053,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32054,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32055,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(32058,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(32059,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(32062,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(32063,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32064,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32067,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32068,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(32071,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(32072,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(32073,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(32083,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32090,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32095,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32101,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32135,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(32135,77): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32136,42): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(32136,84): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(32137,43): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(32137,85): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(32138,43): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(32138,85): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32139,42): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(32139,80): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(32144,44): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(32144,97): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(32147,37): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32147,86): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(32152,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32159,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32160,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(32163,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(32164,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(32167,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(32168,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(32202,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32207,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(32214,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(32244,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(32253,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32255,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(32265,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32286,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32304,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(32310,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(32310,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(32310,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(32310,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(32315,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32325,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(32330,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32336,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(32340,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(32348,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(32364,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(32365,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(32367,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(32457,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(32463,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(32463,81): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(32465,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(32473,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(32481,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32491,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(32502,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32513,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(32525,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32530,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(32531,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32562,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(32565,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(32566,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(32567,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-bright'
(32570,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(32571,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(32572,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-bright'
(32575,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(32578,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(32581,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32591,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(32595,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(32600,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(32605,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(32605,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(32605,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(32605,112): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(32605,130): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(32605,148): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(32611,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32616,58): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(32616,75): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(32616,92): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(32620,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(32626,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(32670,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(32677,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(32683,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32688,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(32694,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(32705,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(32705,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(32705,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(32705,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(32706,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(32707,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(32713,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32718,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(32729,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(32737,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(32742,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(32747,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(32760,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(32763,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(32769,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(32781,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(32787,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32805,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(32818,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(32825,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(32826,10): run-time error CSS1035: Expected colon, found '{'
(32867,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(32870,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(32883,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32888,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(32893,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(32916,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32922,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(32936,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(32940,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(32950,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(32962,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(32966,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(32970,28): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(32974,28): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(32977,44): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(32978,44): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(32979,42): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(32980,43): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(33023,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(33026,78): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(33027,78): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(33028,76): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(33042,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33052,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33081,29): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(33081,93): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(33082,103): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(33084,34): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(33085,53): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(33086,26): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33087,66): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(33088,27): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(33089,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33091,27): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33093,56): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(33095,160): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(33095,202): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(33096,162): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(33096,204): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(33097,164): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(33097,205): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(33098,163): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(33098,200): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(33130,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(33159,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(33187,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(33193,33): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(33197,33): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(33201,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(33206,29): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(33228,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33244,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(33248,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(33263,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(33268,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33275,17): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(33280,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(33289,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(33294,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33299,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(33304,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(33310,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(33311,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(33323,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(33333,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(33344,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(33370,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33371,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(33412,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(33430,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(33434,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(33438,22): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(33449,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(33451,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(33459,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(33460,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(33471,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(33475,22): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(33484,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(33490,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33508,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(33517,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(33522,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(33529,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(33537,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(33544,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(33549,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(33574,21): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(33584,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(33593,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(33593,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(33593,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(33593,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(33594,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(33602,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(33615,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(33622,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33623,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33624,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(33629,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(33630,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33635,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33640,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33641,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(33645,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33646,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33647,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(33651,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(33668,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(33669,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(33678,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33684,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(33690,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(33697,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(33702,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(33707,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(33718,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(33728,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(33738,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(33748,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(33760,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(33774,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(33783,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(33803,22): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(33804,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(33817,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33823,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33824,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(33827,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(33828,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(33834,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(33844,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(33905,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(33909,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(33910,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(33937,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(33967,33): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(33976,17): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(34010,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(34031,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34033,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(34038,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(34048,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34049,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(34065,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(34066,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(34073,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(34074,10): run-time error CSS1035: Expected colon, found '{'
(34084,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(34093,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34109,48): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(34112,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(34113,35): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(34120,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(34130,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(34139,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(34161,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(34174,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34177,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(34180,18): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(34213,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(34257,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(34270,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(34290,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(34319,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(34323,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34329,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(34339,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(34348,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(34353,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34384,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(34388,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(34389,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(34390,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(34394,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(34407,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(34413,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(34420,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(34421,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(34426,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(34435,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(34446,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34457,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(34458,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(34465,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(34470,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(34474,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(34496,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(34563,29): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(34603,38): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(34604,38): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34605,38): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(34606,38): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(34633,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(34641,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34651,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(34668,14): run-time error CSS1039: Token not allowed after unary operator: '-bp-color'
(34668,44): run-time error CSS1039: Token not allowed after unary operator: '-bp-pct'
(34669,27): run-time error CSS1039: Token not allowed after unary operator: '-bp-pct'
(34681,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(34693,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(34702,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(34708,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(34714,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(34714,63): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(34714,80): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(34716,33): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(34723,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(34723,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(34723,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(34723,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(34725,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(34733,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34737,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(34744,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(34763,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34764,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(34772,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34777,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(34781,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(34787,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(34793,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(34794,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(34795,33): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(34813,29): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(34852,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(34856,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(34867,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(34882,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34892,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(34897,17): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(34903,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(34914,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(34929,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(34930,33): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(34931,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(34940,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(34950,17): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(34964,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(34965,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(34969,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(34972,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(34973,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(34974,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(34981,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(34982,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(34987,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success-border'
(34991,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(34992,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(34997,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(35016,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(35017,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(35031,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(35032,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(35041,33): run-time error CSS1039: Token not allowed after unary operator: '-status-success-alt'
(35059,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35064,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35069,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(35077,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35106,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35117,50): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(35126,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35134,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(35148,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35150,46): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(35156,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(35169,17): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(35180,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(35181,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(35187,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-md'
(35217,34): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(35224,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35228,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(35244,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35247,38): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(35250,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(35263,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(35269,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(35276,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(35280,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(35284,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(35285,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(35312,39): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(35322,36): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(35327,51): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35329,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(35332,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-md'
(35335,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(35340,70): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35341,36): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(35342,56): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(35355,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(35361,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(35366,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(35371,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35383,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35390,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35396,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(35402,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35413,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(35414,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(35427,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35439,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(35449,49): run-time error CSS1039: Token not allowed after unary operator: '-bg-danger-subtle'
(35449,90): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(35450,50): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35450,89): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(35451,66): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(35456,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(35465,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(35471,31): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(35472,32): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(35472,84): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(35476,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(35482,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(35486,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35489,33): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(35490,35): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(35510,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35514,39): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(35523,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35524,17): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(35540,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(35545,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(35549,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(35554,17): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(35563,33): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(35568,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35572,44): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(35575,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(35586,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(35587,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35588,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(35589,33): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(35605,34): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35609,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(35611,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(35620,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35622,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(35630,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35634,40): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(35638,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(35649,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(35650,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(35656,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(35660,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35665,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(35689,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(35700,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35703,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(35710,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(35711,10): run-time error CSS1035: Expected colon, found '{'
(35719,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35720,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(35730,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(35743,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(35747,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35765,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(35766,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35771,28): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(35772,30): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35773,35): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(35773,77): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(35774,35): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(35774,68): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(35775,26): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35777,27): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(35781,30): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(35781,94): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(35782,95): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35782,134): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35782,279): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(35783,101): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(35785,35): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35787,51): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(35788,51): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35790,74): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35792,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35794,60): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(35795,59): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(35796,53): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(35798,30): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(35799,36): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(35800,114): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(35800,156): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(35801,133): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(35819,34): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(35819,98): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(35820,99): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35820,138): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35820,283): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(35821,105): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(35823,39): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35824,55): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(35825,55): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35826,63): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35827,116): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(35828,46): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(35829,44): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(35832,118): run-time error CSS1039: Token not allowed after unary operator: '-bg-danger-subtle'
(35832,159): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(35833,115): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(35833,157): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(35842,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35843,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(35852,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(35858,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(35862,22): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(35877,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35878,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35882,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35883,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(35888,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(35889,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35912,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(35920,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(35940,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35949,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(35960,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(35961,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(35962,24): run-time error CSS1039: Token not allowed after unary operator: '-border-soft'
(35969,22): run-time error CSS1039: Token not allowed after unary operator: '-card-bg'
(35970,28): run-time error CSS1039: Token not allowed after unary operator: '-border-soft'
(35988,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(35992,48): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(36003,35): run-time error CSS1039: Token not allowed after unary operator: '-border-soft'
(36004,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(36008,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(36011,54): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(36018,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(36019,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36036,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(36045,22): run-time error CSS1039: Token not allowed after unary operator: '-card-bg-subtle'
(36046,28): run-time error CSS1039: Token not allowed after unary operator: '-border-soft'
(36058,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(36072,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-info-soft'
(36073,17): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(36074,28): run-time error CSS1039: Token not allowed after unary operator: '-border-info-soft'
(36077,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-danger-soft'
(36078,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(36079,28): run-time error CSS1039: Token not allowed after unary operator: '-border-danger-soft'
(36091,56): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(36091,104): run-time error CSS1039: Token not allowed after unary operator: '-border-soft'
(36092,63): run-time error CSS1039: Token not allowed after unary operator: '-card-bg-subtle'
(36092,109): run-time error CSS1039: Token not allowed after unary operator: '-border-soft'
(36093,62): run-time error CSS1039: Token not allowed after unary operator: '-card-bg'
(36093,101): run-time error CSS1039: Token not allowed after unary operator: '-border-soft'
(36094,57): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(36095,68): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(36107,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36146,22): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(36147,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(36150,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(36151,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(36154,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(36155,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(36190,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36211,50): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36211,87): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36212,79): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36213,81): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(36214,50): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(36214,87): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(36217,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(36249,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(36253,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36254,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36257,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(36258,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(36273,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36292,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(36346,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36363,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(36364,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(36368,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(36386,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(36395,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36461,38): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(36461,95): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(36461,133): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(36462,38): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(36462,96): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(36462,142): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(36463,38): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(36463,96): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(36463,135): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(36464,38): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(36464,93): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(36464,129): run-time error CSS1039: Token not allowed after unary operator: '-status-info-text'
(36478,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36481,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36496,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(36499,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36512,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36533,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(36543,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36544,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(36545,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(36545,55): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(36545,86): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36548,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36549,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(36550,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36550,54): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36550,84): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36584,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(36610,100): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36615,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(36618,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(36629,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36632,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(36645,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(36658,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(36668,48): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(36669,54): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(36670,48): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(36671,54): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(36672,46): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(36673,52): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(36678,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(36679,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36682,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(36692,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36696,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(36702,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(36705,60): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(36706,64): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(36707,61): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(36708,65): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(36709,56): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36710,60): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(36715,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(36718,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(36723,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36726,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36729,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36737,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(36740,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(36749,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36754,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36757,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36826,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(36828,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(36837,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36840,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36845,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36851,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(36866,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(36870,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(36878,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(36880,63): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(36881,66): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36881,103): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36889,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(36890,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(36897,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36933,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(36937,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(36952,35): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(36959,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(36964,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36971,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36984,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(36985,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(36991,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(36992,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(36995,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(36996,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37016,35): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(37019,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37026,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37040,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37041,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(37047,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(37050,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37059,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37066,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(37074,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37081,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37087,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37087,81): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(37088,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(37092,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37095,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(37104,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37128,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37135,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37143,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(37156,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(37159,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(37163,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37170,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(37199,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37200,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37211,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(37214,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(37231,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(37272,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(37285,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(37305,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(37318,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(37325,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(37336,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37340,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(37355,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37377,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(37378,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(37388,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(37392,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(37394,63): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37401,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(37410,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37411,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(37431,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(37437,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(37440,24): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(37441,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37444,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(37449,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37455,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37459,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(37466,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37467,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(37480,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37500,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37518,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(37548,57): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(37551,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(37552,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(37553,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(37573,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37579,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(37602,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(37603,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(37621,52): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37626,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37632,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37633,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(37640,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(37641,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(37644,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(37651,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(37657,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37663,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(37681,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(37682,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(37684,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(37689,39): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37689,78): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37689,123): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37691,23): run-time error CSS1030: Expected identifier, found ':'
(37691,31): run-time error CSS1031: Expected selector, found ')'
(37691,31): run-time error CSS1025: Expected comma or open brace, found ')'
(37696,44): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(37696,76): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(37696,115): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(37708,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37719,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-dark'
(37724,33): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(37735,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(37746,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37751,93): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37752,51): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(37770,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37771,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37786,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(37791,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37795,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(37805,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(37808,41): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(37809,41): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(37809,83): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(37810,39): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(37814,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37818,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(37824,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(37885,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(37896,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(37898,63): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(37902,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-dark'
(37904,63): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(37908,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-dark'
(37910,65): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(37914,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(37916,64): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(37925,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(37928,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(37936,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37953,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(37967,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(37972,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(37975,24): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(37976,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(37979,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(37984,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(37988,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(37999,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(38000,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(38010,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(38011,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(38012,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38019,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38020,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(38021,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38030,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(38031,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38032,30): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38058,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(38061,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(38067,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(38067,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(38067,97): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(38067,117): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(38072,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(38083,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38092,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38096,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(38100,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(38109,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(38116,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(38118,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(38127,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(38131,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(38136,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(38144,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(38145,28): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(38157,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38174,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(38174,79): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(38178,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38189,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38218,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(38219,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(38227,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(38228,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(38229,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(38236,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(38237,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(38243,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38244,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(38245,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38249,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(38250,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(38251,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(38255,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(38256,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(38257,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(38264,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(38280,33): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(38281,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(38287,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(38301,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(38314,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(38340,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(38341,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(38342,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(38348,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(38352,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38353,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(38354,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38370,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(38384,33): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(38385,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(38407,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38407,78): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(38408,62): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(38412,42): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(38412,81): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38413,48): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38413,86): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(38416,55): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(38417,45): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(38417,83): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(38420,53): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(38432,53): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(38438,53): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(38445,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(38445,65): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38446,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38450,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38450,71): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(38485,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(38486,29): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(38497,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(38498,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38504,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(38510,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(38519,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(38520,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(38535,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(38545,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(38546,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38564,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38568,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38576,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(38582,48): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(38597,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(38642,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38679,28): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(38680,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(38687,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(38690,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(38695,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(38710,24): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(38711,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(38715,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38716,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(38722,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(38730,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(38741,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(38760,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(38765,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(38774,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(38779,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(38785,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38794,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(38805,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(38807,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(38822,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38843,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(38844,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(38855,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38873,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(38877,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(38889,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(38897,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(38905,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38911,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(38924,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(38932,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38934,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38941,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38947,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(38955,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(38961,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(38997,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(39001,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39008,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(39018,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(39063,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39101,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(39102,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(39128,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(39134,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(39143,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-page'
(39144,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(39168,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(39169,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39170,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(39179,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39184,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(39207,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(39230,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(39231,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(39252,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(39260,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39264,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(39265,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39273,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(39274,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(39286,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39293,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(39323,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39324,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39349,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(39350,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(39351,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39362,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39367,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39374,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39375,24): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39382,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39383,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39396,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(39429,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39437,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(39438,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39443,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39456,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39461,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(39465,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39469,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(39480,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(39484,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39489,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39490,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39521,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(39537,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(39541,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39544,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39550,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(39557,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(39566,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39569,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(39574,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39575,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39584,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39591,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(39602,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(39606,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39610,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(39615,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39620,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39637,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39641,34): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39648,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39654,48): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(39655,51): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(39660,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39666,47): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(39677,38): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(39682,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(39683,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(39696,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39718,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(39727,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(39730,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39741,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39742,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39765,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(39777,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39792,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(39798,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(39801,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(39806,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(39817,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(39825,40): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(39825,79): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39826,39): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(39826,78): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39827,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(39827,77): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39838,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39842,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39847,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(39864,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39865,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39866,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39872,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39873,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39880,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(39881,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(39884,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(39885,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(39891,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(39895,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(39910,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(39919,45): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39922,67): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(39923,73): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(39927,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(39939,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(39946,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(39953,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39967,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(39978,29): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(39987,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(39989,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(39994,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(39998,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(39999,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success-border'
(40007,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(40012,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40016,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40022,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(40033,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(40040,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(40050,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40054,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(40057,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40063,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40067,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40079,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(40088,49): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40089,52): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(40090,51): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(40096,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(40101,46): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(40105,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(40106,10): run-time error CSS1035: Expected colon, found '{'
(40109,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(40110,10): run-time error CSS1035: Expected colon, found '{'
(40119,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(40119,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(40119,86): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(40119,121): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(40119,138): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(40119,158): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(40120,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(40127,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(40134,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(40151,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40162,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(40163,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40171,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(40178,28): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(40182,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(40183,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(40189,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(40200,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(40201,24): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(40209,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(40229,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(40229,66): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(40229,86): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(40229,121): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(40229,138): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(40229,158): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(40230,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(40234,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(40237,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(40241,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(40245,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40249,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(40258,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(40259,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40260,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(40271,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(40278,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(40294,34): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40304,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(40313,37): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40327,36): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40335,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(40342,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(40364,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40367,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40376,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40381,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(40393,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(40394,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40398,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40399,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40416,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40417,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(40420,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40421,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40422,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(40429,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(40438,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(40460,37): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(40461,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(40470,31): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(40478,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40479,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(40485,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(40489,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(40507,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40508,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(40511,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40512,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40513,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(40519,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(40519,79): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(40520,29): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(40524,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(40528,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(40529,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(40537,22): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(40538,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(40541,33): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(40543,34): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(40546,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40574,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(40575,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40590,56): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40593,56): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(40596,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(40597,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40617,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40633,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40642,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(40649,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(40649,81): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(40650,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40672,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40688,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40697,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40704,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(40705,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40707,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(40714,36): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40723,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40792,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40802,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(40803,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40815,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40817,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(40821,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40831,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(40832,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40837,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40842,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40858,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(40859,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40862,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(40863,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40868,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(40868,81): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(40869,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40872,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(40873,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40874,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(40876,73): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40877,66): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40879,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(40880,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40882,76): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40885,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(40886,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40889,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(40890,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(40908,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(40909,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(40914,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(40917,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40923,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40927,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(40932,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(40933,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(40938,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40946,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40957,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40960,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40975,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(40976,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(40977,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(40990,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41000,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(41015,36): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(41024,35): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(41035,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41041,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(41055,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41065,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(41077,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41087,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41097,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41102,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41115,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(41130,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41134,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(41138,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41139,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(41144,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(41147,17): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(41169,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(41170,28): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(41174,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41180,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41189,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41190,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-cream'
(41191,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(41192,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41198,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(41199,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41200,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41201,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(41205,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(41206,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41209,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(41221,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(41222,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(41231,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(41231,81): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(41232,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41242,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41247,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41252,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(41265,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(41266,28): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(41274,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41278,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41282,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(41289,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41294,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(41299,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(41300,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41303,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(41316,36): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(41327,33): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(41337,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41347,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41356,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(41367,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41387,36): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(41502,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(41505,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(41506,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(41509,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41512,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41520,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41523,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41542,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(41548,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41554,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41558,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41562,52): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(41563,49): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(41564,52): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41573,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41582,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41595,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(41595,67): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41595,110): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(41597,70): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41602,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41602,60): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(41602,116): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41634,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41639,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(41640,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41651,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(41652,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(41663,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(41680,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(41685,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41690,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41694,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41697,57): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(41697,101): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(41698,56): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41698,98): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(41699,57): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(41699,100): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(41707,40): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(41707,82): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(41708,39): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(41708,81): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(41709,40): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(41709,81): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(41712,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(41721,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41725,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41726,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(41730,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(41734,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41739,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(41744,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41749,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(41755,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41788,34): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(41796,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(41802,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41815,51): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(41818,22): run-time error CSS1039: Token not allowed after unary operator: '-status-info-bg'
(41820,33): run-time error CSS1039: Token not allowed after unary operator: '-status-info'
(41826,34): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41827,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-magenta'
(41831,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(41832,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(41835,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(41841,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(41844,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(41850,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(41871,56): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(41871,120): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(41872,36): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41874,72): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(41875,34): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41877,41): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41879,36): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41880,70): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41885,43): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41886,42): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41887,65): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41889,73): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41902,145): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(41902,184): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(41904,63): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41907,62): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(41908,99): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(41910,89): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(41910,125): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41911,72): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41911,110): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41914,82): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(41914,118): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41915,65): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41915,103): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(41919,48): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(41919,90): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(41920,50): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(41920,92): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(41921,52): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(41921,93): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(41922,76): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41923,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41925,70): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(41926,39): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41927,86): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41928,85): run-time error CSS1039: Token not allowed after unary operator: '-accent'
(41936,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-soft'
(41937,28): run-time error CSS1039: Token not allowed after unary operator: '-border-soft'
(41944,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41966,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(41967,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(41970,55): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(41970,97): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(41970,148): run-time error CSS1039: Token not allowed after unary operator: '-status-success-border'
(41971,55): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(41971,96): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(41971,146): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-border'
(41972,55): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(41973,55): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(41992,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(41993,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(41997,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(41998,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42014,35): run-time error CSS1039: Token not allowed after unary operator: '-border-soft'
(42178,22): run-time error CSS1039: Token not allowed after unary operator: '-surface-elev'
(42179,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(42180,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(42184,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42194,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(42198,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(42203,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42208,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(42216,22): run-time error CSS1039: Token not allowed after unary operator: '-surface-elev'
(42217,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42224,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42229,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-secondary'
(42247,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(42259,22): run-time error CSS1039: Token not allowed after unary operator: '-surface-elev'
(42278,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(42280,22): run-time error CSS1039: Token not allowed after unary operator: '-card-bg'
(42284,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42285,22): run-time error CSS1039: Token not allowed after unary operator: '-surface-elev'
(42288,22): run-time error CSS1039: Token not allowed after unary operator: '-card-bg'
(42293,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-secondary'
(42316,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(42321,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(42325,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42341,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(42345,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(42351,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(42352,22): run-time error CSS1039: Token not allowed after unary operator: '-surface-elev'
(42357,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42399,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(42406,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42417,22): run-time error CSS1039: Token not allowed after unary operator: '-surface-elev'
(42418,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42419,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(42425,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42433,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42439,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-secondary'
(42442,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(42447,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42451,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-secondary'
(42452,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(42455,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-secondary'
(42479,22): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(42483,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42490,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-secondary'
(42502,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(42503,10): run-time error CSS1035: Expected colon, found '{'
(42508,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42512,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-secondary'
(42516,17): run-time error CSS1039: Token not allowed after unary operator: '-page-title-color'
(42533,22): run-time error CSS1039: Token not allowed after unary operator: '-surface-elev'
(42534,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42542,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42547,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-secondary'
(42556,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(42580,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42597,17): run-time error CSS1039: Token not allowed after unary operator: '-page-title-color'
(42609,35): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(42615,31): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(42629,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(42634,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(42638,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(42643,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(42650,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(42663,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(42667,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42671,17): run-time error CSS1039: Token not allowed after unary operator: '-page-title-color'
(42679,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42688,17): run-time error CSS1039: Token not allowed after unary operator: '-page-title-color'
(42721,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42728,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42729,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42752,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42763,17): run-time error CSS1039: Token not allowed after unary operator: '-page-title-color'
(42798,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42810,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(42811,24): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(42818,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42825,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(42847,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42865,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(42866,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(42875,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(42878,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(42891,65): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(42901,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(42902,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(42904,38): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(42904,80): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(42905,40): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(42905,82): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(42906,42): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(42906,83): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(42911,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(42917,37): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(42917,94): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(42923,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(42925,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(42933,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42934,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-tint'
(42937,81): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(42938,55): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(42945,29): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(42947,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(42950,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(42959,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(42967,58): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(42979,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(42989,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-tint'
(42992,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(42995,31): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43010,29): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(43012,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(43017,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(43020,38): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43024,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(43032,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(43035,55): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(43046,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43085,42): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(43086,42): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(43087,42): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(43088,42): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(43093,88): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(43095,72): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(43095,130): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(43101,57): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(43104,57): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(43121,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(43131,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43133,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43138,44): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43140,45): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43174,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43182,31): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(43186,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43189,55): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43199,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43207,111): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43210,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43250,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(43250,79): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(43262,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43263,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(43270,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(43271,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(43277,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43278,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(43331,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(43337,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(43353,28): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(43355,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(43361,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43362,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43365,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43380,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(43388,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43389,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43390,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43398,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(43416,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(43417,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(43418,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(43420,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(43424,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(43427,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(43428,24): run-time error CSS1039: Token not allowed after unary operator: '-border-subtle'
(43432,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43464,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43472,54): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43481,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43490,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(43490,74): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43491,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43492,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(43494,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(43502,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(43516,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(43521,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(43525,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(43526,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(43529,22): run-time error CSS1039: Token not allowed after unary operator: '-shadow-sm'
(43536,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(43544,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(43548,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(43554,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(43562,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43563,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(43570,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(43571,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(43578,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(43579,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(43583,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(43589,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43590,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43591,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43594,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43595,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43599,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43606,22): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(43609,61): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(43610,62): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(43628,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43629,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43633,35): run-time error CSS1039: Token not allowed after unary operator: '-border-brand'
(43641,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(43647,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43650,36): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(43656,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(43667,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(43672,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(43678,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(43690,17): run-time error CSS1039: Token not allowed after unary operator: '-accent-purple'
(43694,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(43694,77): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43697,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(43698,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(43703,31): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(43706,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(43709,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(43710,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(43714,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43717,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43732,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(43738,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(43749,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43777,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(43779,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(43780,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(43792,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43793,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(43796,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43797,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43798,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43805,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43812,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(43843,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(43846,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(43860,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(43861,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(43864,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43867,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43868,17): run-time error CSS1039: Token not allowed after unary operator: '-page-title-color'
(43869,24): run-time error CSS1039: Token not allowed after unary operator: '-page-title-color'
(43873,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(43886,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(43887,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(43890,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(43893,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(43896,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(43897,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(43898,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(43901,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(43921,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(43922,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(43926,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(43933,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(43939,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(43942,50): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(43951,69): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(43965,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(43966,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(43976,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(44008,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44015,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(44017,48): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(44024,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44025,30): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(44027,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(44031,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44044,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(44046,46): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(44047,51): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(44048,55): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(44049,57): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(44072,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(44075,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(44076,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(44086,53): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44090,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44096,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(44106,77): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(44107,54): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(44108,38): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44110,37): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44114,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(44114,78): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(44115,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(44126,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44133,30): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44134,32): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(44136,47): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(44140,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(44141,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(44146,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(44161,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(44163,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(44169,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(44170,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(44173,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44174,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(44175,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(44178,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(44179,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(44182,46): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(44182,78): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(44184,52): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(44185,52): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(44203,47): run-time error CSS1039: Token not allowed after unary operator: '-border-color'
(44203,157): run-time error CSS1039: Token not allowed after unary operator: '-card-bg'
(44204,49): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44205,53): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44206,85): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(44207,64): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(44209,50): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(44210,60): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44218,113): run-time error CSS1039: Token not allowed after unary operator: '-bh-border'
(44219,45): run-time error CSS1039: Token not allowed after unary operator: '-bh-primary'
(44227,108): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44228,48): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(44228,99): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44230,76): run-time error CSS1039: Token not allowed after unary operator: '-bh-border'
(44233,81): run-time error CSS1039: Token not allowed after unary operator: '-bh-border'
(44266,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(44272,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44300,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(44305,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(44306,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(44309,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(44317,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-light'
(44324,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(44325,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(44332,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(44333,22): run-time error CSS1039: Token not allowed after unary operator: '-cream'
(44342,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(44348,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(44351,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(44365,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(44366,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(44379,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(44385,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44404,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(44405,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(44412,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44417,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(44429,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44441,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(44449,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(44470,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(44472,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(44474,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(44479,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44480,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(44487,85): run-time error CSS1039: Token not allowed after unary operator: '-border-color'
(44487,119): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(44489,42): run-time error CSS1039: Token not allowed after unary operator: '-hover-bg'
(44490,48): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(44492,65): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(44493,128): run-time error CSS1039: Token not allowed after unary operator: '-subtle-bg'
(44493,180): run-time error CSS1039: Token not allowed after unary operator: '-border-color'
(44494,56): run-time error CSS1039: Token not allowed after unary operator: '-page-title-color'
(44495,56): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(44497,53): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(44498,44): run-time error CSS1039: Token not allowed after unary operator: '-border-color'
(44499,113): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(44499,165): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(44499,217): run-time error CSS1039: Token not allowed after unary operator: '-page-title-color'
(44501,71): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(44501,110): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(44504,47): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(44507,99): run-time error CSS1039: Token not allowed after unary operator: '-card-bg'
(44507,137): run-time error CSS1039: Token not allowed after unary operator: '-border-color'
(44509,69): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(44510,43): run-time error CSS1039: Token not allowed after unary operator: '-hover-bg'
(44514,52): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(44527,1): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,27): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,706): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,724): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,1533): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,1558): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,1597): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,1614): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,1710): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,1735): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,1918): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,1935): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,2175): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,2205): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,2668): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,2690): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,3225): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,3250): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,3495): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,3512): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,3814): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,3843): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,4346): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,4367): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,5023): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,5048): run-time error CSS1062: Expected semicolon or closing curly-brace, found '20%'
(44527,5346): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,5363): run-time error CSS1062: Expected semicolon or closing curly-brace, found '20%'
(44527,5782): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,5806): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,6231): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,6247): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,6726): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,6752): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,7381): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,7399): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,8088): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,8113): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,8904): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,8921): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,9825): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,9854): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,10112): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,10133): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,10600): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,10628): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,11215): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,11235): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,11944): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,11976): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,12503): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,12527): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,13132): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,13164): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,13691): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,13715): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,14320): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,14353): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,14880): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,14905): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,15513): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,15543): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,16070): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,16092): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,16691): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,16720): run-time error CSS1062: Expected semicolon or closing curly-brace, found '20%'
(44527,16954): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,16975): run-time error CSS1062: Expected semicolon or closing curly-brace, found '20%'
(44527,17334): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,17367): run-time error CSS1062: Expected semicolon or closing curly-brace, found '20%'
(44527,17625): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,17650): run-time error CSS1062: Expected semicolon or closing curly-brace, found '20%'
(44527,17989): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,18022): run-time error CSS1062: Expected semicolon or closing curly-brace, found '20%'
(44527,18200): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,18225): run-time error CSS1062: Expected semicolon or closing curly-brace, found '20%'
(44527,18484): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,18518): run-time error CSS1062: Expected semicolon or closing curly-brace, found '20%'
(44527,18696): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,18722): run-time error CSS1062: Expected semicolon or closing curly-brace, found '20%'
(44527,18984): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,19015): run-time error CSS1062: Expected semicolon or closing curly-brace, found '20%'
(44527,19275): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,19298): run-time error CSS1062: Expected semicolon or closing curly-brace, found '20%'
(44527,19633): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,19659): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,19686): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,19704): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,19791): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,19821): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,19978): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,20000): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,20229): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,20262): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,20423): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,20448): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,20690): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,20720): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,20877): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,20899): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,21128): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,21161): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,21322): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,21347): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,21589): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,21620): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,21775): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,21798): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,22028): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,22062): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,22221): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,22247): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,22490): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,22518): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,22673): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,22693): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,22914): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,22945): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,23104): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,23127): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,23361): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,23388): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,23415): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,23434): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,23524): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,23555): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,23654): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,23677): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,23851): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,23885): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,23988): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,24014): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,24201): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,24232): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,24333): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,24356): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,24532): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,24566): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,24671): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,24697): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,24886): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,24918): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,25017): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,25041): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,25218): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,25253): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,25356): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,25383): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,25573): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,25602): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,25703): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,25724): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,25894): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,25926): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,26031): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,26055): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,26238): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,26262): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,27429): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,27445): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,28739): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,28766): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,29409): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,29428): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,30218): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,30245): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,30888): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,30907): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,31697): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,31725): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,32016): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,32036): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,32533): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,32561): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,32852): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,32872): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,33369): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,33401): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,33700): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,33724): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,34179): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,34212): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,34337): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,34362): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,34644): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,34672): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,34927): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,34947): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,35268): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,35304): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,35577): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,35605): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,35968): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,36005): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,36280): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,36309): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,36677): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,36711): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,36982): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,37008): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,37363): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,37398): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,37675): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,37702): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,38066): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,38095): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,38292): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,38313): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,38579): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,38616): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,38831): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,38860): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,39168): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,39206): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,39427): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,39457): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,39774): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,39809): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,40026): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,40053): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,40357): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,40393): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,40612): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,40640): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,40949): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,40974): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,41635): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,41652): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,42422): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,42454): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,42793): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,42817): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,43234): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,43260): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,43449): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,43467): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,43716): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,43743): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,43872): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,43891): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,44083): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,44109): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,44201): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,44219): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,44371): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,44401): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,44907): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,44929): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,45507): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,45537): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,46043): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,46065): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,46643): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,46674): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,47180): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,47203): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,47784): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,47812): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,48318): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,48338): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,48910): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,48937): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,49042): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,49061): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,49229): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,49260): run-time error CSS1062: Expected semicolon or closing curly-brace, found '40%'
(44527,49836): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,49859): run-time error CSS1062: Expected semicolon or closing curly-brace, found '40%'
(44527,50510): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,50541): run-time error CSS1062: Expected semicolon or closing curly-brace, found '40%'
(44527,50853): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,50876): run-time error CSS1062: Expected semicolon or closing curly-brace, found '40%'
(44527,51263): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,51295): run-time error CSS1062: Expected semicolon or closing curly-brace, found '40%'
(44527,51609): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,51633): run-time error CSS1062: Expected semicolon or closing curly-brace, found '40%'
(44527,52025): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,52054): run-time error CSS1062: Expected semicolon or closing curly-brace, found '40%'
(44527,52630): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,52651): run-time error CSS1062: Expected semicolon or closing curly-brace, found '40%'
(44527,53296): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,53327): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,53483): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,53506): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,53737): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,53768): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,53924): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,53947): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,54178): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,54210): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,54364): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,54388): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,54620): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,54649): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,54803): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,54824): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,55047): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,55079): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,55232): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,55256): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,55487): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,55519): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,55674): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,55698): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,55931): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,55964): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,56117): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,56142): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,56376): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
(44527,56406): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44527,56561): run-time error CSS1019: Unexpected token, found '@keyframes'
(44527,56583): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(44532,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(44713,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(44730,29): run-time error CSS1039: Token not allowed after unary operator: '-toolbar-height'
(44748,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(44757,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(44762,25): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44774,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(44778,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44786,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(44798,30): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44809,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(44874,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(44894,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(44899,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(44905,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(44918,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(44935,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(44962,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(44972,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(44989,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(45026,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(45054,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(45064,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(45074,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(45078,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45083,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(45088,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(45127,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(45132,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45160,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(45163,31): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent-soft'
(45166,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(45169,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(45170,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45171,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(45179,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45182,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(45186,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(45193,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(45194,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45195,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(45198,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(45202,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(45203,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(45207,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(45208,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45209,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(45213,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(45219,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(45220,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(45221,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45225,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(45226,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45227,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(45231,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(45232,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(45233,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45236,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(45237,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45238,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(45242,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(45243,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(45246,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45249,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(45252,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(45256,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(45257,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45258,24): run-time error CSS1039: Token not allowed after unary operator: '-border-strong'
(45380,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(45381,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(45385,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45407,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45412,30): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(45413,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(45417,25): run-time error CSS1039: Token not allowed after unary operator: '-danger'
(45425,26): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(45437,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(45439,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(45440,21): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(45445,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(45471,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(45472,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(45486,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(45495,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(45511,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(45521,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(45522,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(45524,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(45550,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(45551,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(45553,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(45582,17): run-time error CSS1039: Token not allowed after unary operator: '-text-tertiary'
(45593,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(45606,35): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(45607,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(45620,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(45630,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(45667,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(45668,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(45670,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(45680,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(45696,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(45700,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(45708,17): run-time error CSS1039: Token not allowed after unary operator: '-text-strong'
(45712,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(45746,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(45748,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(45755,31): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(45771,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(45809,27): run-time error CSS1039: Token not allowed after unary operator: '-scrollbar-thumb'
(45812,28): run-time error CSS1039: Token not allowed after unary operator: '-scrollbar-thumb'
(45815,28): run-time error CSS1039: Token not allowed after unary operator: '-scrollbar-thumb-hover'
(45822,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(45823,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(45830,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(45831,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(45834,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(45835,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(45913,21): run-time error CSS1030: Expected identifier, found '>'
(45913,36): run-time error CSS1031: Expected selector, found ')'
(45913,36): run-time error CSS1025: Expected comma or open brace, found ')'
(46448,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(46449,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(46453,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(46458,36): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(46463,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(46479,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(46480,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(46483,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(46484,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(46488,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(46503,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(46505,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(46525,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(46526,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(46529,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(46530,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(46582,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(46614,21): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(46690,14): run-time error CSS1039: Token not allowed after unary operator: '-wl-forecast-base-bg'
(46691,14): run-time error CSS1039: Token not allowed after unary operator: '-wl-forecast-base-bg'
(46692,14): run-time error CSS1039: Token not allowed after unary operator: '-wl-forecast-stripe-color'
(46693,14): run-time error CSS1039: Token not allowed after unary operator: '-wl-forecast-stripe-color'
(46709,14): run-time error CSS1039: Token not allowed after unary operator: '-es-provisional-border'
(46710,14): run-time error CSS1039: Token not allowed after unary operator: '-es-provisional-border'
(46737,45): run-time error CSS1039: Token not allowed after unary operator: '-es-provisional-bg'
(46737,78): run-time error CSS1039: Token not allowed after unary operator: '-es-provisional-fg'
(46737,118): run-time error CSS1039: Token not allowed after unary operator: '-es-provisional-border'
(46738,45): run-time error CSS1039: Token not allowed after unary operator: '-es-draft-bg'
(46738,78): run-time error CSS1039: Token not allowed after unary operator: '-es-draft-fg'
(46738,118): run-time error CSS1039: Token not allowed after unary operator: '-es-draft-border'
(46739,45): run-time error CSS1039: Token not allowed after unary operator: '-es-pending-bg'
(46739,78): run-time error CSS1039: Token not allowed after unary operator: '-es-pending-fg'
(46739,118): run-time error CSS1039: Token not allowed after unary operator: '-es-pending-border'
(46740,45): run-time error CSS1039: Token not allowed after unary operator: '-es-active-bg'
(46740,78): run-time error CSS1039: Token not allowed after unary operator: '-es-active-fg'
(46740,118): run-time error CSS1039: Token not allowed after unary operator: '-es-active-border'
(46741,45): run-time error CSS1039: Token not allowed after unary operator: '-es-closed-bg'
(46741,78): run-time error CSS1039: Token not allowed after unary operator: '-es-closed-fg'
(46741,118): run-time error CSS1039: Token not allowed after unary operator: '-es-closed-border'
(46757,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(46758,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(46759,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(46768,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(46775,37): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(46785,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(46798,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(46816,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(46817,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(46828,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(46839,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-gold-tint'
(46840,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(46843,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(46850,46): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(46852,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(46856,59): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(46863,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(46865,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(46868,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(46874,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(46880,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(46883,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(46895,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(46910,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(46911,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(46917,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(46918,10): run-time error CSS1035: Expected colon, found '{'
(46936,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(46937,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(46944,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(46950,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(46967,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(46968,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(46988,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(47009,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(47085,61): run-time error CSS1039: Token not allowed after unary operator: '-es-provisional-border'
(47089,14): run-time error CSS1039: Token not allowed after unary operator: '-es-provisional-bg'
(47090,14): run-time error CSS1039: Token not allowed after unary operator: '-es-provisional-bg'
(47094,17): run-time error CSS1039: Token not allowed after unary operator: '-es-provisional-fg'
(47095,31): run-time error CSS1039: Token not allowed after unary operator: '-es-provisional-border'
(47098,61): run-time error CSS1039: Token not allowed after unary operator: '-es-draft-border'
(47100,22): run-time error CSS1039: Token not allowed after unary operator: '-es-draft-bg'
(47101,17): run-time error CSS1039: Token not allowed after unary operator: '-es-draft-fg'
(47102,31): run-time error CSS1039: Token not allowed after unary operator: '-es-draft-border'
(47105,61): run-time error CSS1039: Token not allowed after unary operator: '-es-pending-border'
(47107,22): run-time error CSS1039: Token not allowed after unary operator: '-es-pending-bg'
(47108,17): run-time error CSS1039: Token not allowed after unary operator: '-es-pending-fg'
(47109,31): run-time error CSS1039: Token not allowed after unary operator: '-es-pending-border'
(47112,61): run-time error CSS1039: Token not allowed after unary operator: '-es-active-border'
(47114,22): run-time error CSS1039: Token not allowed after unary operator: '-es-active-bg'
(47115,17): run-time error CSS1039: Token not allowed after unary operator: '-es-active-fg'
(47116,31): run-time error CSS1039: Token not allowed after unary operator: '-es-active-border'
(47119,61): run-time error CSS1039: Token not allowed after unary operator: '-es-closed-border'
(47121,22): run-time error CSS1039: Token not allowed after unary operator: '-es-closed-bg'
(47122,17): run-time error CSS1039: Token not allowed after unary operator: '-es-closed-fg'
(47123,31): run-time error CSS1039: Token not allowed after unary operator: '-es-closed-border'
(47152,28): run-time error CSS1039: Token not allowed after unary operator: '-block-color'
(47152,47): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(47153,17): run-time error CSS1039: Token not allowed after unary operator: '-block-text-color'
(47176,17): run-time error CSS1039: Token not allowed after unary operator: '-block-text-color'
(47220,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(47221,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47238,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(47244,43): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(47245,58): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(47286,17): run-time error CSS1039: Token not allowed after unary operator: '-actual-pct'
(47287,22): run-time error CSS1039: Token not allowed after unary operator: '-wl-actual-progress-bg'
(47291,22): run-time error CSS1039: Token not allowed after unary operator: '-eh-over'
(47300,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(47313,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47314,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(47315,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(47322,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(47324,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(47333,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(47352,39): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(47352,72): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(47353,39): run-time error CSS1039: Token not allowed after unary operator: '-es-draft-bg'
(47353,72): run-time error CSS1039: Token not allowed after unary operator: '-es-draft-fg'
(47354,39): run-time error CSS1039: Token not allowed after unary operator: '-es-active-bg'
(47354,72): run-time error CSS1039: Token not allowed after unary operator: '-es-active-fg'
(47355,39): run-time error CSS1039: Token not allowed after unary operator: '-eh-under-bg'
(47355,72): run-time error CSS1039: Token not allowed after unary operator: '-eh-under'
(47356,39): run-time error CSS1039: Token not allowed after unary operator: '-eh-over-bg'
(47356,72): run-time error CSS1039: Token not allowed after unary operator: '-eh-over'
(47359,39): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(47359,72): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(47360,39): run-time error CSS1039: Token not allowed after unary operator: '-es-active-bg'
(47360,72): run-time error CSS1039: Token not allowed after unary operator: '-es-active-fg'
(47367,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(47368,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47383,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(47388,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(47393,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(47400,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(47407,37): run-time error CSS1039: Token not allowed after unary operator: '-brand-secondary'
(47408,49): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(47411,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(47433,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(47448,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(47449,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47462,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(47466,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(47475,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(47476,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47490,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(47507,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(47524,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(47527,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(47535,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(47536,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47539,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(47540,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47546,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(47557,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(47565,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(47583,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(47584,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47588,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(47598,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(47630,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(47649,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(47650,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47651,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(47666,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(47692,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47719,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(47720,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(47721,28): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(47735,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(47736,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-dark'
(47751,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47755,31): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(47756,33): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(47757,34): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(47768,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(47769,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(47791,40): run-time error CSS1039: Token not allowed after unary operator: '-status-success'
(47792,36): run-time error CSS1039: Token not allowed after unary operator: '-status-danger'
(47793,37): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(47802,33): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47816,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(47834,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(47835,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47842,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(47850,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47853,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(47854,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(47857,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(47864,50): run-time error CSS1039: Token not allowed after unary operator: '-eh-ontrack'
(47865,50): run-time error CSS1039: Token not allowed after unary operator: '-eh-over'
(47866,50): run-time error CSS1039: Token not allowed after unary operator: '-eh-under'
(47876,52): run-time error CSS1039: Token not allowed after unary operator: '-eh-ontrack'
(47877,52): run-time error CSS1039: Token not allowed after unary operator: '-eh-over'
(47878,52): run-time error CSS1039: Token not allowed after unary operator: '-eh-under'
(47893,22): run-time error CSS1039: Token not allowed after unary operator: '-conflict-overlay'
(47898,17): run-time error CSS1039: Token not allowed after unary operator: '-eh-over'
(47901,17): run-time error CSS1039: Token not allowed after unary operator: '-conflict-icon'
(47910,64): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(47920,46): run-time error CSS1039: Token not allowed after unary operator: '-eh-over-bg'
(48000,22): run-time error CSS1039: Token not allowed after unary operator: '-legacy-bg'
(48001,17): run-time error CSS1039: Token not allowed after unary operator: '-legacy-fg'
(48002,28): run-time error CSS1039: Token not allowed after unary operator: '-legacy-border'
(48014,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(48015,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(48032,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(48041,29): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(48048,59): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(48049,61): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(48052,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(48068,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-purple-tint'
(48069,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(48075,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(48078,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(48079,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(48088,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(48093,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(48104,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(48106,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(48109,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(48124,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(48130,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(48138,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(48161,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(48177,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(48190,26): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(48192,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(48205,39): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(48212,21): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(48268,112): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(48284,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(48319,38): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(48455,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(48457,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(48459,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(48463,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(48502,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(48507,22): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(48511,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(48520,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(48521,22): run-time error CSS1039: Token not allowed after unary operator: '-card-subtle-bg'
(48522,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(48526,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(48530,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(48612,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(48623,50): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(48778,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(48783,40): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(48784,55): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(48784,110): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(48791,66): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(48792,31): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(48803,45): run-time error CSS1039: Token not allowed after unary operator: '-eh-over-bg'
(48803,72): run-time error CSS1039: Token not allowed after unary operator: '-eh-over'
(48804,45): run-time error CSS1039: Token not allowed after unary operator: '-eh-under-bg'
(48804,72): run-time error CSS1039: Token not allowed after unary operator: '-eh-under'
(48808,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(48827,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(48851,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(48856,42): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(48857,57): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(48857,112): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(48859,73): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(48860,38): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(48872,50): run-time error CSS1039: Token not allowed after unary operator: '-eh-over-bg'
(48872,86): run-time error CSS1039: Token not allowed after unary operator: '-eh-over'
(48873,50): run-time error CSS1039: Token not allowed after unary operator: '-eh-under-bg'
(48873,86): run-time error CSS1039: Token not allowed after unary operator: '-eh-under'
(48874,50): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(48874,86): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(48895,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(48900,51): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(48901,66): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(48901,121): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(48906,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(48921,71): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(48978,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(48980,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(48991,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(48992,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(49004,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(49017,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(49032,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49037,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(49060,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49096,46): run-time error CSS1039: Token not allowed after unary operator: '-weeks'
(49096,64): run-time error CSS1039: Token not allowed after unary operator: '-col-w'
(49099,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(49110,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(49121,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(49126,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(49131,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(49136,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(49162,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49166,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(49173,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(49200,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49201,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49222,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(49223,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(49224,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49238,50): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(49241,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(49244,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(49246,53): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(49251,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49262,34): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(49284,34): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(49292,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49299,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(49315,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49329,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(49330,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49360,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49365,20): run-time error CSS1030: Expected identifier, found '.'
(49365,35): run-time error CSS1031: Expected selector, found ')'
(49365,35): run-time error CSS1025: Expected comma or open brace, found ')'
(49376,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49381,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49394,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(49395,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(49396,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(49408,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49417,22): run-time error CSS1039: Token not allowed after unary operator: '-conflict-overlay'
(49418,17): run-time error CSS1039: Token not allowed after unary operator: '-conflict-icon'
(49427,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49431,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49434,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49437,48): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49437,73): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49437,99): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(49437,124): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(49451,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(49452,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(49455,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(49462,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(49470,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(49471,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(49475,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(49481,24): run-time error CSS1039: Token not allowed after unary operator: '-chip-color'
(49481,42): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49485,22): run-time error CSS1039: Token not allowed after unary operator: '-chip-color'
(49485,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49486,24): run-time error CSS1039: Token not allowed after unary operator: '-chip-color'
(49486,42): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49498,22): run-time error CSS1039: Token not allowed after unary operator: '-chip-color'
(49498,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49519,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(49520,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(49530,29): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(49532,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(49538,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49539,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49557,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(49560,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(49561,24): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(49562,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(49565,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(49566,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(49574,34): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(49582,22): run-time error CSS1039: Token not allowed after unary operator: '-conflict-overlay'
(49591,17): run-time error CSS1039: Token not allowed after unary operator: '-conflict-icon'
(49604,30): run-time error CSS1039: Token not allowed after unary operator: '-lane'
(49610,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(49641,86): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(49680,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(49693,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(49697,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49704,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(49708,38): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(49711,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(49726,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(49727,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(49733,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(49734,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49737,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(49744,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-purple-tint'
(49745,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49752,70): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(49753,50): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(49754,31): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(49758,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(49759,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(49765,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(49784,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(49789,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49793,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(49794,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49801,22): run-time error CSS1039: Token not allowed after unary operator: '-es-pending-bg'
(49802,28): run-time error CSS1039: Token not allowed after unary operator: '-es-pending-border'
(49815,17): run-time error CSS1039: Token not allowed after unary operator: '-es-pending-fg'
(49819,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(49836,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(49837,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(49839,38): run-time error CSS1039: Token not allowed after unary operator: '-es-pending-fg'
(49839,75): run-time error CSS1039: Token not allowed after unary operator: '-es-pending-border'
(49840,38): run-time error CSS1039: Token not allowed after unary operator: '-eh-over'
(49840,75): run-time error CSS1039: Token not allowed after unary operator: '-eh-over'
(49841,38): run-time error CSS1039: Token not allowed after unary operator: '-es-draft-fg'
(49841,75): run-time error CSS1039: Token not allowed after unary operator: '-es-draft-border'
(49849,32): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(49853,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(49862,59): run-time error CSS1039: Token not allowed after unary operator: '-eh-ontrack'
(49863,59): run-time error CSS1039: Token not allowed after unary operator: '-eh-over'
(49864,59): run-time error CSS1039: Token not allowed after unary operator: '-eh-under'
(49886,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(49887,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(49902,17): run-time error CSS1039: Token not allowed after unary operator: '-eh-ontrack'
(49906,17): run-time error CSS1039: Token not allowed after unary operator: '-eh-ontrack'
(49909,17): run-time error CSS1039: Token not allowed after unary operator: '-eh-ontrack'
(49913,17): run-time error CSS1039: Token not allowed after unary operator: '-eh-ontrack'
(49921,17): run-time error CSS1039: Token not allowed after unary operator: '-text-strong'
(49923,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(49927,17): run-time error CSS1039: Token not allowed after unary operator: '-text-strong'
(49928,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(49935,57): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(49957,28): run-time error CSS1039: Token not allowed after unary operator: '-eh-over-bg'
(49962,28): run-time error CSS1039: Token not allowed after unary operator: '-eh-under-bg'
(49967,28): run-time error CSS1039: Token not allowed after unary operator: '-eh-over-bg'
(49968,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(49973,28): run-time error CSS1039: Token not allowed after unary operator: '-eh-under-bg'
(49974,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(49979,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(49984,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-elevated'
(50024,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(50028,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50035,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(50038,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-light'
(50101,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50121,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50123,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(50134,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50138,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-light'
(50139,31): run-time error CSS1039: Token not allowed after unary operator: '-border-medium-dark'
(50144,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-light'
(50485,35): run-time error CSS1039: Token not allowed after unary operator: '-border-medium'
(50488,31): run-time error CSS1039: Token not allowed after unary operator: '-border-medium-dark'
(50529,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50530,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(50545,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50547,29): run-time error CSS1039: Token not allowed after unary operator: '-border-medium'
(50555,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-light'
(50560,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted-dark'
(50561,24): run-time error CSS1039: Token not allowed after unary operator: '-border-medium-dark'
(50573,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(50574,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(50576,59): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50577,95): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(50578,58): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50579,59): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50580,60): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50581,42): run-time error CSS1039: Token not allowed after unary operator: '-status-success-bg'
(50582,46): run-time error CSS1039: Token not allowed after unary operator: '-status-success-text'
(50583,42): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(50584,46): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(50585,42): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(50586,46): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(50587,46): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50623,22): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-bg'
(50624,17): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-text'
(50625,24): run-time error CSS1039: Token not allowed after unary operator: '-status-warning-border'
(50628,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(50629,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50634,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50659,35): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(50660,42): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(50661,50): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(50662,33): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(50663,35): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(50664,48): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(50673,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50674,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50675,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(50679,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50680,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50681,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(50689,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(50694,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50696,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(50703,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(50708,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50710,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50714,64): run-time error CSS1039: Token not allowed after unary operator: '-eh-over'
(50715,64): run-time error CSS1039: Token not allowed after unary operator: '-eh-under'
(50716,65): run-time error CSS1039: Token not allowed after unary operator: '-eh-ontrack'
(50717,66): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50720,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50745,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(50758,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50784,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(50785,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(50786,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(50793,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(50794,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50797,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50798,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50799,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-dark'
(50810,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50826,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(50829,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(50831,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50832,38): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50835,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(50846,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(50847,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(50864,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50873,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50877,44): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50882,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(50883,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(50893,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50908,83): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50909,52): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50910,52): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(50911,52): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(50911,96): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(50931,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50938,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(50954,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(50955,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(50956,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(50970,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50979,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(50980,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50983,70): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(50985,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(50986,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(50987,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50991,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50992,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50998,46): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(50998,84): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(51002,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51007,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(51008,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(51009,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51011,87): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51041,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51045,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(51057,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(51058,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51073,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(51074,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51094,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51102,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51108,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51114,85): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51117,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(51118,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51141,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51164,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(51165,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51167,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51171,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(51172,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51173,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(51199,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51203,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(51204,32): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51208,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint-2'
(51224,29): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51229,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51246,24): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51258,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(51292,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51310,53): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51343,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51346,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(51351,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(51356,63): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(51357,56): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51363,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51367,59): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51370,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(51374,41): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51376,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(51377,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51397,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51400,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(51405,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51413,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51420,51): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(51421,51): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(51421,91): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51430,73): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(51438,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51442,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51448,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51450,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(51450,37): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(51461,47): run-time error CSS1039: Token not allowed after unary operator: '-bg-purple-tint'
(51464,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51468,70): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51469,56): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51473,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51474,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(51475,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51487,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51489,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51492,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(51493,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51511,32): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51515,56): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(51515,96): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51530,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(51531,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51534,71): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51535,70): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51536,57): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(51536,97): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51542,33): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51546,55): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51553,77): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51562,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51564,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-card'
(51568,46): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51569,50): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51570,82): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(51571,62): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51573,47): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(51574,57): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51575,58): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(51575,98): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51581,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(51582,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51587,99): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(51589,76): run-time error CSS1039: Token not allowed after unary operator: '-brand-accent'
(51590,83): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51591,77): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51592,54): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51593,61): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(51593,101): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51601,70): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51603,115): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51606,41): run-time error CSS1039: Token not allowed after unary operator: '-state-warning-text'
(51607,39): run-time error CSS1039: Token not allowed after unary operator: '-state-success-text'
(51617,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-gold'
(51618,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-gold'
(51630,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51635,41): run-time error CSS1039: Token not allowed after unary operator: '-brand-gold-dark'
(51636,53): run-time error CSS1039: Token not allowed after unary operator: '-brand-gold'
(51638,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51643,22): run-time error CSS1039: Token not allowed after unary operator: '-card-bg'
(51644,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51653,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-gold'
(51655,53): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(51656,39): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51662,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-slate-tint'
(51663,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51664,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-gold'
(51670,34): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51674,38): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51675,34): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51680,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(51681,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51684,22): run-time error CSS1039: Token not allowed after unary operator: '-card-bg'
(51685,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51688,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(51699,35): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51703,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(51708,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51711,44): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(51725,22): run-time error CSS1039: Token not allowed after unary operator: '-card-bg'
(51726,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51736,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(51752,17): run-time error CSS1039: Token not allowed after unary operator: '-text-body'
(51754,33): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51758,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51786,16): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51811,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51821,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-danger'
(51856,22): run-time error CSS1039: Token not allowed after unary operator: '-card-bg'
(51857,24): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
(51877,42): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(51878,40): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51886,22): run-time error CSS1039: Token not allowed after unary operator: '-surface-alt'
(51887,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(51888,28): run-time error CSS1039: Token not allowed after unary operator: '-border-color'
(51892,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(51893,24): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(51914,22): run-time error CSS1039: Token not allowed after unary operator: '-surface-alt'
(51915,28): run-time error CSS1039: Token not allowed after unary operator: '-border-color'
(51931,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(51940,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(51946,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-bg'
(51947,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(51960,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(51961,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(51969,22): run-time error CSS1039: Token not allowed after unary operator: '-surface'
(51970,28): run-time error CSS1039: Token not allowed after unary operator: '-border-color'
(51980,35): run-time error CSS1039: Token not allowed after unary operator: '-border-color'
(51988,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(51996,22): run-time error CSS1039: Token not allowed after unary operator: '-surface-alt'
(52005,22): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(52009,22): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(52013,22): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(52022,17): run-time error CSS1039: Token not allowed after unary operator: '-status-danger-text'
(52026,17): run-time error CSS1039: Token not allowed after unary operator: '-text-muted'
(52030,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(52052,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(52080,17): run-time error CSS1039: Token not allowed after unary operator: '-text-color'
(52104,1): run-time error CSS1019: Unexpected token, found '@keyframes'
(52105,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '0%'
(52126,14): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(52127,14): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(52128,14): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(52136,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(52140,33): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(52269,48): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(52271,18): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(52272,18): run-time error CSS1039: Token not allowed after unary operator: '-bg-muted'
(52273,18): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(52315,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(52334,35): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(52372,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-subtle'
(52373,28): run-time error CSS1039: Token not allowed after unary operator: '-border-light'
(52438,22): run-time error CSS1039: Token not allowed after unary operator: '-bg-surface'
(52439,28): run-time error CSS1039: Token not allowed after unary operator: '-border-default'
 */
/* theme-tokens.css -- Dark Mode Token Definitions
   Light mode defaults in :root, dark mode overrides in [data-theme="dark"]
   All CSS files reference tokens via var(--token, #fallback) syntax */

:root {
    /* Brand */
    --brand-primary: #3d1a6f;
    --brand-accent: #fdb913;
    --brand-danger: #ed174c;
    --brand-magenta: #7d1d61;

    /* Surfaces */
    --bg-page: #f5f5f5;
    --bg-surface: #ffffff;
    --bg-card: #ffffff;                 /* alias for --bg-surface -- legacy callers (ActivityLog, Admin, ClientPortal, stories-calendar) reference --bg-card without ever defining it; aliasing prevents ghost-text bug in dark mode */
    --bg-subtle: #fafafa;
    --bg-muted: #f0f0f0;
    --bg-purple-tint: #f0ebf7;
    --bg-gold-tint: #fff5dc;
    --bg-slate-tint: #f1f0f4;           /* neutral grey-purple section band -- replaces gold for section headers */
    --bg-slate-tint-2: #f8f7fa;         /* gradient stop for slate band */
    --bg-danger-subtle: #fff5f5;

    /* Text */
    --text-primary: #333333;
    --text-body: #555555;
    --text-secondary: #666666;
    --text-tertiary: #888888;
    --text-muted: #999999;
    --text-on-dark: #ffffff;

    /* Page header */
    --page-title-color: #3d1a6f;

    /* Borders */
    --border-light: #e9ecef;
    --border-default: #dddddd;
    --border-strong: #cccccc;
    --border-brand: #e0d4f0;
    --border-gold-soft: #e8dfa8;        /* muted gold, replaces aggressive 2px #fdb913 */
    --border-gold-softer: #f0e6b5;      /* even paler, for thin variants */

    /* Status */
    --status-success: #28a745;
    --status-success-bg: #d4edda;
    --status-success-text: #155724;
    --status-warning-bg: #fff3cd;
    --status-warning-text: #856404;
    --status-danger: #dc3545;
    --status-danger-bg: #f8d7da;
    --status-info: #17a2b8;
    --status-info-bg: #d1ecf1;
    --status-info-text: #0c5460;
    --status-success-border: #c3e6cb;
    --status-danger-border: #f5c6cb;
    --status-danger-text: #721c24;
    --status-warning-border: #ffeeba;
    --status-info-border: #bee5eb;

    /* Accents */
    --accent-purple: #6c5ce7;

    /* Shadows & Overlays */
    --shadow-color: rgba(0,0,0,0.1);
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.12);
    --overlay-bg: rgba(0,0,0,0.5);
    /* Subtle wash used by loading-state overlays (page-loader, bh-loading, kanban-loading, etc.) -- distinct from --overlay-bg which is for full modal backdrops. */
    --loader-overlay-bg: rgba(255,255,255,0.8);

    /* Scrollbar */
    --scrollbar-track: #f1f1f1;
    --scrollbar-thumb: #c1c1c1;
    --scrollbar-thumb-hover: #a1a1a1;
}

/* Dark mode overrides -- activated by data-theme="dark" on <html> */
/* WCAG AA contrast targets: 4.5:1 normal text, 3:1 large text on #141414 surface */
[data-theme="dark"] {
    /* Brand -- lifted for readability on dark backgrounds */
    --brand-primary: #a76bdf;       /* electric violet -- 5.2:1 on #141414, more presence than lavender */
    --brand-accent: #d4a824;        /* amber gold -- clean, rich, 6.4:1 contrast on #141414 */
    --brand-accent-bright: #fdb913; /* bright gold ONLY for active tab indicators */
    --brand-accent-soft: #8a6d18;   /* subtle warm gold for decorative-only borders */
    --brand-danger: #f44060;        /* vivid rose -- punchy red, 4.8:1 contrast */
    --brand-magenta: #d470b8;       /* magenta lifted */

    /* Surfaces */
    --bg-page: #0a0a0a;
    --bg-surface: #141414;
    --bg-card: #141414;                 /* dark-mode alias for --bg-surface */
    --bg-subtle: #1a1a1a;
    --bg-muted: #1e1e1e;
    --bg-purple-tint: #1e1430;
    --bg-gold-tint: #1e1a0e;        /* darker gold tint, less cream */
    --bg-slate-tint: #1c1a22;       /* dark slate section band -- pairs with light slate */
    --bg-slate-tint-2: #16151c;     /* gradient stop, dark */
    --bg-danger-subtle: #2a0f12;

    /* Text -- all comfortably pass WCAG AA on #141414.
       Dark-mode eyes need brighter muted tones than a naive inversion suggests;
       tertiary/muted bumped so "dim grey on black" stops feeling unreadable. */
    --text-primary: #e8e8e8;        /* 15:1 on #141414 */
    --text-body: #d4d4d4;           /* 12:1 -- body copy */
    --text-secondary: #bcbcbc;      /* 9:1 -- secondary labels */
    --text-tertiary: #a5a5a5;       /* 7:1 -- tertiary meta (was #909090 = 5.5:1, felt dim) */
    --text-muted: #b0b0b0;          /* 7.8:1 -- muted detail (was #959595 = 5.8:1, felt dark-grey-on-black) */
    --text-on-dark: #ffffff;

    /* Page header */
    --page-title-color: #e5d9ff;    /* soft lavender -- 13:1 on #141414 */

    /* Borders */
    --border-light: #1e1e1e;
    --border-default: #2a2a2a;
    --border-strong: #3a3a3a;
    --border-brand: #2a1a3a;
    --border-gold-soft: #3a3620;        /* muted dark gold, pairs with dark bg-gold-tint */
    --border-gold-softer: #2e2b1a;

    /* Status */
    --status-success: #28a745;
    --status-success-bg: #0d2818;
    --status-success-text: #6ddf8b;
    --status-warning-bg: #1a1608;
    --status-warning-text: #d4a824;
    --status-danger: #dc3545;
    --status-danger-bg: #2a0f12;
    --status-info: #17a2b8;
    --status-info-bg: #0a1e24;
    --status-info-text: #5dc8db;
    --status-success-border: #1a4a2a;
    --status-danger-border: #3a1520;
    --status-danger-text: #ff8a9a;
    --status-warning-border: #2a2010;
    --status-info-border: #0e2a30;

    /* Accents */
    --accent-purple: #9b8ce8;

    /* Shadows & Overlays */
    --shadow-color: rgba(0,0,0,0.4);
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.3);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.4);
    --overlay-bg: rgba(0,0,0,0.7);
    --loader-overlay-bg: rgba(0,0,0,0.55);

    /* Scrollbar -- brand gold thumb for dark mode */
    --scrollbar-track: #1a1a1a;
    --scrollbar-thumb: var(--brand-accent, #d4a824);
    --scrollbar-thumb-hover: #fdb913;

    /* Bootstrap 4 native variable overrides */
    --primary: #fdb913;
    --secondary: #a76bdf;
    --blue: #a76bdf;
    --light: #1a1a1a;
    --dark: #e0e0e0;
}

/* Pseudo-element overrides for dark mode */
[data-theme="dark"] ::placeholder {
    color: var(--text-muted, #666) !important;
}
[data-theme="dark"] ::selection {
    background: var(--brand-primary, #a76bdf);
    color: #fff;
}

/* Native date/time/month/week picker indicator -- black glyph by default,
   invisible on dark surfaces. Invert + brighten to match icon-on-dark token. */
[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator,
[data-theme="dark"] input[type="datetime-local"]::-webkit-calendar-picker-indicator,
[data-theme="dark"] input[type="month"]::-webkit-calendar-picker-indicator,
[data-theme="dark"] input[type="week"]::-webkit-calendar-picker-indicator,
[data-theme="dark"] input[type="time"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(0.85);
    cursor: pointer;
    opacity: 0.9;
}

/* Scrollbar styling */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--scrollbar-track, #f1f1f1); }
::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb, #c1c1c1); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-thumb-hover, #a1a1a1); }

/* =============================================
   Dark Mode Component Overrides
   Catches Bootstrap defaults and hardcoded values
   that the token migration could not reach
   ============================================= */

/* --- Body & Page --- */
[data-theme="dark"] body {
    background-color: var(--bg-page) !important;
    color: var(--text-primary) !important;
}

/* --- RTE-rendered surfaces in dark mode ---
   User-authored RTE content (tickets, AskRalph, Help articles, the editor itself, future RTE
   surfaces) carries inline style="color:rgb(0,0,0)" on every block from the editor's save path.
   Inline style beats normal CSS specificity, so the only way to override it is !important.
   Approach: dark surface + wildcard !important descendant rule forcing light text. Mirrors the
   existing pattern at RichTextEditor.css :659. Trade-off: user-pasted text colour is reset to
   light. Accepted for visual integration with dark mode chrome. Authorised inline 2026-05-02
   by George (option A from Documentation/rte-dark-paper-mockup.html). */
[data-theme="dark"] .ticket-update-bubble,
[data-theme="dark"] .ticket-details-html,
[data-theme="dark"] .helppage,
[data-theme="dark"] .askralph-msg-bubble,
[data-theme="dark"] .bh-rte-editor,
[data-theme="dark"] .bh-rte-paper,
[data-theme="dark"] .email-preview-body {
    background-color: #1e1e1e !important;
}
[data-theme="dark"] .ticket-update-bubble *,
[data-theme="dark"] .ticket-details-html *,
[data-theme="dark"] .helppage *,
[data-theme="dark"] .askralph-msg-bubble *,
[data-theme="dark"] .bh-rte-editor *,
[data-theme="dark"] .bh-rte-paper *,
[data-theme="dark"] .email-preview-body * {
    color: #e8e8e8 !important;
}
[data-theme="dark"] .ticket-update-bubble :is(h1, h2, h3, h4),
[data-theme="dark"] .ticket-details-html :is(h1, h2, h3, h4),
[data-theme="dark"] .helppage :is(h1, h2, h3, h4),
[data-theme="dark"] .askralph-msg-bubble :is(h1, h2, h3, h4),
[data-theme="dark"] .bh-rte-editor :is(h1, h2, h3, h4),
[data-theme="dark"] .bh-rte-paper :is(h1, h2, h3, h4),
[data-theme="dark"] .email-preview-body :is(h1, h2, h3, h4) {
    color: #e5d9ff !important;
}
[data-theme="dark"] .ticket-update-bubble a,
[data-theme="dark"] .ticket-details-html a,
[data-theme="dark"] .helppage a,
[data-theme="dark"] .askralph-msg-bubble a,
[data-theme="dark"] .bh-rte-editor a,
[data-theme="dark"] .bh-rte-paper a,
[data-theme="dark"] .email-preview-body a {
    color: #d4b3ff !important;
}
[data-theme="dark"] .ticket-update-bubble .update-meta,
[data-theme="dark"] .ticket-update-bubble .update-meta *,
[data-theme="dark"] .ticket-details-html .update-meta,
[data-theme="dark"] .ticket-details-html .update-meta * {
    color: #a5a5a5 !important;
}

/* --- Form Controls --- */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] select.form-control,
[data-theme="dark"] textarea.form-control {
    background-color: var(--bg-muted) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-strong) !important;
}
[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-control[readonly] {
    background-color: var(--bg-subtle) !important;
    color: var(--text-tertiary) !important;
}
[data-theme="dark"] .input-group-text {
    background-color: var(--bg-muted);
    color: var(--text-secondary);
    border-color: var(--border-strong);
}

/* --- Nav Tabs --- */
[data-theme="dark"] .nav-tabs {
    border-bottom-color: var(--border-default) !important;
}
[data-theme="dark"] .nav-tabs .nav-link {
    background-color: var(--bg-subtle) !important;
    color: var(--text-secondary) !important;
    border-color: var(--border-default) !important;
}
[data-theme="dark"] .nav-tabs .nav-link:hover {
    background-color: var(--bg-muted) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-strong) !important;
}
[data-theme="dark"] .nav-tabs .nav-link.active {
    background-color: var(--brand-primary) !important;
    color: var(--text-on-dark) !important;
    border-color: var(--brand-primary) !important;
    border-bottom-color: var(--brand-accent) !important;
}

/* --- Tab Content --- */
[data-theme="dark"] .tab-content {
    background-color: var(--bg-surface) !important;
    border-color: var(--border-default) !important;
}

/* --- Cards --- */
[data-theme="dark"] .card {
    background-color: var(--bg-surface) !important;
    border-color: var(--border-default) !important;
}
/* .card-header dark mode is in the consolidated .bh-gold-header block below */
[data-theme="dark"] .card-footer {
    background: var(--bg-subtle) !important;
    border-top-color: var(--border-default) !important;
}
/* Checkboxes and radio buttons - visible borders in dark mode */
[data-theme="dark"] .form-check-input {
    background-color: var(--bg-muted, #1e1e1e);
    border-color: var(--border-strong, #3a3a3a);
}
[data-theme="dark"] .form-check-input:checked {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}
[data-theme="dark"] .form-check-label {
    color: var(--text-secondary, #b0b0b0);
}
/* CRM contact/brand card body text */
[data-theme="dark"] .crm-contact-card .card-body {
    color: var(--text-primary, #e8e8e8);
}
[data-theme="dark"] .crm-contact-card .badge-contact {
    background-color: var(--bg-subtle, #1a1a1a);
    border-color: var(--border-default, #2a2a2a);
    color: var(--text-secondary, #b0b0b0);
}

/* --- Panels (BUZZHub custom) --- */
[data-theme="dark"] .panel h2,
[data-theme="dark"] .panelcollapsed h2 {
    background-color: var(--bg-subtle) !important;
    border-color: var(--border-default) !important;
    color: var(--text-primary) !important;
}
[data-theme="dark"] .panelcontent {
    background-color: var(--bg-surface) !important;
}

/* --- Tables --- */
[data-theme="dark"] .table {
    color: var(--text-primary);
}
[data-theme="dark"] .table thead th {
    background-color: var(--bg-subtle) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-default) !important;
}
[data-theme="dark"] .table td,
[data-theme="dark"] .table th {
    border-color: var(--border-light) !important;
}
[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--bg-subtle) !important;
}
[data-theme="dark"] .table-hover tbody tr:hover,
[data-theme="dark"] .table-hover tbody tr:hover > td,
[data-theme="dark"] .table-hover tbody tr:hover > th {
    background-color: var(--bg-muted) !important;
    color: var(--text-primary) !important;
}

/* --- Modals --- */
/* Elevation pattern: modal surface sits ~10% lighter than page,
   stronger shadow + brighter hairline border so it pops clear of the dim backdrop. */
[data-theme="dark"] .modal-content {
    background-color: #1e1e24 !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    box-shadow: 0 20px 56px rgba(0, 0, 0, 0.70), 0 4px 14px rgba(0, 0, 0, 0.55) !important;
}
[data-theme="dark"] .modalPopup {
    background-color: #1e1e24 !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    box-shadow: 0 20px 56px rgba(0, 0, 0, 0.70), 0 4px 14px rgba(0, 0, 0, 0.55) !important;
}
[data-theme="dark"] .modalBackground {
    background-color: #000 !important;
    opacity: 0.65 !important;
}
[data-theme="dark"] .modal-header {
    border-bottom-color: var(--border-default) !important;
    color: var(--text-primary) !important;
}
[data-theme="dark"] .modal-footer {
    border-top-color: var(--border-default) !important;
}

/* --- Dropdowns --- */
[data-theme="dark"] .dropdown-menu {
    background-color: #0d0d12 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6), 0 2px 6px rgba(0, 0, 0, 0.4) !important;
}
[data-theme="dark"] .dropdown-item {
    color: var(--text-primary) !important;
}
[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
    background-color: var(--bg-muted) !important;
    color: var(--text-primary) !important;
}
[data-theme="dark"] .dropdown-divider {
    border-top-color: var(--border-light) !important;
}

/* --- Popovers --- */
[data-theme="dark"] .popover {
    background-color: var(--bg-surface) !important;
    border-color: var(--border-default) !important;
}
[data-theme="dark"] .popover-header {
    background-color: var(--bg-subtle) !important;
    border-bottom-color: var(--border-default) !important;
    color: var(--text-primary) !important;
}
[data-theme="dark"] .popover .arrow::after {
    border-top-color: var(--bg-surface) !important;
}

/* --- Badges --- */
[data-theme="dark"] .badge-soft-secondary {
    background-color: var(--bg-muted) !important;
    color: var(--text-secondary) !important;
}
[data-theme="dark"] .badge-light {
    background-color: var(--bg-muted) !important;
    color: var(--text-primary) !important;
}

/* --- Progress bars & skeletons --- */
[data-theme="dark"] .progress,
[data-theme="dark"] .bh-progress-bar,
[data-theme="dark"] .skeleton-line,
[data-theme="dark"] .skeleton-circle {
    background-color: var(--bg-muted) !important;
}

/* --- Dropzone.js (CDN CSS hardcodes white bg) --- */
[data-theme="dark"] .dropzone,
[data-theme="dark"] .dropzone.dz-clickable {
    background: var(--bg-subtle) !important;
    border: 2px dashed var(--border-strong) !important;
    color: var(--text-secondary) !important;
}
[data-theme="dark"] .dropzone:hover {
    background: var(--bg-muted) !important;
    border-color: var(--brand-primary) !important;
}
[data-theme="dark"] .dropzone .dz-message,
[data-theme="dark"] .dropzone .dz-message h5,
[data-theme="dark"] .dropzone .dz-message p,
[data-theme="dark"] .dropzone .dz-message .text-muted {
    color: var(--text-secondary) !important;
}
[data-theme="dark"] .dropzone .dz-message i,
[data-theme="dark"] .dropzone .dz-message .fa {
    color: var(--text-tertiary) !important;
}
[data-theme="dark"] .dropzone .dz-preview .dz-image {
    background: var(--bg-muted) !important;
}
[data-theme="dark"] .dropzone .dz-preview .dz-details {
    background: rgba(0,0,0,0.6) !important;
    color: var(--text-primary) !important;
}
[data-theme="dark"] .dropzone .dz-preview .dz-filename,
[data-theme="dark"] .dropzone .dz-preview .dz-size {
    color: var(--text-primary) !important;
}

/* --- List groups --- */
[data-theme="dark"] .list-group-item {
    background-color: var(--bg-surface) !important;
    border-color: var(--border-light) !important;
    color: var(--text-primary) !important;
}
[data-theme="dark"] .list-group-item:hover {
    background-color: var(--bg-subtle) !important;
}
[data-theme="dark"] .list-group-item.active {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
}

/* --- Alerts --- */
[data-theme="dark"] .alert-info {
    background-color: var(--status-info-bg) !important;
    color: var(--status-info-text) !important;
    border-color: var(--status-info) !important;
}
[data-theme="dark"] .alert-success {
    background-color: var(--status-success-bg) !important;
    color: var(--status-success-text) !important;
    border-color: var(--status-success) !important;
}
[data-theme="dark"] .alert-warning {
    background-color: var(--status-warning-bg) !important;
    color: var(--status-warning-text) !important;
}
[data-theme="dark"] .alert-danger {
    background-color: var(--status-danger-bg) !important;
    color: var(--text-primary) !important;
    border-color: var(--status-danger) !important;
}

/* --- Pagination --- */
[data-theme="dark"] .page-link {
    background-color: var(--bg-surface) !important;
    border-color: var(--border-default) !important;
    color: var(--brand-primary) !important;
}
[data-theme="dark"] .page-item.active .page-link {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: var(--text-on-dark) !important;
}
[data-theme="dark"] .page-item.disabled .page-link {
    background-color: var(--bg-muted) !important;
    color: var(--text-muted) !important;
}

/* --- Breadcrumbs --- */
[data-theme="dark"] .breadcrumb {
    background-color: var(--bg-subtle) !important;
}

/* --- Close button --- */
[data-theme="dark"] .close {
    color: var(--text-primary) !important;
    text-shadow: none !important;
}

/* --- HR --- */
[data-theme="dark"] hr {
    border-top-color: var(--border-light) !important;
}

/* --- Jumbotron --- */
[data-theme="dark"] .jumbotron {
    background-color: var(--bg-subtle) !important;
}

/* --- Well / BG utilities --- */
[data-theme="dark"] .bg-white {
    background-color: var(--bg-surface) !important;
}
[data-theme="dark"] .bg-light {
    background-color: var(--bg-subtle) !important;
}
[data-theme="dark"] .text-dark {
    color: var(--text-primary) !important;
}
[data-theme="dark"] .text-muted {
    color: var(--text-muted) !important;
}

/* Loader / empty-state contrast in dark mode.
   Covers the site-wide '<i class="fa fa-spinner fa-spin"></i><p>...</p>' pattern
   and the '<i class="fa fa-search fa-3x"></i><p>...</p>' empty-state pattern.
   Without this, loader text in .text-muted wrappers rendered too dim. */
[data-theme="dark"] .fa-spinner.fa-spin,
[data-theme="dark"] .spinner-border {
    color: var(--brand-primary) !important;
}
[data-theme="dark"] .text-center.py-5.text-muted,
[data-theme="dark"] .text-center.py-5.text-muted p,
[data-theme="dark"] .text-center.py-5 p,
[data-theme="dark"] .empty-state,
[data-theme="dark"] .empty-state p {
    color: var(--text-secondary) !important;
}
[data-theme="dark"] .empty-state h5,
[data-theme="dark"] .text-center.py-5 h5 {
    color: var(--text-primary) !important;
}
[data-theme="dark"] .empty-state i,
[data-theme="dark"] .text-center.py-5 > .fa-search,
[data-theme="dark"] .text-center.py-5 > i.fa-inbox,
[data-theme="dark"] .text-center.py-5 > i[class*="fa-3x"] {
    color: var(--text-tertiary) !important;
    opacity: 1 !important;
}

[data-theme="dark"] .border {
    border-color: var(--border-default) !important;
}
[data-theme="dark"] .border-bottom {
    border-bottom-color: var(--border-default) !important;
}
[data-theme="dark"] .border-top {
    border-top-color: var(--border-default) !important;
}

/* --- Navbar header --- */
[data-theme="dark"] .navbar {
    border-bottom-color: var(--border-default) !important;
}

/* =============================================
   Jen's Dark Mode Design Refinements
   Principle: Content is king. Chrome recedes.
   Gold borders become muted warm borders.
   Bright gold only on interactive/active elements.
   ============================================= */

/* --- Mute ALL decorative gold card borders --- */
[data-theme="dark"] .card-body {
    border-color: var(--brand-accent-soft) !important;
}
[data-theme="dark"] .profile-card-header.yellow {
    border-left-color: var(--brand-accent) !important;
}

/* --- Dashboard card gold headers: warm and subtle, not screaming --- */
[data-theme="dark"] .dashboard-card .card-header {
    border-left-color: var(--brand-accent-soft) !important;
}

/* --- News Agenda: content readability is critical --- */
[data-theme="dark"] .news-headline,
[data-theme="dark"] .agenda-item,
[data-theme="dark"] .agenda-item a,
[data-theme="dark"] .card-body-scroll li,
[data-theme="dark"] .card-body-scroll a,
[data-theme="dark"] .card-body-scroll p,
[data-theme="dark"] .card-body-scroll span {
    color: var(--text-body) !important;
}
[data-theme="dark"] .card-body-scroll h5,
[data-theme="dark"] .card-body-scroll h4,
[data-theme="dark"] .card-body-scroll strong,
[data-theme="dark"] .card-body-scroll b {
    color: var(--text-primary) !important;
}

/* --- Badge text on coloured backgrounds: ensure readability --- */
[data-theme="dark"] .badge {
    font-size: 0.8em;
}
[data-theme="dark"] .badge-pill {
    color: var(--text-on-dark) !important;
}

/* --- Mail Stats: numbers must be readable --- */
[data-theme="dark"] .stat-value,
[data-theme="dark"] .mail-stat-value,
[data-theme="dark"] .kpi-value {
    color: var(--text-primary) !important;
}
[data-theme="dark"] .stat-label,
[data-theme="dark"] .mail-stat-label,
[data-theme="dark"] .kpi-label {
    color: var(--text-secondary) !important;
}

/* --- Horizontal gold divider lines: mute to warm grey --- */
[data-theme="dark"] hr[style*="border"],
[data-theme="dark"] hr[style*="fdb913"] {
    border-color: var(--brand-accent-soft) !important;
}

/* --- Card body borders throughout: muted warm, not bright gold --- */
[data-theme="dark"] [style*="border"][style*="fdb913"],
[data-theme="dark"] [style*="border"][style*="FDB913"] {
    border-color: var(--brand-accent-soft) !important;
}

/* --- Active tab indicator: this IS the one place gold should be bright --- */
[data-theme="dark"] .nav-tabs .nav-link.active {
    border-bottom-color: var(--brand-accent-bright, #fdb913) !important;
}

/* =============================================
   News Agenda dark mode readability
   ============================================= */
[data-theme="dark"] .news-tabs {
    border-bottom-color: var(--border-default) !important;
}
[data-theme="dark"] .news-tab {
    color: var(--text-secondary) !important;
}
[data-theme="dark"] .news-tab:hover {
    color: var(--brand-primary) !important;
}
[data-theme="dark"] .news-tab.active {
    color: var(--brand-primary) !important;
    border-bottom-color: var(--brand-primary) !important;
}
[data-theme="dark"] .news-article-count {
    color: var(--text-muted) !important;
}
/* Outlet section headers - organizational, should be visible */
[data-theme="dark"] .outlet-name {
    color: var(--text-primary) !important;
}
[data-theme="dark"] .outlet-name small {
    color: var(--text-secondary) !important;
}
/* Story clusters */
[data-theme="dark"] .story-cluster {
    border-bottom-color: var(--border-light) !important;
}
[data-theme="dark"] .story-cluster.multi-outlet {
    background: var(--bg-purple-tint) !important;
    border-left-color: var(--brand-primary) !important;
    border-bottom-color: var(--border-light) !important;
}
[data-theme="dark"] .cluster-headline,
[data-theme="dark"] .cluster-headline a,
[data-theme="dark"] .cluster-sub-article a {
    color: var(--text-body) !important;
}
[data-theme="dark"] .cluster-headline:hover,
[data-theme="dark"] .cluster-headline a:hover,
[data-theme="dark"] .cluster-sub-article a:hover {
    color: var(--brand-primary) !important;
}
[data-theme="dark"] .cluster-outlet-badge {
    background: var(--bg-purple-tint) !important;
    color: var(--brand-primary) !important;
}
[data-theme="dark"] .cluster-tier1-badge {
    background: var(--status-success-bg) !important;
    color: var(--status-success-text) !important;
}
[data-theme="dark"] .cluster-topic {
    color: var(--text-muted) !important;
}
[data-theme="dark"] .cluster-time,
[data-theme="dark"] .cluster-sub-article .sub-pub {
    color: var(--text-muted) !important;
}
[data-theme="dark"] .cluster-expand {
    color: var(--brand-primary) !important;
}
[data-theme="dark"] .cluster-articles-list {
    border-left-color: var(--border-default) !important;
}
/* News spike pills */
[data-theme="dark"] .news-spike-pill {
    border-color: var(--border-strong) !important;
}
[data-theme="dark"] .news-spike-pill.spiking-hot {
    background: var(--status-danger-bg) !important;
    color: var(--brand-danger) !important;
}
[data-theme="dark"] .news-spike-pill.spiking-warm {
    background: var(--bg-purple-tint) !important;
    color: var(--brand-primary) !important;
}
[data-theme="dark"] .news-spike-pill.spiking-cool {
    background: var(--bg-muted) !important;
    color: var(--text-secondary) !important;
}

/* =============================================
   Border continuity fix
   Card borders should form a continuous outline,
   not disconnected segments
   ============================================= */
[data-theme="dark"] .dashboard-card {
    border: 1px solid var(--border-default) !important;
}
[data-theme="dark"] .dashboard-card .card-header {
    border-bottom: 1px solid var(--border-default) !important;
}
[data-theme="dark"] .dashboard-card .card-body {
    border: none !important;
}
/* Profile cards: continuous border */
[data-theme="dark"] .profile-card {
    border: 1px solid var(--border-default) !important;
    border-radius: 8px !important;
    overflow: hidden;
}
[data-theme="dark"] .profile-card-header {
    border-bottom: 1px solid var(--border-default) !important;
}
[data-theme="dark"] .profile-card-body {
    border: none !important;
}

/* --- Footer (authenticated/user pages: Site.Master + portal masters using .footer/.bg-white) ---
   Bumped specificity so the dark rule always wins over .bg-white:
   - footer.footer (0,2,1) beats [data-theme="dark"] .bg-white (0,2,0)
   - .footer.bg-white (0,3,0) beats [data-theme="dark"] .bg-white (0,2,0)
   Public/login masters (Buzzhub, Middle, LoginMaster) use class="bs-footer" with their own
   brand-styled footer in Buzzscribed.css -- intentionally NOT overridden here. */
[data-theme="dark"] footer.footer,
[data-theme="dark"] .footer.bg-white,
[data-theme="dark"] footer#footer {
    background-color: #000 !important;
    color: var(--text-secondary) !important;
    border-top-color: var(--border-default) !important;
}
[data-theme="dark"] footer.footer a,
[data-theme="dark"] .footer.bg-white a,
[data-theme="dark"] footer#footer a {
    color: var(--text-secondary) !important;
}
[data-theme="dark"] footer.footer a:hover,
[data-theme="dark"] .footer.bg-white a:hover,
[data-theme="dark"] footer#footer a:hover {
    color: var(--text-primary) !important;
}

/* --- Links (global) --- */
[data-theme="dark"] a {
    color: var(--brand-primary);
}
[data-theme="dark"] a:hover {
    color: #c9a4e8;
}
/* Buttons rendered as <a> (asp:LinkButton) must keep their own text color.
   Must use !important to beat .footer a rule above. */
[data-theme="dark"] a.btn {
    color: var(--text-on-dark, #fff) !important;
}
[data-theme="dark"] a.btn:hover {
    color: var(--text-on-dark, #fff) !important;
}
[data-theme="dark"] a.btn-outline-primary {
    color: var(--brand-primary) !important;
}
[data-theme="dark"] a.btn-outline-primary:hover {
    color: var(--text-on-dark, #fff) !important;
}
[data-theme="dark"] a.btn-outline-secondary {
    color: var(--text-secondary) !important;
}
[data-theme="dark"] a.btn-link {
    color: var(--brand-primary) !important;
}
[data-theme="dark"] a.btn-danger {
    color: var(--text-on-dark, #fff) !important;
}

/* --- Profile cards (Campaign Builder section headers) --- */
/* These have cream/gold gradients in light mode - must go dark */
[data-theme="dark"] .profile-card {
    background-color: var(--bg-surface) !important;
}
[data-theme="dark"] .profile-card-header.yellow {
    background: linear-gradient(135deg, var(--bg-gold-tint) 0%, var(--bg-subtle) 100%) !important;
    color: var(--text-primary) !important;
    border-left-color: var(--brand-accent) !important;
}
[data-theme="dark"] .profile-card-header.yellow h4,
[data-theme="dark"] .profile-card-header.yellow h3,
[data-theme="dark"] .profile-card-header.yellow .profile-card-title,
[data-theme="dark"] .dashboard-card .card-header,
[data-theme="dark"] .dashboard-card .card-header .card-title,
[data-theme="dark"] .dashboard-card .card-header .card-title i {
    color: var(--brand-accent) !important;
}
[data-theme="dark"] .profile-card-header {
    background: linear-gradient(135deg, #1a1430 0%, var(--bg-subtle) 100%) !important;
    color: var(--text-on-dark) !important;
}
[data-theme="dark"] .profile-card-body {
    background-color: var(--bg-surface) !important;
    color: var(--text-primary) !important;
}

/* --- All remaining gold-tint / cream backgrounds (inline styles) --- */
[data-theme="dark"] [style*="fff5dc"],
[data-theme="dark"] [style*="FFF5DC"],
[data-theme="dark"] [style*="fcf8e3"],
[data-theme="dark"] [style*="FCF8E3"],
[data-theme="dark"] [style*="fffbf0"],
[data-theme="dark"] [style*="FFFBF0"],
[data-theme="dark"] [style*="fff8e1"],
[data-theme="dark"] [style*="FFF8E1"],
[data-theme="dark"] [style*="fef9e7"],
[data-theme="dark"] [style*="FEF9E7"] {
    background: var(--bg-gold-tint) !important;
    color: var(--text-primary) !important;
}
/* Catch cream gradients -- browsers may normalize hex to rgb() so match both */
[data-theme="dark"] .alert[style*="fff5dc"],
[data-theme="dark"] .alert[style*="fffbf0"],
[data-theme="dark"] div[style*="fff5dc"],
[data-theme="dark"] div[style*="fffbf0"],
[data-theme="dark"] [style*="rgb(255, 245, 220)"],
[data-theme="dark"] [style*="rgb(255, 251, 240)"],
[data-theme="dark"] [style*="rgb(252, 248, 227)"],
[data-theme="dark"] #smartAutoFillPrompt {
    background: var(--bg-gold-tint) !important;
    border-color: var(--brand-accent-soft) !important;
    color: var(--text-primary) !important;
}
/* Force text colour on children with inline color:#333 inside dark gold-tint panels */
[data-theme="dark"] #smartAutoFillPrompt *,
[data-theme="dark"] [style*="rgb(255, 245, 220)"] *,
[data-theme="dark"] [style*="fff5dc"] * {
    color: var(--text-primary) !important;
}

/* --- Content area catch-all for remaining light backgrounds --- */
[data-theme="dark"] .content-area,
[data-theme="dark"] .main-content,
[data-theme="dark"] #ContentPlaceHolder1,
[data-theme="dark"] [id*="ContentPlaceHolder"] {
    color: var(--text-primary);
}

/* --- Sub-content profile card overrides (CampaignBuilder uses !important) --- */
[data-theme="dark"] .sub-content .profile-card-header.yellow,
[data-theme="dark"] .smallside .profile-card-header.yellow {
    background: linear-gradient(135deg, var(--bg-gold-tint) 0%, var(--bg-subtle) 100%) !important;
    color: var(--text-primary) !important;
}

/* --- Section divider lines (gold hr/borders under section headings) --- */
/* These are the bright yellow lines under KEY DATES, SPECIFIC OBJECTIVES etc. */
[data-theme="dark"] .profile-card-body hr,
[data-theme="dark"] .profile-card-body .section-divider {
    border-color: var(--brand-accent-soft) !important;
}
/* Catch-all: any gold border inside content panels - mute it */
[data-theme="dark"] .profile-card-body [style*="border"],
[data-theme="dark"] .tab-content [style*="border"] {
    border-color: var(--brand-accent-soft) !important;
}

/* --- Content panel text readability (Campaign Builder, all pages) --- */
[data-theme="dark"] .profile-card-body p,
[data-theme="dark"] .profile-card-body span,
[data-theme="dark"] .profile-card-body div,
[data-theme="dark"] .profile-card-body li,
[data-theme="dark"] .profile-card-body td,
[data-theme="dark"] .profile-card-body label {
    color: var(--text-body);
}
[data-theme="dark"] .profile-card-body h1,
[data-theme="dark"] .profile-card-body h2,
[data-theme="dark"] .profile-card-body h3,
[data-theme="dark"] .profile-card-body h4,
[data-theme="dark"] .profile-card-body h5,
[data-theme="dark"] .profile-card-body h6 {
    color: var(--text-primary);
}

/* --- FormView / DetailsView content panels --- */
[data-theme="dark"] .formview-content,
[data-theme="dark"] .details-content,
[data-theme="dark"] [id*="FormView"],
[data-theme="dark"] [id*="DetailsView"] {
    color: var(--text-body) !important;
}

/* --- Section heading text (KEY DATES & TIMELINE etc.) --- */
[data-theme="dark"] .section-heading,
[data-theme="dark"] .bp-section-heading {
    color: var(--brand-accent) !important;
    border-bottom-color: var(--brand-accent-soft) !important;
}

/* --- Specific BUZZHub component fixes --- */
/* KPI cards */
[data-theme="dark"] .kpi-card {
    background-color: var(--bg-surface) !important;
    border-color: var(--border-default) !important;
}

/* Stat cards on dashboard */
[data-theme="dark"] .stat-card,
[data-theme="dark"] .dashboard-card {
    background-color: var(--bg-surface) !important;
}

/* Select dropdowns (native) */
[data-theme="dark"] select {
    background-color: var(--bg-muted) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-strong) !important;
}
[data-theme="dark"] select option {
    background-color: var(--bg-surface);
    color: var(--text-primary);
}

/* Checkbox and radio labels */
[data-theme="dark"] .custom-control-label {
    color: var(--text-primary);
}

/* ASP.NET GridView / table rows with inline white backgrounds */
[data-theme="dark"] tr[style*="background-color: White"],
[data-theme="dark"] tr[style*="background-color:White"],
[data-theme="dark"] tr[style*="background-color: white"],
[data-theme="dark"] td[style*="background-color: White"],
[data-theme="dark"] td[style*="background-color:White"] {
    background-color: var(--bg-surface) !important;
}

/* --- Buttons --- */
[data-theme="dark"] .btn-outline-danger {
    color: var(--brand-danger) !important;
    border-color: var(--brand-danger) !important;
}
[data-theme="dark"] .btn-outline-danger:hover,
[data-theme="dark"] .btn-outline-danger:focus,
[data-theme="dark"] .btn-outline-danger:active,
[data-theme="dark"] .btn-outline-danger.active,
[data-theme="dark"] .btn-outline-danger:not(:disabled):not(.disabled):active,
[data-theme="dark"] .btn-outline-danger:not(:disabled):not(.disabled).active,
[data-theme="dark"] .show > .btn-outline-danger.dropdown-toggle {
    background-color: var(--brand-danger) !important;
    color: var(--text-on-dark) !important;
    border-color: var(--brand-danger) !important;
}
[data-theme="dark"] .btn-outline-primary {
    color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
}
[data-theme="dark"] .btn-outline-primary:hover,
[data-theme="dark"] .btn-outline-primary:focus,
[data-theme="dark"] .btn-outline-primary:active,
[data-theme="dark"] .btn-outline-primary.active,
[data-theme="dark"] .btn-outline-primary:not(:disabled):not(.disabled):active,
[data-theme="dark"] .btn-outline-primary:not(:disabled):not(.disabled).active,
[data-theme="dark"] .show > .btn-outline-primary.dropdown-toggle {
    background-color: var(--brand-primary) !important;
    color: #fff !important;
    border-color: var(--brand-primary) !important;
}
[data-theme="dark"] .btn-outline-secondary {
    color: var(--text-secondary) !important;
    border-color: var(--border-strong) !important;
    background-color: transparent !important;
}
[data-theme="dark"] .btn-outline-secondary:hover,
[data-theme="dark"] .btn-outline-secondary:focus,
[data-theme="dark"] .btn-outline-secondary:active,
[data-theme="dark"] .btn-outline-secondary.active,
[data-theme="dark"] .btn-outline-secondary:not(:disabled):not(.disabled):active,
[data-theme="dark"] .btn-outline-secondary:not(:disabled):not(.disabled).active,
[data-theme="dark"] .show > .btn-outline-secondary.dropdown-toggle {
    background-color: var(--brand-primary) !important;
    color: #fff !important;
    border-color: var(--brand-primary) !important;
}
[data-theme="dark"] .btn-outline-secondary:disabled,
[data-theme="dark"] .btn-outline-secondary.disabled {
    color: var(--text-tertiary) !important;
    border-color: var(--border-default) !important;
    background-color: transparent !important;
}
[data-theme="dark"] .btn-outline-warning {
    color: var(--brand-accent) !important;
    border-color: var(--brand-accent) !important;
}
[data-theme="dark"] .btn-outline-warning:hover,
[data-theme="dark"] .btn-outline-warning:focus,
[data-theme="dark"] .btn-outline-warning:active,
[data-theme="dark"] .btn-outline-warning.active,
[data-theme="dark"] .btn-outline-warning:not(:disabled):not(.disabled):active,
[data-theme="dark"] .btn-outline-warning:not(:disabled):not(.disabled).active,
[data-theme="dark"] .show > .btn-outline-warning.dropdown-toggle {
    background-color: var(--brand-accent-bright) !important;
    color: #1a1a1a !important;
    border-color: var(--brand-accent-bright) !important;
}
/* btn-secondary (amber gold bg): light violet --brand-primary is unreadable on
   amber. Force deep purple text for contrast; keeps brand look. */
[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .btn-secondary:hover,
[data-theme="dark"] .btn-secondary:focus,
[data-theme="dark"] .btn-secondary:active,
[data-theme="dark"] .btn-secondary:not(:disabled):not(.disabled):active,
[data-theme="dark"] .btn-secondary:not(:disabled):not(.disabled).active,
[data-theme="dark"] .btn-secondary.disabled,
[data-theme="dark"] .btn-secondary:disabled {
    color: #3d1a6f !important;
}
/* btn-warning (gold bg): same problem as btn-secondary -- light-mode
   --brand-primary text flips to light violet in dark mode and disappears
   on the gold background. Force deep purple. */
[data-theme="dark"] .btn-warning,
[data-theme="dark"] .btn-warning:hover,
[data-theme="dark"] .btn-warning:focus,
[data-theme="dark"] .btn-warning:active,
[data-theme="dark"] .btn-warning:not(:disabled):not(.disabled):active,
[data-theme="dark"] .btn-warning:not(:disabled):not(.disabled).active,
[data-theme="dark"] .btn-warning.disabled,
[data-theme="dark"] .btn-warning:disabled {
    color: #3d1a6f !important;
}
/* btn-primary (solid violet bg) in dark mode: previous #5a2d9e was AA-safe but
   read as muted/disabled against dark surfaces. 2026-05-08: bumped to a more
   vivid mid-violet that still supports white text:
     #7c3fc6 normal vs #fff = 5.84:1 (AA pass)
     #8e54d9 hover  vs #fff = 4.81:1 (AA pass)
     disabled keeps #5a2d9e so disabled state is visually distinct from active. */
[data-theme="dark"] .btn-primary {
    background-color: #7c3fc6 !important;
    border-color: #7c3fc6 !important;
}
[data-theme="dark"] .btn-primary.disabled,
[data-theme="dark"] .btn-primary:disabled {
    background-color: #4a2682 !important;
    border-color: #4a2682 !important;
    opacity: 0.65;
}
[data-theme="dark"] .btn-primary:hover,
[data-theme="dark"] .btn-primary:focus,
[data-theme="dark"] .btn-primary.focus,
[data-theme="dark"] .btn-primary:active,
[data-theme="dark"] .btn-primary:not(:disabled):not(.disabled):active,
[data-theme="dark"] .btn-primary:not(:disabled):not(.disabled).active,
[data-theme="dark"] .show > .btn-primary.dropdown-toggle {
    background-color: #8e54d9 !important;
    border-color: #8e54d9 !important;
    box-shadow: 0 0 0 0.15rem rgba(167, 107, 223, 0.35) !important;
}
[data-theme="dark"] .btn-light {
    background-color: var(--bg-muted) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-strong) !important;
}
[data-theme="dark"] .btn-danger {
    color: var(--text-on-dark) !important;
}
[data-theme="dark"] .btn-outline-light {
    color: #fff !important;
    border-color: rgba(255,255,255,0.5) !important;
}
[data-theme="dark"] .btn-outline-light:hover {
    background-color: rgba(255,255,255,0.15) !important;
    color: #fff !important;
}
[data-theme="dark"] .btn-outline-dark {
    color: var(--text-primary) !important;
    border-color: var(--border-strong) !important;
}
[data-theme="dark"] .btn-outline-dark:hover {
    background-color: var(--bg-muted) !important;
    color: var(--text-primary) !important;
}

/* --- Small text readability boost --- */
[data-theme="dark"] small,
[data-theme="dark"] .small,
[data-theme="dark"] .text-sm {
    color: var(--text-secondary);
}

/* =============================================
   ASP.NET GridView / FormView style utility classes
   Replace ForeColor/BackColor attributes with CssClass
   Also usable in VB code-behind: cell.CssClass = "bh-header-brand"
   ============================================= */
.bh-header-brand { background-color: var(--brand-primary, #3d1a6f) !important; color: var(--text-on-dark, #fff) !important; }
.bh-header-accent { background-color: var(--brand-accent, #fdb913) !important; color: var(--text-primary, #333) !important; }
.bh-header-light { background-color: var(--bg-subtle, #f8f9fa) !important; color: var(--text-primary, #333) !important; }
.bh-header-muted { background-color: var(--bg-muted, #e9ecef) !important; color: var(--text-primary, #333) !important; }
.bh-text-brand { color: var(--brand-primary, #3d1a6f) !important; }
.bh-text-accent { color: var(--brand-accent, #fdb913) !important; }
.bh-text-danger { color: var(--brand-danger, #ed174c) !important; }
.bh-text-primary { color: var(--text-primary, #333) !important; }
.bh-text-secondary { color: var(--text-secondary, #666) !important; }
.bh-text-muted { color: var(--text-muted, #999) !important; }
.bh-text-on-dark { color: var(--text-on-dark, #fff) !important; }
.bh-text-success { color: var(--status-success, #28a745) !important; }
.bh-bg-surface { background-color: var(--bg-surface, #fff) !important; }
.bh-bg-subtle { background-color: var(--bg-subtle, #fafafa) !important; }
.bh-bg-muted { background-color: var(--bg-muted, #e9ecef) !important; }
.bh-bg-brand { background-color: var(--brand-primary, #3d1a6f) !important; }
.bh-bg-success { background-color: var(--status-success-bg, #d4edda) !important; }
.bh-bg-danger { background-color: var(--status-danger-bg, #f8d7da) !important; }
.bh-bg-warning { background-color: var(--status-warning-bg, #fff3cd) !important; }
.bh-border-brand { border-color: var(--brand-primary, #3d1a6f) !important; }
.bh-border-accent { border-color: var(--brand-accent, #fdb913) !important; }
.bh-border-default { border-color: var(--border-default, #ddd) !important; }

/* =============================================
   Font Scale -- Accessibility
   Applied via class on <html> element
   ============================================= */
html.font-medium {
    font-size: 110% !important;
}
html.font-large {
    font-size: 120% !important;
}

/* =============================================
   SMART KPI Seeding Banner -- dark mode overrides
   ============================================= */
[data-theme="dark"] .smart-kpi-seed-banner {
    background: linear-gradient(135deg, var(--bg-gold-tint, #1e1a0e) 0%, var(--bg-subtle, #1a1a1a) 100%);
    border-color: var(--brand-accent-soft, #8a6d18);
}

[data-theme="dark"] .smart-kpi-seed-banner h6 {
    color: var(--text-primary, #e0e0e0);
}

[data-theme="dark"] .smart-kpi-seed-banner .smart-context {
    color: var(--text-body, #ccc);
    background: rgba(0,0,0,0.3);
}

[data-theme="dark"] .smart-kpi-seed-section h6 {
    color: var(--text-secondary, #b0b0b0);
    border-bottom-color: var(--border-default, #2a2a2a);
}

[data-theme="dark"] .smart-kpi-card {
    background: var(--bg-surface, #141414);
    border-color: var(--border-strong, #3a3a3a);
}

[data-theme="dark"] .smart-kpi-card .kpi-type {
    color: var(--text-primary, #e0e0e0);
}

[data-theme="dark"] .smart-kpi-card .kpi-target-input {
    background: var(--bg-muted, #1e1e1e);
    border-color: var(--border-strong, #3a3a3a);
    color: var(--text-primary, #e0e0e0);
}

[data-theme="dark"] .smart-kpi-card .kpi-rationale {
    color: var(--text-muted, #808080);
}

[data-theme="dark"] .smart-kpi-card.accepted {
    background: var(--status-success-bg, #0d2818);
    border-color: var(--status-success, #28a745);
}

[data-theme="dark"] .smart-kpi-card.accepted::after {
    color: var(--status-success-text, #6ddf8b);
}

[data-theme="dark"] .outcome-evidence-banner {
    background: linear-gradient(135deg, var(--bg-gold-tint, #1e1a0e) 0%, var(--bg-subtle, #1a1a1a) 100%);
    border-color: var(--brand-accent-soft, #8a6d18);
    color: var(--text-primary, #e0e0e0);
}
[data-theme="dark"] .outcome-needs-actual {
    border-left-color: var(--brand-accent-soft, #8a6d18) !important;
}
[data-theme="dark"] .outcome-hint {
    color: var(--text-muted, #808080);
}

[data-theme="dark"] .planning-readiness-badge {
    background: var(--bg-surface, #141414);
    border-color: var(--border-strong, #3a3a3a);
}
[data-theme="dark"] .readiness-label {
    color: var(--text-primary, #e0e0e0);
}

/* =============================================
   Setup Branding dark mode overrides
   Card headers have hardcoded cream gradients,
   dimensions badge has hardcoded light border
   ============================================= */
[data-theme="dark"] .branding-logo-card {
    border-color: var(--border-default) !important;
    background: var(--bg-surface) !important;
}
[data-theme="dark"] .branding-logo-card-header {
    background: linear-gradient(135deg, var(--bg-gold-tint) 0%, var(--bg-subtle) 100%) !important;
    border-left-color: var(--brand-accent) !important;
    border-bottom-color: var(--border-default) !important;
}
[data-theme="dark"] .branding-logo-card-header h5 {
    color: var(--brand-accent) !important;
}
[data-theme="dark"] .branding-logo-dimensions {
    background: var(--bg-muted) !important;
    border-color: var(--border-strong) !important;
    color: var(--text-secondary) !important;
}
[data-theme="dark"] .branding-logo-preview {
    background: var(--bg-page) !important;
}
[data-theme="dark"] .branding-logo-empty {
    color: var(--text-muted) !important;
}
[data-theme="dark"] .branding-logo-actions {
    background: var(--bg-surface) !important;
    border-top-color: var(--border-default) !important;
}
[data-theme="dark"] .branding-colour-label {
    color: var(--text-secondary) !important;
}
[data-theme="dark"] .branding-colour-swatch {
    border-color: var(--border-strong) !important;
}
/* Crop dialog */
[data-theme="dark"] .branding-crop-header {
    background: linear-gradient(135deg, var(--bg-gold-tint) 0%, var(--bg-subtle) 100%) !important;
    border-left-color: var(--brand-accent) !important;
    border-bottom-color: var(--border-default) !important;
}
[data-theme="dark"] .branding-crop-header h5 {
    color: var(--brand-accent) !important;
}
[data-theme="dark"] .branding-crop-dialog {
    background: var(--bg-surface) !important;
    border: 1px solid var(--border-default);
}
[data-theme="dark"] .branding-crop-container {
    background: var(--bg-page) !important;
    border-color: var(--border-default) !important;
}

/* =============================================================================
   DARK MODE SWEEP (2026-04-02) -- Comprehensive overrides for hardcoded
   light-mode colours throughout BUZZHub.css and page-level styles.
   ============================================================================= */

/* --- Talent page --- */
[data-theme="dark"] .talent-photo {
    background: var(--bg-surface) !important;
}
[data-theme="dark"] .talent-section-label {
    background: var(--bg-surface) !important;
}

/* --- NewsWire filename badge --- */
[data-theme="dark"] .nw-filename-badge {
    background-color: var(--bg-subtle) !important;
}

/* --- Unavailable/disabled blocks --- */
[data-theme="dark"] .unavailable-block {
    background: var(--bg-subtle) !important;
    color: var(--text-muted) !important;
}

/* --- Scrollbar tracks (global) --- */
[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--bg-subtle, #1a1a1a) !important;
}
[data-theme="dark"] .infinite-scroll-container::-webkit-scrollbar-track {
    background: var(--bg-subtle) !important;
}

/* --- Sub-brand contact row statuses --- */
[data-theme="dark"] .sub-brand-contact-row.status-bounced {
    background-color: var(--status-danger-bg, #2a0f12) !important;
}
[data-theme="dark"] .sub-brand-contact-row.status-unsubscribed {
    background-color: var(--bg-subtle) !important;
}
[data-theme="dark"] .crm-contact-card.status-unsubscribed .card-header,
[data-theme="dark"] .crm-contact-card.status-bounced .card-header {
    background: var(--bg-subtle) !important;
}

/* --- Row selection states (EDM, GridView) --- */
[data-theme="dark"] .edm-contacts-table tbody tr.gv-row-selected,
[data-theme="dark"] .edm-row.edm-row-selected,
[data-theme="dark"] .edm-row:nth-child(even).edm-row-selected {
    background: var(--bg-purple-tint) !important;
}

/* --- Conversation reception pills --- */
[data-theme="dark"] .conversation-reception.reception-lukewarm {
    background: var(--bg-gold-tint) !important;
    color: var(--brand-accent-bright) !important;
}
[data-theme="dark"] .conversation-reception.reception-icecold {
    background: var(--bg-muted) !important;
    color: var(--text-body) !important;
}

/* --- News spike pills --- */
[data-theme="dark"] .news-spike-pill.spiking-hot {
    background: var(--status-danger-bg) !important;
    color: var(--brand-danger, #f44060) !important;
}
[data-theme="dark"] .news-spike-pill.spiking-cool {
    background: var(--bg-subtle) !important;
    color: var(--text-tertiary) !important;
}

/* --- Custom Switch - Unchecked state needs visible track on dark surfaces.
   Border tinted amber to show brand accent even when off. --- */
[data-theme="dark"] .custom-control-label::before {
    background-color: var(--bg-muted, #1e1e1e) !important;
    border-color: var(--brand-accent-soft, #8a6d18) !important;
}
/* Unchecked thumb/handle: gold so the brand colour reads at rest */
[data-theme="dark"] .custom-switch .custom-control-label::after {
    background-color: var(--brand-accent, #d4a824) !important;
}
/* Checked state unchanged - already uses --brand-accent (amber in dark) */

/* --- Legacy .switch/.slider toggle (ClientEDM, Reporting, MailQueue,
   DeliveryPlanner, InterviewCoverage). Light-mode thumb uses --bg-surface
   which collapses to #141414 in dark mode -> invisible circle. Mirror
   the .custom-switch treatment: muted track with amber-soft border,
   gold thumb at rest so the brand colour reads. --- */
[data-theme="dark"] .slider {
    background-color: var(--bg-muted, #1e1e1e) !important;
    border: 1px solid var(--brand-accent-soft, #8a6d18);
}
[data-theme="dark"] .slider:before {
    background-color: var(--brand-accent, #d4a824) !important;
}
/* Checked: track gold, thumb stays white for contrast against gold */
[data-theme="dark"] input:checked + .slider {
    background-color: var(--brand-accent, #d4a824) !important;
    border-color: var(--brand-accent, #d4a824);
}
[data-theme="dark"] input:checked + .slider:before {
    background-color: #ffffff !important;
}

/* --- Action button backgrounds --- */
/* Primary: lighter violet from --brand-primary gives poor contrast with white
   icons in dark mode. Force a deeper saturated violet for clarity. */
[data-theme="dark"] .action-btn-primary {
    background: #6a3daf !important;
    color: var(--text-on-dark, #fff) !important;
}
[data-theme="dark"] .action-btn-primary:hover {
    background: #8559c9 !important;
}
[data-theme="dark"] .action-btn-secondary {
    background: var(--bg-subtle) !important;
    color: var(--brand-primary) !important;
}
[data-theme="dark"] .action-btn-danger {
    background: var(--status-danger-bg) !important;
    color: var(--brand-danger, #f44060) !important;
}
[data-theme="dark"] .action-btn-none {
    background: var(--bg-subtle) !important;
    color: var(--text-muted) !important;
}

/* --- Engagement badges --- */
[data-theme="dark"] .engagement-badge.downloads {
    background: var(--status-info-bg) !important;
    color: var(--status-info-text) !important;
}
[data-theme="dark"] .engagement-badge.bookings {
    background: var(--status-success-bg) !important;
    color: var(--status-success-text) !important;
}
[data-theme="dark"] .engagement-badge.emails {
    background: var(--bg-purple-tint) !important;
    color: var(--brand-primary) !important;
}
[data-theme="dark"] .engagement-badge.clickable.active {
    background-color: var(--bg-purple-tint) !important;
}

/* --- Top engaged cards (gold/silver/bronze) ---
   Soften the bright metallic gradients in dark mode -- subtle left-border
   accent only, no glossy gradient fill. Keep medal rank badges legible. */
[data-theme="dark"] .top-engaged-card.gold {
    background: var(--bg-surface, #141414) !important;
    border-left: 3px solid rgba(253, 185, 19, 0.55) !important;
    box-shadow: inset 4px 0 0 rgba(253, 185, 19, 0.12);
}
[data-theme="dark"] .top-engaged-card.silver {
    background: var(--bg-surface, #141414) !important;
    border-left: 3px solid rgba(192, 192, 192, 0.45) !important;
    box-shadow: inset 4px 0 0 rgba(192, 192, 192, 0.10);
}
[data-theme="dark"] .top-engaged-card.bronze {
    background: var(--bg-surface, #141414) !important;
    border-left: 3px solid rgba(205, 127, 50, 0.45) !important;
    box-shadow: inset 4px 0 0 rgba(205, 127, 50, 0.10);
}
[data-theme="dark"] .top-engaged-card.gold .top-engaged-rank {
    background: rgba(253, 185, 19, 0.85) !important;
    color: #1a1a1a !important;
}
[data-theme="dark"] .top-engaged-card.silver .top-engaged-rank {
    background: rgba(192, 192, 192, 0.75) !important;
    color: #1a1a1a !important;
}
[data-theme="dark"] .top-engaged-card.bronze .top-engaged-rank {
    background: rgba(205, 127, 50, 0.85) !important;
    color: var(--text-on-dark, #fff) !important;
}

/* --- Email status badges --- */
[data-theme="dark"] .edm-badge-muted {
    background: var(--bg-muted) !important;
    color: var(--text-secondary) !important;
}
[data-theme="dark"] .bl-badge-bounced {
    background: var(--status-danger-bg) !important;
    color: var(--brand-danger, #f44060) !important;
}

/* --- JournoIntel publisher badges --- */
[data-theme="dark"] .ji-pub-badge {
    background: var(--bg-subtle) !important;
}
[data-theme="dark"] .ji-card.dismissed .ji-pub-badge {
    background: var(--bg-muted) !important;
}

/* --- Journalist Intel hover badge (CRM/EmailPitching contact cards) ---
   Light gradient (#667eea -> #764ba2) bottoms out too dark on dark surfaces;
   white "Intel" text + 0.75 chevron opacity wash out. Lift the gradient,
   full-opacity chevron, ring to separate from the card. */
[data-theme="dark"] .journalist-intel-badge {
    background: linear-gradient(135deg, #8b6dff 0%, #b378ff 100%) !important;
    color: #fff !important;
    box-shadow: 0 0 0 1px rgba(167, 107, 223, 0.35);
}
[data-theme="dark"] .journalist-intel-badge:hover {
    box-shadow: 0 2px 10px rgba(167, 107, 223, 0.5);
}
[data-theme="dark"] .journalist-intel-badge .badge-chevron {
    opacity: 1;
}
[data-theme="dark"] .journalist-intel-badge.no-intel {
    background: var(--bg-subtle, #1a1a1a) !important;
    color: var(--text-tertiary, #999) !important;
    box-shadow: 0 0 0 1px var(--border-default, #2a2a2a);
}

/* --- InterviewCoverage booking cards --- */
[data-theme="dark"] .booking-card-header {
    background: var(--bg-subtle, #1a1a1a) !important;
    border-bottom-color: var(--border-default, #2a2a2a) !important;
}
[data-theme="dark"] .booking-datetime .time {
    color: var(--brand-primary, #b89cf0) !important;
}
[data-theme="dark"] .outlet-logo {
    background: #fff !important; /* keep white so logos with transparent bg remain visible */
}
[data-theme="dark"] .booking-date-group .date-header {
    background: var(--bg-subtle, #1a1a1a) !important;
    color: var(--brand-primary, #b89cf0) !important;
}

/* --- JournoIntel quick import banner & outlet expansion --- */
[data-theme="dark"] .ji-quick-import {
    background: var(--bg-subtle, #1a1a1a) !important;
    border-color: var(--border-default, #2a2a2a) !important;
    color: var(--text-primary, #e8e8e8) !important;
}
[data-theme="dark"] .ji-quick-import .text-muted {
    color: var(--text-secondary, #a0a0a0) !important;
}
[data-theme="dark"] .ji-outlet-group {
    border-color: var(--border-default, #2a2a2a) !important;
}
[data-theme="dark"] .ji-outlet-header {
    background: var(--bg-subtle, #1a1a1a) !important;
    color: var(--text-primary, #e8e8e8) !important;
}
[data-theme="dark"] .ji-outlet-header .badge-light {
    background: var(--bg-purple-tint, #1e1430) !important;
    color: var(--brand-primary, #b89cf0) !important;
}
[data-theme="dark"] .ji-outlet-body {
    background: var(--bg-surface, #121212) !important;
}
[data-theme="dark"] .ji-outlet-body .ji-card {
    border-bottom-color: var(--border-default, #2a2a2a) !important;
}
[data-theme="dark"] .ji-outlet-actions .btn {
    border-color: var(--border-default, #2a2a2a) !important;
    color: var(--text-primary, #e8e8e8) !important;
}
[data-theme="dark"] .ji-outlet-actions .btn:hover {
    background: var(--bg-muted, #222) !important;
}
[data-theme="dark"] .ji-filter-bar {
    background: var(--bg-subtle, #1a1a1a) !important;
}
[data-theme="dark"] .ji-bulk-bar {
    background: var(--bg-gold-tint, #2a2410) !important;
    color: var(--text-primary, #e8e8e8) !important;
}

/* --- AI quota warnings --- */
[data-theme="dark"] .ai-quota-warning {
    background: var(--bg-gold-tint) !important;
    color: var(--text-primary) !important;
}
[data-theme="dark"] .ai-quota-exhausted {
    background: var(--status-danger-bg) !important;
    color: var(--text-primary) !important;
}

/* --- Merge token pills --- */
[data-theme="dark"] .merge-token-pill.story-token {
    background: var(--bg-gold-tint) !important;
}

/* --- EmailPitching field category headers and items --- */
[data-theme="dark"] .field-category-header {
    background: var(--bg-subtle) !important;
    color: var(--text-primary) !important;
}
[data-theme="dark"] .field-category-header:hover {
    background: var(--bg-muted) !important;
}
[data-theme="dark"] .field-item {
    background: var(--bg-muted) !important;
    color: var(--text-primary) !important;
}

/* --- Filter card badges (shared bh-filter-card primitives) --- */
[data-theme="dark"] .bh-filter-badge,
[data-theme="dark"] .ep-filter-pill {
    background: var(--bg-subtle) !important;
}

/* --- EmailPitching: Compose form labels and field picker panel --- */
[data-theme="dark"] .ep-prepend-label {
    background: var(--bg-subtle) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-default) !important;
}
[data-theme="dark"] .emailfieldpicker {
    background: var(--bg-subtle) !important;
    border-color: var(--border-default) !important;
}

/* --- Email Preview: dark mode adopts theme surface --- */
/* Frame + header chrome only. The body itself is handled by the RTE-rendered  */
/* surfaces block above (inline style="color:rgb(0,0,0)" from the editor needs */
/* !important wildcard override; .email-preview-body is added to that list).   */
/* Use Send Self Test to view the email as the recipient sees it (white).      */
[data-theme="dark"] .email-preview-frame {
    background: var(--bg-surface, #141414) !important;
    border-color: var(--border-default, #2a2a2a) !important;
}
[data-theme="dark"] .email-preview-header {
    background: var(--bg-subtle, #1a1a1a) !important;
    border-bottom-color: var(--border-default, #2a2a2a) !important;
}
[data-theme="dark"] .email-preview-header .ep-field-label {
    color: var(--text-muted, #b0b0b0) !important;
}
[data-theme="dark"] .email-preview-header .ep-field-value {
    color: var(--text-primary, #e8e8e8) !important;
}
[data-theme="dark"] .email-preview-body iframe {
    background: #1e1e1e !important;
}

/* --- Public page alternating sections --- */
[data-theme="dark"] .cq-section-alt,
[data-theme="dark"] .sm-section-alt,
[data-theme="dark"] .prm-section-alt,
[data-theme="dark"] .sm-game-wrap {
    background: var(--bg-subtle) !important;
}
[data-theme="dark"] .ps-wheel-info {
    background: var(--bg-subtle) !important;
}
[data-theme="dark"] .bs-compare-category {
    background: var(--bg-subtle) !important;
}

/* --- Collapsible profile section headers (CRM detail view) --- */
[data-theme="dark"] .profile-section-collapsible {
    border-top-color: var(--border-default) !important;
}

/* --- Landing/marketing button variants --- */
[data-theme="dark"] .btn-landing-primary {
    background: var(--bg-subtle) !important;
}
[data-theme="dark"] .bs-button-main {
    background: var(--bg-gold-tint) !important;
}

/* --- BH Gold Header dark mode (matches .bh-gold-header master list in BUZZHub.css) --- */
[data-theme="dark"] .bh-gold-header,
[data-theme="dark"] .profile-card-header.yellow,
[data-theme="dark"] .card-header,
[data-theme="dark"] .info-section-card h4,
[data-theme="dark"] .qa-card-header,
[data-theme="dark"] .portal-card-header,
[data-theme="dark"] .portal-section-header,
[data-theme="dark"] .media-release-questions,
[data-theme="dark"] .coverage-panel-header,
[data-theme="dark"] .survey-import-zone,
[data-theme="dark"] .survey-table th,
[data-theme="dark"] .agreement-card-header,
[data-theme="dark"] .report-link-card,
[data-theme="dark"] .calendar-options-header,
[data-theme="dark"] .crm-top-contacts-header,
[data-theme="dark"] .crm-section-header,
[data-theme="dark"] .crm-modal-header,
[data-theme="dark"] .group-members-header,
[data-theme="dark"] .group-members-panel table thead th,
[data-theme="dark"] .table-blocked-emails th,
[data-theme="dark"] .table-condensed > tbody > tr > th,
[data-theme="dark"] .key-messages-modal .modal-header,
[data-theme="dark"] .edm-groups-header,
[data-theme="dark"] .ji-country-pack,
[data-theme="dark"] .branding-logo-card-header,
[data-theme="dark"] .branding-crop-header,
[data-theme="dark"] .sp-tips-card-header,
[data-theme="dark"] .brand-header-card,
[data-theme="dark"] .form-card h3, [data-theme="dark"] .form-card h4,
[data-theme="dark"] .form-card .form-header,
[data-theme="dark"] .storybuilder-form h3, [data-theme="dark"] .storybuilder-form h4,
[data-theme="dark"] .sub-brand-expandable.expanded .sub-brand-header-row,
[data-theme="dark"] .crm-contact-card .card-header,
[data-theme="dark"] .slideout-body .qa-card-header,
[data-theme="dark"] .modalPopup .input-group .input-group-text,
[data-theme="dark"] .modal-body .input-group .input-group-text,
[data-theme="dark"] .form-view-modern .input-group .input-group-text,
[data-theme="dark"] .sub-content .profile-card-header.yellow,
[data-theme="dark"] .smallside .profile-card-header.yellow {
    background: var(--bg-subtle, #1a1a1a) !important;
    color: var(--text-primary, #e8e8e8) !important;
    border-bottom-color: var(--border-default, #2a2a2a) !important;
}

/* Schedule portal: RTE / Word-pasted content carries inline color styles (HtmlSanitiser
   does not strip the style attribute) that ignore dark mode -> dark text on a dark card.
   Force readable text on the content surfaces; re-colour links and the questions heading. */
[data-theme="dark"] .schedule-portal .info-section-content,
[data-theme="dark"] .schedule-portal .info-section-content *,
[data-theme="dark"] .schedule-portal .media-release-content,
[data-theme="dark"] .schedule-portal .media-release-content *,
[data-theme="dark"] .schedule-portal .media-release-bullets,
[data-theme="dark"] .schedule-portal .media-release-bullets *,
[data-theme="dark"] .schedule-portal .media-release-questions :not(h5):not(h5 *) {
    color: var(--text-body, #d4d4d4) !important;
}
[data-theme="dark"] .schedule-portal .info-section-content a,
[data-theme="dark"] .schedule-portal .media-release-content a,
[data-theme="dark"] .schedule-portal .media-release-questions a {
    color: #9db8ff !important;
}
[data-theme="dark"] .schedule-portal .media-release-questions h5 {
    color: var(--text-primary, #e5e5e5) !important;
}
[data-theme="dark"] .schedule-portal .media-release-questions h5 i {
    color: var(--brand-accent, #fdb913) !important;
}
/* jQuery Knob writes the value text colour inline (= fgColor); keep it legible on the dark card. */
[data-theme="dark"] .schedule-portal .support-stat-dial input.dial {
    color: var(--text-primary, #e5e5e5) !important;
}
[data-theme="dark"] .schedule-portal .support-stat-caption {
    color: var(--text-body, #d4d4d4) !important;
}
/* Media-release headline sits on the purple header gradient -- keep it white in BOTH
   modes regardless of any inline colour pasted into the Headline field. */
.schedule-portal .media-release-title h2,
.schedule-portal .media-release-title h2 * {
    color: var(--text-on-dark, #ffffff) !important;
}

/* Selected row states with gold background */
[data-theme="dark"] .outlet-contact-row.selected {
    background: var(--bg-purple-tint, #1e1430) !important;
}
/* Survey import zone hover */
[data-theme="dark"] .survey-import-zone:hover {
    background: var(--bg-muted, #1e1e1e) !important;
}

/* =============================================
   Modal body text / headings -- dark mode
   Naked <h4>/<h5>/<h6> section headings inside
   .modalPopup .body inherit dim colour from
   somewhere in the cascade and become unreadable
   on dark surfaces. Force --text-primary.
   ============================================= */
[data-theme="dark"] .modalPopup,
[data-theme="dark"] .modalPopup .body,
[data-theme="dark"] .modalPopup .body h1,
[data-theme="dark"] .modalPopup .body h2,
[data-theme="dark"] .modalPopup .body h3,
[data-theme="dark"] .modalPopup .body h4,
[data-theme="dark"] .modalPopup .body h5,
[data-theme="dark"] .modalPopup .body h6,
[data-theme="dark"] .modal-body h1,
[data-theme="dark"] .modal-body h2,
[data-theme="dark"] .modal-body h3,
[data-theme="dark"] .modal-body h4,
[data-theme="dark"] .modal-body h5,
[data-theme="dark"] .modal-body h6 {
    color: var(--text-primary, #e8e8e8) !important;
}

/* =============================================
   Section headings -- dark mode
   Naked h5/h6 inside card-style section headers (Outreach Groups,
   Syndication Groups, EDM Groups panels) and ClientEDM engagement
   stat labels inherit a dim colour from the cascade and render as
   dark-grey-on-black. Force --text-primary.
   ============================================= */
[data-theme="dark"] .groups-header h5,
[data-theme="dark"] .groups-header h6,
[data-theme="dark"] #engagements .row.text-center > [class*="col-"] > h5 {
    color: var(--text-primary, #e8e8e8) !important;
}

/* =============================================
   EDM Group card -- selected state in dark mode
   Hardcoded cream gradient (f0fff4 -> fff) becomes unreadable when
   .group-name text (--text-primary) flips to near-white. Swap to a
   subtle dark panel and keep the green border as the selected signal.
   ============================================= */
[data-theme="dark"] .group-card {
    background: var(--bg-surface, #141414) !important;
    border-color: var(--border-default, #2a2a2a) !important;
}
[data-theme="dark"] .group-card:hover {
    background: var(--bg-subtle, #1a1a1a) !important;
    border-color: var(--brand-primary, #a76bdf) !important;
}
[data-theme="dark"] .group-card.selected {
    background: linear-gradient(135deg, #0d2818 0%, var(--bg-surface, #141414) 100%) !important;
    border-color: var(--status-success, #28a745) !important;
}
[data-theme="dark"] .group-card .group-name {
    color: var(--text-primary, #e8e8e8) !important;
}
[data-theme="dark"] .group-card .group-meta {
    color: var(--text-secondary, #bcbcbc) !important;
}

/* =============================================
   EDM Email Groups list -- dark mode
   BUZZHub.css sets per-column colours on .edm-col-* which overrides
   the .edm-list-header brand-primary. Email column has no override
   so its header reads purple and the cell inherits dim body text.
   Force a single readable palette in dark mode for header and cells.
   ============================================= */
[data-theme="dark"] .edm-list-header {
    background: var(--bg-subtle, #1a1a1a) !important;
    color: var(--text-primary, #e8e8e8) !important;
    border-bottom-color: var(--border-default, #2a2a2a) !important;
}
[data-theme="dark"] .edm-list-header .edm-col-name,
[data-theme="dark"] .edm-list-header .edm-col-email,
[data-theme="dark"] .edm-list-header .edm-col-brand,
[data-theme="dark"] .edm-list-header .edm-col-state,
[data-theme="dark"] .edm-list-header .edm-col-pos {
    color: var(--text-primary, #e8e8e8) !important;
}
[data-theme="dark"] .edm-row .edm-col-email {
    color: var(--text-body, #d4d4d4);
}
[data-theme="dark"] .edm-row .edm-col-email a {
    color: var(--brand-primary, #a76bdf);
}
[data-theme="dark"] .edm-row .edm-col-brand {
    color: var(--text-body, #d4d4d4);
}
[data-theme="dark"] .edm-row .edm-col-state,
[data-theme="dark"] .edm-row .edm-col-pos {
    color: var(--text-secondary, #bcbcbc);
}

/* =============================================
   Inline #ffc107 (warning yellow) badges -- dark mode
   Several pages build status pills with
   `background:#ffc107; color:var(--text-primary, #333)`.
   In dark mode --text-primary flips to near-white,
   leaving white-on-gold = unreadable. Force dark ink
   on any element that carries a yellow background
   via inline style.
   ============================================= */
[data-theme="dark"] [style*="background:#ffc107"],
[data-theme="dark"] [style*="background: #ffc107"],
[data-theme="dark"] [style*="background-color:#ffc107"],
[data-theme="dark"] [style*="background-color: #ffc107"],
[data-theme="dark"] [style*="background:#fdb913"],
[data-theme="dark"] [style*="background: #fdb913"],
[data-theme="dark"] [style*="background-color:#fdb913"],
[data-theme="dark"] [style*="background-color: #fdb913"] {
    color: #1a1a1a !important;
}

/* =============================================
   Class-level hardcoded warning yellow -- dark mode
   Same pattern as the inline rule above but for CSS classes
   declared in page-level <style> blocks.
   ============================================= */
[data-theme="dark"] .priority-P3,
[data-theme="dark"] .priority-P2,
[data-theme="dark"] .status-onhold,
[data-theme="dark"] .review-status.amber,
[data-theme="dark"] .top-engaged-card.gold .top-engaged-rank {
    color: #1a1a1a !important;
}

/* =============================================
   Inline light-blue / pale-blue backgrounds -- dark mode
   Common pattern for info banners (e.g. pipeline context help).
   ============================================= */
[data-theme="dark"] [style*="background:#f0f4ff"],
[data-theme="dark"] [style*="background: #f0f4ff"],
[data-theme="dark"] [style*="background:#e8f0fe"],
[data-theme="dark"] [style*="background: #e8f0fe"],
[data-theme="dark"] [style*="background:#e3f2fd"],
[data-theme="dark"] [style*="background: #e3f2fd"],
[data-theme="dark"] [style*="background:#d1ecf1"],
[data-theme="dark"] [style*="background: #d1ecf1"],
[data-theme="dark"] [style*="background-color:#f0f4ff"],
[data-theme="dark"] [style*="background-color: #f0f4ff"] {
    background: var(--status-info-bg, #0a1e24) !important;
    color: var(--status-info-text, #5dc8db) !important;
    border-color: var(--status-info-border, #0e2a30) !important;
}
/* Linear-gradient variants */
[data-theme="dark"] [style*="linear-gradient(135deg,#f0f4ff"],
[data-theme="dark"] [style*="linear-gradient(135deg, #f0f4ff"] {
    background: linear-gradient(135deg, var(--bg-subtle, #1a1a1a) 0%, var(--bg-surface, #141414) 100%) !important;
    color: var(--text-primary, #e8e8e8) !important;
}

/* =============================================
   Inline pure-white backgrounds -- dark mode
   Small catch-all so hardcoded `style="background:#fff"` does not
   keep a white card stranded on the dark page. Applies only when
   the inline style sets the background; page-level white classes
   such as `.bg-white` are handled separately above.
   ============================================= */
[data-theme="dark"] [style*="background:#fff;"],
[data-theme="dark"] [style*="background: #fff;"],
[data-theme="dark"] [style*="background:#ffffff;"],
[data-theme="dark"] [style*="background: #ffffff;"],
[data-theme="dark"] [style*="background:#fafafa;"],
[data-theme="dark"] [style*="background: #fafafa;"],
[data-theme="dark"] [style*="background:#f8f9fa;"],
[data-theme="dark"] [style*="background: #f8f9fa;"],
[data-theme="dark"] [style*="background-color:#fff;"],
[data-theme="dark"] [style*="background-color: #fff;"],
[data-theme="dark"] [style*="background-color:#ffffff;"],
[data-theme="dark"] [style*="background-color: #ffffff;"] {
    background-color: var(--bg-surface, #141414) !important;
    color: var(--text-primary, #e8e8e8);
}

/* =============================================
   Dark mode card elevation lift (2026-04-21)
   Cards that rely on soft light-mode shadows (rgba(0,0,0,0.05-0.08))
   read flat on #0a0a0a page bg because the shadow alpha is invisible.
   Solution: lift surface one step above --bg-surface, beef shadow alpha,
   strengthen border. Preserves light mode (scoped to [data-theme="dark"]).
   If you add a new card class anywhere, add it here too.
   See .claude/scripts/dark-mode-lint.ps1 for audit helper.
   ============================================= */
[data-theme="dark"] .ji-pack-card,
[data-theme="dark"] .ji-stat-card,
[data-theme="dark"] .ji-country-card,
[data-theme="dark"] .ji-card,
[data-theme="dark"] .coverage-card,
[data-theme="dark"] .coverage-stats-bar .kpi-card,
[data-theme="dark"] .pitch-stat-card,
[data-theme="dark"] .bh-data-card,
[data-theme="dark"] .compose-card,
[data-theme="dark"] .nwcard,
[data-theme="dark"] .crm-stat-card,
[data-theme="dark"] .contact-card,
[data-theme="dark"] .search-result-card,
[data-theme="dark"] .crm-contact-card,
[data-theme="dark"] .top-engaged-card,
[data-theme="dark"] .outlet-contact-card,
[data-theme="dark"] .top-contact-card,
[data-theme="dark"] .group-card,
[data-theme="dark"] .blocked-stat-card,
[data-theme="dark"] .profile-card,
[data-theme="dark"] .edm-stat-card,
[data-theme="dark"] .inbox-message-card,
[data-theme="dark"] .mi-stat-card,
[data-theme="dark"] .portal-metric-card,
[data-theme="dark"] .bh-summary-card,
[data-theme="dark"] .media-release-card,
[data-theme="dark"] .sub-brand-item,
[data-theme="dark"] .conversation-item,
[data-theme="dark"] .outlet-syndication-card,
[data-theme="dark"] .form-section,
[data-theme="dark"] .outlet-profile,
[data-theme="dark"] .edm-groups-sidebar,
[data-theme="dark"] .edm-group-panel,
[data-theme="dark"] .nwc-card,
[data-theme="dark"] .social-stat-card,
[data-theme="dark"] .media-stat-card,
[data-theme="dark"] .kpi-card,
[data-theme="dark"] .kpi-stat,
[data-theme="dark"] .analytics-card,
[data-theme="dark"] .analytics-panel,
[data-theme="dark"] .dashboard-widget,
[data-theme="dark"] .pipeline-stat-card,
[data-theme="dark"] .pitch-list-card,
[data-theme="dark"] .pitch-contact-card,
[data-theme="dark"] .focus-card,
[data-theme="dark"] .task-stat-box,
[data-theme="dark"] .decline-stat-card,
[data-theme="dark"] .mail-stat-card,
[data-theme="dark"] .callback-card,
[data-theme="dark"] .history-item,
[data-theme="dark"] .graphic-card,
[data-theme="dark"] .dc-editor,
[data-theme="dark"] .dc-share,
[data-theme="dark"] .dc-preview-card,
[data-theme="dark"] .task-card,
[data-theme="dark"] .pipeline-table-view,
[data-theme="dark"] .pipeline-chart-view,
[data-theme="dark"] .ji-panel,
[data-theme="dark"] .ji-feed-panel,
[data-theme="dark"] .ra-stat-card,
[data-theme="dark"] .bh-kpi,
[data-theme="dark"] .bh-eng-summary-tile,
[data-theme="dark"] .nw-story-card,
[data-theme="dark"] .health-card {
    background-color: #1d1e24 !important;
    /* Override only 3 sides -- preserve border-left-color so coloured
       accent borders (brand/success/danger/warning) stay visible. */
    border-top-color: #3a3a42 !important;
    border-right-color: #3a3a42 !important;
    border-bottom-color: #3a3a42 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.5) !important;
}

/* =============================================
   Time Report table (CRMClients Activity) -- dark mode
   th uses --brand-primary text on --bg-purple-tint -> light violet
   on dark violet, low contrast. td has no explicit colour and
   inherits a dim cascade colour, reading as grey-on-grey. Force
   white headers and full --text-body on cells.
   ============================================= */
[data-theme="dark"] .time-report-table th {
    color: var(--text-on-dark, #ffffff) !important;
    border-bottom-color: var(--border-strong, #3a3a42) !important;
}
[data-theme="dark"] .time-report-table td {
    color: var(--text-body, #d4d4d4);
    border-bottom-color: var(--border-default, #2a2a2a);
}
[data-theme="dark"] .time-report-table tr:hover td {
    background: var(--bg-purple-tint, #1e1430) !important;
}
[data-theme="dark"] .time-report-table tfoot td {
    color: var(--text-primary, #e8e8e8);
}

/* CRM contact cards -- hover pop in dark mode.
   Base elevation handled above. Hover adds a subtle purple-tinted glow
   so the card edge reads crisp against #0a0a0a page bg. */
[data-theme="dark"] .crm-contact-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 2px 4px rgba(0,0,0,0.55),
                0 12px 28px rgba(0,0,0,0.6),
                0 0 0 1px rgba(253, 185, 19, 0.08) !important;
    border-top-color: #4a4a55 !important;
    border-right-color: #4a4a55 !important;
    border-bottom-color: #4a4a55 !important;
}

/* Print reset -- forces light mode for printing */
@media print {
    :root, [data-theme="dark"] {
        --brand-primary: #3d1a6f;
        --brand-accent: #fdb913;
        --brand-danger: #ed174c;
        --brand-magenta: #7d1d61;
        --bg-page: #ffffff;
        --bg-surface: #ffffff;
        --bg-subtle: #fafafa;
        --bg-muted: #f0f0f0;
        --bg-purple-tint: #f0ebf7;
        --bg-gold-tint: #fff5dc;
        --text-primary: #333333;
        --text-body: #555555;
        --text-secondary: #666666;
        --text-tertiary: #888888;
        --text-muted: #999999;
        --text-on-dark: #ffffff;
        --page-title-color: #3d1a6f;
        --border-light: #e9ecef;
        --border-default: #dddddd;
        --border-strong: #cccccc;
        --border-brand: #e0d4f0;
        --status-success: #28a745;
        --status-success-bg: #d4edda;
        --status-success-text: #155724;
        --status-warning-bg: #fff3cd;
        --status-warning-text: #856404;
        --status-danger: #dc3545;
        --status-danger-bg: #f8d7da;
        --status-info: #17a2b8;
        --status-info-bg: #d1ecf1;
        --status-info-text: #0c5460;
        --status-success-border: #c3e6cb;
        --status-danger-border: #f5c6cb;
        --status-danger-text: #721c24;
        --status-warning-border: #ffeeba;
        --status-info-border: #bee5eb;
        --accent-purple: #6c5ce7;
        --shadow-color: rgba(0,0,0,0.1);
        --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
        --shadow-md: 0 4px 12px rgba(0,0,0,0.12);
        --overlay-bg: rgba(0,0,0,0.5);
        --scrollbar-track: #f1f1f1;
        --scrollbar-thumb: #c1c1c1;
        --scrollbar-thumb-hover: #a1a1a1;
    }
}

/* =============================================================================
   Engagement Lifecycle Redesign tokens (added 2026-05-10)
   Spec: .claude/buzzscribed/engagement-design-system-2026-05-10.md sec 1.2
   All additive -- no existing token redefined.
   ============================================================================= */
:root {
    /* Engagement State badges (axis A2) */
    --es-provisional-bg: #fff5dc;
    --es-provisional-fg: #8a6d00;
    --es-provisional-border: #fdb913;
    --es-draft-bg: #e3f2fd;
    --es-draft-fg: #0d47a1;
    --es-draft-border: #90caf9;
    --es-pending-bg: #fff3cd;
    --es-pending-fg: #856404;
    --es-pending-border: #ffeaa7;
    --es-active-bg: #d4edda;
    --es-active-fg: #155724;
    --es-active-border: #c3e6cb;
    --es-closed-bg: #e9ecef;
    --es-closed-fg: #495057;
    --es-closed-border: #ced4da;

    /* Work Lifecycle layer rendering (axis A3)
       2026-05-15: forecast stripe alpha softened (0.6 -> 0.22) so labels stay legible
       on the striped background. Pattern density also lowered in engagement-design-system.css. */
    --wl-forecast-stripe-color: rgba(125, 95, 195, 0.22);
    --wl-forecast-base-bg: var(--bg-purple-tint);
    --wl-forecast-opacity: 0.6;
    --wl-committed-bg: var(--brand-primary);
    --wl-committed-fg: #ffffff;
    --wl-actual-progress-bg: var(--brand-accent);
    --wl-actual-text: #1a1024;

    /* Execution Health (axis A5) */
    --eh-ontrack: #28a745;
    --eh-ontrack-bg: #d4edda;
    --eh-over: #ed174c;
    --eh-over-bg: #fde0e6;
    --eh-under: #fd7e14;
    --eh-under-bg: #fff0e0;

    /* Resource conflict overlay */
    --conflict-overlay: rgba(237, 23, 76, 0.18);
    --conflict-icon: #ed174c;

    /* LSE legacy badge */
    --legacy-bg: #ede7f6;
    --legacy-fg: #4527a0;
    --legacy-border: #b39ddb;
}

[data-theme="dark"] {
    /* Engagement State (dark variants -- WCAG AA 4.5:1 minimum) */
    --es-provisional-bg: #3a2f10;
    --es-provisional-fg: #ffd966;
    --es-provisional-border: #fdb913;
    --es-draft-bg: #0d2438;
    --es-draft-fg: #90caf9;
    --es-draft-border: #1e3a5f;
    --es-pending-bg: #3a2f10;
    --es-pending-fg: #ffd966;
    --es-pending-border: #856404;
    --es-active-bg: #14361e;
    --es-active-fg: #6cd189;
    --es-active-border: #1e5028;
    --es-closed-bg: #2a2a2a;
    --es-closed-fg: #adb5bd;
    --es-closed-border: #3a3a3a;

    /* Work Lifecycle (dark) -- alpha softened in parallel with light theme (2026-05-15). */
    --wl-forecast-stripe-color: rgba(180, 150, 255, 0.2);
    --wl-committed-bg: #6b3eb0;
    --wl-actual-progress-bg: #ffd966;

    /* Execution Health (dark variants) */
    --eh-ontrack: #6cd189;
    --eh-ontrack-bg: #14361e;
    --eh-over: #ff5577;
    --eh-over-bg: #401822;
    --eh-under: #ff9c40;
    --eh-under-bg: #3a2410;

    /* Resource conflict */
    --conflict-overlay: rgba(255, 85, 119, 0.22);
    --conflict-icon: #ff5577;

    /* Legacy badge */
    --legacy-bg: #2a2238;
    --legacy-fg: #d1c4e9;
    --legacy-border: #4527a0;
}

@charset "UTF-8";
/*!
* Start Bootstrap - Agency v6.0.3 (https://startbootstrap.com/theme/agency)
* Copyright 2013-2020 Start Bootstrap
* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-agency/blob/master/LICENSE)
*/
/*!
 * Bootstrap v4.5.3 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
    --blue: #3d1a6f;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e83e8c;
    --red: #ed174c;
    --orange: #fd7e14;
    --yellow: #fdb913;
    --green: #28a745;
    --teal: #20c997;
    --cyan: #17a2b8;
    --white: #fff;
    --gray: #3d1a6f;
    --gray-dark: #343a40;
    --primary: #fdb913;
    --secondary: #3d1a6f;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #fdb913;
    --danger: #ed174c;
    --light: #f8f9fa;
    --dark: #343a40;
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1200px;
    --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Outfit, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
    display: block;
}

body {
    margin: 0;
    font-family: 'Outfit', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--brand-primary, #3d1a6f);
    text-align: left;
    background-color: var(--bg-surface, #fff);
}

[tabindex="-1"]:focus:not(:focus-visible) {
    outline: 0 !important;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    cursor: help;
    border-bottom: 0;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit;
}

ol,
ul,
dl {
    margin-top: 0;
    margin-bottom: 1rem;
}

    ol ol,
    ul ul,
    ol ul,
    ul ol {
        margin-bottom: 0;
    }

dt {
    font-weight: 700;
}

dd {
    margin-bottom: 0.5rem;
    margin-left: 0;
}

blockquote {
    margin: 0 0 1rem;
}

b,
strong {
    font-weight: bolder;
}

small {
    font-size: 80%;
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

a {
    color: var(--brand-danger, #ed174c);
    text-decoration: none;
    background-color: transparent;
}

    a:hover {
        color: var(--brand-accent-hover, #e6b301);
        text-decoration: underline;
    }

    a:not([href]):not([class]) {
        color: inherit;
        text-decoration: none;
    }

        a:not([href]):not([class]):hover {
            color: inherit;
            text-decoration: none;
        }

pre,
code,
kbd,
samp {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 1em;
}

pre {
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    -ms-overflow-style: scrollbar;
}

figure {
    margin: 0 0 1rem;
}

img {
    vertical-align: middle;
    border-style: none;
}

svg {
    overflow: hidden;
    vertical-align: middle;
}

table {
    border-collapse: collapse;
}

caption {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    color: var(--brand-primary, #3d1a6f);
    text-align: left;
    caption-side: bottom;
}

th {
    text-align: inherit;
    text-align: -webkit-match-parent;
}

label {
    display: inline-block;
    margin-bottom: 0.5rem;
}

button {
    border-radius: 0;
}

    button:focus {
        outline: 1px dotted;
        outline: 5px auto -webkit-focus-ring-color;
    }

input,
button,
select,
optgroup,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

[role=button] {
    cursor: pointer;
}

select {
    word-wrap: normal;
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button;
}

    button:not(:disabled),
    [type=button]:not(:disabled),
    [type=reset]:not(:disabled),
    [type=submit]:not(:disabled) {
        cursor: pointer;
    }

    button::-moz-focus-inner,
    [type=button]::-moz-focus-inner,
    [type=reset]::-moz-focus-inner,
    [type=submit]::-moz-focus-inner {
        padding: 0;
        border-style: none;
    }

input[type=radio],
input[type=checkbox] {
    box-sizing: border-box;
    padding: 0;
}

textarea {
    overflow: auto;
    resize: vertical;
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

legend {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
    line-height: inherit;
    color: inherit;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto;
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: none;
}

    [type=search]::-webkit-search-decoration {
        -webkit-appearance: none;
    }

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button;
}

output {
    display: inline-block;
}

summary {
    display: list-item;
    cursor: pointer;
}

template {
    display: none;
}

[hidden] {
    display: none !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    margin-bottom: 0.5rem;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    line-height: 1.2;
}

.lead {
    font-size: 1.25rem;
    font-weight: 300;
}

.display-1 {
    font-size: 6rem;
    font-weight: 300;
    line-height: 1.2;
}

.display-2 {
    font-size: 5.5rem;
    font-weight: 300;
    line-height: 1.2;
}

.display-3 {
    font-size: 4.5rem;
    font-weight: 300;
    line-height: 1.2;
}

.display-4 {
    font-size: 3.5rem;
    font-weight: 300;
    line-height: 1.2;
}

hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

small,
.small {
    font-size: 80%;
    font-weight: 400;
}

mark,
.mark {
    padding: 0.2em;
    background-color: var(--status-warning-bg, #fcf8e3);
}

.list-unstyled {
    padding-left: 0;
    list-style: none;
}

.list-inline {
    padding-left: 0;
    list-style: none;
}

.list-inline-item {
    display: inline-block;
}

    .list-inline-item:not(:last-child) {
        margin-right: 0.5rem;
    }

.initialism {
    font-size: 90%;
    text-transform: uppercase;
}

.blockquote {
    margin-bottom: 1rem;
    font-size: 1.25rem;
}

.blockquote-footer {
    display: block;
    font-size: 80%;
    color: var(--brand-primary, #3d1a6f);
}

    .blockquote-footer::before {
        content: "— ";
    }

.img-fluid {
    max-width: 100%;
    height: auto;
}

.img-thumbnail {
    padding: 0.25rem;
    background-color: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #ddd);
    border-radius: 0.25rem;
    max-width: 100%;
    height: auto;
}

.figure {
    display: inline-block;
}

.figure-img {
    margin-bottom: 0.5rem;
    line-height: 1;
}

.figure-caption {
    font-size: 90%;
    color: var(--brand-primary, #3d1a6f);
}

code {
    font-size: 87.5%;
    color: var(--accent-pink, #e83e8c);
    word-wrap: break-word;
}

a > code {
    color: inherit;
}

kbd {
    padding: 0.2rem 0.4rem;
    font-size: 87.5%;
    color: var(--text-on-dark, #fff);
    background-color: var(--text-primary, #212529);
    border-radius: 0.2rem;
}

    kbd kbd {
        padding: 0;
        font-size: 100%;
        font-weight: 700;
    }

pre {
    display: block;
    font-size: 87.5%;
    color: var(--text-primary, #333);
}

    pre code {
        font-size: inherit;
        color: inherit;
        word-break: normal;
    }

.pre-scrollable {
    max-height: 340px;
    overflow-y: scroll;
}

.container,
.container-fluid,
.container-xl,
.container-lg,
.container-md,
.container-sm {
    width: 100%;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
    .container-sm, .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container-md, .container-sm, .container {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container-lg, .container-md, .container-sm, .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 1140px;
    }
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -0.75rem;
    margin-left: -0.75rem;
}

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

    .no-gutters > .col,
    .no-gutters > [class*=col-] {
        padding-right: 0;
        padding-left: 0;
    }

.col-xl,
.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg,
.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md,
.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm,
.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col,
.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
    position: relative;
    width: 100%;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

.col {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
}

.row-cols-1 > * {
    flex: 0 0 100%;
    max-width: 100%;
}

.row-cols-2 > * {
    flex: 0 0 50%;
    max-width: 50%;
}

.row-cols-3 > * {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
}

.row-cols-4 > * {
    flex: 0 0 25%;
    max-width: 25%;
}

.row-cols-5 > * {
    flex: 0 0 20%;
    max-width: 20%;
}

.row-cols-6 > * {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
}

.col-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
}

.col-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
}

.col-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

.col-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
}

.col-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
}

.col-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.col-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
}

.col-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
}

.col-9 {
    flex: 0 0 75%;
    max-width: 75%;
}

.col-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
}

.col-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%;
}

.order-first {
    order: -1;
}

.order-last {
    order: 13;
}

.order-0 {
    order: 0;
}

.order-1 {
    order: 1;
}

.order-2 {
    order: 2;
}

.order-3 {
    order: 3;
}

.order-4 {
    order: 4;
}

.order-5 {
    order: 5;
}

.order-6 {
    order: 6;
}

.order-7 {
    order: 7;
}

.order-8 {
    order: 8;
}

.order-9 {
    order: 9;
}

.order-10 {
    order: 10;
}

.order-11 {
    order: 11;
}

.order-12 {
    order: 12;
}

.offset-1 {
    margin-left: 8.3333333333%;
}

.offset-2 {
    margin-left: 16.6666666667%;
}

.offset-3 {
    margin-left: 25%;
}

.offset-4 {
    margin-left: 33.3333333333%;
}

.offset-5 {
    margin-left: 41.6666666667%;
}

.offset-6 {
    margin-left: 50%;
}

.offset-7 {
    margin-left: 58.3333333333%;
}

.offset-8 {
    margin-left: 66.6666666667%;
}

.offset-9 {
    margin-left: 75%;
}

.offset-10 {
    margin-left: 83.3333333333%;
}

.offset-11 {
    margin-left: 91.6666666667%;
}

@media (min-width: 576px) {
    .col-sm {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .row-cols-sm-1 > * {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .row-cols-sm-2 > * {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .row-cols-sm-3 > * {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .row-cols-sm-4 > * {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .row-cols-sm-5 > * {
        flex: 0 0 20%;
        max-width: 20%;
    }

    .row-cols-sm-6 > * {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-sm-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-sm-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .col-sm-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-sm-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-sm-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .col-sm-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-sm-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .col-sm-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .col-sm-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-sm-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .col-sm-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-sm-first {
        order: -1;
    }

    .order-sm-last {
        order: 13;
    }

    .order-sm-0 {
        order: 0;
    }

    .order-sm-1 {
        order: 1;
    }

    .order-sm-2 {
        order: 2;
    }

    .order-sm-3 {
        order: 3;
    }

    .order-sm-4 {
        order: 4;
    }

    .order-sm-5 {
        order: 5;
    }

    .order-sm-6 {
        order: 6;
    }

    .order-sm-7 {
        order: 7;
    }

    .order-sm-8 {
        order: 8;
    }

    .order-sm-9 {
        order: 9;
    }

    .order-sm-10 {
        order: 10;
    }

    .order-sm-11 {
        order: 11;
    }

    .order-sm-12 {
        order: 12;
    }

    .offset-sm-0 {
        margin-left: 0;
    }

    .offset-sm-1 {
        margin-left: 8.3333333333%;
    }

    .offset-sm-2 {
        margin-left: 16.6666666667%;
    }

    .offset-sm-3 {
        margin-left: 25%;
    }

    .offset-sm-4 {
        margin-left: 33.3333333333%;
    }

    .offset-sm-5 {
        margin-left: 41.6666666667%;
    }

    .offset-sm-6 {
        margin-left: 50%;
    }

    .offset-sm-7 {
        margin-left: 58.3333333333%;
    }

    .offset-sm-8 {
        margin-left: 66.6666666667%;
    }

    .offset-sm-9 {
        margin-left: 75%;
    }

    .offset-sm-10 {
        margin-left: 83.3333333333%;
    }

    .offset-sm-11 {
        margin-left: 91.6666666667%;
    }
}

@media (min-width: 768px) {
    .col-md {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .row-cols-md-1 > * {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .row-cols-md-2 > * {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .row-cols-md-3 > * {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .row-cols-md-4 > * {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .row-cols-md-5 > * {
        flex: 0 0 20%;
        max-width: 20%;
    }

    .row-cols-md-6 > * {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-md-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-md-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .col-md-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-md-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .col-md-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-md-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .col-md-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-md-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .col-md-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-md-first {
        order: -1;
    }

    .order-md-last {
        order: 13;
    }

    .order-md-0 {
        order: 0;
    }

    .order-md-1 {
        order: 1;
    }

    .order-md-2 {
        order: 2;
    }

    .order-md-3 {
        order: 3;
    }

    .order-md-4 {
        order: 4;
    }

    .order-md-5 {
        order: 5;
    }

    .order-md-6 {
        order: 6;
    }

    .order-md-7 {
        order: 7;
    }

    .order-md-8 {
        order: 8;
    }

    .order-md-9 {
        order: 9;
    }

    .order-md-10 {
        order: 10;
    }

    .order-md-11 {
        order: 11;
    }

    .order-md-12 {
        order: 12;
    }

    .offset-md-0 {
        margin-left: 0;
    }

    .offset-md-1 {
        margin-left: 8.3333333333%;
    }

    .offset-md-2 {
        margin-left: 16.6666666667%;
    }

    .offset-md-3 {
        margin-left: 25%;
    }

    .offset-md-4 {
        margin-left: 33.3333333333%;
    }

    .offset-md-5 {
        margin-left: 41.6666666667%;
    }

    .offset-md-6 {
        margin-left: 50%;
    }

    .offset-md-7 {
        margin-left: 58.3333333333%;
    }

    .offset-md-8 {
        margin-left: 66.6666666667%;
    }

    .offset-md-9 {
        margin-left: 75%;
    }

    .offset-md-10 {
        margin-left: 83.3333333333%;
    }

    .offset-md-11 {
        margin-left: 91.6666666667%;
    }
}

@media (min-width: 992px) {
    .col-lg {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .row-cols-lg-1 > * {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .row-cols-lg-2 > * {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .row-cols-lg-3 > * {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .row-cols-lg-4 > * {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .row-cols-lg-5 > * {
        flex: 0 0 20%;
        max-width: 20%;
    }

    .row-cols-lg-6 > * {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-lg-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-lg-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .col-lg-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-lg-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .col-lg-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-lg-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .col-lg-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .col-lg-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-lg-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .col-lg-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .col-lg-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-lg-first {
        order: -1;
    }

    .order-lg-last {
        order: 13;
    }

    .order-lg-0 {
        order: 0;
    }

    .order-lg-1 {
        order: 1;
    }

    .order-lg-2 {
        order: 2;
    }

    .order-lg-3 {
        order: 3;
    }

    .order-lg-4 {
        order: 4;
    }

    .order-lg-5 {
        order: 5;
    }

    .order-lg-6 {
        order: 6;
    }

    .order-lg-7 {
        order: 7;
    }

    .order-lg-8 {
        order: 8;
    }

    .order-lg-9 {
        order: 9;
    }

    .order-lg-10 {
        order: 10;
    }

    .order-lg-11 {
        order: 11;
    }

    .order-lg-12 {
        order: 12;
    }

    .offset-lg-0 {
        margin-left: 0;
    }

    .offset-lg-1 {
        margin-left: 8.3333333333%;
    }

    .offset-lg-2 {
        margin-left: 16.6666666667%;
    }

    .offset-lg-3 {
        margin-left: 25%;
    }

    .offset-lg-4 {
        margin-left: 33.3333333333%;
    }

    .offset-lg-5 {
        margin-left: 41.6666666667%;
    }

    .offset-lg-6 {
        margin-left: 50%;
    }

    .offset-lg-7 {
        margin-left: 58.3333333333%;
    }

    .offset-lg-8 {
        margin-left: 66.6666666667%;
    }

    .offset-lg-9 {
        margin-left: 75%;
    }

    .offset-lg-10 {
        margin-left: 83.3333333333%;
    }

    .offset-lg-11 {
        margin-left: 91.6666666667%;
    }
}

@media (min-width: 1200px) {
    .col-xl {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .row-cols-xl-1 > * {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .row-cols-xl-2 > * {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .row-cols-xl-3 > * {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .row-cols-xl-4 > * {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .row-cols-xl-5 > * {
        flex: 0 0 20%;
        max-width: 20%;
    }

    .row-cols-xl-6 > * {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-xl-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%;
    }

    .col-xl-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .col-xl-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-xl-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-xl-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .col-xl-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .col-xl-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-xl-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .col-xl-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .col-xl-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-xl-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .col-xl-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .col-xl-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-xl-first {
        order: -1;
    }

    .order-xl-last {
        order: 13;
    }

    .order-xl-0 {
        order: 0;
    }

    .order-xl-1 {
        order: 1;
    }

    .order-xl-2 {
        order: 2;
    }

    .order-xl-3 {
        order: 3;
    }

    .order-xl-4 {
        order: 4;
    }

    .order-xl-5 {
        order: 5;
    }

    .order-xl-6 {
        order: 6;
    }

    .order-xl-7 {
        order: 7;
    }

    .order-xl-8 {
        order: 8;
    }

    .order-xl-9 {
        order: 9;
    }

    .order-xl-10 {
        order: 10;
    }

    .order-xl-11 {
        order: 11;
    }

    .order-xl-12 {
        order: 12;
    }

    .offset-xl-0 {
        margin-left: 0;
    }

    .offset-xl-1 {
        margin-left: 8.3333333333%;
    }

    .offset-xl-2 {
        margin-left: 16.6666666667%;
    }

    .offset-xl-3 {
        margin-left: 25%;
    }

    .offset-xl-4 {
        margin-left: 33.3333333333%;
    }

    .offset-xl-5 {
        margin-left: 41.6666666667%;
    }

    .offset-xl-6 {
        margin-left: 50%;
    }

    .offset-xl-7 {
        margin-left: 58.3333333333%;
    }

    .offset-xl-8 {
        margin-left: 66.6666666667%;
    }

    .offset-xl-9 {
        margin-left: 75%;
    }

    .offset-xl-10 {
        margin-left: 83.3333333333%;
    }

    .offset-xl-11 {
        margin-left: 91.6666666667%;
    }
}

.table {
    width: 100%;
    margin-bottom: 1rem;
    color: var(--text-primary, #333);
}

    .table th,
    .table td {
        padding: 0.75rem;
        vertical-align: top;
        border-top: 1px solid var(--border-default, #ddd);
    }

    .table thead th {
        vertical-align: bottom;
        border-bottom: 2px solid var(--border-default, #ddd);
    }

    .table tbody + tbody {
        border-top: 2px solid var(--border-default, #ddd);
    }

.table-sm th,
.table-sm td {
    padding: 0.3rem;
}

.table-bordered {
    border: 1px solid var(--border-default, #ddd);
}

    .table-bordered th,
    .table-bordered td {
        border: 1px solid var(--border-default, #ddd);
    }

    .table-bordered thead th,
    .table-bordered thead td {
        border-bottom-width: 2px;
    }

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
    border: 0;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
    color: var(--text-primary, #333);
    background-color: rgba(0, 0, 0, 0.075);
}

.table-primary,
.table-primary > th,
.table-primary > td {
    background-color: var(--status-warning-bg, #fff2c7);
}

    .table-primary th,
    .table-primary td,
    .table-primary thead th,
    .table-primary tbody + tbody {
        border-color: var(--status-warning-border, #fee796);
    }

.table-hover .table-primary:hover {
    background-color: var(--status-warning-tint, #ffecae);
}

    .table-hover .table-primary:hover > td,
    .table-hover .table-primary:hover > th {
        background-color: var(--status-warning-tint, #ffecae);
    }

.table-secondary,
.table-secondary > th,
.table-secondary > td {
    background-color: var(--bg-muted, #d6d8db);
}

    .table-secondary th,
    .table-secondary td,
    .table-secondary thead th,
    .table-secondary tbody + tbody {
        border-color: var(--border-default, #b3b7bb);
    }

.table-hover .table-secondary:hover {
    background-color: var(--bg-muted, #c8cbcf);
}

    .table-hover .table-secondary:hover > td,
    .table-hover .table-secondary:hover > th {
        background-color: var(--bg-muted, #c8cbcf);
    }

.table-success,
.table-success > th,
.table-success > td {
    background-color: var(--status-success-border, #c3e6cb);
}

    .table-success th,
    .table-success td,
    .table-success thead th,
    .table-success tbody + tbody {
        border-color: var(--status-success-border, #8fd19e);
    }

.table-hover .table-success:hover {
    background-color: var(--status-success-tint, #b1dfbb);
}

    .table-hover .table-success:hover > td,
    .table-hover .table-success:hover > th {
        background-color: var(--status-success-tint, #b1dfbb);
    }

.table-info,
.table-info > th,
.table-info > td {
    background-color: var(--status-info-border, #bee5eb);
}

    .table-info th,
    .table-info td,
    .table-info thead th,
    .table-info tbody + tbody {
        border-color: var(--status-info-border, #86cfda);
    }

.table-hover .table-info:hover {
    background-color: var(--status-info-tint, #abdde5);
}

    .table-hover .table-info:hover > td,
    .table-hover .table-info:hover > th {
        background-color: var(--status-info-tint, #abdde5);
    }

.table-warning,
.table-warning > th,
.table-warning > td {
    background-color: var(--status-warning-bg, #fff2c7);
}

    .table-warning th,
    .table-warning td,
    .table-warning thead th,
    .table-warning tbody + tbody {
        border-color: var(--status-warning-border, #fee796);
    }

.table-hover .table-warning:hover {
    background-color: var(--status-warning-tint, #ffecae);
}

    .table-hover .table-warning:hover > td,
    .table-hover .table-warning:hover > th {
        background-color: var(--status-warning-tint, #ffecae);
    }

.table-danger,
.table-danger > th,
.table-danger > td {
    background-color: var(--status-danger-border, #f5c6cb);
}

    .table-danger th,
    .table-danger td,
    .table-danger thead th,
    .table-danger tbody + tbody {
        border-color: var(--status-danger-border, #ed969e);
    }

.table-hover .table-danger:hover {
    background-color: var(--status-danger-tint, #f1b0b7);
}

    .table-hover .table-danger:hover > td,
    .table-hover .table-danger:hover > th {
        background-color: var(--status-danger-tint, #f1b0b7);
    }

.table-light,
.table-light > th,
.table-light > td {
    background-color: var(--bg-surface, #fdfdfe);
}

    .table-light th,
    .table-light td,
    .table-light thead th,
    .table-light tbody + tbody {
        border-color: var(--bg-surface, #fbfcfc);
    }

.table-hover .table-light:hover {
    background-color: var(--bg-muted, #ececf6);
}

    .table-hover .table-light:hover > td,
    .table-hover .table-light:hover > th {
        background-color: var(--bg-muted, #ececf6);
    }

.table-dark,
.table-dark > th,
.table-dark > td {
    background-color: var(--bg-muted, #c6c8ca);
}

    .table-dark th,
    .table-dark td,
    .table-dark thead th,
    .table-dark tbody + tbody {
        border-color: var(--border-default, #95999c);
    }

.table-hover .table-dark:hover {
    background-color: var(--bg-muted, #b9bbbe);
}

    .table-hover .table-dark:hover > td,
    .table-hover .table-dark:hover > th {
        background-color: var(--bg-muted, #b9bbbe);
    }

.table-active,
.table-active > th,
.table-active > td {
    background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover {
    background-color: rgba(0, 0, 0, 0.075);
}

    .table-hover .table-active:hover > td,
    .table-hover .table-active:hover > th {
        background-color: rgba(0, 0, 0, 0.075);
    }

.table .thead-dark th {
    color: var(--text-on-dark, #fff);
    background-color: var(--text-primary, #343a40);
    border-color: var(--text-primary, #454d55);
}

.table .thead-light th {
    color: var(--text-primary, #333);
    background-color: var(--bg-muted, #e9ecef);
    border-color: var(--border-default, #ddd);
}

.table-dark {
    color: var(--text-on-dark, #fff);
    background-color: var(--text-primary, #343a40);
}

    .table-dark th,
    .table-dark td,
    .table-dark thead th {
        border-color: var(--text-primary, #454d55);
    }

    .table-dark.table-bordered {
        border: 0;
    }

    .table-dark.table-striped tbody tr:nth-of-type(odd) {
        background-color: rgba(255, 255, 255, 0.05);
    }

    .table-dark.table-hover tbody tr:hover {
        color: var(--text-on-dark, #fff);
        background-color: rgba(255, 255, 255, 0.075);
    }

@media (max-width: 575.98px) {
    .table-responsive-sm {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

        .table-responsive-sm > .table-bordered {
            border: 0;
        }
}

@media (max-width: 767.98px) {
    .table-responsive-md {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

        .table-responsive-md > .table-bordered {
            border: 0;
        }
}

@media (max-width: 991.98px) {
    .table-responsive-lg {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

        .table-responsive-lg > .table-bordered {
            border: 0;
        }
}

@media (max-width: 1199.98px) {
    .table-responsive-xl {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

        .table-responsive-xl > .table-bordered {
            border: 0;
        }
}

.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

    .table-responsive > .table-bordered {
        border: 0;
    }

.form-control {
    display: block;
    width: 100%;
    height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--text-primary, #333);
    background-color: var(--bg-surface, #fff);
    background-clip: padding-box;
    border: 1px solid var(--border-strong, #ced4da);
    border-radius: 0.25rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .form-control {
        transition: none;
    }
}

.form-control::-ms-expand {
    background-color: transparent;
    border: 0;
}

.form-control:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 var(--text-primary, #495057);
}

.form-control:focus {
    color: var(--text-primary, #333);
    background-color: var(--bg-surface, #fff);
    border-color: var(--brand-accent-light, #ffeeb5);
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(254, 209, 54, 0.25);
}

.form-control::-moz-placeholder {
    color: var(--brand-primary, #3d1a6f);
    opacity: 1;
}

.form-control:-ms-input-placeholder {
    color: var(--brand-primary, #3d1a6f);
    opacity: 1;
}

.form-control::placeholder {
    color: var(--brand-primary, #3d1a6f);
    opacity: 1;
}

.form-control:disabled, .form-control[readonly] {
    background-color: var(--bg-muted, #e9ecef);
    opacity: 1;
}

input[type=date].form-control,
input[type=time].form-control,
input[type=datetime-local].form-control,
input[type=month].form-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

select.form-control:focus::-ms-value {
    color: var(--text-primary, #333);
    background-color: var(--bg-surface, #fff);
}

.form-control-file,
.form-control-range {
    display: block;
    width: 100%;
}

.col-form-label {
    padding-top: calc(0.375rem + 1px);
    padding-bottom: calc(0.375rem + 1px);
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5;
}

.col-form-label-lg {
    padding-top: calc(0.5rem + 1px);
    padding-bottom: calc(0.5rem + 1px);
    font-size: 1.25rem;
    line-height: 1.5;
}

.col-form-label-sm {
    padding-top: calc(0.25rem + 1px);
    padding-bottom: calc(0.25rem + 1px);
    font-size: 0.875rem;
    line-height: 1.5;
}

.form-control-plaintext {
    display: block;
    width: 100%;
    padding: 0.375rem 0;
    margin-bottom: 0;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--text-primary, #333);
    background-color: transparent;
    border: solid transparent;
    border-width: 1px 0;
}

    .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
        padding-right: 0;
        padding-left: 0;
    }

.form-control-sm {
    height: calc(1.5em + 0.5rem + 2px);
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border-radius: 0.2rem;
}

.form-control-lg {
    height: calc(1.5em + 1rem + 2px);
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: 0.3rem;
    font-family: Outfit;
}

select.form-control[size], select.form-control[multiple] {
    height: auto;
}

textarea.form-control {
    height: auto;
}

.form-group {
    margin-bottom: 1rem;
}

.form-text {
    display: block;
    margin-top: 0.25rem;
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -5px;
    margin-left: -5px;
}

    .form-row > .col,
    .form-row > [class*=col-] {
        padding-right: 5px;
        padding-left: 5px;
    }

.form-check {
    position: relative;
    display: block;
    padding-left: 1.25rem;
}

.form-check-input {
    position: absolute;
    margin-top: 0.3rem;
    margin-left: -1.25rem;
}

    .form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
        color: var(--brand-primary, #3d1a6f);
    }

.form-check-label {
    margin-bottom: 0;
}

.form-check-inline {
    display: inline-flex;
    align-items: center;
    padding-left: 0;
    margin-right: 0.75rem;
}

    .form-check-inline .form-check-input {
        position: static;
        margin-top: 0;
        margin-right: 0.3125rem;
        margin-left: 0;
    }

.valid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: var(--status-success, #28a745);
}

.valid-tooltip {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: 0.25rem 0.5rem;
    margin-top: 0.1rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--text-on-dark, #fff);
    background-color: rgba(40, 167, 69, 0.9);
    border-radius: 0.25rem;
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
    display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
    border-color: var(--status-success, #28a745);
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

    .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
        border-color: var(--status-success, #28a745);
        box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
    }

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
    padding-right: calc(1.5em + 0.75rem);
    background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .custom-select:valid, .custom-select.is-valid {
    border-color: var(--status-success, #28a745);
    padding-right: calc(0.75em + 2.3125rem);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") var(--bg-surface, #fff) no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

    .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
        border-color: var(--status-success, #28a745);
        box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
    }

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
    color: var(--status-success, #28a745);
}

.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
    display: block;
}

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
    color: var(--status-success, #28a745);
}

    .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
        border-color: var(--status-success, #28a745);
    }

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
    border-color: var(--status-success, #34ce57);
    background-color: var(--status-success, #34ce57);
}

.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
    border-color: var(--status-success, #28a745);
}

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
    border-color: var(--status-success, #28a745);
}

.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
    border-color: var(--status-success, #28a745);
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: var(--status-danger, #dc3545);
}

.invalid-tooltip {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: 0.25rem 0.5rem;
    margin-top: 0.1rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--text-on-dark, #fff);
    background-color: rgba(220, 53, 69, 0.9);
    border-radius: 0.25rem;
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
    display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
    border-color: var(--status-danger, #dc3545);
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

    .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
        border-color: var(--status-danger, #dc3545);
        box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
    }

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
    padding-right: calc(1.5em + 0.75rem);
    background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .custom-select:invalid, .custom-select.is-invalid {
    border-color: var(--status-danger, #dc3545);
    padding-right: calc(0.75em + 2.3125rem);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") var(--bg-surface, #fff) no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

    .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
        border-color: var(--status-danger, #dc3545);
        box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
    }

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
    color: var(--status-danger, #dc3545);
}

.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
    display: block;
}

.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
    color: var(--status-danger, #dc3545);
}

    .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
        border-color: var(--status-danger, #dc3545);
    }

.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
    border-color: var(--status-danger, #e4606d);
    background-color: var(--status-danger, #e4606d);
}

.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
    border-color: var(--status-danger, #dc3545);
}

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
    border-color: var(--status-danger, #dc3545);
}

.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
    border-color: var(--status-danger, #dc3545);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.form-inline {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
}

    .form-inline .form-check {
        width: 100%;
    }

@media (min-width: 576px) {
    .form-inline label {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 0;
    }

    .form-inline .form-group {
        display: flex;
        flex: 0 0 auto;
        flex-flow: row wrap;
        align-items: center;
        margin-bottom: 0;
    }

    .form-inline .form-control {
        display: inline-block;
        width: auto;
        vertical-align: middle;
    }

    .form-inline .form-control-plaintext {
        display: inline-block;
    }

    .form-inline .input-group,
    .form-inline .custom-select {
        width: auto;
    }

    .form-inline .form-check {
        display: flex;
        align-items: center;
        justify-content: center;
        width: auto;
        padding-left: 0;
    }

    .form-inline .form-check-input {
        position: relative;
        flex-shrink: 0;
        margin-top: 0;
        margin-right: 0.25rem;
        margin-left: 0;
    }

    .form-inline .custom-control {
        align-items: center;
        justify-content: center;
    }

    .form-inline .custom-control-label {
        margin-bottom: 0;
    }
}

.btn {
    display: inline-block;
    font-weight: 400;
    color: var(--text-primary, #333);
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .btn {
        transition: none;
    }
}

.btn:hover {
    color: var(--text-primary, #333);
    text-decoration: none;
}

.btn:focus, .btn.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(254, 209, 54, 0.25);
}

.btn.disabled, .btn:disabled {
    opacity: 0.65;
}

.btn:not(:disabled):not(.disabled) {
    cursor: pointer;
}

a.btn.disabled,
fieldset:disabled a.btn {
    pointer-events: none;
}

.btn-primary {
    color: var(--text-on-dark, #fff);
    background-color: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
}

    .btn-primary:hover {
        color: var(--text-on-dark, #fff);
        background-color: var(--brand-magenta, #7d1d61);
        border-color: var(--brand-magenta, #7d1d61);
    }

    .btn-primary:focus, .btn-primary.focus {
        color: var(--text-on-dark, #fff);
        background-color: var(--brand-magenta, #7d1d61);
        border-color: var(--brand-magenta, #7d1d61);
        box-shadow: 0 0 0 0.2rem rgba(254, 216, 84, 0.5);
    }

    .btn-primary.disabled, .btn-primary:disabled {
        color: var(--text-on-dark, #fff);
        background-color: var(--brand-magenta, #7d1d61);
        border-color: var(--brand-magenta, #7d1d61);
    }

    .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
        color: var(--text-on-dark, #fff);
        background-color: var(--brand-magenta, #7d1d61);
        border-color: var(--brand-magenta, #7d1d61);
    }

        .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(254, 216, 84, 0.5);
        }

.btn-secondary {
    color: var(--brand-primary, #3d1a6f);
    background-color: var(--brand-accent, #fdb913);
    border-color: var(--brand-accent, #fdb913);
}

    .btn-secondary:hover {
        color: var(--brand-primary, #3d1a6f);
        background-color: var(--brand-accent-hover, #f3bd01);
        border-color: var(--brand-accent-hover, #f3bd01);
    }

    .btn-secondary:focus, .btn-secondary.focus {
        color: var(--brand-primary, #3d1a6f);
        background-color: var(--brand-accent-hover, #f3bd01);
        border-color: var(--brand-accent-hover, #f3bd01);
        box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
    }

    .btn-secondary.disabled, .btn-secondary:disabled {
        color: var(--brand-primary, #3d1a6f);
        background-color: var(--brand-accent-hover, #f3bd01);
        border-color: var(--brand-accent-hover, #f3bd01);
    }

    .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle {
        color: var(--brand-primary, #3d1a6f);
        background-color: var(--brand-accent-hover, #f3bd01);
        border-color: var(--brand-accent-hover, #f3bd01);
    }

        .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
        }

/* btn-success: --status-success #28a745 with white = 3.13:1, fails WCAG AA in
   both modes. Solid bgs use literal darker greens (#1e7e34 / #155724) that
   pass AA; --status-success token unchanged for badges/alerts/text. */
.btn-success {
    color: var(--text-on-dark, #fff);
    background-color: #1e7e34;
    border-color: #1e7e34;
}

    .btn-success:hover {
        color: var(--text-on-dark, #fff);
        background-color: #155724;
        border-color: #155724;
    }

    .btn-success:focus, .btn-success.focus {
        color: var(--text-on-dark, #fff);
        background-color: #155724;
        border-color: #155724;
        box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
    }

    .btn-success.disabled, .btn-success:disabled {
        color: var(--text-on-dark, #fff);
        background-color: #1e7e34;
        border-color: #1e7e34;
    }

    .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle {
        color: var(--text-on-dark, #fff);
        background-color: #155724;
        border-color: #155724;
    }

        .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
        }

.btn-info {
    color: var(--text-on-dark, #fff);
    background-color: var(--status-info, #17a2b8);
    border-color: var(--status-info, #17a2b8);
}

    .btn-info:hover {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-info, #138496);
        border-color: var(--status-info, #117a8b);
    }

    .btn-info:focus, .btn-info.focus {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-info, #138496);
        border-color: var(--status-info, #117a8b);
        box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
    }

    .btn-info.disabled, .btn-info:disabled {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-info, #17a2b8);
        border-color: var(--status-info, #17a2b8);
    }

    .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-info, #117a8b);
        border-color: var(--status-info-hover, #10707f);
    }

        .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
        }

.btn-warning {
    color: var(--brand-primary, #3d1a6f);
    background-color: var(--brand-accent, #fdb913);
    border-color: var(--brand-accent, #fdb913);
}

    .btn-warning:hover {
        color: var(--brand-primary, #3d1a6f);
        background-color: var(--brand-accent-hover, #fec810);
        border-color: var(--brand-accent-hover, #fec503);
    }

    .btn-warning:focus, .btn-warning.focus {
        color: var(--brand-primary, #3d1a6f);
        background-color: var(--brand-accent-hover, #fec810);
        border-color: var(--brand-accent-hover, #fec503);
        box-shadow: 0 0 0 0.2rem rgba(254, 216, 84, 0.5);
    }

    .btn-warning.disabled, .btn-warning:disabled {
        color: var(--brand-primary, #3d1a6f);
        background-color: var(--brand-accent, #fdb913);
        border-color: var(--brand-accent, #fdb913);
    }

    .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle {
        color: var(--brand-primary, #3d1a6f);
        background-color: var(--brand-accent-hover, #fec503);
        border-color: var(--brand-accent-hover, #f3bd01);
    }

        .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(254, 216, 84, 0.5);
        }

/* btn-danger: --brand-danger #ed174c with white = 4.35:1, just below WCAG AA
   in light mode and worse in dark (#f44060 = 3.65:1). Solid bg uses literal
   #d41544 (5.23:1) -- same color the hover/focus already had, just promoted
   to normal. Hover/active step darker. --brand-danger token unchanged. */
.btn-danger {
    color: var(--text-on-dark, #fff);
    background-color: #d41544;
    border-color: #d41544;
}

    .btn-danger:hover {
        color: var(--text-on-dark, #fff);
        background-color: #b8123a;
        border-color: #b8123a;
    }

    .btn-danger:focus, .btn-danger.focus {
        color: var(--text-on-dark, #fff);
        background-color: #b8123a;
        border-color: #b8123a;
        box-shadow: 0 0 0 0.2rem rgba(237, 23, 76, 0.5);
    }

    .btn-danger.disabled, .btn-danger:disabled {
        color: var(--text-on-dark, #fff);
        background-color: #d41544;
        border-color: #d41544;
    }

    .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle {
        color: var(--text-on-dark, #fff);
        background-color: var(--brand-danger-hover, #be133c);
        border-color: var(--brand-danger-hover, #be133c);
    }

        .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(237, 23, 76, 0.5);
        }

.btn-light {
    color: var(--text-primary, #333);
    background-color: var(--bg-subtle, #fafafa);
    border-color: var(--bg-subtle, #f8f9fa);
}

    .btn-light:hover {
        color: var(--text-primary, #333);
        background-color: var(--bg-muted, #e2e6ea);
        border-color: var(--bg-muted, #dae0e5);
    }

    .btn-light:focus, .btn-light.focus {
        color: var(--text-primary, #333);
        background-color: var(--bg-muted, #e2e6ea);
        border-color: var(--bg-muted, #dae0e5);
        box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
    }

    .btn-light.disabled, .btn-light:disabled {
        color: var(--text-primary, #333);
        background-color: var(--bg-subtle, #fafafa);
        border-color: var(--bg-subtle, #f8f9fa);
    }

    .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle {
        color: var(--text-primary, #333);
        background-color: var(--bg-muted, #dae0e5);
        border-color: var(--border-default, #d3d9df);
    }

        .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
        }

.btn-dark {
    color: var(--text-on-dark, #fff);
    background-color: var(--text-primary, #343a40);
    border-color: var(--text-primary, #343a40);
}

    .btn-dark:hover {
        color: var(--text-on-dark, #fff);
        background-color: var(--text-primary-hover, #23272b);
        border-color: var(--text-primary-hover, #1d2124);
    }

    .btn-dark:focus, .btn-dark.focus {
        color: var(--text-on-dark, #fff);
        background-color: var(--text-primary-hover, #23272b);
        border-color: var(--text-primary-hover, #1d2124);
        box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
    }

    .btn-dark.disabled, .btn-dark:disabled {
        color: var(--text-on-dark, #fff);
        background-color: var(--text-primary, #343a40);
        border-color: var(--text-primary, #343a40);
    }

    .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle {
        color: var(--text-on-dark, #fff);
        background-color: var(--text-primary-hover, #1d2124);
        border-color: var(--text-primary-hover, #171a1d);
    }

        .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
        }

.btn-outline-primary {
    color: black;
    border-color: var(--brand-accent, #fdb913);
}

    .btn-outline-primary:hover {
        color: black;
        background-color: var(--brand-accent, #fdb913);
        border-color: var(--brand-accent, #fdb913);
    }

    .btn-outline-primary:focus, .btn-outline-primary.focus {
        box-shadow: 0 0 0 0.2rem rgba(254, 209, 54, 0.5);
    }

    .btn-outline-primary.disabled, .btn-outline-primary:disabled {
        color: black;
        background-color: transparent;
    }

    .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle {
        color: var(--text-on-dark, #fff);
        background-color: var(--brand-accent, #fdb913);
        border-color: var(--brand-accent, #fdb913);
    }

        .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(254, 209, 54, 0.5);
        }

.btn-outline-secondary {
    color: var(--text-primary, #333);
    border-color: var(--text-secondary, #6c757d);
}

    .btn-outline-secondary:hover {
        color: var(--text-on-dark, #fff);
        background-color: var(--text-secondary, #6c757d);
        border-color: var(--text-secondary, #6c757d);
    }

    .btn-outline-secondary:focus, .btn-outline-secondary.focus {
        box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
    }

    .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
        color: var(--text-primary, #333);
        background-color: transparent;
    }

    .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle {
        color: var(--text-on-dark, #fff);
        background-color: var(--text-secondary, #6c757d);
        border-color: var(--text-secondary, #6c757d);
    }

        .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
        }

.btn-outline-success {
    color: var(--status-success, #28a745);
    border-color: var(--status-success, #28a745);
}

    .btn-outline-success:hover {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-success, #28a745);
        border-color: var(--status-success, #28a745);
    }

    .btn-outline-success:focus, .btn-outline-success.focus {
        box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
    }

    .btn-outline-success.disabled, .btn-outline-success:disabled {
        color: var(--status-success, #28a745);
        background-color: transparent;
    }

    .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-success, #28a745);
        border-color: var(--status-success, #28a745);
    }

        .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
        }

.btn-outline-info {
    color: var(--status-info, #17a2b8);
    border-color: var(--status-info, #17a2b8);
}

    .btn-outline-info:hover {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-info, #17a2b8);
        border-color: var(--status-info, #17a2b8);
    }

    .btn-outline-info:focus, .btn-outline-info.focus {
        box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
    }

    .btn-outline-info.disabled, .btn-outline-info:disabled {
        color: var(--status-info, #17a2b8);
        background-color: transparent;
    }

    .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-info, #17a2b8);
        border-color: var(--status-info, #17a2b8);
    }

        .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
        }

.btn-outline-warning {
    color: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-accent, #fdb913);
}

    .btn-outline-warning:hover {
        color: var(--brand-primary, #3d1a6f);
        background-color: var(--brand-accent, #fdb913);
        border-color: var(--brand-accent, #fdb913);
    }

    .btn-outline-warning:focus, .btn-outline-warning.focus {
        box-shadow: 0 0 0 0.2rem rgba(254, 209, 54, 0.5);
    }

    .btn-outline-warning.disabled, .btn-outline-warning:disabled {
        color: var(--brand-primary, #3d1a6f);
        background-color: transparent;
    }

    .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle {
        color: var(--brand-primary, #3d1a6f);
        background-color: var(--brand-accent, #fdb913);
        border-color: var(--brand-accent, #fdb913);
    }

        .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(254, 209, 54, 0.5);
        }

.btn-outline-danger {
    color: var(--brand-danger, #ed174c);
    border-color: var(--brand-danger, #ed174c);
}

    .btn-outline-danger:hover {
        color: var(--text-on-dark, #fff);
        background-color: var(--brand-danger, #ed174c);
        border-color: var(--brand-danger, #ed174c);
    }

    .btn-outline-danger:focus, .btn-outline-danger.focus {
        box-shadow: 0 0 0 0.2rem rgba(237, 23, 76, 0.5);
    }

    .btn-outline-danger.disabled, .btn-outline-danger:disabled {
        color: var(--brand-danger, #ed174c);
        background-color: transparent;
    }

    .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle {
        color: var(--text-on-dark, #fff);
        background-color: var(--brand-danger, #ed174c);
        border-color: var(--brand-danger, #ed174c);
    }

        .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(237, 23, 76, 0.5);
        }

.btn-outline-light {
    color: var(--bg-subtle, #f8f9fa);
    border-color: var(--bg-subtle, #f8f9fa);
}

    .btn-outline-light:hover {
        color: var(--text-primary, #333);
        background-color: var(--bg-subtle, #fafafa);
        border-color: var(--bg-subtle, #f8f9fa);
    }

    .btn-outline-light:focus, .btn-outline-light.focus {
        box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
    }

    .btn-outline-light.disabled, .btn-outline-light:disabled {
        color: var(--bg-subtle, #f8f9fa);
        background-color: transparent;
    }

    .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle {
        color: var(--text-primary, #333);
        background-color: var(--bg-subtle, #fafafa);
        border-color: var(--bg-subtle, #f8f9fa);
    }

        .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
        }

.btn-outline-dark {
    color: var(--text-primary, #343a40);
    border-color: var(--text-primary, #343a40);
}

    .btn-outline-dark:hover {
        color: var(--text-on-dark, #fff);
        background-color: var(--text-primary, #343a40);
        border-color: var(--text-primary, #343a40);
    }

    .btn-outline-dark:focus, .btn-outline-dark.focus {
        box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
    }

    .btn-outline-dark.disabled, .btn-outline-dark:disabled {
        color: var(--text-primary, #343a40);
        background-color: transparent;
    }

    .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle {
        color: var(--text-on-dark, #fff);
        background-color: var(--text-primary, #343a40);
        border-color: var(--text-primary, #343a40);
    }

        .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
        }

.btn-link {
    font-weight: 400;
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
}

    .btn-link:hover {
        color: var(--brand-primary, #3d1a6f);
        text-decoration: underline;
    }

    .btn-link:focus, .btn-link.focus {
        text-decoration: underline;
    }

    .btn-link:disabled, .btn-link.disabled {
        color: var(--brand-primary, #3d1a6f);
        pointer-events: none;
    }

.btn-lg, .btn-group-lg > .btn {
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: 0.3rem;
}

.btn-sm, .btn-group-sm > .btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border-radius: 0.2rem;
}

.btn-block {
    display: block;
    width: 100%;
}

    .btn-block + .btn-block {
        margin-top: 0.5rem;
    }

input[type=submit].btn-block,
input[type=reset].btn-block,
input[type=button].btn-block {
    width: 100%;
}

.fade {
    transition: opacity 0.15s linear;
}

@media (prefers-reduced-motion: reduce) {
    .fade {
        transition: none;
    }
}

.fade:not(.show) {
    opacity: 0;
}

.collapse:not(.show) {
    display: none;
}

.collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    transition: height 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
    .collapsing {
        transition: none;
    }
}

.dropup,
.dropright,
.dropdown,
.dropleft {
    position: relative;
}

.dropdown-toggle {
    white-space: nowrap;
}

    .dropdown-toggle::after {
        display: inline-block;
        margin-left: 0.255em;
        vertical-align: 0.255em;
        content: "";
        border-top: 0.3em solid;
        border-right: 0.3em solid transparent;
        border-bottom: 0;
        border-left: 0.3em solid transparent;
    }

    .dropdown-toggle:empty::after {
        margin-left: 0;
    }

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 10rem;
    padding: 0.5rem 0;
    margin: 0.125rem 0 0;
    font-size: 1rem;
    color: var(--text-primary, #333);
    text-align: left;
    list-style: none;
    background-color: var(--bg-surface, #fff);
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.25rem;
}

.dropdown-menu-left {
    right: auto;
    left: 0;
}

.dropdown-menu-right {
    right: 0;
    left: auto;
}

@media (min-width: 576px) {
    .dropdown-menu-sm-left {
        right: auto;
        left: 0;
    }

    .dropdown-menu-sm-right {
        right: 0;
        left: auto;
    }
}

@media (min-width: 768px) {
    .dropdown-menu-md-left {
        right: auto;
        left: 0;
    }

    .dropdown-menu-md-right {
        right: 0;
        left: auto;
    }
}

@media (min-width: 992px) {
    .dropdown-menu-lg-left {
        right: auto;
        left: 0;
    }

    .dropdown-menu-lg-right {
        right: 0;
        left: auto;
    }
}

@media (min-width: 1200px) {
    .dropdown-menu-xl-left {
        right: auto;
        left: 0;
    }

    .dropdown-menu-xl-right {
        right: 0;
        left: auto;
    }
}

.dropup .dropdown-menu {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: 0.125rem;
}

.dropup .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0;
    border-right: 0.3em solid transparent;
    border-bottom: 0.3em solid;
    border-left: 0.3em solid transparent;
}

.dropup .dropdown-toggle:empty::after {
    margin-left: 0;
}

.dropright .dropdown-menu {
    top: 0;
    right: auto;
    left: 100%;
    margin-top: 0;
    margin-left: 0.125rem;
}

.dropright .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid transparent;
    border-right: 0;
    border-bottom: 0.3em solid transparent;
    border-left: 0.3em solid;
}

.dropright .dropdown-toggle:empty::after {
    margin-left: 0;
}

.dropright .dropdown-toggle::after {
    vertical-align: 0;
}

.dropleft .dropdown-menu {
    top: 0;
    right: 100%;
    left: auto;
    margin-top: 0;
    margin-right: 0.125rem;
}

.dropleft .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
}

.dropleft .dropdown-toggle::after {
    display: none;
}

.dropleft .dropdown-toggle::before {
    display: inline-block;
    margin-right: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid transparent;
    border-right: 0.3em solid;
    border-bottom: 0.3em solid transparent;
}

.dropleft .dropdown-toggle:empty::after {
    margin-left: 0;
}

.dropleft .dropdown-toggle::before {
    vertical-align: 0;
}

.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] {
    right: auto;
    bottom: auto;
}

.dropdown-divider {
    height: 0;
    margin: 0.5rem 0;
    overflow: hidden;
    border-top: 1px solid var(--border-light, #e9ecef);
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: 0.25rem 1.5rem;
    clear: both;
    font-weight: 400;
    color: var(--text-primary, #333);
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}

    .dropdown-item:hover, .dropdown-item:focus {
        color: var(--text-primary, #16181b);
        text-decoration: none;
        background-color: var(--bg-subtle, #fafafa);
    }

    .dropdown-item.active, .dropdown-item:active {
        color: var(--text-on-dark, #fff);
        text-decoration: none;
        background-color: var(--brand-accent, #fdb913);
    }

    .dropdown-item.disabled, .dropdown-item:disabled {
        color: var(--brand-primary, #3d1a6f);
        pointer-events: none;
        background-color: transparent;
    }

.dropdown-menu.show {
    display: block;
}

.dropdown-header {
    display: block;
    padding: 0.5rem 1.5rem;
    margin-bottom: 0;
    font-size: 0.875rem;
    color: var(--brand-primary, #3d1a6f);
    white-space: nowrap;
}

.dropdown-item-text {
    display: block;
    padding: 0.25rem 1.5rem;
    color: var(--text-primary, #333);
}

.btn-group,
.btn-group-vertical {
    position: relative;
    display: inline-flex;
    vertical-align: middle;
}

    .btn-group > .btn,
    .btn-group-vertical > .btn {
        position: relative;
        flex: 1 1 auto;
    }

        .btn-group > .btn:hover,
        .btn-group-vertical > .btn:hover {
            z-index: 1;
        }

        .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
        .btn-group-vertical > .btn:focus,
        .btn-group-vertical > .btn:active,
        .btn-group-vertical > .btn.active {
            z-index: 1;
        }

.btn-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

    .btn-toolbar .input-group {
        width: auto;
    }

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
    margin-left: -1px;
}

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
    padding-right: 0.5625rem;
    padding-left: 0.5625rem;
}

    .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {
        margin-left: 0;
    }

.dropleft .dropdown-toggle-split::before {
    margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
    padding-right: 0.375rem;
    padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

.btn-group-vertical {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

    .btn-group-vertical > .btn,
    .btn-group-vertical > .btn-group {
        width: 100%;
    }

        .btn-group-vertical > .btn:not(:first-child),
        .btn-group-vertical > .btn-group:not(:first-child) {
            margin-top: -1px;
        }

        .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
        .btn-group-vertical > .btn-group:not(:last-child) > .btn {
            border-bottom-right-radius: 0;
            border-bottom-left-radius: 0;
        }

        .btn-group-vertical > .btn:not(:first-child),
        .btn-group-vertical > .btn-group:not(:first-child) > .btn {
            border-top-left-radius: 0;
            border-top-right-radius: 0;
        }

.btn-group-toggle > .btn,
.btn-group-toggle > .btn-group > .btn {
    margin-bottom: 0;
}

    .btn-group-toggle > .btn input[type=radio],
    .btn-group-toggle > .btn input[type=checkbox],
    .btn-group-toggle > .btn-group > .btn input[type=radio],
    .btn-group-toggle > .btn-group > .btn input[type=checkbox] {
        position: absolute;
        clip: rect(0, 0, 0, 0);
        pointer-events: none;
    }

.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}

    .input-group > .form-control,
    .input-group > .form-control-plaintext,
    .input-group > .custom-select,
    .input-group > .custom-file {
        position: relative;
        flex: 1 1 auto;
        width: 1%;
        min-width: 0;
        margin-bottom: 0;
    }

        .input-group > .form-control + .form-control,
        .input-group > .form-control + .custom-select,
        .input-group > .form-control + .custom-file,
        .input-group > .form-control-plaintext + .form-control,
        .input-group > .form-control-plaintext + .custom-select,
        .input-group > .form-control-plaintext + .custom-file,
        .input-group > .custom-select + .form-control,
        .input-group > .custom-select + .custom-select,
        .input-group > .custom-select + .custom-file,
        .input-group > .custom-file + .form-control,
        .input-group > .custom-file + .custom-select,
        .input-group > .custom-file + .custom-file {
            margin-left: -1px;
        }

        .input-group > .form-control:focus,
        .input-group > .custom-select:focus,
        .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
            z-index: 3;
        }

        .input-group > .custom-file .custom-file-input:focus {
            z-index: 4;
        }

        .input-group > .form-control:not(:last-child),
        .input-group > .custom-select:not(:last-child) {
            border-top-right-radius: 0;
            border-bottom-right-radius: 0;
        }

        .input-group > .form-control:not(:first-child),
        .input-group > .custom-select:not(:first-child) {
            border-top-left-radius: 0;
            border-bottom-left-radius: 0;
        }

    .input-group > .custom-file {
        display: flex;
        align-items: center;
    }

        .input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after {
            border-top-right-radius: 0;
            border-bottom-right-radius: 0;
        }

        .input-group > .custom-file:not(:first-child) .custom-file-label {
            border-top-left-radius: 0;
            border-bottom-left-radius: 0;
        }

.input-group-prepend,
.input-group-append {
    display: flex;
}

    .input-group-prepend .btn,
    .input-group-append .btn {
        position: relative;
        z-index: 2;
    }

        .input-group-prepend .btn:focus,
        .input-group-append .btn:focus {
            z-index: 3;
        }

        .input-group-prepend .btn + .btn,
        .input-group-prepend .btn + .input-group-text,
        .input-group-prepend .input-group-text + .input-group-text,
        .input-group-prepend .input-group-text + .btn,
        .input-group-append .btn + .btn,
        .input-group-append .btn + .input-group-text,
        .input-group-append .input-group-text + .input-group-text,
        .input-group-append .input-group-text + .btn {
            margin-left: -1px;
        }

.input-group-prepend {
    margin-right: -1px;
}

.input-group-append {
    margin-left: -1px;
}

.input-group-text {
    display: flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--text-primary, #333);
    text-align: center;
    white-space: nowrap;
    background-color: var(--bg-muted, #e9ecef);
    border: 1px solid var(--border-strong, #ced4da);
    border-radius: 0.25rem;
}

    .input-group-text input[type=radio],
    .input-group-text input[type=checkbox] {
        margin-top: 0;
    }

.input-group-lg > .form-control:not(textarea),
.input-group-lg > .custom-select {
    height: calc(1.5em + 1rem + 2px);
}

.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: 0.3rem;
}

.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
    height: calc(1.5em + 0.5rem + 2px);
}

.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border-radius: 0.2rem;
}

.input-group-lg > .custom-select,
.input-group-sm > .custom-select {
    padding-right: 1.75rem;
}

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.custom-control {
    position: relative;
    z-index: 1;
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5rem;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
}

.custom-control-inline {
    display: inline-flex;
    margin-right: 1rem;
}

.custom-control-input {
    position: absolute;
    left: 0;
    z-index: -1;
    width: 1rem;
    height: 1.25rem;
    opacity: 0;
}

    .custom-control-input:checked ~ .custom-control-label::before {
        color: var(--text-on-dark, #fff);
        border-color: var(--brand-accent, #fdb913);
        background-color: var(--brand-accent, #fdb913);
    }

    .custom-control-input:focus ~ .custom-control-label::before {
        box-shadow: 0 0 0 0.2rem rgba(254, 209, 54, 0.25);
    }

    .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
        border-color: var(--brand-accent-light, #ffeeb5);
    }

    .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-warning-tint-light, #fffae8);
        border-color: var(--status-warning-tint-light, #fffae8);
    }

    .custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
        color: var(--brand-primary, #3d1a6f);
    }

        .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
            background-color: var(--bg-muted, #e9ecef);
        }

.custom-control-label {
    position: relative;
    margin-bottom: 0;
    vertical-align: top;
}

    .custom-control-label::before {
        position: absolute;
        top: 0.25rem;
        left: -1.5rem;
        display: block;
        width: 1rem;
        height: 1rem;
        pointer-events: none;
        content: "";
        background-color: var(--bg-surface, #fff);
        border: var(--border-strong, #adb5bd) solid 1px;
    }

    .custom-control-label::after {
        position: absolute;
        top: 0.25rem;
        left: -1.5rem;
        display: block;
        width: 1rem;
        height: 1rem;
        content: "";
        background: no-repeat 50%/50% 50%;
    }

.custom-checkbox .custom-control-label::before {
    border-radius: 0.25rem;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
    border-color: var(--brand-accent, #fdb913);
    background-color: var(--brand-accent, #fdb913);
}

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
}

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(254, 209, 54, 0.5);
}

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
    background-color: rgba(254, 209, 54, 0.5);
}

.custom-radio .custom-control-label::before {
    border-radius: 50%;
}

.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(254, 209, 54, 0.5);
}

.custom-switch {
    padding-left: 2.25rem;
}

    .custom-switch .custom-control-label::before {
        left: -2.25rem;
        width: 1.75rem;
        pointer-events: all;
        border-radius: 0.5rem;
    }

    .custom-switch .custom-control-label::after {
        top: calc(0.25rem + 2px);
        left: calc(-2.25rem + 2px);
        width: calc(1rem - 4px);
        height: calc(1rem - 4px);
        background-color: var(--border-strong, #adb5bd);
        border-radius: 0.5rem;
        transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    }

@media (prefers-reduced-motion: reduce) {
    .custom-switch .custom-control-label::after {
        transition: none;
    }
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: var(--bg-surface, #fff);
    transform: translateX(0.75rem);
}

.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(254, 209, 54, 0.5);
}

.custom-select {
    display: inline-block;
    width: 100%;
    height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 1.75rem 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--text-primary, #333);
    vertical-align: middle;
    background: var(--bg-surface, #fff) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
    border: 1px solid var(--border-strong, #ced4da);
    border-radius: 0.25rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

    .custom-select:focus {
        border-color: var(--brand-accent-light, #ffeeb5);
        outline: 0;
        box-shadow: 0 0 0 0.2rem rgba(254, 209, 54, 0.25);
    }

        .custom-select:focus::-ms-value {
            color: var(--text-primary, #333);
            background-color: var(--bg-surface, #fff);
        }

    .custom-select[multiple], .custom-select[size]:not([size="1"]) {
        height: auto;
        padding-right: 0.75rem;
        background-image: none;
    }

    .custom-select:disabled {
        color: var(--brand-primary, #3d1a6f);
        background-color: var(--bg-muted, #e9ecef);
    }

    .custom-select::-ms-expand {
        display: none;
    }

    .custom-select:-moz-focusring {
        color: transparent;
        text-shadow: 0 0 0 var(--text-primary, #495057);
    }

.custom-select-sm {
    height: calc(1.5em + 0.5rem + 2px);
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.5rem;
    font-size: 0.875rem;
}

.custom-select-lg {
    height: calc(1.5em + 1rem + 2px);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    font-size: 1.25rem;
}

.custom-file {
    position: relative;
    display: inline-block;
    width: 100%;
    height: calc(1.5em + 0.75rem + 2px);
    margin-bottom: 0;
}

.custom-file-input {
    position: relative;
    z-index: 2;
    width: 100%;
    height: calc(1.5em + 0.75rem + 2px);
    margin: 0;
    opacity: 0;
}

    .custom-file-input:focus ~ .custom-file-label {
        border-color: var(--brand-accent-light, #ffeeb5);
        box-shadow: 0 0 0 0.2rem rgba(254, 209, 54, 0.25);
    }

    .custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label {
        background-color: var(--bg-muted, #e9ecef);
    }

    .custom-file-input:lang(en) ~ .custom-file-label::after {
        content: "Browse";
    }

    .custom-file-input ~ .custom-file-label[data-browse]::after {
        content: attr(data-browse);
    }

.custom-file-label {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
    height: calc(1.5em + 0.75rem + 2px);
    padding: 0.375rem 0.75rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--text-primary, #333);
    background-color: var(--bg-surface, #fff);
    border: 1px solid var(--border-strong, #ced4da);
    border-radius: 0.25rem;
}

    .custom-file-label::after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        z-index: 3;
        display: block;
        height: calc(1.5em + 0.75rem);
        padding: 0.375rem 0.75rem;
        line-height: 1.5;
        color: var(--text-primary, #333);
        content: "Browse";
        background-color: var(--bg-muted, #e9ecef);
        border-left: inherit;
        border-radius: 0 0.25rem 0.25rem 0;
    }

.custom-range {
    width: 100%;
    height: 1.4rem;
    padding: 0;
    background-color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

    .custom-range:focus {
        outline: none;
    }

        .custom-range:focus::-webkit-slider-thumb {
            box-shadow: 0 0 0 1px var(--bg-surface, #fff), 0 0 0 0.2rem rgba(254, 209, 54, 0.25);
        }

        .custom-range:focus::-moz-range-thumb {
            box-shadow: 0 0 0 1px var(--bg-surface, #fff), 0 0 0 0.2rem rgba(254, 209, 54, 0.25);
        }

        .custom-range:focus::-ms-thumb {
            box-shadow: 0 0 0 1px var(--bg-surface, #fff), 0 0 0 0.2rem rgba(254, 209, 54, 0.25);
        }

    .custom-range::-moz-focus-outer {
        border: 0;
    }

    .custom-range::-webkit-slider-thumb {
        width: 1rem;
        height: 1rem;
        margin-top: -0.25rem;
        background-color: var(--brand-accent, #fdb913);
        border: 0;
        border-radius: 1rem;
        -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
        transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
        -webkit-appearance: none;
        appearance: none;
    }

@media (prefers-reduced-motion: reduce) {
    .custom-range::-webkit-slider-thumb {
        -webkit-transition: none;
        transition: none;
    }
}

.custom-range::-webkit-slider-thumb:active {
    background-color: var(--status-warning-tint-light, #fffae8);
}

.custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: var(--border-default, #dee2e6);
    border-color: transparent;
    border-radius: 1rem;
}

.custom-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: var(--brand-accent, #fdb913);
    border: 0;
    border-radius: 1rem;
    -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    -moz-appearance: none;
    appearance: none;
}

@media (prefers-reduced-motion: reduce) {
    .custom-range::-moz-range-thumb {
        -moz-transition: none;
        transition: none;
    }
}

.custom-range::-moz-range-thumb:active {
    background-color: var(--status-warning-tint-light, #fffae8);
}

.custom-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: var(--border-default, #dee2e6);
    border-color: transparent;
    border-radius: 1rem;
}

.custom-range::-ms-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: 0;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    background-color: var(--brand-accent, #fdb913);
    border: 0;
    border-radius: 1rem;
    -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none;
}

@media (prefers-reduced-motion: reduce) {
    .custom-range::-ms-thumb {
        -ms-transition: none;
        transition: none;
    }
}

.custom-range::-ms-thumb:active {
    background-color: var(--status-warning-tint-light, #fffae8);
}

.custom-range::-ms-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: transparent;
    border-color: transparent;
    border-width: 0.5rem;
}

.custom-range::-ms-fill-lower {
    background-color: var(--border-default, #dee2e6);
    border-radius: 1rem;
}

.custom-range::-ms-fill-upper {
    margin-right: 15px;
    background-color: var(--border-default, #dee2e6);
    border-radius: 1rem;
}

.custom-range:disabled::-webkit-slider-thumb {
    background-color: var(--border-strong, #adb5bd);
}

.custom-range:disabled::-webkit-slider-runnable-track {
    cursor: default;
}

.custom-range:disabled::-moz-range-thumb {
    background-color: var(--border-strong, #adb5bd);
}

.custom-range:disabled::-moz-range-track {
    cursor: default;
}

.custom-range:disabled::-ms-thumb {
    background-color: var(--border-strong, #adb5bd);
}

.custom-control-label::before,
.custom-file-label,
.custom-select {
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .custom-control-label::before,
    .custom-file-label,
    .custom-select {
        transition: none;
    }
}

.nav {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

.nav-link {
    display: block;
    padding: 0.5rem 1rem;
}

    .nav-link:hover, .nav-link:focus {
        text-decoration: none;
    }

    .nav-link.disabled {
        color: var(--brand-primary, #3d1a6f);
        pointer-events: none;
        cursor: default;
    }

.nav-tabs {
    border-bottom: 1px solid var(--border-default, #ddd);
}

    .nav-tabs .nav-item {
        margin-bottom: -1px;
    }

    .nav-tabs .nav-link {
        border: 1px solid transparent;
        border-top-left-radius: 0.25rem;
        border-top-right-radius: 0.25rem;
    }

        .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
            border-color: var(--border-light, #e9ecef) var(--border-light, #e9ecef) var(--border-default, #ddd);
        }

        .nav-tabs .nav-link.disabled {
            color: var(--brand-primary, #3d1a6f);
            background-color: transparent;
            border-color: transparent;
        }

        .nav-tabs .nav-link.active,
        .nav-tabs .nav-item.show .nav-link {
            color: var(--text-primary, #333);
            background-color: var(--bg-surface, #fff);
            border-color: var(--border-default, #ddd) var(--border-default, #ddd) var(--bg-surface, #fff);
        }

    .nav-tabs .dropdown-menu {
        margin-top: -1px;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }

.nav-pills .nav-link {
    border-radius: 0.25rem;
}

    .nav-pills .nav-link.active,
    .nav-pills .show > .nav-link {
        color: var(--brand-primary, #3d1a6f);
        background-color: var(--bg-purple-tint, #f3edf9);
        border: 1px solid var(--brand-primary, #3d1a6f);
    }

.nav-fill > .nav-link,
.nav-fill .nav-item {
    flex: 1 1 auto;
    text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
    flex-basis: 0;
    flex-grow: 1;
    text-align: center;
}

.tab-content > .tab-pane {
    display: none;
}

.tab-content > .active {
    display: block;
}

.navbar {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1rem;
}

    .navbar .container,
    .navbar .container-fluid,
    .navbar .container-sm,
    .navbar .container-md,
    .navbar .container-lg,
    .navbar .container-xl {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }

.navbar-brand {
    display: inline-block;
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
    margin-right: 1rem;
    font-size: 1.25rem;
    line-height: inherit;
    white-space: nowrap;
}

    .navbar-brand:hover, .navbar-brand:focus {
        text-decoration: none;
    }

.navbar-nav {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

    .navbar-nav .nav-link {
        padding-right: 0;
        padding-left: 0;
    }

    .navbar-nav .dropdown-menu {
        position: static;
        float: none;
    }

.navbar-text {
    display: inline-block;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.navbar-collapse {
    flex-basis: 100%;
    flex-grow: 1;
    align-items: center;
}

.navbar-toggler {
    padding: 0.25rem 0.75rem;
    font-size: 1.25rem;
    line-height: 5;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 0.25rem;
}

    .navbar-toggler:hover, .navbar-toggler:focus {
        text-decoration: none;
    }

.navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    content: "";
    background: no-repeat center center;
    background-size: 100% 100%;
}

@media (max-width: 575.98px) {
    .navbar-expand-sm > .container,
    .navbar-expand-sm > .container-fluid,
    .navbar-expand-sm > .container-sm,
    .navbar-expand-sm > .container-md,
    .navbar-expand-sm > .container-lg,
    .navbar-expand-sm > .container-xl {
        padding-right: 0;
        padding-left: 0;
    }
}

@media (min-width: 576px) {
    .navbar-expand-sm {
        flex-flow: row nowrap;
        justify-content: flex-start;
    }

        .navbar-expand-sm .navbar-nav {
            flex-direction: row;
        }

            .navbar-expand-sm .navbar-nav .dropdown-menu {
                position: absolute;
            }

            .navbar-expand-sm .navbar-nav .nav-link {
                padding-right: 0.5rem;
                padding-left: 0.5rem;
            }

        .navbar-expand-sm > .container,
        .navbar-expand-sm > .container-fluid,
        .navbar-expand-sm > .container-sm,
        .navbar-expand-sm > .container-md,
        .navbar-expand-sm > .container-lg,
        .navbar-expand-sm > .container-xl {
            flex-wrap: nowrap;
        }

        .navbar-expand-sm .navbar-collapse {
            display: flex !important;
            flex-basis: auto;
        }

        .navbar-expand-sm .navbar-toggler {
            display: none;
        }
}

@media (max-width: 767.98px) {
    .navbar-expand-md > .container,
    .navbar-expand-md > .container-fluid,
    .navbar-expand-md > .container-sm,
    .navbar-expand-md > .container-md,
    .navbar-expand-md > .container-lg,
    .navbar-expand-md > .container-xl {
        padding-right: 0;
        padding-left: 0;
    }
}

@media (min-width: 768px) {
    .navbar-expand-md {
        flex-flow: row nowrap;
        justify-content: flex-start;
    }

        .navbar-expand-md .navbar-nav {
            flex-direction: row;
        }

            .navbar-expand-md .navbar-nav .dropdown-menu {
                position: absolute;
            }

            .navbar-expand-md .navbar-nav .nav-link {
                padding-right: 0.5rem;
                padding-left: 0.5rem;
            }

        .navbar-expand-md > .container,
        .navbar-expand-md > .container-fluid,
        .navbar-expand-md > .container-sm,
        .navbar-expand-md > .container-md,
        .navbar-expand-md > .container-lg,
        .navbar-expand-md > .container-xl {
            flex-wrap: nowrap;
        }

        .navbar-expand-md .navbar-collapse {
            display: flex !important;
            flex-basis: auto;
        }

        .navbar-expand-md .navbar-toggler {
            display: none;
        }
}

@media (max-width: 991.98px) {
    .navbar-expand-lg > .container,
    .navbar-expand-lg > .container-fluid,
    .navbar-expand-lg > .container-sm,
    .navbar-expand-lg > .container-md,
    .navbar-expand-lg > .container-lg,
    .navbar-expand-lg > .container-xl {
        padding-right: 0;
        padding-left: 0;
    }
}

@media (min-width: 992px) {
    .navbar-expand-lg {
        flex-flow: row nowrap;
        justify-content: flex-start;
    }

        .navbar-expand-lg .navbar-nav {
            flex-direction: row;
        }

            .navbar-expand-lg .navbar-nav .dropdown-menu {
                position: absolute;
            }

            .navbar-expand-lg .navbar-nav .nav-link {
                padding-right: 2.5rem;
                padding-left: 1.5rem;
            }

        .navbar-expand-lg > .container,
        .navbar-expand-lg > .container-fluid,
        .navbar-expand-lg > .container-sm,
        .navbar-expand-lg > .container-md,
        .navbar-expand-lg > .container-lg,
        .navbar-expand-lg > .container-xl {
            flex-wrap: nowrap;
        }

        .navbar-expand-lg .navbar-collapse {
            display: flex !important;
            flex-basis: auto;
        }

        .navbar-expand-lg .navbar-toggler {
            display: none;
        }
}

@media (max-width: 1199.98px) {
    .navbar-expand-xl > .container,
    .navbar-expand-xl > .container-fluid,
    .navbar-expand-xl > .container-sm,
    .navbar-expand-xl > .container-md,
    .navbar-expand-xl > .container-lg,
    .navbar-expand-xl > .container-xl {
        padding-right: 0;
        padding-left: 0;
    }
}

@media (min-width: 1200px) {
    .navbar-expand-xl {
        flex-flow: row nowrap;
        justify-content: flex-start;
    }

        .navbar-expand-xl .navbar-nav {
            flex-direction: row;
        }

            .navbar-expand-xl .navbar-nav .dropdown-menu {
                position: absolute;
            }

            .navbar-expand-xl .navbar-nav .nav-link {
                padding-right: 0.5rem;
                padding-left: 0.5rem;
            }

        .navbar-expand-xl > .container,
        .navbar-expand-xl > .container-fluid,
        .navbar-expand-xl > .container-sm,
        .navbar-expand-xl > .container-md,
        .navbar-expand-xl > .container-lg,
        .navbar-expand-xl > .container-xl {
            flex-wrap: nowrap;
        }

        .navbar-expand-xl .navbar-collapse {
            display: flex !important;
            flex-basis: auto;
        }

        .navbar-expand-xl .navbar-toggler {
            display: none;
        }
}

.navbar-expand {
    flex-flow: row nowrap;
    justify-content: flex-start;
}

    .navbar-expand > .container,
    .navbar-expand > .container-fluid,
    .navbar-expand > .container-sm,
    .navbar-expand > .container-md,
    .navbar-expand > .container-lg,
    .navbar-expand > .container-xl {
        padding-right: 0;
        padding-left: 0;
    }

    .navbar-expand .navbar-nav {
        flex-direction: row;
    }

        .navbar-expand .navbar-nav .dropdown-menu {
            position: absolute;
        }

        .navbar-expand .navbar-nav .nav-link {
            padding-right: 0.5rem;
            padding-left: 0.5rem;
        }

    .navbar-expand > .container,
    .navbar-expand > .container-fluid,
    .navbar-expand > .container-sm,
    .navbar-expand > .container-md,
    .navbar-expand > .container-lg,
    .navbar-expand > .container-xl {
        flex-wrap: nowrap;
    }

    .navbar-expand .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }

    .navbar-expand .navbar-toggler {
        display: none;
    }

.navbar-light .navbar-brand {
    color: var(--text-primary, rgba(0, 0, 0, 0.9));
}

    .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
        color: var(--text-primary, rgba(0, 0, 0, 0.9));
    }

.navbar-light .navbar-nav .nav-link {
    color: var(--text-secondary, rgba(0, 0, 0, 0.5));
}

    .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
        color: var(--text-body, rgba(0, 0, 0, 0.7));
    }

    .navbar-light .navbar-nav .nav-link.disabled {
        color: var(--text-tertiary, rgba(0, 0, 0, 0.3));
    }

    .navbar-light .navbar-nav .show > .nav-link,
    .navbar-light .navbar-nav .active > .nav-link,
    .navbar-light .navbar-nav .nav-link.show,
    .navbar-light .navbar-nav .nav-link.active {
        color: var(--text-primary, rgba(0, 0, 0, 0.9));
    }

.navbar-light .navbar-toggler {
    color: var(--text-secondary, rgba(0, 0, 0, 0.5));
    border-color: rgba(0, 0, 0, 0.1);
}

.navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-light .navbar-text {
    color: var(--text-secondary, rgba(0, 0, 0, 0.5));
}

    .navbar-light .navbar-text a {
        color: var(--text-primary, rgba(0, 0, 0, 0.9));
    }

        .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
            color: var(--text-primary, rgba(0, 0, 0, 0.9));
        }

.navbar-dark .navbar-brand {
    color: var(--text-on-dark, #fff);
}

    .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
        color: var(--text-on-dark, #fff);
    }

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.5);
}

    .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
        color: rgba(255, 255, 255, 0.75);
    }

    .navbar-dark .navbar-nav .nav-link.disabled {
        color: rgba(255, 255, 255, 0.25);
    }

    .navbar-dark .navbar-nav .show > .nav-link,
    .navbar-dark .navbar-nav .active > .nav-link,
    .navbar-dark .navbar-nav .nav-link.show,
    .navbar-dark .navbar-nav .nav-link.active {
        color: var(--text-on-dark, #fff);
    }

.navbar-dark .navbar-toggler {
    color: rgba(255, 255, 255, 0.5);
    border-color: rgba(255, 255, 255, 0.1);
}

.navbar-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-dark .navbar-text {
    color: rgba(255, 255, 255, 0.5);
}

    .navbar-dark .navbar-text a {
        color: var(--text-on-dark, #fff);
    }

        .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
            color: var(--text-on-dark, #fff);
        }

.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: var(--bg-surface, #fff);
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 0.25rem;
}

    .card > hr {
        margin-right: 0;
        margin-left: 0;
    }

    .card > .list-group {
        border-top: inherit;
        border-bottom: inherit;
    }

        .card > .list-group:first-child {
            border-top-width: 0;
            border-top-left-radius: calc(0.25rem - 1px);
            border-top-right-radius: calc(0.25rem - 1px);
        }

        .card > .list-group:last-child {
            border-bottom-width: 0;
            border-bottom-right-radius: calc(0.25rem - 1px);
            border-bottom-left-radius: calc(0.25rem - 1px);
        }

        .card > .card-header + .list-group,
        .card > .list-group + .card-footer {
            border-top: 0;
        }

.card-body {
    flex: 1 1 auto;
    min-height: 1px;
    padding: 1.25rem;
}

.card-title {
    margin-bottom: 0.75rem;
}

.card-subtitle {
    margin-top: -0.375rem;
    margin-bottom: 0;
}

.card-text:last-child {
    margin-bottom: 0;
}

.card-link:hover {
    text-decoration: none;
}

.card-link + .card-link {
    margin-left: 1.25rem;
}

.card-header {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    background-color: rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

    .card-header:first-child {
        border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
    }

.card-footer {
    padding: 0.75rem 1.25rem;
    background-color: rgba(0, 0, 0, 0.03);
    border-top: 1px solid rgba(0, 0, 0, 0.125);
}

    .card-footer:last-child {
        border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
    }

.card-header-tabs {
    margin-right: -0.625rem;
    margin-bottom: -0.75rem;
    margin-left: -0.625rem;
    border-bottom: 0;
}

.card-header-pills {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
}

.card-img-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1.25rem;
    border-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-top,
.card-img-bottom {
    flex-shrink: 0;
    width: 100%;
}

.card-img,
.card-img-top {
    border-top-left-radius: calc(0.25rem - 1px);
    border-top-right-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-bottom {
    border-bottom-right-radius: calc(0.25rem - 1px);
    border-bottom-left-radius: calc(0.25rem - 1px);
}

.card-deck .card {
    margin-bottom: 0.75rem;
}

@media (min-width: 576px) {
    .card-deck {
        display: flex;
        flex-flow: row wrap;
        margin-right: -0.75rem;
        margin-left: -0.75rem;
    }

        .card-deck .card {
            flex: 1 0 0%;
            margin-right: 0.75rem;
            margin-bottom: 0;
            margin-left: 0.75rem;
        }
}

.card-group > .card {
    margin-bottom: 0.75rem;
}

@media (min-width: 576px) {
    .card-group {
        display: flex;
        flex-flow: row wrap;
    }

        .card-group > .card {
            flex: 1 0 0%;
            margin-bottom: 0;
        }

            .card-group > .card + .card {
                margin-left: 0;
                border-left: 0;
            }

            .card-group > .card:not(:last-child) {
                border-top-right-radius: 0;
                border-bottom-right-radius: 0;
            }

                .card-group > .card:not(:last-child) .card-img-top,
                .card-group > .card:not(:last-child) .card-header {
                    border-top-right-radius: 0;
                }

                .card-group > .card:not(:last-child) .card-img-bottom,
                .card-group > .card:not(:last-child) .card-footer {
                    border-bottom-right-radius: 0;
                }

            .card-group > .card:not(:first-child) {
                border-top-left-radius: 0;
                border-bottom-left-radius: 0;
            }

                .card-group > .card:not(:first-child) .card-img-top,
                .card-group > .card:not(:first-child) .card-header {
                    border-top-left-radius: 0;
                }

                .card-group > .card:not(:first-child) .card-img-bottom,
                .card-group > .card:not(:first-child) .card-footer {
                    border-bottom-left-radius: 0;
                }
}

.card-columns .card {
    margin-bottom: 0.75rem;
}

@media (min-width: 576px) {
    .card-columns {
        -moz-column-count: 3;
        column-count: 3;
        -moz-column-gap: 1.25rem;
        column-gap: 1.25rem;
        orphans: 1;
        widows: 1;
    }

        .card-columns .card {
            display: inline-block;
            width: 100%;
        }
}

.accordion {
    overflow-anchor: none;
}

    .accordion > .card {
        overflow: hidden;
    }

        .accordion > .card:not(:last-of-type) {
            border-bottom: 0;
            border-bottom-right-radius: 0;
            border-bottom-left-radius: 0;
        }

        .accordion > .card:not(:first-of-type) {
            border-top-left-radius: 0;
            border-top-right-radius: 0;
        }

        .accordion > .card > .card-header {
            border-radius: 0;
            margin-bottom: -1px;
        }

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    list-style: none;
    background-color: var(--bg-muted, #e9ecef);
    border-radius: 0.25rem;
}

.breadcrumb-item {
    display: flex;
}

    .breadcrumb-item + .breadcrumb-item {
        padding-left: 0.5rem;
    }

        .breadcrumb-item + .breadcrumb-item::before {
            display: inline-block;
            padding-right: 0.5rem;
            color: var(--brand-primary, #3d1a6f);
            content: "/";
        }

        .breadcrumb-item + .breadcrumb-item:hover::before {
            text-decoration: underline;
        }

        .breadcrumb-item + .breadcrumb-item:hover::before {
            text-decoration: none;
        }

    .breadcrumb-item.active {
        color: var(--brand-primary, #3d1a6f);
    }

.pagination {
    display: flex;
    padding-left: 0;
    list-style: none;
    border-radius: 0.25rem;
}

.page-link {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: var(--brand-accent, #fdb913);
    background-color: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #ddd);
}

    .page-link:hover {
        z-index: 2;
        color: var(--brand-accent-hover, #e6b301);
        text-decoration: none;
        background-color: var(--bg-muted, #e9ecef);
        border-color: var(--border-default, #ddd);
    }

    .page-link:focus {
        z-index: 3;
        outline: 0;
        box-shadow: 0 0 0 0.2rem rgba(254, 209, 54, 0.25);
    }

.page-item:first-child .page-link {
    margin-left: 0;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

.page-item:last-child .page-link {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
}

.page-item.active .page-link {
    z-index: 3;
    color: var(--text-on-dark, #fff);
    background-color: var(--brand-accent, #fdb913);
    border-color: var(--brand-accent, #fdb913);
}

.page-item.disabled .page-link {
    color: var(--brand-primary, #3d1a6f);
    pointer-events: none;
    cursor: auto;
    background-color: var(--bg-surface, #fff);
    border-color: var(--border-default, #ddd);
}

.pagination-lg .page-link {
    padding: 0.75rem 1.5rem;
    font-size: 1.25rem;
    line-height: 1.5;
}

.pagination-lg .page-item:first-child .page-link {
    border-top-left-radius: 0.3rem;
    border-bottom-left-radius: 0.3rem;
}

.pagination-lg .page-item:last-child .page-link {
    border-top-right-radius: 0.3rem;
    border-bottom-right-radius: 0.3rem;
}

.pagination-sm .page-link {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
}

.pagination-sm .page-item:first-child .page-link {
    border-top-left-radius: 0.2rem;
    border-bottom-left-radius: 0.2rem;
}

.pagination-sm .page-item:last-child .page-link {
    border-top-right-radius: 0.2rem;
    border-bottom-right-radius: 0.2rem;
}

.badge {
    display: inline-block;
    padding: 0.25em 0.4em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .badge {
        transition: none;
    }
}

a.badge:hover, a.badge:focus {
    text-decoration: none;
}

.badge:empty {
    display: none;
}

.btn .badge {
    position: relative;
    top: -1px;
}

.badge-pill {
    padding-right: 0.6em;
    padding-left: 0.6em;
    border-radius: 10rem;
}

.badge-primary {
    color: var(--text-on-dark, #fff);
    background-color: var(--brand-accent, #fdb913);
}

a.badge-primary:hover, a.badge-primary:focus {
    color: var(--text-on-dark, #fff);
    background-color: var(--brand-accent-hover, #fec503);
}

a.badge-primary:focus, a.badge-primary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(254, 209, 54, 0.5);
}

.badge-secondary {
    color: var(--text-on-dark, #fff);
    background-color: var(--brand-primary, #3d1a6f);
}

a.badge-secondary:hover, a.badge-secondary:focus {
    color: var(--text-on-dark, #fff);
    background-color: var(--text-secondary, #545b62);
}

a.badge-secondary:focus, a.badge-secondary.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.badge-success {
    color: var(--text-on-dark, #fff);
    background-color: var(--status-success, #28a745);
}

a.badge-success:hover, a.badge-success:focus {
    color: var(--text-on-dark, #fff);
    background-color: var(--status-success, #1e7e34);
}

a.badge-success:focus, a.badge-success.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.badge-info {
    color: var(--text-on-dark, #fff);
    background-color: var(--status-info, #17a2b8);
}

a.badge-info:hover, a.badge-info:focus {
    color: var(--text-on-dark, #fff);
    background-color: var(--status-info, #117a8b);
}

a.badge-info:focus, a.badge-info.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.badge-warning {
    color: var(--text-on-dark, #fff);
    background-color: var(--brand-accent, #fdb913);
}

a.badge-warning:hover, a.badge-warning:focus {
    color: var(--text-on-dark, #fff);
    background-color: var(--brand-accent-hover, #fec503);
}

a.badge-warning:focus, a.badge-warning.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(254, 209, 54, 0.5);
}

.badge-danger {
    color: var(--text-on-dark, #fff);
    background-color: var(--status-danger, #dc3545);
}

a.badge-danger:hover, a.badge-danger:focus {
    color: var(--text-on-dark, #fff);
    background-color: var(--status-danger, #bd2130);
}

a.badge-danger:focus, a.badge-danger.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.badge-light {
    color: var(--text-primary, #333);
    background-color: var(--bg-subtle, #fafafa);
}

a.badge-light:hover, a.badge-light:focus {
    color: var(--text-primary, #333);
    background-color: var(--bg-muted, #dae0e5);
}

a.badge-light:focus, a.badge-light.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.badge-dark {
    color: var(--text-on-dark, #fff);
    background-color: var(--text-primary, #343a40);
}

a.badge-dark:hover, a.badge-dark:focus {
    color: var(--text-on-dark, #fff);
    background-color: var(--text-primary-hover, #1d2124);
}

a.badge-dark:focus, a.badge-dark.focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.jumbotron {
    padding: 2rem 1rem;
    margin-bottom: 2rem;
    background-color: var(--bg-muted, #e9ecef);
    border-radius: 0.3rem;
}

@media (min-width: 576px) {
    .jumbotron {
        padding: 4rem 2rem;
    }
}

.jumbotron-fluid {
    padding-right: 0;
    padding-left: 0;
    border-radius: 0;
}

.alert {
    position: relative;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
}

.alert-heading {
    color: inherit;
}

.alert-link {
    font-weight: 700;
}

.alert-dismissible {
    padding-right: 4rem;
}

    .alert-dismissible .close {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 2;
        padding: 0.75rem 1.25rem;
        color: inherit;
    }

.alert-primary {
    color: var(--status-warning-text, #846d1c);
    background-color: var(--status-warning-bg, #fff6d7);
    border-color: var(--status-warning-bg, #fff2c7);
}

    .alert-primary hr {
        border-top-color: var(--status-warning-tint, #ffecae);
    }

    .alert-primary .alert-link {
        color: var(--status-warning-text, #5a4a13);
    }

.alert-secondary {
    color: var(--text-primary, #383d41);
    background-color: var(--bg-muted, #e2e3e5);
    border-color: var(--bg-muted, #d6d8db);
}

    .alert-secondary hr {
        border-top-color: var(--bg-muted, #c8cbcf);
    }

    .alert-secondary .alert-link {
        color: var(--text-primary, #202326);
    }

.alert-success {
    color: var(--status-success-text, #155724);
    background-color: var(--status-success-bg, #d4edda);
    border-color: var(--status-success-border, #c3e6cb);
}

    .alert-success hr {
        border-top-color: var(--status-success-tint, #b1dfbb);
    }

    .alert-success .alert-link {
        color: var(--status-success-text, #0b2e13);
    }

.alert-info {
    color: var(--status-info-text, #0c5460);
    background-color: var(--status-info-bg, #d1ecf1);
    border-color: var(--status-info-border, #bee5eb);
}

    .alert-info hr {
        border-top-color: var(--status-info-tint, #abdde5);
    }

    .alert-info .alert-link {
        color: var(--status-info-text, #062c33);
    }

.alert-warning {
    color: var(--status-warning-text, #846d1c);
    background-color: var(--status-warning-bg, #fff6d7);
    border-color: var(--status-warning-bg, #fff2c7);
}

    .alert-warning hr {
        border-top-color: var(--status-warning-tint, #ffecae);
    }

    .alert-warning .alert-link {
        color: var(--status-warning-text, #5a4a13);
    }

.alert-danger {
    color: var(--status-danger-text, #721c24);
    background-color: var(--status-danger-bg, #f8d7da);
    border-color: var(--status-danger-border, #f5c6cb);
}

    .alert-danger hr {
        border-top-color: var(--status-danger-tint, #f1b0b7);
    }

    .alert-danger .alert-link {
        color: var(--status-danger-text, #491217);
    }

.alert-light {
    color: var(--text-secondary, #818182);
    background-color: var(--bg-surface, #fefefe);
    border-color: var(--bg-surface, #fdfdfe);
}

    .alert-light hr {
        border-top-color: var(--bg-muted, #ececf6);
    }

    .alert-light .alert-link {
        color: var(--text-secondary, #686868);
    }

.alert-dark {
    color: var(--text-primary, #1b1e21);
    background-color: var(--bg-muted, #d6d8d9);
    border-color: var(--bg-muted, #c6c8ca);
}

    .alert-dark hr {
        border-top-color: var(--bg-muted, #b9bbbe);
    }

    .alert-dark .alert-link {
        color: var(--text-primary, #040505);
    }

@-webkit-keyframes progress-bar-stripes {
    from {
        background-position: 1rem 0;
    }

    to {
        background-position: 0 0;
    }
}

@keyframes progress-bar-stripes {
    from {
        background-position: 1rem 0;
    }

    to {
        background-position: 0 0;
    }
}

.progress {
    display: flex;
    height: 1rem;
    overflow: hidden;
    line-height: 0;
    font-size: 0.75rem;
    background-color: var(--bg-muted, #e9ecef);
    border-radius: 0.25rem;
}

.progress-bar {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    color: var(--text-on-dark, #fff);
    text-align: center;
    white-space: nowrap;
    background-color: var(--brand-accent, #fdb913);
    transition: width 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
    .progress-bar {
        transition: none;
    }
}

.progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-size: 1rem 1rem;
}

.progress-bar-animated {
    -webkit-animation: progress-bar-stripes 1s linear infinite;
    animation: progress-bar-stripes 1s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
    .progress-bar-animated {
        -webkit-animation: none;
        animation: none;
    }
}

.media {
    display: flex;
    align-items: flex-start;
}

.media-body {
    flex: 1;
}

.list-group {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    border-radius: 0.25rem;
}

.list-group-item-action {
    width: 100%;
    color: var(--text-primary, #333);
    text-align: inherit;
}

    .list-group-item-action:hover, .list-group-item-action:focus {
        z-index: 1;
        color: var(--text-primary, #333);
        text-decoration: none;
        background-color: var(--bg-subtle, #fafafa);
    }

    .list-group-item-action:active {
        color: var(--text-primary, #333);
        background-color: var(--bg-muted, #e9ecef);
    }

.list-group-item {
    position: relative;
    display: block;
    padding: 0.75rem 1.25rem;
    background-color: var(--bg-surface, #fff);
    border: 1px solid rgba(0, 0, 0, 0.125);
}

    .list-group-item:first-child {
        border-top-left-radius: inherit;
        border-top-right-radius: inherit;
    }

    .list-group-item:last-child {
        border-bottom-right-radius: inherit;
        border-bottom-left-radius: inherit;
    }

    .list-group-item.disabled, .list-group-item:disabled {
        color: var(--brand-primary, #3d1a6f);
        pointer-events: none;
        background-color: var(--bg-surface, #fff);
    }

    .list-group-item.active {
        z-index: 2;
        color: var(--text-on-dark, #fff);
        background-color: var(--brand-accent, #fdb913);
        border-color: var(--brand-accent, #fdb913);
    }

    .list-group-item + .list-group-item {
        border-top-width: 0;
    }

        .list-group-item + .list-group-item.active {
            margin-top: -1px;
            border-top-width: 1px;
        }

.list-group-horizontal {
    flex-direction: row;
}

    .list-group-horizontal > .list-group-item:first-child {
        border-bottom-left-radius: 0.25rem;
        border-top-right-radius: 0;
    }

    .list-group-horizontal > .list-group-item:last-child {
        border-top-right-radius: 0.25rem;
        border-bottom-left-radius: 0;
    }

    .list-group-horizontal > .list-group-item.active {
        margin-top: 0;
    }

    .list-group-horizontal > .list-group-item + .list-group-item {
        border-top-width: 1px;
        border-left-width: 0;
    }

        .list-group-horizontal > .list-group-item + .list-group-item.active {
            margin-left: -1px;
            border-left-width: 1px;
        }

@media (min-width: 576px) {
    .list-group-horizontal-sm {
        flex-direction: row;
    }

        .list-group-horizontal-sm > .list-group-item:first-child {
            border-bottom-left-radius: 0.25rem;
            border-top-right-radius: 0;
        }

        .list-group-horizontal-sm > .list-group-item:last-child {
            border-top-right-radius: 0.25rem;
            border-bottom-left-radius: 0;
        }

        .list-group-horizontal-sm > .list-group-item.active {
            margin-top: 0;
        }

        .list-group-horizontal-sm > .list-group-item + .list-group-item {
            border-top-width: 1px;
            border-left-width: 0;
        }

            .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
                margin-left: -1px;
                border-left-width: 1px;
            }
}

@media (min-width: 768px) {
    .list-group-horizontal-md {
        flex-direction: row;
    }

        .list-group-horizontal-md > .list-group-item:first-child {
            border-bottom-left-radius: 0.25rem;
            border-top-right-radius: 0;
        }

        .list-group-horizontal-md > .list-group-item:last-child {
            border-top-right-radius: 0.25rem;
            border-bottom-left-radius: 0;
        }

        .list-group-horizontal-md > .list-group-item.active {
            margin-top: 0;
        }

        .list-group-horizontal-md > .list-group-item + .list-group-item {
            border-top-width: 1px;
            border-left-width: 0;
        }

            .list-group-horizontal-md > .list-group-item + .list-group-item.active {
                margin-left: -1px;
                border-left-width: 1px;
            }
}

@media (min-width: 992px) {
    .list-group-horizontal-lg {
        flex-direction: row;
    }

        .list-group-horizontal-lg > .list-group-item:first-child {
            border-bottom-left-radius: 0.25rem;
            border-top-right-radius: 0;
        }

        .list-group-horizontal-lg > .list-group-item:last-child {
            border-top-right-radius: 0.25rem;
            border-bottom-left-radius: 0;
        }

        .list-group-horizontal-lg > .list-group-item.active {
            margin-top: 0;
        }

        .list-group-horizontal-lg > .list-group-item + .list-group-item {
            border-top-width: 1px;
            border-left-width: 0;
        }

            .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
                margin-left: -1px;
                border-left-width: 1px;
            }
}

@media (min-width: 1200px) {
    .list-group-horizontal-xl {
        flex-direction: row;
    }

        .list-group-horizontal-xl > .list-group-item:first-child {
            border-bottom-left-radius: 0.25rem;
            border-top-right-radius: 0;
        }

        .list-group-horizontal-xl > .list-group-item:last-child {
            border-top-right-radius: 0.25rem;
            border-bottom-left-radius: 0;
        }

        .list-group-horizontal-xl > .list-group-item.active {
            margin-top: 0;
        }

        .list-group-horizontal-xl > .list-group-item + .list-group-item {
            border-top-width: 1px;
            border-left-width: 0;
        }

            .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
                margin-left: -1px;
                border-left-width: 1px;
            }
}

.list-group-flush {
    border-radius: 0;
}

    .list-group-flush > .list-group-item {
        border-width: 0 0 1px;
    }

        .list-group-flush > .list-group-item:last-child {
            border-bottom-width: 0;
        }

.list-group-item-primary {
    color: var(--status-warning-text, #846d1c);
    background-color: var(--status-warning-bg, #fff2c7);
}

    .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
        color: var(--status-warning-text, #846d1c);
        background-color: var(--status-warning-tint, #ffecae);
    }

    .list-group-item-primary.list-group-item-action.active {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-warning-text, #846d1c);
        border-color: var(--status-warning-text, #846d1c);
    }

.list-group-item-secondary {
    color: var(--text-primary, #383d41);
    background-color: var(--bg-muted, #d6d8db);
}

    .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
        color: var(--text-primary, #383d41);
        background-color: var(--bg-muted, #c8cbcf);
    }

    .list-group-item-secondary.list-group-item-action.active {
        color: var(--text-on-dark, #fff);
        background-color: var(--text-primary, #383d41);
        border-color: var(--text-primary, #383d41);
    }

.list-group-item-success {
    color: var(--status-success-text, #155724);
    background-color: var(--status-success-border, #c3e6cb);
}

    .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
        color: var(--status-success-text, #155724);
        background-color: var(--status-success-tint, #b1dfbb);
    }

    .list-group-item-success.list-group-item-action.active {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-success-text, #155724);
        border-color: var(--status-success-text, #155724);
    }

.list-group-item-info {
    color: var(--status-info-text, #0c5460);
    background-color: var(--status-info-border, #bee5eb);
}

    .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
        color: var(--status-info-text, #0c5460);
        background-color: var(--status-info-tint, #abdde5);
    }

    .list-group-item-info.list-group-item-action.active {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-info-text, #0c5460);
        border-color: var(--status-info-text, #0c5460);
    }

.list-group-item-warning {
    color: var(--status-warning-text, #846d1c);
    background-color: var(--status-warning-bg, #fff2c7);
}

    .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
        color: var(--status-warning-text, #846d1c);
        background-color: var(--status-warning-tint, #ffecae);
    }

    .list-group-item-warning.list-group-item-action.active {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-warning-text, #846d1c);
        border-color: var(--status-warning-text, #846d1c);
    }

.list-group-item-danger {
    color: var(--status-danger-text, #721c24);
    background-color: var(--status-danger-border, #f5c6cb);
}

    .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
        color: var(--status-danger-text, #721c24);
        background-color: var(--status-danger-tint, #f1b0b7);
    }

    .list-group-item-danger.list-group-item-action.active {
        color: var(--text-on-dark, #fff);
        background-color: var(--status-danger-text, #721c24);
        border-color: var(--status-danger-text, #721c24);
    }

.list-group-item-light {
    color: var(--text-secondary, #818182);
    background-color: var(--bg-surface, #fdfdfe);
}

    .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
        color: var(--text-secondary, #818182);
        background-color: var(--bg-muted, #ececf6);
    }

    .list-group-item-light.list-group-item-action.active {
        color: var(--text-on-dark, #fff);
        background-color: var(--text-secondary, #818182);
        border-color: var(--text-secondary, #818182);
    }

.list-group-item-dark {
    color: var(--text-primary, #1b1e21);
    background-color: var(--bg-muted, #c6c8ca);
}

    .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
        color: var(--text-primary, #1b1e21);
        background-color: var(--bg-muted, #b9bbbe);
    }

    .list-group-item-dark.list-group-item-action.active {
        color: var(--text-on-dark, #fff);
        background-color: var(--text-primary, #1b1e21);
        border-color: var(--text-primary, #1b1e21);
    }

.close {
    float: right;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: var(--text-primary, #000);
    text-shadow: 0 1px 0 var(--bg-surface, #fff);
    opacity: 0.5;
}

    .close:hover {
        color: var(--text-primary, #000);
        text-decoration: none;
    }

    .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
        opacity: 0.75;
    }

button.close {
    padding: 0;
    background-color: transparent;
    border: 0;
}

a.close.disabled {
    pointer-events: none;
}

.toast {
    flex-basis: 350px;
    max-width: 350px;
    font-size: 0.875rem;
    background-color: rgba(255, 255, 255, 0.85);
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
    opacity: 0;
    border-radius: 0.25rem;
}

    .toast:not(:last-child) {
        margin-bottom: 0.75rem;
    }

    .toast.showing {
        opacity: 1;
    }

    .toast.show {
        display: block;
        opacity: 1;
    }

    .toast.hide {
        display: none;
    }

.toast-header {
    display: flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    color: var(--brand-primary, #3d1a6f);
    background-color: rgba(255, 255, 255, 0.85);
    background-clip: padding-box;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    border-top-left-radius: calc(0.25rem - 1px);
    border-top-right-radius: calc(0.25rem - 1px);
}

.toast-body {
    padding: 0.75rem;
}

.modal-open {
    overflow: hidden;
}

    .modal-open .modal {
        overflow-x: hidden;
        overflow-y: auto;
    }

.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    display: none;
    width: 100%;
    height: 100%;
    overflow: hidden;
    outline: 0;
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: 0.5rem;
    pointer-events: none;
}

.modal.fade .modal-dialog {
    transition: transform 0.3s ease-out;
    transform: translate(0, -50px);
}

@media (prefers-reduced-motion: reduce) {
    .modal.fade .modal-dialog {
        transition: none;
    }
}

.modal.show .modal-dialog {
    transform: none;
}

.modal.modal-static .modal-dialog {
    transform: scale(1.02);
}

.modal-dialog-scrollable {
    display: flex;
    max-height: calc(100% - 1rem);
}

    .modal-dialog-scrollable .modal-content {
        max-height: calc(100vh - 1rem);
        overflow: hidden;
    }

    .modal-dialog-scrollable .modal-header,
    .modal-dialog-scrollable .modal-footer {
        flex-shrink: 0;
    }

    .modal-dialog-scrollable .modal-body {
        overflow-y: auto;
    }

.modal-dialog-centered {
    display: flex;
    align-items: center;
    min-height: calc(100% - 1rem);
}

    .modal-dialog-centered::before {
        display: block;
        height: calc(100vh - 1rem);
        height: -webkit-min-content;
        height: -moz-min-content;
        height: min-content;
        content: "";
    }

    .modal-dialog-centered.modal-dialog-scrollable {
        flex-direction: column;
        justify-content: center;
        height: 100%;
    }

        .modal-dialog-centered.modal-dialog-scrollable .modal-content {
            max-height: none;
        }

        .modal-dialog-centered.modal-dialog-scrollable::before {
            content: none;
        }

.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: var(--bg-surface, #fff);
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 0.3rem;
    outline: 0;
}

.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: var(--text-primary, #000);
}

    .modal-backdrop.fade {
        opacity: 0;
    }

    .modal-backdrop.show {
        opacity: 0.5;
    }

.modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 1rem 1rem;
    border-bottom: 1px solid var(--border-default, #ddd);
    border-top-left-radius: calc(0.3rem - 1px);
    border-top-right-radius: calc(0.3rem - 1px);
}

    .modal-header .close {
        padding: 1rem 1rem;
        margin: -1rem -1rem -1rem auto;
    }

.modal-title {
    margin-bottom: 0;
    line-height: 1.5;
}

.modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: 1rem;
}

.modal-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    padding: 0.75rem;
    border-top: 1px solid var(--border-default, #ddd);
    border-bottom-right-radius: calc(0.3rem - 1px);
    border-bottom-left-radius: calc(0.3rem - 1px);
}

    .modal-footer > * {
        margin: 0.25rem;
    }

.modal-scrollbar-measure {
    position: absolute;
    top: -9999px;
    width: 50px;
    height: 50px;
    overflow: scroll;
}

@media (min-width: 576px) {
    .modal-dialog {
        max-width: 500px;
        margin: 1.75rem auto;
    }

    .modal-dialog-scrollable {
        max-height: calc(100% - 3.5rem);
    }

        .modal-dialog-scrollable .modal-content {
            max-height: calc(100vh - 3.5rem);
        }

    .modal-dialog-centered {
        min-height: calc(100% - 3.5rem);
    }

        .modal-dialog-centered::before {
            height: calc(100vh - 3.5rem);
            height: -webkit-min-content;
            height: -moz-min-content;
            height: min-content;
        }

    .modal-sm {
        max-width: 300px;
    }
}

@media (min-width: 992px) {
    .modal-lg,
    .modal-xl {
        max-width: 800px;
    }
}

@media (min-width: 1200px) {
    .modal-xl {
        max-width: 1140px;
    }
}

.tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    margin: 0;
    font-family: 'Outfit', sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    white-space: normal;
    line-break: auto;
    font-size: 0.875rem;
    word-wrap: break-word;
    opacity: 0;
}

    .tooltip.show {
        opacity: 0.9;
    }

    .tooltip .arrow {
        position: absolute;
        display: block;
        width: 0.8rem;
        height: 0.4rem;
    }

        .tooltip .arrow::before {
            position: absolute;
            content: "";
            border-color: transparent;
            border-style: solid;
        }

.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] {
    padding: 0.4rem 0;
}

    .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=top] .arrow {
        bottom: 0;
    }

        .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before {
            top: 0;
            border-width: 0.4rem 0.4rem 0;
            border-top-color: var(--text-primary, #000);
        }

.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] {
    padding: 0 0.4rem;
}

    .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=right] .arrow {
        left: 0;
        width: 0.4rem;
        height: 0.8rem;
    }

        .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before {
            right: 0;
            border-width: 0.4rem 0.4rem 0.4rem 0;
            border-right-color: var(--text-primary, #000);
        }

.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] {
    padding: 0.4rem 0;
}

    .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow {
        top: 0;
    }

        .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before {
            bottom: 0;
            border-width: 0 0.4rem 0.4rem;
            border-bottom-color: var(--text-primary, #000);
        }

.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] {
    padding: 0 0.4rem;
}

    .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=left] .arrow {
        right: 0;
        width: 0.4rem;
        height: 0.8rem;
    }

        .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before {
            left: 0;
            border-width: 0.4rem 0 0.4rem 0.4rem;
            border-left-color: var(--text-primary, #000);
        }

.tooltip-inner {
    max-width: 200px;
    padding: 0.25rem 0.5rem;
    color: var(--text-on-dark, #fff);
    text-align: center;
    background-color: var(--text-primary, #000);
    border-radius: 0.25rem;
}

.popover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1060;
    display: block;
    max-width: 276px;
    font-family: 'Outfit', sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    white-space: normal;
    line-break: auto;
    font-size: 0.875rem;
    word-wrap: break-word;
    background-color: var(--bg-surface, #fff);
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 0.3rem;
}

    .popover .arrow {
        position: absolute;
        display: block;
        width: 1rem;
        height: 0.5rem;
        margin: 0 0.3rem;
    }

        .popover .arrow::before, .popover .arrow::after {
            position: absolute;
            display: block;
            content: "";
            border-color: transparent;
            border-style: solid;
        }

.bs-popover-top, .bs-popover-auto[x-placement^=top] {
    margin-bottom: 0.5rem;
}

    .bs-popover-top > .arrow, .bs-popover-auto[x-placement^=top] > .arrow {
        bottom: calc(-0.5rem - 1px);
    }

        .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=top] > .arrow::before {
            bottom: 0;
            border-width: 0.5rem 0.5rem 0;
            border-top-color: rgba(0, 0, 0, 0.25);
        }

        .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=top] > .arrow::after {
            bottom: 1px;
            border-width: 0.5rem 0.5rem 0;
            border-top-color: var(--bg-surface, #fff);
        }

.bs-popover-right, .bs-popover-auto[x-placement^=right] {
    margin-left: 0.5rem;
}

    .bs-popover-right > .arrow, .bs-popover-auto[x-placement^=right] > .arrow {
        left: calc(-0.5rem - 1px);
        width: 0.5rem;
        height: 1rem;
        margin: 0.3rem 0;
    }

        .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=right] > .arrow::before {
            left: 0;
            border-width: 0.5rem 0.5rem 0.5rem 0;
            border-right-color: rgba(0, 0, 0, 0.25);
        }

        .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=right] > .arrow::after {
            left: 1px;
            border-width: 0.5rem 0.5rem 0.5rem 0;
            border-right-color: var(--bg-surface, #fff);
        }

.bs-popover-bottom, .bs-popover-auto[x-placement^=bottom] {
    margin-top: 0.5rem;
}

    .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=bottom] > .arrow {
        top: calc(-0.5rem - 1px);
    }

        .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=bottom] > .arrow::before {
            top: 0;
            border-width: 0 0.5rem 0.5rem 0.5rem;
            border-bottom-color: rgba(0, 0, 0, 0.25);
        }

        .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=bottom] > .arrow::after {
            top: 1px;
            border-width: 0 0.5rem 0.5rem 0.5rem;
            border-bottom-color: var(--bg-surface, #fff);
        }

    .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=bottom] .popover-header::before {
        position: absolute;
        top: 0;
        left: 50%;
        display: block;
        width: 1rem;
        margin-left: -0.5rem;
        content: "";
        border-bottom: 1px solid var(--bg-subtle, #f7f7f7);
    }

.bs-popover-left, .bs-popover-auto[x-placement^=left] {
    margin-right: 0.5rem;
}

    .bs-popover-left > .arrow, .bs-popover-auto[x-placement^=left] > .arrow {
        right: calc(-0.5rem - 1px);
        width: 0.5rem;
        height: 1rem;
        margin: 0.3rem 0;
    }

        .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=left] > .arrow::before {
            right: 0;
            border-width: 0.5rem 0 0.5rem 0.5rem;
            border-left-color: rgba(0, 0, 0, 0.25);
        }

        .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=left] > .arrow::after {
            right: 1px;
            border-width: 0.5rem 0 0.5rem 0.5rem;
            border-left-color: var(--bg-surface, #fff);
        }

.popover-header {
    padding: 0.5rem 0.75rem;
    margin-bottom: 0;
    font-size: 1rem;
    background-color: var(--bg-subtle, #f7f7f7);
    border-bottom: 1px solid var(--border-light, #ebebeb);
    border-top-left-radius: calc(0.3rem - 1px);
    border-top-right-radius: calc(0.3rem - 1px);
}

    .popover-header:empty {
        display: none;
    }

.popover-body {
    padding: 0.5rem 0.75rem;
    color: var(--text-primary, #333);
}

.carousel {
    position: relative;
}

    .carousel.pointer-event {
        touch-action: pan-y;
    }

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

    .carousel-inner::after {
        display: block;
        clear: both;
        content: "";
    }

.carousel-item {
    position: relative;
    display: none;
    float: left;
    width: 100%;
    margin-right: -100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: transform 0.6s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .carousel-item {
        transition: none;
    }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
    display: block;
}

    .carousel-item-next:not(.carousel-item-left),
    .active.carousel-item-right {
        transform: translateX(100%);
    }

    .carousel-item-prev:not(.carousel-item-right),
    .active.carousel-item-left {
        transform: translateX(-100%);
    }

.carousel-fade .carousel-item {
    opacity: 0;
    transition-property: opacity;
    transform: none;
}

    .carousel-fade .carousel-item.active,
    .carousel-fade .carousel-item-next.carousel-item-left,
    .carousel-fade .carousel-item-prev.carousel-item-right {
        z-index: 1;
        opacity: 1;
    }

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
    z-index: 0;
    opacity: 0;
    transition: opacity 0s 0.6s;
}

@media (prefers-reduced-motion: reduce) {
    .carousel-fade .active.carousel-item-left,
    .carousel-fade .active.carousel-item-right {
        transition: none;
    }
}

.carousel-control-prev,
.carousel-control-next {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15%;
    color: var(--text-on-dark, #fff);
    text-align: center;
    opacity: 0.5;
    transition: opacity 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
    .carousel-control-prev,
    .carousel-control-next {
        transition: none;
    }
}

.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
    color: var(--text-on-dark, #fff);
    text-decoration: none;
    outline: 0;
    opacity: 0.9;
}

.carousel-control-prev {
    left: 0;
}

.carousel-control-next {
    right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: no-repeat 50%/100% 100%;
}

.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}

.carousel-indicators {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 15;
    display: flex;
    justify-content: center;
    padding-left: 0;
    margin-right: 15%;
    margin-left: 15%;
    list-style: none;
}

    .carousel-indicators li {
        box-sizing: content-box;
        flex: 0 1 auto;
        width: 30px;
        height: 3px;
        margin-right: 3px;
        margin-left: 3px;
        text-indent: -999px;
        cursor: pointer;
        background-color: var(--bg-surface, #fff);
        background-clip: padding-box;
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        opacity: 0.5;
        transition: opacity 0.6s ease;
    }

@media (prefers-reduced-motion: reduce) {
    .carousel-indicators li {
        transition: none;
    }
}

.carousel-indicators .active {
    opacity: 1;
}

.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 20px;
    left: 15%;
    z-index: 10;
    padding-top: 20px;
    padding-bottom: 20px;
    color: var(--text-on-dark, #fff);
    text-align: center;
}

@-webkit-keyframes spinner-border {
    to {
        transform: rotate(360deg);
    }
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg);
    }
}

.spinner-border {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: text-bottom;
    border: 0.25em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spinner-border 0.75s linear infinite;
    animation: spinner-border 0.75s linear infinite;
}

.spinner-border-sm {
    width: 1rem;
    height: 1rem;
    border-width: 0.2em;
}

@-webkit-keyframes spinner-grow {
    0% {
        transform: scale(0);
    }

    50% {
        opacity: 1;
        transform: none;
    }
}

@keyframes spinner-grow {
    0% {
        transform: scale(0);
    }

    50% {
        opacity: 1;
        transform: none;
    }
}

.spinner-grow {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: text-bottom;
    background-color: currentColor;
    border-radius: 50%;
    opacity: 0;
    -webkit-animation: spinner-grow 0.75s linear infinite;
    animation: spinner-grow 0.75s linear infinite;
}

.spinner-grow-sm {
    width: 1rem;
    height: 1rem;
}

.align-baseline {
    vertical-align: baseline !important;
}

.align-top {
    vertical-align: top !important;
}

.align-middle {
    vertical-align: middle !important;
}

.align-bottom {
    vertical-align: bottom !important;
}

.align-text-bottom {
    vertical-align: text-bottom !important;
}

.align-text-top {
    vertical-align: text-top !important;
}

.bg-primary {
    background-color: var(--brand-accent, #fdb913) !important;
}

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
    background-color: var(--brand-accent-hover, #fec503) !important;
}

.bg-secondary {
    background-color: var(--brand-primary, #3d1a6f) !important;
}

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
    background-color: var(--text-secondary, #545b62) !important;
}

.bg-success {
    background-color: var(--status-success, #28a745) !important;
}

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
    background-color: var(--status-success, #1e7e34) !important;
}

.bg-info {
    background-color: var(--status-info, #17a2b8) !important;
}

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
    background-color: var(--status-info, #117a8b) !important;
}

.bg-warning {
    background-color: var(--brand-accent, #fdb913) !important;
}

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
    background-color: var(--brand-accent-hover, #fec503) !important;
}

.bg-danger {
    background-color: var(--status-danger, #dc3545) !important;
}

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
    background-color: var(--status-danger, #bd2130) !important;
}

.bg-light {
    background-color: var(--bg-subtle, #fafafa) !important;
}

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
    background-color: var(--bg-muted, #dae0e5) !important;
}

.bg-dark {
    background-color: var(--text-primary, #343a40) !important;
}

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
    background-color: var(--text-primary-hover, #1d2124) !important;
}

.bg-white {
    background-color: var(--bg-surface, #fff) !important;
}

.bg-transparent {
    background-color: transparent !important;
}

.border {
    border: 1px solid var(--border-default, #ddd) !important;
}

.border-top {
    border-top: 1px solid var(--border-default, #ddd) !important;
}

.border-right {
    border-right: 1px solid var(--border-default, #ddd) !important;
}

.border-bottom {
    border-bottom: 1px solid var(--border-default, #ddd) !important;
}

.border-left {
    border-left: 1px solid var(--border-default, #ddd) !important;
}

.border-0 {
    border: 0 !important;
}

.border-top-0 {
    border-top: 0 !important;
}

.border-right-0 {
    border-right: 0 !important;
}

.border-bottom-0 {
    border-bottom: 0 !important;
}

.border-left-0 {
    border-left: 0 !important;
}

.border-primary {
    border-color: var(--brand-accent, #fdb913) !important;
}

.border-secondary {
    border-color: var(--brand-primary, #3d1a6f) !important;
}

.border-success {
    border-color: var(--status-success, #28a745) !important;
}

.border-info {
    border-color: var(--status-info, #17a2b8) !important;
}

.border-warning {
    border-color: var(--brand-accent, #fdb913) !important;
}

.border-danger {
    border-color: var(--status-danger, #dc3545) !important;
}

.border-light {
    border-color: var(--bg-subtle, #f8f9fa) !important;
}

.border-dark {
    border-color: var(--text-primary, #343a40) !important;
}

.border-white {
    border-color: var(--bg-surface, #fff) !important;
}

.rounded-sm {
    border-radius: 0.2rem !important;
}

.rounded {
    border-radius: 0.25rem !important;
}

.rounded-top {
    border-top-left-radius: 0.25rem !important;
    border-top-right-radius: 0.25rem !important;
}

.rounded-right {
    border-top-right-radius: 0.25rem !important;
    border-bottom-right-radius: 0.25rem !important;
}

.rounded-bottom {
    border-bottom-right-radius: 0.25rem !important;
    border-bottom-left-radius: 0.25rem !important;
}

.rounded-left {
    border-top-left-radius: 0.25rem !important;
    border-bottom-left-radius: 0.25rem !important;
}

.rounded-lg {
    border-radius: 0.3rem !important;
}

.rounded-circle {
    border-radius: 50% !important;
}

.rounded-pill {
    border-radius: 50rem !important;
}

.rounded-0 {
    border-radius: 0 !important;
}

.clearfix::after {
    display: block;
    clear: both;
    content: "";
}

.d-none {
    display: none !important;
}

.d-inline {
    display: inline !important;
}

.d-inline-block {
    display: inline-block !important;
}

.d-block {
    display: block !important;
}

.d-table {
    display: table !important;
}

.d-table-row {
    display: table-row !important;
}

.d-table-cell {
    display: table-cell !important;
}

.d-flex {
    display: flex !important;
}

.d-inline-flex {
    display: inline-flex !important;
}

@media (min-width: 576px) {
    .d-sm-none {
        display: none !important;
    }

    .d-sm-inline {
        display: inline !important;
    }

    .d-sm-inline-block {
        display: inline-block !important;
    }

    .d-sm-block {
        display: block !important;
    }

    .d-sm-table {
        display: table !important;
    }

    .d-sm-table-row {
        display: table-row !important;
    }

    .d-sm-table-cell {
        display: table-cell !important;
    }

    .d-sm-flex {
        display: flex !important;
    }

    .d-sm-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 768px) {
    .d-md-none {
        display: none !important;
    }

    .d-md-inline {
        display: inline !important;
    }

    .d-md-inline-block {
        display: inline-block !important;
    }

    .d-md-block {
        display: block !important;
    }

    .d-md-table {
        display: table !important;
    }

    .d-md-table-row {
        display: table-row !important;
    }

    .d-md-table-cell {
        display: table-cell !important;
    }

    .d-md-flex {
        display: flex !important;
    }

    .d-md-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 992px) {
    .d-lg-none {
        display: none !important;
    }

    .d-lg-inline {
        display: inline !important;
    }

    .d-lg-inline-block {
        display: inline-block !important;
    }

    .d-lg-block {
        display: block !important;
    }

    .d-lg-table {
        display: table !important;
    }

    .d-lg-table-row {
        display: table-row !important;
    }

    .d-lg-table-cell {
        display: table-cell !important;
    }

    .d-lg-flex {
        display: flex !important;
    }

    .d-lg-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 1200px) {
    .d-xl-none {
        display: none !important;
    }

    .d-xl-inline {
        display: inline !important;
    }

    .d-xl-inline-block {
        display: inline-block !important;
    }

    .d-xl-block {
        display: block !important;
    }

    .d-xl-table {
        display: table !important;
    }

    .d-xl-table-row {
        display: table-row !important;
    }

    .d-xl-table-cell {
        display: table-cell !important;
    }

    .d-xl-flex {
        display: flex !important;
    }

    .d-xl-inline-flex {
        display: inline-flex !important;
    }
}

@media print {
    .d-print-none {
        display: none !important;
    }

    .d-print-inline {
        display: inline !important;
    }

    .d-print-inline-block {
        display: inline-block !important;
    }

    .d-print-block {
        display: block !important;
    }

    .d-print-table {
        display: table !important;
    }

    .d-print-table-row {
        display: table-row !important;
    }

    .d-print-table-cell {
        display: table-cell !important;
    }

    .d-print-flex {
        display: flex !important;
    }

    .d-print-inline-flex {
        display: inline-flex !important;
    }
}

.embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
}

    .embed-responsive::before {
        display: block;
        content: "";
    }

    .embed-responsive .embed-responsive-item,
    .embed-responsive iframe,
    .embed-responsive embed,
    .embed-responsive object,
    .embed-responsive video {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }

.embed-responsive-21by9::before {
    padding-top: 42.8571428571%;
}

.embed-responsive-16by9::before {
    padding-top: 56.25%;
}

.embed-responsive-4by3::before {
    padding-top: 75%;
}

.embed-responsive-1by1::before {
    padding-top: 100%;
}

.flex-row {
    flex-direction: row !important;
}

.flex-column {
    flex-direction: column !important;
}

.flex-row-reverse {
    flex-direction: row-reverse !important;
}

.flex-column-reverse {
    flex-direction: column-reverse !important;
}

.flex-wrap {
    flex-wrap: wrap !important;
}

.flex-nowrap {
    flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse !important;
}

.flex-fill {
    flex: 1 1 auto !important;
}

.flex-grow-0 {
    flex-grow: 0 !important;
}

.flex-grow-1 {
    flex-grow: 1 !important;
}

.flex-shrink-0 {
    flex-shrink: 0 !important;
}

.flex-shrink-1 {
    flex-shrink: 1 !important;
}

.justify-content-start {
    justify-content: flex-start !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.justify-content-around {
    justify-content: space-around !important;
}

.align-items-start {
    align-items: flex-start !important;
}

.align-items-end {
    align-items: flex-end !important;
}

.align-items-center {
    align-items: center !important;
}

.align-items-baseline {
    align-items: baseline !important;
}

.align-items-stretch {
    align-items: stretch !important;
}

.align-content-start {
    align-content: flex-start !important;
}

.align-content-end {
    align-content: flex-end !important;
}

.align-content-center {
    align-content: center !important;
}

.align-content-between {
    align-content: space-between !important;
}

.align-content-around {
    align-content: space-around !important;
}

.align-content-stretch {
    align-content: stretch !important;
}

.align-self-auto {
    align-self: auto !important;
}

.align-self-start {
    align-self: flex-start !important;
}

.align-self-end {
    align-self: flex-end !important;
}

.align-self-center {
    align-self: center !important;
}

.align-self-baseline {
    align-self: baseline !important;
}

.align-self-stretch {
    align-self: stretch !important;
}

@media (min-width: 576px) {
    .flex-sm-row {
        flex-direction: row !important;
    }

    .flex-sm-column {
        flex-direction: column !important;
    }

    .flex-sm-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-sm-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-sm-wrap {
        flex-wrap: wrap !important;
    }

    .flex-sm-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-sm-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-sm-fill {
        flex: 1 1 auto !important;
    }

    .flex-sm-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-sm-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-sm-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-sm-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-sm-start {
        justify-content: flex-start !important;
    }

    .justify-content-sm-end {
        justify-content: flex-end !important;
    }

    .justify-content-sm-center {
        justify-content: center !important;
    }

    .justify-content-sm-between {
        justify-content: space-between !important;
    }

    .justify-content-sm-around {
        justify-content: space-around !important;
    }

    .align-items-sm-start {
        align-items: flex-start !important;
    }

    .align-items-sm-end {
        align-items: flex-end !important;
    }

    .align-items-sm-center {
        align-items: center !important;
    }

    .align-items-sm-baseline {
        align-items: baseline !important;
    }

    .align-items-sm-stretch {
        align-items: stretch !important;
    }

    .align-content-sm-start {
        align-content: flex-start !important;
    }

    .align-content-sm-end {
        align-content: flex-end !important;
    }

    .align-content-sm-center {
        align-content: center !important;
    }

    .align-content-sm-between {
        align-content: space-between !important;
    }

    .align-content-sm-around {
        align-content: space-around !important;
    }

    .align-content-sm-stretch {
        align-content: stretch !important;
    }

    .align-self-sm-auto {
        align-self: auto !important;
    }

    .align-self-sm-start {
        align-self: flex-start !important;
    }

    .align-self-sm-end {
        align-self: flex-end !important;
    }

    .align-self-sm-center {
        align-self: center !important;
    }

    .align-self-sm-baseline {
        align-self: baseline !important;
    }

    .align-self-sm-stretch {
        align-self: stretch !important;
    }
}

@media (min-width: 768px) {
    .flex-md-row {
        flex-direction: row !important;
    }

    .flex-md-column {
        flex-direction: column !important;
    }

    .flex-md-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-md-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-md-wrap {
        flex-wrap: wrap !important;
    }

    .flex-md-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-md-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-md-fill {
        flex: 1 1 auto !important;
    }

    .flex-md-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-md-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-md-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-md-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-md-start {
        justify-content: flex-start !important;
    }

    .justify-content-md-end {
        justify-content: flex-end !important;
    }

    .justify-content-md-center {
        justify-content: center !important;
    }

    .justify-content-md-between {
        justify-content: space-between !important;
    }

    .justify-content-md-around {
        justify-content: space-around !important;
    }

    .align-items-md-start {
        align-items: flex-start !important;
    }

    .align-items-md-end {
        align-items: flex-end !important;
    }

    .align-items-md-center {
        align-items: center !important;
    }

    .align-items-md-baseline {
        align-items: baseline !important;
    }

    .align-items-md-stretch {
        align-items: stretch !important;
    }

    .align-content-md-start {
        align-content: flex-start !important;
    }

    .align-content-md-end {
        align-content: flex-end !important;
    }

    .align-content-md-center {
        align-content: center !important;
    }

    .align-content-md-between {
        align-content: space-between !important;
    }

    .align-content-md-around {
        align-content: space-around !important;
    }

    .align-content-md-stretch {
        align-content: stretch !important;
    }

    .align-self-md-auto {
        align-self: auto !important;
    }

    .align-self-md-start {
        align-self: flex-start !important;
    }

    .align-self-md-end {
        align-self: flex-end !important;
    }

    .align-self-md-center {
        align-self: center !important;
    }

    .align-self-md-baseline {
        align-self: baseline !important;
    }

    .align-self-md-stretch {
        align-self: stretch !important;
    }
}

@media (min-width: 992px) {
    .flex-lg-row {
        flex-direction: row !important;
    }

    .flex-lg-column {
        flex-direction: column !important;
    }

    .flex-lg-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-lg-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-lg-wrap {
        flex-wrap: wrap !important;
    }

    .flex-lg-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-lg-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-lg-fill {
        flex: 1 1 auto !important;
    }

    .flex-lg-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-lg-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-lg-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-lg-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-lg-start {
        justify-content: flex-start !important;
    }

    .justify-content-lg-end {
        justify-content: flex-end !important;
    }

    .justify-content-lg-center {
        justify-content: center !important;
    }

    .justify-content-lg-between {
        justify-content: space-between !important;
    }

    .justify-content-lg-around {
        justify-content: space-around !important;
    }

    .align-items-lg-start {
        align-items: flex-start !important;
    }

    .align-items-lg-end {
        align-items: flex-end !important;
    }

    .align-items-lg-center {
        align-items: center !important;
    }

    .align-items-lg-baseline {
        align-items: baseline !important;
    }

    .align-items-lg-stretch {
        align-items: stretch !important;
    }

    .align-content-lg-start {
        align-content: flex-start !important;
    }

    .align-content-lg-end {
        align-content: flex-end !important;
    }

    .align-content-lg-center {
        align-content: center !important;
    }

    .align-content-lg-between {
        align-content: space-between !important;
    }

    .align-content-lg-around {
        align-content: space-around !important;
    }

    .align-content-lg-stretch {
        align-content: stretch !important;
    }

    .align-self-lg-auto {
        align-self: auto !important;
    }

    .align-self-lg-start {
        align-self: flex-start !important;
    }

    .align-self-lg-end {
        align-self: flex-end !important;
    }

    .align-self-lg-center {
        align-self: center !important;
    }

    .align-self-lg-baseline {
        align-self: baseline !important;
    }

    .align-self-lg-stretch {
        align-self: stretch !important;
    }
}

@media (min-width: 1200px) {
    .flex-xl-row {
        flex-direction: row !important;
    }

    .flex-xl-column {
        flex-direction: column !important;
    }

    .flex-xl-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-xl-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-xl-wrap {
        flex-wrap: wrap !important;
    }

    .flex-xl-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-xl-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-xl-fill {
        flex: 1 1 auto !important;
    }

    .flex-xl-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-xl-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-xl-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-xl-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-xl-start {
        justify-content: flex-start !important;
    }

    .justify-content-xl-end {
        justify-content: flex-end !important;
    }

    .justify-content-xl-center {
        justify-content: center !important;
    }

    .justify-content-xl-between {
        justify-content: space-between !important;
    }

    .justify-content-xl-around {
        justify-content: space-around !important;
    }

    .align-items-xl-start {
        align-items: flex-start !important;
    }

    .align-items-xl-end {
        align-items: flex-end !important;
    }

    .align-items-xl-center {
        align-items: center !important;
    }

    .align-items-xl-baseline {
        align-items: baseline !important;
    }

    .align-items-xl-stretch {
        align-items: stretch !important;
    }

    .align-content-xl-start {
        align-content: flex-start !important;
    }

    .align-content-xl-end {
        align-content: flex-end !important;
    }

    .align-content-xl-center {
        align-content: center !important;
    }

    .align-content-xl-between {
        align-content: space-between !important;
    }

    .align-content-xl-around {
        align-content: space-around !important;
    }

    .align-content-xl-stretch {
        align-content: stretch !important;
    }

    .align-self-xl-auto {
        align-self: auto !important;
    }

    .align-self-xl-start {
        align-self: flex-start !important;
    }

    .align-self-xl-end {
        align-self: flex-end !important;
    }

    .align-self-xl-center {
        align-self: center !important;
    }

    .align-self-xl-baseline {
        align-self: baseline !important;
    }

    .align-self-xl-stretch {
        align-self: stretch !important;
    }
}

.float-left {
    float: left !important;
}

.float-right {
    float: right !important;
}

.float-none {
    float: none !important;
}

@media (min-width: 576px) {
    .float-sm-left {
        float: left !important;
    }

    .float-sm-right {
        float: right !important;
    }

    .float-sm-none {
        float: none !important;
    }
}

@media (min-width: 768px) {
    .float-md-left {
        float: left !important;
    }

    .float-md-right {
        float: right !important;
    }

    .float-md-none {
        float: none !important;
    }
}

@media (min-width: 992px) {
    .float-lg-left {
        float: left !important;
    }

    .float-lg-right {
        float: right !important;
    }

    .float-lg-none {
        float: none !important;
    }
}

@media (min-width: 1200px) {
    .float-xl-left {
        float: left !important;
    }

    .float-xl-right {
        float: right !important;
    }

    .float-xl-none {
        float: none !important;
    }
}

.user-select-all {
    -webkit-user-select: all !important;
    -moz-user-select: all !important;
    -ms-user-select: all !important;
    user-select: all !important;
}

.user-select-auto {
    -webkit-user-select: auto !important;
    -moz-user-select: auto !important;
    -ms-user-select: auto !important;
    user-select: auto !important;
}

.user-select-none {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
}

.overflow-auto {
    overflow: auto !important;
}

.overflow-hidden {
    overflow: hidden !important;
}

.position-static {
    position: static !important;
}

.position-relative {
    position: relative !important;
}

.position-absolute {
    position: absolute !important;
}

.position-fixed {
    position: fixed !important;
}

.position-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
}

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
    .sticky-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020;
    }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
}

.shadow-sm {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
    box-shadow: none !important;
}

.w-25 {
    width: 25% !important;
}
.w-35 {
    width: 35% !important;
}
.w-50 {
    width: 50% !important;
}

.w-75 {
    width: 75% !important;
}

.w-100 {
    width: 100% !important;
}

.w-auto {
    width: auto !important;
}

.h-25 {
    height: 25% !important;
}

.h-50 {
    height: 50% !important;
}

.h-75 {
    height: 75% !important;
}

.h-100 {
    height: 100% !important;
}

.h-auto {
    height: auto !important;
}

.mw-100 {
    max-width: 100% !important;
}

.mh-100 {
    max-height: 100% !important;
}

.min-vw-100 {
    min-width: 100vw !important;
}

.min-vh-100 {
    min-height: 100vh !important;
}

.vw-100 {
    width: 100vw !important;
}

.vh-100 {
    height: 100vh !important;
}
}
.m-0 {
    margin: 0 !important;
}

.mt-0,
.my-0 {
    margin-top: 0 !important;
}

.mr-0,
.mx-0 {
    margin-right: 0 !important;
}

.mb-0,
.my-0 {
    margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
    margin-left: 0 !important;
}

.m-1 {
    margin: 0.25rem !important;
}

.mt-1,
.my-1 {
    margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
    margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
    margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
    margin-left: 0.25rem !important;
}

.m-2 {
    margin: 0.5rem !important;
}

.mt-2,
.my-2 {
    margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
    margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
    margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
    margin-left: 0.5rem !important;
}

.m-3 {
    margin: 1rem !important;
}

.mt-3,
.my-3 {
    margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
    margin-right: 1rem !important;
}

.mb-3,
.my-3 {
    margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
    margin-left: 1rem !important;
}

.m-4 {
    margin: 1.5rem !important;
}

.mt-4,
.my-4 {
    margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
    margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
    margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
    margin-left: 1.5rem !important;
}

.m-5 {
    margin: 3rem !important;
}

.mt-5,
.my-5 {
    margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
    margin-right: 3rem !important;
}

.mb-5,
.my-5 {
    margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
    margin-left: 3rem !important;
}

.p-0 {
    padding: 0 !important;
}

.pt-0,
.py-0 {
    padding-top: 0 !important;
}

.pr-0,
.px-0 {
    padding-right: 0 !important;
}

.pb-0,
.py-0 {
    padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
    padding-left: 0 !important;
}

.p-1 {
    padding: 0.25rem !important;
}

.pt-1,
.py-1 {
    padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
    padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
    padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
    padding-left: 0.25rem !important;
}

.p-2 {
    padding: 0.5rem !important;
}

.pt-2,
.py-2 {
    padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
    padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
    padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
    padding-left: 0.5rem !important;
}

.p-3 {
    padding: 1rem !important;
}

.pt-3,
.py-3 {
    padding-top: 1rem !important;
}

.pr-3,
.px-3 {
    padding-right: 1rem !important;
}

.pb-3,
.py-3 {
    padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
    padding-left: 1rem !important;
}

.p-4 {
    padding: 1.5rem !important;
}

.pt-4,
.py-4 {
    padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
    padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
    padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
    padding-left: 1.5rem !important;
}

.p-5 {
    padding: 3rem !important;
}

.pt-5,
.py-5 {
    padding-top: 3rem !important;
}

.pr-5,
.px-5 {
    padding-right: 3rem !important;
}

.pb-5,
.py-5 {
    padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
    padding-left: 3rem !important;
}

.m-n1 {
    margin: -0.25rem !important;
}

.mt-n1,
.my-n1 {
    margin-top: -0.25rem !important;
}

.mr-n1,
.mx-n1 {
    margin-right: -0.25rem !important;
}

.mb-n1,
.my-n1 {
    margin-bottom: -0.25rem !important;
}

.ml-n1,
.mx-n1 {
    margin-left: -0.25rem !important;
}

.m-n2 {
    margin: -0.5rem !important;
}

.mt-n2,
.my-n2 {
    margin-top: -0.5rem !important;
}

.mr-n2,
.mx-n2 {
    margin-right: -0.5rem !important;
}

.mb-n2,
.my-n2 {
    margin-bottom: -0.5rem !important;
}

.ml-n2,
.mx-n2 {
    margin-left: -0.5rem !important;
}

.m-n3 {
    margin: -1rem !important;
}

.mt-n3,
.my-n3 {
    margin-top: -1rem !important;
}

.mr-n3,
.mx-n3 {
    margin-right: -1rem !important;
}

.mb-n3,
.my-n3 {
    margin-bottom: -1rem !important;
}

.ml-n3,
.mx-n3 {
    margin-left: -1rem !important;
}

.m-n4 {
    margin: -1.5rem !important;
}

.mt-n4,
.my-n4 {
    margin-top: -1.5rem !important;
}

.mr-n4,
.mx-n4 {
    margin-right: -1.5rem !important;
}

.mb-n4,
.my-n4 {
    margin-bottom: -1.5rem !important;
}

.ml-n4,
.mx-n4 {
    margin-left: -1.5rem !important;
}

.m-n5 {
    margin: -3rem !important;
}

.mt-n5,
.my-n5 {
    margin-top: -3rem !important;
}

.mr-n5,
.mx-n5 {
    margin-right: -3rem !important;
}

.mb-n5,
.my-n5 {
    margin-bottom: -3rem !important;
}

.ml-n5,
.mx-n5 {
    margin-left: -3rem !important;
}

.m-auto {
    margin: auto !important;
}

.mt-auto,
.my-auto {
    margin-top: auto !important;
}

.mr-auto,
.mx-auto {
    margin-right: auto !important;
}

.mb-auto,
.my-auto {
    margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
    margin-left: auto !important;
}

@media (min-width: 576px) {
    .m-sm-0 {
        margin: 0 !important;
    }

    .mt-sm-0,
    .my-sm-0 {
        margin-top: 0 !important;
    }

    .mr-sm-0,
    .mx-sm-0 {
        margin-right: 0 !important;
    }

    .mb-sm-0,
    .my-sm-0 {
        margin-bottom: 0 !important;
    }

    .ml-sm-0,
    .mx-sm-0 {
        margin-left: 0 !important;
    }

    .m-sm-1 {
        margin: 0.25rem !important;
    }

    .mt-sm-1,
    .my-sm-1 {
        margin-top: 0.25rem !important;
    }

    .mr-sm-1,
    .mx-sm-1 {
        margin-right: 0.25rem !important;
    }

    .mb-sm-1,
    .my-sm-1 {
        margin-bottom: 0.25rem !important;
    }

    .ml-sm-1,
    .mx-sm-1 {
        margin-left: 0.25rem !important;
    }

    .m-sm-2 {
        margin: 0.5rem !important;
    }

    .mt-sm-2,
    .my-sm-2 {
        margin-top: 0.5rem !important;
    }

    .mr-sm-2,
    .mx-sm-2 {
        margin-right: 0.5rem !important;
    }

    .mb-sm-2,
    .my-sm-2 {
        margin-bottom: 0.5rem !important;
    }

    .ml-sm-2,
    .mx-sm-2 {
        margin-left: 0.5rem !important;
    }

    .m-sm-3 {
        margin: 1rem !important;
    }

    .mt-sm-3,
    .my-sm-3 {
        margin-top: 1rem !important;
    }

    .mr-sm-3,
    .mx-sm-3 {
        margin-right: 1rem !important;
    }

    .mb-sm-3,
    .my-sm-3 {
        margin-bottom: 1rem !important;
    }

    .ml-sm-3,
    .mx-sm-3 {
        margin-left: 1rem !important;
    }

    .m-sm-4 {
        margin: 1.5rem !important;
    }

    .mt-sm-4,
    .my-sm-4 {
        margin-top: 1.5rem !important;
    }

    .mr-sm-4,
    .mx-sm-4 {
        margin-right: 1.5rem !important;
    }

    .mb-sm-4,
    .my-sm-4 {
        margin-bottom: 1.5rem !important;
    }

    .ml-sm-4,
    .mx-sm-4 {
        margin-left: 1.5rem !important;
    }

    .m-sm-5 {
        margin: 3rem !important;
    }

    .mt-sm-5,
    .my-sm-5 {
        margin-top: 3rem !important;
    }

    .mr-sm-5,
    .mx-sm-5 {
        margin-right: 3rem !important;
    }

    .mb-sm-5,
    .my-sm-5 {
        margin-bottom: 3rem !important;
    }

    .ml-sm-5,
    .mx-sm-5 {
        margin-left: 3rem !important;
    }

    .p-sm-0 {
        padding: 0 !important;
    }

    .pt-sm-0,
    .py-sm-0 {
        padding-top: 0 !important;
    }

    .pr-sm-0,
    .px-sm-0 {
        padding-right: 0 !important;
    }

    .pb-sm-0,
    .py-sm-0 {
        padding-bottom: 0 !important;
    }

    .pl-sm-0,
    .px-sm-0 {
        padding-left: 0 !important;
    }

    .p-sm-1 {
        padding: 0.25rem !important;
    }

    .pt-sm-1,
    .py-sm-1 {
        padding-top: 0.25rem !important;
    }

    .pr-sm-1,
    .px-sm-1 {
        padding-right: 0.25rem !important;
    }

    .pb-sm-1,
    .py-sm-1 {
        padding-bottom: 0.25rem !important;
    }

    .pl-sm-1,
    .px-sm-1 {
        padding-left: 0.25rem !important;
    }

    .p-sm-2 {
        padding: 0.5rem !important;
    }

    .pt-sm-2,
    .py-sm-2 {
        padding-top: 0.5rem !important;
    }

    .pr-sm-2,
    .px-sm-2 {
        padding-right: 0.5rem !important;
    }

    .pb-sm-2,
    .py-sm-2 {
        padding-bottom: 0.5rem !important;
    }

    .pl-sm-2,
    .px-sm-2 {
        padding-left: 0.5rem !important;
    }

    .p-sm-3 {
        padding: 1rem !important;
    }

    .pt-sm-3,
    .py-sm-3 {
        padding-top: 1rem !important;
    }

    .pr-sm-3,
    .px-sm-3 {
        padding-right: 1rem !important;
    }

    .pb-sm-3,
    .py-sm-3 {
        padding-bottom: 1rem !important;
    }

    .pl-sm-3,
    .px-sm-3 {
        padding-left: 1rem !important;
    }

    .p-sm-4 {
        padding: 1.5rem !important;
    }

    .pt-sm-4,
    .py-sm-4 {
        padding-top: 1.5rem !important;
    }

    .pr-sm-4,
    .px-sm-4 {
        padding-right: 1.5rem !important;
    }

    .pb-sm-4,
    .py-sm-4 {
        padding-bottom: 1.5rem !important;
    }

    .pl-sm-4,
    .px-sm-4 {
        padding-left: 1.5rem !important;
    }

    .p-sm-5 {
        padding: 3rem !important;
    }

    .pt-sm-5,
    .py-sm-5 {
        padding-top: 3rem !important;
    }

    .pr-sm-5,
    .px-sm-5 {
        padding-right: 3rem !important;
    }

    .pb-sm-5,
    .py-sm-5 {
        padding-bottom: 3rem !important;
    }

    .pl-sm-5,
    .px-sm-5 {
        padding-left: 3rem !important;
    }

    .m-sm-n1 {
        margin: -0.25rem !important;
    }

    .mt-sm-n1,
    .my-sm-n1 {
        margin-top: -0.25rem !important;
    }

    .mr-sm-n1,
    .mx-sm-n1 {
        margin-right: -0.25rem !important;
    }

    .mb-sm-n1,
    .my-sm-n1 {
        margin-bottom: -0.25rem !important;
    }

    .ml-sm-n1,
    .mx-sm-n1 {
        margin-left: -0.25rem !important;
    }

    .m-sm-n2 {
        margin: -0.5rem !important;
    }

    .mt-sm-n2,
    .my-sm-n2 {
        margin-top: -0.5rem !important;
    }

    .mr-sm-n2,
    .mx-sm-n2 {
        margin-right: -0.5rem !important;
    }

    .mb-sm-n2,
    .my-sm-n2 {
        margin-bottom: -0.5rem !important;
    }

    .ml-sm-n2,
    .mx-sm-n2 {
        margin-left: -0.5rem !important;
    }

    .m-sm-n3 {
        margin: -1rem !important;
    }

    .mt-sm-n3,
    .my-sm-n3 {
        margin-top: -1rem !important;
    }

    .mr-sm-n3,
    .mx-sm-n3 {
        margin-right: -1rem !important;
    }

    .mb-sm-n3,
    .my-sm-n3 {
        margin-bottom: -1rem !important;
    }

    .ml-sm-n3,
    .mx-sm-n3 {
        margin-left: -1rem !important;
    }

    .m-sm-n4 {
        margin: -1.5rem !important;
    }

    .mt-sm-n4,
    .my-sm-n4 {
        margin-top: -1.5rem !important;
    }

    .mr-sm-n4,
    .mx-sm-n4 {
        margin-right: -1.5rem !important;
    }

    .mb-sm-n4,
    .my-sm-n4 {
        margin-bottom: -1.5rem !important;
    }

    .ml-sm-n4,
    .mx-sm-n4 {
        margin-left: -1.5rem !important;
    }

    .m-sm-n5 {
        margin: -3rem !important;
    }

    .mt-sm-n5,
    .my-sm-n5 {
        margin-top: -3rem !important;
    }

    .mr-sm-n5,
    .mx-sm-n5 {
        margin-right: -3rem !important;
    }

    .mb-sm-n5,
    .my-sm-n5 {
        margin-bottom: -3rem !important;
    }

    .ml-sm-n5,
    .mx-sm-n5 {
        margin-left: -3rem !important;
    }

    .m-sm-auto {
        margin: auto !important;
    }

    .mt-sm-auto,
    .my-sm-auto {
        margin-top: auto !important;
    }

    .mr-sm-auto,
    .mx-sm-auto {
        margin-right: auto !important;
    }

    .mb-sm-auto,
    .my-sm-auto {
        margin-bottom: auto !important;
    }

    .ml-sm-auto,
    .mx-sm-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 768px) {
    .m-md-0 {
        margin: 0 !important;
    }

    .mt-md-0,
    .my-md-0 {
        margin-top: 0 !important;
    }

    .mr-md-0,
    .mx-md-0 {
        margin-right: 0 !important;
    }

    .mb-md-0,
    .my-md-0 {
        margin-bottom: 0 !important;
    }

    .ml-md-0,
    .mx-md-0 {
        margin-left: 0 !important;
    }

    .m-md-1 {
        margin: 0.25rem !important;
    }

    .mt-md-1,
    .my-md-1 {
        margin-top: 0.25rem !important;
    }

    .mr-md-1,
    .mx-md-1 {
        margin-right: 0.25rem !important;
    }

    .mb-md-1,
    .my-md-1 {
        margin-bottom: 0.25rem !important;
    }

    .ml-md-1,
    .mx-md-1 {
        margin-left: 0.25rem !important;
    }

    .m-md-2 {
        margin: 0.5rem !important;
    }

    .mt-md-2,
    .my-md-2 {
        margin-top: 0.5rem !important;
    }

    .mr-md-2,
    .mx-md-2 {
        margin-right: 0.5rem !important;
    }

    .mb-md-2,
    .my-md-2 {
        margin-bottom: 0.5rem !important;
    }

    .ml-md-2,
    .mx-md-2 {
        margin-left: 0.5rem !important;
    }

    .m-md-3 {
        margin: 1rem !important;
    }

    .mt-md-3,
    .my-md-3 {
        margin-top: 1rem !important;
    }

    .mr-md-3,
    .mx-md-3 {
        margin-right: 1rem !important;
    }

    .mb-md-3,
    .my-md-3 {
        margin-bottom: 1rem !important;
    }

    .ml-md-3,
    .mx-md-3 {
        margin-left: 1rem !important;
    }

    .m-md-4 {
        margin: 1.5rem !important;
    }

    .mt-md-4,
    .my-md-4 {
        margin-top: 1.5rem !important;
    }

    .mr-md-4,
    .mx-md-4 {
        margin-right: 1.5rem !important;
    }

    .mb-md-4,
    .my-md-4 {
        margin-bottom: 1.5rem !important;
    }

    .ml-md-4,
    .mx-md-4 {
        margin-left: 1.5rem !important;
    }

    .m-md-5 {
        margin: 3rem !important;
    }

    .mt-md-5,
    .my-md-5 {
        margin-top: 3rem !important;
    }

    .mr-md-5,
    .mx-md-5 {
        margin-right: 3rem !important;
    }

    .mb-md-5,
    .my-md-5 {
        margin-bottom: 3rem !important;
    }

    .ml-md-5,
    .mx-md-5 {
        margin-left: 3rem !important;
    }

    .p-md-0 {
        padding: 0 !important;
    }

    .pt-md-0,
    .py-md-0 {
        padding-top: 0 !important;
    }

    .pr-md-0,
    .px-md-0 {
        padding-right: 0 !important;
    }

    .pb-md-0,
    .py-md-0 {
        padding-bottom: 0 !important;
    }

    .pl-md-0,
    .px-md-0 {
        padding-left: 0 !important;
    }

    .p-md-1 {
        padding: 0.25rem !important;
    }

    .pt-md-1,
    .py-md-1 {
        padding-top: 0.25rem !important;
    }

    .pr-md-1,
    .px-md-1 {
        padding-right: 0.25rem !important;
    }

    .pb-md-1,
    .py-md-1 {
        padding-bottom: 0.25rem !important;
    }

    .pl-md-1,
    .px-md-1 {
        padding-left: 0.25rem !important;
    }

    .p-md-2 {
        padding: 0.5rem !important;
    }

    .pt-md-2,
    .py-md-2 {
        padding-top: 0.5rem !important;
    }

    .pr-md-2,
    .px-md-2 {
        padding-right: 0.5rem !important;
    }

    .pb-md-2,
    .py-md-2 {
        padding-bottom: 0.5rem !important;
    }

    .pl-md-2,
    .px-md-2 {
        padding-left: 0.5rem !important;
    }

    .p-md-3 {
        padding: 1rem !important;
    }

    .pt-md-3,
    .py-md-3 {
        padding-top: 1rem !important;
    }

    .pr-md-3,
    .px-md-3 {
        padding-right: 1rem !important;
    }

    .pb-md-3,
    .py-md-3 {
        padding-bottom: 1rem !important;
    }

    .pl-md-3,
    .px-md-3 {
        padding-left: 1rem !important;
    }

    .p-md-4 {
        padding: 1.5rem !important;
    }

    .pt-md-4,
    .py-md-4 {
        padding-top: 1.5rem !important;
    }

    .pr-md-4,
    .px-md-4 {
        padding-right: 1.5rem !important;
    }

    .pb-md-4,
    .py-md-4 {
        padding-bottom: 1.5rem !important;
    }

    .pl-md-4,
    .px-md-4 {
        padding-left: 1.5rem !important;
    }

    .p-md-5 {
        padding: 3rem !important;
    }

    .pt-md-5,
    .py-md-5 {
        padding-top: 3rem !important;
    }

    .pr-md-5,
    .px-md-5 {
        padding-right: 3rem !important;
    }

    .pb-md-5,
    .py-md-5 {
        padding-bottom: 3rem !important;
    }

    .pl-md-5,
    .px-md-5 {
        padding-left: 3rem !important;
    }

    .m-md-n1 {
        margin: -0.25rem !important;
    }

    .mt-md-n1,
    .my-md-n1 {
        margin-top: -0.25rem !important;
    }

    .mr-md-n1,
    .mx-md-n1 {
        margin-right: -0.25rem !important;
    }

    .mb-md-n1,
    .my-md-n1 {
        margin-bottom: -0.25rem !important;
    }

    .ml-md-n1,
    .mx-md-n1 {
        margin-left: -0.25rem !important;
    }

    .m-md-n2 {
        margin: -0.5rem !important;
    }

    .mt-md-n2,
    .my-md-n2 {
        margin-top: -0.5rem !important;
    }

    .mr-md-n2,
    .mx-md-n2 {
        margin-right: -0.5rem !important;
    }

    .mb-md-n2,
    .my-md-n2 {
        margin-bottom: -0.5rem !important;
    }

    .ml-md-n2,
    .mx-md-n2 {
        margin-left: -0.5rem !important;
    }

    .m-md-n3 {
        margin: -1rem !important;
    }

    .mt-md-n3,
    .my-md-n3 {
        margin-top: -1rem !important;
    }

    .mr-md-n3,
    .mx-md-n3 {
        margin-right: -1rem !important;
    }

    .mb-md-n3,
    .my-md-n3 {
        margin-bottom: -1rem !important;
    }

    .ml-md-n3,
    .mx-md-n3 {
        margin-left: -1rem !important;
    }

    .m-md-n4 {
        margin: -1.5rem !important;
    }

    .mt-md-n4,
    .my-md-n4 {
        margin-top: -1.5rem !important;
    }

    .mr-md-n4,
    .mx-md-n4 {
        margin-right: -1.5rem !important;
    }

    .mb-md-n4,
    .my-md-n4 {
        margin-bottom: -1.5rem !important;
    }

    .ml-md-n4,
    .mx-md-n4 {
        margin-left: -1.5rem !important;
    }

    .m-md-n5 {
        margin: -3rem !important;
    }

    .mt-md-n5,
    .my-md-n5 {
        margin-top: -3rem !important;
    }

    .mr-md-n5,
    .mx-md-n5 {
        margin-right: -3rem !important;
    }

    .mb-md-n5,
    .my-md-n5 {
        margin-bottom: -3rem !important;
    }

    .ml-md-n5,
    .mx-md-n5 {
        margin-left: -3rem !important;
    }

    .m-md-auto {
        margin: auto !important;
    }

    .mt-md-auto,
    .my-md-auto {
        margin-top: auto !important;
    }

    .mr-md-auto,
    .mx-md-auto {
        margin-right: auto !important;
    }

    .mb-md-auto,
    .my-md-auto {
        margin-bottom: auto !important;
    }

    .ml-md-auto,
    .mx-md-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 992px) {
    .m-lg-0 {
        margin: 0 !important;
    }

    .mt-lg-0,
    .my-lg-0 {
        margin-top: 0 !important;
    }

    .mr-lg-0,
    .mx-lg-0 {
        margin-right: 0 !important;
    }

    .mb-lg-0,
    .my-lg-0 {
        margin-bottom: 0 !important;
    }

    .ml-lg-0,
    .mx-lg-0 {
        margin-left: 0 !important;
    }

    .m-lg-1 {
        margin: 0.25rem !important;
    }

    .mt-lg-1,
    .my-lg-1 {
        margin-top: 0.25rem !important;
    }

    .mr-lg-1,
    .mx-lg-1 {
        margin-right: 0.25rem !important;
    }

    .mb-lg-1,
    .my-lg-1 {
        margin-bottom: 0.25rem !important;
    }

    .ml-lg-1,
    .mx-lg-1 {
        margin-left: 0.25rem !important;
    }

    .m-lg-2 {
        margin: 0.5rem !important;
    }

    .mt-lg-2,
    .my-lg-2 {
        margin-top: 0.5rem !important;
    }

    .mr-lg-2,
    .mx-lg-2 {
        margin-right: 0.5rem !important;
    }

    .mb-lg-2,
    .my-lg-2 {
        margin-bottom: 0.5rem !important;
    }

    .ml-lg-2,
    .mx-lg-2 {
        margin-left: 0.5rem !important;
    }

    .m-lg-3 {
        margin: 1rem !important;
    }

    .mt-lg-3,
    .my-lg-3 {
        margin-top: 1rem !important;
    }

    .mr-lg-3,
    .mx-lg-3 {
        margin-right: 1rem !important;
    }

    .mb-lg-3,
    .my-lg-3 {
        margin-bottom: 1rem !important;
    }

    .ml-lg-3,
    .mx-lg-3 {
        margin-left: 1rem !important;
    }

    .m-lg-4 {
        margin: 1.5rem !important;
    }

    .mt-lg-4,
    .my-lg-4 {
        margin-top: 1.5rem !important;
    }

    .mr-lg-4,
    .mx-lg-4 {
        margin-right: 1.5rem !important;
    }

    .mb-lg-4,
    .my-lg-4 {
        margin-bottom: 1.5rem !important;
    }

    .ml-lg-4,
    .mx-lg-4 {
        margin-left: 1.5rem !important;
    }

    .m-lg-5 {
        margin: 3rem !important;
    }

    .mt-lg-5,
    .my-lg-5 {
        margin-top: 3rem !important;
    }

    .mr-lg-5,
    .mx-lg-5 {
        margin-right: 3rem !important;
    }

    .mb-lg-5,
    .my-lg-5 {
        margin-bottom: 3rem !important;
    }

    .ml-lg-5,
    .mx-lg-5 {
        margin-left: 3rem !important;
    }

    .p-lg-0 {
        padding: 0 !important;
    }

    .pt-lg-0,
    .py-lg-0 {
        padding-top: 0 !important;
    }

    .pr-lg-0,
    .px-lg-0 {
        padding-right: 0 !important;
    }

    .pb-lg-0,
    .py-lg-0 {
        padding-bottom: 0 !important;
    }

    .pl-lg-0,
    .px-lg-0 {
        padding-left: 0 !important;
    }

    .p-lg-1 {
        padding: 0.25rem !important;
    }

    .pt-lg-1,
    .py-lg-1 {
        padding-top: 0.25rem !important;
    }

    .pr-lg-1,
    .px-lg-1 {
        padding-right: 0.25rem !important;
    }

    .pb-lg-1,
    .py-lg-1 {
        padding-bottom: 0.25rem !important;
    }

    .pl-lg-1,
    .px-lg-1 {
        padding-left: 0.25rem !important;
    }

    .p-lg-2 {
        padding: 0.5rem !important;
    }

    .pt-lg-2,
    .py-lg-2 {
        padding-top: 0.5rem !important;
    }

    .pr-lg-2,
    .px-lg-2 {
        padding-right: 0.5rem !important;
    }

    .pb-lg-2,
    .py-lg-2 {
        padding-bottom: 0.5rem !important;
    }

    .pl-lg-2,
    .px-lg-2 {
        padding-left: 0.5rem !important;
    }

    .p-lg-3 {
        padding: 1rem !important;
    }

    .pt-lg-3,
    .py-lg-3 {
        padding-top: 1rem !important;
    }

    .pr-lg-3,
    .px-lg-3 {
        padding-right: 1rem !important;
    }

    .pb-lg-3,
    .py-lg-3 {
        padding-bottom: 1rem !important;
    }

    .pl-lg-3,
    .px-lg-3 {
        padding-left: 1rem !important;
    }

    .p-lg-4 {
        padding: 1.5rem !important;
    }

    .pt-lg-4,
    .py-lg-4 {
        padding-top: 1.5rem !important;
    }

    .pr-lg-4,
    .px-lg-4 {
        padding-right: 1.5rem !important;
    }

    .pb-lg-4,
    .py-lg-4 {
        padding-bottom: 1.5rem !important;
    }

    .pl-lg-4,
    .px-lg-4 {
        padding-left: 1.5rem !important;
    }

    .p-lg-5 {
        padding: 3rem !important;
    }

    .pt-lg-5,
    .py-lg-5 {
        padding-top: 3rem !important;
    }

    .pr-lg-5,
    .px-lg-5 {
        padding-right: 3rem !important;
    }

    .pb-lg-5,
    .py-lg-5 {
        padding-bottom: 3rem !important;
    }

    .pl-lg-5,
    .px-lg-5 {
        padding-left: 3rem !important;
    }

    .m-lg-n1 {
        margin: -0.25rem !important;
    }

    .mt-lg-n1,
    .my-lg-n1 {
        margin-top: -0.25rem !important;
    }

    .mr-lg-n1,
    .mx-lg-n1 {
        margin-right: -0.25rem !important;
    }

    .mb-lg-n1,
    .my-lg-n1 {
        margin-bottom: -0.25rem !important;
    }

    .ml-lg-n1,
    .mx-lg-n1 {
        margin-left: -0.25rem !important;
    }

    .m-lg-n2 {
        margin: -0.5rem !important;
    }

    .mt-lg-n2,
    .my-lg-n2 {
        margin-top: -0.5rem !important;
    }

    .mr-lg-n2,
    .mx-lg-n2 {
        margin-right: -0.5rem !important;
    }

    .mb-lg-n2,
    .my-lg-n2 {
        margin-bottom: -0.5rem !important;
    }

    .ml-lg-n2,
    .mx-lg-n2 {
        margin-left: -0.5rem !important;
    }

    .m-lg-n3 {
        margin: -1rem !important;
    }

    .mt-lg-n3,
    .my-lg-n3 {
        margin-top: -1rem !important;
    }

    .mr-lg-n3,
    .mx-lg-n3 {
        margin-right: -1rem !important;
    }

    .mb-lg-n3,
    .my-lg-n3 {
        margin-bottom: -1rem !important;
    }

    .ml-lg-n3,
    .mx-lg-n3 {
        margin-left: -1rem !important;
    }

    .m-lg-n4 {
        margin: -1.5rem !important;
    }

    .mt-lg-n4,
    .my-lg-n4 {
        margin-top: -1.5rem !important;
    }

    .mr-lg-n4,
    .mx-lg-n4 {
        margin-right: -1.5rem !important;
    }

    .mb-lg-n4,
    .my-lg-n4 {
        margin-bottom: -1.5rem !important;
    }

    .ml-lg-n4,
    .mx-lg-n4 {
        margin-left: -1.5rem !important;
    }

    .m-lg-n5 {
        margin: -3rem !important;
    }

    .mt-lg-n5,
    .my-lg-n5 {
        margin-top: -3rem !important;
    }

    .mr-lg-n5,
    .mx-lg-n5 {
        margin-right: -3rem !important;
    }

    .mb-lg-n5,
    .my-lg-n5 {
        margin-bottom: -3rem !important;
    }

    .ml-lg-n5,
    .mx-lg-n5 {
        margin-left: -3rem !important;
    }

    .m-lg-auto {
        margin: auto !important;
    }

    .mt-lg-auto,
    .my-lg-auto {
        margin-top: auto !important;
    }

    .mr-lg-auto,
    .mx-lg-auto {
        margin-right: auto !important;
    }

    .mb-lg-auto,
    .my-lg-auto {
        margin-bottom: auto !important;
    }

    .ml-lg-auto,
    .mx-lg-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 1200px) {
    .m-xl-0 {
        margin: 0 !important;
    }

    .mt-xl-0,
    .my-xl-0 {
        margin-top: 0 !important;
    }

    .mr-xl-0,
    .mx-xl-0 {
        margin-right: 0 !important;
    }

    .mb-xl-0,
    .my-xl-0 {
        margin-bottom: 0 !important;
    }

    .ml-xl-0,
    .mx-xl-0 {
        margin-left: 0 !important;
    }

    .m-xl-1 {
        margin: 0.25rem !important;
    }

    .mt-xl-1,
    .my-xl-1 {
        margin-top: 0.25rem !important;
    }

    .mr-xl-1,
    .mx-xl-1 {
        margin-right: 0.25rem !important;
    }

    .mb-xl-1,
    .my-xl-1 {
        margin-bottom: 0.25rem !important;
    }

    .ml-xl-1,
    .mx-xl-1 {
        margin-left: 0.25rem !important;
    }

    .m-xl-2 {
        margin: 0.5rem !important;
    }

    .mt-xl-2,
    .my-xl-2 {
        margin-top: 0.5rem !important;
    }

    .mr-xl-2,
    .mx-xl-2 {
        margin-right: 0.5rem !important;
    }

    .mb-xl-2,
    .my-xl-2 {
        margin-bottom: 0.5rem !important;
    }

    .ml-xl-2,
    .mx-xl-2 {
        margin-left: 0.5rem !important;
    }

    .m-xl-3 {
        margin: 1rem !important;
    }

    .mt-xl-3,
    .my-xl-3 {
        margin-top: 1rem !important;
    }

    .mr-xl-3,
    .mx-xl-3 {
        margin-right: 1rem !important;
    }

    .mb-xl-3,
    .my-xl-3 {
        margin-bottom: 1rem !important;
    }

    .ml-xl-3,
    .mx-xl-3 {
        margin-left: 1rem !important;
    }

    .m-xl-4 {
        margin: 1.5rem !important;
    }

    .mt-xl-4,
    .my-xl-4 {
        margin-top: 1.5rem !important;
    }

    .mr-xl-4,
    .mx-xl-4 {
        margin-right: 1.5rem !important;
    }

    .mb-xl-4,
    .my-xl-4 {
        margin-bottom: 1.5rem !important;
    }

    .ml-xl-4,
    .mx-xl-4 {
        margin-left: 1.5rem !important;
    }

    .m-xl-5 {
        margin: 3rem !important;
    }

    .mt-xl-5,
    .my-xl-5 {
        margin-top: 3rem !important;
    }

    .mr-xl-5,
    .mx-xl-5 {
        margin-right: 3rem !important;
    }

    .mb-xl-5,
    .my-xl-5 {
        margin-bottom: 3rem !important;
    }

    .ml-xl-5,
    .mx-xl-5 {
        margin-left: 3rem !important;
    }

    .p-xl-0 {
        padding: 0 !important;
    }

    .pt-xl-0,
    .py-xl-0 {
        padding-top: 0 !important;
    }

    .pr-xl-0,
    .px-xl-0 {
        padding-right: 0 !important;
    }

    .pb-xl-0,
    .py-xl-0 {
        padding-bottom: 0 !important;
    }

    .pl-xl-0,
    .px-xl-0 {
        padding-left: 0 !important;
    }

    .p-xl-1 {
        padding: 0.25rem !important;
    }

    .pt-xl-1,
    .py-xl-1 {
        padding-top: 0.25rem !important;
    }

    .pr-xl-1,
    .px-xl-1 {
        padding-right: 0.25rem !important;
    }

    .pb-xl-1,
    .py-xl-1 {
        padding-bottom: 0.25rem !important;
    }

    .pl-xl-1,
    .px-xl-1 {
        padding-left: 0.25rem !important;
    }

    .p-xl-2 {
        padding: 0.5rem !important;
    }

    .pt-xl-2,
    .py-xl-2 {
        padding-top: 0.5rem !important;
    }

    .pr-xl-2,
    .px-xl-2 {
        padding-right: 0.5rem !important;
    }

    .pb-xl-2,
    .py-xl-2 {
        padding-bottom: 0.5rem !important;
    }

    .pl-xl-2,
    .px-xl-2 {
        padding-left: 0.5rem !important;
    }

    .p-xl-3 {
        padding: 1rem !important;
    }

    .pt-xl-3,
    .py-xl-3 {
        padding-top: 1rem !important;
    }

    .pr-xl-3,
    .px-xl-3 {
        padding-right: 1rem !important;
    }

    .pb-xl-3,
    .py-xl-3 {
        padding-bottom: 1rem !important;
    }

    .pl-xl-3,
    .px-xl-3 {
        padding-left: 1rem !important;
    }

    .p-xl-4 {
        padding: 1.5rem !important;
    }

    .pt-xl-4,
    .py-xl-4 {
        padding-top: 1.5rem !important;
    }

    .pr-xl-4,
    .px-xl-4 {
        padding-right: 1.5rem !important;
    }

    .pb-xl-4,
    .py-xl-4 {
        padding-bottom: 1.5rem !important;
    }

    .pl-xl-4,
    .px-xl-4 {
        padding-left: 1.5rem !important;
    }

    .p-xl-5 {
        padding: 3rem !important;
    }

    .pt-xl-5,
    .py-xl-5 {
        padding-top: 3rem !important;
    }

    .pr-xl-5,
    .px-xl-5 {
        padding-right: 3rem !important;
    }

    .pb-xl-5,
    .py-xl-5 {
        padding-bottom: 3rem !important;
    }

    .pl-xl-5,
    .px-xl-5 {
        padding-left: 3rem !important;
    }

    .m-xl-n1 {
        margin: -0.25rem !important;
    }

    .mt-xl-n1,
    .my-xl-n1 {
        margin-top: -0.25rem !important;
    }

    .mr-xl-n1,
    .mx-xl-n1 {
        margin-right: -0.25rem !important;
    }

    .mb-xl-n1,
    .my-xl-n1 {
        margin-bottom: -0.25rem !important;
    }

    .ml-xl-n1,
    .mx-xl-n1 {
        margin-left: -0.25rem !important;
    }

    .m-xl-n2 {
        margin: -0.5rem !important;
    }

    .mt-xl-n2,
    .my-xl-n2 {
        margin-top: -0.5rem !important;
    }

    .mr-xl-n2,
    .mx-xl-n2 {
        margin-right: -0.5rem !important;
    }

    .mb-xl-n2,
    .my-xl-n2 {
        margin-bottom: -0.5rem !important;
    }

    .ml-xl-n2,
    .mx-xl-n2 {
        margin-left: -0.5rem !important;
    }

    .m-xl-n3 {
        margin: -1rem !important;
    }

    .mt-xl-n3,
    .my-xl-n3 {
        margin-top: -1rem !important;
    }

    .mr-xl-n3,
    .mx-xl-n3 {
        margin-right: -1rem !important;
    }

    .mb-xl-n3,
    .my-xl-n3 {
        margin-bottom: -1rem !important;
    }

    .ml-xl-n3,
    .mx-xl-n3 {
        margin-left: -1rem !important;
    }

    .m-xl-n4 {
        margin: -1.5rem !important;
    }

    .mt-xl-n4,
    .my-xl-n4 {
        margin-top: -1.5rem !important;
    }

    .mr-xl-n4,
    .mx-xl-n4 {
        margin-right: -1.5rem !important;
    }

    .mb-xl-n4,
    .my-xl-n4 {
        margin-bottom: -1.5rem !important;
    }

    .ml-xl-n4,
    .mx-xl-n4 {
        margin-left: -1.5rem !important;
    }

    .m-xl-n5 {
        margin: -3rem !important;
    }

    .mt-xl-n5,
    .my-xl-n5 {
        margin-top: -3rem !important;
    }

    .mr-xl-n5,
    .mx-xl-n5 {
        margin-right: -3rem !important;
    }

    .mb-xl-n5,
    .my-xl-n5 {
        margin-bottom: -3rem !important;
    }

    .ml-xl-n5,
    .mx-xl-n5 {
        margin-left: -3rem !important;
    }

    .m-xl-auto {
        margin: auto !important;
    }

    .mt-xl-auto,
    .my-xl-auto {
        margin-top: auto !important;
    }

    .mr-xl-auto,
    .mx-xl-auto {
        margin-right: auto !important;
    }

    .mb-xl-auto,
    .my-xl-auto {
        margin-bottom: auto !important;
    }

    .ml-xl-auto,
    .mx-xl-auto {
        margin-left: auto !important;
    }
}

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    pointer-events: auto;
    content: "";
    background-color: rgba(0, 0, 0, 0);
}

.text-monospace {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

.text-justify {
    text-align: justify !important;
}

.text-wrap {
    white-space: normal !important;
}

.text-nowrap {
    white-space: nowrap !important;
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

.text-center {
    text-align: center !important;
}

@media (min-width: 576px) {
    .text-sm-left {
        text-align: left !important;
    }

    .text-sm-right {
        text-align: right !important;
    }

    .text-sm-center {
        text-align: center !important;
    }
}

@media (min-width: 768px) {
    .text-md-left {
        text-align: left !important;
    }

    .text-md-right {
        text-align: right !important;
    }

    .text-md-center {
        text-align: center !important;
    }
}

@media (min-width: 992px) {
    .text-lg-left {
        text-align: left !important;
    }

    .text-lg-right {
        text-align: right !important;
    }

    .text-lg-center {
        text-align: center !important;
    }
}

@media (min-width: 1200px) {
    .text-xl-left {
        text-align: left !important;
    }

    .text-xl-right {
        text-align: right !important;
    }

    .text-xl-center {
        text-align: center !important;
    }
}

.text-lowercase {
    text-transform: lowercase !important;
}

.text-uppercase {
    text-transform: uppercase !important;
}

.text-capitalize {
    text-transform: capitalize !important;
}

.font-weight-light {
    font-weight: 300 !important;
}

.font-weight-lighter {
    font-weight: lighter !important;
}

.font-weight-normal {
    font-weight: 400 !important;
}

.font-weight-bold {
    font-weight: 700 !important;
}

.font-weight-bolder {
    font-weight: bolder !important;
}

.font-italic {
    font-style: italic !important;
}

.text-white {
    color: var(--text-on-dark, #fff) !important;
}

.text-primary {
    color: var(--brand-accent, #fdb913) !important;
}

a.text-primary:hover, a.text-primary:focus {
    color: var(--brand-accent-hover, #e6b301) !important;
}

.text-secondary {
    color: var(--brand-primary, #3d1a6f) !important;
}

a.text-secondary:hover, a.text-secondary:focus {
    color: var(--text-secondary, #494f54) !important;
}

.text-success {
    color: var(--status-success, #28a745) !important;
}

a.text-success:hover, a.text-success:focus {
    color: var(--status-success, #19692c) !important;
}

.text-info {
    color: var(--status-info, #17a2b8) !important;
}

a.text-info:hover, a.text-info:focus {
    color: var(--status-info, #0f6674) !important;
}

.text-warning {
    color: var(--brand-accent, #fdb913) !important;
}

a.text-warning:hover, a.text-warning:focus {
    color: var(--brand-accent-hover, #e6b301) !important;
}

.text-danger {
    color: var(--status-danger, #dc3545) !important;
}

a.text-danger:hover, a.text-danger:focus {
    color: var(--status-danger, #a71d2a) !important;
}

.text-light {
    color: var(--bg-subtle, #f8f9fa) !important;
}

a.text-light:hover, a.text-light:focus {
    color: var(--bg-muted, #cbd3da) !important;
}

.text-dark {
    color: var(--text-primary, #343a40) !important;
}

a.text-dark:hover, a.text-dark:focus {
    color: var(--text-primary, #121416) !important;
}

.text-body {
    color: var(--text-primary, #333) !important;
}

.text-muted {
    color: var(--brand-primary, #3d1a6f) !important;
}

.text-black-50 {
    color: var(--text-secondary, rgba(0, 0, 0, 0.5)) !important;
}

.text-white-50 {
    color: rgba(255, 255, 255, 0.5) !important;
}

.text-hide {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}

.text-decoration-none {
    text-decoration: none !important;
}

.text-break {
    word-break: break-word !important;
    word-wrap: break-word !important;
}

.text-reset {
    color: inherit !important;
}

.visible {
    visibility: visible !important;
}

.invisible {
    visibility: hidden !important;
}

@media print {
    *,
    *::before,
    *::after {
        text-shadow: none !important;
        box-shadow: none !important;
    }

    a:not(.btn) {
        text-decoration: underline;
    }

    abbr[title]::after {
        content: " (" attr(title) ")";
    }

    pre {
        white-space: pre-wrap !important;
    }

    pre,
    blockquote {
        border: 1px solid var(--border-strong, #adb5bd);
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }

    @page {
        size: a3;
    }

    body {
        min-width: 992px !important;
    }

    .container {
        min-width: 992px !important;
    }

    .navbar {
        display: none;
    }

    .badge {
        border: 1px solid var(--text-primary, #000);
    }

    .table {
        border-collapse: collapse !important;
    }

        .table td,
        .table th {
            background-color: var(--bg-surface, #fff) !important;
        }

    .table-bordered th,
    .table-bordered td {
        border: 1px solid var(--border-default, #ddd) !important;
    }

    .table-dark {
        color: inherit;
    }

        .table-dark th,
        .table-dark td,
        .table-dark thead th,
        .table-dark tbody + tbody {
            border-color: var(--border-default, #ddd);
        }

    .table .thead-dark th {
        color: inherit;
        border-color: var(--border-default, #ddd);
    }
}

body {
    /* `clip` not `hidden` -- same reason as html in BUZZHub.css line 7618: hidden creates
       a scroll container that disables `position: sticky` for every descendant. clip
       still prevents horizontal scrollbar flicker. (Chrome 90+, FF 81+, Safari 16+.)
       Fixed 2026-05-19 when InterviewCoverage day banners still didn't stick after the
       html-level fix because this body rule sits later in the cascade. */
    overflow-x: clip;
}

p {
    line-height: 1.75;
}
.page-section-sm {
    padding: 2em 0;
}
.page-section {
    padding: 6rem 0;
}

    .page-section h2.section-heading {
        font-size: 2.5rem;
        margin-top: 0;
        margin-bottom: 1rem;
    }

    .page-section h3.section-subheading {
        font-size: 1rem;
        font-weight: 400;
        font-style: italic;
        font-family: 'Outfit', sans-serif;
        margin-bottom: 4rem;
    }

@media (min-width: 768px) {
    section {
        padding: 5rem 0;
    }
}

::-moz-selection {
    background: var(--brand-accent, #fdb913);
    text-shadow: none;
}

::selection {
    background: var(--brand-accent, #fdb913);
    text-shadow: none;
}

img::-moz-selection {
    background: transparent;
}

img::selection {
    background: transparent;
}

img::-moz-selection {
    background: transparent;
}

.btn-xl {
    padding: 1.25rem 2.5rem;
    font-family: 'Outfit', sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
}

.btn-social {
    height: 2.5rem;
    width: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
}
    .btn-social:hover {
        color: var(--brand-accent, #fdb913);
    }


    .commstool {
        color: var(--text-on-dark, #fff);
        padding: 10px 15px;
        margin-left: 10px;
        border: 2px solid var(--bg-surface, #fff);
        border-radius: 50px;
        font-weight: 500;
    }

.padlock {
    color: var(--text-on-dark, #fff);
    padding: 10px 15px;
    margin-left: 10px;
    border: 2px solid var(--bg-surface, #fff);
    border-radius: 50px;
    font-weight: 500;
}

.telephone {
    color: var(--text-on-dark, #fff);
    padding: 10px 15px;
    margin-left: 0;
    margin-right: 0;
    border: 2px solid var(--bg-surface, #fff);
    border-radius: 50px;
    font-weight: 500;
}

.mediacastlogocolour {
    display: none;
}

.mediacastlogowhite {
    display: inline;
}


header.masthead {
    padding-top: 10.5rem;
    padding-bottom: 6rem;
    text-align: center;
    color: var(--text-on-dark, #fff);
    background-image: url("../assets/img/header-bg.jpg");
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: center center;
    background-size: cover;
}

    header.masthead .masthead-subheading {
        font-size: 1.5rem;
        font-style: italic;
        line-height: 1.5rem;
        margin-bottom: 25px;
        font-family: 'Outfit', sans-serif;
    }

    header.masthead .masthead-heading {
        font-size: 3.25rem;
        font-weight: 700;
        line-height: 3.25rem;
        margin-bottom: 2rem;
        font-family: 'Outfit', sans-serif;
    }

@media (min-width: 768px) {
    header.masthead {
        padding-top: 17rem;
        padding-bottom: 12.5rem;
    }

        header.masthead .masthead-subheading {
            font-size: 2.25rem;
            font-style: italic;
            line-height: 2.25rem;
            margin-bottom: 2rem;
        }

        header.masthead .masthead-heading {
            font-size: 4.5rem;
            font-weight: 700;
            line-height: 4.5rem;
            margin-bottom: 4rem;
        }
}

#portfolio .portfolio-item {
    max-width: 25rem;
    margin-left: auto;
    margin-right: auto;
}

    #portfolio .portfolio-item .portfolio-link {
        position: relative;
        display: block;
        margin: 0 auto;
    }

        #portfolio .portfolio-item .portfolio-link .portfolio-hover {
            display: flex;
            position: absolute;
            width: 100%;
            height: 100%;
            background: rgba(254, 209, 54, 0.9);
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity ease-in-out 0.25s;
        }

            #portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content {
                font-size: 1.25rem;
                color: var(--text-on-dark, #fff);
            }

        #portfolio .portfolio-item .portfolio-link:hover .portfolio-hover {
            opacity: 1;
        }

    #portfolio .portfolio-item .portfolio-caption {
        padding: 1.5rem;
        text-align: center;
        background-color: var(--bg-surface, #fff);
    }

        #portfolio .portfolio-item .portfolio-caption .portfolio-caption-heading {
            font-size: 1.5rem;
            font-family: 'Outfit', sans-serif;
            font-weight: 700;
            margin-bottom: 0;
        }

        #portfolio .portfolio-item .portfolio-caption .portfolio-caption-subheading {
            font-style: italic;
            font-family: 'Outfit', sans-serif;
        }

.portfolio-modal .modal-dialog {
    margin: 1rem;
    max-width: 100vw;
}

.portfolio-modal .modal-content {
    padding-top: 6rem;
    padding-bottom: 6rem;
    text-align: center;
}

    .portfolio-modal .modal-content h2 {
        font-size: 3rem;
        line-height: 3rem;
    }

    .portfolio-modal .modal-content p.item-intro {
        font-style: italic;
        margin-bottom: 2rem;
        font-family: 'Outfit', sans-serif;
    }

    .portfolio-modal .modal-content p {
        margin-bottom: 2rem;
    }

    .portfolio-modal .modal-content ul.list-inline {
        margin-bottom: 2rem;
    }

    .portfolio-modal .modal-content img {
        margin-bottom: 2rem;
    }

.portfolio-modal .close-modal {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    width: 3rem;
    height: 3rem;
    cursor: pointer;
    background-color: transparent;
}

    .portfolio-modal .close-modal:hover {
        opacity: 0.3;
    }

.timeline {
    position: relative;
    padding: 0;
    list-style: none;
}

    .timeline:before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 40px;
        width: 2px;
        margin-left: -1.5px;
        content: "";
        background-color: var(--brand-accent, #fdb913);
    }

    .timeline > li {
        position: relative;
        min-height: 50px;
        margin-bottom: 50px;
    }

        .timeline > li:after, .timeline > li:before {
            display: table;
            content: " ";
        }

        .timeline > li:after {
            clear: both;
        }

        .timeline > li .timeline-panel {
            position: relative;
            float: right;
            width: 100%;
            padding: 0 20px 0 100px;
            text-align: left;
        }

            .timeline > li .timeline-panel:before {
                right: auto;
                left: -15px;
                border-right-width: 15px;
                border-left-width: 0;
            }

            .timeline > li .timeline-panel:after {
                right: auto;
                left: -14px;
                border-right-width: 14px;
                border-left-width: 0;
            }

        .timeline > li .timeline-image {
            position: absolute;
            z-index: 100;
            left: 0;
            width: 80px;
            height: 80px;
            margin-left: 0;
            text-align: center;
            color: var(--text-on-dark, #fff);
            border: 7px solid var(--brand-accent, #fdb913);
            border-radius: 100%;
            background-color: var(--brand-accent, #fdb913);
        }

            .timeline > li .timeline-image h4 {
                font-size: 10px;
                line-height: 14px;
                margin-top: 12px;
            }

        .timeline > li.timeline-inverted > .timeline-panel {
            float: right;
            padding: 0 20px 0 100px;
            text-align: left;
        }

            .timeline > li.timeline-inverted > .timeline-panel:before {
                right: auto;
                left: -15px;
                border-right-width: 15px;
                border-left-width: 0;
            }

            .timeline > li.timeline-inverted > .timeline-panel:after {
                right: auto;
                left: -14px;
                border-right-width: 14px;
                border-left-width: 0;
            }

        .timeline > li:last-child {
            margin-bottom: 0;
        }

    .timeline .timeline-heading h4 {
        margin-top: 0;
        color: inherit;
    }

        .timeline .timeline-heading h4.subheading {
            text-transform: none;
        }

    .timeline .timeline-body > ul,
    .timeline .timeline-body > p {
        margin-bottom: 0;
    }

@media (min-width: 768px) {
    .timeline:before {
        left: 50%;
    }

    .timeline > li {
        min-height: 100px;
        margin-bottom: 100px;
    }

        .timeline > li .timeline-panel {
            float: left;
            width: 41%;
            padding: 0 20px 20px 30px;
            text-align: right;
        }

        .timeline > li .timeline-image {
            left: 50%;
            width: 100px;
            height: 100px;
            margin-left: -50px;
        }

            .timeline > li .timeline-image h4 {
                font-size: 13px;
                line-height: 18px;
                margin-top: 16px;
            }

        .timeline > li.timeline-inverted > .timeline-panel {
            float: right;
            padding: 0 30px 20px 20px;
            text-align: left;
        }
}

@media (min-width: 992px) {
    .timeline > li {
        min-height: 150px;
    }

        .timeline > li .timeline-panel {
            padding: 0 20px 20px;
        }

        .timeline > li .timeline-image {
            width: 150px;
            height: 150px;
            margin-left: -75px;
        }

            .timeline > li .timeline-image h4 {
                font-size: 18px;
                line-height: 26px;
                margin-top: 30px;
            }

        .timeline > li.timeline-inverted > .timeline-panel {
            padding: 0 20px 20px;
        }
}

@media (min-width: 1200px) {
    .timeline > li {
        min-height: 170px;
    }

        .timeline > li .timeline-panel {
            padding: 0 20px 20px 100px;
        }

        .timeline > li .timeline-image {
            width: 170px;
            height: 170px;
            margin-left: -85px;
        }

            .timeline > li .timeline-image h4 {
                margin-top: 40px;
            }

        .timeline > li.timeline-inverted > .timeline-panel {
            padding: 0 100px 20px 20px;
        }
}



section#contact {
    background-color: var(--text-primary, #212529);
    background-image: url("../assets/img/map-image.png");
    background-repeat: no-repeat;
    background-position: center;
}

    section#contact .section-heading {
        color: var(--text-on-dark, #fff);
    }

    section#contact form#contactForm .form-group {
        margin-bottom: 1.5rem;
    }

        section#contact form#contactForm .form-group input,
        section#contact form#contactForm .form-group textarea {
            padding: 1.25rem;
        }

            section#contact form#contactForm .form-group input.form-control {
                height: auto;
            }

    section#contact form#contactForm .form-group-textarea {
        height: 100%;
    }

        section#contact form#contactForm .form-group-textarea textarea {
            height: 100%;
            min-height: 10rem;
        }

    section#contact form#contactForm p.help-block {
        margin: 0;
    }

    section#contact form#contactForm .form-control:focus {
        border-color: var(--brand-accent, #fdb913);
        box-shadow: none;
    }

    section#contact form#contactForm ::-webkit-input-placeholder {
        font-family: 'Outfit', sans-serif;
        font-weight: 700;
        color: var(--border-strong, #ced4da);
    }

    section#contact form#contactForm :-moz-placeholder {
        font-family: 'Outfit', sans-serif;
        font-weight: 700;
        color: var(--border-strong, #ced4da);
    }

    section#contact form#contactForm ::-moz-placeholder {
        font-family: 'Outfit', sans-serif;
        font-weight: 700;
        color: var(--border-strong, #ced4da);
    }

    section#contact form#contactForm :-ms-input-placeholder {
        font-family: 'Outfit', sans-serif;
        font-weight: 700;
        color: var(--border-strong, #ced4da);
    }

.footer {
    text-align: center;
    font-size: 0.9rem;
    font-family: 'Outfit', sans-serif;
}
.navbar-toggler {
    border: none;
    background: transparent !important;
}

    .navbar-toggler:focus {
        outline: none;
        background: transparent !important;
    }

    .navbar-toggler .icon-bar {
        background-color: #fdb913;
        transform: rotate(0deg) translate(0px, 0px);
        transition: ease all .2s;
    }

    .navbar-toggler .icon-bar {
        display: block;
        width: 22px;
        height: 2px;
        border-radius: 1px;
    }

        .navbar-toggler .icon-bar + .icon-bar {
            margin-top: 4px;
        }

.icon-bar:nth-child(2) {
    width: 16px;
    transition: ease all .2s;
}

.navbar-toggler:hover > .icon-bar:nth-child(2) {
    width: 22px;
    transition: ease all .2s;
}

.navbar-toggler:active > .icon-bar:nth-child(2) {
    width: 22px;
    transition: ease all .2s;
}

.navbar-toggler:not(.collapsed) .icon-bar:nth-child(1) {
    transform: rotate(45deg) translate(5px, 4px);
    transition: ease all .2s;
}

.navbar-toggler:not(.collapsed) .icon-bar:nth-child(2) {
    opacity: 0;
    transition: ease all .2s;
}

.navbar-toggler:not(.collapsed) .icon-bar:nth-child(3) {
    transform: rotate(-45deg) translate(4px, -4px);
    transition: ease all .2s;
}

.sec-accent {
    background-color: var(--bg-subtle, #fafcf5);
}

.blue {
    background-color: var(--accent-purple, #9999cc);
}

/* Bootstrap 5 utility backports for Bootstrap 4 --
   gap, me/ms (margin-end/start), pe/ps (padding-end/start), d-grid.
   These are used in 400+ places across the codebase. */
.gap-1 { gap: 0.25rem !important; }
.gap-2 { gap: 0.5rem !important; }
.gap-3 { gap: 1rem !important; }
.gap-4 { gap: 1.5rem !important; }
.gap-5 { gap: 3rem !important; }
.me-1 { margin-right: 0.25rem !important; }
.me-2 { margin-right: 0.5rem !important; }
.me-3 { margin-right: 1rem !important; }
.me-4 { margin-right: 1.5rem !important; }
.me-5 { margin-right: 3rem !important; }
.ms-1 { margin-left: 0.25rem !important; }
.ms-2 { margin-left: 0.5rem !important; }
.ms-3 { margin-left: 1rem !important; }
.ms-4 { margin-left: 1.5rem !important; }
.ms-5 { margin-left: 3rem !important; }
.ms-auto { margin-left: auto !important; }
.me-auto { margin-right: auto !important; }
.pe-1 { padding-right: 0.25rem !important; }
.pe-2 { padding-right: 0.5rem !important; }
.pe-3 { padding-right: 1rem !important; }
.ps-1 { padding-left: 0.25rem !important; }
.ps-2 { padding-left: 0.5rem !important; }
.ps-3 { padding-left: 1rem !important; }
.d-grid { display: grid !important; }

/* Bootstrap 3 had .btn + .btn { margin-left: 5px } which BS4 dropped.
   Restores automatic spacing between adjacent sibling buttons site-wide.
   btn-group is unaffected (higher specificity margin-left: -1px wins). */
.btn + .btn { margin-left: 0.5rem; }
/* Safety: flex containers with gap handle their own spacing */
.d-flex > .btn + .btn { margin-left: 0; }

.badge {
    margin-left: 1px;
}

    .bg-secondary {
    color: var(--text-on-dark, #fff) !important;
}
.bg-danger {
    color: var(--text-on-dark, #fff) !important;
}
.scrollable-body {
    display: block; /* allow height and overflow to take effect */
    max-height: 600px; /* pick whatever fixed or max-height you need */
    overflow-y: auto; /* vertical scrollbar only when needed */
    overflow-x: auto; /* prevent a horizontal scrollbar */
}

.badge{
    font-size:100% !important;
}

/* Soft Badge Pattern - Use these instead of solid bg-* badges */
.badge-soft-success {
    background-color: var(--status-success-bg, #d4edda) !important;
    color: var(--status-success-text, #155724) !important;
    border: 1px solid var(--status-success-border, #c3e6cb);
    border-radius: 12px;
    padding: 0.35em 0.75em;
}

.badge-soft-danger {
    background-color: var(--status-danger-bg, #f8d7da) !important;
    color: var(--status-danger-text, #721c24) !important;
    border: 1px solid var(--status-danger-border, #f5c6cb);
    border-radius: 12px;
    padding: 0.35em 0.75em;
}

.badge-soft-warning {
    background-color: var(--status-warning-bg, #fff3cd) !important;
    color: var(--status-warning-text, #856404) !important;
    border: 1px solid var(--status-warning-border, #ffeeba);
    border-radius: 12px;
    padding: 0.35em 0.75em;
}

.badge-soft-info {
    background-color: var(--status-info-bg, #d1ecf1) !important;
    color: var(--status-info-text, #0c5460) !important;
    border: 1px solid var(--status-info-border, #bee5eb);
    border-radius: 12px;
    padding: 0.35em 0.75em;
}

.badge-soft-secondary {
    background-color: var(--bg-muted, #e9ecef) !important;
    color: var(--text-primary, #333) !important;
    border: 1px solid var(--border-default, #dee2e6);
    border-radius: 12px;
    padding: 0.35em 0.75em;
}

/* ============================================================
   Status pill + entity chip -- the two badge primitives.
   Status pill = semantic state of a row (CONFIRMED / POSITIVE /
   OVERDUE ...). Uppercase, fully rounded, light-bg + dark-text.
   Always right-aligned in the row's first line.
   Entity chip = a quiet label (outlet name, +N more). Sentence
   case, squarish, purple tint, optional leading icon. Rides
   inline with its text. Deliberately NOT a pill so the two read
   as different things. Neither uses the Bootstrap .badge class
   (avoids .badge { font-size:100% !important }).
   ============================================================ */
.bh-status-pill {
    display: inline-block;
    flex-shrink: 0;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}
.bh-status-pill i { margin-right: 0.3rem; }
.bh-status-pill.ok     { background: var(--status-success-bg, #d4edda); color: var(--status-success-text, #155724); }
.bh-status-pill.warn   { background: var(--status-warning-bg, #fff3cd); color: var(--status-warning-text, #856404); }
.bh-status-pill.info   { background: var(--status-info-bg, #cce5ff);    color: var(--status-info-text, #004085); }
.bh-status-pill.danger { background: var(--status-danger-bg, #f8d7da);  color: var(--status-danger-text, #721c24); }
.bh-status-pill.muted  { background: var(--bg-muted, #e2e3e5);          color: var(--text-primary, #383d41); }

.bh-entity-chip {
    display: inline-block;
    vertical-align: middle;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 400;
    margin-left: 6px;
    background: var(--bg-purple-tint, #f0e6f7);
    color: var(--brand-primary, #3d1a6f);
}
.bh-entity-chip.help { cursor: help; }
.bh-entity-chip i { margin-right: 0.3rem; }
.bh-entity-chip.neutral    { background: var(--bg-subtle, #f8f9fa); color: var(--text-secondary, #666); }
.bh-entity-chip.standalone { margin-left: 0; margin-top: 4px; }
.bh-entity-chip .chip-count {
    font-size: 0.7rem;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    padding: 1px 4px;
    border-radius: 3px;
    margin-left: 4px;
}

/* =============================================================================
   BH GOLD HEADER -- Standard gold/cream gradient header class.
   USE THIS CLASS for all new gold-tinted section/card headers.
   Legacy selectors are mapped below for backwards compatibility.
   Dark mode override is in theme-tokens.css.
   ============================================================================= */
.bh-gold-header,
.profile-card-header.yellow,
.card-header,
.info-section-card h4,
.qa-card-header,
.portal-card-header,
.portal-section-header,
.media-release-questions,
.coverage-panel-header,
.survey-import-zone,
.survey-table th,
.agreement-card-header,
.report-link-card,
.calendar-options-header,
.crm-top-contacts-header,
.crm-section-header,
.crm-modal-header,
.group-members-header,
.group-members-panel table thead th,
.table-blocked-emails th,
.table-condensed > tbody > tr > th,
.key-messages-modal .modal-header,
.edm-groups-header,
.ji-country-pack,
.branding-logo-card-header,
.branding-crop-header,
.sp-tips-card-header,
.brand-header-card,
.form-card h3, .form-card h4, .form-card .form-header,
.storybuilder-form h3, .storybuilder-form h4,
.sub-brand-expandable.expanded .sub-brand-header-row,
.crm-contact-card .card-header,
.slideout-body .qa-card-header,
.modal-body .input-group .input-group-text,
.form-view-modern .input-group .input-group-text {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
}

@keyframes homeswooshIn {
    0% {
        transform: translateY(50px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.homeswoosh-panel {
    opacity: 0;
    animation: homeswooshIn 0.8s ease forwards;
}


.inactive-group-row {
    color: var(--text-secondary, #666);
}

.emailfieldpicker {
    margin-bottom: .2rem;
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 8px;
    background: var(--bg-subtle, #fafafa);
    padding: 10px 12px;
    box-shadow: 0 1px 4px rgba(61, 26, 111, 0.04);
}

.nwcontentcard {
    cursor: move;
    padding-top: 1rem;
}

.talentcontentcontainer {
    padding-bottom: 5rem;
}

/* ============================================================================
   Global "pulled by the collar" drag effect for all jQuery UI Sortables.
   The dragged item lifts and tilts slightly under the cursor (pivoting from
   its top centre, so the body of the item hangs from the drag point). The
   empty slot left behind shows a dashed outline at the same size. Items
   rearranging around the dragged one slide smoothly into place.
   filter:drop-shadow (not box-shadow) so the shadow follows the visible
   shape of the dragged content, not the wrapper's transparent padding.
   Page-level rules can layer on top of this (see CampaignBuilder talent
   card grip-pill pop + banner inset shadow). */
.ui-sortable-helper {
    transform: rotate(-1.5deg) scale(1.02);
    transform-origin: 50% 0;
    filter: drop-shadow(0 18px 40px rgba(61, 26, 111, 0.35));
    transition: transform 0.12s ease, filter 0.12s ease;
    z-index: 1000;
}
.ui-sortable-placeholder {
    visibility: visible !important;
    background: rgba(61, 26, 111, 0.04);
    border: 2px dashed rgba(61, 26, 111, 0.30);
    border-radius: 8px;
    box-sizing: border-box;
    transition: background 0.15s ease;
}
.ui-sortable .ui-sortable-helper * { cursor: grabbing !important; }

/* SortableJS hooks (sales-pipeline kanban et al). SortableJS lets you name the classes via
   ghostClass / chosenClass / dragClass options; defaults are sortable-ghost / sortable-chosen /
   sortable-drag and that's what sales-pipeline.js uses. `.sortable-drag` is the floating clone
   that follows the cursor -- that's where the collar tilt + lift visually lives. */
.sortable-drag {
    transform: rotate(-1.5deg) scale(1.02) !important;
    transform-origin: 50% 0 !important;
    filter: drop-shadow(0 18px 40px rgba(61, 26, 111, 0.35)) !important;
    z-index: 1000 !important;
}
.sortable-ghost {
    background: rgba(61, 26, 111, 0.04) !important;
    border: 2px dashed rgba(61, 26, 111, 0.30) !important;
    border-radius: 8px !important;
    opacity: 1 !important;
}
.sortable-chosen { cursor: grabbing !important; }

/* HTML5 native drag (Default.aspx kanban, NewsWireCard file list). The floating "drag image"
   the browser shows is a raster snapshot taken at dragstart, so CSS on the source can't tilt
   that image. To fix this we use `event.dataTransfer.setDragImage(clone)` with a styled clone
   element marked `.bh-drag-clone` -- styled HERE so every native-drag caller gets the same
   collar look without re-implementing the visual. */
.bh-drag-clone {
    transform: rotate(-2deg) scale(1.02);
    transform-origin: 50% 0;
    filter: drop-shadow(0 18px 40px rgba(61, 26, 111, 0.40));
    pointer-events: none;
    background: var(--bg-surface, #fff);
    border-radius: 8px;
}


.nwactionscard{
    margin-top: 1rem;
}
.salesitemcard {
    cursor: move;
    padding-top: 1rem;
    min-height: 8rem !important;
}
.surveyquestioncard {
    cursor: move;
    padding-top: .4rem;
}
.changelogoSA {
    top: -30px;
    text-shadow: 0px 0px 0px white;
}
.wraplong {
    max-width: 200px;
    overflow: auto;
}
.pop-image {
    width: 100%; /* Adjust width as needed */
    max-width: 300px;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Smooth transition for effects */
    border: 1px solid #333; /* Solid border, you can choose any color */
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2); /* Enhances shadow on hover for 3D effect */
    cursor: pointer; /* Changes the cursor to indicate interactivity */
}

    .pop-image:hover {
        transform: scale(1.05); /* Slightly enlarges the image on hover */
    }


.tab-space {
    margin-left: 40px; /* You can adjust the space to suit your layout */
}
.video-responsive {
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    height: 0;
}

    .video-responsive iframe {
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
        position: absolute;
    }

/* Move down content because we have a fixed navbar that is 50px tall */
.nav-tabs {
    margin-left: 2em;
}

/* Canonical CampaignBuilder pane chrome -- SSOT for top gutter + width on every
   main tab. Every pane feels the same width and the same gap to the first card,
   regardless of whether its inner wrapper is .container, .container-fluid, or
   nothing at all. Max-width breakpoints mirror .container's BUZZHub responsive
   overrides (BUZZHub.css ~2734-2762) -- caps at 1340-2100px so ultrawide screens
   don't get the skewed full-bleed look that .container-fluid produces.
   Do not reintroduce per-pane mt-3 / mt-2 / padding-top:0 / .container-fluid
   expecting full-bleed -- they will be overridden. */
#myTabs + .tab-content > .tab-pane {
    padding-top: 1rem;
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 576px)  { #myTabs + .tab-content > .tab-pane { max-width: 540px; } }
@media (min-width: 768px)  { #myTabs + .tab-content > .tab-pane { max-width: 720px; } }
@media (min-width: 992px)  { #myTabs + .tab-content > .tab-pane { max-width: 960px; } }
@media (min-width: 1200px) { #myTabs + .tab-content > .tab-pane { max-width: 1140px; } }
@media (min-width: 1400px) { #myTabs + .tab-content > .tab-pane { max-width: 1340px; } }
@media (min-width: 1500px) { #myTabs + .tab-content > .tab-pane { max-width: 1470px; } }
@media (min-width: 1700px) { #myTabs + .tab-content > .tab-pane { max-width: 1640px; } }
@media (min-width: 1920px) { #myTabs + .tab-content > .tab-pane { max-width: 1840px; } }
@media (min-width: 2200px) { #myTabs + .tab-content > .tab-pane { max-width: 2100px; } }

.sub-content {
    border-left: 1px var(--brand-primary, #3d1a6f) solid;
    border-top: 0px !important;
    min-height: 75vh;
    padding-left: 5px;
}

.sub-content > .tab-pane {
    padding-top: 1em !important;
    padding-left: 0.5em;
    padding-right: 0.5em;
}

/* Section title banner: neutral slate fill + gold left-accent. Class name `.yellow`
   is legacy; visual treatment moved from gold-fill to slate-tint 2026-05-12 so the
   chrome doesn't drown the data on multi-section dashboards. Gold reserved as accent. */
.sub-content .profile-card-header.yellow,
.smallside .profile-card-header.yellow {
    background: linear-gradient(135deg, var(--bg-slate-tint, #f1f0f4) 0%, var(--bg-slate-tint-2, #f8f7fa) 100%) !important;
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 0 10px 10px 0 !important;
    padding: clamp(0.4rem, 0.6vw + 0.25rem, 0.625rem) clamp(0.75rem, 1vw + 0.5rem, 1rem);
    margin-bottom: 1rem;
    gap: 0.625rem;
}
.sub-content .profile-card-header.yellow h4,
.smallside .profile-card-header.yellow h4 {
    font-size: clamp(0.95rem, 0.3vw + 0.85rem, 1.05rem);
    margin: 0;
    color: var(--brand-primary, #3d1a6f);
}
/* Headers inside profile-cards get top-only radius to connect with card body */
.sub-content .profile-card .profile-card-header.yellow {
    border-radius: 0 12px 0 0 !important;
    padding: clamp(0.4rem, 0.6vw + 0.25rem, 0.625rem) clamp(0.75rem, 1vw + 0.5rem, 1rem);
    margin-bottom: 0;
}
.sub-content .profile-card .profile-card-header.yellow h4 {
    font-size: clamp(0.95rem, 0.3vw + 0.85rem, 1.05rem);
    margin: 0;
}

@media screen and (max-width: 480px) {
    .nav-tabs > li {
        float: none;
    }
}
/* for tabs
   Tabs use gap for spacing - no border doubling possible since tabs don't touch.
   nav-item is display:flex so the nav-link fills full height (fixes badge alignment). */
.nav-tabs {
    border-bottom: none;
    gap: 0 1px;
}

.nav-tabs .nav-item {
    margin-bottom: -1px !important;
    display: flex;
}

.nav-tabs .nav-link {
    color: var(--brand-primary, #3d1a6f);
    background-color: var(--bg-surface, #fff);
    border: 1px solid var(--brand-primary, #3d1a6f) !important;
    position: relative;
    display: flex;
    align-items: center;
    flex: 1;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    background-color: var(--brand-accent, #fdb913) !important;
    color: black !important;
    font-weight: 500;
    border-color: var(--brand-primary, #3d1a6f) !important;
    border-bottom-color: var(--brand-accent, #fdb913) !important;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    border-color: var(--brand-primary, #3d1a6f) !important;
}

.nav-tabs .nav-link.active:hover,
.nav-tabs .nav-link.active:focus {
    border-color: var(--brand-primary, #3d1a6f) !important;
    border-bottom-color: var(--brand-accent, #fdb913) !important;
}

/* Step number circles for wizard-style tab navigation */
.nav-tabs .step-num {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    font-size: 0.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    margin-right: 6px;
    flex-shrink: 0;
}
.nav-tabs .nav-link.active .step-num {
    background: var(--brand-primary, #3d1a6f);
}
.nav-tabs .nav-link.step-completed .step-num {
    background: var(--status-success, #28a745);
}

/* bh-pill-nav SSOT lives in engagement-design-system.css section 2bb (DS 11a).
   This BUZZHub.css block previously duplicated it, which created !important conflicts
   that hid icons on the active state. Retired 2026-05-23. Do not re-add here. */

/* sub-content--horizontal: when bh-pill-nav owns the navigation, kill the legacy
   left border + padding that .sub-content adds for the vertical col-2 smallside rail.
   Also drop the 1em tab-pane padding-top so pills+content match the tight vertical
   rhythm of tabs without sub-pills (Brief, Media Releases). */
.sub-content.sub-content--horizontal { border-left: 0; padding-left: 0; min-height: 0; }
.sub-content.sub-content--horizontal > .tab-pane { padding-top: 0 !important; padding-left: 0; padding-right: 0; }

/* Horizontal Stepper - for progressive workflow pages (EmailPitching, CampaignBuilder) */
.ep-stepper {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 12px 12px 0 0;
    overflow-x: auto;
    gap: 0;
    border-bottom: 2px solid var(--brand-primary, #3d1a6f);
}
.ep-step {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    padding: 0.4rem 0.6rem;
    border-radius: 8px;
    transition: background 0.2s;
    white-space: nowrap;
    position: relative;
}
.ep-step:hover { background: var(--bg-purple-tint, #f8f5ff); }
.ep-step.active { background: var(--bg-purple-tint, #f5f0ff); }
.ep-step.active .ep-step-label { color: var(--brand-primary, #3d1a6f); font-weight: 600; }
.ep-step.disabled { opacity: 0.4; pointer-events: none; }
.ep-step-num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 700;
    flex-shrink: 0;
    background: var(--bg-purple-tint, #e0d4f0);
    color: var(--brand-primary, #3d1a6f);
    transition: all 0.2s;
}
.ep-step.active .ep-step-num { background: var(--brand-primary, #3d1a6f); color: var(--text-on-dark, #fff); }
.ep-step.completed .ep-step-num { background: var(--status-success, #28a745); color: var(--text-on-dark, #fff); }
.ep-step-label { font-size: 0.78rem; color: var(--text-tertiary, #888); transition: color 0.2s; }
.ep-step.completed .ep-step-label { color: var(--status-success, #28a745); }
.ep-step-connector {
    width: 20px;
    height: 2px;
    background: var(--bg-purple-tint, #e0d4f0);
    flex-shrink: 0;
}
.ep-step.completed + .ep-step-connector { background: var(--status-success, #28a745); }
.ep-stepper-progress {
    height: 3px;
    background: var(--bg-purple-tint, #e0d4f0);
}
.ep-stepper-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #28a745, #3d1a6f);
    transition: width 0.3s;
    width: 0%;
}
@media (max-width: 990px) {
    .ep-stepper { flex-wrap: wrap; gap: 4px; padding: 0.5rem; }
    .ep-step-connector { display: none; }
    .ep-step { padding: 0.3rem 0.5rem; }
    .ep-step-label { font-size: 0.7rem; }
}

/* ===== COMPOSE CARD - unified editor + preview ===== */
.compose-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 2rem;
    box-shadow: 0 2px 8px rgba(61, 26, 111, 0.06);
}
.compose-card-header {
    border-radius: 0 !important;
    margin-bottom: 0 !important;
}

/* Editor body */
.compose-editor-body {
    padding: 15px 20px;
}
/* Make field picker and RTE stretch to equal height */
.ep-editor-row {
    display: flex;
    align-items: stretch;
}
.ep-editor-row .emailfieldpicker {
    display: flex;
    flex-direction: column;
}
.ep-editor-row .emailfieldpicker .field-picker-tree {
    flex: 1;
    overflow-y: auto;
}
.ep-editor-row .richtextwrapper {
    display: flex;
    flex-direction: column;
}
.ep-editor-row .richtextwrapper .rte-container,
.ep-editor-row .richtextwrapper textarea {
    flex: 1;
    min-height: 350px;
}

/* Editor footer */
.compose-editor-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    border-top: 1px solid var(--border-brand, #e0d4f0);
    background: linear-gradient(135deg, var(--bg-subtle, var(--bg-subtle, var(--bg-subtle, #fafafa))) 0%, var(--bg-purple-tint, var(--bg-purple-tint, #f5f3f8)) 100%);
}
.compose-editor-secondary {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Preview section now inside modal - minimal styling needed */

/* Compose footer */
.compose-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    border-top: 1px solid var(--border-brand, #e0d4f0);
    background: linear-gradient(135deg, var(--bg-subtle, var(--bg-subtle, var(--bg-subtle, #fafafa))) 0%, var(--bg-purple-tint, var(--bg-purple-tint, #f5f3f8)) 100%);
}
.compose-footer .ml-auto { margin-left: auto; }

@media (max-width: 768px) {
    .compose-editor-body { padding: 10px 12px; }
    .compose-editor-footer, .compose-footer {
        flex-direction: column;
        gap: 8px;
        align-items: stretch;
        padding: 12px;
    }
    /* compose-preview-section removed - preview is now a modal */
}

/* Autosave status indicator (EmailPitching compose card) */
.ep-autosave-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.7rem;
    font-weight: 400;
    margin-left: 12px;
    vertical-align: middle;
}
.ep-autosave-idle { color: var(--text-secondary, #666); }
.ep-autosave-saving { color: var(--brand-primary, #3d1a6f); }
.ep-autosave-saved { color: #198754; }
.ep-autosave-error { color: var(--status-danger, #dc3545); }
.ep-autosave-status i { font-size: 0.65rem; }

/* Preview is now a modal popup - no toggle mode CSS needed */

/* Merge token pills - unresolved placeholders in email preview */
.merge-token-pill {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    font-family: 'Outfit', sans-serif;
    background: var(--bg-purple-tint, #f5f0ff);
    color: var(--brand-primary, #3d1a6f);
    border: 1px solid var(--border-brand, #e0d4f0);
    white-space: nowrap;
    vertical-align: baseline;
}
.merge-token-pill i {
    font-size: 0.6rem;
    margin-right: 3px;
    color: var(--brand-accent, #fdb913);
}
/* Story-level tokens (will be replaced with release content at send time) */
.merge-token-pill.story-token {
    background: var(--status-warning-bg, #fff8e6);
    border-color: var(--brand-accent, #fdb913);
    color: var(--status-warning-text, #8a6d00);
}
/* Recipient tokens (personalised per journalist at send time) */
.merge-token-pill.recipient-token {
    background: #e8f5e9;
    border-color: #66bb6a;
    color: #2e7d32;
}

/* Subject line character counter */
.subject-char-counter {
    font-size: 0.7rem;
    text-align: right;
    padding: 2px 8px 0;
    color: var(--text-secondary, #666);
}
.subject-char-counter.warn { color: var(--brand-accent, #fdb913); font-weight: 600; }
.subject-char-counter.over { color: var(--status-danger, #dc3545); font-weight: 600; }

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    background-color: var(--bg-purple-tint, #f3edf9) !important;
    color: var(--brand-primary, #3d1a6f) !important;
    border: 1px solid var(--brand-primary, #3d1a6f) !important;
    font-weight: 600;
}

/* Vertical Nav Pills - Modern Style */
.nav.flex-column.nav-pills .nav-link {
    color: var(--text-secondary, #666);
    padding: 0.75rem 1.25rem;
    border-radius: 8px;
    margin-bottom: 0.5rem;
    transition: all 0.2s ease;
    font-weight: 500;
    border-left: 3px solid transparent;
}
.nav.flex-column.nav-pills .nav-link:hover {
    background: var(--bg-gold-tint, #fff5dc);
    color: var(--brand-primary, #3d1a6f);
    border-left-color: var(--brand-accent, #fdb913);
}
.nav.flex-column.nav-pills .nav-link.active {
    background: var(--bg-purple-tint, #f3edf9) !important;
    color: var(--brand-primary, #3d1a6f) !important;
    border-left-color: var(--brand-accent, #fdb913);
    font-weight: 600;
}


.makemiddle {
    text-align: center !important;
}
/* for preloader */
#preloader {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    text-align: center;
    color: var(--text-primary, #000);
}

    #preloader div {
        width: 30px;
        margin: auto;
        height: 30px;
        text-align: center;
        border: 4px solid #111;
        overflow: hidden;
        border: none;
        font-size: 12px;
    }

#preloader_image {
    position: relative;
    left: 0px;
    top: 0px;
    content: url('/images/loading.svg');
}

/*display fade screen when leaving or loading another link*/
#overlayleaving {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background: #000;
    opacity: 0.6;
    filter: alpha(opacity=60);
}

#leaving {
    width: 50px;
    height: 57px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -28px 0 0 -25px;
    z-index: 2000;
    content: url('/images/loading.svg');
}

.pdfblock {
    display: block;
    width: 100%;
    vertical-align: middle;
    background-color: var(--bg-muted, #eeeeee);
    border: 1px solid var(--border-strong, #ccc);
    padding: 5px 10px;
    font-size: 14px;
    line-height: 1.5;
    border-radius: 3px;
    color: black;
}

.invoicetotal {
    border-top: 1px solid black;
}

.invoicetotalbottom {
    border-bottom: 5px double black;
}

input[type=checkbox] {
    zoom: 1;
}

/* Reset zoom for Bootstrap form checkboxes - they handle their own sizing */
.form-check-input {
    zoom: 1;
}

.invoice {
    margin-bottom: 20px;
    background-color: var(--bg-surface, #fff);
    border: 1px solid transparent;
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

.gridviewboldlarge {
    font-size: 24px;
    font-weight: 500;
}

.gridnumberformat {
    text-align: right;
}

.invoice-body {
    padding: 15px;
    min-height:4cm;
}

    .invoice-body:before,
    .invoice-body:after {
        display: table;
        content: " ";
    }

    .invoice-body:after {
        clear: both;
    }

    .invoice-body:before,
    .invoice-body:after {
        display: table;
        content: " ";
    }

    .invoice-body:after {
        clear: both;
    }

.invoice > .list-group {
    margin-bottom: 0;
}

    .invoice > .list-group .list-group-item {
        border-width: 1px 0;
    }

        .invoice > .list-group .list-group-item:first-child {
            border-top-right-radius: 0;
            border-top-left-radius: 0;
        }

        .invoice > .list-group .list-group-item:last-child {
            border-bottom: 0;
        }

.invoice-heading + .list-group .list-group-item:first-child {
    border-top-width: 0;
}

.invoice > .table {
    margin-bottom: 0;
}

.invoice > .invoice-body + .table {
    border-top: 1px solid var(--brand-accent, #fdb913);
}

.invoice-heading {
    padding: 5px 7px;
    border-bottom: 1px solid transparent;
    border-top-right-radius: 3px;
    border-top-left-radius: 3px;
    font-size:11pt;
}

.invoice-title {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 16px;
}

    .invoice-title > a {
        color: inherit;
    }

.invoice-footer {
    padding: 5px 7px;
    background-color: var(--brand-primary, #3d1a6f);
    border-top: 1px solid black;
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
}

.invoice-group .invoice {
    margin-bottom: 0;
    overflow: hidden;
    border-radius: 4px;
}

    .invoice-group .invoice + .invoice {
        margin-top: 5px;
    }

.invoice-group .invoice-heading {
    border-bottom: 0;
}

    .invoice-group .invoice-heading + .invoice-collapse .invoice-body {
        border-top: 1px solid black;
    }

.invoice-group .invoice-footer {
    border-top: 0;
}

    .invoice-group .invoice-footer + .invoice-collapse .invoice-body {
        border-bottom: 1px solid black;
    }

.invoice-default {
    border-color: var(--border-strong, #ccc);
}

    .invoice-default > .invoice-heading {
        color: black;
        background-color: var(--bg-surface, #fff);
        border-color: var(--border-strong, #ccc);
    }

        .invoice-default > .invoice-heading + .invoice-collapse .invoice-body {
            border-top-color: black;
        }

    .invoice-default > .invoice-footer + .invoice-collapse .invoice-body {
        border-bottom-color: black;
    }

.invoice-primary {
    border-color: black;
}

    .invoice-primary > .invoice-heading {
        color: var(--text-on-dark, #fff);
        background-color: black;
        border-color: black;
    }

        .invoice-primary > .invoice-heading + .invoice-collapse .invoice-body {
            border-top-color: black;
        }

    .invoice-primary > .invoice-footer + .invoice-collapse .invoice-body {
        border-bottom-color: black;
    }

.invoice-success {
    border-color: black;
}

    .invoice-success > .invoice-heading {
        color: var(--text-on-dark, #fff);
        background-color: black;
        border-color: black;
    }

        .invoice-success > .invoice-heading + .invoice-collapse .invoice-body {
            border-top-color: black;
        }

    .invoice-success > .invoice-footer + .invoice-collapse .invoice-body {
        border-bottom-color: black;
    }

.invoice-warning {
    border-color: #fbeed5;
}

    .invoice-warning > .invoice-heading {
        color: #c09853;
        background-color: var(--bg-gold-tint, #fcf8e3);
        border-color: var(--brand-primary, #3d1a6f);
    }

        .invoice-warning > .invoice-heading + .invoice-collapse .invoice-body {
            border-top-color: var(--brand-primary, #3d1a6f);
        }

    .invoice-warning > .invoice-footer + .invoice-collapse .invoice-body {
        border-bottom-color: var(--brand-primary, #3d1a6f);
    }

.invoice-danger {
    border-color: var(--brand-primary, #3d1a6f);
}

    .invoice-danger > .invoice-heading {
        color: var(--status-danger-text, #b94a48);
        background-color: #f2dede;
        border-color: var(--brand-primary, #3d1a6f);
    }

        .invoice-danger > .invoice-heading + .invoice-collapse .invoice-body {
            border-top-color: var(--brand-primary, #3d1a6f);
        }

    .invoice-danger > .invoice-footer + .invoice-collapse .invoice-body {
        border-bottom-color: var(--brand-primary, #3d1a6f);
    }

.invoice-info {
    border-color: var(--brand-primary, #3d1a6f);
}

    .invoice-info > .invoice-heading {
        color: var(--brand-primary, #3d1a6f);
        background-color: var(--bg-surface, #fff);
        border-color: var(--border-strong, #ccc);
    }

        .invoice-info > .invoice-heading + .invoice-collapse .invoice-body {
            border-top-color: var(--border-strong, #ccc);
        }

    .invoice-info > .invoice-footer + .invoice-collapse .invoice-body {
        border-bottom-color: var(--border-strong, #ccc);
    }



    a:hover, a:focus {
        color: var(--text-body, rgba(0,0,0,0.65));
        text-decoration: none;
    }

/* update panel refresh screens*/
.overlay {
    height: 100% !important;
    /*background: url('/images/loading.svg') no-repeat 50% 50%;*/
    width: 100% !important;
    position: fixed;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    display: none;
    z-index: 10000001 !important;
    background-color: rgba(0,0,0,0.40);
}

.modalHighLevel {
    z-index: 10000002 !important;
}
/**/

.page-loader {
    position: absolute;
    content: url('/images/loading.svg');
    display: none;
    z-index: 10000001 !important;
    opacity: 1.0;
    left: 50vw !important;
    top: 20vh !important;
    width: 50px;
}

/* Global page loader - single centered overlay (December 2025) */
.page-loader-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--loader-overlay-bg, rgba(255, 255, 255, 0.7));
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000001;
}
.page-loader-spinner {
    width: 50px;
    height: 50px;
    background: url('/images/loading.svg') no-repeat center center;
    background-size: contain;
}

.mybox {
    background-color: var(--bg-danger-subtle, #faeeee);
    padding: 5px;
    border: 5px solid darkred;
    margin: 35px;
    -webkit-border-radius: 1px;
    -moz-border-radius: 5px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

/*master page notification and calendar styling*/
.nonotification {
    width: 0px;
    height: 0px;
    visibility: hidden;
}

.notifications {
    color: var(--text-on-dark, #fff);
    font-weight: 500;
    font-size: 12px;
    margin-left: -6px;
    font-family: 'Outfit', sans-serif;
    background: red;
    border-color: var(--text-on-dark, #fff);
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    border-bottom: solid 5px;
    border-left: solid 5px;
    border-right: solid 5px;
    border-top: solid 5px;
    border-width: 2px;
    width: 20px;
    height: 20px;
    text-align: center;
}
/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.blink_me {
    -webkit-animation-name: blinker;
    -webkit-animation-duration: 1s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-name: blinker;
    -moz-animation-duration: 1s;
    -moz-animation-timing-function: linear;
    -moz-animation-iteration-count: infinite;
    animation-name: blinker;
    animation-duration: 1s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.text-large {
    font-size: 20px;
}

.RRQuestion {
    font-weight: 500;
    color: darkkhaki;
    font-size: 20px;
}

.RRAnswer {
    font-weight: 500;
    color: darkkhaki;
    font-size: 20px;
}

@-moz-keyframes blinker {
    0% {
        opacity: 1.0;
    }

    50% {
        opacity: 0.0;
    }

    100% {
        opacity: 1.0;
    }
}

@-webkit-keyframes blinker {
    0% {
        opacity: 1.0;
    }

    50% {
        opacity: 0.0;
    }

    100% {
        opacity: 1.0;
    }
}

@keyframes blinker {
    0% {
        opacity: 1.0;
    }

    50% {
        opacity: 0.0;
    }

    100% {
        opacity: 1.0;
    }
}
/*working area*/

.body-content {
    flex: 1 0 auto;
    padding-top: 60px;
    padding-left: 15px;
    padding-right: 15px;
    color: var(--brand-primary, #3d1a6f);
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
    font-size: 14px;
}
.nwbody-content {
    /*padding-top: 90px;*/
    padding-left: 15px;
    padding-right: 15px;
    /*color: var(--brand-primary, #3d1a6f);*/
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
    font-size: 14px;
}
.color-gridheader {
    background-color: azure;
}

.hidden-gridcolumn {
    display: none;
}

input[type='checkbox']:hover {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}


.gvvgridhide {
    display: none;
    color: azure;
    background-color: blue;
}

.text-bold {
    font-weight: 500;
}

.text-total {
    border-bottom: double;
    border-top: solid 1px black;
}

.text-subtotal {
    border-top: solid 1px black;
}

/* =============================================================================
   Payments Received Modal
   ============================================================================= */
.payments-received-body {
    padding: 20px 15px 30px !important;
}

.payments-toolbar {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
}

.payments-summary {
    margin-top: 24px;
    max-width: 420px;
    margin-left: auto;
}

.payments-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 8px 0;
}

.payments-summary-label {
    font-weight: 600;
    color: var(--text-primary, #444);
    font-size: 0.9rem;
}

.payments-summary-value {
    font-weight: 600;
    color: var(--text-primary, #222);
    text-align: right;
    min-width: 120px;
    font-size: 0.95rem;
}

.payments-summary-row + .payments-summary-row {
    border-top: 1px solid #e8e8e8;
}

.payments-summary-outstanding {
    border-top: 2px solid var(--brand-primary, #3d1a6f) !important;
    margin-top: 4px;
    padding-top: 10px;
}

.payments-summary-outstanding .payments-summary-label {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 700;
}

.payments-summary-outstanding .payments-summary-value {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 700;
    font-size: 1.05rem;
    border-bottom: 3px double var(--brand-primary, #3d1a6f);
    padding-bottom: 2px;
}

.gvvdisplaynone {
    display: none;
}

.gvvdisplayinline {
    display: inline;
}
/* fix for the Ajax ComboBox issue*/
.WindowsStyle .ajax__combobox_itemlist {
    position: inherit !important;
}
/* change textbox to be white and borderless*/
.form-control[PDFFormat],
fieldset[disabled] .form-control {
    cursor: not-allowed;
    background-color: var(--bg-surface, #fff);
    border: none;
}

/* used to enable gridviews to wrap text when there is no spaces*/
.gvvgridwordwrap {
    word-wrap: break-word;
    max-width: 300px;
}
/* end wrap text for grdiview*/

/* testing for styling the ajax dropdown extender*/
.completionList {
    border: solid 1px Gray;
    margin: 0px;
    padding: 3px;
    height: 120px;
    overflow: auto;
    background-color: var(--bg-surface, #fff);
}

.listItem {
    color: #191919;
}

.itemHighlighted {
    background-color: #ADD6FF;
}
/* end ajax dropdown extender*/

/* used to control scheduling calendar*/
.normal {
    TEXT-ALIGN: center;
    background-color: #4d4d4d;
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
}

.normal2 {
    TEXT-ALIGN: center;
    background-color: #4d4d4d;
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
}

    .normal2 a {
        color: var(--text-on-dark, #fff);
    }

.activecal {
    background-color: var(--brand-accent, #fdb913) !important;
    border-color: var(--brand-accent, #fdb913) !important;
    color: black !important;
}

    .activecal a {
        color: black !important;
    }

    .heading {
        text-align: center;
        font-family: 'Outfit', sans-serif;
        font-weight: 400;
        font-size: 1.2em;
        text-transform: uppercase;
        color: var(--text-on-dark, #fff);
        background-color: var(--brand-accent, #fdb913);
        border-color: var(--brand-primary, #3d1a6f);
        -webkit-border-radius: 0px;
        -moz-border-radius: 0px;
        border-top: 0px;
        border-left: 0px;
        border-right: 0px;
        border-bottom: 0px;
    }

.empty {
    BACKGROUND-COLOR: rgb(246,248,249);
    border-left: 1px dotted grey;
    border-right: 1px dotted grey;
    border-top: 1px dotted grey;
    border-bottom: 1px dotted grey;
}

.datebar {
    text-align: center;
    vertical-align: top;
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
    font-size: 1em;
    color: black;
    background-color: rgb(246,248,249);
    border-color: rgba(152,190,222,1);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-top: 3px;
    border-left: 3px;
    border-right: 3px;
    border-bottom: 3px;
    width: 80px;
}

.gvv-fontsmall {
    font-size: xx-small;
}

/* ------------END used to control scheduling calendar*/

label.valid {
    width: 24px;
    height: 24px;
    background: url(/images/valid.png) center center no-repeat;
    display: inline-block;
    text-indent: -9999px;
}

label.error {
    font-weight: 500;
    color: red;
    padding: 2px 8px;
    margin-top: 2px;
}

/* Set widths on the form inputs since otherwise they're 100% wide */
input,
select,
textarea {
    max-width: 100%;
}

.textbox {
    text-align: center;
    padding: 0;
    border: 1px solid #cdcdcd;
    border-color: rgba(0,0,0,.15);
    background-color: var(--bg-muted, #f0f0f0);
}

    .textbox.edit {
        text-align: left;
        padding: 0;
        border: 1px solid #cdcdcd;
        border-color: rgba(0,0,0,.15);
        background-color: var(--bg-gold-tint, #fcf8e3);
    }

    .textbox.bold {
        text-align: left;
        padding: 0;
        border: 1px solid #cdcdcd;
        border-color: rgba(0,0,0,.15);
        background-color: var(--bg-gold-tint, #fcf8e3);
        font-weight: 500;
    }

    .textbox.left {
        text-align: left;
        padding: 0;
        border: 1px solid #cdcdcd;
        border-color: rgba(0,0,0,.15);
        background-color: var(--bg-muted, #f0f0f0);
        width: 80%;
    }

    .textbox.borderless {
        text-align: left;
        padding: 0;
        border: 0px;
        border-color: rgba(0,0,0,0);
        background-color: var(--bg-surface, #fff);
    }


@charset "utf-8";
/* CSS Document */
body {
    /*background-image: url(/images/background1.jpg);
background-repeat: no-repeat;
 background-position: center center;
 background-attachment: fixed;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;

        --------- main background colour and font weight --- working area
    */
    background: var(--bg-surface, #fff);
    text-align: left;
    color: black;
    font-weight: 400;
    min-height: 100%;
}

/* Sticky footer - pin footer to viewport bottom on short pages */
#aspform,
#form1 {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.footer {
    flex-shrink: 0;
}

.btn-xl {
    height: 200px;
    width: 100%;
    padding-top: 50px;
    padding-right: 1px;
    padding-left: 1px;
}

.maincontainer {
    color: #343136;
    min-height:70vh;
}

.maincolumn {
    color: var(--text-primary, #343136);
    padding-top: 2px;
    padding-left: 2px;
}

.tab-content {
    background-color: var(--bg-surface, #fff);
    border-top: 1px solid var(--brand-primary, #3d1a6f);
    /*min-height: 75vh;
     border-radius: 4px;
    -webkit-box-shadow: 2px 1px 8px 0px rgba(61, 26, 111, 0.5);
    box-shadow: 2px 1px 8px 0px rgba(61, 26, 111, 0.5);
    background: rgba(253,185,19, 0.1);
    border-top-right-radius: 25px;
    border-bottom-right-radius: 15px;
    border-bottom-left-radius: 15px;
    */
}
.subtab {
    background-color: var(--bg-surface, #fff);
    border: 1px solid transparent;
    border-radius: 0px;
    -webkit-box-shadow: 0px 0px 0px 0px ;
    box-shadow: 0px 0px 0px 0px;
    border-top-right-radius: 25px;
    border-bottom-right-radius: 15px;
    border-bottom-left-radius: 15px;
    min-height: 75vh;
}
.subtabpanel {
    padding-left: 0px;
    padding-right: 0px;
    border-left: 1px solid rgba(61, 26, 111, 0.5);
}
.tab-content-small {
    min-height:70% !important;
}
.tabborder {
    border-top: 1px solid var(--brand-primary, #3d1a6f);
    border-top-right-radius: 0px;
}

.softcorners {
    border-top-right-radius: 25px;
    border-bottom-right-radius: 15px;
    border-bottom-left-radius: 15px;
}

.panel-default > .panel-heading {
    background-color: var(--brand-danger, #ed174c);
    color: var(--text-on-dark, #fff);
    font-weight: 500;
    text-transform: capitalize;
}

.panel-title > a {
    /* background-color: #ed174c;
    color: var(--text-on-dark, #fff);*/
    font-weight: 500;
    text-transform: capitalize;
}

panel-title > a :hover {
    background-color: var(--brand-danger, #ed174c);
    color: var(--text-on-dark, #fff);
    font-weight: 500;
    text-transform: capitalize;
}

.table {
    margin-left: 5px;
    width: 99%;
}

/* Page Header (canonical) -- single standard across all Site.Master pages */
.page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 0 0 1.5rem 0;
    padding: 0;
}
.page-title {
    color: var(--page-title-color, #3d1a6f);
    font-weight: 600;
    font-size: 1.75rem;
    line-height: 1.2;
    margin: 0;
    display: inline-flex;
    align-items: center;
}
.page-title i {
    color: var(--page-title-color, #3d1a6f);
    margin-right: 0.5rem;
}
.page-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}
.page-subtitle {
    color: var(--text-muted, #6b6280);
    font-size: 0.95rem;
    margin: 0.25rem 0 0 0;
    width: 100%;
}
/* Two-tier title parts (inline on desktop, stacked on mobile when campaign present) */
.page-name, .page-campaign { color: inherit; }
.page-title-sep { margin: 0 0.35rem 0 0.1rem; opacity: 0.85; }
.page-campaign:empty,
.page-campaign:empty + .page-title-sep { display: none; }

@media (max-width: 768px) {
    .page-header { margin: 0 0 1rem 0; gap: 0.25rem; }
    .page-title {
        flex-wrap: wrap;
        align-items: baseline;
        font-size: 1.1rem;
        line-height: 1.25;
    }
    .page-title i {
        font-size: 0.95rem;
        margin-right: 0.4rem;
        align-self: center;
    }
    .page-title-sep { display: none; }
    /* Two-tier mode: campaign present -> .page-name becomes eyebrow above */
    .page-title:has(.page-campaign) .page-name {
        font-size: 0.7rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        opacity: 0.7;
        order: -1;
        flex: 1 0 100%;
        line-height: 1.2;
    }
    .page-campaign {
        font-size: 1.1rem;
        font-weight: 600;
        line-height: 1.25;
        word-break: break-word;
    }
    /* Single-tier mode: no campaign -> .page-name renders as normal title */
    .page-title:not(:has(.page-campaign)) .page-name {
        font-size: 1.1rem;
        font-weight: 600;
        line-height: 1.25;
    }
    .white-text { font-size: 1.1rem; }
}
/* Back-compat alias -- safety net for pages still using .white-text directly. Deprecated. */
.white-text {
    color: var(--page-title-color, #3d1a6f);
    font-weight: 600;
    font-size: 1.75rem;
    line-height: 1.2;
}

.clientlogo {
    background-color: var(--bg-surface, #fff);
    display:inline-block;
}

.row {
    margin-left: 0px;
    margin-right: 0px;
}
.table-mediapack {
    border: solid 1px var(--brand-magenta, #7d1d61) !important;
    border: none;
}

    .table-mediapack > tbody > tr:hover > td,
    .table-mediapack > tbody > tr:hover {
        background-color: var(--bg-surface, #fff) !important;
        color: black !important;
        border: none;
    }

    .table-mediapack th a {
        color: var(--text-on-dark, #fff) !important;
        text-decoration: none !important;
        font-weight: 500 !important;
        border: none;
    }

    .table-mediapack th {
        border: none;
    }

    .table-mediapack > thead > tr > th,
    .table-mediapack > tbody > tr > th,
    .table-mediapack > tfoot > tr > th,
    .table-mediapack > thead > tr > td,
    .table-mediapack > tbody > tr > td,
    .table-mediapack > tfoot > tr > td {
        border: 1px solid white !important;
        border-top-color: rgb(255, 255, 255);
        border-style: none;
        border-top: 1px solid white !important;
        border-right-color: rgb(255, 255, 255);
        border-right-style: solid;
        border-right-width: 1px;
        border-bottom-color: rgb(255, 255, 255);
        border-bottom-style: solid;
        border-bottom-width: 1px;
        border-left-color: rgb(255, 255, 255);
        border-left-style: solid;
        border-left-width: 1px;
        border-image-source: initial;
        border-image-slice: initial;
        border-image-width: initial;
        border-image-outset: initial;
        border-image-repeat: initial;
        border: none;
    }

    .table-mediapack thead > tr > th, .table tbody > tr > th, .table tfoot > tr > th, .table thead > tr > td, .table tbody > tr > td, .table tfoot > tr > td {
        border-top: 1px solid white !important;
    }

.table-whiteborder {
    border: solid 1px var(--brand-magenta, #7d1d61) !important;
}

    .table-whiteborder > tbody > tr:hover > td,
    .table-whiteborder > tbody > tr:hover {
        background-color: var(--bg-surface, #fff) !important;
        color: black !important;
    }

    .table-whiteborder th a {
        color: var(--text-on-dark, #fff) !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }

    .table-whiteborder th {
        background-color: var(--bg-surface, #fff) !important;
        color: var(--text-on-dark, #fff) !important;
    }

    .table-whiteborder > thead > tr > th,
    .table-whiteborder > tbody > tr > th,
    .table-whiteborder > tfoot > tr > th,
    .table-whiteborder > thead > tr > td,
    .table-whiteborder > tbody > tr > td,
    .table-whiteborder > tfoot > tr > td {
        border: 1px solid white !important;
        border-top-color: rgb(255, 255, 255);
        border-top-style: solid;
        border-top-width: 1px;
        border-right-color: rgb(255, 255, 255);
        border-right-style: solid;
        border-right-width: 1px;
        border-bottom-color: rgb(255, 255, 255);
        border-bottom-style: solid;
        border-bottom-width: 1px;
        border-left-color: rgb(255, 255, 255);
        border-left-style: solid;
        border-left-width: 1px;
        border-image-source: initial;
        border-image-slice: initial;
        border-image-width: initial;
        border-image-outset: initial;
        border-image-repeat: initial;
    }


.table-clearborder {
    border: 0px !important;
}

    .table-clearborder > tbody > tr:hover > td,
    .table-clearborder > tbody > tr:hover {
        background-color: transparent !important;
        color: black !important;
    }

    .table-clearborder th a {
        color: transparent !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }

    .table-clearborder th {
        background-color: transparent !important;
        color: transparent !important;
    }

    .table-clearborder > thead > tr > th,
    .table-clearborder > tbody > tr > th,
    .table-clearborder > tfoot > tr > th,
    .table-clearborder > thead > tr > td,
    .table-clearborder > tbody > tr > td,
    .table-clearborder > tfoot > tr > td {
        border: 0px !important;
        background-color: transparent !important;
        color: black !important;
    }


.table-offwhiteborder {
    border: solid 1px var(--border-light, #f5f5f5) !important;
}

    .table-offwhiteborder > tbody > tr:hover > td,
    .table-offwhiteborder > tbody > tr:hover {
        background-color: unset !important;
        color: black !important;
    }

    .table-offwhiteborder th a {
        color: #f5f5f5 !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }

    .table-offwhiteborder th {
        background-color: var(--bg-page, #f5f5f5) !important;
        color: #f5f5f5 !important;
    }

    .table-offwhiteborder > thead > tr > th,
    .table-offwhiteborder > tbody > tr > th,
    .table-offwhiteborder > tfoot > tr > th,
    .table-offwhiteborder > thead > tr > td,
    .table-offwhiteborder > tbody > tr > td,
    .table-offwhiteborder > tfoot > tr > td {
        border: 1px solid var(--border-light, #f5f5f5) !important;
        border-top-color: var(--border-light, #f5f5f5);
        border-top-style: solid;
        border-top-width: 1px;
        border-right-color: var(--border-light, #f5f5f5);
        border-right-style: solid;
        border-right-width: 1px;
        border-bottom-color: var(--border-light, #f5f5f5);
        border-bottom-style: solid;
        border-bottom-width: 1px;
        border-left-color: var(--border-light, #f5f5f5);
        border-left-style: solid;
        border-left-width: 1px;
        border-image-source: initial;
        border-image-slice: initial;
        border-image-width: initial;
        border-image-outset: initial;
        border-image-repeat: initial;
        border-top: 1px solid var(--border-light, #f5f5f5) !important;
    }


.table-lightpurple {
    border: solid 1px var(--brand-magenta, #7d1d61) !important;
}

    .table-lightpurple > tbody > tr:hover > td,
    .table-lightpurple > tbody > tr:hover {
        background-color: unset !important;
        color: black !important;
    }

    .table-lightpurple th a {
        color: var(--text-on-dark, #fff) !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }

    .table-lightpurple th {
        background-color: var(--brand-magenta, #7d1d61) !important;
        color: var(--text-on-dark, #fff) !important;
    }

    .table-lightpurple > thead > tr > th,
    .table-lightpurple > tbody > tr > th,
    .table-lightpurple > tfoot > tr > th,
    .table-lightpurple > thead > tr > td,
    .table-lightpurple > tbody > tr > td,
    .table-lightpurple > tfoot > tr > td {
        border: 1px solid var(--brand-magenta, #7d1d61) !important;
        border-top-color: var(--brand-magenta, #7d1d61);
        border-top-style: solid;
        border-top-width: 1px;
        border-right-color: var(--brand-magenta, #7d1d61);
        border-right-style: solid;
        border-right-width: 1px;
        border-bottom-color: var(--brand-magenta, #7d1d61);
        border-bottom-style: solid;
        border-bottom-width: 1px;
        border-left-color: var(--brand-magenta, #7d1d61);
        border-left-style: solid;
        border-left-width: 1px;
        border-image-source: initial;
        border-image-slice: initial;
        border-image-width: initial;
        border-image-outset: initial;
        border-image-repeat: initial;
        border-top: 1px solid var(--brand-magenta, #7d1d61) !important;
    }


.table-red {
    border: solid 1px var(--brand-danger, #ed174c) !important;
}

    .table-red > tbody > tr:hover > td,
    .table-red > tbody > tr:hover {
        background-color: unset !important;
        color: var(--text-on-dark, #fff) !important;
    }

    .table-red th a {
        color: var(--text-on-dark, #fff) !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }

    .table-red th {
        background-color: var(--brand-danger, #ed174c) !important;
        color: var(--text-on-dark, #fff) !important;
    }

    .table-red > thead > tr > th,
    .table-red > tbody > tr > th,
    .table-red > tfoot > tr > th,
    .table-red > thead > tr > td,
    .table-red > tbody > tr > td,
    .table-red > tfoot > tr > td {
        border: 1px solid var(--brand-danger, #ed174c) !important;
        border-top-color: var(--brand-danger, #ed174c);
        border-top-style: solid;
        border-top-width: 1px;
        border-right-color: var(--brand-danger, #ed174c);
        border-right-style: solid;
        border-right-width: 1px;
        border-bottom-color: var(--brand-danger, #ed174c);
        border-bottom-style: solid;
        border-bottom-width: 1px;
        border-left-color: var(--brand-danger, #ed174c);
        border-left-style: solid;
        border-left-width: 1px;
        border-image-source: initial;
        border-image-slice: initial;
        border-image-width: initial;
        border-image-outset: initial;
        border-image-repeat: initial;
        border-top: 1px solid var(--brand-danger, #ed174c) !important;
    }

.table-pdf {
    border: none !important;
}

.table-pdf th a {
    color: black !important;
    font-weight: 700 !important;
    text-decoration: none;
}

    .table-pdf th {
        background-color: var(--bg-surface, #fff) !important;
        font-weight: 700 !important;
        color: black !important;
        text-decoration: none;
    }

    
    .table-pdf > tfoot > tr > th,
    .table-pdf > tfoot > tr > td {
        border: unset !important;
    }

    .table-pdf > thead > tr > th,
    .table-pdf > tbody > tr > th {
        border-bottom: 1px solid var(--border-strong, #ccc) !important;
    }

/* Services-agreement summary-of-services table (EServicesAgreement e-sign).
   Scoped to .bh-svc-table so other .table-pdf tables are unaffected. Under PagedJS
   the constrained paged width made the auto table-layout ignore the per-column
   ItemStyle-Width percentages, starving Cost/Type/Qty/Total so their values
   wrapped one char per line. table-layout:fixed forces the declared 50/10/10/10/20
   widths to hold; overflow-wrap keeps long description text inside its cell. */
.table-pdf.bh-svc-table {
    table-layout: fixed !important;
    width: 100% !important;
}

    .table-pdf.bh-svc-table > tbody > tr > td {
        overflow-wrap: break-word;
        word-wrap: break-word;
    }

/* REMOVED: .btn { margin-left: 5px; } - was adding margin to ALL buttons globally */


/*
a{color: black; text-decoration:none;}
    */

div.ui-datepicker {
    font-size: 62.5%;
}
/*update*/
.container {
    padding-right: 0px;
    padding-left: 0px;
}
/* panel */
.panel, .panelcollapsed {
    background: var(--bg-surface, #fff);
    margin: 5px;
    padding: 0px 0px 0px;
    width: 99%;
    border: 1px solid var(--brand-primary, #3d1a6f);
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
}

.panel-title {
    padding-left: 0px;
    padding-top: 0px;
}

/* panel heading */
.panel h2, .panelcollapsed h2 {
    /*
	font-size: 12px;
	font-weight: normal; */
    margin: 0px;
    padding: 4px;
    background: var(--bg-surface, #fff) url(/images/arrow-up.gif) no-repeat 99%;
    border-bottom: 1px solid #fff;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    border-left: 1px solid #FFF;
    text-align: left;
}

    /* panel heading on rollover */
    .panel h2:hover, .panelcollapsed h2:hover {
        background-color: var(--bg-muted, #f0f0f0);
        color: var(--text-muted, #999);
    }

/* heading of a collapsed panel */
.panelcollapsed h2 {
    background: var(--border-strong, #ccc) url(/images/arrow-dn.gif) no-repeat 99%;
    border-color: var(--border-strong, #ccc);
    color: var(--text-on-dark, #fff);
}

/* panel content - do not set borders or paddings */
.panelcontent {
    background: var(--bg-surface, #fff);
    overflow: hidden;
}

/* collapsed panel content */
.panelcollapsed .panelcontent {
    display: none;
}


/*
#footer {
    width:100%;
    height:80px;
    position:fixed;
    bottom:0;
    left:0;
    background:#3da023;  
}*/



div.gvv {
    color: #f0f0f0;
    font-size: 12px;
}

div.gvv2 {
    color: var(--status-success, #28a745);
}

div.gvv3 {
    text-align: center;
}

.div.gvv4 {
    text-align: left;
    color: var(--text-on-dark, #fff);
}

div.gvvleft {
    text-align: left;
}

div.gvvright {
    text-align: left;
}

div.gvvveryright {
    text-align: right;
}

div.gvvcenter {
    text-align: center;
}


p.trigger {
    margin-bottom: 7px;
    margin-top: -5px;
}

.toggle_container {
    margin-bottom: 10px;
}

    .toggle_container p {
        margin: 0px;
    }

.toggle_container {
    background: var(--bg-muted, #f0f0f0);
    clear: both;
    font-size: 100%;
}



/*
.text {
        color: var(--text-secondary, #666);
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
       
    }*/
@media only screen and (max-width : 979px) {
    .gvvright.smm {
        text-align: center;
        padding-right: 10px;
        padding-left: 10px;
    }

    .gvvleft.smm {
        padding-right: 10px;
        padding-left: 10px;
        text-align: center;
    }

    .gvvcenter.smm {
        padding-right: 10px;
        padding-left: 10px;
        text-align: center;
    }

    .gvvprint.smp {
        padding-right: 10px;
        padding-left: 10px;
        text-align: center;
    }
}

@media (max-width: 979px) {
    .hidden-tablet {
        display: none;
    }
}

.flex-cover {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: black;
    /* overall height*/
    height: 500px;
}

.flex-bottomstrip {
    color: var(--text-on-dark, #fff);
    text-align: right;
    text-align: center;
    /* background: rgba(0,0,0, .6);*/
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 18px;
    /* height of the grey overlay*/
    height: 200px;
}

.flex-logos {
    white-space: nowrap;
    display: inline;
    /*    padding: 10px 10px 10px 10px;*/
    min-height: 100px;
    max-height: 100px;
    text-align: center;
}

.flex-text-box {
    /* set the height of the textbox, so that the logo box will appear beneath it*/
    min-height: 490px;
    max-height: 490px;
}

.flex-text-big {
    padding-left: 70px;
    margin-top: 140px;
    font-family: 'Outfit', sans-serif;
    font-size: 80px;
    color: var(--text-on-dark, #fff);
    line-height: 110px;
    font-weight: 300;
    overflow: hidden;
}

.flex-text-small {
    padding-left: 120px;
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 45px;
    color: var(--text-on-dark, #fff);
    line-height: 50px;
}

.campaignbox {
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    height: 200px;
    width: 100%;
    max-width: 300px;
    border-radius: 10px;
    border: 1px solid var(--brand-primary, #3d1a6f);
}

.campaigninnerbox {
    width: 100%;
    height: 90%;
    margin-top: 10px;
    padding-top: 10px;
    padding-bottom: 40px;
    background: rgba(61,26,111, 0.9) 0%;
    color: var(--text-on-dark, #fff);
    text-align: center;
    vertical-align: middle;
}

    .campaigninnerbox:hover a {
        background: rgba(0,0,0,0.3) 0%;
        color: var(--text-on-dark, #fff) !important;
    }

.campaigninnerboxtext {
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    color: var(--text-on-dark, #fff);
}

.retainerinnerbox {
    width: 100%;
    height: 90%;
    margin-top: 10px;
    padding-top: 10px;
    padding-bottom: 40px;
    background: rgba(237,23,76, 0.9) 0%;
    color: var(--text-on-dark, #fff);
    text-align: center;
    vertical-align: middle;
}

    .retainerinnerbox:hover a {
        background: rgba(0,0,0,0.3) 0%;
        color: var(--text-on-dark, #fff) !important;
    }

.retainerinnerboxtext {
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    color: var(--text-on-dark, #fff);
}

.gridedittext input {
    width: 100% !important;
}

.mce-tinymce {
    margin-top: 15px !important;
    margin-bottom: 5px !important;
}

.label-control {
    display: block;
    width: 100%;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.428571429;
    color: var(--text-body, #555);
    vertical-align: middle;
    background-color: var(--bg-surface, #fff);
    border: 1px solid var(--border-strong, #ccc);
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    background-color: var(--bg-muted, #f0f0f0);
    min-height: 120px;
}

.label-lg {
    height: 45px;
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.33;
    border-radius: 6px;
    background-color: var(--bg-muted, #f0f0f0);
}

.label-control-sm {
    display: block;
    width: 100%;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.428571429;
    color: var(--text-body, #555);
    vertical-align: middle;
    background-color: var(--bg-surface, #fff);
    border: 1px solid var(--border-strong, #ccc);
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    background-color: var(--bg-muted, #f0f0f0);
    min-height: 30px;
}

.mce-panel {
    z-index: 1000007 !important;
}


.highlight {
    background-color: yellow;
}

.table-gvvhover > tbody > tr:hover > td,
.table-gvvhover > tbody > tr:hover > th {
    background-color: yellow;
}

.table-gvv td {
    border: 0px solid rgb(221, 221, 221) !important;
    border-image: none !important;
}

.table-gvv th {
    border: 0px solid rgb(221, 221, 221) !important;
    border-image: none !important;
}

.table-noborder td {
    border: 0px solid white !important;
    border-image: none !important;
}

.table-noborder th {
    border: 0px solid white !important;
    border-image: none !important;
}

.pwa-popup {
    z-index: 2222222 !important;
}



.dm-uploader {
    cursor: default;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.uploader {
    position: absolute;
    top: -4px;
    right: 0; 
    line-height: 26px;
    margin: 0;
    border: solid transparent;
    width: 100%;
    opacity: .0;
    filter: alpha(opacity= 0);
    cursor: pointer;
}

a,
area,
button,
[role="button"],
input:not([type="range"]),
label,
select,
summary,
textarea {
    touch-action: manipulation;
}


body {
    font-family: 'Outfit', sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}


.table-condensed {
    border: solid 1px var(--brand-magenta, #7d1d61) !important;
}

    .table-condensed > tbody > tr:hover > td,
    .table-condensed > tbody > tr:hover {
        color: black;
    }

    .table-condensed th a {
        color: var(--text-on-dark, #fff) !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }

    .table-condensed th {
        background-color: var(--brand-danger, #ed174c) !important;
        color: var(--text-on-dark, #fff) !important;
    }

    .table-condensed > thead > tr > th,
    .table-condensed > tbody > tr > th,
    .table-condensed > tfoot > tr > th,
    .table-condensed > thead > tr > td,
    .table-condensed > tbody > tr > td,
    .table-condensed > tfoot > tr > td {
        border: 1px solid var(--brand-accent, #fdb913) !important;
        border-top-color: rgb(221, 221, 221);
        border-top-style: solid;
        border-top-width: 1px;
        border-right-color: rgb(221, 221, 221);
        border-right-style: solid;
        border-right-width: 1px;
        border-bottom-color: rgb(221, 221, 221);
        border-bottom-style: solid;
        border-bottom-width: 1px;
        border-left-color: rgb(221, 221, 221);
        border-left-style: solid;
        border-left-width: 1px;
        border-image-source: initial;
        border-image-slice: initial;
        border-image-width: initial;
        border-image-outset: initial;
        border-image-repeat: initial;
    }

    .table-condensed > tbody > tr > th {
        background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%) !important;
        border-left: 4px solid var(--brand-accent, #fdb913) !important;
        border-top: 1px solid var(--border-light, #fff5dc) !important;
        border-right: 1px solid var(--border-light, #fff5dc) !important;
        border-bottom: 1px solid var(--border-light, #fff5dc) !important;
        color: var(--brand-primary, #3d1a6f) !important;
        font-weight: 500 !important;
        font-size: 1em !important;
    }
    .table-condensed th a {
        color: var(--brand-primary, #3d1a6f) !important;
        font-weight: 500 !important;
        font-size: 1em !important;
    }

.table-purple {
    border: solid 1px var(--brand-primary, #3d1a6f) !important;
}

    .table-purple > tbody > tr:hover > td,
    .table-purple > tbody > tr:hover {
        background-color: var(--bg-muted, #f0f0f0) !important;
        color: black !important;
    }

    .table-purple th a {
        color: var(--text-on-dark, #fff) !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }

    .table-purple th {
        background-color: var(--brand-primary, #3d1a6f) !important;
        color: var(--text-on-dark, #fff) !important;
    }

    .table-purple > thead > tr > th,
    .table-purple > tbody > tr > th,
    .table-purple > tfoot > tr > th,
    .table-purple > thead > tr > td,
    .table-purple > tbody > tr > td,
    .table-purple > tfoot > tr > td {
        border: 1px solid var(--brand-primary, #3d1a6f) !important;
        border-top-color: rgb(221, 221, 221);
        border-top-style: solid;
        border-top-width: 1px;
        border-right-color: rgb(221, 221, 221);
        border-right-style: solid;
        border-right-width: 1px;
        border-bottom-color: rgb(221, 221, 221);
        border-bottom-style: solid;
        border-bottom-width: 1px;
        border-left-color: rgb(221, 221, 221);
        border-left-style: solid;
        border-left-width: 1px;
        border-image-source: initial;
        border-image-slice: initial;
        border-image-width: initial;
        border-image-outset: initial;
        border-image-repeat: initial;
        /* height:60px; */
        padding: 3px;
    }

/* Modern data table - used for WebMethod-backed infinite scroll tables */
.table-modern {
    border: none;
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 0;
}
.table-modern thead th {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    font-weight: 500;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.65rem 0.75rem;
    border: none;
    border-bottom: 3px solid var(--brand-accent, #fdb913);
    white-space: nowrap;
    position: sticky;
    top: 0;
    z-index: 1;
}
.table-modern tbody tr {
    transition: background-color 0.15s ease;
}
.table-modern tbody tr:nth-child(even) {
    background-color: var(--bg-subtle, #fafafa);
}
.table-modern tbody tr:hover {
    background-color: var(--bg-purple-tint, #f0ebf7);
}
.table-modern tbody td {
    padding: 0.55rem 0.75rem;
    border: none;
    border-bottom: 1px solid var(--border-light, #eee);
    font-size: 0.9rem;
    color: var(--text-primary, #333);
    vertical-align: middle;
}
.table-modern tbody td img {
    border-radius: 4px;
    max-width: 60px;
}
.table-modern .text-muted-sm {
    font-size: 0.7rem;
    color: var(--text-muted, #999);
}

/* Scroll container for infinite scroll tables.
   overflow-x MUST stay 'hidden': overflow-y:auto silently coerces overflow-x
   from 'visible' to 'auto' per CSS spec, which fires a horizontal scrollbar on
   any sub-pixel table overshoot (.table-bordered + .table-modern nowrap headers).
   If a future page needs horizontal scroll, wrap that table in .table-responsive
   -- do not relax this rule (breaks SurveyForms, CRM lists, Archived, etc.). */
.infinite-scroll-container {
    overflow-y: auto;
    overflow-x: hidden;
    border-radius: 8px;
    border: 1px solid var(--border-default, #e0e0e0);
}
.infinite-scroll-container::-webkit-scrollbar {
    width: 6px;
}
.infinite-scroll-container::-webkit-scrollbar-track {
    background: var(--bg-muted, #f4f4f4);
    border-radius: 3px;
}
.infinite-scroll-container::-webkit-scrollbar-thumb {
    background: var(--border-strong, #ccc);
    border-radius: 3px;
}
.infinite-scroll-container::-webkit-scrollbar-thumb:hover {
    background: #aaa;
}

.gvvorangehover > tbody > tr:hover > td {
    background-color: var(--border-strong, #ccc) !important;
}

.gvvorangegridcheckbox {
    display: none !important;
}

.panel-heading a:hover {
    color: #d2322d !important;
}

a.dropdown-toggle {
    font-weight: 500;
    font-size: 1.3em;
}

.dropdown-menu > li > a {
    font-weight: 500 !important;
}




.blink_me {
    -webkit-animation-name: blinker;
    -webkit-animation-duration: 1s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-name: blinker;
    -moz-animation-duration: 1s;
    -moz-animation-timing-function: linear;
    -moz-animation-iteration-count: infinite;
    animation-name: blinker;
    animation-duration: 1s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.mc-red {
    background-color: var(--brand-danger, #ed174c);
    color: var(--text-on-dark, #fff);
}

.mc-purple {
    background-color: var(--bg-surface, #fff);
    color: var(--brand-magenta, #7d1d61);
}


@media (min-width: 1400px) {
    .container {
        max-width: 1340px;
    }
}

@media (min-width: 1500px) {
    .container {
        max-width: 1470px;
    }
}

@media (min-width: 1700px) {
    .container {
        max-width: 1640px;
    }
}

@media (min-width: 1920px) {
    .container {
        max-width: 1840px;
    }
}

@media (min-width: 2200px) {
    .container {
        max-width: 2100px;
    }
}
/*small grid*/
@media (max-width: 1500px) {
    .gvvsmallgrid {
        zoom: 0.9
    }
}

@media (max-width: 1200px) {
    .gvvsmallgrid {
        zoom: 0.7
    }
}

@media (max-width: 900px) {
    .gvvsmallgrid {
        zoom: 0.5
    }
}

.proposalbox {
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    height: 420px;
    border-radius: 0px;
    border: 1px solid var(--brand-primary, #3d1a6f);
    box-shadow: 5px 10px 18px #888888;
}

.proposalinnerbox {
    background: var(--bg-surface, #fff);
    /*
    width: 100%;
    height: 90%;
    margin-top: 10px;
    padding-top: 10px;
    padding-bottom: 40px;
    background: rgba(61,26,111, 0.9) 0%;
    color: var(--text-on-dark, #fff);
    text-align: left;
    */
    padding-left: 5px;
    vertical-align: top;
}

    .proposalinnerbox:hover a {
        background: var(--brand-danger, #ed174c);
        color: var(--text-on-dark, #fff) !important;
    }

.proposalinnerboxtext {
    width: 100%;
    /*font-size: 16px;
    font-weight: 500;
    
    text-align: left;
     */
    color: var(--text-on-dark, #fff);
}

.tabcolourwhite {
    background-color: var(--bg-surface, #fff);
    color: black;
    font-size: 16px;
    min-width: 240px !important;
    height: 40px;
    text-align: left;
    border: 1px solid var(--brand-danger, #ed174c) !important;
}

.ProposalTabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
    color: var(--brand-danger, #ed174c);
}

.proposalsub {
    color: var(--text-on-dark, #fff);
    font-weight: 500;
    font-size: 10px;
    margin-left: -10px;
    font-family: 'Outfit', sans-serif;
}

hr {
    border: 0;
    height: 1px;
    background-image: linear-gradient(to right, #fdb913, #e8a510)
}

#mainNav .padlock {
    color: var(--brand-danger, #ed174c);
    padding: 10px 15px;
    margin-left: 10px;
    border: 2px solid var(--brand-danger, #ed174c);
    border-radius: 50px;
    font-weight: 500;
}

@media (min-width: 30px) {
    .mcintrotext {
        font-size: 50px;
        letter-spacing: 0px;
        line-height: 55px;
    }

    .mcintrosecondary {
        font-weight: 800;
        letter-spacing: 0px;
    }

    .blogintrotext {
        font-size: 40px;
        letter-spacing: 0px;
        line-height: 45px;
        font-weight: 800;
    }

    .mcblogsecondary {
        font-size: 40px;
        letter-spacing: 0px;
        line-height: 45px;
    }

    .bigtext {
        font-size: 30px;
        letter-spacing: 0px;
        line-height: 35px;
        font-weight: 800;
    }

    .lighttext {
        font-size: 20px;
        letter-spacing: 0px;
        line-height: 25px;
        font-weight: 600;
    }

    .ctheavytext {
        font-size: 20px;
        letter-spacing: 0px;
        line-height: 25px;
        font-weight: 600;
    }
}

@media (min-width: 700px) {
    .mcintrotext {
        font-size: 100px;
        letter-spacing: -4px;
        line-height: 105px;
    }

    .mcintrosecondary {
        font-weight: 800;
        letter-spacing: 0px;
    }

    .blogintrotext {
        font-size: 80px;
        letter-spacing: -4px;
        line-height: 90px;
        font-weight: 800;
    }

    .mcblogsecondary {
        font-size: 50px;
        letter-spacing: -2px;
        line-height: 55px;
    }

    .bigtext {
        font-size: 60px;
        letter-spacing: -4px;
        line-height: 65px;
        font-weight: 800;
    }

    .lighttext {
        font-size: 50px;
        letter-spacing: -4px;
        line-height: 55px;
        font-weight: 600;
    }

    .ctheavytext {
        font-size: 40px;
        letter-spacing: -1px;
        line-height: 45px;
        font-weight: 600;
    }
}

.btn-default {
    color: var(--brand-primary, #3d1a6f) !important;
    background-color: var(--bg-surface, #fff);
    border-color: var(--brand-primary, #3d1a6f);
}

    .btn-default:hover,
    .btn-default:focus,
    .btn-default:active,
    .btn-default.active,
    .open .dropdown-toggle.btn-default {
        color: var(--text-on-dark, #fff) !important;
        background-color: var(--brand-primary, #3d1a6f);
        border-color: var(--brand-primary, #3d1a6f);
    }

    .btn-default:active,
    .btn-default.active,
    .open .dropdown-toggle.btn-default {
        background-image: none;
    }

    .btn-default.disabled,
    .btn-default[disabled],
    fieldset[disabled] .btn-default,
    .btn-default.disabled:hover,
    .btn-default[disabled]:hover,
    fieldset[disabled] .btn-default:hover,
    .btn-default.disabled:focus,
    .btn-default[disabled]:focus,
    fieldset[disabled] .btn-default:focus,
    .btn-default.disabled:active,
    .btn-default[disabled]:active,
    fieldset[disabled] .btn-default:active,
    .btn-default.disabled.active,
    .btn-default[disabled].active,
    fieldset[disabled] .btn-default.active {
        background-color: var(--bg-purple-tint, #f0ebf7);
        border-color: #c4b5d9;
        color: var(--text-muted, #8a7ba3) !important;
    }
    .btn-default .caret {
        border-top-color: var(--brand-primary, #3d1a6f);
    }
.dropup .btn-default .caret {
    border-bottom-color: var(--brand-primary, #3d1a6f);
}
.panel-body {
    padding: 15px;
}
.panel {
    margin-bottom: 20px;
    background-color: var(--bg-surface, #fff);
    border: 1px solid transparent;
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

.panel-body {
    padding: 15px;
}

    .panel-body:before,
    .panel-body:after {
        display: table;
        content: " ";
    }

    .panel-body:after {
        clear: both;
    }

    .panel-body:before,
    .panel-body:after {
        display: table;
        content: " ";
    }

    .panel-body:after {
        clear: both;
    }

.panel > .list-group {
    margin-bottom: 0;
}

    .panel > .list-group .list-group-item {
        border-width: 1px 0;
    }

        .panel > .list-group .list-group-item:first-child {
            border-top-right-radius: 0;
            border-top-left-radius: 0;
        }

        .panel > .list-group .list-group-item:last-child {
            border-bottom: 0;
        }

.panel-heading + .list-group .list-group-item:first-child {
    border-top-width: 0;
}

.panel > .table {
    margin-bottom: 0;
}

.panel > .panel-body + .table {
    border-top: 1px solid var(--border-default, #ddd);
}

.panel-heading {
    padding: 10px 15px;
    border-bottom: 1px solid transparent;
    border-top-right-radius: 3px;
    border-top-left-radius: 3px;
}

.panel-title {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 16px;
}

    .panel-title > a {
        color: inherit;
    }

.panel-footer {
    padding: 10px 15px;
    background-color: var(--bg-page, #f5f5f5);
    border-top: 1px solid var(--border-default, #ddd);
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
}

.panel-group .panel {
    margin-bottom: 0;
    overflow: hidden;
    border-radius: 4px;
}

    .panel-group .panel + .panel {
        margin-top: 5px;
    }

.panel-group .panel-heading {
    border-bottom: 0;
}

    .panel-group .panel-heading + .panel-collapse .panel-body {
        border-top: 1px solid var(--border-default, #ddd);
    }

.panel-group .panel-footer {
    border-top: 0;
}

    .panel-group .panel-footer + .panel-collapse .panel-body {
        border-bottom: 1px solid var(--border-default, #ddd);
    }

.panel-default {
    border-color: var(--brand-accent, #fdb913);
    -webkit-box-shadow: 10px 10px 16px -13px rgba(253,185,19, .6);
    -moz-box-shadow: 10px 10px 16px -13px rgba(253,185,19, .6);
    box-shadow: 10px 10px 16px -13px rgba(253,185,19, .6)
}

    .panel-default > .panel-heading {
        color: black;
        background-color: var(--brand-accent, #fdb913);
        border-color: var(--brand-accent, #fdb913);
    }

        .panel-default > .panel-heading + .panel-collapse .panel-body {
            border-top-color: var(--brand-accent, #fdb913);
        }

    .panel-default > .panel-footer + .panel-collapse .panel-body {
        border-bottom-color: var(--brand-accent, #fdb913);
    }

.panel-primary {
    border-color: #428bca;
}

    .panel-primary > .panel-heading {
        color: var(--brand-danger, #ed174c);
        background-color: #428bca;
        border-color: #428bca;
    }

        .panel-primary > .panel-heading + .panel-collapse .panel-body {
            border-top-color: #428bca;
        }

    .panel-primary > .panel-footer + .panel-collapse .panel-body {
        border-bottom-color: #428bca;
    }

.panel-success {
    border-color: #d6e9c6;
}

    .panel-success > .panel-heading {
        color: var(--status-success-text, #468847);
        background-color: var(--status-success-bg, #dff0d8);
        border-color: #d6e9c6;
    }

        .panel-success > .panel-heading + .panel-collapse .panel-body {
            border-top-color: #d6e9c6;
        }

    .panel-success > .panel-footer + .panel-collapse .panel-body {
        border-bottom-color: #d6e9c6;
    }

.panel-warning {
    border-color: #fbeed5;
}

    .panel-warning > .panel-heading {
        color: #c09853;
        background-color: var(--bg-gold-tint, #fcf8e3);
        border-color: #fbeed5;
    }

        .panel-warning > .panel-heading + .panel-collapse .panel-body {
            border-top-color: #fbeed5;
        }

    .panel-warning > .panel-footer + .panel-collapse .panel-body {
        border-bottom-color: #fbeed5;
    }

.panel-danger {
    border-color: var(--brand-danger, #ed174c);
}

    .panel-danger > .panel-heading {
        color: var(--status-danger-text, #b94a48);
        background-color: var(--brand-danger, #ed174c);
        border-color: var(--brand-danger, #ed174c);
    }

        .panel-danger > .panel-heading + .panel-collapse .panel-body {
            border-top-color: var(--brand-danger, #ed174c);
        }

    .panel-danger > .panel-footer + .panel-collapse .panel-body {
        border-bottom-color: var(--brand-danger, #ed174c);
    }

.panel-info {
    border-color: #bce8f1;
}

    .panel-info > .panel-heading {
        color: #3a87ad;
        background-color: #d9edf7;
        border-color: #bce8f1;
    }

        .panel-info > .panel-heading + .panel-collapse .panel-body {
            border-top-color: #bce8f1;
        }

    .panel-info > .panel-footer + .panel-collapse .panel-body {
        border-bottom-color: #bce8f1;
    }
/* btn-sm: Now inherited from CustomBootstrap.css (Bootstrap 4 default) */
/* btn-xs: Extra small button (smaller than btn-sm, not in Bootstrap 4) */
.btn-xs {
    padding: .15rem .3rem;
    font-size: .75rem;
    line-height: 1.5;
    border-radius: .15rem;
}

/* btn-rnd: Rounded button (migrated from BHLegacy.css) */
.btn-rnd {
    font-weight: 300;
    font-size: 1.1em;
    text-align: center;
    border-radius: 12px;
}

.btn-rnd:hover {
    opacity: .8;
    color: var(--text-on-dark, #fff);
}

/* btn-secondary: Purple text on gold background (brand colors) */
.btn-secondary {
    color: var(--brand-primary, #3d1a6f);
}
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
    color: var(--brand-primary, #3d1a6f);
}

/* btn-outline variants: Consistent with regular buttons */
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-warning,
.btn-outline-danger,
.btn-outline-info,
.btn-outline-dark {
    border-width: 1px;
    border-style: solid;
    border-radius: 0.25rem;
    vertical-align: middle;
    box-sizing: border-box;
    line-height: 1.5;
}

.btn-outline-primary {
    color: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    background-color: transparent;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
    color: var(--text-on-dark, #fff);
    background-color: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
}

.btn-outline-secondary {
    color: var(--text-primary, #333);
    border-color: var(--text-secondary, #666);
    background-color: transparent;
}
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active {
    color: var(--text-on-dark, #fff);
    background-color: var(--text-secondary, #666);
    border-color: var(--text-secondary, #666);
}

.btn-outline-danger {
    color: var(--brand-danger, #ed174c);
    border-color: var(--brand-danger, #ed174c);
    background-color: transparent;
}
.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:active {
    color: var(--text-on-dark, #fff);
    background-color: var(--brand-danger, #ed174c);
    border-color: var(--brand-danger, #ed174c);
}

.btn-outline-success {
    color: var(--status-success, #28a745);
    border-color: var(--status-success, #28a745);
    background-color: transparent;
}
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active {
    color: var(--text-on-dark, #fff);
    background-color: var(--status-success, #28a745);
    border-color: var(--status-success, #28a745);
}

.btn-outline-warning {
    color: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-accent, #fdb913);
    background-color: transparent;
}
.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning:active {
    color: var(--brand-primary, #3d1a6f);
    background-color: var(--brand-accent, #fdb913);
    border-color: var(--brand-accent, #fdb913);
}

.btn-outline-info {
    color: var(--status-info, #17a2b8);
    border-color: var(--status-info, #17a2b8);
    background-color: transparent;
}
.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info:active {
    color: var(--text-on-dark, #fff);
    background-color: var(--status-info, #17a2b8);
    border-color: var(--status-info, #17a2b8);
}

.btn-outline-dark {
    color: var(--text-primary, #343a40);
    border-color: var(--text-primary, #343a40);
    background-color: transparent;
}
.btn-outline-dark:hover,
.btn-outline-dark:focus,
.btn-outline-dark:active {
    color: var(--text-on-dark, #fff);
    background-color: var(--text-primary, #343a40);
    border-color: var(--text-primary, #343a40);
}

.dropdown-menu {
    position: absolute;
    /* top: 100%; */
    left: 0;
    z-index: 1001;
    display: none;
    float: left;
    min-width: 220px;
    padding: 0.5rem 0;
    margin: 0.5rem 0 0;
    font-size: 15px;
    list-style: none;
    background-color: var(--bg-surface, #fff) !important;
    border: none;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    background-clip: padding-box;
    animation: dropdownFadeIn 0.2s ease;
}

@keyframes dropdownFadeIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Dropdown item styling - fix white-on-white hover issue */
.dropdown-item {
    display: block;
    width: 100%;
    padding: 0.5rem 1rem;
    clear: both;
    font-weight: 400;
    color: var(--text-primary, #333) !important;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}

.dropdown-item:hover,
.dropdown-item:focus {
    color: var(--text-on-dark, #fff) !important;
    background-color: var(--brand-primary, #3d1a6f) !important;
    text-decoration: none;
}

.dropdown-item:active,
.dropdown-item.active {
    color: var(--text-on-dark, #fff) !important;
    background-color: var(--brand-primary, #3d1a6f) !important;
}

/* Hover state child legibility: the parent rule above colours the item white on
   a dark purple bg, but children with .text-muted (leading icons, <small> descriptions)
   keep their explicit !important grey colour from Bootstrap and disappear. Override
   them so descriptions + icons stay readable on hover. */
.dropdown-item:hover .text-muted,
.dropdown-item:focus .text-muted,
.dropdown-item:active .text-muted,
.dropdown-item.active .text-muted,
.dropdown-item:hover small,
.dropdown-item:focus small,
.dropdown-item:active small,
.dropdown-item.active small {
    color: rgba(255, 255, 255, 0.85) !important;
}

.nav-pills .divider {
    height: 1px;
    margin: 9px 0;
    overflow: hidden;
    background-color: var(--bg-muted, #e5e5e5);
}

.dropdown-menu .divider {
    height: 1px;
    margin: 0.5rem 1rem;
    overflow: hidden;
    background: linear-gradient(90deg, transparent 0%, #e5e5e5 20%, #e5e5e5 80%, transparent 100%);
}

    .dropdown-menu > li > a {
        display: block;
        padding: 0.65rem 1.25rem;
        min-height: auto;
        clear: both;
        line-height: 1.5;
        color: var(--text-primary, #333);
        white-space: nowrap;
        border-left: 3px solid transparent;
        transition: all 0.2s ease;
    }

    .dropdown-menu > li > a i {
        width: 20px;
        margin-right: 8px;
        color: var(--brand-primary, #3d1a6f);
        transition: color 0.2s ease;
    }

        .dropdown-menu > li > a:hover,
        .dropdown-menu > li > a:focus {
            color: var(--brand-primary, #3d1a6f);
            text-decoration: none;
            background-color: var(--bg-gold-tint, #fff5dc);
            border-left-color: var(--brand-accent, #fdb913);
        }

        .dropdown-menu > li > a:hover i,
        .dropdown-menu > li > a:focus i {
            color: var(--brand-accent, #fdb913);
        }

    .dropdown-menu > .active > a,
    .dropdown-menu > .active > a:hover,
    .dropdown-menu > .active > a:focus {
        color: var(--text-on-dark, #fff);
        text-decoration: none;
        background-color: #428bca;
        outline: 0;
    }




    .dropdown-menu > div > li > a {
        display: block;
        padding: 0.65rem 1.25rem;
        min-height: auto;
        clear: both;
        line-height: 1.5;
        color: var(--text-primary, #333);
        white-space: nowrap;
        font-weight: 500 !important;
        border-left: 3px solid transparent;
        transition: all 0.2s ease;
    }

    .dropdown-menu > div > li > a i {
        width: 20px;
        margin-right: 8px;
        color: var(--brand-primary, #3d1a6f);
        transition: color 0.2s ease;
    }

        .dropdown-menu > div > li > a:hover,
        .dropdown-menu > div > li > a:focus {
            color: var(--brand-primary, #3d1a6f);
            text-decoration: none;
            background-color: var(--bg-gold-tint, #fff5dc);
            border-left-color: var(--brand-accent, #fdb913);
        }

        .dropdown-menu > div > li > a:hover i,
        .dropdown-menu > div > li > a:focus i {
            color: var(--brand-accent, #fdb913);
        }

    .dropdown-menu > div > .active > a,
    .dropdown-menu > div > .active > a:hover,
    .dropdown-menu > div > .active > a:focus {
        color: var(--text-on-dark, #fff);
        text-decoration: none;
        background-color: #428bca;
        outline: 0;
    }




.dropdown-header {
    display: block;
    padding: 3px 20px;
    font-size: 12px;
    line-height: 1.428571429;
    color: var(--text-muted, #999);
}
.dropdown-toggle:focus {
    outline: white;
}

.dropdown-toggle::after {
    display: inline-block;
    margin-left: 0em;
    vertical-align: 0.255em;
    content: none;
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
}

.dropdown {
    /*text-transform: uppercase;*/
    font-size: 15px;
}
.table td, .table th {
    padding: 5px;
}

.BUZZHubhome {
    background: rgba(253,185,19, 0.1);
    border-top-right-radius: 25px;
    border-bottom-right-radius: 15px;
    border-bottom-left-radius: 15px;
}
.table-bordered th, .table-bordered td {
    height: 0px;
    border: none;
}

.tab-content-sm {
    min-height: 30vh;
}

/*fix bug where modal leaves black line around hover elements*/
a:hover, a:focus{
    outline:none !important;
}

/* Ensure btn-primary/btn-default text is always white regardless of <a> tag color inheritance */
a.btn-primary, a.btn-primary:hover, a.btn-primary:focus, a.btn-primary:active,
a.btn-default, a.btn-default:hover, a.btn-default:focus, a.btn-default:active {
    color: #fff;
}

/* rounded edges for  gridviews */
.table-outer-rnd {
    /*apply to surrounding DIV*/
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    overflow: hidden;
    margin-top: 1em;
    margin-bottom: 1em;
    margin-left: 15px;
    margin-right: 15px;
}
.table-inner-rnd {
    /*apply to gridview css field*/
    margin-left: 0px;
    width: 100%;
    height: 100%;
}

th.sortable {
    cursor: pointer;
    user-select: none;
}

/*make empty grid views not have a border */
.emptygridview {
    border: 5px solid white !important;
}
[data-theme="dark"] .emptygridview {
    border-color: transparent !important;
}
[data-theme="dark"] .emptygridview td {
    background: transparent !important;
    border: none !important;
}
.antiquewhitegrid {
    border: 1px solid antiquewhite !important;
    margin-left: 5px;
    width: 99%;
}
.tab-pane{
    padding-top:5px;
}
/*hover naviation bar*/
@media all and (min-width: 992px) {
    .navbar .nav-item .dropdown-menu {
        display: none !important;
    }

    .navbar .nav-item:hover .nav-link {
        color: var(--text-on-dark, #fff) !important;
    }

    .navbar .nav-item:hover .dropdown-menu {
        display: block !important;
    }

    .navbar .nav-item .dropdown-menu {
        margin-top: 0 !important;
    }
}

/* Kill list bullets on all navbar items */
#mainNav .navbar-nav,
#mainNav .navbar-nav .nav-item {
    list-style: none !important;
}

/* Right-side nav items (notifications + THE HIVE + LOGOUT) */
#mainNav .specials {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    margin-left: auto !important;
    gap: 0.25rem;
    padding-left: 0 !important;
}

#mainNav .specials > li {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    list-style: none !important;
    width: auto !important;
}

/* Nav buttons container (THE HIVE + LOGOUT) - stacked vertically */
#mainNav .nav-buttons-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: stretch;
}

#mainNav .nav-buttons-row .telephone {
    justify-content: center;
}

#mainNav .telephone {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0.4rem 0.9rem;
    margin-left: 0px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--text-on-dark, #fff);
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.2s ease;
}

#mainNav .telephone:hover {
    color: var(--brand-accent, #fdb913);
    background: rgba(253, 185, 19, 0.15);
    border-color: var(--brand-accent, #fdb913);
    text-decoration: none;
}

/* Nav utility toolbar icons */
.navtoolbtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.4rem;
    margin: 0 2px;
    border-radius: 6px;
    color: rgba(255, 255, 255, 0.8);
    transition: all 0.2s ease;
}

.navtoolbtn:hover {
    color: var(--brand-accent, #fdb913);
    background: rgba(255, 255, 255, 0.1);
    text-decoration: none;
}

.navtoolbtn .actionbutton {
    font-size: 1.1rem;
}

/* Notification badge styling */
.navtoolbtn sub {
    position: relative;
    top: -8px;
    margin-left: -5px;
}

.navtoolbtn sub input[type="text"] {
    width: 18px;
    height: 18px;
    padding: 0;
    font-size: 10px;
    font-weight: 600;
    text-align: center;
    color: var(--text-on-dark, #fff);
    background: var(--brand-danger, #ed174c);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: none;
}

/* Dark mode quick-toggle button in nav bar */
button.nav-theme-toggle {
    background: none;
    border: none;
    outline: 0;
    cursor: pointer;
    font-size: 1.1rem;
}

button.nav-theme-toggle:focus {
    outline: none;
}

button.nav-theme-toggle:focus-visible {
    outline: 2px solid var(--brand-accent, #fdb913);
    outline-offset: 2px;
    border-radius: 4px;
}

    /*

    .nav > li > a:focus {
        color: var(--brand-danger, #ed174c);
    }
    */
    .nav-tabs > li {
        float: left;
        margin-bottom: -1px;
    }

    .nav-tabs > li > a {
        margin-right: 2px;
        line-height: 1.428571429;
        border: 1px solid transparent;
        border-radius: 4px 4px 0 0;
    }

        .nav-tabs > li > a:hover {
            border-color: var(--border-light, #eeeeee) var(--border-light, #eeeeee) var(--border-default, #ddd);
        }



.nav a:hover {
    color: var(--brand-danger, #ed174c);
}
/*from main*/
#mainNav {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    background: linear-gradient(135deg, #3d1a6f 0%, #2d1352 100%);
    box-shadow: 0 2px 12px rgba(61, 26, 111, 0.4);
    border-bottom: 3px solid var(--brand-accent, #fdb913);
}

    #mainNav .navbar-toggler {
        padding: 0.75rem;
        font-family: 'Outfit', sans-serif;
        font-size: 0.75rem;
        color: var(--text-on-dark, #fff);
        text-transform: uppercase;
        border: 0;
    }

    #mainNav .navbar-brand {
        color: var(--brand-accent, #fdb913);
        font-family: 'Outfit', sans-serif;
        font-weight: 700;
        text-transform: uppercase;
        max-width: 50%;
    }

        #mainNav .navbar-brand img {
            height: 3rem;
        }

    #mainNav .navbar-nav .nav-item .nav-link.active, #mainNav .navbar-nav .nav-item .nav-link:hover {
        color: var(--brand-accent, #fdb913);
    }

    #mainNav .navbar-nav .nav-item .nav-btn.active, #mainNav .navbar-nav .nav-item .nav-btn:hover {
        color: var(--brand-accent, #fdb913);
        text-decoration: none;
    }

    /* Modernized nav dropdown toggles */
    #mainNav .navbar-nav .nav-item .dropdown-toggle {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 0.5rem 1rem;
        border-radius: 6px;
        font-family: 'Outfit', sans-serif;
        font-size: 0.95rem;
        font-weight: 600;
        color: var(--text-on-dark, #fff);
        letter-spacing: 0.5px;
        text-transform: uppercase;
        transition: all 0.2s ease;
        border: none;
        background: transparent;
    }

    #mainNav .navbar-nav .nav-item .dropdown-toggle i {
        font-size: 0.9rem;
        opacity: 0.85;
        transition: all 0.2s ease;
    }

    #mainNav .navbar-nav .nav-item:hover .dropdown-toggle,
    #mainNav .navbar-nav .nav-item.show .dropdown-toggle {
        background: rgba(255, 255, 255, 0.15);
        color: var(--brand-accent, #fdb913);
    }

    #mainNav .navbar-nav .nav-item:hover .dropdown-toggle i,
    #mainNav .navbar-nav .nav-item.show .dropdown-toggle i {
        opacity: 1;
        color: var(--brand-accent, #fdb913);
    }

    /* Remove default caret and use CSS arrow */
    #mainNav .navbar-nav .nav-item .dropdown-toggle::after {
        content: '';
        display: inline-block;
        margin-left: 6px;
        border-top: 5px solid currentColor;
        border-right: 4px solid transparent;
        border-left: 4px solid transparent;
        transition: transform 0.2s ease;
    }

    #mainNav .navbar-nav .nav-item.show .dropdown-toggle::after {
        transform: rotate(180deg);
    }
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    color: var(--brand-danger, #ed174c);
    cursor: default;
    background-color: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #ddd);
    border-bottom-color: transparent;
}


.respimage {
    width: 100%;
}


@media (min-width: 30px) {

    #mainNav .navbar-nav .nav-item .nav-link {
        font-family: 'Outfit', sans-serif;
        font-size: 0.95rem;
        font-weight: 500;
        color: var(--text-on-dark, #fff);
        letter-spacing: normal;
    }

    .seperator {
        height: 1em;
    }

    .mediacastlogocolour {
        display: none;
    }

    .mediacastlogowhite {
        display: none;
    }

    .mediacastlogoverywhite {
        display: inline !important;
    }


    .welcome {
        display:none;
    }
    .actionbutton {
        padding-bottom: 0.5em;
        font-size: 1.5em;
    }

}

/* MOBILE */
@media (max-width: 990px) {

    .body-content {
        padding-top: 110px;
    }

    /* Center the utility icons + buttons in collapsed mobile menu */
    #mainNav .specials {
        align-items: center !important;
    }

    #mainNav .specials > li {
        justify-content: center !important;
        width: 100% !important;
    }

    /* THE HIVE and LOGOUT stacked in mobile menu */
    #mainNav .nav-buttons-row,
    #mainNav .specials .nav-buttons-row {
        flex-direction: column !important;
        align-items: center !important;
        gap: 0.5rem !important;
    }

    /* Center the main nav items (BUSINESS, CAMPAIGN, etc.) in collapsed menu */
    #mainNav .navbar-nav {
        align-items: center !important;
    }

    #mainNav .navbar-nav .nav-item {
        text-align: center;
        width: 100%;
    }

    #mainNav .navbar-nav .nav-item .dropdown-toggle {
        justify-content: center;
    }

    .respimage{
        width: 100px;
    }

    .text-right {
        text-align: center !important;
    }

    .filesharecard {
        padding: 0px !important;
        margin-left: 0em !important;
    }

    .filesharecontent {
        padding: 0px !important;
        margin-left: 0em !important;
    }

    .surveybuttons {
        zoom: 0.6 !important;
    }

    .surveyactionscard {
        zoom: 0.6 !important;
        padding-top: 0px !important;
        right: 10px !important;
        top: 10px !important;
    }

    .mobilehide {
        display: none;
    }

    .nav-top a {
        color: var(--text-on-dark, #fff) !important;
        line-height: 2em !important;
        text-align: center !important;
        padding-top: 5px;
        padding-left: 5px;
        padding-bottom: 5px;
    }

    .nwbody-content {
        padding-top: 40px;
        padding-left: 15px;
        padding-right: 15px;
        color: var(--brand-primary, #3d1a6f);
        font-family: 'Outfit', sans-serif;
        font-weight: 400;
        font-size: 14px;
    }

    .nav-logout {
        padding-top: 1em;
        transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;
    }

    .nav-logout:hover {
        opacity: 0.8;
        color: var(--brand-accent, #fdb913) !important;
    }

    .nav-tabs .nav-item {
        width: 100%;
    }

    .nav-tabs .nav-link {
        display: flex;
        width: 100%;
    }

    .nav-tabs {
        margin-left: 0em;
    }

    .smallside {
        flex: 0 0 100%;
        max-width: 100%;
        margin-top: 0;
        margin-bottom: 0;
        width: 100%;
        padding: 0;
        position: sticky;
        top: 0;
        z-index: 1020;
        background: var(--bg-surface, #fff);
        border-bottom: 1px solid var(--border-default, #e0e0e0);
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }

    .smallside h5,
    .smallside > br,
    .smallside > span,
    .smallside > :not(.nav):not(.review-checklist):not(.authorise-bar) {
        display: none;
    }

    .smallside .review-checklist {
        display: flex !important;
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 6px;
        padding: 8px 4px;
        list-style: none;
        margin: 0;
    }

    .smallside .review-checklist::-webkit-scrollbar {
        display: none;
    }

    .smallside .review-checklist li {
        white-space: nowrap;
        flex-shrink: 0;
        border-radius: 20px;
        padding: 0.5rem 1rem;
        font-size: 0.8rem;
        background: var(--bg-subtle, #f8f9fa);
        border: 1px solid var(--border-default, #ddd);
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .smallside .review-checklist li .review-sublabel {
        display: none;
    }

    .smallside .review-checklist li.active {
        background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
        color: var(--text-on-dark, #fff);
        border-color: transparent;
    }

    .smallside .review-checklist li.active .review-status {
        color: var(--brand-accent, #fdb913);
    }

    .smallside .authorise-bar {
        display: flex !important;
        padding: 8px 12px;
        font-size: 0.85rem;
    }

    .smallside .nav.flex-column {
        flex-direction: row !important;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 8px 12px;
        gap: 6px;
    }

    .smallside .nav.flex-column::-webkit-scrollbar {
        display: none;
    }

    .smallside::after {
        content: '';
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 30px;
        background: linear-gradient(to right, transparent, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))));
        pointer-events: none;
        z-index: 1;
    }

    .smallside .nav.flex-column .nav-item {
        white-space: nowrap;
        flex-shrink: 0;
    }

    .smallside .nav.flex-column .nav-item.navline {
        display: none;
    }

    .smallside .nav.flex-column.nav-pills .nav-link {
        border-left: none;
        border-radius: 20px;
        padding: 0.65rem 1.2rem;
        margin-bottom: 0;
        font-size: 0.875rem;
        line-height: 1.6;
        border: 1px solid var(--border-default, #ddd);
    }

    .smallside .nav.flex-column.nav-pills .nav-link:hover {
        background: var(--bg-gold-tint, #fff5dc);
        color: var(--brand-primary, #3d1a6f);
        border-color: var(--border-strong, #ccc);
    }

    .smallside .nav.flex-column.nav-pills .nav-link:focus-visible {
        outline: 2px solid var(--brand-primary, #3d1a6f);
        outline-offset: 2px;
    }

    .smallside .nav.flex-column.nav-pills .nav-link.active {
        background: var(--bg-purple-tint, #f3edf9) !important;
        color: var(--brand-primary, #3d1a6f) !important;
        border-color: var(--brand-primary, #3d1a6f);
        font-weight: 600;
    }

    .sub-content {
        border-left: 0px !important;
        min-height: auto;
        padding-top: 14px;
    }

    /* Make wide tables horizontally scrollable on mobile (QW-08) */
    .sub-content .card-body,
    .sub-content .body,
    .subtabpanel .card-body {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table-outer-rnd {
        -webkit-border-radius: 8px;
        -moz-border-radius: 8px;
        border-radius: 8px;
        overflow: hidden;
        margin-top: 1em;
        margin-bottom: 1em;
        margin-left: 0px;
        margin-right: 0px;
        font-size: 8px;
    }



    .mce-toolbar .mce-btn-group {
        zoom: 0.6 !important;
    }

    .talentcard {
        zoom: 0.8 !important;
    }

    .h1 {
        font-size: 2rem;
    }
    /* test to resize for mobile*/
    .col-xl, .col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg, .col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md, .col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm, .col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col, .col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
        padding-left: 1px;
        padding-right: 1px;
    }
    .container-fluid {
        padding-left: 1px;
        padding-right: 1px;
    }
    .container {
        padding-left: 1px;
        padding-right: 1px;
    }

}
@media (min-width: 766px) {
    .seperator {
        height: 1.5em;
    }
}

@media (min-width: 998px) {


    .dropdown .nav-item {
        font-size: 15px;
    }

    /*Tooltip styling -- CSS pseudo-element rules removed; tooltips are now real DOM
      elements created by bh-tooltips.js and styled via .bh-tooltip below. The mytooltip
      class and tooltiptext attribute remain the API. Direction classes (mytooltiptop,
      mytooltipleft, etc.) are read by the JS for positioning. */
    .mytooltip {
        margin-top: 0px !important;
        display: inline-block !important;
        position: relative !important;
        overflow: unset !important;
    }
    /* Suppress the old ::after pseudo so stale browser cache does not double-render */
    .mytooltip:hover:after,
    .mytooltip:hover:before {
        display: none !important;
        content: none !important;
    }

/* DOM tooltip element created by bh-tooltips.js */
.bh-tooltip {
    display: none;
    position: absolute;
    z-index: 20001;
    background: rgba(0, 0, 0, .8);
    color: var(--text-on-dark, #fff);
    border-radius: 10px;
    padding: 7px 15px;
    font-size: 12px;
    line-height: 1.2em;
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
    min-width: 150px;
    max-width: 250px;
    white-space: normal;
    text-align: left;
    pointer-events: none;
    box-shadow: 0px 10px 13px -7px #000000, 5px 5px 15px 5px rgba(0,0,0,0);
}
.bh-tooltip-icon {
    font-style: normal;
}

/* Bootstrap tooltips styled to match mytooltip */
.tooltip {
    font-family: 'Outfit', sans-serif;
    font-size: .8em;
    z-index: 20001;
}
.tooltip-inner {
    background: rgba(0, 0, 0, .8);
    border-radius: 10px;
    padding: 7px 15px;
    min-width: 150px;
    max-width: 300px;
    text-align: left;
    line-height: 1.2em;
    font-weight: 400;
    box-shadow: 0px 10px 13px -7px #000000, 5px 5px 15px 5px rgba(0,0,0,0);
}
.tooltip-inner::before {
    content: "\2139\0020"; /* Info icon like mytooltip */
}
.bs-tooltip-top .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
    border-top-color: rgba(0, 0, 0, .8);
}
.bs-tooltip-bottom .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
    border-bottom-color: rgba(0, 0, 0, .8);
}
.bs-tooltip-start .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
    border-left-color: rgba(0, 0, 0, .8);
}
.bs-tooltip-end .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
    border-right-color: rgba(0, 0, 0, .8);
}

    .welcome {
        display: inline;
    }
    .actionbutton {
        padding-bottom: 0.5em;
        font-size: 1.5em;
    }
    .actionbutton-lg {
        padding-bottom: 0.5em;
        font-size: 2em;
    }
    .nav a {
        color: var(--text-on-dark, #fff);
    }


    .seperator {
        height: 1.3em;
    }

    .mediacastlogocolour {
        display: none !important;
    }

    .mediacastlogowhite {
        display: inline !important;
    }

    .mediacastlogoverywhite {
        display: none !important;
    }

    .nav > li > a {
        padding: 10px 15px;
        color: var(--brand-primary, #3d1a6f);
    }

    #mainNav .navbar-nav .nav-item .nav-link {
        font-family: 'Outfit', sans-serif;
        font-size: 0.95rem;
        font-weight: 600;
        color: var(--text-on-dark, #fff);
        letter-spacing: 0.5px;
    }

    .seperator {
        height: 3em;
    }

    .specials {
        text-align: right;
    }

    #mainNav {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
        border: none;
        background: linear-gradient(135deg, #3d1a6f 0%, #2d1352 100%);
        box-shadow: 0 2px 12px rgba(61, 26, 111, 0.4);
        border-bottom: 3px solid var(--brand-accent, #fdb913);
        transition: padding-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out;
    }

        #mainNav .navbar-brand {
            font-size: 1em;
            transition: font-size 0.3s ease-in-out;
        }

            #mainNav .navbar-brand img {
                height: 3rem;
                transition: height 0.3s ease-in-out;
            }

        #mainNav.navbar-shrink {
            padding-top: 0.4rem;
            padding-bottom: 0.4rem;
            background: linear-gradient(135deg, #3d1a6f 0%, #2d1352 100%);
            box-shadow: 0 2px 16px rgba(61, 26, 111, 0.5);
        }

            #mainNav.navbar-shrink .navbar-brand {
                font-size: 1em;
            }

                #mainNav.navbar-shrink .navbar-brand svg,
                #mainNav.navbar-shrink .navbar-brand img {
                    height: 2rem;
                }

            #mainNav.navbar-shrink .navbar-nav .nav-item .nav-link,
            #mainNav.navbar-shrink .navbar-nav .nav-item .dropdown-toggle {
                color: var(--text-on-dark, #fff) !important;
            }

            #mainNav.navbar-shrink .navbar-nav .nav-item:hover .dropdown-toggle {
                color: var(--brand-accent, #fdb913) !important;
            }

        #mainNav .commstool {
            color: var(--brand-accent, #fdb913);
            padding: 0.4rem 0.9rem;
            margin-left: 10px;
            border: 1px solid rgba(253, 185, 19, 0.5);
            border-radius: 6px;
            font-weight: 600;
            background: rgba(253, 185, 19, 0.1);
            transition: all 0.2s ease;
        }

        #mainNav .commstool:hover {
            background: rgba(253, 185, 19, 0.2);
            border-color: var(--brand-accent, #fdb913);
        }

        #mainNav .padlock {
            color: var(--brand-danger, #ed174c);
            padding: 0.4rem 0.9rem;
            margin-left: 10px;
            border: 1px solid rgba(237, 23, 76, 0.5);
            border-radius: 6px;
            font-weight: 600;
            background: rgba(237, 23, 76, 0.1);
        }

        #mainNav .telephone {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: var(--text-on-dark, #fff);
            padding: 0.4rem 0.9rem;
            margin-left: 0;
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 6px;
            font-weight: 600;
            font-size: 0.75rem;
            background: rgba(255, 255, 255, 0.1);
            transition: all 0.2s ease;
        }

        #mainNav .telephone:hover {
            color: var(--brand-accent, #fdb913);
            background: rgba(253, 185, 19, 0.15);
            border-color: var(--brand-accent, #fdb913);
        }

        #mainNav.navbar-shrink .mediacastlogocolour {
            display: none !important;
        }

        #mainNav.navbar-shrink .mediacastlogowhite {
            display: inline !important;
        }

        #mainNav.navbar-shrink .mediacastlogoverywhite {
            display: none !important;
        }

        #mainNav .navbar-nav .nav-item {
            margin-right: 1rem;
        }

            #mainNav .navbar-nav .nav-item:last-child {
                margin-right: 0;
            }
}

/* Tablet landscape (992px-1249px) - compact navbar to prevent wrapping */
@media (min-width: 992px) and (max-width: 1249px) {
    /* Main navbar - full width flex */
    #mainNav {
        padding-top: 0.4rem !important;
        padding-bottom: 0.4rem !important;
    }

    #mainNav > .container,
    #mainNav > .container-fluid {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        max-width: 100% !important;
    }

    /* Force navbar container to spread items */
    #mainNav .navbar-collapse {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-grow: 1 !important;
    }

    /* Main nav menu - don't grow, stay compact */
    #mainNav .navbar-nav:first-child {
        flex-wrap: nowrap !important;
        flex-grow: 0 !important;
        flex-shrink: 0 !important;
    }

    /* Reduce logo area significantly */
    #mainNav .navbar-brand {
        max-width: 160px !important;
        flex-shrink: 0 !important;
    }

    #mainNav .navbar-brand > div {
        padding-right: 0.5rem !important;
        gap: 4px !important;
    }

    #mainNav .navbar-brand img {
        height: 38px !important;
    }

    #mainNav .navbar-brand span:first-child {
        font-size: 1.1rem !important;
    }

    #mainNav .navbar-brand span:last-child {
        font-size: 0.45rem !important;
        display: none !important;
    }

    /* Tablet menu items - comfortable spacing */
    #mainNav .navbar-nav .nav-item {
        margin-right: 1rem !important;
    }

    #mainNav .navbar-nav .nav-item:last-child {
        margin-right: 0 !important;
    }

    #mainNav .navbar-nav .nav-item .dropdown-toggle {
        font-size: 0.85rem !important;
        padding: 0.25rem 0.5rem !important;
        gap: 4px !important;
    }

    #mainNav .navbar-nav .nav-item .dropdown-toggle i {
        font-size: 0.9rem !important;
    }

    #mainNav .navbar-nav .nav-item .dropdown-toggle::after {
        margin-left: 2px !important;
        border-top-width: 3px !important;
        border-right-width: 2px !important;
        border-left-width: 2px !important;
    }

    /* Specials/buttons - push to far right */
    #mainNav .specials {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: flex-end !important;
        gap: 0.15rem !important;
        margin-left: auto !important;
        flex-shrink: 0 !important;
        padding-left: 0.5rem !important;
    }

    #mainNav .specials > li {
        display: flex !important;
        align-items: center !important;
    }

    /* THE HIVE and LOGOUT stacked */
    #mainNav .specials .nav-buttons-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.25rem !important;
    }

    #mainNav .telephone {
        font-size: 0.55rem !important;
        padding: 0.2rem 0.35rem !important;
        white-space: nowrap !important;
    }

    /* Compact toolbar buttons */
    #mainNav .navtoolbtn i {
        padding-left: 3px !important;
        font-size: 0.85rem !important;
    }

    /* Remove right padding from navbar to push buttons flush right */
    #mainNav {
        padding-right: 0.5rem !important;
    }

    #mainNav .specials {
        padding-right: 0 !important;
        margin-right: 0 !important;
    }

    /* Reduce brand padding-right on tablet */
    #mainNav .navbar-brand > div {
        padding-right: 1rem !important;
    }
}

/* Narrow tablet (992px-1100px) - tighter but still readable */
@media (min-width: 992px) and (max-width: 1100px) {
    #mainNav .navbar-nav .nav-item {
        margin-right: 0.5rem !important;
    }

    /* Slightly smaller nav text */
    #mainNav .navbar-nav .nav-item .dropdown-toggle {
        font-size: 0.8rem !important;
        padding: 0.25rem 0.35rem !important;
        gap: 2px !important;
    }

    #mainNav .navbar-nav .nav-item .dropdown-toggle i {
        font-size: 0.9rem !important;
    }

    /* Smaller dropdown caret */
    #mainNav .navbar-nav .nav-item .dropdown-toggle::after {
        margin-left: 2px !important;
        border-top-width: 3px !important;
        border-right-width: 2px !important;
        border-left-width: 2px !important;
    }

    /* Very compact buttons */
    #mainNav .telephone {
        font-size: 0.55rem !important;
        padding: 0.2rem 0.35rem !important;
    }

    /* Smaller logo */
    #mainNav .navbar-brand img {
        height: 35px !important;
    }

    #mainNav .navbar-brand span:first-child {
        font-size: 1rem !important;
    }

    #mainNav .navbar-brand span:last-child {
        display: none !important;
    }

    /* Ensure buttons flush right on narrow tablets too */
    #mainNav {
        padding-right: 0.25rem !important;
    }

    #mainNav .specials {
        padding-right: 0 !important;
        margin-right: 0 !important;
    }

    #mainNav .navbar-brand > div {
        padding-right: 0.5rem !important;
    }
}

@media (min-width: 1250px) {
    /* Keep navbar items and specials on same row */
    #mainNav .navbar-collapse {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
    }

    #mainNav .navbar-nav .nav-item {
        margin-right: 1.2rem !important;
    }

    /* Specials (notifications + buttons) stay right-aligned */
    #mainNav .specials {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: flex-end !important;
        margin-left: auto !important;
        gap: 0.25rem;
    }

    #mainNav .specials > li {
        display: flex !important;
        align-items: center !important;
    }

    /* THE HIVE and LOGOUT stacked on larger screens */
    #mainNav .nav-buttons-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.25rem;
    }
}
@media (min-width: 1300px) {
    #mainNav .navbar-nav .nav-item {
        margin-right: 2rem !important;
    }
}
@media (min-width: 1500px) {
    #mainNav .navbar-nav .nav-item {
        margin-right: 2.5rem !important;
    }
}

.required:after {
    color: var(--brand-danger, #ed174c);
    font-family: 'FontAwesome';
    font-weight: normal;
    font-size: 14px;
    content: "\f069";
    padding-left: 2px;
}
/*to manage lost images*/
img {
    display: inline-block;
    /*above cant be sent to important as it changes the nav. 2 bee problem*/
    font-family: Arial, sans-serif;
    font-weight: 300;
    line-height: 2;
    text-align: center;
    /*    min-width: 300px;
    min-height: 50px;*/
    display: block;
    position: relative;
}
    img::before {
        content: '';
        width: 100%;
        min-height: 130px;
        background-color: var(--border-strong, #ccc);
        border-radius: 0px;
        position: absolute;
        top: 0%;
        left: -0px;
        transform: translateY(-50%);
    }
    img::after {
        /*
        content: "\2639" " " attr(alt);
        font-size: 18px;
            */
        font-family: 'FontAwesome';
        content: "\f03e" " " attr(alt);
        font-size:2em;
        color: var(--text-secondary, rgb(100, 100, 100));
        display: block;
        position: absolute;
        z-index: 2;
        top: 0px;
        left: 0;
        width: 100%;
        height: 100%;
    }
.text-danger{
    color:var(--brand-danger, #ed174c);
}
/* Grid-based pill navigation (used in GridViews as vertical tabs) */
.gridpillouter a {
    display: block;
    color: var(--text-secondary, #666);
    padding: 0.75rem 1.25rem;
    border-radius: 8px;
    margin-bottom: 0.5rem;
    transition: all 0.2s ease;
    font-weight: 500;
    font-size: 14px;
    border-left: 3px solid transparent;
    text-decoration: none;
}
.gridpillouter a:hover {
    background: var(--bg-gold-tint, #fff5dc);
    color: var(--brand-primary, #3d1a6f);
    border-left-color: var(--brand-accent, #fdb913);
    text-decoration: none;
}
.gridpillouter a.active,
.gridpillouter a.selected {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%) !important;
    color: var(--text-on-dark, #fff) !important;
    border-left-color: var(--brand-accent, #fdb913);
}

.gridpills {
    border-radius: 8px;
}
.storybox {
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    height: 200px;
    width: 100%;
    /*  max-width: 300px;*/
    background: rgba(0,0,0,0.7) 0%;
    color: var(--text-on-dark, #fff);
    text-align: center;
    vertical-align: middle;
    position: relative;

}
.storyboximage {
    overflow: visible;
    width: 100%;
    height: 200px;
    border-radius: 3px;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.4);
    margin-top: 30px;
    margin-left: 10%;
}

    .storybox:hover {
        /*  background: rgba(0,0,0,0.8) 0%;*/
    }
    .storybox a {
        color:var(--text-on-dark, #fff);
    }

.storyboxtitle {
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    color: var(--text-on-dark, #fff);
    padding-top: 10px;
    height: 80% !important;
    position: relative;
    z-index: 11;
    min-width:40px;
}
.storyboxtitle-text {
    display: block;
    padding: 0 10px;
}
.storyboxdesc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 8px;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--text-on-dark-muted, rgba(255, 255, 255, 0.7));
}
.storyboxdesc:empty {
    display: none;
}
.storybox.is-closed .storyboxtitle {
    opacity: 0.55;
    filter: grayscale(0.7);
}
.storybox.is-closed:hover .storyboxtitle {
    opacity: 0.8;
}
.storybox-status-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 12;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: rgba(220, 53, 69, 0.85);
    color: #fff;
    pointer-events: none;
}
.storybox-reopen-btn {
    position: absolute;
    bottom: 8px;
    right: 8px;
    z-index: 12;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    background: var(--brand-primary, #5a2d82);
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.storybox-reopen-btn:hover,
.storybox-reopen-btn:focus {
    background: var(--brand-primary-hover, #6e3a9e);
    color: #fff !important;
    text-decoration: none !important;
}
.storyboxtitle-bottom {
    position: relative;
    bottom: 5px;
    z-index: 11;
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    color: var(--text-on-dark, #fff);
}
.storyboxtext {
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    color: var(--text-on-dark, #fff);
    position: relative;
    z-index: 11;
}

/* Story health badges on story selector cards */
.story-health-badge {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 12;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.6rem;
    border-radius: 20px;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}
.story-health-badge i { font-size: 0.6rem; }
.story-health-badge.on-track { background: var(--status-success, #28a745); color: var(--text-on-dark, #fff); }
.story-health-badge.at-risk { background: var(--status-warning-bg, #ffc107); color: var(--text-primary, #333); }
.story-health-badge.off-track { background: var(--status-danger, #dc3545); color: var(--text-on-dark, #fff); }
.story-health-badge.mytooltip { position: absolute !important; }

.storyboxoverlay {
    content: "open";
    position: absolute;
    height: 200px;
    width: 100%;
    text-align: center;
    top: 0;
    left: 0px;
    background: rgba(61,26,111, .5);
    z-index: 1;
    border-radius: 3px;
    pointer-events: none;
}
.fixed-top {
    /* Must beat .smallside sticky sub-nav (z-index 1020) so mobile burger menu renders above sub-nav pills. Bootstrap default is 1030. */
    z-index: 1030;
}

/*Talent Card */
.firstinfo {
    display: flex;
    justify-content: left;
}

.surveycontent {
    position: relative;
}


.surveycard {
    height: 80px;
    padding: 20px;
    border-radius: 3px;
    background-color: var(--bg-surface, #fff);
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
    /* position: relative;
    overflow: hidden;*/
}


.surveycard:hover {
    animation-name: animateprojectcard;
    animation-duration: 0.9s;
    background-color: var(--bg-muted, #f0f0f0);
}
.surveyactionscard {
    top: 20px;
    right: 27px;
    /* padding: 2px 20px; */
    border-radius: 3px;
    background-color: var(--bg-muted, #f0f0f0);
    width: 175px;
    box-shadow: 0px 10px 20px rgb(0 0 0 / 20%);
    position: absolute;
    z-index: 0;
    /* left: 286px;
     bottom: 34px;
      
    */
    height: 3em;
    padding-top: 5px;
    text-align: center;
}

    .surveyactionscard span {
        font-size: 1.6em;
        margin: 0px 6px;
        opacity: 0.6;
    }

.talentcontent {
    position: relative;
    /*  animation: animatop 0.9s cubic-bezier(0.425, 1.14, 0.47, 1.125) forwards;*/
}
.talentcontent-animate {
    position: relative;
    /* animatop slide-up removed -- replayed on every postback (e.g. Enable Alerts toggle) and looked like a flicker */
}
.talentcard {
    background: var(--bg-surface, #fff);
    border-radius: 12px;
    border: 1.5px solid var(--brand-primary, #3d1a6f);
    box-shadow: 0 2px 16px rgba(61,26,111,0.10);
    position: relative;
    overflow: hidden;
    /* Fixed width keeps every card the same size regardless of content length.
       370px fits a full-length work email (e.g. georgevanvelzen@mediacast.com.au, 32 chars)
       on one line so the EMAIL row doesn't wrap mid-token and add height. */
    width: 370px;
    min-width: 0;
    min-height: 720px;
    display: flex;
    flex-direction: column;
    z-index: 5;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.talentcard:hover {
    box-shadow: 0 4px 20px rgba(61,26,111,0.16);
}
/* InterviewCoverage Talent & Access cards carry no availability calendar (removed in the
   2026-05-12 Portal-Access merge), so the 720px floor above -- which existed only to reserve
   room for that calendar -- just leaves dead whitespace, most visible on the content-light
   admin card. Inside the portal-cards grid, size to content; the grid keeps same-row cards
   equal-height. portal-cards-container is InterviewCoverage-only, so this floor stays intact
   for CampaignBuilder et al. where the calendar still lives. */
.portal-cards-container .talentcard { min-height: auto; }
/* Schedule Administrator cards: same visual family as the talent cards, but content-light
   (name / email / alerts / last-seen only) -- so a slimmer portrait variant in a tighter grid.
   Banner + avatar kept (shared family), just scaled down. talentcontent flexes so each card
   fills its stretched grid cell -> the admin cards and the ghost add-card share one height. The
   alert-row footer pins to the bottom; the small min-height only gives a lone card / ghost
   presence (real content exceeds it). The --admin grid is InterviewCoverage Talent & Access only. */
.portal-cards-container--admin {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
.portal-cards-container--admin .talentcontent { display: flex; }
.portal-cards-container--admin .talentcard {
    width: 100%;
    max-width: 320px;
    min-height: 180px;
}
.portal-cards-container--admin .talent-banner { height: 56px; }
.portal-cards-container--admin .talent-header { margin-top: -32px; }
.portal-cards-container--admin .talent-alert-row { margin-top: auto; }
/* Equal-height cards: the row stretches every col to the tallest sibling (Bootstrap
   .row default), but that height has to propagate down the wrapper chain to the card,
   otherwise a card with less content (e.g. "None" availability) sits short. Flex the
   whole chain so .talentcard fills its column; .talent-availability absorbs the slack. */
.listview-container .col-auto { display: flex; flex-direction: column; }
.listview-container .talentcontentcontainer { flex: 1 1 auto; display: flex; flex-direction: column; }
.listview-container .talentcontent-animate { flex: 1 1 auto; display: flex; flex-direction: column; }
.listview-container .talentcard { flex: 1 1 auto; }

/* Availability section grows to fill the vertical difference between cards */
.talentcard .talent-availability {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
.talentcard .talent-availability-list {
    max-height: 220px;
    overflow-y: auto;
}

.talentcard-sm { min-height: 250px !important; }
.talentcard-xs { height: 250px !important; }

/* Bio indicator (id-card icon, brand-purple filled vs muted outline) */
.talent-bio-indicator { margin-left: 0.4rem; font-size: 0.9rem; vertical-align: middle; }
.talent-bio-indicator--has { color: var(--brand-primary, #3d1a6f); }
.talent-bio-indicator--missing { color: var(--text-muted, #b0b0b0); }

/* Ghost "Add talent" card -- dashed brand-purple, matches real-card footprint */
.talentcard--ghost {
    background: var(--bg-surface, #fff);
    border: 2px dashed var(--brand-primary, #3d1a6f);
    box-shadow: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.talentcard--ghost:hover {
    background: var(--bg-purple-tint, #f4eef9);
    border-color: var(--brand-secondary, #5a2d82);
}
.talentcard-ghost-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2rem 1.5rem;
    gap: 0.5rem;
    color: var(--brand-primary, #3d1a6f);
}
.talentcard-ghost-inner i {
    font-size: 2.5rem;
    color: var(--brand-primary, #3d1a6f);
}
.talentcard-ghost-title {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.talentcard-ghost-hint {
    font-size: 0.8rem;
    color: var(--text-muted, #888);
}

/* -- Talent Card Banner -- */
.talent-banner {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 60%, #7d1d61 100%);
    height: 72px;
    border-radius: 12px 12px 0 0;
    position: relative;
}

/* -- Talent Card Header: centered photo + name -- */
.talent-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 1.25rem 0.75rem;
    margin-top: -40px;
    position: relative;
    z-index: 2;
}
/* Wrap stacks photo over initials placeholder; image hides itself onerror so initials show through */
.talent-photo-wrap {
    position: relative;
    width: 80px;
    height: 80px;
}
.talent-photo-wrap .talent-photo,
.talent-photo-wrap .talent-photo-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 80px;
    height: 80px;
}
.talent-photo {
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #fff;
    background: var(--bg-purple-tint, #f0edf5);
    box-shadow: 0 2px 8px rgba(61,26,111,0.15);
    z-index: 2;
}
.talent-photo-placeholder {
    border-radius: 50%;
    border: 4px solid #fff;
    background: linear-gradient(135deg, #fdb913 0%, #f5a623 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-primary, #3d1a6f);
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 1px;
    box-shadow: 0 2px 8px rgba(61,26,111,0.15);
    z-index: 1;
}
.talent-identity {
    text-align: center;
    margin-top: 0.4rem;
    max-width: 100%;
}
.talent-identity .talent-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    margin: 0 0 0.15rem;
    line-height: 1.3;
}
.talent-identity .talent-title {
    font-size: 0.82rem;
    color: var(--text-tertiary, #888);
    margin: 0;
    line-height: 1.4;
}

/* -- Action toolbar -- */
.talent-actions {
    display: flex;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.5rem 1.25rem;
    border-top: 1px solid #f0edf5;
    border-bottom: 1px solid #f0edf5;
    background: var(--bg-subtle, #fafafa);
}
.talent-actions .action-btn {
    width: 30px;
    height: 30px;
    font-size: 0.75rem;
}

/* -- Contact details grid -- */
.talent-details {
    padding: 0.75rem 1.25rem 0.5rem;
}
.talent-detail-row {
    display: flex;
    align-items: center;
    padding: 0.3rem 0;
    font-size: 0.85rem;
    color: var(--text-primary, #444);
    line-height: 1.4;
}
.talent-detail-row i {
    width: 20px;
    text-align: center;
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.8rem;
    flex-shrink: 0;
    margin-right: 0.4rem;
}
.talent-detail-row a { color: var(--brand-primary, #3d1a6f); }
.talent-detail-row a:hover { color: var(--brand-primary, #5a2d9e); text-decoration: underline; }
.talent-detail-row .talent-email { word-break: break-all; }
.talent-detail-label {
    color: var(--text-muted, #aaa);
    font-size: 0.72rem;
    min-width: 54px;
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
}

/* Empty-state row -- keeps card heights aligned across the grid when a contact field is
   blank. Icon + label stay visible (so the row reserves space + structure is obvious);
   a muted "Not set" placeholder makes the absence explicit without looking like data. */
.talent-detail-row--empty {
    opacity: 0.55;
}
.talent-detail-row--empty::after {
    content: "Not set";
    color: var(--text-muted, #999);
    font-style: italic;
    font-size: 0.78rem;
}

/* -- Divider -- */
.talent-divider {
    border: none;
    border-top: 1px solid #f0edf5;
    margin: 0.2rem 0;
}

/* -- Agreement state row -- in-card workflow surface for the talent-agreement state
   machine. Three modifier classes drive the colour palette: none/inprogress/signed. --*/
.talent-agreement-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.5rem;
    padding: 0.55rem 1rem;
    margin: 0.35rem 0.75rem 0;
    border-radius: 8px;
    font-size: 0.85rem;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
/* Whole box is the click target (delegated to .ta-row-cta in JS) -- hover signals it. */
.talent-agreement-row:hover { box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12); }
.talent-agreement-row .ta-row-icon { flex: 0 0 auto; font-size: 0.95rem; }
.talent-agreement-row .ta-row-label {
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--brand-primary, #3d1a6f);
}
.talent-agreement-row .ta-row-state {
    flex: 1 1 auto;
    color: var(--text-primary, #333);
    font-weight: 500;
    min-width: 0;
    text-align: right;
}
/* CTA forced onto its own full-width line below the label/state -- the narrow card
   (340px) can't fit label + state + button on one row without the date wrapping. */
.talent-agreement-row .ta-row-cta {
    flex: 1 0 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.4rem;
    padding: 0.3rem 0.7rem;
    font-size: 0.8rem;
    line-height: 1.4;
}

.talent-agreement-row.ta-state--none {
    background: var(--bg-subtle, #faf8fd);
    border-color: var(--border-default, #e9ecef);
}
.talent-agreement-row.ta-state--none .ta-row-icon,
.talent-agreement-row.ta-state--none .ta-row-state { color: var(--text-muted, #888); }
.talent-agreement-row.ta-state--none .ta-row-cta {
    background: var(--bg-surface, #fff);
    color: var(--brand-primary, #3d1a6f);
    border: 1px solid var(--brand-primary, #3d1a6f);
}

.talent-agreement-row.ta-state--inprogress {
    background: var(--bg-gold-tint, #fff5dc);
    border-color: var(--border-gold-soft, #e8dfa8);
}
.talent-agreement-row.ta-state--inprogress .ta-row-icon { color: var(--brand-accent, #d4a824); }

.talent-agreement-row.ta-state--signed {
    background: var(--status-success-bg, #d4edda);
    border-color: var(--status-success, #28a745);
}
.talent-agreement-row.ta-state--signed .ta-row-icon { color: var(--status-success, #28a745); }
.talent-agreement-row.ta-state--signed .ta-row-state { color: var(--status-success-text, #155724); }

/* -- Alert row -- */
.talent-alert-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.25rem;
    background: var(--bg-subtle, #fafafa);
    border-top: 1px solid #f0edf5;
    font-size: 0.82rem;
    color: var(--text-secondary, #666);
}
.talent-alert-row i { color: var(--brand-danger, #ed174c); font-size: 0.8rem; }
.talent-alert-row .switch { margin-left: auto; }

/* -- Enable Alerts toggle bar -- */
.talent-toggle-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1.25rem;
    background: var(--bg-purple-tint, #f8f6fb);
    border-top: 1px solid #f0edf5;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
}

/* -- Notes section -- */
.talent-notes {
    padding: 0.5rem 1.25rem 0.75rem;
    font-size: 0.85rem;
    color: var(--text-body, #555);
    border-top: 1px solid #f0edf5;
}

/* -- Talent Availability section -- */
.talent-availability {
    padding: 0.6rem 1.25rem 0.75rem;
    border-top: 1px solid #f0edf5;
}
.talent-availability h6 {
    font-size: 0.72rem;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 700;
    margin: 0 0 0.35rem;
    border-bottom: 2px solid #fdb913;
    padding-bottom: 0.2rem;
    display: inline-block;
}
.talent-availability .legend {
    font-size: 0.72rem;
    color: var(--text-muted, #888);
    margin-bottom: 0.4rem;
}
.talent-availability .legend .red { color: #ed174c; font-weight: 600; }
.talent-availability .legend .green { color: #28a745; font-weight: 600; }
.talent-availability-list { display: flex; flex-direction: column; gap: 0.2rem; }
.talent-availability-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.3rem 0.5rem;
    border-radius: 6px;
    background: var(--bg-subtle, #fafafa);
    font-size: 0.82rem;
    border-left: 3px solid transparent;
}
.talent-availability-item:hover { background: var(--bg-purple-tint, #f8f6fb); }
.talent-availability-item.is-unavailable { border-left-color: #ed174c; }
.talent-availability-item.is-available { border-left-color: #28a745; }
.talent-availability-item .action-btn { width: 26px; height: 26px; font-size: 0.7rem; }
.talent-availability-item .talent-availability-date { color: var(--text-body, #444); }
.talent-availability-item.is-unavailable .talent-availability-date { color: #ed174c; }
.talent-availability-item.is-available .talent-availability-date { color: #28a745; }

/* -- Add to Directory button -- gold-accent "encourage" affordance, not destructive red.
   Pairs with the gold .btn-sparkle pulse. Constructive action (promote talent to the reusable
   directory) reads as an enhancement, never a warning. */
.talent-identity .btn-add-library {
    margin-top: 0.5rem;
    font-size: 0.78rem;
    color: var(--brand-primary, #3d1a6f);
    background: var(--bg-gold-tint, #fff5dc);
    border: 1.5px solid var(--brand-accent, #fdb913);
    font-weight: 600;
}
.talent-identity .btn-add-library:hover,
.talent-identity .btn-add-library:focus {
    /* Solid gold fill in both themes -> dark purple text reads on gold regardless of theme
       (do NOT use --brand-primary here: it flips to light violet in dark and washes out on gold). */
    color: #3d1a6f;
    background: var(--brand-accent, #fdb913);
    border-color: var(--brand-accent, #fdb913);
}
/* Done-state: quiet confirmation once the talent is in the directory (replaces the CTA). */
.talent-identity .talent-directory-pill {
    margin-top: 0.5rem;
    font-size: 0.72rem;
}

/* -- Mobile responsive -- */
@media (max-width: 576px) {
    .talentcard { max-width: 100%; }
    .talent-banner { height: 56px; }
    .talent-header { margin-top: -32px; }
    .talent-photo-wrap { width: 64px; height: 64px; }
    .talent-photo-wrap .talent-photo,
    .talent-photo-wrap .talent-photo-placeholder { width: 64px; height: 64px; font-size: 1.2rem; }
    .talent-details, .talent-notes,
    .talent-alert-row, .talent-availability,
    .talent-toggle-bar, .talent-actions { padding-left: 1rem; padding-right: 1rem; }
}

.firstinfo {
    flex-direction: row;
    z-index: 2;
    position: relative;
}

    .firstinfo img {
        width: 30%;
    }

    .firstinfo .profileinfo {
        padding: 0px 20px;
    }

.talentcard h5 {
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0em;
}

.talentcard h6 {
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0em;
}

.firstinfo .profileinfo p.bio {
    padding: 10px 0px;
    color: var(--text-body, #5a5a5a);
    line-height: 1.2;
    font-style: initial;
}

@keyframes animatop {
    0% {
        opacity: 0;
        bottom: -100px;
    }

    100% {
        opacity: 1;
        bottom: 0px;
    }
}

@keyframes animainfos {
    0% {
        bottom: 10px;
    }

    100% {
        bottom: -42px;
    }
}
/* end talent card*/
/* start headshot */
.headshot {
    /* width: 100%;*/
    height: 250px;
    /* overflow: hidden;*/
}

.headshotimg {
    width: 100%;
    text-align:center;
    /*   height: 100%;
    min-width: 100%;
    left: 50%;
    position: relative;
    transform: translateX(-50%);
     */
}
/* end headshot */

.financecontent {
    position: relative;
    margin-bottom: .5em;
}
.financecard {
    position: relative;
    min-height: 80px;
    padding: 20px;
    border-radius: 3px;
    background-color: var(--bg-surface, #fff);
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
}

    .financecard:hover {
        animation-name: animateprojectcard;
        animation-duration: 0.9s;
        background-color: var(--bg-muted, #f0f0f0);
    }
.sharefilecontent {
    position: relative;
    margin-bottom: 2.5em;
}

.sharefilecard {
    min-height: 164px;
    padding: 20px;
    border-radius: 3px;
    background-color: var(--bg-surface, #fff);
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
}






/* Card Actions - inline icon buttons (replaces *actionscard grey slab) */
.card-actions {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    display: flex;
    gap: 0.5rem;
    z-index: 10;
}
.card-actions .btn {
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 0.85rem;
}
/* Mobile: card-actions wrap and reduce size to prevent overflow */
@media (max-width: 576px) {
    .card-actions {
        position: relative;
        top: 0;
        right: 0;
        flex-wrap: wrap;
        justify-content: flex-end;
        margin-bottom: 0.5rem;
    }
    .card-actions .btn {
        width: 28px;
        height: 28px;
        font-size: 0.75rem;
    }
}
/* Card tooltip overflow hacks removed -- tooltips are now body-appended via bh-tooltips.js */

    /*Project Card */
    .projectinfo, .projectactionscard {
    display: flex;
    justify-content: left;
}

.projectcontent {
    position: relative;
    margin-bottom: .5em;
    /*  animation: animaprojecttop 0.9s cubic-bezier(0.425, 1.14, 0.47, 1.125) forwards;*/
}
.projectcontent-sm {
    margin-bottom: .3em;
}

.projectcard {
    position: relative;
    min-height: 100px;
    padding: 20px;
    border-radius: 3px;
    background-color: var(--bg-surface, #fff);
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
}
    .projectcard:hover {
        animation-name: animateprojectcard;
        animation-duration: 0.9s;
        background-color: var(--bg-muted, #f0f0f0);
    }
@keyframes animateprojectcard {
    from {
        background-color: var(--brand-danger, #ed174c);
    }

    to {
        background-color: var(--bg-muted, #f0f0f0);
    }
}
.projectcard-sm {
    min-height:40px;
    padding:10px;
}
.projectcard-lg {
    min-height: 100px;
    padding: 10px;
}
.projectactionscard {
    display: inline-block;
    align-content: center;
    text-align: center;
    border-radius: 3px;
    background-color: var(--bg-muted, #f0f0f0);
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
    position: absolute;
    top: 5px;
    height: 6em;
    padding-top: 5px;
    margin-left: 2.7em;
    line-height: 0px;
    animation: animaprojectinfos 0.5s cubic-bezier(0.425, 1.04, 0.47, 1.105) 0.75s forwards;
}
.projectactionscard-xs {
    height: 2em;
}
.projectactionscard-sm {
    height:4em;
}
.projectactionscard-md {
    height: 5em;
}
.projectactionscard-lg {
    height: 8em;
}
.projectactionscard-xl {
    height: 12em;
}

.projectcard span {
    /*
        REMOVED FOR WORD COMPATIBILITY
        margin: 0px 6px;
    */
    /* color: var(--brand-primary, #3d1a6f);*/
}



.newscard {
    min-height: 50px;
    padding: 20px;
    border-radius: 3px;
    background-color: var(--bg-surface, #fff);
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
}
.newscontent {
    position: relative;
    margin-bottom: .5em;
    /*  animation: animaprojecttop 0.9s cubic-bezier(0.425, 1.14, 0.47, 1.125) forwards;*/
}
    .newscard:hover {
        animation-name: animateprojectcard;
        animation-duration: 0.9s;
        background-color: var(--bg-muted, #f0f0f0);
    }

.projectinfo {
    flex-direction: row;
    z-index: 2;
    position: relative;
}

/*Project Card */

.nwinfo, .nwactionscard {
    display: flex;
    justify-content: left;
}

.nwcontentcard {
    position: relative;
    margin-bottom: 0em;
}

.nwcard {
    min-height: 40px;
    padding: 1em;
    border-radius: 8px;
    background-color: var(--bg-surface, #fff);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.06);
    position: relative;
    overflow: hidden;
    border-left: 4px solid #5D3991;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

    .nwcard:hover {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12), 0 8px 24px rgba(0, 0, 0, 0.08);
        transform: translateY(-1px);
    }

.nw-filename-badge {
    display: inline-block;
    background-color: #f3f0f7;
    color: var(--brand-primary, #5d3991);
    padding: 0.25em 0.6em;
    border-radius: 4px;
    font-size: 0.85em;
    font-family: 'Consolas', 'Monaco', monospace;
    word-break: break-all;
    max-width: 100%;
    border: 1px solid #e0d8eb;
}

@keyframes animatenwcard {
    from {
        background-color: var(--brand-danger, #ed174c);
    }

    to {
        background-color: var(--bg-muted, #f0f0f0);
    }
}

.nwactionscard {
    display: inline-block;
    align-content: center;
    text-align: center;
    border-radius: 3px;
    background-color: var(--bg-muted, #f0f0f0);
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
    position: absolute;
    top: 5px;
    height: 6em;
    padding-top: 5px;
    margin-left: 3.2em;
    line-height: 0px;
    animation: animaprojectinfos 0.5s cubic-bezier(0.425, 1.04, 0.47, 1.105) 0.75s forwards;
}


/*Fileshare Card */
.fileshareinfo {
    display: flex;
    justify-content: left;
    text-align: left;
}

.filesharecontent {
    width: 470px;
    position: relative;
    margin-bottom: .5em;
    margin-top: 30px;
    margin-left: 20%;
    animation: animaprojecttop 0.9s cubic-bezier(0.425, 1.14, 0.47, 1.125) forwards;
}

.filesharecontent-sm {
    margin-bottom: .3em;
}

.filesharecard {
    min-height: 230px;
    padding: 20px;
    border-radius: 3px;
    background-color: var(--bg-surface, #fff);
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
}

    .filesharecard:hover {
        animation-name: animatefilesharecard;
        animation-duration: 0.9s;
        background-color: var(--bg-muted, #f0f0f0);
    }

@keyframes animatefilesharecard {
    from {
        background-color: var(--brand-danger, #ed174c);
    }

    to {
        background-color: var(--bg-muted, #f0f0f0);
    }
}

.filesharecard-sm {
    min-height: 40px;
    padding: 10px;
}

.filesharecard span {
    margin: 0px 6px;
}

.fileshareinfo {
    flex-direction: row;
    z-index: 2;
    position: relative;
}

/*fileshare Card */
.agreementinfo {
    display: flex;
    justify-content: left;
}


.agreementinfo, .agreementactionscard-bottom {
    display: flex;
    justify-content: left;
}
.agreementactionscard-bottom {
    left: unset !important;
    right: 70px !important;
    text-align:center;
}
.agreementcontent {
    position: relative;
    margin-bottom: 2em;
}
.agreementcontent-sm {
    margin-bottom: .5em;
}
.agreementcard {
    min-height: 13em;
    padding: 20px;
    border-radius: 3px;
    background-color: var(--bg-surface, #fff);
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
}
.agreementcard-lg {
    min-height: 20em;
}
.agreementcard-sm {
    min-height: 7.5em;
}
.agreementcard span {
    margin: 0px 6px;
    color: var(--brand-primary, #3d1a6f);
}
.agreementinfo {
    flex-direction: row;
    z-index: 2;
    position: relative;
}

.agreementactionscard-bottom {
    padding: 2px 20px;
    border-radius: 3px;
    background-color: var(--bg-muted, #f0f0f0);
    width: 780px;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
    position: absolute;
    z-index: -1;
    left: 70px;
    bottom: 10px;
    padding-top: 5px;
    animation: animainfos 0.5s cubic-bezier(0.425, 1.04, 0.47, 1.105) 0.75s forwards;
    display: inline-block;
}

    .agreementactionscard-bottom span {
        font-size: 1.6em;
        margin: 0px 6px;
        opacity: 0.6;
    }


@keyframes animaprojecttop {
    0% {
        opacity: 0;
        left: -50px;
    }

    100% {
        opacity: 1;
        left: 0px;
    }
}
@keyframes animaprojectinfos {
    0% {
        left: 10px;
    }

    100% {
        left: -42px;
    }
}

.card-header{
    padding-left:0px;
}
.nav-item a {
    color:var(--brand-primary, #3d1a6f);
}


/* fix menu links*/
.dropdown a {
    color: var(--text-on-dark, #fff);
}

/* grey colour for placeholder text*/
::-webkit-input-placeholder { /* Edge */
    font-style: italic;
    color:var(--text-muted, #b4b4b4) !important;
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
    font-style: italic;
    color: var(--text-muted, #b4b4b4) !important;
}

::placeholder {
    font-style: italic;
    color: var(--text-muted, #b4b4b4) !important;
}
/* smaller cards */
.card-header{
    padding-top: 10px;
    padding-bottom: 3px;
}

/* The switch - the box around the slider */
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

    /* Hide default HTML checkbox */
    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

/* The slider */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--border-strong, #ccc);
    -webkit-transition: .4s;
    transition: .4s;
}

    .slider:before {
        position: absolute;
        content: "";
        height: 26px;
        width: 26px;
        left: 4px;
        bottom: 4px;
        background-color: var(--bg-surface, #fff);
        -webkit-transition: .4s;
        transition: .4s;
    }

input:checked + .slider {
    background-color: var(--brand-accent, #fdb913);
}

input:focus + .slider {
    box-shadow: 0 0 1px var(--brand-accent, #fdb913);
}

input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
}

    .slider.round:before {
        border-radius: 50%;
    }
/* Softened modernised look - Track 1 of yellow-border-modernisation-plan.
   Pale gold 1px border with rounded corners. Replaces the old 2px bright-gold
   box site-wide without markup changes.
   Only .yellow-border has a cream fill; .yellow-border-thin stays transparent
   so nested usage (thin inside regular) doesn't compound backgrounds. */
.yellow-border-thin {
    border: 1px solid var(--border-gold-softer, #f0e6b5);
    border-radius: 8px;
    padding: 0.75rem 1rem;
}
.yellow-border {
    border: 1px solid var(--border-gold-soft, #e8dfa8);
    border-radius: 10px;
    background: var(--bg-gold-tint, #fffbea);
    padding: 1rem 1.25rem;
}
/* When .yellow-border-thin nests inside .yellow-border, suppress the inner
   border too - the parent frame is enough visual grouping. */
.yellow-border .yellow-border-thin,
.yellow-border-thin .yellow-border-thin {
    border-color: transparent;
    padding: 0.5rem 0.75rem;
}

/* Compact inline empty-state pill -- for table footers, chart placeholders,
   and any place a full .empty-state frame would be too heavy. Standardised
   across StoryPerformance + future pages. */
.bh-empty-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.95rem;
    background: var(--bg-muted, #f1f1f4);
    border: 1px solid var(--border-default, #e5e5ea);
    border-radius: 999px;
    font-size: 0.85rem;
    color: var(--text-secondary, #6b6b75);
    line-height: 1;
    white-space: nowrap;
}
.bh-empty-pill i {
    font-size: 0.85rem;
    opacity: 0.55;
}
.bh-empty-pill-wrap {
    text-align: center;
    padding: 0.85rem 0;
}

/* Stage I: Default Team Splits member pill (AccountManagement Settings tab) */
.bh-team-split-pill {
    display: inline-block;
    padding: 2px 8px;
    margin: 0 4px 4px 0;
    font-size: 0.78rem;
    font-weight: 500;
    background: var(--bg-purple-tint, #f3edff);
    color: var(--brand-primary, #3d1a6f);
    border: 1px solid var(--border-default, #ddd);
    border-radius: 999px;
    white-space: nowrap;
}
[data-theme="dark"] .bh-team-split-pill {
    background: var(--bg-muted, #2a2a32);
    color: var(--text-body, #e5d9ff);
    border-color: var(--border-default, #3a3a44);
}

/* Task 16: Default Team Shape pill (Settings list) + shape picker cards */
.bh-shape-pill {
    display: inline-block;
    padding: 2px 10px;
    font-size: 0.8rem;
    font-weight: 600;
    background: var(--bg-purple-tint, #f3edff);
    color: var(--brand-primary, #3d1a6f);
    border: 1px solid var(--brand-primary, #3d1a6f);
    border-radius: 999px;
    white-space: nowrap;
}
.bh-shape-pill-custom {
    background: var(--bg-gold-tint, #fff5d9);
    color: var(--accent-gold-text, #7a5a00);
    border-color: var(--accent-gold, #fdb913);
}
[data-theme="dark"] .bh-shape-pill {
    background: var(--bg-muted, #2a2a32);
    color: var(--text-body, #e5d9ff);
    border-color: var(--brand-primary-light, #6f47b5);
}
[data-theme="dark"] .bh-shape-pill-custom {
    background: var(--bg-muted, #2a2a32);
    color: var(--accent-gold, #fdb913);
    border-color: var(--accent-gold, #fdb913);
}

.bh-shape-card-host {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
    margin-top: 6px;
}
.bh-shape-card {
    border: 2px solid var(--border-default, #ddd);
    border-radius: 8px;
    padding: 10px;
    cursor: pointer;
    text-align: center;
    background: var(--bg-card, #fff);
    transition: border-color 0.12s, background 0.12s;
}
.bh-shape-card:hover {
    border-color: var(--accent-gold, #fdb913);
    background: var(--bg-gold-tint, #fff5d9);
}
.bh-shape-card-active {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--bg-purple-tint, #f3edff);
}
.bh-shape-card-title {
    font-weight: 600;
    color: var(--text-body, #222);
    margin-bottom: 4px;
}
.bh-shape-card-preview {
    min-height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bh-shape-card-desc {
    font-size: 0.78rem;
    color: var(--text-muted, #777);
    margin-top: 4px;
}
[data-theme="dark"] .bh-shape-card {
    background: var(--bg-card, #1e1e25);
    border-color: var(--border-default, #3a3a44);
}
[data-theme="dark"] .bh-shape-card-active {
    background: var(--bg-purple-tint, #2a2240);
    border-color: var(--brand-primary-light, #6f47b5);
}
[data-theme="dark"] .bh-shape-card-title { color: var(--text-body, #e5d9ff); }

/* Monthly Hours Shape: Custom strip (AM Wizard Step 3). Mirrors the EH
   Activity Edit Modal v2 Custom curve pattern (slider + number + live bar
   preview). Sum target = 100% (not hours). Siblings auto-rebalance on
   slider commit / number blur. */
.bh-mhs-custom-host {
    margin-top: 6px;
    padding: 10px 12px;
    border: 1px solid var(--border-default, #e6e0f2);
    border-radius: 8px;
    background: var(--bg-card, #fff);
}
.bh-mhs-custom-preview-wrap {
    margin-bottom: 8px;
}
.bh-mhs-custom-preview-label {
    font-size: 0.72rem;
    color: var(--text-muted, #777);
    margin-bottom: 2px;
}
.bh-mhs-custom-preview {
    width: 100%;
    min-height: 44px;
}
.bh-mhs-custom-preview svg {
    width: 100%;
    height: 44px;
    display: block;
}
.bh-mhs-custom-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 8px 10px;
    margin-bottom: 4px;
}
.bh-mhs-cell {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 6px 8px;
    border: 1px solid var(--border-default, #ececf3);
    border-radius: 6px;
    background: var(--bg-muted-soft, #faf8fc);
}
.bh-mhs-cell label {
    font-size: 0.72rem;
    color: var(--text-muted, #777);
    margin: 0;
    font-weight: 600;
}
.bh-mhs-cell input[type="range"] {
    width: 100%;
    accent-color: var(--brand-primary, #3d1a6f);
    margin: 0;
}
.bh-mhs-cell input[type="number"] {
    width: 100%;
    text-align: right;
    font-size: 0.82rem;
    padding: 2px 6px;
    border: 1px solid var(--border-default, #ddd);
    border-radius: 4px;
    background: var(--bg-card, #fff);
    color: var(--text-body, #222);
}
.bh-mhs-custom-totalrow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 6px;
    font-size: 0.82rem;
}
.bh-mhs-custom-hint {
    color: var(--text-muted, #777);
}
[data-theme="dark"] .bh-mhs-custom-host {
    background: var(--bg-card, #1e1e25);
    border-color: var(--border-default, #3a3a44);
}
[data-theme="dark"] .bh-mhs-cell {
    background: var(--bg-muted-soft, #25232f);
    border-color: var(--border-default, #3a3a44);
}
[data-theme="dark"] .bh-mhs-cell input[type="number"] {
    background: var(--bg-card, #2a2438);
    color: var(--text-body, #e5d9ff);
    border-color: var(--border-default, #3a3a44);
}
/* Per-month resulting hours readout under each Custom-shape cell (derived from
   % x total contract hours -- shape stays %, hours are display only). */
.bh-mhs-cell-hours {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    text-align: right;
    margin-top: 1px;
}
/* Magnitude summary line under the shape cards: total contract hours for any shape. */
.bh-mhs-magnitude {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 500;
}
[data-theme="dark"] .bh-mhs-cell-hours,
[data-theme="dark"] .bh-mhs-magnitude {
    color: var(--text-body, #e5d9ff);
}

.bh-chart-wrap {
    position: relative;
    min-height: 60px;
}
.bh-chart-wrap > .bh-empty-pill-wrap {
    padding: 2rem 0;
}
[data-theme="dark"] .bh-empty-pill {
    background: var(--bg-muted, #2a2a32);
    border-color: var(--border-default, #3a3a44);
    color: var(--text-secondary, #b0b0bc);
}

/* Modern empty-state (Track 2) - dashed neutral frame with icon + hint.
   Replaces "yellow-border text only" empty templates in GridViews. */
.empty-state {
    padding: 2.5rem 1.5rem;
    text-align: center;
    background: var(--bg-subtle, #fafafa);
    border: 1px dashed var(--border-default, #ddd);
    border-radius: 10px;
    color: var(--text-muted, #888);
}
.empty-state__icon {
    font-size: 2rem;
    opacity: 0.35;
    margin: 0 auto 0.75rem;
    display: block;
}
.empty-state__title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-secondary, #555);
    margin-bottom: 0.25rem;
}
.empty-state__hint {
    font-size: 0.8rem;
}

/* Semantic notice banner (Track 2) - replaces yellow-border used for
   warnings / info / permission messages. */
.notice {
    padding: 0.85rem 1rem;
    border-radius: 8px;
    border: 1px solid var(--border-light, #eee);
    background: var(--bg-subtle, #fafafa);
    font-size: 0.88rem;
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}
.notice__icon {
    margin-top: 0.15rem;
    opacity: 0.7;
    flex: 0 0 auto;
}
.notice--warn {
    background: var(--bg-gold-tint, #fffbea);
    border-color: var(--border-gold-soft, #e8dfa8);
    color: var(--status-warning-text, #7a5b00);
}
.notice--info {
    background: var(--bg-purple-tint, #f3eef9);
    border-color: var(--border-brand, #d9c9ea);
    color: var(--brand-primary, #3d1a6f);
}
.notice--danger {
    background: var(--status-danger-bg, #f8d7da);
    border-color: var(--status-danger-border, #f5c6cb);
    color: var(--status-danger-text, #721c24);
}

/* =============================================
   Dashboard Card - canonical site-wide pattern.
   Used by Default.aspx home cards, Finance summary cards, and any page
   wrapping a titled section. Single source of truth - pages should NOT
   redefine .dashboard-card locally.
   ============================================= */
.dashboard-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #eee);
    border-radius: 10px;
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0,0,0,0.08));
    margin-bottom: 1.25rem;
    overflow: hidden;
}
/* Slate-tint fill + 4px gold left-accent. Mirrors .profile-card-header.yellow
   pattern shipped 2026-05-12 -- gold fill drowned data on multi-section pages
   (Default.aspx stacks 10+ cards). Gold demoted to accent role. */
.dashboard-card .card-header {
    background: linear-gradient(135deg, var(--bg-slate-tint, #f1f0f4) 0%, var(--bg-slate-tint-2, #f8f7fa) 100%);
    border-bottom: 1px solid var(--border-light, #e9ecef);
    border-left: 4px solid var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
    padding: 0.75rem 1.25rem 0.75rem calc(1.25rem - 4px);
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.dashboard-card .card-header .card-title {
    margin: 0;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 10px;
}
.dashboard-card .card-header .card-title i {
    opacity: 0.7;
}
.dashboard-card .card-header > div:last-child {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
/* Two-line card header variant: title + descriptive sub-line stacked on the
   left, optional badge / meta slot on the right. Stops the title wrapping when
   a description sibling steals the right-rail "badge" slot. Use when a section
   needs a one-sentence explainer next to (not buried under) its title. */
.dashboard-card .card-header.card-header-with-desc {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
}
.dashboard-card .card-header.card-header-with-desc .card-header-title-group {
    display: flex;
    flex-direction: column;
    flex: 1 1 22rem;
    min-width: 0;
    gap: 0.2rem;
    align-items: stretch;
}
.dashboard-card .card-header.card-header-with-desc .card-header-desc {
    font-size: 0.78rem;
    font-weight: normal;
    color: var(--text-secondary, #666);
    line-height: 1.45;
    max-width: 85ch;
}
.dashboard-card .card-header.card-header-with-desc .card-header-meta {
    font-size: 0.78rem;
    color: var(--text-secondary, #666);
    flex-shrink: 0;
    align-self: flex-start;
    padding-top: 0.15rem;
    white-space: nowrap;
}
@media (max-width: 768px) {
    .dashboard-card .card-header.card-header-with-desc .card-header-desc {
        font-size: 0.75rem;
        max-width: none;
    }
}
.dashboard-card .card-body {
    padding: 1.25rem;
    color: var(--text-primary, #333);
}
/* When two dashboard-cards stack directly adjacent in the same container,
   pull them together so they read as a grouped unit instead of floating
   fragments. */
.dashboard-card + .dashboard-card {
    margin-top: -0.25rem;
}
.purple-border {
    border: 2px solid var(--brand-primary, #3d1a6f);
    padding-top: 10px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 10px;
}
.backgroundlight {
    background-color: var(--bg-page, #f5f5f5);
    overflow:unset !important;
}

.btn-squared-default-plain {
    width: 70% !important;
    height: 70% !important;
    min-height: 75px;
    min-width: 75px;
    padding-top: 20%;
    font-size: 14px;
    background: rgba(204,204,204, .3);
    border: 3px solid var(--border-strong, #ccc);
}

    .btn-squared-default-plain:hover {
        border: 3px solid var(--brand-accent, #fdb913);
        background: rgba(253,185,19, .3);
    }
.tablemargin{
    margin-top:10px;
}
.form-inline-block{
    width:unset;
    display:inline-block;
}
.noborder{
    border:none;
}
.btn-notallowed{
    cursor:not-allowed !important;
}
/* REMOVED: .btn { line-height: 15px !important; } - was conflicting with Bootstrap 4 btn sizing */
.surveybuttons {
    box-shadow: 0px 4px 11px rgb(0 0 0 / 30%);
    position: absolute;
    height: 35px;
    margin-top: 5px;
    right: 5px;
    text-align: center;
}

/* custom scrollbar */
::-webkit-scrollbar {
    width: 20px;
}

::-webkit-scrollbar-track {
    background-color: transparent;
}

::-webkit-scrollbar-thumb {
    background-color: #d6dee1;
    border-radius: 20px;
    border: 6px solid transparent;
    background-clip: content-box;
    color: var(--brand-accent, #fdb913);
    background-color: var(--brand-accent, #fdb913);
}

    ::-webkit-scrollbar-thumb:hover {
        background-color: var(--brand-accent, #fdb913);
        border: 6px solid transparent;
        background-clip: content-box;
    }

.creativepreview {
    width: 90%;
    border-radius: 3px;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.4);
    min-height:60vh;
    margin-left:5%;
    max-width:1000px;
    padding-top: 1rem;
    padding-bottom: 2rem;
}
.schedulecontent {
    width: 100%;
    min-height: 12vh;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 10px;
    padding: 1rem 1rem 0.85rem;
    margin-bottom: 1.5rem;
}
.newswirepost {
    width: 90%;
    border-radius: 3px;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.4);
    padding-bottom: 50px;
    margin-left: 5%;
}
.newswireimage{
    width:100%;
    max-width: 200px;
    display:inline;
}
/* Legacy logo classes - kept for any other pages referencing them */
.BUZZHubbrandlogo {
    border-radius: 3px;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.4);
    height: 300px;
    width: 600px;
    margin-left: 5%;
}
.BUZZHubsquarelogo {
    border-radius: 3px;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.4);
    height: 300px;
    width: 300px;
    margin-left: 5%;
}
.BUZZHubbannerlogo {
    border-radius: 3px;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.4);
    height: 300px;
    width: 1100px;
    margin-left: 5%;
}

/* Setup Branding tab - card layout */
.branding-logo-card {
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 10px;
    background: var(--bg-surface, #fff);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.branding-logo-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-bottom: 1px solid var(--border-brand, #e0d4f0);
}
.branding-logo-card-header h5 {
    font-size: 15px;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
}
.branding-logo-dimensions {
    font-size: 12px;
    color: var(--text-tertiary, #888);
    font-weight: 500;
    background: var(--bg-surface, #fff);
    padding: 2px 10px;
    border-radius: 12px;
    border: 1px solid #e0d8ea;
}
.branding-logo-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: var(--bg-page, #f5f5f5);
    overflow: hidden;
    flex: 1;
    text-align: center;
}
.branding-logo-preview > div,
.branding-logo-preview > table {
    margin: auto;
}
.branding-logo-preview--wide,
.branding-logo-preview--square { min-height: 180px; }
.branding-logo-preview--banner { min-height: 120px; }
.branding-logo-img {
    max-width: 100%;
    max-height: 100%;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    object-fit: contain;
}
.branding-logo-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: var(--text-muted, #bbb);
    font-size: 13px;
}
.branding-logo-empty i {
    font-size: 32px;
}
.branding-logo-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-top: 1px solid var(--border-brand, #e0d4f0);
    background: var(--bg-surface, #fff);
}
.branding-upload-btn-wrap {
    display: inline-block;
    position: relative;
}
.branding-action-btn {
    min-width: 120px;
    text-align: center;
    font-size: 13px;
    padding: 6px 16px;
}
.branding-colour-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-body, #555);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
    display: block;
}
.branding-colour-picker-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}
.branding-colour-swatch {
    width: 44px;
    height: 34px;
    border: 1px solid var(--border-default, #ddd);
    border-radius: 6px;
    padding: 2px;
    cursor: pointer;
}
.branding-colour-hex {
    width: 90px;
}

/* Branding crop modal */
.branding-crop-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.6);
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.branding-crop-dialog {
    background: var(--bg-surface, #fff);
    border-radius: 12px;
    max-width: 800px;
    width: 100%;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
.branding-crop-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-bottom: 1px solid var(--border-brand, #e0d4f0);
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 12px 12px 0 0;
}
.branding-crop-header h5 {
    font-size: 15px;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
}
.branding-crop-body {
    padding: 16px 20px;
    flex: 1;
    overflow: auto;
    min-height: 0;
}
.branding-crop-container {
    max-height: 450px;
    overflow: hidden;
    background: var(--bg-page, #f5f5f5);
    border-radius: 6px;
    border: 1px solid var(--border-default, #e0e0e0);
}
.branding-crop-container img {
    max-width: 100%;
    display: block;
}
.branding-crop-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 20px;
    border-top: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 0 0 12px 12px;
}

/* Spokesperson Tips tab */
.sp-tips-card {
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 10px;
    background: var(--bg-surface, #fff);
    overflow: hidden;
}
.sp-tips-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-bottom: 1px solid var(--border-brand, #e0d4f0);
    font-weight: 600;
    font-size: 14px;
    color: var(--brand-primary, #3d1a6f);
}
.sp-tips-card-actions {
    display: flex;
    gap: 6px;
}
.sp-tips-card-body {
    padding: 20px;
}
.sp-tips-content {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-primary, #333);
}
.sp-tips-content p { margin-bottom: 0.6em; }
.sp-tips-content ul, .sp-tips-content ol { padding-left: 1.5em; }
.sp-tips-empty {
    text-align: center;
    padding: 60px 20px;
    border: 2px dashed #e0d8ea;
    border-radius: 10px;
    background: var(--bg-subtle, #fafafa);
}
.sp-tips-empty-icon {
    font-size: 48px;
    color: #ddd;
    margin-bottom: 16px;
}
.sp-tips-empty h5 {
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 8px;
}
.darklink {
    color: black;
}
    .darklink a {
        color: black;
    }
.loadingbee{
    width: 40px;
}
.input-group-text-wide{
    min-width:250px;
}
/*
.input-group-text-unset{
    min-width:unset !important;
}
    */
.table-lineless {
    border: solid 1px var(--brand-accent, #fdb913) !important;
    border: solid 1px white !important;
}
    .table-lineless tbody tr:hover {
        background: var(--bg-surface, #fff) !important;
        background-color: var(--bg-surface, #fff) !important;
    }
    .table-lineless > tbody > tr > td {
        border: none !important;
    }
.table-y-lineless {
    border: solid 1px var(--brand-accent, #fdb913) !important;
}

    .table-y-lineless tbody tr:hover {
        background: var(--bg-surface, #fff) !important;
        background-color: var(--bg-surface, #fff) !important;
    }

    .table-y-lineless > tbody > tr > td {
        border: none !important;
    }
.table-limited {
    max-height:40vh;
    overflow-y: scroll;
    padding: .25rem !important;

}
.accordionhover {
    color: var(--brand-danger, #ed174c);
    font-size:1.25em;
}
.accordionhover :hover {
    cursor:pointer !important;
}
    .accordionhover :focus {
        cursor: pointer !important;
    }






/*fix ajax uploader styles*/
.ajax__fileupload_dropzone {
    color: var(--brand-danger, #ed174c) !important;
}

.ajax__fileupload_selectFileContainer {
    height: 50px;
    width: 200px !important;
}

.ajax__fileupload_selectFileButton {
    color: var(--brand-primary, #3d1a6f);
    padding: 0px 18px;
    border: 2px solid var(--brand-primary, #3d1a6f);
    border-radius: 50px;
    font-weight: 500;
    overflow: hidden;
    text-align: center;
    background-color: transparent;
    margin-bottom: 0px;
    margin-left: 0px;
    margin-top: 1em;
    width: 200px !important;
}
.dottedborder {
    color: var(--brand-danger, #ed174c) !important;
    border-style: dotted;
    border-width: 1px;
    line-height: 50px;
    margin-bottom: 2px;
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 3rem;
    padding-left: 2rem;
    padding-right: 2rem;
}
/* Compact variant for gridpills */
.slimpills {
    padding: 0.5rem 1rem !important;
    font-size: 13px !important;
}

.table-sender {
    border: dotted 1px var(--brand-accent, #fdb913) !important;
}
    .table-sender tbody tr:hover {
        border: dotted 1px var(--brand-accent, #fdb913);
    }

    .table-sender > tbody > tr > td {
        border: none !important;
    }

.btn-close {
    position:absolute;
    top: 10px;
    right: 10px;
}
.bh-alert {
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
    color: var(--brand-primary, #3d1a6f);
    /* background-color: white;*/
    border-color: var(--brand-primary, #3d1a6f);
    margin-left: 3em;
    padding-left: 2px;
    padding-right: 2px;
}
.bh-new {
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
    color: #14eb4d;
    /* background-color: white;*/
    border-color: #14eb4d;
    margin-left: 3em;
    padding-left: 2px;
    padding-right: 2px;
}
/*fix for images embedded in richtext box*/
p > img {
    top:unset !important;
}
.red-border-dashed {
    border: 1px dashed var(--brand-danger, #ed174c);
}
.strategyborder {
    border: 1px solid red;
    padding-left: 10px;
    padding-bottom: 50px;
    padding-top: 10px;
}

.bh-page-logo {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}
.bh-page-logo-img {
    display: inline-block;
    max-height: 60px;
    max-width: 140px;
    object-fit: contain;
    background-color: var(--bg-surface, #fff);
    vertical-align: middle;
}
.bh-page-logo-edit {
    position: absolute;
    top: -6px;
    right: -6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border-radius: 50%;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-subtle, #e5e7eb);
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.75rem;
    line-height: 1;
    opacity: 0;
    transition: opacity 0.15s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    text-decoration: none;
}
.bh-page-logo:hover .bh-page-logo-edit,
.bh-page-logo:focus-within .bh-page-logo-edit {
    opacity: 1;
}
.bh-page-logo-edit:hover,
.bh-page-logo-edit:focus {
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
}
.bh-page-logo-empty {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 140px;
    height: 70px;
    padding: 0.4rem;
    background-color: var(--bg-purple-tint, #f4eef9);
    border: 1.5px dashed var(--brand-primary, #3d1a6f);
    border-radius: 6px;
    color: var(--brand-primary, #3d1a6f);
    cursor: pointer;
    transition: background-color 0.15s ease;
    gap: 2px;
    text-decoration: none;
    line-height: 1.1;
}
.bh-page-logo-empty:hover,
.bh-page-logo-empty:focus {
    background-color: #ede2f6;
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
}
.bh-page-logo-empty i {
    font-size: 1rem;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 2px;
}
.bh-page-logo-empty-title {
    font-size: 0.7rem;
    font-weight: 600;
}
.bh-page-logo-empty-hint {
    font-size: 0.6rem;
    color: var(--text-muted, #888);
}
.bh-page-logo-empty-title--broken,
.bh-page-logo-empty-hint--broken {
    display: none;
}
.bh-page-logo.is-empty .bh-page-logo-img,
.bh-page-logo.is-empty .bh-page-logo-edit {
    display: none;
}
.bh-page-logo.is-empty .bh-page-logo-empty {
    display: inline-flex;
}
.bh-page-logo.is-broken .bh-page-logo-empty-title:not(.bh-page-logo-empty-title--broken),
.bh-page-logo.is-broken .bh-page-logo-empty-hint:not(.bh-page-logo-empty-hint--broken) {
    display: none;
}
.bh-page-logo.is-broken .bh-page-logo-empty-title--broken,
.bh-page-logo.is-broken .bh-page-logo-empty-hint--broken {
    display: inline-block;
}
.card-header {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
}
.card-header-purple {
    background-color: var(--brand-primary, #3d1a6f) !important;
    color: var(--text-on-dark, #fff) !important;
    min-height: unset !important;
}
.card-header-red {
    background-color: var(--brand-danger, #ed174c);
    color: var(--text-on-dark, #fff) !important;
    min-height: unset !important;
}
.subcard {
    background-color: var(--bg-gold-tint, #fddb86);
}
.card-link {
    color: black !important;
}
[data-theme="dark"] .card-link {
    color: var(--text-primary, #e7e7e7) !important;
}
/* Orphaned-pair dark-mode fixes: bulk token sweep flipped these table backgrounds
   dark but their hover/cell text rules sit on separate selectors and stayed black. */
[data-theme="dark"] .table-mediapack > tbody > tr:hover,
[data-theme="dark"] .table-whiteborder > tbody > tr:hover,
[data-theme="dark"] .table-purple > tbody > tr:hover,
[data-theme="dark"] .table-clearborder > tbody > tr:hover,
[data-theme="dark"] .table-offwhiteborder > tbody > tr:hover,
[data-theme="dark"] .table-offwhiteborder > tbody > tr:hover > td,
[data-theme="dark"] .table-lightpurple > tbody > tr:hover {
    color: var(--text-primary, #e7e7e7) !important;
}
[data-theme="dark"] .table-clearborder > thead > tr > th,
[data-theme="dark"] .table-clearborder > tbody > tr > th,
[data-theme="dark"] .table-clearborder > tfoot > tr > th,
[data-theme="dark"] .table-clearborder > thead > tr > td,
[data-theme="dark"] .table-clearborder > tbody > tr > td,
[data-theme="dark"] .table-clearborder > tfoot > tr > td {
    color: var(--text-primary, #e7e7e7) !important;
}
/* Global gold border on every .card-body removed - was a legacy rule that
   forced a bright gold frame on every Bootstrap card on every page, fighting
   with dashboard-card and marketing designs. If gold framing is wanted,
   opt in via .yellow-border class. */


.modalNoScroll {
    overflow-y: unset;
    padding-bottom: 15px;
}

.modalBackground {
    background-color: Black;
    opacity: 0.4;
}


.modalPopup {
    min-height: 300px;
    max-height: 90vh;
    background-color: var(--bg-surface, #fff);
    border: 1px solid var(--border-strong, #ccc);
    border-radius: 10px;
    padding-top: 10px;
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
    overflow-y: hidden;
    box-shadow: var(--shadow-md, 0 4px 24px rgba(0,0,0,0.25));
    z-index: 1031 !important;
    display: flex;
    flex-direction: column;
}

/* Make nested containers work with flex layout */
.modalPopup > .container-fluid {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}
.modalPopup > .container-fluid > .row {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}
.modalPopup > .container-fluid > .row > [class*="col"] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}
.modalPopupEditor {
    min-height: 100vh;
    max-height: 100vh;
    background-color: var(--bg-surface, #fff);
    border-width: 1px;
    border-style: solid;
    border-color: black;
    padding-top: 10px;
    padding-left: 10px;
    top: 0rem !important;
    border-radius: 5px;
    border: none;
    overflow-x: hidden;
    overflow-y: hidden !important;
    box-shadow: 0px 0px 169px rgb(0 0 0 / 100%);
    z-index: 1000000 !important;
}

.rrHandle {
    z-index: 20001 !important;
}

.modalBackground {
    z-index: 1030 !important;
}
.modalPopup .body {
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 50px;
    flex: 1 1 auto;
    min-height: 0;
    max-height: calc(90vh - 100px); /* Ensures scrollbar appears - accounts for header/padding */
}
.modalPopup .modal-footer-bar {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-top: 1px solid var(--border-default, #e0e0e0);
    background: var(--bg-surface, #fff);
}
.modalPopupEditor .body {
    max-height: 100vh;
    overflow-y: scroll !important;
    overflow-x: hidden;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 50px;
}
    .modalPopup .header {
        position: relative;
        padding: 0px 0px 0px;
        margin-bottom: 15px;
        text-align: left;
        color: var(--brand-danger, #ed174c);
        border-bottom: 2px solid var(--border-default, #e5e5e5);
        cursor: move;
        touch-action: none; /* Enable touch dragging on tablets */
        -webkit-user-select: none;
        user-select: none;
        flex: 0 0 auto;
    }

    /* Touch support: Pass touch events through header children to the parent drag handle */
    .modalPopup .header > *,
    .resizableModal .header > * {
        pointer-events: none;
        touch-action: none;
    }

    /* Keep close button interactive */
    .modalPopup .header > .btn-close,
    .resizableModal .header > .btn-close,
    .modalPopup .header > .btn,
    .resizableModal .header > .btn {
        pointer-events: auto;
        touch-action: auto;
    }

.modalPopupEditor .header {
    padding: 0px 0px 0px;
    margin-bottom: 15px;
    text-align: left;
    color: var(--brand-danger, #ed174c);
    border-bottom: 2px solid var(--border-default, #e5e5e5);
}

    .modalPopup .footer {
        position: absolute;
        bottom: 0%;
        width: 100%;
        background: var(--bg-surface, #fff);
        z-index: 10000000;
        padding: 10px 30px 10px 15px;
        margin-top: 15px;
        text-align: right;
        border-top: 1px solid var(--border-default, #e5e5e5);
    }

.modalBackground {
    background-color: black;
    opacity: .6;
}

.modalPopup.resizableModal .ui-resizable-handle {
    z-index: 1000 !important;
    position: absolute;
}

.modalPopup.resizableModal .ui-resizable-se {
    right: 0;
    bottom: 0;
    width: 16px;
    height: 16px;
    cursor: se-resize;
    background: linear-gradient(135deg, transparent 50%, var(--brand-primary, #3d1a6f) 50%);
    border-radius: 0 0 4px 0;
    opacity: 0.5;
    transition: opacity 0.15s;
}

.modalPopup.resizableModal .ui-resizable-se:hover {
    opacity: 1;
}

.modalPopup.resizableModal .ui-resizable-e {
    right: 0; top: 0; width: 4px; height: 100%; cursor: e-resize;
}

.modalPopup.resizableModal .ui-resizable-s {
    bottom: 0; left: 0; width: 100%; height: 4px; cursor: s-resize;
}

.modalPopup.resizableModal .ui-resizable-n {
    top: 0; left: 0; width: 100%; height: 4px; cursor: n-resize;
}

.modalPopup.resizableModal .ui-resizable-w {
    left: 0; top: 0; width: 4px; height: 100%; cursor: w-resize;
}

.resizableModal.modalPopup {
    position: fixed !important;
    /*  visibility: hidden;*/
    transition: none !important;
}

.modalPopup.resizableModal {
    display: flex;
    flex-direction: column;
    /*over ride ajax tool kit, then in modalshown unlock it for dragging*/
    /*  top: 39px !important;*/
}

.modalPopup.resizableModal .body {
    flex: 1 1 auto;
    overflow-y: auto;
}

@keyframes fadeInModal {
    from {
        opacity: 0.8;
    }

    to {
        opacity: 1;
    }
}

/* apply the animation to your popup panel */
.resizableModal.modalPopup {
    animation: fadeInModal .300ms ease-out;
}



/* Base header styling for resizable modals */
.resizableModal .header {
    background: var(--brand-primary, #3d1a6f) !important;
    color: var(--text-on-dark, #fff) !important;
    min-height: 50px;
    padding: 12px 15px !important;
    margin: -10px -10px 15px -10px !important; /* Counteract .modalPopup padding */
    border-bottom: none !important;
    position: relative;
    cursor: move;
    touch-action: none; /* Enable touch dragging on tablets */
    -webkit-user-select: none;
    user-select: none;
}

/* Fix for wrapped structure (container-fluid > row > col) */
/* Only apply negative margins to direct container-fluid children, not nested ones */
.resizableModal > .container-fluid {
    padding: 0 !important;
    margin: -10px -10px 0 -10px !important; /* Counteract .modalPopup padding */
    width: calc(100% + 20px) !important;
}

/* Container-fluid inside .body should have normal margins and layout */
.resizableModal .body .container-fluid {
    margin: 0 !important;
    padding: 0 15px !important;
    width: 100% !important;
    display: block !important;
}

.resizableModal .body .container-fluid > .row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    flex: none !important;
    margin: 0 -15px !important;
}

    /* Make container-fluid structure work with modal flex layout */
    .resizableModal > .container-fluid {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
    }

    .resizableModal .container-fluid > .row {
        margin: 0 !important;
        display: flex;
        flex: 1 1 auto;
        min-height: 0;
        /* Note: flex-direction defaults to row, preserving multi-column layouts */
    }

        /* Only apply column direction to single-column layouts */
        .resizableModal .container-fluid > .row > .col-md-12 {
            padding: 0 !important;
            background-color: transparent !important;
            display: flex;
            flex-direction: column;
            flex: 1 1 auto;
            min-height: 0;
        }

        /* Multi-column layouts keep normal column behavior */
        .resizableModal .container-fluid > .row > .col-md-8,
        .resizableModal .container-fluid > .row > .col-md-4 {
            overflow-y: auto;
        }

    .resizableModal .container-fluid .header {
        margin: 0 0 15px 0 !important; /* Reset margin for wrapped structure */
        padding: 12px 15px !important;
        flex-shrink: 0;
    }

    .resizableModal .container-fluid .body {
        padding: 0 15px 50px 15px !important;
        flex: 1 1 auto;
        overflow-y: auto;
        min-height: 0;
    }

/* Header text styling */
.resizableModal .header h3,
.resizableModal .header h4 {
    color: var(--text-on-dark, #fff) !important;
    margin: 0;
    padding-right: 40px; /* Space for close button */
    line-height: 1.4;
    font-size: 1.25rem;
}

/* Close button positioning in purple header */
.resizableModal .header .btn-close {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    background: rgba(255,255,255,0.2) !important;
    border-color: rgba(255,255,255,0.3) !important;
}

    .resizableModal .header .btn-close:hover {
        background: rgba(255,255,255,0.3) !important;
    }

    .resizableModal .header .btn-close i {
        color: var(--text-on-dark, #fff) !important;
    }



@media (max-width: 990px) {
    .modalPopup {
        width: 100vw !important;
        max-width: 100vw !important; /* Never exceed viewport -- prevents mobile auto-zoom-out */
        position: fixed !important;
        z-index: 1031 !important;
        top: 0px !important;
        left: 0 !important;
        right: 0 !important;
        height: 100vh !important;
        max-height: 100vh !important;
        border-radius: 0;
        overflow-x: hidden !important; /* Clip any wider child content */
    }
    .modalPopup .body {
        padding-bottom: 80px; /* Space for footer */
        overflow-x: hidden !important;
        /* Break long unbreakable strings (URLs, brand names) so they don't force overflow */
        overflow-wrap: break-word;
        word-wrap: break-word;
        /* Override desktop max-height: calc(90vh - 100px) which crops ~90px at the
           bottom of a fullscreen mobile modal. Let flex: 1 1 auto fill remaining height. */
        max-height: none !important;
    }
    /* Prevent jQuery UI drag/resize from pushing modal off-viewport on mobile.
       Mobile modals are already fullscreen -- dragging adds no value and can
       set inline left/top that breaks the fullscreen layout. */
    .modalPopup.resizableModal .ui-resizable-handle,
    .modalPopup.resizableModal .ui-resizable-se,
    .modalPopup.resizableModal .ui-resizable-e,
    .modalPopup.resizableModal .ui-resizable-s,
    .modalPopup.resizableModal .ui-resizable-n,
    .modalPopup.resizableModal .ui-resizable-w {
        display: none !important;
    }
    .modalPopup .header {
        cursor: default !important;
        padding-right: 50px !important; /* room for absolute-positioned close button */
    }
    .modalPopup .header h3,
    .modalPopup .header h4,
    .modalPopup .header h5 {
        font-size: 1.05rem !important;
        line-height: 1.3 !important;
        margin: 0 !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    .modalPopup .header h3 i,
    .modalPopup .header h4 i,
    .modalPopup .header h5 i {
        font-size: 0.95rem !important;
    }
    /* Modal footer button rows: equal-width uniform stack on mobile */
    .modalPopup .body .text-right,
    .modalPopup .body .text-end,
    .modalPopup .modal-footer-bar {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.5rem !important;
    }
    .modalPopup .body .text-right > .btn,
    .modalPopup .body .text-end > .btn,
    .modalPopup .modal-footer-bar > .btn {
        width: 100% !important;
        margin: 0 !important;
    }
}

/* =============================================================================
   Modal Fullscreen Toggle
   ============================================================================= */
.modalPopup .header .bh-modal-fullscreen-btn {
    pointer-events: auto;
    touch-action: auto;
    background: rgba(255,255,255,0.2);
    border: none;
    color: inherit;
    font-size: 1rem;
    padding: 4px 8px;
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.15s, background 0.15s;
    position: absolute;
    top: 50%;
    right: 50px;
    transform: translateY(-50%);
    border-radius: 4px;
    z-index: 1;
}

.modalPopup .header .bh-modal-fullscreen-btn:hover {
    opacity: 1;
    background: rgba(255,255,255,0.3);
}

.modalPopup .header .bh-modal-fullscreen-btn:active {
    opacity: 1;
    background: rgba(255,255,255,0.4);
}

.modalPopup.bh-modal-fullscreen {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

.modalPopup.bh-modal-fullscreen .header {
    cursor: default;
}

.modalPopup.bh-modal-fullscreen .body {
    max-height: calc(100vh - 80px) !important;
    flex: 1 1 auto;
}

/* Hide fullscreen button on mobile - modals already fullscreen via media query */
@media (max-width: 990px) {
    .bh-modal-fullscreen-btn { display: none !important; }
}

/* PDF preview iframe is vh-sized (80vh), so a maximised host modal would otherwise
   leave it the same height. Grow it to fill the fullscreen body (header + footer + padding
   reserve ~170px). !important beats the iframe's inline non-important height. */
.modalPopup.bh-modal-fullscreen .bh-preview-frame {
    height: calc(100vh - 170px) !important;
}

/* =============================================================================
   Modal Form Cosmetic Styling (2025)
   ============================================================================= */

/* Summary badge row at top of modals */
.modal-summary-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.75rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    margin-bottom: 1rem;
}

.modal-summary-badges .badge {
    padding: 0.5rem 0.75rem;
    font-size: 0.85rem;
    font-weight: 500;
}

/* Modal form section headers */
.modal-section-header {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-secondary, #666);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border-light, #e9ecef);
}

.modal-section-header i {
    margin-right: 0.5rem;
    color: var(--brand-primary, #3d1a6f);
}

/* Better form row spacing in modals */
.modal-form-row {
    margin-bottom: 1rem;
}

.modal-form-row label,
.modal-form-row .form-label {
    font-weight: 500;
    color: var(--text-primary, #333);
    margin-bottom: 0.25rem;
}

/* Modal section box -- slate-tint fill + 4px gold left-border (2026-05-12 standard).
   Was previously gold-fill on cream; gold reserved for accent role per ui-design-rules. */
.modal-section-box {
    background: var(--bg-slate-tint, #f4f5f8);
    border: 1px solid var(--border-subtle, #e0e2e7);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1rem;
}

.modal-section-box .modal-section-header {
    margin-top: 0;
    color: var(--brand-primary, #3d1a6f);
    border-bottom-color: var(--border-subtle, #e0e2e7);
}

/* Read-only inputs inside a modal-section-box render as flat display values, not edit fields.
   These boxes hold context that's mutated via a dedicated action (e.g. "Change Outlet" button)
   -- a white form-control with border falsely advertises in-place editing. Strip the chrome. */
.modal-section-box input[readonly].form-control,
.modal-section-box .form-control[readonly] {
    background: transparent;
    border: none;
    box-shadow: none;
    padding-left: 0;
    color: var(--text-primary, #333);
    cursor: default;
    height: auto;
}
.modal-section-box input[readonly].form-control:focus,
.modal-section-box .form-control[readonly]:focus {
    outline: none;
    box-shadow: none;
    background: transparent;
}
.modal-section-box input[readonly].form-control::placeholder,
.modal-section-box .form-control[readonly]::placeholder {
    color: var(--text-secondary, #999);
    font-style: italic;
}

/* Right-column "context card" -- compact section block used in the Interview Coverage edit modal
   sidebar (Talent / Availability / Outlet / Interaction History). Quiet by default: subtle bg,
   thin gold left-border, small caps header, neutral empty-state pill. Replaces the legacy
   .red-border-dashed boxes that read as validation errors. */
.bh-context-card {
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-subtle, #e5e5ea);
    border-left: 3px solid var(--brand-accent, #fdb913);
    border-radius: 6px;
    padding: 0.7rem 0.85rem;
    margin-bottom: 0.7rem;
}
.bh-context-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0.5rem;
    padding-bottom: 0.35rem;
    border-bottom: 1px solid var(--border-subtle, #e5e5ea);
}
.bh-context-card-header i {
    margin-right: 0.4rem;
    opacity: 0.85;
}
.bh-context-card-header .bh-context-action {
    /* Quiet action affordance (Add note / Record interaction) inside the card header. */
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--brand-primary, #3d1a6f);
    text-transform: none;
    letter-spacing: 0;
    text-decoration: none;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
}
.bh-context-card-header .bh-context-action:hover {
    background: var(--bg-purple-tint, #f0e6f7);
    text-decoration: none;
}
.bh-context-card-body {
    font-size: 0.825rem;
    color: var(--text-primary, #333);
    line-height: 1.4;
}
.bh-context-card-body strong {
    color: var(--text-secondary, #666);
    font-weight: 600;
}
.bh-context-card-body .bh-context-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    margin-bottom: 0.15rem;
}
.bh-context-card-body .bh-context-meta {
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
    margin-bottom: 0.4rem;
}
.bh-context-card-body .bh-context-divider {
    height: 1px;
    background: var(--border-subtle, #e5e5ea);
    margin: 0.5rem 0;
}
.bh-context-card-body .bh-context-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.2rem 0;
    font-size: 0.8rem;
}
.bh-context-card-body .bh-context-row label {
    margin-bottom: 0;
    color: var(--text-secondary, #666);
    font-weight: 500;
    font-size: 0.8rem;
}
.bh-context-card-body .bh-context-scroll {
    max-height: 90px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 0.25rem;
}
.bh-context-card-body .bh-context-scroll.tall {
    max-height: 220px;
}

/* Booking-context subline shown under the modal title (set server-side from the bound row). */
.bh-modal-header-context {
    display: block;
    font-size: 0.8rem;
    font-weight: 400;
    color: var(--text-on-dark, #fff);
    opacity: 0.85;
    margin-top: 0.1rem;
    line-height: 1.3;
}
.bh-modal-header-context i {
    margin-right: 0.3rem;
    opacity: 0.9;
}
.bh-modal-header-context .bh-ctx-sep {
    display: inline-block;
    width: 1px;
    height: 0.8em;
    margin: 0 0.5rem;
    vertical-align: middle;
    background: currentColor;
    opacity: 0.35;
}

.transparent-border {
    border: solid transparent !important;
}
.wraplines {
    /* These are technically the same, but use both */
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    word-break: break-word;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}

.nomargin {
    margin: 0cm;
    padding: 0cm;
}

    .nomargin > span > p {
        margin: 0cm;
        padding: 0cm;
    }


.RadWindow_Bootstrap {
    z-index: 10003 !important;
}
img {
    max-width: 100%;
}
.fieldpicker {
    background-color: antiquewhite;
    padding-top: 5px;
}
/* beyondgrammar // prowriting aid disable add to dictionary */
.pwa-add-to-dict-button {
    display: none !important;
}

.pwa-disable-rule-button {
    display: none !important;
}
.pwa-ignore-button {
    display: flex !important;
    font-family:Outfit;
    font-size:14pt;
}
.navline {
    width: 220px;
    height: 1px;
    background-color: var(--brand-danger, #ed174c);
}

@keyframes sparkle-animation {
    0% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.5;
        transform: scale(1.5);
    }

    100% {
        opacity: 0;
        transform: scale(2);
    }
}

.btn-sparkle {
    position: relative;
    overflow: hidden;
}

    .btn-sparkle::before,
    .btn-sparkle::after {
        content: "";
        position: absolute;
        top: 0%;
        left: 40%;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background-color: rgba(253,185,19, 0.5);
        opacity: 0;
        pointer-events: none;
        animation: sparkle-animation 1s infinite alternate;
    }

    .btn-sparkle::before {
        animation-delay: 0.5s;
    }

    .btn-sparkle:hover::before,
    .btn-sparkle:hover::after {
        opacity: 1;
    }


li > a > span[style*="font-family: &quot;Segoe UI&quot;, Arial, sans-serif;"] {
    font-family: 'Outfit', sans-serif !important;
}

li > a > span[style*="font-size: 12pt;"] {
    font-size: 14px !important;
}
/* end try to fix the odd elements */
.table.table-compressed td,
.table.table-compressed th {
    padding: 0px !important;
}
.ddcurrency{
    height: 34px;
}
.inputgroup-currency {
    padding: 5px;
    padding-left: 15px;
    height: 34px;
}
/* mod 27092023*/
/* fix comments so headline comments work (top of screen)*/
.RadEditor .reCommentEdit, .RadEditor .reCommentView {
    top:30px !important;
}
/* end mod 27092023*/
.modalPopupHighZ{
    z-index: 1999 !important;
}
.purpleborder {
    border: 1px solid var(--brand-magenta, #7d1d61);
    min-height: 2em;
    text-align: left;
    font-size: 16pt;
}

    .purpleborder > div {
        padding-top: 0.25em;
    }

.purpleheader {
    color: var(--text-on-dark, #fff);
    background-color: var(--brand-magenta, #7d1d61);
}

.heavytext {
    font-weight: 500;
}
.invoicebubble {
    width: 120px; /* Adjusted for the text to fit */
    height: 40px;
    border: 1px solid red;
    padding: 5px;
    box-sizing: border-box;
    text-align: center;
    transform: translateX(-50%); /* Center the div horizontally */
    background: var(--bg-surface, #fff); /* Background color */
    color: black; /* Text color */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s linear, visibility 0s linear 0.5s;
    animation: showInvoiceBubble 5s forwards;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2)
}

@keyframes showInvoiceBubble {
    0%, 30% {
        visibility: hidden;
        opacity: 0;
    }

    30%, 90% {
        visibility: visible;
        opacity: 1;
    }

    90%, 100% {
        opacity: 0;
        visibility: hidden;
    }
}

html {
    height: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: 80px; /* Account for fixed navbar on anchor links */
    /* Use `clip` not `hidden`: `overflow-x: hidden` on <html> establishes an implicit
       scroll container that disables `position: sticky` for every descendant on every page.
       `overflow-x: clip` still prevents horizontal scrollbar flicker from absolute/tooltip
       elements but does NOT create a scroll container -- sticky works. (Chrome 90+, FF 81+,
       Safari 16+.) Changed 2026-05-17 when sticky day-banners on InterviewCoverage didn't stick. */
    overflow-x: clip;
}

/* Prevent images from overflowing their containers */
img {
    max-width: 100%;
    height: auto;
}
.label-fullsize{
    height:100%;
}
    .label-fullsize > p {
        line-height: 14pt;
        padding: 0 !important;
        margin: 0 !important;
    }
.shadow-one {
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2)
}
h1, .h1 > span, h1, .h1 > p {
    font-size: 2.5rem !important;
    font-weight: 500 !important;
}

h2, .h2 > span, h2, .h2 > p {
    font-size: 2rem !important;
    font-weight: 500 !important;
}

h3, .h3 > span, h3, .h3 > p {
    font-size: 1.75rem !important;
    font-weight: 500 !important;
}

h4, .h4 > span, h4, .h4 > p {
    font-size: 1.5rem !important;
    font-weight: 500 !important;
}

h5, .h5 > span, h5, .h5 > p {
    font-size: 1.25rem !important;
    font-weight: 500 !important;
}

h6, .h6 > span, h6, .h6 > p {
    font-size: 1rem !important;
    font-weight: 500 !important;
}
/**/
td > span > p {
    font-size: unset !important;
    font-family: unset !important;
}
.rlbGroup {
    min-height: 200px;
}
.bg-highlightyellow {
    background-color: yellow !important;
}

/* ============================================
   SHARED DASHBOARD STYLES
   Use these classes across all dashboard pages
   (default.aspx, StoryDashboard, BIPlanning, etc.)
   ============================================ */

/* Dashboard Page Header */
.bh-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border-light, #eee);
}
.bh-page-header h4,
.bh-page-header .bh-page-title {
    margin: 0;
    font-weight: 600;
    color: var(--text-primary, #333);
}
.bh-page-header .bh-page-title i {
    color: var(--brand-magenta, #7d1d61);
    margin-right: 0.5rem;
}

/* Summary KPI Cards Container */
.bh-summary-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

/* Individual Summary Card */
.bh-summary-card {
    flex: 1;
    min-width: 140px;
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    padding: 1rem 1.25rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    border-left: 4px solid var(--brand-primary, #3d1a6f);
    transition: transform 0.2s, box-shadow 0.2s;
}
.bh-summary-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}
.bh-summary-card .bh-card-value {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--text-primary, #333);
    line-height: 1.2;
}
.bh-summary-card .bh-card-label {
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 0.25rem;
}

/* Summary Card Variants */
.bh-summary-card.primary { border-left-color: var(--brand-primary, #3d1a6f); }
.bh-summary-card.success { border-left-color: var(--status-success, #28a745); }
.bh-summary-card.warning { border-left-color: var(--status-warning-border, #ffc107); }
.bh-summary-card.danger { border-left-color: var(--status-danger, #dc3545); }
.bh-summary-card.info { border-left-color: var(--status-info, #17a2b8); }
.bh-summary-card.secondary { border-left-color: var(--text-secondary, #666); }

/* Clickable Summary Card */
.bh-summary-card.clickable {
    cursor: pointer;
}
.bh-summary-card.clickable:hover {
    background: var(--bg-subtle, #f8f9fa);
}

/* Filter Bar */
.bh-filter-bar {
    background: var(--bg-subtle, #f8f9fa);
    padding: 1rem 1.5rem;
    border-radius: 10px;
    margin-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}
.bh-filter-bar .form-control,
.bh-filter-bar .form-select,
.bh-filter-bar select {
    border-radius: 6px;
    border: 1px solid var(--border-default, #ddd);
    height: 38px;
    padding: 0.375rem 0.75rem;
    font-size: 0.9rem;
}
.bh-filter-bar .form-control:focus,
.bh-filter-bar .form-select:focus,
.bh-filter-bar select:focus {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 0 0.2rem rgba(61, 26, 111, 0.25);
}
.bh-filter-bar .input-group-text {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #ddd);
    border-right: none;
    color: var(--text-secondary, #666);
}
.bh-filter-bar .btn-search {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    border: none;
    border-radius: 6px;
    padding: 0.375rem 1rem;
}
.bh-filter-bar .btn-search:hover {
    background: #2d1352;
}
.bh-filter-bar .btn-clear {
    background: transparent;
    color: var(--text-secondary, #666);
    border: 1px solid var(--border-default, #ddd);
    border-radius: 6px;
}
.bh-filter-bar .btn-clear:hover {
    background: var(--bg-muted, #eee);
}

/* Status Badges */
.bh-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 500;
}
.bh-status-badge .status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}
.bh-status-badge.on-track {
    background: var(--status-success-bg, #d4edda);
    color: var(--status-success-text, #155724);
}
.bh-status-badge.on-track .status-dot {
    background: var(--status-success, #28a745);
}
.bh-status-badge.off-track {
    background: var(--status-danger-bg, #f8d7da);
    color: var(--status-danger-text, #721c24);
}
.bh-status-badge.off-track .status-dot {
    background: var(--status-danger, #dc3545);
}
.bh-status-badge.warning {
    background: var(--status-warning-bg, #fff3cd);
    color: var(--status-warning-text, #856404);
}
.bh-status-badge.warning .status-dot {
    background: var(--status-warning-bg, #ffc107);
}
.bh-status-badge.neutral {
    background: var(--bg-subtle, #f8f9fa);
    color: var(--text-secondary, #666);
}
.bh-status-badge.neutral .status-dot {
    background: #999;
}

/* Freshness Indicator Dots -- Living CRM (board decision 2026-02-21) */
.freshness-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 4px;
    vertical-align: middle;
    flex-shrink: 0;
}
.freshness-dot.fresh {
    background: var(--status-success, #28a745);
    box-shadow: 0 0 4px rgba(40, 167, 69, 0.4);
}
.freshness-dot.aging {
    background: var(--status-warning-bg, #ffc107);
    box-shadow: 0 0 4px rgba(255, 193, 7, 0.3);
}
.freshness-dot.stale {
    background: #999;
}
.freshness-dot.bounced {
    background: var(--status-danger, #dc3545);
    box-shadow: 0 0 4px rgba(220, 53, 69, 0.4);
}
.freshness-label {
    font-size: 0.7rem;
    color: var(--text-tertiary, #888);
    vertical-align: middle;
}
.freshness-label.fresh { color: var(--status-success-text, #155724); }
.freshness-label.aging { color: var(--status-warning-text, #856404); }
.freshness-label.bounced { color: var(--status-danger-text, #721c24); }

/* Alphabet Filter */
.bh-alphabet-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    justify-content: center;
    padding: 0.5rem;
}
.bh-alphabet-filter .bh-letter-btn {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-default, #ddd);
    border-radius: 4px;
    background: var(--bg-surface, #fff);
    color: var(--text-primary, #333);
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
    text-decoration: none;
}
.bh-alphabet-filter .bh-letter-btn:hover {
    background: var(--bg-muted, #f0f0f0);
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--brand-primary, #3d1a6f);
}
.bh-alphabet-filter .bh-letter-btn.active {
    background: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
}

/* Welcome/Page Banner */
.bh-welcome-banner {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
    padding: 1.5rem 2rem;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(61, 26, 111, 0.3);
}
.bh-welcome-banner h3,
.bh-welcome-banner h4 {
    color: var(--text-on-dark, #fff);
    font-weight: 600;
}
.bh-welcome-banner .input-group-text {
    border: none;
}
.bh-welcome-banner .form-control {
    border: none;
}

/* Loading Overlay */
.bh-loading-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--loader-overlay-bg, rgba(255,255,255,0.85));
    z-index: 9999;
}
.bh-loading-overlay.show {
    display: flex;
    align-items: center;
    justify-content: center;
}
.bh-loading-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid var(--brand-primary, #3d1a6f);
    border-radius: 50%;
    animation: bh-spin 1s linear infinite;
}
@keyframes bh-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.bh-loading-text {
    margin-top: 1rem;
    color: var(--text-secondary, #666);
    font-size: 0.9rem;
}

/* Data Card (for lists/grids) */
.bh-data-card {
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    border: 1px solid var(--border-default, #e5e5e5);
    margin-bottom: 0.75rem;
    overflow: hidden;
    transition: box-shadow 0.2s;
}
.bh-data-card:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.bh-data-card-header {
    padding: 0.75rem 1rem;
    border-left: 4px solid var(--brand-magenta, #7d1d61);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background 0.2s;
}
.bh-data-card-header:hover {
    background: var(--bg-subtle, #f8f9fa);
}
.bh-data-card-header.success { border-left-color: var(--status-success, #28a745); }
.bh-data-card-header.warning { border-left-color: var(--status-warning-border, #ffc107); }
.bh-data-card-header.danger { border-left-color: var(--status-danger, #dc3545); }
.bh-data-card-body {
    padding: 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-top: 1px solid var(--border-light, #eee);
}

/* Action Button Group */
.bh-action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.75rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
}

/* Empty State -- card shell only. Icon/title/body styling is canonical in
   engagement-design-system.css (.bh-empty-icon / .bh-empty-title / .bh-empty-body).
   The old element-type child rules ( .bh-empty-state i / p ) out-specified the
   canonical class rules and killed `.bh-empty-body { margin: 0 auto }`, dropping
   the body paragraph hard-left (RA Business Impact). Removed -- every consumer
   uses the canonical child classes. */
.bh-empty-state {
    text-align: center;
    padding: 3rem 2rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 10px;
    color: var(--text-secondary, #666);
}

/* Progress Bar (for KPIs) */
.bh-progress-bar {
    height: 8px;
    background: var(--bg-muted, #e9ecef);
    border-radius: 4px;
    overflow: hidden;
    margin-top: 0.5rem;
}
.bh-progress-bar .bh-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #3d1a6f, #7d1d61);
    border-radius: 4px;
    transition: width 0.3s ease;
}
.bh-progress-bar .bh-progress-fill.success { background: var(--status-success, #28a745); }
.bh-progress-bar .bh-progress-fill.warning { background: var(--status-warning-bg, #ffc107); }
.bh-progress-bar .bh-progress-fill.danger { background: var(--status-danger, #dc3545); }

/* Responsive adjustments */
@media (max-width: 768px) {
    .bh-summary-cards {
        flex-direction: column;
    }
    .bh-summary-card {
        max-width: 100%;
    }
    .bh-filter-bar {
        flex-direction: column;
        align-items: stretch;
    }
    .bh-page-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
}

/* StoryDashboard Agreement Actions - fix button colors */
.agreement-actions {
    position: relative;
}
.agreement-actions .btn {
    margin-right: 0.25rem;
    margin-bottom: 0.25rem;
}
/* Ensure outline button text is visible (not white) */
.agreement-actions .btn-outline-secondary {
    color: var(--text-primary, #000) !important;
    border-color: var(--text-secondary, #666) !important;
}
.agreement-actions .btn-outline-secondary:hover,
.agreement-actions .btn-outline-secondary:focus {
    color: var(--text-on-dark, #fff) !important;
    background-color: var(--text-secondary, #666) !important;
}
.agreement-actions .btn-outline-danger {
    color: var(--brand-danger, #ed174c) !important;
    border-color: var(--brand-danger, #ed174c) !important;
}
.agreement-actions .btn-outline-danger:hover,
.agreement-actions .btn-outline-danger:focus {
    color: var(--text-on-dark, #fff) !important;
    background-color: var(--brand-danger, #ed174c) !important;
}

/* StoryDashboard Story Action Buttons */
.story-actions {
    flex-shrink: 0;
}
.story-actions .btn-sm {
    padding: .2rem .4rem !important;
}
.story-actions .btn-outline-primary {
    color: var(--brand-primary, #3d1a6f) !important;
    border-color: var(--brand-primary, #3d1a6f) !important;
}
.story-actions .btn-outline-primary:hover,
.story-actions .btn-outline-primary:focus {
    color: var(--text-on-dark, #fff) !important;
    background-color: var(--brand-primary, #3d1a6f) !important;
}
.story-actions .btn-outline-danger {
    color: var(--brand-danger, #ed174c) !important;
    border-color: var(--brand-danger, #ed174c) !important;
}
.story-actions .btn-outline-danger:hover,
.story-actions .btn-outline-danger:focus {
    color: var(--text-on-dark, #fff) !important;
    background-color: var(--brand-danger, #ed174c) !important;
}

.table-borderless {
    border: 0 !important;
}
.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
    border: 0 !important;
}

/* ========================================
   Survey Forms Styles
   ======================================== */

/* Survey import upload zone */
.survey-import-zone {
    background: linear-gradient(135deg, var(--bg-gold-tint, #fff5dc) 0%, var(--bg-surface, #fffbf0) 100%);
    border: 2px dashed var(--brand-accent, #fdb913);
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    transition: all 0.2s ease;
}
.survey-import-zone:hover {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--bg-gold-tint, #fff5dc);
}
.survey-import-zone .upload-icon {
    font-size: 3rem;
    color: var(--text-muted, #999);
    margin-bottom: 1rem;
}

/* PureProfile import modal -- hero upload zone, slim supporting elements */
.pp-import-warn-strip {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: var(--bg-gold-tint, #fff5dc);
    border-left: 3px solid var(--brand-accent, #fdb913);
    border-radius: 4px;
    padding: 0.5rem 0.85rem;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    color: var(--text-body, #333);
    line-height: 1.4;
}
.pp-import-warn-strip i {
    color: #8a5a00;
    flex-shrink: 0;
}
[data-theme="dark"] .pp-import-warn-strip i { color: var(--brand-accent, #fdb913); }

.pp-import-zone {
    padding: 3rem 2rem;
}
.pp-import-zone-icon {
    font-size: 3.75rem;
    line-height: 1;
    color: var(--brand-accent, #fdb913);
    margin-bottom: 1rem;
}
.pp-import-zone-title {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    font-size: 1.4rem;
    margin: 0 0 0.3rem 0;
}
.pp-import-zone-sub {
    color: var(--text-secondary, #666);
    margin: 0 0 1.5rem 0;
    font-size: 0.95rem;
}
.pp-import-btn {
    padding: 0.7rem 1.75rem;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(61, 26, 111, 0.18);
}
.pp-import-btn:hover { box-shadow: 0 6px 16px rgba(61, 26, 111, 0.25); }
.pp-import-zone-hint {
    color: var(--text-secondary, #666);
    font-size: 0.8rem;
    margin: 0.85rem 0 0 0;
    letter-spacing: 0.02em;
}
[data-theme="dark"] .pp-import-zone-title { color: var(--page-title-color, #e5d9ff); }

.pp-import-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.4rem 1.4rem;
    margin: 1rem 0 0 0;
    padding: 0.65rem 1rem;
    font-size: 0.82rem;
    color: var(--text-secondary, #666);
    line-height: 1.3;
}
.pp-info-item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    position: relative;
}
.pp-info-item i {
    color: var(--brand-accent, #fdb913);
    font-size: 0.9rem;
}
.pp-info-item strong { color: var(--text-body, #333); font-weight: 600; }
.pp-info-item + .pp-info-item::before {
    content: "";
    position: absolute;
    left: -0.7rem;
    top: 0.2rem;
    bottom: 0.2rem;
    width: 1px;
    background: var(--border-light, #e9ecef);
}
[data-theme="dark"] .pp-info-item strong { color: var(--text-body, #d4d4d4); }

@media (max-width: 768px) {
    .pp-import-zone { padding: 2rem 1rem; }
    .pp-import-zone-icon { font-size: 2.75rem; }
    .pp-import-zone-title { font-size: 1.15rem; }
    .pp-import-info { gap: 0.4rem 0; flex-direction: column; align-items: flex-start; }
    .pp-info-item + .pp-info-item::before { display: none; }
}

/* Wizard step indicator */
.survey-wizard-steps {
    padding: 1rem 0;
}
.wizard-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}
.wizard-step .step-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--bg-muted, #e9ecef);
    color: var(--text-secondary, #666);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    transition: all 0.2s;
}
.wizard-step.active .step-circle {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
}
.wizard-step.completed .step-circle {
    background: var(--status-success, #28a745);
    color: var(--text-on-dark, #fff);
}
.step-connector {
    width: 100px;
    height: 3px;
    background: var(--bg-muted, #e9ecef);
    margin: 0 1rem;
}
.step-label {
    font-size: 0.875rem;
    color: var(--text-secondary, #666);
}
.wizard-step.active .step-label {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 500;
}

/* Survey legend card */
.survey-legend-card {
    background: linear-gradient(135deg, var(--bg-subtle, var(--bg-subtle, var(--bg-subtle, #f8f9fa))) 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
    border: 1px solid var(--border-light, #e9ecef);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 8px;
}
.survey-legend-card .card-body {
    font-size: 0.875rem;
}
.survey-legend {
    font-size: 0.875rem;
}
.survey-legend h6 {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
}

/* Survey table enhancements */
.survey-table th {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%) !important;
    border-left: 4px solid var(--brand-accent, #fdb913) !important;
    font-weight: 600;
    color: var(--text-primary, #333);
}
.survey-table .survey-name {
    font-weight: 600;
    color: var(--text-primary, #333);
}
.survey-table .survey-meta {
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
}

/* Survey action buttons */
.survey-actions .btn {
    padding: 0.25rem 0.5rem;
}
.survey-actions .btn-outline-primary {
    color: var(--brand-primary, #3d1a6f) !important;
    border-color: var(--brand-primary, #3d1a6f) !important;
}
.survey-actions .btn-outline-primary:hover {
    color: var(--text-on-dark, #fff) !important;
    background-color: var(--brand-primary, #3d1a6f) !important;
}

/* Border dashed utility */
.border-dashed {
    border-style: dashed !important;
}

/* ============================================================================
   INTERVIEW COVERAGE - Modern Coverage Management UI
   ============================================================================ */

/* Coverage Stats Bar */
.coverage-stats-bar {
    margin-bottom: 1.5rem;
}

/* .coverage-stats-bar .kpi-card now inherits canonical .bh-kpi/.kpi-card hero
   styles from the unified KPI section near .crm-stats. Page-local CSS removed
   2026-05-14. */

.coverage-stats-bar .kpi-label {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Coverage Panel Headers */
.coverage-panel-header {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    border-radius: 0 8px 8px 0;
}

.coverage-panel-header h4 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}

.coverage-panel-header .badge {
    font-size: 0.85rem;
}

/* Coverage Panel Toolbar */
.coverage-panel-toolbar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.coverage-panel-toolbar .search-input {
    flex: 1;
    min-width: 150px;
    max-width: 250px;
}

.coverage-panel-toolbar .search-input input {
    border-radius: 20px;
    padding-left: 2.5rem;
    border: 1px solid var(--border-default, #ddd);
}

.coverage-panel-toolbar .search-icon {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted, #999);
}

/* Coverage Items Container -- grows with content (was capped at 600px which hid items
   behind a tiny inner scrollbar). Keeps a min-height so the empty drop-zone reads. */
.coverage-items-container {
    min-height: 300px;
    padding: 0.5rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    border: 2px dashed transparent;
    transition: all 0.2s ease;
}

.coverage-items-container.sortable-ghost-highlight {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--bg-gold-tint, #fff5dc);
}

.coverage-items-container .empty-state {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--text-muted, #999);
}

.coverage-items-container .empty-state i {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

/* Coverage Card */
.coverage-card {
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--border-default, #dddddd);
    border-left: 4px solid var(--brand-primary, #3d1a6f);
    box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 6px 18px rgba(0,0,0,0.09);
    margin-bottom: 1.25rem;
    transition: all 0.2s ease;
}

.coverage-card:hover {
    box-shadow: 0 2px 6px rgba(0,0,0,0.08), 0 12px 28px rgba(0,0,0,0.13);
    transform: translateY(-2px);
}

.coverage-card.status-coverage {
    border-left-color: var(--status-success, #28a745);
}

.coverage-card.status-lead {
    border-left-color: var(--brand-accent, #fdb913);
}

.coverage-card.updating {
    opacity: 0.6;
    pointer-events: none;
}

.coverage-card .card-header {
    display: flex;
    align-items: center;
    padding: 0.75rem;
    gap: 0.5rem;
    background: transparent;
    border-bottom: 1px solid var(--border-light, #eee);
}

.coverage-card .drag-handle {
    cursor: grab;
    color: #ccc;
    padding: 0.25rem;
    transition: color 0.2s;
}

.coverage-card .drag-handle:hover {
    color: var(--brand-primary, #3d1a6f);
}

.coverage-card .checkbox-wrapper {
    padding: 0.25rem;
}

.coverage-card .station-logo {
    width: 48px;
    height: 48px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--bg-muted, #f0f0f0);
}

.coverage-card .station-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.coverage-card .station-info {
    flex: 1;
    min-width: 0;
}

.coverage-card .station-name {
    font-weight: 600;
    color: var(--text-primary, #333);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.coverage-card .contact-details {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}

.coverage-card .contact-details .separator {
    margin: 0 0.25rem;
    color: #ccc;
}

.coverage-card .outlet-type {
    font-size: 0.8rem;
    color: var(--text-muted, #999);
}

.coverage-card .quick-actions {
    display: flex;
    gap: 0.25rem;
}

.coverage-card .quick-actions .btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.85rem;
}

.coverage-card .card-body {
    padding: 0.5rem 0.75rem;
}

.coverage-card .badges-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.coverage-card .downloads-toggle {
    padding: 0;
    font-size: 0.85rem;
}

.coverage-card .downloads-accordion {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px dashed var(--border-light, #eee);
}

.coverage-card .downloads-accordion.collapse:not(.show) {
    display: none;
}

.coverage-card .downloads-accordion.show {
    display: block;
}

.coverage-card .downloads-list-items {
    list-style: none;
    padding: 0;
    margin: 0;
}

.coverage-card .downloads-list-items li {
    padding: 0.25rem 0;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.coverage-card .downloads-list-items .filename {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.coverage-card .downloads-list-items .date {
    color: var(--text-muted, #999);
    font-size: 0.8rem;
}

.coverage-card .card-footer {
    padding: 0.5rem 0.75rem;
    background: var(--bg-subtle, #f8f9fa);
    border-top: 1px solid var(--border-light, #eee);
    display: flex;
    gap: 0.5rem;
}

/* SortableJS drag states */
.sortable-ghost {
    opacity: 0.4;
}

.sortable-chosen {
    box-shadow: 0 8px 24px rgba(61, 26, 111, 0.2);
}

.sortable-drag {
    opacity: 1 !important;
}

/* Toast Notifications */
.ic-toast {
    position: fixed;
    bottom: 20px;
    right: 20px;
    padding: 1rem 1.5rem;
    border-radius: 8px;
    background: #333;
    color: var(--text-on-dark, #fff);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    z-index: 9999;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s ease;
}

.ic-toast.show {
    opacity: 1;
    transform: translateY(0);
}

.ic-toast.success {
    background: var(--status-success, #28a745);
}

.ic-toast.warning {
    background: var(--brand-accent, #fdb913);
    color: var(--text-primary, #333);
}

.ic-toast.error {
    background: var(--status-danger, #dc3545);
}

.ic-toast.info {
    background: var(--status-info, #17a2b8);
}

/* AI Quota Toast */
.ai-quota-toast {
    position: fixed;
    bottom: 24px;
    right: 24px;
    max-width: 420px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 20px;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.18);
    z-index: 10001;
    font-size: 0.9rem;
    line-height: 1.4;
}

.ai-quota-warning {
    background: var(--status-warning-bg, #fff8e1);
    border: 1px solid var(--brand-accent, #fdb913);
    color: var(--status-warning-text, #5d4200);
}

.ai-quota-exhausted {
    background: var(--bg-danger-subtle, #fce4ec);
    border: 1px solid #e53935;
    color: var(--status-danger-text, #7f1d1d);
}

.ai-quota-toast-icon {
    font-size: 1.4rem;
    flex-shrink: 0;
    padding-top: 2px;
}

.ai-quota-warning .ai-quota-toast-icon { color: #f9a825; }
.ai-quota-exhausted .ai-quota-toast-icon { color: #e53935; }

.ai-quota-toast-body strong {
    display: block;
    margin-bottom: 4px;
    font-size: 0.95rem;
}

.ai-quota-toast-body p {
    margin: 0;
    font-size: 0.85rem;
}

.ai-quota-toast-close {
    background: none;
    border: none;
    color: inherit;
    opacity: 0.5;
    cursor: pointer;
    font-size: 0.9rem;
    padding: 0;
    flex-shrink: 0;
}

.ai-quota-toast-close:hover { opacity: 1; }

/* Audit History Panel */
.audit-history-panel {
    margin-top: 1rem;
}

.audit-history-panel .card-header {
    cursor: pointer;
    background: linear-gradient(135deg, var(--bg-subtle, var(--bg-subtle, var(--bg-subtle, #f8f9fa))) 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
}

.audit-history-panel .card-header:hover {
    background: var(--bg-muted, #f0f0f0);
}

.audit-entries {
    max-height: 300px;
    overflow-y: auto;
}

.audit-entry {
    padding: 0.75rem;
    border-bottom: 1px solid var(--border-light, #eee);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.audit-entry:last-child {
    border-bottom: none;
}

.audit-entry .station-name {
    font-weight: 500;
}

.audit-entry .arrow {
    color: #ccc;
}

.audit-entry .new-status {
    color: var(--status-success, #28a745);
    font-weight: 500;
}

.audit-entry .audit-meta {
    width: 100%;
    font-size: 0.8rem;
    color: var(--text-muted, #999);
    display: flex;
    gap: 1rem;
}

.audit-entry .audit-notes {
    width: 100%;
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    font-style: italic;
    padding-left: 0.5rem;
    border-left: 2px solid var(--border-light, #eee);
}

/* Loading Spinner */
.loading-spinner {
    text-align: center;
    padding: 2rem;
    color: var(--brand-primary, #3d1a6f);
}

.coverage-items-container .loading-spinner {
    text-align: center;
    padding: 2rem;
    color: var(--brand-primary, #3d1a6f);
}

/* Toggle Switch for Modern/Legacy View */
.view-toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.view-toggle .custom-switch .custom-control-label::before {
    background-color: var(--border-strong, #ccc);
}

.view-toggle .custom-switch .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--brand-primary, #3d1a6f);
}

/* ==========================================================================
   Pitch/Booking Stats Bar (reusable KPI cards)
   ========================================================================== */

.pitch-stats {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
    padding: 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    margin-bottom: 1rem;
}

/* .pitch-stat-card styles consolidated into canonical .bh-kpi system (see top
   of file). Class name retained as alias. */

.pitch-stats-collapsed {
    padding: 0.5rem 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    font-size: 0.85rem;
}

.pitch-stats-collapsed a {
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
}

.pitch-stats-collapsed a:hover {
    text-decoration: underline;
}

.coverage-stats-collapsed {
    padding: 0.5rem 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    font-size: 0.85rem;
    margin-bottom: 1rem;
}

.coverage-stats-collapsed a {
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
}

.coverage-stats-collapsed a:hover {
    text-decoration: underline;
}

.stats-dismiss-btn {
    background: transparent;
    border: none;
    color: var(--text-muted, #999);
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    margin-left: auto;
    flex: 0 0 auto;
}

.stats-dismiss-btn:hover {
    color: var(--text-secondary, #666);
}

/* ==========================================================================
   Booking Card Styles
   ========================================================================== */

.booking-stats-bar {
    margin-bottom: 1rem;
}

.booking-toolbar {
    background: var(--bg-subtle, #f8f9fa);
    padding: 1rem;
    border-radius: 8px;
    margin-bottom: 1rem;
}

.bookings-cards-container {
    min-height: 200px;
}

.bookings-cards-container .loading-spinner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    color: var(--text-muted, #999);
}

.bookings-cards-container .empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    color: var(--text-muted, #999);
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
}

.bookings-cards-container .empty-state i {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.bookings-cards-container .empty-state.error {
    color: var(--status-danger, #dc3545);
}

.booking-date-group {
    margin-bottom: 1.5rem;
}

.booking-date-group .date-header {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    font-size: 1.1rem;
    padding: 0.6rem 0.75rem;
    margin-bottom: 0.75rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 4px;
}

/* === Booking Schedule day grouping (sticky day banner pattern) ===
   Used in InterviewCoverage bookings list. Each day gets a sticky slate-tint banner
   with full weekday, date, optional Today/Tomorrow pill, and a status rollup.
   Slate-tint + 4px gold left-rail matches the .bh-context-card pattern in the modal. */
.bh-booking-day-group {
    margin-bottom: 2rem;
}
.bh-booking-day-group:last-child {
    margin-bottom: 0.5rem;
}
.bh-booking-day-header {
    position: sticky;
    top: var(--bh-navbar-h, 110px); /* live navbar height -- see Site.Master setNavH(). Fallback 110px matches desktop logo+padding for the first paint before JS runs. */
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
    padding: 0.6rem 0.85rem;
    margin-bottom: 0.85rem;
    background: var(--bg-slate-tint, #f4f5f8);
    border: 1px solid var(--border-subtle, #e0e2e7);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.bh-booking-day-header .bh-day-label {
    display: inline-flex;
    align-items: baseline;
    gap: 0.55rem;
    flex-wrap: wrap;
    color: var(--brand-primary, #3d1a6f);
    font-size: 1.05rem;
    min-width: 0;
}
.bh-booking-day-header .bh-day-label > i {
    color: var(--brand-primary, #3d1a6f);
    opacity: 0.7;
    font-size: 0.95rem;
}
.bh-booking-day-header .bh-day-weekday {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.bh-booking-day-header .bh-day-date {
    font-weight: 500;
    color: var(--text-secondary, #666);
    font-size: 0.88rem;
}
.bh-booking-day-header .bh-day-relative {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    background: var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
    margin-left: 0.25rem;
    vertical-align: middle;
}
.bh-booking-day-header .bh-day-relative.past {
    background: var(--bg-muted, #e2e3e5);
    color: var(--text-secondary, #666);
}
.bh-booking-day-header .bh-day-rollup {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    font-size: 0.78rem;
}
.bh-booking-day-header .bh-day-count {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
}
.bh-booking-day-header .bh-day-rollup-sep {
    display: inline-block;
    width: 1px;
    height: 0.85em;
    background: var(--border-default, #ccc);
    margin: 0 0.25rem;
    vertical-align: middle;
}
.bh-booking-day-header .bh-day-stat {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    background: var(--bg-subtle, #f8f9fa);
    color: var(--text-secondary, #666);
    font-size: 0.72rem;
    font-weight: 500;
    white-space: nowrap;
}
.bh-booking-day-header .bh-day-stat i { font-size: 0.7rem; }
.bh-booking-day-header .bh-day-stat.conf {
    background: var(--status-success-bg, #d4edda);
    color: var(--status-success-text, #155724);
}
.bh-booking-day-header .bh-day-stat.tent {
    background: var(--status-warning-bg, #fff3cd);
    color: var(--status-warning-text, #856404);
}
.bh-booking-day-header .bh-day-stat.awaiting {
    background: var(--bg-muted, #e2e3e5);
    color: var(--text-primary, #383d41);
}
.bh-booking-day-header .bh-day-stat.unavail {
    background: var(--status-danger-bg, #f8d7da);
    color: var(--status-danger-text, #721c24);
}
[data-theme="dark"] .bh-booking-day-header {
    background: var(--bg-slate-tint, #2a2a32);
    border-color: var(--border-subtle, #3a3a44);
}
@media (max-width: 768px) {
    .bh-booking-day-header {
        gap: 0.5rem;
        padding: 0.5rem 0.7rem;
    }
    .bh-booking-day-header .bh-day-weekday { font-size: 0.95rem; }
    .bh-booking-day-header .bh-day-stat { font-size: 0.68rem; padding: 0.1rem 0.4rem; }
}

.booking-card {
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--border-default, #dddddd);
    border-left: 4px solid var(--brand-primary, #3d1a6f);
    box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 6px 18px rgba(0,0,0,0.09);
    margin-bottom: 1.25rem;
    transition: all 0.2s ease;
    cursor: pointer;
}

.booking-card:hover {
    box-shadow: 0 2px 6px rgba(0,0,0,0.08), 0 12px 28px rgba(0,0,0,0.13);
    transform: translateY(-2px);
}

.booking-card.status-confirmed {
    border-left-color: var(--status-success, #28a745);
}

.booking-card.status-tentative {
    border-left-color: var(--status-warning-border, #ffc107);
}

.booking-card.status-awaiting {
    border-left-color: var(--text-secondary, #666);
}

.booking-card.status-client-confirmed {
    border-left-color: var(--status-info, #17a2b8);
}

.booking-card.updating {
    opacity: 0.6;
    pointer-events: none;
}

/* Quiet status pills on booking cards (passive positive states -- not buttons) */
.booking-soft-badge {
    display: inline-block;
    padding: 0.18rem 0.5rem;
    margin-left: 0.5rem;
    border-radius: 12px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
    background: var(--bg-muted, #f0f0f0);
    color: var(--text-secondary, #666);
}
.booking-soft-badge.ok {
    background: var(--status-success-bg, #d4edda);
    color: var(--status-success-text, #155724);
}
.booking-soft-badge i {
    margin-right: 0.2rem;
}

/* Unavailable Block - Distinct "blocked out" appearance */
.unavailable-block {
    position: relative;
    background: var(--bg-muted, #f8f8f8);
    border-radius: 8px;
    margin-bottom: 0.75rem;
    overflow: hidden;
    border: 2px dashed #999;
}

.unavailable-stripe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 10px,
        rgba(150, 150, 150, 0.1) 10px,
        rgba(150, 150, 150, 0.1) 20px
    );
    pointer-events: none;
}

.unavailable-content {
    position: relative;
    display: flex;
    align-items: center;
    padding: 1rem 1.5rem;
    gap: 1.5rem;
}

.unavailable-icon-large {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    background: var(--status-danger, #dc3545);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-on-dark, #fff);
    font-size: 1.5rem;
}

.unavailable-details {
    flex: 1;
}

.unavailable-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--status-danger, #dc3545);
    margin-bottom: 0.25rem;
}

.unavailable-talent {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    margin-bottom: 0.25rem;
}

.unavailable-time {
    font-size: 0.9rem;
    color: var(--text-secondary, #666);
}

.unavailable-reason {
    font-size: 0.85rem;
    color: var(--text-tertiary, #888);
    margin-top: 0.25rem;
    font-style: italic;
}

.booking-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, var(--bg-subtle, var(--bg-subtle, var(--bg-subtle, #f8f9fa))) 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
    border-bottom: 1px solid var(--border-light, #eee);
    border-radius: 8px 8px 0 0;
}

.booking-datetime {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.booking-datetime .time {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    font-size: 1rem;
}

.booking-datetime .timezone {
    font-size: 0.8rem;
    color: var(--text-muted, #999);
}

.booking-card-body {
    padding: 0.75rem 1rem;
}

.outlet-logo {
    width: 50px;
    height: 50px;
    border-radius: 6px;
    overflow: hidden;
    background: var(--bg-muted, #f0f0f0);
    display: flex;
    align-items: center;
    justify-content: center;
}

.outlet-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.outlet-info .outlet-name {
    font-weight: 600;
    color: var(--text-primary, #333);
    font-size: 1rem;
}

.outlet-info .outlet-meta {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}

.outlet-info .outlet-meta .separator {
    margin: 0 0.5rem;
    color: #ccc;
}

.outlet-info .host-info {
    font-size: 0.85rem;
    color: var(--text-muted, #999);
    margin-top: 0.25rem;
}

.talent-info .talent-primary {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    font-size: 1rem;
}

.secondary-talent-section {
    margin-top: 0.5rem;
}

.secondary-talent-section .toggle-secondary {
    padding: 0;
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
    text-decoration: none;
}

.secondary-talent-section .toggle-secondary:hover {
    color: var(--brand-primary, #3d1a6f);
}

.secondary-talent-list {
    display: none;
    margin-top: 0.5rem;
    padding-left: 1rem;
    border-left: 2px solid var(--border-light, #e9ecef);
}

.secondary-talent-list.show {
    display: block;
}

.secondary-talent-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.25rem 0;
    font-size: 0.85rem;
}

.method-info .method {
    font-size: 0.9rem;
    color: var(--text-primary, #333);
}

.method-info .type {
    font-size: 0.8rem;
    color: var(--text-muted, #999);
}

.booking-notes {
    margin-top: 0.5rem;
    padding: 0.5rem;
    background: var(--bg-gold-tint, #fffbf0);
    border-radius: 4px;
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}

.booking-card .quick-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.booking-card .quick-actions .btn,
.booking-card .quick-actions .btn-xs {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
    height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
}

.booking-card .quick-actions .badge {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
    height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
}

/* Status badges */
.status-badge .badge {
    font-size: 0.8rem;
    padding: 0.4rem 0.75rem;
}

/* Toast notification */
.booking-toast {
    animation: slideIn 0.2s ease-out;
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* ============================================
   OFFCANVAS SLIDE-OUT PANEL (Bootstrap 4 Polyfill)
   ============================================ */
.offcanvas {
    position: fixed;
    bottom: 0;
    z-index: 1045;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    visibility: hidden;
    background-color: var(--bg-surface, #fff);
    background-clip: padding-box;
    outline: 0;
    transition: transform 0.3s ease-in-out;
    box-shadow: -5px 0 25px rgba(0,0,0,0.15);
}

.offcanvas-end {
    top: 0;
    right: 0;
    width: 400px;
    border-left: 1px solid rgba(0,0,0,.2);
    transform: translateX(100%);
}

.offcanvas.show {
    visibility: visible;
    transform: none;
}

.offcanvas-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid var(--border-default, #dee2e6);
}

.offcanvas-title {
    margin-bottom: 0;
    line-height: 1.5;
}

.offcanvas-body {
    flex-grow: 1;
    padding: 1rem;
    overflow-y: auto;
}

.offcanvas-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
    background-color: #000;
    opacity: 0.5;
}

.offcanvas-backdrop.fade {
    opacity: 0;
}

.offcanvas-backdrop.show {
    opacity: 0.5;
}

body.offcanvas-open {
    overflow: hidden;
}

/* =============================================================================
   Portal Access Cards
   ============================================================================= */

.portal-section {
    margin-bottom: 1.5rem;
}

.portal-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 4px 4px 0 0;
    margin-bottom: 0;
}

.portal-section-header h5 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}

.portal-section-header .btn-group {
    display: flex;
    gap: 0.5rem;
}

.portal-cards-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 1rem;
    padding: 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-light, #e9ecef);
    border-top: none;
    border-radius: 0 0 4px 4px;
}

.portal-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    padding: 1rem;
    transition: box-shadow 0.2s, transform 0.2s;
}

.portal-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.portal-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.75rem;
}

.portal-card-name {
    font-weight: 600;
    font-size: 1rem;
    color: var(--text-primary, #333);
    margin-bottom: 0.25rem;
}

.portal-card-email {
    color: var(--text-secondary, #666);
    font-size: 0.875rem;
}

.portal-card-actions {
    display: flex;
    gap: 0.25rem;
}

.portal-card-actions .btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    border-radius: 4px;
}

.portal-card-body {
    margin-bottom: 0.75rem;
}

.portal-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.85rem;
}

.portal-card-meta-item {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--text-secondary, #666);
}

.portal-card-meta-item i {
    font-size: 0.75rem;
}

.portal-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border-light, #f0f0f0);
}

.portal-status-active {
    color: var(--status-success, #28a745);
    font-size: 0.85rem;
}

.portal-status-active i {
    font-size: 0.5rem;
    vertical-align: middle;
    margin-right: 0.25rem;
}

.portal-status-never {
    color: var(--text-secondary, #666);
    font-size: 0.85rem;
}

.portal-status-never i {
    font-size: 0.5rem;
    vertical-align: middle;
    margin-right: 0.25rem;
}

.portal-last-accessed {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}

.portal-alert-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 500;
}

.portal-alert-badge.alert-on {
    background: var(--status-success-bg, #d4edda);
    color: var(--status-success-text, #155724);
}

.portal-alert-badge.alert-off {
    background: var(--status-danger-bg, #f8d7da);
    color: var(--status-danger-text, #721c24);
}

/* Empty state for portal sections */
.portal-empty-state {
    grid-column: 1 / -1;
    text-align: center;
    padding: 2rem;
    color: var(--text-secondary, #666);
}

.portal-empty-state i {
    font-size: 2rem;
    margin-bottom: 0.5rem;
    opacity: 0.5;
}

/* QR Code Modal */
#qrCodeModal .modal-body {
    text-align: center;
    padding: 1.5rem;
}

#qrCodeContainer {
    display: inline-block;
    padding: 1rem;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
}

#qrCodeContainer img {
    display: block;
}

/* Portal toast notification */
.portal-toast {
    position: fixed;
    bottom: 20px;
    right: 20px;
    padding: 12px 24px;
    border-radius: 4px;
    z-index: 9999;
    color: var(--text-on-dark, #fff);
    animation: portalToastIn 0.3s ease;
}

.portal-toast-success {
    background: var(--status-success, #28a745);
}

.portal-toast-error {
    background: var(--status-danger, #dc3545);
}

@keyframes portalToastIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .portal-cards-container {
        grid-template-columns: 1fr;
    }

    .portal-section-header {
        flex-direction: column;
        gap: 0.5rem;
        align-items: flex-start;
    }

    .portal-card-header {
        flex-direction: column;
    }

    .portal-card-actions {
        margin-top: 0.5rem;
    }
}

/* ============================================
   SCHEDULE PORTAL STYLES
   ============================================ */

/* Info Section Cards (Background Info, Speaking Tips) */
.info-section-card {
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    border-left: 4px solid var(--brand-accent, #fdb913);
    margin-bottom: 1rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    overflow: hidden;
}

.info-section-card h4 {
    /* gradient provided by .bh-gold-header master rule */
    margin: 0;
    padding: 1rem 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    border-bottom: 1px solid var(--border-light, #f0e6d0);
}

.info-section-card h4 i {
    margin-right: 0.5rem;
    color: var(--brand-primary, #3d1a6f);
}

.info-section-content {
    padding: 1.25rem 1.5rem;
    line-height: 1.7;
    color: var(--text-body, #555);
}

/* Generic padding for card body content */
.info-section-card > p,
.info-section-card > div:not(h4) {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.info-section-card > p:first-of-type {
    padding-top: 1rem;
}

.info-section-card > div:last-child {
    padding-bottom: 1.5rem;
}

/* Ensure nested content in settings cards has proper left padding */
.info-section-card .pin-security-status,
.info-section-card .pin-security-actions {
    padding-left: 1rem;
    margin-left: 0;
}

/* Supporting Info -- headline stat donuts (jQuery Knob), shown as a horizontal strip */
.support-stats-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1.75rem;
    justify-content: center;
    align-items: flex-start;
}

.support-stat {
    flex: 1 1 200px;
    max-width: 260px;
    text-align: center;
}

.support-stat-dial {
    text-align: center;
    margin-bottom: 0.6rem;
}

.support-stat-dial input.dial {
    font-weight: 700;
}

.support-stat-caption {
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--text-body, #555);
}

@media (max-width: 768px) {
    .support-stat {
        flex: 1 1 100%;
        max-width: none;
    }
}

/* Q&A Cards (Key Messages) */
.qa-card {
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    border-left: 4px solid var(--brand-primary, #3d1a6f);
    margin-bottom: 1rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    overflow: hidden;
}

.qa-card-header {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    padding: 0.75rem 1rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.qa-number {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 700;
    flex-shrink: 0;
}

.qa-card-body {
    padding: 1rem;
    color: var(--text-body, #555);
    line-height: 1.6;
}

/* Portal Card Grid (Manage Alerts) */
.portal-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 1rem;
}

.portal-card {
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    border-left: 4px solid var(--brand-primary, #3d1a6f);
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    overflow: hidden;
}

.portal-card-header {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.portal-card-info {
    flex: 1;
}

.portal-card-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}

.portal-card-title {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    margin-top: 0.25rem;
}

.portal-card-toggle {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem;
}

.portal-card-toggle .toggle-label {
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
    text-transform: uppercase;
}

.portal-card-body {
    padding: 1rem;
}

.portal-card-detail {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--text-body, #555);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.portal-card-detail i {
    width: 16px;
    color: var(--brand-primary, #3d1a6f);
}

.portal-card-actions {
    padding: 0.75rem 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-top: 1px solid var(--border-light, #eee);
}

/* Media Release Card */
.media-release-card {
    background: var(--bg-surface, #fff);
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    overflow: hidden;
}

.media-release-header {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
    padding: 2rem;
    text-align: center;
}

.media-release-image {
    max-height: 150px;
    max-width: 150px;
    border-radius: 8px;
    margin-bottom: 1rem;
    display: inline-block;
}

.media-release-title h2 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 0.5rem 0;
    color: var(--text-on-dark, #fff);
}

.media-release-notice {
    display: inline-block;
    background: var(--brand-accent, #fdb913);
    color: #333; /* SEC-A001 */
    padding: 0.25rem 1rem;
    border-radius: 20px;
    font-weight: 600;
    font-size: 0.9rem;
}

.media-release-body {
    padding: 2rem;
}

.media-release-bullets {
    background: var(--bg-subtle, #f8f9fa);
    border-left: 4px solid var(--brand-accent, #fdb913);
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    border-radius: 0 8px 8px 0;
    font-weight: 500;
}

.media-release-content {
    line-height: 1.8;
    color: var(--text-primary, #444);
    margin-bottom: 1.5rem;
}

.media-release-questions {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-radius: 8px;
    padding: 1.5rem;
}

.media-release-questions h5 {
    color: var(--brand-primary, #3d1a6f);
    margin: 0 0 1rem 0;
    font-size: 1rem;
}

.media-release-questions h5 i {
    margin-right: 0.5rem;
}

/* Interview Countdown Card */
.schedule-countdown-container {
    margin: 1rem 0;
}

.schedule-countdown-card {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
    padding: 1rem 1.5rem;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(61, 26, 111, 0.3);
}

.countdown-icon {
    font-size: 2rem;
    opacity: 0.9;
}

.countdown-info {
    flex: 1;
}

.countdown-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.8;
}

.countdown-outlet {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0.25rem 0;
}

.countdown-time {
    font-size: 0.9rem;
    opacity: 0.9;
}

.countdown-timer {
    text-align: center;
    background: rgba(255,255,255,0.15);
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
}

.countdown-value {
    font-size: 1.75rem;
    font-weight: 700;
    font-family: 'Courier New', monospace;
}

.countdown-unit {
    font-size: 0.7rem;
    text-transform: uppercase;
    opacity: 0.8;
}

.countdown-actions {
    display: flex;
    gap: 0.5rem;
}

.countdown-actions .btn {
    background: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.3);
    color: var(--text-on-dark, #fff);
}

.countdown-actions .btn:hover {
    background: rgba(255,255,255,0.3);
    color: var(--text-on-dark, #fff);
}

/* Urgent Action Banner */
.schedule-urgent-banner {
    background: linear-gradient(135deg, var(--bg-danger-subtle, #fff5f5) 0%, var(--bg-danger-subtle, #ffe5e5) 100%);
    border: 2px solid var(--status-danger, #dc3545);
    border-radius: 12px;
    padding: 1rem 1.5rem;
    margin: 1rem 0;
    animation: pulse-border 2s infinite;
}

.urgent-banner-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--status-danger, #dc3545);
    font-weight: 600;
    font-size: 1.1rem;
    margin-bottom: 1rem;
}

.urgent-banner-header i {
    font-size: 1.25rem;
}

.urgent-banner-items {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.urgent-banner-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--bg-surface, #fff);
    padding: 0.75rem 1rem;
    border-radius: 8px;
    border-left: 4px solid var(--status-danger, #dc3545);
}

.urgent-banner-item.urgency-urgent {
    border-left-color: #fd7e14;
}

.urgent-item-info {
    display: flex;
    flex-direction: column;
}

.urgent-item-outlet {
    font-weight: 600;
    color: var(--text-primary, #333);
}

.urgent-item-time {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}

.urgent-item-actions {
    display: flex;
    gap: 0.5rem;
}

/* Schedule Interview Card Overrides (visual shell -- border/shadow/radius -- inherited from .booking-card) */
.schedule-interview-card:last-child {
    margin-bottom: 0;
}

.schedule-interview-card .booking-card-header {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.6rem 1rem;
}

.schedule-interview-card .booking-card-header-left {
    flex-shrink: 0;
}

.schedule-interview-card .booking-card-header-center {
    flex: 1;
    min-width: 0;
}

.schedule-interview-card .booking-card-header-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.35rem;
    flex-shrink: 0;
}

.schedule-interview-card .booking-header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.schedule-interview-card .booking-cal-btn {
    padding: 0.15rem 0.4rem;
    line-height: 1;
    color: var(--brand-primary, #3d1a6f);
    background: transparent;
    border: 1px solid var(--border-light, #d9d2e6);
    border-radius: 4px;
}

.schedule-interview-card .booking-cal-btn:hover {
    background: var(--bg-gold-tint, #fff5dc);
    color: var(--brand-primary, #3d1a6f);
}

.schedule-interview-card .booking-outlet-name {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    line-height: 1.3;
}

.schedule-interview-card .booking-interview-time {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    color: var(--text-secondary, #666);
    font-size: 0.85rem;
}

.schedule-interview-card .booking-timezone {
    color: var(--text-muted, #999);
    font-size: 0.78rem;
}

.schedule-interview-card .booking-status-badge {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    background: var(--bg-subtle, #eee);
    color: var(--text-secondary, #666);
}

.schedule-interview-card .booking-status-badge.status-confirmed {
    background: var(--status-success-bg, #d4edda);
    color: var(--status-success-text, #155724);
}

.schedule-interview-card .booking-status-badge.status-tentative {
    background: var(--status-warning-bg, #fff3cd);
    color: var(--status-warning-text, #856404);
}

.schedule-interview-card .booking-card-body {
    padding: 0.65rem 1rem 0.75rem;
    border-top: 1px solid var(--border-light, #eee);
}

.schedule-interview-card .booking-detail-col {
    padding-top: 0.15rem;
}

.schedule-interview-card .booking-detail-row {
    display: flex;
    gap: 0.4rem;
    margin-bottom: 0.3rem;
    font-size: 0.85rem;
    line-height: 1.35;
}

.schedule-interview-card .booking-detail-label {
    font-weight: 600;
    color: var(--text-secondary, #666);
    min-width: 62px;
    flex-shrink: 0;
}

.schedule-interview-card .booking-notes {
    display: block;
    background: var(--bg-danger-subtle, #fff5f5);
    border-left: 3px solid var(--status-danger, #dc3545);
    padding: 0.4rem 0.6rem;
    border-radius: 4px;
    margin-top: 0.5rem;
    font-size: 0.85rem;
    line-height: 1.4;
    white-space: pre-wrap;
}

.schedule-interview-card .booking-notes .booking-detail-label {
    min-width: 0;
    margin-right: 0.25rem;
}

/* Phone link styling */
.schedule-interview-card .booking-phone-link {
    color: var(--status-success, #28a745);
    text-decoration: none;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.schedule-interview-card .booking-phone-link:hover {
    color: #1e7e34;
    text-decoration: underline;
}

.schedule-interview-card .booking-phone-link i {
    font-size: 0.9em;
}

/* Status-based card styling */
.schedule-interview-card[data-interview-status="Confirmed"],
.schedule-interview-card[data-interview-status="Client Confirmed"] {
    border-left-color: var(--status-success, #28a745);
}

.schedule-interview-card[data-interview-status="Tentative"] {
    border-left-color: var(--status-warning-border, #ffc107);
}

/* Urgency-based card styling */
.schedule-interview-card.urgency-critical {
    border-left: 4px solid var(--status-danger, #dc3545) !important;
    animation: pulse-border 1.5s infinite;
}

.schedule-interview-card.urgency-urgent {
    border-left: 4px solid #fd7e14 !important;
    background: var(--bg-gold-tint, #fff8f0);
}

.schedule-interview-card.urgency-warning {
    border-left: 4px solid var(--status-warning-border, #ffc107) !important;
}

.schedule-interview-card .booking-urgency-text {
    color: var(--status-danger, #dc3545);
    font-size: 0.8rem;
    font-weight: 600;
    margin-top: 0.25rem;
}

.schedule-interview-card.urgency-critical .booking-urgency-text,
.schedule-interview-card.urgency-urgent .booking-urgency-text,
.schedule-interview-card.urgency-warning .booking-urgency-text {
    display: block !important;
}

/* Floating Key Messages Button */
.schedule-floating-btn {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 1000;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
    border: none;
    box-shadow: 0 4px 12px rgba(61, 26, 111, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.schedule-floating-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 16px rgba(61, 26, 111, 0.5);
}

.schedule-floating-btn:active {
    transform: scale(0.95);
}

/* Key Messages Modal */
.key-messages-modal .modal-header {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
}

.key-messages-modal .qa-card {
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    border-left: 4px solid var(--brand-primary, #3d1a6f);
    margin-bottom: 1rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.key-messages-modal .qa-card-header {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    padding: 0.75rem 1rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    border-radius: 0 8px 0 0;
}

.key-messages-modal .qa-card-body {
    padding: 1rem;
    color: var(--text-body, #555);
    line-height: 1.6;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .schedule-countdown-card {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }

    .countdown-timer {
        width: 100%;
    }

    .countdown-actions {
        width: 100%;
        justify-content: center;
    }

    .schedule-interview-card .booking-card-header {
        flex-direction: column;
        text-align: center;
    }

    .schedule-interview-card .booking-card-header-right {
        align-items: center;
        margin-top: 0.5rem;
    }

    .urgent-banner-item {
        flex-direction: column;
        gap: 0.75rem;
        text-align: center;
    }

    .urgent-item-actions {
        width: 100%;
        justify-content: center;
    }

    .schedule-floating-btn {
        bottom: 1rem;
        right: 1rem;
        width: 50px;
        height: 50px;
        font-size: 1.25rem;
    }
}

/* ========================================
   Schedule Portal - Calendar Sync Bar
   ======================================== */
.schedule-calendar-bar {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1rem;
    background: linear-gradient(135deg, var(--bg-subtle, var(--bg-subtle, var(--bg-subtle, #f8f9fa))) 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    margin-bottom: 1rem;
}

.calendar-bar-label {
    font-weight: 500;
    color: var(--text-secondary, #666);
    white-space: nowrap;
}

.calendar-bar-label i {
    color: var(--brand-primary, #3d1a6f);
    margin-right: 0.5rem;
}

.calendar-bar-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.calendar-bar-buttons .btn {
    font-size: 0.8rem;
}

@media (max-width: 768px) {
    .schedule-calendar-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .calendar-bar-buttons {
        width: 100%;
    }

    .calendar-bar-buttons .btn {
        flex: 1;
        text-align: center;
    }
}

/* ========================================
   Schedule Portal - Calendar Options Panel
   ======================================== */
.schedule-calendar-options {
    margin: 1rem 0;
}

.calendar-options-card {
    background: var(--bg-surface, #fff);
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    overflow: hidden;
    border: 1px solid var(--border-light, #e9ecef);
}

.calendar-options-header {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    padding: 1rem 1.25rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.calendar-options-header i {
    margin-right: 0.5rem;
    color: var(--brand-primary, #3d1a6f);
}

.calendar-options-header .btn-close {
    background: transparent;
    border: none;
    font-size: 1.25rem;
    cursor: pointer;
    opacity: 0.5;
    transition: opacity 0.2s ease;
}

.calendar-options-header .btn-close:hover {
    opacity: 1;
}

.calendar-options-body {
    padding: 1.5rem;
}

.calendar-options-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1.5rem;
    align-items: start;
}

.calendar-option-section h6 {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.calendar-option-section h6 i {
    margin-right: 0.5rem;
}

.calendar-option-divider {
    width: 1px;
    background: var(--bg-muted, #e9ecef);
    min-height: 100px;
    align-self: stretch;
}

.calendar-subscribe-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.calendar-subscribe-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.calendar-subscribe-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.calendar-options-footer {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    font-size: 0.875rem;
    color: var(--text-secondary, #666);
}

.calendar-options-footer i {
    color: var(--brand-primary, #3d1a6f);
    margin-right: 0.5rem;
}

/* Calendar Toast Notification */
.calendar-toast {
    position: fixed;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%) translateY(100px);
    background: #333;
    color: var(--text-on-dark, #fff);
    padding: 1rem 1.5rem;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
    z-index: 9999;
    opacity: 0;
    transition: all 0.3s ease;
}

.calendar-toast.show {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.calendar-toast i {
    color: var(--status-success, #4caf50);
    margin-right: 0.5rem;
}

/* Calendar Options Mobile */
@media (max-width: 768px) {
    .calendar-options-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .calendar-option-divider {
        width: 100%;
        height: 1px;
        min-height: auto;
    }

    .calendar-subscribe-buttons {
        flex-direction: column;
    }

    .calendar-subscribe-btn {
        justify-content: center;
        width: 100%;
    }
}

/* ========================================
   Schedule Portal - Calendar Setup Banner
   ======================================== */
.calendar-setup-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
    border-radius: 12px;
    margin-bottom: 1.5rem;
    box-shadow: 0 4px 12px rgba(61, 26, 111, 0.2);
}

.calendar-setup-content {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.calendar-setup-content > i {
    font-size: 2rem;
    color: var(--brand-accent, #fdb913);
}

.calendar-setup-text {
    display: flex;
    flex-direction: column;
}

.calendar-setup-text strong {
    font-size: 1rem;
    font-weight: 600;
}

.calendar-setup-text span {
    font-size: 0.85rem;
    opacity: 0.9;
}

.calendar-setup-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.calendar-setup-actions .btn-primary {
    background: var(--brand-accent, #fdb913);
    border-color: var(--brand-accent, #fdb913);
    color: var(--text-primary, #1a1a1a);
    font-weight: 600;
}

.calendar-setup-actions .btn-primary:hover {
    background: #e5a711;
    border-color: #e5a711;
}

.calendar-setup-actions .btn-link {
    text-decoration: none;
    opacity: 0.8;
}

.calendar-setup-actions .btn-link:hover {
    opacity: 1;
}

@media (max-width: 768px) {
    .calendar-setup-banner {
        flex-direction: column;
        text-align: center;
        padding: 1rem;
    }

    .calendar-setup-content {
        flex-direction: column;
        text-align: center;
    }

    .calendar-setup-actions {
        width: 100%;
        flex-direction: column;
    }

    .calendar-setup-actions .btn {
        width: 100%;
    }
}

/* ========================================
   Schedule Portal - PIN Security
   ======================================== */
.pin-security-card {
    border-left-color: var(--brand-primary, #3d1a6f) !important;
}

.pin-security-status {
    padding: 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    margin-bottom: 0.5rem;
}

.pin-status-indicator {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.pin-status-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.pin-status-icon.pin-disabled {
    background: var(--bg-muted, #e9ecef);
    color: var(--text-secondary, #666);
}

.pin-status-icon.pin-enabled {
    background: var(--status-success-bg, #d4edda);
    color: var(--status-success, #28a745);
}

.pin-status-text {
    color: var(--text-primary, #333);
    font-size: 0.95rem;
}

/* PIN Modal Styles */
.pin-modal .modal-content {
    border-radius: 12px;
    overflow: hidden;
}

.pin-input {
    font-size: 1.5rem;
    letter-spacing: 0.5rem;
    text-align: center;
    padding: 0.75rem;
    border-radius: 8px;
}

.pin-input:focus {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 0 0.2rem rgba(61, 26, 111, 0.25);
}

.pin-input-container {
    margin-bottom: 1rem;
}

.pin-error-message {
    color: var(--status-danger, #dc3545);
    background: var(--status-danger-bg, #f8d7da);
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    margin-top: 0.75rem;
    font-size: 0.875rem;
}

.pin-lockout-message {
    color: var(--status-warning-text, #856404);
    background: var(--status-warning-bg, #fff3cd);
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    margin-top: 0.75rem;
    font-size: 0.875rem;
}

.pin-requirements {
    margin-top: 0.75rem;
    padding: 0.5rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 6px;
}

.pin-security-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* PIN Modal Mobile */
@media (max-width: 576px) {
    .pin-input {
        font-size: 1.25rem;
        letter-spacing: 0.3rem;
    }
}

/* ========================================
   Schedule Portal - Toolbar
   ======================================== */
.schedule-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 1rem 0;
    padding: 0.75rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
}

.schedule-toolbar-left {
    flex: 0 0 auto;
}

.schedule-toolbar-right {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Settings Dropdown Custom Items */
.dropdown-item-custom {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 1rem;
}

.dropdown-item-custom .switch {
    margin: 0;
}

.dropdown-item-custom .dropdown-item-label {
    font-size: 0.9rem;
    color: var(--text-primary, #333);
}

.switch-sm {
    transform: scale(0.8);
}

/* ========================================
   Schedule Portal - Contact Popup
   ======================================== */
.schedule-contact-popup {
    position: fixed;
    bottom: 90px;
    right: 1.5rem;
    width: 280px;
    background: var(--bg-surface, #fff);
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.2);
    z-index: 1000;
    overflow: hidden;
}

.contact-popup-header {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
    padding: 0.75rem 1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.contact-popup-header i {
    margin-right: 0.5rem;
}

.popup-close {
    background: transparent;
    border: none;
    color: var(--text-on-dark, #fff);
    font-size: 1.25rem;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.popup-close:hover {
    opacity: 1;
}

.contact-popup-body {
    padding: 1rem;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
}

.contact-item:last-child {
    border-bottom: none;
}

.contact-item i {
    color: var(--brand-primary, #3d1a6f);
    width: 20px;
    text-align: center;
}

.contact-item a {
    color: var(--text-primary, #333);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.contact-item a:hover {
    color: var(--brand-primary, #3d1a6f);
}

/* ========================================
   Schedule Portal - Key Messages Slide-out
   ======================================== */
.schedule-slideout-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 1040;
}

.schedule-slideout-panel {
    position: fixed;
    top: 0;
    right: -400px;
    width: 400px;
    max-width: 90vw;
    height: 100%;
    background: var(--bg-surface, #fff);
    box-shadow: -5px 0 20px rgba(0,0,0,0.2);
    z-index: 1050;
    display: flex;
    flex-direction: column;
    transition: right 0.3s ease;
}

.schedule-slideout-panel.open {
    right: 0;
}

.slideout-header {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.slideout-header h5 {
    margin: 0;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.slideout-close {
    background: transparent;
    border: none;
    color: var(--text-on-dark, #fff);
    font-size: 1.5rem;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.slideout-close:hover {
    opacity: 1;
}

.slideout-body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem;
}

.slideout-body .qa-card {
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    margin-bottom: 1rem;
    overflow: hidden;
}

.slideout-body .qa-card-header {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    padding: 0.75rem 1rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}

.slideout-body .qa-card-body {
    padding: 0.75rem 1rem;
    color: var(--text-body, #555);
    line-height: 1.6;
}

.slideout-footer {
    padding: 1rem;
    border-top: 1px solid var(--border-light, #e9ecef);
    text-align: center;
}

/* ========================================
   Schedule Portal - PIN Setup Banner
   ======================================== */
.pin-setup-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    z-index: 1030;
    box-shadow: 0 -4px 15px rgba(0,0,0,0.2);
}

.pin-setup-banner-content {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.pin-setup-banner-content i {
    font-size: 1.5rem;
    color: var(--brand-accent, #fdb913);
}

.pin-setup-banner-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pin-setup-banner .btn-link {
    color: rgba(255,255,255,0.8);
}

.pin-setup-banner .btn-link:hover {
    color: var(--text-on-dark, #fff);
}

/* ========================================
   Portal Logo Background Fix (Schedule/NewsWire)
   ======================================== */
.schedule-portal #mainNav .navbar-brand img,
.newswire-portal #mainNav .navbar-brand img {
    background: rgba(255,255,255,0.9);
    padding: 0.25rem;
    border-radius: 6px;
}

/* Hide individual calendar buttons by default - JS will show if user enabled */
.schedule-portal .individual-calendar-btn {
    display: none;
}

/* Add top padding to non-SCHEDULE tabs */
.schedule-portal .tab-pane:not(#schedule) {
    padding-top: 1.5rem;
}

/* Schedule Portal Welcome Greeting */
.schedule-welcome {
    padding: 0;
    margin: 0;
}

.schedule-welcome h3 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}

.schedule-welcome-date {
    margin: 0.25rem 0 0;
    font-size: 0.9rem;
    color: var(--text-secondary, #666);
}

/* New Schedule Items modal -- compact list rows.
   min-height keeps it from being a sliver; body padding-bottom must clear the
   absolutely-positioned .footer (~59px) so the row content never gets covered. */
.schedule-updates-modal {
    min-height: 240px;
}
.schedule-updates-modal .body {
    padding-bottom: 70px;
}

.schedule-updates-intro {
    margin: 0 0 0.75rem;
    font-size: 0.9rem;
    color: var(--text-secondary, #666);
}

.schedule-update-row {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.6rem 0.25rem;
    border-bottom: 1px solid var(--border-light, #eee);
}

.schedule-update-row:last-child {
    border-bottom: none;
}

.schedule-update-logo {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.9);
    padding: 2px;
}

.schedule-update-main {
    flex: 1 1 auto;
    min-width: 0;
}

.schedule-update-outlet {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--text-primary, #333);
    line-height: 1.3;
}

.schedule-update-time {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: var(--text-secondary, #666);
}

.schedule-update-tz {
    color: var(--text-muted, #999);
    font-size: 0.78rem;
}

/* Schedule Toolbar Mobile */
@media (max-width: 768px) {
    .schedule-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .schedule-toolbar-left,
    .schedule-toolbar-right {
        width: 100%;
    }

    .schedule-toolbar-right {
        justify-content: center;
    }

    .schedule-toolbar-right .btn-group {
        flex-wrap: wrap;
        justify-content: center;
    }

    .schedule-slideout-panel {
        width: 100%;
        max-width: 100%;
        right: -100%;
    }

    .schedule-contact-popup {
        right: 0.5rem;
        left: 0.5rem;
        width: auto;
    }

    .pin-setup-banner {
        flex-direction: column;
        text-align: center;
    }
}

/* ================================================
   CRM Outlets Modernization (Phases 1+2)
   Created: 2025-12-27
   ================================================ */

/* CRM Breadcrumb Navigation */
.crm-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 0;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
}

.crm-breadcrumb .breadcrumb-item a {
    color: var(--text-secondary, #666);
    text-decoration: none;
    transition: color 0.2s;
}

.crm-breadcrumb .breadcrumb-item a:hover {
    color: var(--text-primary, #222);
    text-decoration: underline;
}

.crm-breadcrumb .breadcrumb-item {
    color: var(--text-primary, #222);
}

.crm-breadcrumb .breadcrumb-item.is-current {
    color: var(--brand-accent, #fdb913);
    font-weight: 600;
}

.crm-breadcrumb .breadcrumb-separator {
    color: var(--text-muted, #999);
    font-weight: 300;
}

/* ================================================
   Brand Detail View (Single Page Layout)
   Replaces nested tab navigation
   ================================================ */

.brand-detail-view,
.outlet-detail-view {
    background: var(--bg-surface, #fff);
    border-radius: 12px;
    padding: 1.5rem;
    margin-top: 1rem;
}

/* Mobile: reduce wasted side-padding so content gets more usable width */
@media (max-width: 768px) {
    .outlet-detail-view {
        padding: 0.75rem 0.5rem;
        margin-top: 0.5rem;
    }
    .outlet-detail-view .brand-header-card {
        padding: 1rem 0.75rem;
        gap: 0.75rem;
    }
    .outlet-detail-view .brand-stats-row,
    .outlet-detail-view .brand-section-card,
    .outlet-detail-view .crm-section-card {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
}

/* Brand Header Card */
.brand-header-card {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.5rem;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 10px;
    margin-bottom: 1.5rem;
}

.brand-header-card .brand-logo {
    width: 80px;
    height: 80px;
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    overflow: hidden;
}

.brand-header-card .brand-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.brand-header-card .brand-logo i {
    color: #ccc;
}

.brand-header-card .brand-title {
    flex: 1;
}

.brand-header-card .brand-title h3 {
    margin: 0 0 0.5rem 0;
    color: var(--brand-primary, #3d1a6f);
    font-size: 1.5rem;
    font-weight: 600;
}

.brand-header-card .brand-badges {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Multi-Parent Display Section (Phase 7) */
.brand-parents-section {
    margin-top: 0.75rem;
}

.brand-parents-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.brand-parents-list .parents-label {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    margin-right: 0.25rem;
}

.brand-parents-list .parents-label i {
    color: var(--brand-primary, #3d1a6f);
    margin-right: 0.25rem;
}

.brand-parents-list .parent-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, #f0e8f8 100%);
    border: 1px solid #e0d0f0;
    padding: 0.375rem 0.75rem;
    border-radius: 20px;
    font-size: 0.85rem;
}

.brand-parents-list .parent-tag a {
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
    font-weight: 500;
}

.brand-parents-list .parent-tag a:hover {
    text-decoration: underline;
}

.brand-parents-list .parent-tag .btn-link {
    font-size: 0.75rem;
    line-height: 1;
}

.brand-parents-list .parent-tag .badge {
    font-size: 0.7rem;
    padding: 0.2rem 0.4rem;
}

[data-theme="dark"] .brand-parents-list .parent-tag {
    background: linear-gradient(135deg, var(--bg-gold-tint, #1e1a0e) 0%, #2a1f3a 100%);
    border-color: #3d2a55;
}

.brand-header-card .brand-quick-actions {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
}

/* Brand Stats Row */
.brand-stats-row {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.brand-stat-item {
    flex: 1;
    min-width: 120px;
    background: var(--bg-subtle, #f8f9fa);
    padding: 1rem;
    border-radius: 8px;
    text-align: center;
    border-left: 3px solid var(--brand-primary, #3d1a6f);
}

.brand-stat-item .stat-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
}

.brand-stat-item .stat-label {
    display: block;
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    margin-top: 0.25rem;
}

/* Accordion Sections */
.brand-sections {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.brand-section {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #e0e0e0);
    border-radius: 8px;
    overflow: hidden;
}

.brand-section .section-header {
    display: flex;
    align-items: center;
    padding: 1rem 1.25rem;
    background: var(--bg-subtle, #f8f9fa);
    cursor: pointer;
    transition: background 0.2s;
    gap: 0.75rem;
}

.brand-section .section-header:hover {
    background: var(--bg-muted, #f0f0f0);
}

.brand-section .section-icon {
    color: var(--brand-primary, #3d1a6f);
    font-size: 1.1rem;
    width: 24px;
    text-align: center;
}

.brand-section .section-title {
    flex: 1;
    font-weight: 600;
    color: var(--text-primary, #333);
}

.brand-section .section-count {
    font-size: 0.8rem;
}

.brand-section .section-toggle {
    color: var(--text-muted, #999);
    transition: transform 0.2s;
}

.brand-section.expanded .section-toggle {
    transform: rotate(180deg);
}

.brand-section .section-content {
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--border-default, #e0e0e0);
}

.brand-section .section-toolbar {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1rem;
    align-items: center;
}

.brand-section .section-toolbar input[type="text"] {
    flex: 1;
    max-width: 300px;
}

/* Loading Placeholder */
.loading-placeholder {
    text-align: center;
    padding: 2rem;
    color: var(--text-muted, #999);
}

.loading-placeholder i {
    margin-right: 0.5rem;
}

/* People Grid (contact cards) */
.people-grid {
    /* Container only -- grid lives on .people-cards-wrapper */
}

.people-cards-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.people-cards-wrapper .crm-contact-card {
    max-width: 380px;
}

/* =============================================================================
   Report Section Cards (shared component -- import wizards, report designer)
   ============================================================================= */
.report-section-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #e0e0e0);
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    transition: all 0.2s ease;
}
.report-section-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}
.report-section-header {
    background: linear-gradient(135deg, var(--bg-subtle, var(--bg-subtle, var(--bg-subtle, #f8f9fa))) 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
    padding: 12px 20px;
    border-bottom: 1px solid var(--border-default, #e0e0e0);
    font-weight: 600;
    color: var(--text-primary, #333);
    border-radius: 8px 8px 0 0;
    display: flex;
    align-items: center;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-size: 0.85rem;
}
.report-section-header .section-icon {
    color: var(--brand-primary, #3d1a6f);
    margin-left: auto;
    opacity: 0.6;
}
.report-section-header .section-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, white);
    border-radius: 50%;
    font-size: 12px;
    margin-right: 10px;
    flex-shrink: 0;
}
.report-section-body {
    padding: 20px;
}
.report-section-body .form-row {
    margin-bottom: 15px;
}
.report-section-body .form-row:last-child {
    margin-bottom: 0;
}
/* Dark mode */
[data-theme="dark"] .report-section-card {
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}
[data-theme="dark"] .report-section-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
[data-theme="dark"] .report-section-header {
    background: var(--bg-subtle, #1a1a1a);
    color: var(--text-primary, #e8e8e8);
}

/* Time Report Section (Activity accordion) */
.time-report-section {
    border-top: 1px solid var(--border-default, #e0e0e0);
    padding-top: 1rem;
    margin-top: 1rem;
}

.time-report-heading {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0.75rem;
}

.time-report-heading.collapsible-heading {
    cursor: pointer;
    display: flex;
    align-items: center;
    user-select: none;
}

.time-report-heading.collapsible-heading:hover {
    color: var(--brand-primary, #5a2d9e);
}

.time-report-heading .toggle-chevron {
    font-size: 0.75rem;
    transition: transform 0.2s;
}

.infinite-scroll-container {
    scrollbar-width: thin;
    scrollbar-color: var(--border-strong, #d4c5e6) transparent;
}

.infinite-scroll-container::-webkit-scrollbar {
    width: 6px;
}

.infinite-scroll-container::-webkit-scrollbar-thumb {
    background: var(--border-strong, #d4c5e6);
    border-radius: 3px;
}

.infinite-scroll-container::-webkit-scrollbar-track {
    background: transparent;
}

.time-report-table {
    width: 100%;
    font-size: 0.85rem;
    border-collapse: collapse;
}

.time-report-table th {
    background: var(--bg-purple-tint, #f0ebf7);
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    padding: 0.5rem 0.75rem;
    text-align: left;
    border-bottom: 2px solid #d4c5e8;
}

.time-report-table td {
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--border-light, #eee);
}

.time-report-table tr:hover td {
    background: var(--bg-purple-tint, #faf8fd);
}

.time-report-table .hours-cell {
    font-weight: 600;
    text-align: right;
}

.time-report-table th.hours-cell {
    text-align: right;
}

.time-report-toggle {
    cursor: pointer;
    color: var(--brand-primary, #6c35a5);
    font-size: 0.85rem;
    margin-top: 0.5rem;
    display: inline-block;
}

.time-report-toggle:hover {
    text-decoration: underline;
}

/* Sub-brands Grid */
.sub-brands-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1rem;
}

/* Conversations Timeline */
.conversations-timeline {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-height: 70vh;
    overflow-y: auto;
}

/* Brand Conversation Items (in brand detail view) */
.brand-conversation-item {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-light, #eee);
}

.brand-conversation-item .conv-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.brand-conversation-item .conv-type {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
}

.brand-conversation-item .conv-type i {
    margin-right: 0.35rem;
    color: var(--status-info, #17a2b8);
}

.brand-conversation-item .conv-date {
    color: var(--text-secondary, #666);
    font-size: 0.85rem;
    margin-left: auto;
    white-space: nowrap;
}

.brand-conversation-item .conv-notes {
    margin: 0.5rem 0;
    color: var(--text-primary, #444);
    font-size: 0.9rem;
    white-space: pre-wrap;
}

.brand-conversation-item .conv-meta {
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
    margin-top: 0.25rem;
}

.brand-conversation-item .conv-spoke-to {
    color: var(--status-success, #28a745);
}

.brand-conversation-item .conv-by {
    color: var(--text-secondary, #666);
}

.brand-conversation-item .conv-meta i {
    margin-right: 0.25rem;
}

/* Reception-based border colors for conversations - purple/gold palette */
.brand-conversation-item.reception-hot {
    border-left: 3px solid var(--brand-primary, #3d1a6f);
    padding-left: 0.75rem;
}
.brand-conversation-item.reception-warm {
    border-left: 3px solid var(--brand-accent, #fdb913);
    padding-left: 0.75rem;
}
.brand-conversation-item.reception-lukewarm,
.brand-conversation-item.reception-luke-warm {
    border-left: 3px solid #c9a023;
    padding-left: 0.75rem;
}
.brand-conversation-item.reception-cold {
    border-left: 3px solid #999;
    padding-left: 0.75rem;
}
.brand-conversation-item.reception-ice-cold {
    border-left: 3px solid var(--border-strong, #ccc);
    padding-left: 0.75rem;
}

/* Conversation header with type badge and user */
.brand-conversation-item .conv-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    margin-bottom: 0.5rem;
}
.brand-conversation-item .conv-header-left {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    min-width: 0;
}
.brand-conversation-item .conv-header-right {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
    margin-left: auto;
}
.brand-conversation-item .conv-edit-btn,
.brand-conversation-item .conv-delete-btn {
    padding: 0.15rem 0.35rem;
    opacity: 0.4;
    transition: opacity 0.2s;
}
.brand-conversation-item:hover .conv-edit-btn,
.brand-conversation-item:hover .conv-delete-btn {
    opacity: 1;
}
.brand-conversation-item .conv-user {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    white-space: nowrap;
}
.brand-conversation-item .conv-user i {
    color: var(--brand-primary, #3d1a6f);
}

/* Type badges for conversations - no background */
.conv-type-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
}
.conv-type-badge i {
    margin-right: 0.3rem;
}
.conv-type-badge.badge-phone {
    color: var(--brand-primary, #3d1a6f);
}
.conv-type-badge.badge-email {
    color: var(--brand-primary, #3d1a6f);
}
.conv-type-badge.badge-meeting {
    color: var(--brand-primary, #3d1a6f);
}
.conv-type-badge.badge-note {
    color: var(--brand-primary, #3d1a6f);
}

/* Reception badge small indicator - no background */
.conv-reception-indicator {
    display: inline-flex;
    align-items: center;
    font-size: 0.7rem;
    padding: 0.15rem 0.4rem;
    margin-left: 0.5rem;
    font-weight: 600;
}
.conv-reception-indicator.hot { color: var(--brand-primary, #3d1a6f); font-weight: 700; }
.conv-reception-indicator.warm { color: var(--status-warning-text, #856404); }
.conv-reception-indicator.lukewarm,
.conv-reception-indicator.luke-warm { color: var(--status-warning-text, #8a7030); }
.conv-reception-indicator.cold { color: var(--text-tertiary, #888); }
.conv-reception-indicator.ice-cold { color: var(--text-muted, #aaa); }

/* Spoke to person in conversation */
.brand-conversation-item .conv-spoke-to-line {
    font-size: 0.8rem;
    color: var(--status-success, #28a745);
    margin-top: 0.35rem;
}
.brand-conversation-item .conv-spoke-to-line i {
    margin-right: 0.25rem;
}

/* Document Type Stats Filter Buttons */
.doc-type-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}
.doc-type-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.75rem;
    border: 1px solid var(--border-default, #dee2e6);
    border-radius: 20px;
    background: var(--bg-subtle, #f8f9fa);
    color: var(--text-primary, #333);
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s ease;
}
.doc-type-btn:hover {
    background: var(--bg-muted, #e9ecef);
    border-color: #adb5bd;
}
.doc-type-btn.active {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
    border-color: var(--brand-primary, #3d1a6f);
}
.doc-type-btn .doc-count {
    display: inline-block;
    min-width: 20px;
    padding: 0.1rem 0.4rem;
    border-radius: 10px;
    background: rgba(0,0,0,0.1);
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
}
.doc-type-btn.active .doc-count {
    background: rgba(255,255,255,0.2);
}
.doc-type-btn i {
    color: inherit;
}

/* Documents Grid */
.documents-grid {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* Document Cards - Mobile layout */
.doc-cards {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.doc-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #e0e0e0);
    border-radius: 6px;
    padding: 0.75rem;
}
.doc-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
}
.doc-card-title {
    font-weight: 500;
    font-size: 0.9rem;
    flex: 1;
    min-width: 0;
    word-break: break-word;
}
.doc-card-action {
    flex-shrink: 0;
}
.doc-card-action .btn {
    min-width: 36px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.doc-card-meta {
    margin-top: 0.4rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
}

/* Reports Links */
.reports-links {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
}

.report-link-card {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border: 1px solid var(--brand-accent, #fdb913);
    border-radius: 8px;
    padding: 1rem;
    text-align: center;
    transition: all 0.2s ease;
}

.report-link-card:hover {
    box-shadow: 0 4px 12px rgba(253, 185, 19, 0.3);
    transform: translateY(-2px);
}

.report-link-card a {
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
    font-weight: 500;
    display: block;
}

.report-link-card a i {
    display: block;
    font-size: 2rem;
    margin-bottom: 0.5rem;
    color: var(--brand-accent, #fdb913);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .brand-header-card {
        flex-direction: column;
        text-align: center;
    }

    .brand-header-card .brand-logo {
        margin: 0 auto;
    }

    .brand-header-card .brand-quick-actions {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }

    .brand-stats-row {
        flex-wrap: wrap;
    }

    .brand-stat-item {
        min-width: calc(50% - 0.5rem);
    }

    .brand-section .section-toolbar {
        flex-direction: column;
    }

    .brand-section .section-toolbar input[type="text"] {
        max-width: 100%;
        width: 100%;
    }
}

/* =============================================================================
   Brand Identity Panel (CRM Clients -- Phase B, Brand SSOT program 2026-05-20)

   Consolidated logo + 3 colour pickers + brand font + live preview in one card
   in the brand detail view. Save-back via UpdateClientBrand WebMethod (no postback).
   Source chip + per-field labels show which resolver layer provides each value
   (Client / Tenant / Default). Brand palette only; dark-mode via theme-tokens.
   ============================================================================= */
.bh-brand-panel {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #e0e0e0);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 10px;
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.bh-brand-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: clamp(0.4rem, 0.6vw + 0.25rem, 0.625rem) clamp(0.75rem, 1vw + 0.5rem, 1rem);
    background: var(--bg-slate-tint, #f1f0f4);
    border-bottom: 1px solid var(--border-light, #e9ecef);
}

.bh-brand-panel-title {
    margin: 0;
    color: var(--brand-primary, #3d1a6f);
    font-size: clamp(0.95rem, 0.3vw + 0.85rem, 1.05rem);
    font-weight: 600;
}

/* Overall source chip (Client / Tenant / Default) */
.bh-brand-source-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.2rem 0.6rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    background: var(--bg-subtle, #fafafa);
    color: var(--text-secondary, #666);
    border: 1px solid var(--border-light, #e9ecef);
    white-space: nowrap;
}

.bh-brand-source-chip .bh-brand-source-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--text-tertiary, #888);
    flex: 0 0 auto;
}

.bh-brand-source-chip.is-client {
    background: var(--bg-purple-tint, #f0ebf7);
    color: var(--brand-primary, #3d1a6f);
    border-color: var(--border-brand, #e0d4f0);
}

.bh-brand-source-chip.is-client .bh-brand-source-dot { background: var(--brand-primary, #3d1a6f); }

.bh-brand-source-chip.is-tenant {
    background: var(--bg-gold-tint, #fff5dc);
    color: var(--brand-primary, #3d1a6f);
    border-color: var(--border-gold-soft, #e8dfa8);
}

.bh-brand-source-chip.is-tenant .bh-brand-source-dot { background: var(--brand-accent, #fdb913); }

.bh-brand-panel-body {
    display: flex;
    gap: 1.5rem;
    padding: 1.25rem;
    flex-wrap: wrap;
}

/* Logo column (display only -- upload stays in the brand logo affordance) */
.bh-brand-logo-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    flex: 0 0 auto;
}

.bh-brand-logo-preview {
    width: 80px;
    height: 80px;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.bh-brand-logo-preview img { max-width: 100%; max-height: 100%; object-fit: contain; }
.bh-brand-logo-preview i { color: var(--text-tertiary, #ccc); }

.bh-brand-logo-caption {
    font-size: 0.75rem;
    color: var(--text-tertiary, #888);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.bh-brand-controls-col { flex: 1 1 320px; min-width: 0; }

.bh-brand-subhead {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0.5rem;
}

.bh-brand-subhead + .bh-brand-colour-row { margin-bottom: 1rem; }

.bh-brand-colour-row {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.bh-brand-colour { flex: 1 1 140px; min-width: 0; }

.bh-brand-colour label {
    display: block;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--text-body, #555);
    margin-bottom: 0.3rem;
}

.bh-brand-colour-inputs { display: flex; gap: 0.4rem; align-items: center; }

.bh-brand-colour-swatch {
    width: 42px;
    height: 38px;
    padding: 2px;
    border: 1px solid var(--border-default, #ddd);
    border-radius: 6px;
    background: var(--bg-surface, #fff);
    cursor: pointer;
    flex: 0 0 auto;
}

.bh-brand-hex {
    flex: 1 1 0;
    min-width: 80px;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 0.85rem;
}

/* Per-field source label */
.bh-brand-field-source {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    padding: 0.05rem 0.4rem;
    border-radius: 8px;
    margin-left: 0.25rem;
    vertical-align: middle;
}

.bh-brand-field-source.is-client {
    background: var(--bg-purple-tint, #f0ebf7);
    color: var(--brand-primary, #3d1a6f);
}

.bh-brand-field-source.is-tenant {
    background: var(--bg-gold-tint, #fff5dc);
    color: var(--brand-primary, #3d1a6f);
}

.bh-brand-field-source.is-default {
    background: var(--bg-subtle, #fafafa);
    color: var(--text-tertiary, #888);
}

/* Typography */
.bh-brand-font-row {
    display: flex;
    gap: 1rem;
    align-items: flex-end;
    flex-wrap: wrap;
}

.bh-brand-font-field { flex: 1 1 220px; min-width: 0; }

.bh-brand-font-field label {
    display: block;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--text-body, #555);
    margin-bottom: 0.3rem;
}

.bh-brand-font-preview {
    flex: 1 1 240px;
    min-width: 0;
    padding: 0.6rem 0.85rem;
    background: var(--bg-subtle, #fafafa);
    border: 1px dashed var(--border-default, #ddd);
    border-radius: 8px;
    font-size: 1.1rem;
    line-height: 1.4;
    color: var(--text-primary, #333);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bh-brand-panel-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-light, #e9ecef);
}

.bh-brand-save-msg {
    margin-right: auto;
    font-size: 0.85rem;
    font-weight: 500;
}

[data-theme="dark"] .bh-brand-panel { background: var(--bg-card, #141414); }
[data-theme="dark"] .bh-brand-logo-preview { background: var(--bg-card, #141414); box-shadow: none; }
[data-theme="dark"] .bh-brand-colour-swatch { background: var(--bg-card, #141414); }

@media (max-width: 768px) {
    .bh-brand-panel-body { flex-direction: column; }
    .bh-brand-logo-col { flex-direction: row; align-self: center; }
    .bh-brand-colour { flex: 1 1 calc(50% - 0.5rem); }
    .bh-brand-font-preview { white-space: normal; }
    .bh-brand-panel-actions { flex-wrap: wrap; }
    .bh-brand-panel-actions .btn { flex: 1 1 0; }
    .bh-brand-save-msg { flex: 1 1 100%; margin-right: 0; text-align: center; }
}

/* E-sign expired chip (AM kanban Pending Signature cards). Dark-mode via danger tokens. */
.bh-esign-expired-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: 12px;
    background: var(--status-danger-bg, #fff1f3);
    color: var(--status-danger-text, #b91c2c);
    border: 1px solid var(--status-danger-border, #f5c2c7);
}

/* =============================================================================
   KPI Cards -- Canonical, Unified Across Site (2026-05-14)

   Single source of truth for all internal stat/KPI/summary cards. Replaces 6
   separate class systems that did the same job with drifted styles:
     .crm-stat-card  .pipeline-stat-card  .kpi-card  .ra-stat-card
     .bh-eng-summary-tile  .pitch-stat-card

   Canonical class: .bh-kpi  +  container .bh-kpi-row
   Legacy class names retained as ALIASES so existing HTML keeps working.
   Migrating new pages: use .bh-kpi + .bh-kpi-row only.

   Modifiers:
     .bh-kpi--hero   Dashboard / hero treatment (larger value font)
     .bh-kpi--dense  Analytics pages (RA) -- tighter padding

   Palette (border-left colour):
     .primary  .success  .warning  .info  .danger  .secondary  .risk

   Sizing: ~80px tall (down from ~123px) -- George 2026-05-14 ask for shorter
   cards consistent across pages.

   Inner element classes accepted (legacy compat):
     value:  .stat-value | .kpi-value | .bh-kpi-value | .bh-eng-summary-tile-value
     label:  .stat-label | .kpi-label | .bh-kpi-label | .bh-eng-summary-tile-label
     sub:    .stat-sub   | .bh-kpi-sub   | .bh-eng-summary-tile-sub
   New pages: use .bh-kpi-value / .bh-kpi-label / .bh-kpi-sub only.
   ============================================================================= */

/* Clickable / filter-state tiles (EH KPIs triage dashboard 2026-05-18).
   Hover lift + active ring make the tiles read as both pulse-summary AND filter chips.
   Tokens flip light/dark via theme-tokens. */
.bh-kpi[onclick],
.bh-kpi.bh-kpi--clickable {
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.bh-kpi[onclick]:hover,
.bh-kpi.bh-kpi--clickable:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
.bh-kpi.is-active {
    box-shadow: 0 0 0 2px var(--brand-primary, #3d1a6f) inset;
}

/* KPIs triage accordion: each engagement = collapsible <details> group.
   Header always visible (aggregate pills show health at a glance); body expands
   on click for the per-story detail. Slate-tint fill + 4px gold left-border
   matches the canonical .profile-card-header.yellow section-header treatment. */
.bh-kpi-engagement-group {
    border: 1px solid var(--border-default, #e6e6e6);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 6px;
    margin-bottom: 0.5rem;
    background: #fff;
    overflow: hidden;
}
.bh-kpi-engagement-header {
    cursor: pointer;
    padding: 0.55rem 0.9rem;
    background: var(--bg-slate-tint, #f5f3f9);
    list-style: none;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    transition: background 0.12s ease;
}
.bh-kpi-engagement-header::-webkit-details-marker { display: none; }
.bh-kpi-engagement-header::marker { content: ""; }
.bh-kpi-engagement-header:hover {
    background: var(--bg-gold-tint, #fff5dc);
}
.bh-kpi-engagement-header:focus-visible {
    outline: 2px solid var(--brand-primary, #3d1a6f);
    outline-offset: -2px;
}
.bh-kpi-toggle-chevron {
    color: var(--brand-primary, #3d1a6f);
    transition: transform 0.15s ease;
    font-size: 0.8rem;
    width: 0.8rem;
    text-align: center;
}
.bh-kpi-engagement-group[open] .bh-kpi-toggle-chevron {
    transform: rotate(90deg);
}
.bh-kpi-engagement-body {
    background: #fff;
    border-top: 1px solid var(--border-default, #e6e6e6);
}
[data-theme="dark"] .bh-kpi-engagement-group {
    background: var(--bg-card, #1f1a2a);
    border-color: var(--border-default, #3a3344);
}
[data-theme="dark"] .bh-kpi-engagement-header {
    background: var(--bg-slate-tint-2, #2a2333);
}
[data-theme="dark"] .bh-kpi-engagement-header:hover {
    background: var(--bg-gold-tint, #3d2f0a);
}
[data-theme="dark"] .bh-kpi-engagement-body {
    background: var(--bg-card, #1f1a2a);
}
.bh-kpi-group-flex {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}
.bh-kpi-group-icon {
    color: var(--brand-primary, #3d1a6f);
    opacity: 0.85;
}
.bh-kpi-group-title {
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.95rem;
}
.bh-kpi-group-agreement {
    color: var(--text-muted, #6c757d);
    font-size: 0.85rem;
    font-weight: 400;
}
.bh-kpi-group-agreement::before {
    content: "\00b7";
    margin-right: 0.4rem;
    color: var(--text-muted, #6c757d);
}
.bh-kpi-group-count {
    color: var(--text-muted, #6c757d);
    font-size: 0.8rem;
}
.bh-kpi-group-origin {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-muted, #6c757d);
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-default, #e6e6e6);
    border-radius: 4px;
    padding: 0.05rem 0.4rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.bh-kpi-group-summary {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    flex-wrap: wrap;
}
.bh-kpi-group-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.bh-kpi-group-pill.r { background: #fde7ea; color: #b3001b; }
.bh-kpi-group-pill.a { background: #fff4d8; color: #8a5a00; }
.bh-kpi-group-pill.g { background: #def7e1; color: #146c2e; }
.bh-kpi-group-pill.x { background: var(--bg-subtle, #f8f9fa); color: var(--text-muted, #6c757d); border: 1px solid var(--border-default, #e6e6e6); }
.bh-kpi-group-pill.s { background: #e7e2fc; color: var(--brand-primary, #3d1a6f); }
[data-theme="dark"] .bh-kpi-triage-table .bh-kpi-group-row > td {
    background: var(--bg-slate-tint-2, #2a2333);
}
[data-theme="dark"] .bh-kpi-group-pill.r { background: #4a1820; color: #ffb4be; }
[data-theme="dark"] .bh-kpi-group-pill.a { background: #3d2f0a; color: #ffd87a; }
[data-theme="dark"] .bh-kpi-group-pill.g { background: #14391d; color: #92e3a5; }
[data-theme="dark"] .bh-kpi-group-pill.s { background: #312554; color: #cfb8ff; }

/* =============================================================================
   E-SIGN STATUS CARD (AccountManagement -- agreement modal step 5)
   Lifecycle tracker: Recipient strip + 4-step horizontal stepper + action row.
   Tokens flip light/dark automatically via theme-tokens.css.
   ============================================================================= */
.bh-esign-state-badge {
    font-size: .8rem;
    padding: .35rem .6rem;
}
.bh-esign-body {
    padding: 1.1rem 1.1rem .9rem;
}

/* Documents row -- quiet reference chips above the action grid. Separated from
   the destructive/lifecycle action row by a hairline divider so "view files"
   and "do things" don't visually compete. */
.bh-esign-docs {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    padding: .6rem 0 .9rem;
    border-bottom: 1px solid var(--border-light, #e6e6e6);
    margin-bottom: .9rem;
}
.bh-esign-docs-label {
    font-size: .7rem;
    font-weight: 600;
    color: var(--text-muted, #6c757d);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-right: .25rem;
}
.bh-esign-doc-chip {
    display: inline-flex;
    align-items: center;
    padding: .3rem .75rem;
    background: var(--bg-subtle, #f8f7fa);
    border: 1px solid var(--border-default, #e6e6e6);
    border-radius: 999px;
    color: var(--brand-primary, #3d1a6f);
    font-size: .85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s, border-color .15s;
}
.bh-esign-doc-chip:hover {
    background: var(--bg-gold-tint, #fff5dc);
    border-color: var(--brand-accent, #fdb913);
}
.bh-esign-doc-chip:focus-visible {
    outline: 2px solid var(--brand-primary, #3d1a6f);
    outline-offset: 1px;
}

/* Recipient strip */
.bh-esign-recipient {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .75rem .9rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    border-left: 3px solid var(--brand-primary, #3d1a6f);
    margin-bottom: 1.4rem;
}
.bh-esign-avatar {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--brand-primary, #3d1a6f) 0%, #5a2d82 100%);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: .95rem;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 5px rgba(61, 26, 111, 0.18);
}
.bh-esign-recipient-text { flex: 1 1 auto; min-width: 0; }
.bh-esign-recipient-name {
    font-weight: 700;
    color: var(--text-body);
    font-size: .95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bh-esign-recipient-meta {
    font-size: .8rem;
    color: var(--text-muted, #6c757d);
    margin-top: .1rem;
}
.bh-esign-recipient-meta i { color: var(--brand-primary, #3d1a6f); }
.bh-esign-expires {
    background: var(--bg-gold-tint, #fff5dc);
    color: var(--brand-primary, #3d1a6f);
    border: 1px solid var(--brand-accent, #fdb913);
    border-radius: 999px;
    padding: .25rem .7rem;
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
    flex: 0 0 auto;
}

/* Lifecycle stepper */
.bh-esign-stepper {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: .5rem 0 1.3rem;
    padding: 0 .25rem;
}
.bh-esign-stepper-track,
.bh-esign-stepper-fill {
    position: absolute;
    top: 20px;
    height: 3px;
    border-radius: 2px;
}
.bh-esign-stepper-track {
    left: 8%;
    right: 8%;
    background: var(--border-default, #e6e6e6);
    z-index: 0;
}
.bh-esign-stepper-fill {
    left: 8%;
    background: linear-gradient(90deg, var(--brand-primary, #3d1a6f), var(--brand-accent, #fdb913));
    z-index: 1;
    width: 0;
    transition: width .35s ease;
}
.bh-esign-step {
    position: relative;
    z-index: 2;
    flex: 1 1 0;
    text-align: center;
    min-width: 0;
}
.bh-esign-step-dot {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 2px solid var(--border-default, #e6e6e6);
    background: var(--bg-surface, #fff);
    color: var(--text-muted, #6c757d);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    transition: all .25s ease;
}
.bh-esign-step.is-done .bh-esign-step-dot {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--brand-primary, #3d1a6f);
    color: #fff;
    box-shadow: 0 2px 6px rgba(61, 26, 111, 0.25);
}
.bh-esign-step.is-current .bh-esign-step-dot {
    border-color: var(--brand-accent, #fdb913);
    background: var(--bg-surface, #fff);
    color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 0 5px rgba(253, 185, 19, 0.22), 0 2px 6px rgba(61, 26, 111, 0.15);
    animation: bhEsignPulse 2s ease-in-out infinite;
}
@keyframes bhEsignPulse {
    0%, 100% { box-shadow: 0 0 0 5px rgba(253, 185, 19, 0.22), 0 2px 6px rgba(61, 26, 111, 0.15); }
    50%      { box-shadow: 0 0 0 9px rgba(253, 185, 19, 0.10), 0 2px 6px rgba(61, 26, 111, 0.15); }
}
.bh-esign-step.is-final .bh-esign-step-dot {
    border-color: #28a745;
    background: #28a745;
    color: #fff;
    box-shadow: 0 2px 6px rgba(40, 167, 69, 0.3);
}
.bh-esign-step-label {
    margin-top: .55rem;
    font-size: .72rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.bh-esign-step-stamp {
    font-size: .72rem;
    color: var(--text-muted, #6c757d);
    margin-top: .15rem;
}
.bh-esign-step.is-pending .bh-esign-step-label,
.bh-esign-step.is-pending .bh-esign-step-stamp {
    color: var(--text-muted, #6c757d);
    font-weight: 500;
}
.bh-esign-step.is-done .bh-esign-step-stamp,
.bh-esign-step.is-final .bh-esign-step-stamp {
    color: var(--text-body);
    font-weight: 600;
}

/* Expired banner */
.bh-esign-expired-banner {
    background: linear-gradient(135deg, #fff1f3 0%, #ffe6ea 100%);
    color: #b91c2c;
    border: 1px solid #f5c2c7;
    border-left: 4px solid #ed174c;
    border-radius: 8px;
    padding: .65rem .9rem;
    font-size: .85rem;
    font-weight: 500;
    margin-bottom: 1rem;
}

/* Action row */
.bh-esign-actions {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: .55rem;
}
.bh-esign-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .65rem .9rem;
    font-size: .85rem;
    font-weight: 600;
    border-radius: 7px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all .15s ease;
    background: var(--bg-surface, #fff);
}
.bh-esign-action--primary {
    background: linear-gradient(135deg, var(--brand-primary, #3d1a6f) 0%, #5a2d82 100%);
    color: #fff;
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 2px 5px rgba(61, 26, 111, 0.2);
}
.bh-esign-action--primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(61, 26, 111, 0.3);
    background: linear-gradient(135deg, #4a2185 0%, #6a3895 100%);
}
.bh-esign-action--success {
    color: #1a7c3a;
    border-color: #b7e4c3;
    background: var(--bg-surface, #fff);
}
.bh-esign-action--success:hover {
    background: #e9f7ee;
    border-color: #28a745;
}
.bh-esign-action--danger {
    color: #b91c2c;
    border-color: #f5c2c7;
    background: var(--bg-surface, #fff);
}
.bh-esign-action--danger:hover {
    background: #fff1f3;
    border-color: #ed174c;
}
.bh-esign-action--neutral {
    color: var(--brand-primary, #3d1a6f);
    border-color: var(--border-default, #ced4da);
    background: var(--bg-surface, #fff);
}
.bh-esign-action--neutral:hover {
    background: var(--bg-subtle, #f8f9fa);
    border-color: var(--brand-primary, #3d1a6f);
}
.bh-esign-action:focus-visible {
    outline: 2px solid var(--brand-primary, #3d1a6f);
    outline-offset: 2px;
}

/* =============================================================================
   E-SIGN COMPOSE MODAL (AccountManagement -- "Send for E-Signature")
   Gmail/Outlook compose pattern: linear To / Cc / Subject rows, divider, RTE body.
   ============================================================================= */
.bh-esign-compose {
    padding: 0;
    background: var(--bg-surface, #fff);
}
.bh-esign-compose-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    padding: .65rem 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-bottom: 1px solid var(--border-default, #e6e6e6);
    flex-wrap: wrap;
}
.bh-esign-compose-note {
    font-size: .8rem;
    color: var(--text-muted, #6c757d);
}
.bh-esign-compose-note i { color: var(--brand-primary, #3d1a6f); }
.bh-esign-compose-expiry { white-space: nowrap; font-size: .75rem; }

.bh-compose-rows { padding: 0; }
.bh-compose-row {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .45rem 1rem;
    border-bottom: 1px solid var(--border-subtle, #f0eef5);
    background: var(--bg-surface, #fff);
}
.bh-compose-row:hover { background: var(--bg-subtle, #fafafa); }
.bh-compose-label {
    flex: 0 0 72px;
    margin: 0;
    font-size: .8rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.bh-compose-input {
    flex: 1 1 auto;
    border: none;
    background: transparent;
    padding: .25rem 0;
    font-size: .9rem;
    color: var(--text-body);
    outline: none;
    min-width: 0;
}
.bh-compose-input:focus { background: transparent; }
.bh-compose-input::placeholder {
    color: var(--text-muted, #adb5bd);
    font-weight: 300;
    font-style: italic;
}
.bh-compose-pair {
    flex: 1 1 auto;
    display: flex;
    gap: .75rem;
    min-width: 0;
}
.bh-compose-pair .bh-compose-input { flex: 1 1 50%; }
.bh-compose-input-name { font-weight: 500; }
.bh-compose-input-subject { font-weight: 600; font-size: .95rem; }

/* Bordered "email" card containing toolbar + body. Sits inside the modal's
   .body with margin, so the recipient-facing message reads as a discrete
   surface (the email being composed) not as flush modal content. */
.bh-compose-message {
    margin: .75rem 1rem 1rem;
    border: 1px solid var(--border-default, #d6d3dc);
    border-radius: 8px;
    background: var(--bg-surface, #fff);
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.bh-compose-toolbar {
    display: flex;
    align-items: center;
    gap: .15rem;
    padding: .4rem 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-bottom: 1px solid var(--border-default, #e6e6e6);
    flex-wrap: wrap;
}
.bh-compose-tool {
    width: 30px; height: 30px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid transparent;
    background: transparent;
    color: var(--text-body);
    border-radius: 4px;
    cursor: pointer;
    transition: all .12s;
}
.bh-compose-tool:hover {
    background: var(--bg-surface, #fff);
    border-color: var(--border-default, #ced4da);
    color: var(--brand-primary, #3d1a6f);
}
.bh-compose-tool-sep {
    width: 1px; height: 18px;
    background: var(--border-default, #ced4da);
    margin: 0 .35rem;
}
.bh-compose-tool-hint {
    margin-left: auto;
    font-size: .7rem;
    color: var(--text-muted, #6c757d);
    font-style: italic;
}

.bh-compose-body {
    padding: 1rem 1.25rem;
    min-height: 240px;
    /* Email "paper" -- the preview renders the actual email, which is a light artifact.
       Force white + dark text in BOTH themes (like Gmail/Outlook showing an HTML email
       on white in dark mode) so the dark app surface never washes out the #333 content. */
    background: #ffffff;
    color: #333333;
    outline: none;
    font-size: .9rem;
    line-height: 1.55;
}
.bh-compose-body:empty::before {
    content: attr(data-placeholder);
    color: var(--text-muted, #adb5bd);
    font-style: italic;
}
.bh-compose-body:focus { outline: none; }

/* E-Sign message lock -- padlock gates editing. Locked (default) = clean read-only
   preview so the in-email Sign Agreement button reads as inert and never competes
   with the modal's own Send action. Unlocked = only .bh-esign-editable regions become
   editable; the CTA, {url} block and footer stay fixed chrome. */
.bh-compose-lockbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .4rem .7rem .4rem 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-bottom: 1px solid var(--border-default, #e6e6e6);
}
.bh-compose-lockbar-label {
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--brand-primary, #3d1a6f);
}
.bh-compose-lockbar-label i { color: var(--brand-primary, #3d1a6f); }

.bh-esign-lock {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border: 1px solid var(--brand-accent, #fdb913);
    background: var(--bg-gold-tint, #fff5dc);
    color: var(--text-body, #333);
    border-radius: 999px;
    padding: .2rem .7rem;
    font-size: .72rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .12s ease;
}
.bh-esign-lock i { color: var(--brand-accent, #fdb913); }
.bh-esign-lock:hover { filter: brightness(1.03); }
.bh-esign-lock:focus-visible { outline: 2px solid var(--brand-primary, #3d1a6f); outline-offset: 2px; }

/* Unlocked: editing -- purple-tinted pill (gold icon stays as the accent thread) */
#esignMessageCard.is-unlocked .bh-esign-lock {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--bg-purple-tint, #f0ebf7);
}

/* Locked: dim the formatting toolbar so it reads as inactive */
#esignMessageCard.is-locked .bh-compose-toolbar {
    opacity: .45;
    pointer-events: none;
}

/* Editable regions: no outline while locked (clean preview). On unlock each editable
   block lights up with a dashed gold outline so the user sees exactly what they can
   change -- the CTA/link/footer carry no outline and stay fixed. Outline-only (no bg
   swap) keeps it legible in dark mode. */
#esignMessageCard.is-unlocked .bh-esign-editable {
    outline: 1px dashed var(--brand-accent, #fdb913);
    outline-offset: 2px;
    border-radius: 3px;
    cursor: text;
}
#esignMessageCard.is-unlocked .bh-esign-editable:focus {
    outline: 2px solid var(--brand-primary, #3d1a6f);
    outline-offset: 2px;
}

/* Locked overlay -- the loud, discoverable affordance. Translucent light wash so the
   email stays readable underneath; big centred padlock makes "click to edit" unmissable.
   Sits over the message body only (toolbar/lockbar stay clear). Shown only while locked;
   the header pill becomes the re-lock control when unlocked. */
.bh-compose-body-wrap { position: relative; }
.bh-esign-lock-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border: 0;
    background: rgba(240, 240, 242, 0.55);
    color: var(--brand-primary, #3d1a6f);
    cursor: pointer;
    transition: background .12s ease;
}
.bh-esign-lock-overlay i { font-size: 2.25rem; opacity: .8; }
.bh-esign-lock-overlay span { font-size: .85rem; font-weight: 600; }
.bh-esign-lock-overlay:hover { background: rgba(240, 240, 242, 0.72); }
.bh-esign-lock-overlay:hover i { opacity: 1; }
.bh-esign-lock-overlay:focus-visible { outline: 2px solid var(--brand-primary, #3d1a6f); outline-offset: -3px; }

/* State wiring: overlay only when locked, header re-lock pill only when unlocked. */
#esignMessageCard.is-unlocked .bh-esign-lock-overlay { display: none; }
#esignMessageCard.is-locked .bh-esign-lock { display: none; }

@media (max-width: 768px) {
    .bh-compose-label { flex: 0 0 56px; font-size: .7rem; }
    .bh-compose-pair { flex-direction: column; gap: .25rem; }
    .bh-compose-tool-hint { display: none; }
    .bh-esign-lock-overlay i { font-size: 1.9rem; }
}

/* Agreement Actions header variant -- inline 3-action row alongside the title.
   Title sits left, action grid right; the whole card-header becomes one cohesive bar. */
.bh-agr-actions-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}
.bh-agr-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    flex: 1 1 auto;
    max-width: 720px;
}
@media (max-width: 768px) {
    .bh-agr-actions { grid-template-columns: 1fr; max-width: 100%; }
    .bh-agr-actions-header { flex-direction: column; align-items: stretch; }
}

/* Compact density at narrow widths */
@media (max-width: 768px) {
    .bh-esign-recipient { flex-wrap: wrap; }
    .bh-esign-expires { order: 3; margin-left: 0; margin-top: .35rem; }
    .bh-esign-actions { grid-template-columns: 1fr; }
    .bh-esign-step-label { font-size: .65rem; }
    .bh-esign-step-stamp { font-size: .65rem; }
}

/* Container row */
.bh-kpi-row,
.crm-stats,
.pipeline-stats,
.bh-eng-summary-row,
.pitch-stats {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    position: relative;
    padding: 0.25rem;
}

/* Allow dynamic containers to participate in parent flexbox */
.d-contents {
    display: contents;
}

/* Base card */
.bh-kpi,
.crm-stat-card,
.pipeline-stat-card,
.kpi-card,
.ra-stat-card,
.bh-eng-summary-tile,
.pitch-stat-card {
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    padding: 0.55rem 1.1rem;
    flex: 1;
    min-width: 120px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    border-left: 4px solid var(--brand-primary, #3d1a6f);
    text-align: center;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

/* Hero modifier (Dashboard) -- larger numbers, more breathing room */
.bh-kpi--hero,
.kpi-card {
    padding: 0.85rem 1.25rem;
    min-height: 95px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Dense modifier (analytics) */
.bh-kpi--dense {
    padding: 0.4rem 0.75rem;
}

/* Hover treatment for interactive cards */
.bh-kpi.clickable:hover,
.bh-kpi-clickable:hover,
.crm-stat-card.crm-stat-card-clickable:hover,
.kpi-card.kpi-clickable:hover,
.kpi-card:hover,
.crm-stat-card[onclick]:hover,
.pipeline-stat-card[onclick]:hover,
.ra-stat-card[onclick]:hover,
.bh-eng-summary-tile[onclick]:hover,
.pitch-stat-card[onclick]:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0,0,0,0.12);
}

/* Palette (border-left colour) -- canonical + legacy aliases */
.bh-kpi.primary,
.crm-stat-card.primary,
.pipeline-stat-card.primary,
.kpi-card.primary,
.ra-stat-card.primary,
.pitch-stat-card.primary { border-left-color: var(--brand-primary, #3d1a6f); }

.bh-kpi.success,
.crm-stat-card.success,
.pipeline-stat-card.success,
.kpi-card.success,
.ra-stat-card.success,
.pitch-stat-card.success { border-left-color: var(--status-success, #28a745); }

.bh-kpi.warning,
.crm-stat-card.warning,
.pipeline-stat-card.warning,
.kpi-card.warning,
.ra-stat-card.warning,
.pitch-stat-card.warning { border-left-color: var(--brand-accent, #fdb913); }

.bh-kpi.info,
.crm-stat-card.info,
.pipeline-stat-card.info,
.ra-stat-card.info,
.pitch-stat-card.info { border-left-color: var(--status-info, #17a2b8); }

.bh-kpi.danger,
.crm-stat-card.danger,
.pipeline-stat-card.danger,
.kpi-card.danger,
.ra-stat-card.danger,
.pitch-stat-card.danger { border-left-color: var(--brand-danger, #ed174c); }

.bh-kpi.secondary,
.crm-stat-card.secondary,
.ra-stat-card.secondary { border-left-color: var(--text-secondary, #666); }

/* DP-specific risk modifier (at-risk KPIs) */
.bh-kpi.risk,
.crm-stat-card.risk { border-left-color: var(--status-warning-alt, #f59e0b); }

/* Inbox/talent variant (Talent page Mentioned card) */
.crm-stat-card.inbox-stat { border-left-color: var(--accent-purple, #6f42c1); }

.crm-stats-divider {
    width: 1px;
    background: var(--bg-muted, #ddd);
    align-self: stretch;
    margin: 0.5rem 0;
}

/* Inner: value (the big number) */
.bh-kpi .stat-value,
.bh-kpi .bh-kpi-value,
.bh-kpi .kpi-value,
.crm-stat-card .stat-value,
.pipeline-stat-card .stat-value,
.kpi-card .kpi-value,
.ra-stat-card .stat-value,
.bh-eng-summary-tile-value,
.pitch-stat-card .stat-value {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    line-height: 1.2;
}

/* Hero: bigger value */
.bh-kpi--hero .stat-value,
.bh-kpi--hero .bh-kpi-value,
.bh-kpi--hero .kpi-value,
.kpi-card .kpi-value {
    font-size: 2rem;
    line-height: 1.1;
}

/* Dense: smaller value */
.bh-kpi--dense .stat-value,
.bh-kpi--dense .bh-kpi-value {
    font-size: 1.15rem;
}

/* Inner: label */
.bh-kpi .stat-label,
.bh-kpi .bh-kpi-label,
.bh-kpi .kpi-label,
.crm-stat-card .stat-label,
.pipeline-stat-card .stat-label,
.kpi-card .kpi-label,
.ra-stat-card .stat-label,
.bh-eng-summary-tile-label,
.pitch-stat-card .stat-label {
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
    margin-top: 0.15rem;
}

/* Pipeline / RA / pitch / Dashboard kept their uppercase label convention */
.pipeline-stat-card .stat-label,
.ra-stat-card .stat-label,
.pitch-stat-card .stat-label,
.kpi-card .kpi-label {
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Inner: sub (small caption) */
.bh-kpi .stat-sub,
.bh-kpi .bh-kpi-sub,
.crm-stat-card .stat-sub,
.bh-eng-summary-tile-sub {
    font-size: 0.7rem;
    color: var(--text-tertiary, #888);
    margin-top: 0.1rem;
}

/* Engagement summary tile -- subtle muted background variant (kept for visual
   continuity with the Engagement page; opt-in via .bh-kpi--muted on bh-kpi). */
.bh-kpi--muted,
.bh-eng-summary-tile {
    background: var(--bg-subtle, #fafafa);
    border: 1px solid var(--border-default, #ddd);
    border-left-width: 4px;
}

/* CRM Stats Bar Container */
.crm-stats-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding: 1rem;
    background: linear-gradient(135deg, var(--bg-subtle, var(--bg-subtle, var(--bg-subtle, #f8f9fa))) 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
    border-radius: 12px;
    position: relative;
}

/* Loading Overlay for AJAX operations */
.loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--loader-overlay-bg, rgba(255, 255, 255, 0.8));
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1020;
    border-radius: inherit;
}

.loading-overlay .loading-spinner {
    color: var(--brand-primary, #3d1a6f);
}

/* Contact Cards Grid */
.contact-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1rem;
}

.contact-card {
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.contact-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

.contact-card-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: linear-gradient(135deg, var(--bg-subtle, var(--bg-subtle, var(--bg-subtle, #f8f9fa))) 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
    border-bottom: 1px solid var(--border-light, #eee);
}

.contact-card-header .contact-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.contact-card-header .contact-info {
    flex: 1;
}

.contact-card-header .contact-name {
    font-weight: 600;
    color: var(--text-primary, #333);
}

.contact-card-header .contact-position {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}

.contact-card-header .contact-actions {
    display: flex;
    gap: 0.5rem;
}

.contact-card-body {
    padding: 1rem;
}

.contact-card-body .contact-detail {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    color: var(--text-body, #555);
}

.contact-card-body .contact-detail i {
    color: var(--text-muted, #999);
    width: 16px;
}

.contact-card-body .contact-detail a {
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
}

.contact-card-body .contact-detail a:hover {
    text-decoration: underline;
}

/* Sub-brand list styles */
.sub-brand-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.sub-brand-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.sub-brand-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.sub-brand-logo {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 8px;
    background: var(--bg-page, #f5f5f5);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.sub-brand-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.sub-brand-logo i {
    font-size: 1.5rem;
    color: var(--text-muted, #999);
}

.sub-brand-info {
    flex: 1;
    /* min-width:0 lets this flex item shrink below its content's min size so the
       trailing action button stays inside the card (default min-width:auto would
       force the row wider than the card and clip/detach the action). */
    min-width: 0;
}

.sub-brand-name {
    font-weight: 600;
    color: var(--text-primary, #333);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sub-brand-meta {
    display: flex;
    flex-wrap: nowrap;
    gap: 1rem;
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    margin-top: 0.25rem;
    min-width: 0;
    overflow: hidden;
}

/* Numeric count chips keep their full size; the identity chip (brand manager)
   absorbs the slack and truncates so the meta row never overflows the card. */
.sub-brand-meta .sub-brand-stat {
    flex: 0 0 auto;
}

.sub-brand-meta .sub-brand-stat--text {
    display: inline-block;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.4;
}

/* ========================================
   Expandable Sub-Brand Cards
   ======================================== */

/* Override base sub-brand-item for expandable version */
.sub-brand-item.sub-brand-expandable {
    display: flex;
    flex-direction: column;
    /* Base .sub-brand-item sets align-items:center (for the simple horizontal
       variant). In this column layout that lets the header-row size to its
       max-content and overflow the card, clipping the trailing action button.
       Stretch makes the row (and expand-content) fill the card width instead. */
    align-items: stretch;
    padding: 0;
    cursor: default;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.sub-brand-item.sub-brand-expandable:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.sub-brand-item.sub-brand-expandable.expanded {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 4px 16px rgba(61, 26, 111, 0.15);
}

/* Header row - clickable area */
.sub-brand-header-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    cursor: pointer;
    transition: background-color 0.15s ease;
    border-radius: 8px;
    /* Conform to the card width: as a flex item in the column-direction card,
       the row's default min-width:auto would let it balloon to its content's
       min-content width and overflow the card, clipping the trailing action. */
    min-width: 0;
}

.sub-brand-header-row:hover {
    background-color: var(--bg-subtle, #f8f9fa);
}

.sub-brand-expandable.expanded .sub-brand-header-row {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
    border-bottom: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px 8px 0 0;
}

/* Expand indicator with chevron */
.sub-brand-expand-indicator {
    width: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sub-brand-chevron {
    font-size: 0.875rem;
    color: var(--text-secondary, #666);
    transition: transform 0.2s ease;
}

.sub-brand-expandable.expanded .sub-brand-chevron {
    transform: rotate(90deg);
    color: var(--brand-primary, #3d1a6f);
}

/* Stat badges in meta row */
.sub-brand-stat {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
    background: var(--bg-page, #f5f5f5);
    padding: 0.15rem 0.5rem;
    border-radius: 12px;
}

.sub-brand-stat i {
    font-size: 0.7rem;
    opacity: 0.7;
}

/* Header actions (external link button) */
.sub-brand-header-actions {
    margin-left: auto;
}

.sub-brand-header-actions .btn {
    opacity: 0.6;
    transition: opacity 0.15s ease;
}

.sub-brand-header-row:hover .sub-brand-header-actions .btn,
.sub-brand-header-actions .btn:focus {
    opacity: 1;
}

/* Expandable content area */
.sub-brand-expand-content {
    background: var(--bg-subtle, #fcfcfc);
    border-radius: 0 0 8px 8px;
    overflow: hidden;
}

.sub-brand-expand-loading,
.sub-brand-expand-error {
    padding: 2rem;
    text-align: center;
    color: var(--text-secondary, #666);
}

.sub-brand-expand-error {
    color: var(--status-danger, #dc3545);
}

/* Inline content container */
.sub-brand-inline-content {
    padding: 0;
}

/* Inline toolbar */
.sub-brand-inline-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    background: var(--bg-surface, #fff);
    border-bottom: 1px solid var(--border-light, #eee);
}

.sub-brand-inline-toolbar .toolbar-label {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    font-weight: 500;
}

.sub-brand-inline-toolbar .toolbar-label i {
    margin-right: 0.25rem;
}

.sub-brand-inline-toolbar .toolbar-actions {
    display: flex;
    gap: 0.5rem;
}

/* No contacts state */
.sub-brand-no-contacts {
    padding: 2rem;
    text-align: center;
    color: var(--text-secondary, #666);
}

.sub-brand-no-contacts i {
    display: block;
    margin-bottom: 0.75rem;
}

.sub-brand-no-contacts p {
    margin-bottom: 1rem;
    color: var(--text-muted, #999);
}

/* Contact list inside expanded sub-brand */
.sub-brand-contacts-list {
    padding: 0.5rem 0;
}

/* Individual contact row */
.sub-brand-contact-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
    transition: background-color 0.15s ease;
}

.sub-brand-contact-row:last-child {
    border-bottom: none;
}

.sub-brand-contact-row:hover {
    background-color: var(--bg-surface, #fff);
}

/* Status-based left border for contact rows */
.sub-brand-contact-row.status-active {
    border-left: 3px solid var(--status-success, #28a745);
}

.sub-brand-contact-row.status-bounced {
    border-left: 3px solid var(--status-danger, #dc3545);
    background-color: var(--bg-danger-subtle, #fff8f8);
}

.sub-brand-contact-row.status-unsubscribed {
    border-left: 3px solid var(--text-secondary, #6c757d);
    background-color: var(--bg-subtle, #f9f9f9);
}

/* Contact row main content */
.contact-row-main {
    flex: 1;
    min-width: 0;
}

.contact-row-name {
    font-weight: 600;
    color: var(--text-primary, #333);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.contact-row-position {
    font-weight: 400;
    color: var(--text-tertiary, #888);
    font-size: 0.85rem;
}

.contact-row-position::before {
    content: "\00B7";
    margin-right: 0.5rem;
}

/* Contact status icons */
.contact-status-icon {
    font-size: 0.75rem;
}

.contact-status-icon.bounced {
    color: var(--status-danger, #dc3545);
}

.contact-status-icon.unsubscribed {
    color: var(--text-secondary, #666);
}

/* Contact details row */
.contact-row-details {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.25rem;
}

.contact-detail-item {
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.contact-detail-item i {
    font-size: 0.7rem;
    color: var(--text-muted, #999);
}

/* Engagement column */
.contact-row-engagement {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem;
    min-width: 80px;
}

.engagement-badge {
    background: #e3f2fd;
    color: #1976d2;
    padding: 0.15rem 0.5rem;
    border-radius: 12px;
    font-size: 0.75rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.engagement-badge i {
    font-size: 0.65rem;
}

.engagement-date {
    font-size: 0.7rem;
    color: var(--text-muted, #999);
}


/* Responsive adjustments for sub-brand expandable */
@media (max-width: 768px) {
    .sub-brand-header-row {
        flex-wrap: wrap;
    }

    .sub-brand-info {
        flex-basis: calc(100% - 80px);
    }

    .sub-brand-header-actions {
        margin-left: 0;
        margin-top: 0.5rem;
        flex-basis: 100%;
        text-align: right;
    }

    .sub-brand-contact-row {
        flex-wrap: wrap;
    }

    .contact-row-main {
        flex-basis: 100%;
    }

    .contact-row-engagement {
        flex-direction: row;
        justify-content: flex-start;
        margin-top: 0.5rem;
    }

    .contact-row-actions {
        margin-left: auto;
    }
}

/* Search results grid */
.search-results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.search-result-card {
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    padding: 1rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.search-result-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}

.search-result-card .result-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.search-result-card .result-logo,
.search-result-card .result-avatar {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: var(--bg-page, #f5f5f5);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.search-result-card .result-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.search-result-card .result-info {
    flex: 1;
}

.search-result-card .result-title {
    font-weight: 600;
    color: var(--text-primary, #333);
}

.search-result-card .result-subtitle {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}

.search-result-card .result-details {
    font-size: 0.85rem;
    color: var(--text-body, #555);
}

.search-result-card .result-details div {
    margin-bottom: 0.25rem;
}

.search-result-card .result-details i {
    width: 16px;
    color: var(--text-muted, #999);
    margin-right: 0.5rem;
}

/* Conversation timeline */
.conversation-timeline {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.conversation-item {
    background: var(--bg-surface, #fff) !important;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
    padding: 1rem;
    border-left: 4px solid var(--border-strong, #ccc);
}

.conversation-item.reception-hot { border-left-color: var(--brand-primary, #3d1a6f); }
.conversation-item.reception-warm { border-left-color: var(--brand-accent, #fdb913); }
.conversation-item.reception-lukewarm { border-left-color: #c9a023; }
.conversation-item.reception-cold { border-left-color: var(--text-muted, #999); }
.conversation-item.reception-icecold { border-left-color: var(--border-strong, #ccc); }

.conversation-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.conversation-type {
    font-weight: 600;
    color: var(--text-primary, #333);
}

.conversation-date {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}

.conversation-body {
    color: var(--text-body, #555);
    margin-bottom: 0.5rem;
}

.conversation-body p {
    margin: 0;
}

.conversation-footer {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}

.conversation-reception {
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
}

.conversation-reception.reception-hot { background: var(--status-success-bg, #d4edda); color: var(--status-success-text, #155724); }
.conversation-reception.reception-warm { background: var(--status-warning-bg, #fff3cd); color: var(--status-warning-text, #856404); }
.conversation-reception.reception-lukewarm { background: var(--bg-gold-tint, #ffe5d0); color: var(--status-warning-text, #7d4600); }
.conversation-reception.reception-cold { background: var(--status-info-bg, #d1ecf1); color: var(--status-info-text, #0c5460); }
.conversation-reception.reception-icecold { background: #e2e3e5; color: #383d41; }

/* Pagination */
.pagination-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
}

.pagination-info {
    text-align: center;
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    margin-top: 0.5rem;
}

.crm-stats-dismiss-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background: transparent;
    border: none;
    color: var(--text-muted, #999);
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    font-size: 0.9rem;
}

.crm-stats-dismiss-btn:hover { color: var(--text-primary, #333); }

.crm-stats-collapsed {
    margin-bottom: 1rem;
    text-align: right;
}

.crm-stats-collapsed a {
    color: var(--text-secondary, #666);
    text-decoration: none;
    font-size: 0.85rem;
}

.crm-stats-collapsed a:hover {
    color: var(--brand-primary, #3d1a6f);
}

/* CRM Modern Search */
.crm-modern-search {
    background: transparent;
    padding: 2rem 1rem;
    margin-bottom: 1rem;
}

.crm-search-bar {
    display: flex;
    justify-content: center;
}

.crm-search-input-wrapper {
    position: relative;
    width: 100%;
    max-width: 600px;
}

.crm-search-input-wrapper .form-control,
.modalPopup .crm-search-input-wrapper .form-control {
    width: 100%;
    padding: 1rem 3rem;
    font-size: 1.1rem;
    border: 1px solid #dfe1e5;
    border-radius: 24px;
    box-shadow: none;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.crm-search-input-wrapper .form-control:hover {
    box-shadow: 0 1px 6px rgba(32,33,36,0.15);
}

.crm-search-input-wrapper .form-control:focus {
    border-color: transparent;
    box-shadow: 0 1px 6px rgba(32,33,36,0.25);
    outline: none;
}

.crm-search-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted, #9aa0a6);
    font-size: 1rem;
    pointer-events: none;
}

.crm-search-clear {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-secondary, #70757a);
    background: transparent;
    border: 0;
    padding: 0;
    width: 1.75rem;
    height: 1.75rem;
    line-height: 1;
    border-radius: 50%;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.crm-search-clear:hover {
    background: #f1f3f4;
    color: var(--text-primary, #333);
}

/* Inline variant - smaller pill for filter bars alongside dropdowns */
.crm-search-input-wrapper.crm-search-inline { max-width: 300px; }
.crm-search-input-wrapper.crm-search-inline .form-control { padding: 0.5rem 2.2rem; font-size: 0.85rem; border-radius: 18px; }
.crm-search-input-wrapper.crm-search-inline .crm-search-icon { left: 0.7rem; font-size: 0.8rem; }
.crm-search-input-wrapper.crm-search-inline .crm-search-clear { right: 0.5rem; font-size: 0.8rem; }

/* ============================================================
   Canonical list-page search header (.bh-search-header)
   Pattern: centred search pill -> chip-toggle row -> Filters
   drawer (advanced controls) -> active-filter chips strip.
   Replaces ad-hoc per-page chrome (sf-*, dropdown rows).
   Markup:
     <div class="bh-search-header">
       <div class="crm-search-bar">
         <div class="crm-search-input-wrapper">...</div>
       </div>
       <div class="bh-search-header__chips">
         <label class="bh-chip-toggle">
           <input type="checkbox" checked />
           <span class="bh-chip-toggle__label">Images</span>
           <span class="bh-chip-toggle__count">12</span>
         </label>
         <button class="bh-filters-toggle">
           <i class="fa-solid fa-sliders"></i> Filters
         </button>
       </div>
       <div class="bh-filters-drawer" hidden>
         <div class="bh-filter-field">
           <label>Sort by</label>
           <select>...</select>
         </div>
       </div>
       <div class="bh-active-chips"></div>
     </div>
   ============================================================ */
.bh-search-header {
    margin: 2rem auto 1.25rem;
    max-width: 720px;
    padding: 0 1rem;
}
.bh-search-header > .crm-search-bar { margin: 0; }

.bh-search-header__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.85rem;
}

.bh-chip-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.85rem;
    margin: 0;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #dfe1e5);
    border-radius: 16px;
    font-size: 0.82rem;
    color: var(--text-body, #555);
    cursor: pointer;
    user-select: none;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.bh-chip-toggle:hover {
    background: var(--bg-subtle, #f6f3fa);
    border-color: var(--brand-primary, #3d1a6f);
}
.bh-chip-toggle input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}
.bh-chip-toggle__check {
    display: none;
    font-size: 0.7rem;
}
.bh-chip-toggle:has(input:checked) {
    background: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    color: #fff;
}
.bh-chip-toggle:has(input:checked) .bh-chip-toggle__check {
    display: inline-block;
}
.bh-chip-toggle__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.05rem;
    padding: 0 0.35rem;
    background: var(--bg-muted, #eceaf2);
    color: var(--text-secondary, #6b6b75);
    border-radius: 9px;
    font-size: 0.7rem;
    font-weight: 600;
}
.bh-chip-toggle:has(input:checked) .bh-chip-toggle__count {
    background: rgba(255,255,255,0.22);
    color: #fff;
}
.bh-chip-toggle__count:empty,
.bh-chip-toggle__count[hidden] { display: none; }

.bh-filters-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-left: 0.5rem;
    padding: 0.3rem 0.95rem;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #dfe1e5);
    border-radius: 16px;
    font-size: 0.82rem;
    color: var(--brand-primary, #3d1a6f);
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.bh-filters-toggle i { font-size: 0.78rem; }
.bh-filters-toggle:hover { background: var(--bg-subtle, #f0ecf5); }
.bh-filters-toggle.is-open {
    background: var(--bg-subtle, #f0ecf5);
    border-color: var(--brand-primary, #3d1a6f);
}
.bh-filters-toggle__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.3rem;
    margin-left: 0.15rem;
    background: var(--brand-primary, #3d1a6f);
    color: #fff;
    border-radius: 10px;
    font-size: 0.68rem;
    font-weight: 700;
}
.bh-filters-toggle__badge:empty,
.bh-filters-toggle__badge[hidden] { display: none; }

.bh-filters-drawer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem 1.25rem;
    margin-top: 0.85rem;
    padding: 0.85rem 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-default, #e9ecef);
    border-radius: 10px;
}
.bh-filters-drawer[hidden] { display: none; }

.bh-filter-field {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.82rem;
    color: var(--text-secondary, #666);
}
.bh-filter-field > label { margin: 0; white-space: nowrap; }
.bh-filter-field select,
.bh-filter-field input[type="date"],
.bh-filter-field input[type="text"] {
    padding: 0.3rem 0.55rem;
    border: 1px solid var(--border-default, #dfe1e5);
    border-radius: 8px;
    font-size: 0.82rem;
    color: var(--text-primary, #333);
    background: var(--bg-surface, #fff);
    min-width: 140px;
}
.bh-filter-field select:focus,
.bh-filter-field input:focus {
    outline: none;
    border-color: var(--brand-primary, #3d1a6f);
}

.bh-active-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 0.75rem;
}
.bh-active-chips:empty { display: none; }
.bh-active-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.2rem 0.7rem;
    background: var(--bg-muted, #eceaf2);
    border-radius: 20px;
    font-size: 0.78rem;
    color: var(--text-body, #495057);
}
.bh-active-chip button {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    color: var(--text-secondary, #6c757d);
    font-size: 0.72rem;
    line-height: 1;
}
.bh-active-chip button:hover { color: var(--status-danger, #dc3545); }

/* Dark-mode tuning (theme-tokens covers most; explicit fixes for chip-on state contrast) */
[data-theme="dark"] .bh-chip-toggle__count {
    background: var(--bg-muted, #2a2a32);
    color: var(--text-secondary, #b0b0bc);
}
[data-theme="dark"] .bh-filters-drawer {
    background: var(--bg-subtle, #1e1e26);
    border-color: var(--border-default, #3a3a44);
}

/* Laptop-aware compact strip (<=900px height) */
@media (max-height: 900px) {
    .bh-search-header { margin: 1.25rem auto 0.85rem; }
    .bh-search-header__chips { margin-top: 0.55rem; }
    .bh-chip-toggle, .bh-filters-toggle { padding: 0.22rem 0.75rem; font-size: 0.78rem; }
    .bh-filters-drawer { margin-top: 0.55rem; padding: 0.6rem 0.85rem; }
}

/* Narrow viewport */
@media (max-width: 600px) {
    .bh-search-header__chips { gap: 0.35rem; }
    .bh-chip-toggle { padding: 0.25rem 0.65rem; font-size: 0.78rem; }
    .bh-filters-toggle { margin-left: 0; }
    .bh-filter-field { width: 100%; justify-content: space-between; }
    .bh-filter-field select,
    .bh-filter-field input { flex: 1; min-width: 0; }
}

/* Filter Bar - standard grey rounded container for page-level filters */
.filter-bar {
    background: var(--bg-subtle, #f8f9fa);
    padding: 1rem 1.5rem;
    border-radius: 10px;
    margin-bottom: 1.5rem;
}
.filter-bar .form-control,
.filter-bar .form-select {
    border-radius: 6px;
    border: 1px solid var(--border-default, #ddd);
}
.filter-bar .form-control:focus,
.filter-bar .form-select:focus {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 0 0.2rem rgba(61, 26, 111, 0.25);
}
.filter-bar .btn-search {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    border: none;
    border-radius: 6px;
}
.filter-bar .btn-search:hover {
    background: #2d1352;
}
.filter-bar select,
.filter-bar .form-select {
    height: 38px;
    padding: 0.375rem 2.25rem 0.375rem 0.75rem;
    font-size: 0.9rem;
    background-color: var(--bg-surface, #fff);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
.filter-bar .input-group-text {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #ddd);
    border-right: none;
    color: var(--text-secondary, #666);
}
.filter-bar .input-group select,
.filter-bar .input-group .form-select {
    border-left: none;
}
.filter-bar .input-group select:focus,
.filter-bar .input-group .form-select:focus {
    border-left: none;
}

/* Story Filter Bar - unified icon-inside-control pattern */
.story-filter-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    background: var(--bg-subtle, #f8f9fa);
    padding: 0.75rem 1.5rem;
    border-radius: 10px;
    margin-bottom: 1.5rem;
}
.story-filter-control {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.story-filter-icon {
    position: absolute;
    left: 0.75rem;
    color: var(--text-muted, #999);
    font-size: 0.8rem;
    pointer-events: none;
    z-index: 2;
}
.story-filter-select {
    height: 36px;
    padding: 0 0.75rem 0 2.1rem;
    font-size: 0.85rem;
    border: 1px solid var(--border-default, #ddd);
    border-radius: 6px;
    background-color: var(--bg-surface, #fff);
    color: var(--text-primary, #333);
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;

    min-width: 170px;
    padding-right: 2rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23666' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.6rem center;
    background-size: 12px 10px;
    cursor: pointer;
}
.story-filter-select:focus {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 0 0.15rem rgba(61, 26, 111, 0.2);
}
.story-filter-toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
    white-space: nowrap;
}
.story-filter-count {
    font-size: 0.8rem;
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    white-space: nowrap;
}

.crm-search-options {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    margin-top: 1rem;
    font-size: 0.9rem;
}

.crm-search-options .btn-link {
    color: var(--text-secondary, #70757a);
    text-decoration: none;
}

.crm-search-options .btn-link:hover {
    color: var(--brand-primary, #3d1a6f);
}

.crm-filter-row {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-light, #e9ecef);
}

.crm-filter-row select {
    min-width: 140px;
}

.crm-filter-row .form-check {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Filter Chips */
.filter-chips {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 0.75rem;
}

.filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.75rem;
    background: var(--bg-muted, #e9ecef);
    border-radius: 20px;
    font-size: 0.8rem;
    color: var(--text-primary, #333);
}

.filter-chip i {
    cursor: pointer;
    color: var(--text-secondary, #666);
}

.filter-chip i:hover {
    color: var(--status-danger, #dc3545);
}

/* CRM Contact Cards */
.crm-contact-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 1.5rem;
    align-items: stretch;
}

/* Curated landing rows: wider cards, ~3-4 per row on desktop. Visually distinct from
   the firehose so the user reads it as "personal corner", not "complete index". */
.crm-contact-cards-curated {
    grid-template-columns: repeat(auto-fill, minmax(440px, 1fr));
    gap: 1.75rem;
}

/* Landing-state chrome -- header above the curated row, footer with Browse all CTA */
.crm-landing-header {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    margin: 0.5rem 0 1rem;
    flex-wrap: wrap;
}
.crm-landing-title {
    margin: 0;
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
}
.crm-landing-title i {
    color: var(--brand-accent, #fdb913);
    margin-right: 0.4rem;
}
.crm-landing-subtitle {
    color: var(--text-secondary, #666);
    font-size: 0.9rem;
}
.crm-landing-footer {
    margin-top: 1.5rem;
    text-align: center;
}
.crm-browse-all {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 500;
    font-size: 0.95rem;
    padding: 0.5rem 1rem;
}
.crm-browse-all:hover {
    color: var(--brand-primary, #3d1a6f);
    text-decoration: underline;
}

/* Empty-state hero: shown when curated landing has zero data (new tenant, no agreements,
   no recent activity). Calm, signposted, never dumps the firehose. */
.crm-landing-empty-hero {
    text-align: center;
    padding: 4rem 1.5rem;
    max-width: 560px;
    margin: 0 auto;
}
.crm-landing-empty-icon {
    color: var(--brand-primary, #3d1a6f);
    opacity: 0.5;
    margin-bottom: 1.25rem;
}
.crm-landing-empty-title {
    color: var(--text-primary, #333);
    font-weight: 600;
    margin-bottom: 0.5rem;
}
.crm-landing-empty-sub {
    color: var(--text-secondary, #666);
    margin-bottom: 1.5rem;
    line-height: 1.5;
}
.crm-landing-empty-cta {
    padding: 0.6rem 1.5rem;
    font-weight: 500;
}

/* Center empty state message in grid */
.crm-contact-cards > .text-center:only-child {
    grid-column: 1 / -1;
    text-align: center;
}

/* Landing wrapper inside a grid container (CRMClients reuses the same container that has
   class .crm-contact-cards). Span the full row so the landing chrome / hero centers
   correctly instead of squeezing into the first grid column. */
.crm-contact-cards > .crm-landing,
.crm-contact-cards > .loading-spinner {
    grid-column: 1 / -1;
}

.crm-contact-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #eef0f2);
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(20, 16, 40, 0.04), 0 4px 12px rgba(20, 16, 40, 0.07);
    overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.crm-contact-card .card-body {
    flex: 1;
    padding: 1rem;
}

.crm-contact-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 2px 4px rgba(20, 16, 40, 0.06), 0 10px 24px rgba(61, 26, 111, 0.14);
    border-color: rgba(61, 26, 111, 0.18);
}

/* Entire card is clickable (brand cards) */
.crm-contact-card.clickable-card {
    cursor: pointer;
}

.crm-contact-card.status-active {
    border-left: 4px solid var(--status-success, #28a745);
}

.crm-contact-card.status-snoozed {
    border-left: 4px solid var(--brand-accent, #fdb913);
}

.crm-contact-card.status-unsubscribed {
    border-left: 4px solid var(--text-secondary, #6c757d);
    opacity: 0.75;
}

.crm-contact-card.status-unsubscribed .card-header {
    background: linear-gradient(135deg, var(--bg-muted, var(--bg-muted, #f0f0f0)) 0%, #f8f8f8 100%);
}

.crm-contact-card.status-unsubscribed .contact-name {
    color: var(--text-tertiary, #888);
}

.crm-contact-card.status-bounced {
    border-left: 4px solid var(--brand-danger, #ed174c);
    opacity: 0.75;
}

.crm-contact-card.status-bounced .card-header {
    background: linear-gradient(135deg, var(--bg-muted, var(--bg-muted, #f0f0f0)) 0%, #f8f8f8 100%);
}

.crm-contact-card.status-bounced .contact-name {
    color: var(--text-tertiary, #888);
}

/* Contact badge with better contrast */
.crm-contact-card .badge-contact {
    background-color: #e8f4f8;
    color: var(--status-info-text, #0c5460);
    border: 1px solid var(--status-info-border, #bee5eb);
    font-weight: 500;
}

.crm-contact-card .card-header {
    display: flex;
    flex-direction: column;
    padding: 0.6rem 0.85rem;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: none;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
    gap: 0.35rem;
}

/* People card header with inline actions */
.crm-contact-card .card-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.crm-contact-card .people-card-actions {
    display: flex;
    gap: 0.25rem;
    flex-shrink: 0;
}

.people-card-action {
    background: none;
    border: none;
    color: var(--brand-primary, #3d1a6f);
    opacity: 0.5;
    cursor: pointer;
    padding: 0.2rem 0.35rem;
    font-size: 0.85rem;
    border-radius: 4px;
    transition: opacity 0.2s, background 0.2s;
    line-height: 1;
}

.crm-contact-card:hover .people-card-action {
    opacity: 1;
}

.people-card-action:hover {
    opacity: 1 !important;
    background: rgba(61, 26, 111, 0.08);
}

/* Portal status line in card body */
.people-card-portal {
    font-size: 0.75rem;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--border-light, #f0f0f0);
}

.people-card-portal.active {
    color: var(--brand-primary, #3d1a6f);
}

.people-card-portal.active i {
    color: var(--status-success, #28a745);
}

.people-card-portal.pending {
    color: var(--status-warning-text, #856404);
}

.crm-contact-card .card-header-badges {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.crm-contact-card .contact-name {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    white-space: normal;
    word-break: break-word;
    line-height: 1.3;
}

.crm-contact-card .contact-role {
    font-size: 0.85rem;
    color: var(--text-body, #555);
    margin-bottom: 0.5rem;
}

.crm-contact-card .contact-role i {
    width: 16px;
    color: var(--text-tertiary, #888);
    margin-right: 0.35rem;
}

.crm-contact-card .outlet-type {
    font-size: 0.85rem;
    color: var(--text-body, #555);
    margin-bottom: 0.5rem;
}

.crm-contact-card .outlet-type i {
    width: 16px;
    color: var(--text-tertiary, #888);
    margin-right: 0.35rem;
}

.crm-contact-card .outlet-more {
    font-size: 0.7rem;
    background-color: var(--text-secondary, #666);
    color: var(--text-on-dark, #fff);
    padding: 0.15rem 0.35rem;
    margin-left: 0.25rem;
    cursor: help;
}

.crm-contact-card .contact-info {
    font-size: 0.85rem;
    color: var(--text-body, #555);
}

.crm-contact-card .contact-info > div {
    margin-bottom: 0.35rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.crm-contact-card .contact-info i {
    width: 16px;
    color: var(--text-tertiary, #888);
    margin-right: 0.35rem;
}

.crm-contact-card .card-actions {
    position: static; /* Override absolute positioning from global .card-actions */
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-top: 1px solid var(--border-light, #e9ecef);
    flex-wrap: wrap;
    align-items: center;
}

.crm-contact-card .card-actions .btn {
    width: auto; /* Override fixed 32px from global .card-actions .btn */
    height: auto;
    padding: 0.25rem 0.5rem;
    font-size: 0.8rem;
}

.crm-contact-card .card-actions select {
    flex: 1;
    min-width: 120px;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    border-radius: 4px;
    border: 1px solid var(--border-strong, #ced4da);
}

.crm-contact-card .brand-stats {
    font-size: 0.85rem;
    color: var(--text-body, #555);
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--border-light, #eee);
    display: flex;
    gap: 1rem;
}

.crm-contact-card .brand-stats span {
    display: inline-flex;
    align-items: center;
}

.crm-contact-card .brand-stats i {
    color: var(--text-tertiary, #888);
    margin-right: 0.4rem;
}

/* Brand card styles */
.crm-contact-card.status-brand {
    border-left: 4px solid var(--brand-primary, #3d1a6f);
}
/* Brand cards: strip the gold card-header band + border-left.
   The purple stripe + "Parent Brand" pill already convey category + hierarchy.
   Global .card-header rule (BUZZHub.css:~6368) adds a gold gradient bg AND a
   4px gold border-left to EVERY card-header -- that's the second stripe we
   don't want on brand cards. Kill both here. */
.crm-contact-card.status-brand .card-header {
    background-color: transparent !important;
    background-image: none !important;
    border-left: none !important;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
}
[data-theme="dark"] .crm-contact-card.status-brand .card-header {
    background-color: transparent !important;
    background-image: none !important;
    border-left: none !important;
    border-bottom-color: var(--border-default) !important;
}
.badge-brand-type {
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--text-secondary, #666);
}
.badge-brand-type.parent {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
}
.brand-logo-circle {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.brand-logo-placeholder {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--bg-muted, #e9ecef);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-body, #555);
    flex-shrink: 0;
}

/* Tier badges */
.badge-tier-1 {
    background-color: var(--status-warning-bg, #fff3cd);
    color: var(--status-warning-text, #856404);
    border: 1px solid var(--status-warning-border, #ffeeba);
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.15em 0.45em;
    border-radius: 10px;
}

.badge-tier-2 {
    background-color: var(--bg-muted, #e9ecef);
    color: var(--text-primary, #333);
    border: 1px solid var(--border-default, #dee2e6);
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.15em 0.45em;
    border-radius: 10px;
}

.badge-tier-3 {
    background-color: #f4e3d0;
    color: var(--status-warning-text, #7c5a2e);
    border: 1px solid #e8d0b3;
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.15em 0.45em;
    border-radius: 10px;
}

.badge-tier-4 {
    background-color: var(--bg-muted, #e9ecef);
    color: var(--text-primary, #333);
    border: 1px solid var(--border-strong, #ced4da);
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.15em 0.45em;
    border-radius: 10px;
}

/* Tier legend component - reusable inline legend for tier explanations */
.tier-legend {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    position: relative;
}

.tier-legend-trigger {
    cursor: pointer;
    color: var(--brand-primary, #6b3fa0);
    font-size: 0.85rem;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.tier-legend-trigger:hover {
    opacity: 1;
}

.tier-legend-popup {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 1060;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--brand-primary, #3d1a6f);
    border-radius: 8px;
    padding: 12px 16px;
    min-width: 320px;
    box-shadow: 0 4px 16px rgba(61, 26, 111, 0.15);
}

.tier-legend-popup.show {
    display: block;
}

.tier-legend-popup::before {
    content: '';
    position: absolute;
    top: -6px;
    left: 16px;
    width: 10px;
    height: 10px;
    background: var(--bg-surface, #fff);
    border-left: 1px solid var(--brand-primary, #3d1a6f);
    border-top: 1px solid var(--brand-primary, #3d1a6f);
    transform: rotate(45deg);
}

.tier-legend-title {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    border-bottom: 2px solid var(--brand-accent, #fdb913);
    padding-bottom: 4px;
    display: inline-block;
}

.tier-legend-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 3px 0;
}

.tier-legend-row .badge {
    min-width: 44px;
    text-align: center;
    font-size: 0.7rem;
}

.tier-legend-desc {
    font-size: 0.78rem;
    color: var(--text-body, #555);
}

.tier-legend-examples {
    font-size: 0.7rem;
    color: var(--text-muted, #999);
    font-style: italic;
}

/* Media type badge */
.badge-media-type {
    font-size: 0.7rem;
    font-weight: 500;
    padding: 0.2em 0.55em;
    border-radius: 10px;
    background-color: var(--status-info-bg, #e8f4f8);
    color: var(--status-info-text, #0c5460);
    border: 1px solid var(--status-info-border, #bee5eb);
    white-space: nowrap;
}

.badge-media-type i {
    margin-right: 0.25rem;
    font-size: 0.65rem;
}

/* Engagement indicator */
.engagement-indicator {
    font-size: 0.7rem;
    font-weight: 600;
    color: #e25822;
    white-space: nowrap;
}

.engagement-indicator i {
    color: #e25822;
}

/* CRM Results Header */
.crm-results-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border-light, #e9ecef);
}

.crm-results-header .results-count {
    font-size: 0.9rem;
    color: var(--text-secondary, #666);
    font-weight: 500;
}

/* CRM Empty State */
.crm-empty-state {
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 10px;
    padding: 3rem;
}

.crm-empty-state i {
    display: block;
    margin-bottom: 1rem;
}

/* CRM Notification Toast */
.crm-notification {
    position: fixed;
    bottom: 20px;
    right: 20px;
    padding: 1rem 1.5rem;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 9999;
    font-size: 0.9rem;
    animation: slideIn 0.3s ease;
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* KPI Cards Responsive (covers canonical .bh-kpi and all legacy aliases) */
@media (max-width: 992px) {
    .bh-kpi-row,
    .crm-stats,
    .pipeline-stats,
    .bh-eng-summary-row,
    .pitch-stats {
        gap: 0.5rem;
    }

    .bh-kpi,
    .crm-stat-card,
    .pipeline-stat-card,
    .kpi-card,
    .ra-stat-card,
    .bh-eng-summary-tile,
    .pitch-stat-card {
        min-width: 100px;
        padding: 0.45rem 0.85rem;
    }

    .bh-kpi .stat-value, .bh-kpi .bh-kpi-value, .bh-kpi .kpi-value,
    .crm-stat-card .stat-value,
    .pipeline-stat-card .stat-value,
    .kpi-card .kpi-value,
    .ra-stat-card .stat-value,
    .bh-eng-summary-tile-value,
    .pitch-stat-card .stat-value {
        font-size: 1.2rem;
    }

    .crm-contact-cards {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    }
}

@media (max-width: 576px) {
    .bh-kpi,
    .crm-stat-card,
    .pipeline-stat-card,
    .kpi-card,
    .ra-stat-card,
    .bh-eng-summary-tile,
    .pitch-stat-card {
        min-width: 45%;
        flex: 1 1 45%;
    }

    .crm-search-input-wrapper {
        max-width: 100%;
    }

    .crm-search-options {
        flex-direction: column;
        gap: 0.5rem;
    }

    .crm-filter-row {
        flex-direction: column;
    }

    .crm-filter-row select {
        width: 100%;
    }

    .crm-contact-cards {
        grid-template-columns: 1fr;
    }

    .crm-contact-card .card-actions {
        flex-direction: column;
    }

    .crm-contact-card .card-actions .btn,
    .crm-contact-card .card-actions select {
        width: 100%;
    }
}

/* ============================
   Phase 3: Outlet Contacts with Engagement
   ============================ */

/* Modern outlet view container */
.crm-modern-outlet-view {
    margin-top: 1rem;
}

/* Collapsible sections */
.crm-section {
    border: 1px solid var(--border-default, #dee2e6);
    border-radius: 8px;
    margin-bottom: 1rem;
    overflow: hidden;
}

.crm-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    cursor: pointer;
    user-select: none;
    transition: background-color 0.2s ease;
}

.crm-section-header:hover {
    background: linear-gradient(135deg, var(--bg-gold-tint, #fff0c8) 0%, var(--bg-gold-tint, #fff8e8) 100%);
}

.crm-section-header h5 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.crm-section-header h5 i {
    color: var(--brand-accent, #fdb913);
}

.crm-section-header h5 .badge {
    font-size: 0.75rem;
    font-weight: 500;
}

.crm-section-toggle {
    color: var(--text-secondary, #666);
    transition: transform 0.2s ease;
}

.crm-section.collapsed .crm-section-toggle {
    transform: rotate(-90deg);
}

.crm-section-content {
    padding: 1rem;
    background: var(--bg-surface, #fff);
}

.crm-section-toolbar {
    padding: 0.75rem 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-bottom: 1px solid var(--border-light, #e9ecef);
}

/* Top Engaged Section */
.crm-top-engaged-section {
    border-left-color: #ffd700;
}

.top-engaged-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}

/* Top-engaged strip -- inline band inside merged Contacts accordion
   (not a nested accordion; just a labelled row of 3 medal cards). */
.top-engaged-strip {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px dashed var(--border-default, #e0e0e0);
}

.top-engaged-strip-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--text-muted, #666);
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.top-engaged-strip-label small {
    color: var(--text-muted, #999);
    font-weight: 400;
}

.top-engaged-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    border: 1px solid var(--border-light, #e9ecef);
    transition: box-shadow 0.2s ease;
}

.top-engaged-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.top-engaged-card.gold {
    border-left: 4px solid #ffd700;
    background: linear-gradient(135deg, #fffef0 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
}

.top-engaged-card.silver {
    border-left: 4px solid #c0c0c0;
    background: linear-gradient(135deg, var(--bg-subtle, var(--bg-subtle, var(--bg-subtle, #fafafa))) 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
}

.top-engaged-card.bronze {
    border-left: 4px solid #cd7f32;
    background: linear-gradient(135deg, #fdf8f4 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
}

.top-engaged-rank {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    border-radius: 50%;
    font-weight: 700;
    font-size: 0.9rem;
    flex-shrink: 0;
}

/* Medal badges keep dark text in both themes for legibility on bright metallic bg */
.top-engaged-card.gold .top-engaged-rank { background: #ffd700; color: var(--text-primary, #333); }
.top-engaged-card.silver .top-engaged-rank { background: #c0c0c0; color: var(--text-primary, #333); }
.top-engaged-card.bronze .top-engaged-rank { background: #cd7f32; color: var(--text-on-dark, #fff); }
[data-theme="dark"] .top-engaged-card.gold .top-engaged-rank,
[data-theme="dark"] .top-engaged-card.silver .top-engaged-rank { color: #333 !important; }

.top-engaged-info {
    flex: 1;
    min-width: 0;
}

.top-engaged-name {
    font-weight: 600;
    color: var(--text-primary, #333);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.top-engaged-position {
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Engagement Badges */
.engagement-badges {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.engagement-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 500;
    background: var(--bg-muted, #e9ecef);
    color: var(--text-primary, #333);
}

.engagement-badge i {
    font-size: 0.7rem;
}

.engagement-badge.downloads { background: #cfe2ff; color: #084298; }
.engagement-badge.bookings { background: #d1e7dd; color: #0f5132; }
.engagement-badge.emails { background: #e2d9f3; color: var(--brand-primary, #432874); }

.engagement-badge.high { background: var(--status-success-bg, #d4edda); color: var(--status-success-text, #155724); }
.engagement-badge.medium { background: var(--status-warning-bg, #fff3cd); color: var(--status-warning-text, #856404); }
.engagement-badge.low { background: var(--bg-subtle, #f8f9fa); color: var(--text-secondary, #666); }

.engagement-badge.clickable { cursor: pointer; transition: all 0.15s ease; border: 1px solid transparent; border-radius: 4px; }
.engagement-badge.clickable:hover { background-color: var(--border-light, #e9ecef); border-color: var(--accent-purple, #6f42c1); transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.engagement-badge.clickable .fa-chevron-down { font-size: 0.6em; margin-left: 3px; transition: transform 0.2s ease; }
.engagement-badge.clickable.active { border-color: var(--accent-purple, #6f42c1); background-color: #f3eefa; }
.engagement-badge.clickable.active .fa-chevron-down { transform: rotate(180deg); }

.engagement-history-detail { margin-top: 8px; padding: 0 4px; }
.engagement-history-detail table.engagement-history-table { font-size: 0.85rem; margin-bottom: 0.5rem; }
.engagement-history-detail table.engagement-history-table th { font-weight: 600; font-size: 0.8rem; white-space: nowrap; }
.engagement-history-detail table.engagement-history-table td { vertical-align: middle; }
.engagement-load-more .btn { font-size: 0.8rem; padding: 0.15rem 0.5rem; }

/* Outlet Contact Rows */
.outlet-contacts-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.outlet-contact-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.outlet-contact-row:hover {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 2px 8px rgba(61, 26, 111, 0.08);
}

.outlet-contact-row.status-snoozed {
    border-left: 4px solid var(--status-warning-border, #ffc107);
}

.outlet-contact-row.status-unsubscribed {
    border-left: 4px solid var(--text-secondary, #6c757d);
    opacity: 0.7;
}

.outlet-contact-row.status-bounced {
    border-left: 4px solid var(--status-danger, #dc3545);
    background: var(--bg-danger-subtle, #fff5f5);
}

.outlet-contact-row.selected {
    border-color: var(--brand-primary, #3d1a6f);
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
    box-shadow: 0 2px 8px rgba(61, 26, 111, 0.15);
}

/* Compact Contact Cards (Phase 3) */
.outlet-contact-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 6px;
    margin-bottom: 0.5rem;
    transition: all 0.2s ease;
}

.outlet-contact-card:hover {
    border-color: var(--brand-primary, #3d1a6f);
}

.outlet-contact-card.expanded {
    border-color: var(--status-success, #28a745);
    background: linear-gradient(135deg, #f0fff4 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.15);
}

.outlet-contact-card.status-snoozed {
    border-left: 3px solid var(--status-warning-border, #ffc107);
}

.outlet-contact-card.status-unsubscribed {
    border-left: 3px solid var(--text-secondary, #6c757d);
    opacity: 0.7;
}

.outlet-contact-card.status-bounced {
    border-left: 3px solid var(--status-danger, #dc3545);
    background: var(--bg-danger-subtle, #fff8f8);
}

.contact-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 1rem;
    cursor: pointer;
}

.contact-card-header:hover {
    background: var(--bg-subtle, #f8f9fa);
}

.contact-card-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.contact-card-name .contact-name {
    font-weight: 600;
    color: var(--text-primary, #333);
    font-size: 0.95rem;
}

.contact-position-inline {
    color: var(--text-secondary, #666);
    font-size: 0.85rem;
}

.contact-card-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.engagement-mini {
    font-size: 0.75rem;
    color: var(--status-success, #28a745);
    font-weight: 500;
}

.contact-card-details {
    padding: 0.75rem 1rem 1rem;
    border-top: 1px solid var(--border-light, #e9ecef);
    background: var(--bg-subtle, #fafbfc);
}

.contact-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem 2rem;
    margin-bottom: 0.75rem;
}

.contact-detail-col p {
    margin: 0 0 0.35rem 0;
    font-size: 0.85rem;
    color: var(--text-body, #555);
}

.contact-detail-col i {
    width: 1rem;
    text-align: center;
    margin-right: 0.5rem;
}

.engagement-detail-section {
    margin-bottom: 0.75rem;
    padding: 8px 10px;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 6px;
    border: 1px solid var(--border-light, #e9ecef);
}

.engagement-detail-label {
    font-size: 0.8rem;
    margin-bottom: 6px;
    color: var(--text-primary, #333);
}

.engagement-detail-label i {
    color: var(--brand-primary, #3d1a6f);
    margin-right: 0.25rem;
}

.engagement-detail-hint {
    color: var(--text-secondary, #666);
    margin-left: 0.25rem;
}

.engagement-detail-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.contact-interests {
    font-size: 0.85rem;
    color: var(--text-body, #555);
    margin-bottom: 0.75rem;
}

/* Interest badges display */
.interest-badges-container {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.25rem;
}

.interest-badge {
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.2em 0.6em;
    white-space: nowrap;
}

/* Tag input styling for editable interests */
.tag-input-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.5rem;
    border: 1px solid var(--border-strong, #ced4da);
    border-radius: 0.375rem;
    background: var(--bg-surface, #fff);
    min-height: 42px;
    cursor: text;
}

.tag-input-wrapper:focus-within {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

.tag-input-wrapper .tag-item {
    display: inline-flex;
    align-items: center;
    background-color: var(--status-info-bg, #d1ecf1);
    color: var(--status-info-text, #0c5460);
    border: 1px solid var(--status-info-border, #bee5eb);
    border-radius: 12px;
    padding: 0.2em 0.5em;
    font-size: 0.875rem;
}

.tag-input-wrapper .tag-item .tag-remove {
    margin-left: 0.35rem;
    cursor: pointer;
    font-weight: bold;
    opacity: 0.7;
    line-height: 1;
}

.tag-input-wrapper .tag-item .tag-remove:hover {
    opacity: 1;
    color: var(--status-danger-text, #721c24);
}

.tag-input-wrapper .tag-input-field {
    border: none;
    outline: none;
    flex: 1;
    min-width: 120px;
    font-size: 0.875rem;
    padding: 0.2em;
}

.tag-input-wrapper .tag-input-field::placeholder {
    color: var(--text-secondary, #666);
}

/* Advanced Selection tag input - taller version for filter panel */
.tag-input-wrapper.advanced-selection-tags {
    min-height: 200px;
    max-height: 300px;
    overflow-y: auto;
    align-content: flex-start;
}

.unsub-info-banner {
    background: var(--status-warning-bg, #fff3cd);
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.75rem;
    font-size: 0.85rem;
    color: var(--status-warning-text, #856404);
}

.contact-bio-section {
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    padding: 0.75rem;
    margin-bottom: 0.75rem;
}

.contact-bio-section .section-header {
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
}

.contact-bio-section .section-header strong {
    font-size: 0.85rem;
}

.contact-bio-text {
    font-size: 0.85rem;
    color: var(--text-primary, #333);
    margin-bottom: 0;
    line-height: 1.5;
    white-space: pre-wrap;
}

/* Recent Stories section in contact card */
.contact-stories-section {
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    padding: 0.75rem;
    margin-bottom: 0.75rem;
}
.contact-stories-section .section-header {
    margin-bottom: 0.5rem;
}
.contact-stories-section .section-header strong {
    font-size: 0.9rem;
    color: var(--text-primary, #333);
}
.stories-subsection {
    margin-bottom: 0.5rem;
}
.stories-subsection:last-child {
    margin-bottom: 0;
}
.stories-subsection-header {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-body, #555);
    margin-bottom: 0.25rem;
}
.stories-list .story-item {
    padding: 0.25rem 0;
    font-size: 0.85rem;
}
.story-headline {
    color: var(--text-primary, #333);
    font-weight: 500;
}
a.story-headline:hover {
    color: var(--accent-purple, #6f42c1);
    text-decoration: underline;
}
.story-topics {
    margin-top: 0.1rem;
    font-style: italic;
}
.sentiment-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    vertical-align: middle;
}
.sentiment-dot.sentiment-positive { background-color: var(--status-success, #28a745); }
.sentiment-dot.sentiment-neutral  { background-color: #adb5bd; }
.sentiment-dot.sentiment-negative { background-color: var(--status-danger, #dc3545); }

.contact-action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--border-light, #e9ecef);
}

.contact-action-buttons .btn {
    font-size: 0.8rem;
    padding: 0.3rem 0.6rem;
}

/* Contact Groups Section */
.contact-groups-section,
.contact-outlets-section {
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px dashed var(--border-light, #e9ecef);
}

.contact-groups-section .section-header,
.contact-outlets-section .section-header {
    margin-bottom: 0.5rem;
    font-size: 0.85rem;
}

.contact-bio-section .section-header strong,
.contact-stories-section .section-header strong,
.contact-notes-section .section-header strong,
.conversation-history-section .section-header strong,
.contact-groups-section .section-header strong,
.contact-outlets-section .section-header strong {
    color: var(--text-primary, #333);
}

.contact-bio-section .section-header strong i,
.contact-stories-section .section-header strong i,
.contact-notes-section .section-header strong i,
.conversation-history-section .section-header strong i,
.contact-groups-section .section-header strong i,
.contact-outlets-section .section-header strong i {
    color: var(--brand-primary, #3d1a6f);
    margin-right: 0.25rem;
}

.contact-groups-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.group-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.5rem;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border: 1px solid var(--brand-accent, #fdb913);
    border-radius: 4px;
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
}

.btn-remove-group,
.btn-remove-outlet {
    background: none;
    border: none;
    color: var(--status-danger, #dc3545);
    font-size: 0.9rem;
    padding: 0 0.25rem;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.15s;
}

.btn-remove-group:hover,
.btn-remove-outlet:hover {
    opacity: 1;
}

/* Contact Outlets Section */
.contact-outlets-list-items {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.outlet-mapping-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.35rem 0.5rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 4px;
    font-size: 0.85rem;
}

.outlet-mapping-item .outlet-info {
    flex: 1;
    color: var(--text-primary, #333);
}

.outlet-mapping-item .outlet-info i.fa-building {
    color: var(--brand-primary, #3d1a6f);
    margin-right: 0.35rem;
}

.outlet-mapping-item .outlet-state {
    color: var(--text-secondary, #666);
    margin-left: 0.25rem;
}

.outlet-mapping-item .badge-sm {
    font-size: 0.7rem;
    padding: 0.15rem 0.35rem;
}

@media (max-width: 768px) {
    .contact-detail-grid {
        grid-template-columns: 1fr;
    }

    .contact-card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }

    .contact-card-meta {
        width: 100%;
        justify-content: flex-start;
    }
}

.contact-main-info {
    flex: 1;
    min-width: 0;
}

.contact-name-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.contact-name-row .contact-name {
    font-weight: 600;
    color: var(--text-primary, #333);
}

.contact-position {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    margin-top: 0.25rem;
}

.contact-details {
    display: flex;
    gap: 1rem;
    margin-top: 0.5rem;
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
}

.contact-details i {
    margin-right: 0.25rem;
    color: var(--text-muted, #999);
}

.contact-engagement {
    flex-shrink: 0;
    min-width: 180px;
    text-align: right;
}

.contact-actions {
    flex-shrink: 0;
}

/* Syndication List */
.syndication-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* When syndication panel is present, flatten the bottom of the profile card */
.outlet-profile.has-syndication {
    border-radius: 12px 12px 0 0;
}

.outlet-profile.has-syndication .outlet-profile-footer {
    border-radius: 0;
}

/* Outlet Syndication Card - visually continues the outlet-profile card above */
.outlet-syndication-card {
    background: var(--bg-surface, #fff);
    border-radius: 0 0 12px 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    padding: 1rem 1.5rem 1.25rem;
    border-top: 1px solid var(--border-light, #eee);
}

.outlet-syndication-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    user-select: none;
}

.outlet-syndication-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: color 0.15s;
}

.outlet-syndication-trigger:hover .outlet-syndication-title {
    color: var(--brand-primary, #5a2d82);
}

.outlet-syndication-title i {
    color: var(--brand-accent, #fdb913);
    width: 20px;
}

.outlet-syndication-count {
    font-size: 0.7rem;
    font-weight: 600;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    border-radius: 10px;
    padding: 0.15em 0.55em;
    min-width: 1.4em;
    text-align: center;
    line-height: 1.4;
}

.outlet-syndication-chevron {
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.65rem;
    transition: transform 0.2s;
    padding: 0.25rem;
}

.outlet-syndication-body {
    padding-top: 0.75rem;
    border-top: 2px solid var(--brand-accent, #fdb913);
    margin-top: 0.5rem;
}

/* Syndication group items */
.syndication-item {
    padding: 0.5rem 0.75rem;
    background: var(--bg-subtle, #fafafa);
    border-radius: 4px;
    border-left: 3px solid var(--brand-accent, #fdb913);
    margin-bottom: 0.5rem;
    transition: background-color 0.15s;
}

.syndication-item:last-child {
    margin-bottom: 0;
}

.syndication-item:hover {
    background: #f5f3f0;
}

.syndication-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.syndication-name {
    font-weight: 600;
    font-size: 0.82rem;
    color: var(--brand-primary, #3d1a6f);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.syndication-name i {
    color: var(--brand-accent, #fdb913);
    font-size: 0.75rem;
}

.syndication-desc {
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--text-muted, #999);
    font-style: italic;
}

.syndication-member-count {
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--text-tertiary, #888);
    white-space: nowrap;
}

/* Member outlet badges */
.syndication-members-badges {
    padding-top: 0.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.synd-member-badge {
    background: var(--bg-surface, #fff);
    color: var(--text-body, #555);
    border: 1px solid var(--border-default, #ddd);
    font-weight: 400;
    font-size: 0.73rem;
    padding: 0.2em 0.55em;
    border-radius: 3px;
    line-height: 1.4;
    transition: all 0.15s;
}

.synd-member-badge:hover {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    border-color: var(--brand-primary, #3d1a6f);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(61,26,111,0.2);
}

.synd-member-current {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    border-color: var(--brand-primary, #3d1a6f);
    font-weight: 500;
    pointer-events: none;
}

.syndication-chevron {
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.6rem;
    transition: transform 0.2s;
    opacity: 0.6;
}

.syndication-header:hover .syndication-chevron {
    opacity: 1;
}

/* Conversations List */
.conversations-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.conversation-item {
    padding: 0.75rem 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 6px;
    border-left: 3px solid var(--status-info, #17a2b8);
}

.conversation-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.conversation-date {
    font-weight: 500;
    color: var(--text-primary, #333);
    font-size: 0.85rem;
}

.conversation-by {
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
}

.conversation-notes {
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: var(--text-body, #555);
    line-height: 1.5;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .top-engaged-grid {
        grid-template-columns: 1fr;
    }

    .outlet-contact-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .contact-engagement {
        width: 100%;
        text-align: left;
        margin-top: 0.5rem;
    }

    .contact-actions {
        width: 100%;
        margin-top: 0.5rem;
    }

    .contact-details {
        flex-direction: column;
        gap: 0.25rem;
    }
}

/* ============================================
   CRM Modal Styles
   ============================================ */

.crm-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10001;
}

.crm-modal-content {
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    width: 90%;
    max-width: 500px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
}

.crm-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 10px 10px 0 0;
}

.crm-modal-header h5 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
}

.crm-modal-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--text-secondary, #666);
    cursor: pointer;
    padding: 0;
    line-height: 1;
}

.crm-modal-close:hover {
    color: var(--text-primary, #333);
}

.crm-modal-body {
    padding: 1.25rem;
    overflow-y: auto;
    flex: 1;
}

.outlet-search-results {
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 6px;
    margin-top: 0.5rem;
}

.outlet-results-list {
    padding: 0.5rem;
}

.outlet-result-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
}

.outlet-result-item:last-child {
    border-bottom: none;
}

.outlet-result-item:hover {
    background: var(--bg-subtle, #f8f9fa);
}

.outlet-result-info {
    flex: 1;
    min-width: 0;
}

.outlet-result-info strong {
    display: block;
    color: var(--text-primary, #333);
}

/* ============================================
   Top Contacts Tab Styles
   ============================================ */

.crm-top-contacts-header {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    padding: 1rem;
    border-radius: 8px;
    margin-bottom: 1.5rem;
}

/* Filter dropdown select/unselect links */
.dropdown-menu .d-flex a.small {
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
    font-weight: 500;
}
.dropdown-menu .d-flex a.small:hover {
    color: #0056b3;
    text-decoration: underline;
}

/* Media type and engagement type filter dropdown checkbox alignment */
#mediaTypeCheckboxes .form-check,
#engagementTypeCheckboxes .form-check {
    display: flex;
    align-items: center;
    padding-left: 0;
    margin-bottom: 0.5rem;
}

#mediaTypeCheckboxes .form-check-input,
#engagementTypeCheckboxes .form-check-input {
    margin: 0;
    margin-right: 0.5rem;
    position: relative;
    top: 0;
}

#mediaTypeCheckboxes .form-check-label,
#engagementTypeCheckboxes .form-check-label {
    margin: 0;
    line-height: 1;
}

/* Floating Action Button */
.fab-button {
    position: fixed;
    bottom: 30px;
    left: 30px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    /* 3px white halo ring keeps the FAB distinct when scrolled over the purple footer */
    box-shadow: 0 0 0 3px var(--bg-page, #fff), 0 4px 12px rgba(0,0,0,0.3);
    z-index: 1000;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.fab-button:hover {
    transform: scale(1.1);
    box-shadow: 0 0 0 3px var(--bg-page, #fff), 0 6px 16px rgba(0,0,0,0.4);
}

/* FAB Container and Menu */
.fab-container {
    position: fixed;
    bottom: 30px;
    left: 30px;
    z-index: 1000;
}
.fab-container .fab-button {
    position: relative;
    bottom: auto;
    left: auto;
}
.fab-menu {
    position: absolute;
    bottom: 70px;
    left: 0;
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    overflow: hidden;
    min-width: 180px;
}
.fab-menu-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.75rem 1rem;
    border: none;
    background: var(--bg-surface, #fff);
    text-align: left;
    font-size: 0.9rem;
    color: var(--text-primary, #333);
    cursor: pointer;
    transition: background-color 0.15s ease;
}
.fab-menu-item:hover {
    background: var(--bg-muted, #f0f0f0);
}
.fab-menu-item i {
    width: 20px;
    text-align: center;
    color: var(--text-secondary, #666);
}
.fab-icon {
    transition: transform 0.2s ease;
}
.fab-container.open .fab-icon {
    transform: rotate(45deg);
}

/* Outlet Search Results in Modal */
.outlet-search-results .outlet-search-item {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border-light, #eee);
    cursor: pointer;
    transition: background-color 0.15s ease;
}
.outlet-search-results .outlet-search-item:hover {
    background: var(--bg-subtle, #f8f9fa);
}
.outlet-search-results .outlet-search-item:last-child {
    border-bottom: none;
}
.outlet-search-results .outlet-name {
    font-weight: 500;
    color: var(--text-primary, #333);
}
.outlet-search-results .outlet-details {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}

/* Clickable card headers */
.clickable-header {
    cursor: pointer;
    transition: background-color 0.15s ease;
}
.clickable-header:hover {
    background-color: rgba(0,0,0,0.03);
}
.crm-contact-card .clickable-header:hover {
    background: linear-gradient(135deg, var(--status-info-bg, #e8f4fc) 0%, var(--status-info-bg, #f0f8ff) 100%);
}

.crm-top-contacts-list {
    min-height: 200px;
}

#topContactsContainer .fa-spinner,
#topClientsContainer .fa-spinner {
    color: var(--brand-primary, #3d1a6f);
}

.top-clients-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.top-clients-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.top-clients-group-header {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--text-secondary, #555);
    padding: 0.25rem 0.5rem;
    border-bottom: 1px solid var(--border-color, #e0e0e0);
    margin-bottom: 0.25rem;
}

.top-clients-group-header .badge {
    margin-left: 0.5rem;
    font-weight: normal;
}

.top-client-actions {
    padding: 0.5rem 1rem 0.75rem;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

.top-contacts-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.top-contact-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #dee2e6);
    border-radius: 8px;
    transition: all 0.2s ease;
}

.top-contact-card:hover {
    border-color: #adb5bd;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.top-contact-card.expanded {
    border-color: var(--status-success, #28a745);
    border-width: 2px;
    box-shadow: 0 4px 12px rgba(40, 167, 69, 0.15);
}

/* Top 3 rankings */
.top-contact-card.top-rank-1 {
    border-left: 4px solid #ffd700;
    background: linear-gradient(to right, rgba(255, 215, 0, 0.05), transparent);
}

.top-contact-card.top-rank-2 {
    border-left: 4px solid #c0c0c0;
    background: linear-gradient(to right, rgba(192, 192, 192, 0.05), transparent);
}

.top-contact-card.top-rank-3 {
    border-left: 4px solid #cd7f32;
    background: linear-gradient(to right, rgba(205, 127, 50, 0.05), transparent);
}

.top-contact-header {
    display: flex;
    align-items: center;
    padding: 1rem;
    cursor: pointer;
    gap: 1rem;
}

.top-contact-header:hover {
    background: var(--bg-subtle, #f8f9fa);
}

.top-contact-rank {
    flex-shrink: 0;
    width: 50px;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-secondary, #666);
    text-align: center;
}

.top-contact-rank i {
    font-size: 1.1rem;
}

.text-bronze {
    color: #cd7f32;
}

.top-contact-info {
    flex: 1;
    min-width: 0;
}

.top-contact-name {
    font-weight: 600;
    font-size: 1rem;
    color: var(--text-primary, #333);
}

.top-contact-outlet {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    margin-top: 0.25rem;
}

.top-contact-outlet .badge {
    font-size: 0.7rem;
    font-weight: 500;
    vertical-align: middle;
}

.top-contact-engagement {
    flex-shrink: 0;
    text-align: right;
}

.top-contact-engagement .engagement-score {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--status-success, #28a745);
    margin-bottom: 0.25rem;
}

.top-contact-engagement .engagement-score i {
    font-size: 1rem;
    margin-right: 0.25rem;
}

.engagement-badges-mini {
    display: flex;
    gap: 0.25rem;
    justify-content: flex-end;
}

.engagement-badges-mini .badge {
    font-size: 0.7rem;
    padding: 0.2rem 0.4rem;
}

.top-contact-expand {
    flex-shrink: 0;
    width: 30px;
    text-align: center;
    color: var(--text-muted, #999);
}

.top-contact-expand i {
    transition: transform 0.2s ease;
}

.top-contact-details {
    padding: 0 1rem 1rem 1rem;
    border-top: 1px solid var(--border-light, #eee);
    margin-top: 0;
}

/* Mobile responsive for top contacts */
@media (max-width: 768px) {
    .top-contact-header {
        flex-wrap: wrap;
    }

    .top-contact-rank {
        width: 40px;
    }

    .top-contact-engagement {
        width: 100%;
        text-align: left;
        margin-top: 0.5rem;
        display: flex;
        align-items: center;
        gap: 1rem;
    }

    .engagement-badges-mini {
        justify-content: flex-start;
    }
}

/* ============================
 * D-08: Smart Suggested Contacts
 * ============================ */

.badge-match-industry {
    background: rgba(61, 26, 111, 0.1);
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.2rem 0.5rem;
    border-radius: 10px;
}

.badge-match-topic {
    background: rgba(253, 185, 19, 0.15);
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.2rem 0.5rem;
    border-radius: 10px;
}

.relevance-score {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0.25rem;
}

.relevance-score i {
    font-size: 1rem;
    margin-right: 0.25rem;
    color: var(--brand-accent, #fdb913);
}

.badge-topic-pill {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.2rem 0.6rem;
    border-radius: 10px;
    display: inline-block;
}

.badge-topic-pill small {
    opacity: 0.8;
}

.badge-topic-pill-sm {
    font-size: 0.7rem;
    padding: 0.15rem 0.5rem;
}

/* Smart Suggestions score breakdown */
.suggested-score-breakdown {
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    padding: 12px 16px;
}
.score-factor {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #dee2e6);
    border-radius: 6px;
    padding: 4px 10px;
    font-size: 0.8rem;
}
.score-factor-value {
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.9rem;
}
.score-factor-label {
    color: var(--text-secondary, #666);
}

.alert-sm {
    padding: 0.4rem 0.75rem;
    font-size: 0.85rem;
}

.badge-detail-sm {
    font-size: 0.65rem;
}

/* ============================
 * Phase 5: Outreach Groups Modernization
 * ============================ */

.modern-groups-container {
    padding: 1rem;
}

/* Groups List Panel */
.groups-list-panel {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    padding: 1rem;
    height: 100%;
}

.groups-list-panel .panel-header h6 {
    color: var(--text-primary, #333);
    letter-spacing: 0.04em;
}

/* Outreach Groups Rename/Delete pair: enforce uniform stacked layout */
.group-actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.group-actions > .btn {
    width: 100%;
    margin: 0;
}

.groups-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-height: 60vh;
    overflow-y: auto;
}

/* Group Cards */
.group-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.group-card:hover {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--bg-subtle, #fafafa);
}

.group-card.selected {
    border-color: var(--status-success, #28a745);
    background: linear-gradient(135deg, #f0fff4 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
    border-left: 4px solid var(--status-success, #28a745);
}

.group-name {
    font-weight: 600;
    color: var(--text-primary, #333);
    margin-bottom: 0.25rem;
    font-size: 0.9rem;
}

.group-meta {
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
}

.group-status-dots {
    display: flex;
    gap: 3px;
    margin-top: 0.5rem;
}

.group-status-dots .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

.group-status-dots .dot.active {
    background: var(--status-success, #28a745);
}

.group-status-dots .dot.snoozed {
    background: var(--status-warning-bg, #ffc107);
}

.group-status-dots .dot.inactive {
    background: var(--status-danger, #dc3545);
}

/* Group Members Panel */
.group-members-panel {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.group-members-header {
    padding: 1rem;
    border-bottom: 1px solid var(--border-light, #e9ecef);
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-radius: 8px 8px 0 0;
    border-left: 4px solid var(--brand-accent, #fdb913);
}

.group-members-toolbar {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border-light, #e9ecef);
    background: var(--bg-subtle, #f8f9fa);
}

/* Group Members Panel Table Headers - Yellow Gradient */
.group-members-panel table thead th {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%) !important;
    border-left: 4px solid var(--brand-accent, #fdb913) !important;
    border-top: 1px solid var(--border-light, #fff5dc) !important;
    border-right: 1px solid var(--border-light, #fff5dc) !important;
    border-bottom: 1px solid var(--border-light, #fff5dc) !important;
    color: var(--brand-primary, #3d1a6f) !important;
    font-weight: 500 !important;
    font-size: 0.9em !important;
}

.group-members-panel table thead th:first-child {
    border-left: 4px solid var(--brand-accent, #fdb913) !important;
}

.group-members-panel table thead th:not(:first-child) {
    border-left: 1px solid var(--border-light, #fff5dc) !important;
}

.group-members-list {
    flex: 1;
    overflow-y: auto;
    max-height: 50vh;
}

/* Group Member Row */
.group-member-row {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
    transition: background 0.15s ease;
}

.group-member-row:hover {
    background: var(--bg-subtle, #f8f9fa);
}

.group-member-row:last-child {
    border-bottom: none;
}

.group-member-row .member-checkbox {
    flex-shrink: 0;
    padding-top: 0.2rem;
}

.group-member-row .member-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.group-member-row .member-info {
    flex: 1;
    min-width: 0;
}

.group-member-row .member-name {
    font-weight: 500;
    color: var(--text-primary, #333);
    font-size: 0.95rem;
}

.group-member-row .member-outlet {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    margin-top: 0.15rem;
}

.group-member-row .member-engagement {
    font-size: 0.8rem;
    color: var(--text-tertiary, #888);
    margin-top: 0.25rem;
}

.group-member-row .member-engagement span {
    margin-right: 0.75rem;
}

.group-member-row .member-engagement i {
    color: var(--text-muted, #999);
    margin-right: 0.2rem;
}

.group-member-row .member-status {
    flex-shrink: 0;
}

/* Selection Footer */
.group-selection-footer {
    padding: 0.75rem 1rem;
    background: var(--bg-subtle, #f8f9fa);
    border-top: 1px solid var(--border-light, #e9ecef);
    border-radius: 0 0 8px 8px;
}

/* Empty State */
.empty-state i {
    opacity: 0.4;
}

/* Group Actions Buttons */
.group-actions {
    border-top: 1px solid var(--border-light, #e9ecef);
    padding-top: 1rem;
}

/* Mobile responsive for groups */
@media (max-width: 992px) {
    .modern-groups-container .row {
        flex-direction: column;
    }

    .modern-groups-container .col-md-4,
    .modern-groups-container .col-lg-3 {
        max-width: 100%;
        margin-bottom: 1rem;
    }

    .groups-list {
        max-height: 30vh;
    }

    .group-member-row {
        flex-wrap: wrap;
    }

    .group-member-row .member-engagement {
        width: 100%;
    }
}

@media (max-width: 576px) {
    .modern-groups-container .stats-cards {
        gap: 0.75rem;
    }

    .modern-groups-container .stat-card {
        min-width: 60px;
    }

    .modern-groups-container .stat-value {
        font-size: 1.2rem;
    }

    .group-members-toolbar > .d-flex {
        flex-direction: column;
        align-items: stretch !important;
        gap: 0.5rem;
    }
    /* Inner button row: 2 per row instead of 1 to save vertical space */
    .group-members-toolbar .d-flex.gap-2 .btn,
    .group-members-toolbar .d-flex.gap-2 .btn-group {
        flex: 1 1 calc(50% - 0.25rem);
        min-width: 0;
    }
    .group-members-toolbar .btn-group > .btn { flex: 1; width: 100%; }
    /* Search + filter row: full width each */
    .group-members-toolbar .input-group,
    .group-members-toolbar .form-control,
    .group-members-toolbar select.form-control {
        width: 100% !important;
        max-width: none !important;
    }
}

/* ====================================
   Phase 5B: Syndication Groups
   ==================================== */

/* Syndication member list */
.syndication-member-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.syndication-member-list .group-member-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
    transition: background-color 0.15s ease;
}

.syndication-member-list .group-member-row:hover {
    background-color: var(--bg-subtle, #f8f9fa);
}

.syndication-member-list .member-info {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
}

.syndication-member-list .member-details {
    display: flex;
    flex-direction: column;
}

.syndication-member-list .member-name {
    font-weight: 600;
    color: var(--text-primary, #333);
}

.syndication-member-list .member-outlet {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    margin-top: 0.25rem;
}

.syndication-member-list .outlet-logo {
    border-radius: 4px;
    border: 1px solid var(--border-light, #e9ecef);
}

.syndication-member-list .member-actions {
    flex-shrink: 0;
}

/* Add Contacts Modal */
.add-contacts-list {
    display: flex;
    flex-direction: column;
}

.add-contact-row {
    display: flex;
    align-items: center;
    padding: 0.4rem 0.85rem;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    font-size: 0.85rem;
    transition: background 0.12s;
}
.add-contact-row:hover { background: var(--bg-subtle, #f8f5ff); }

.add-contact-row.already-in-group {
    opacity: 0.6;
    background: var(--bg-subtle, #f8f9fa) !important;
    cursor: not-allowed;
}

.add-contact-row input[type="checkbox"] {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    cursor: pointer;
    pointer-events: none; /* Let row handle selection via gridselect.js */
}

.add-contact-row .contact-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.add-contact-row .contact-line1 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.add-contact-row .contact-name {
    font-weight: 600;
    color: var(--text-primary, #333);
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 1;
    min-width: 0;
}

.add-contact-row .contact-name .position {
    font-weight: 400;
    color: var(--text-secondary, #6c757d);
    font-size: 0.8rem;
    margin-left: 0.25rem;
}

.add-contact-row .contact-details {
    font-size: 0.78rem;
    color: var(--text-secondary, #6c757d);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.add-contact-row .contact-outlet {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.25rem;
    margin-left: auto;
    flex-shrink: 0;
}

.add-contact-row .contact-outlet .badge {
    font-size: 0.7rem;
    padding: 0.15rem 0.45rem;
    font-weight: 500;
}

.add-contact-row.selected {
    background-color: var(--status-warning-bg, #fff2d1);
    border-left: 3px solid var(--brand-accent, #fdb913);
    padding-left: calc(1rem - 3px);
}
[data-theme="dark"] .add-contact-row.selected {
    background-color: rgba(167, 107, 223, 0.18) !important;
    border-left-color: var(--brand-primary, #a76bdf);
}
[data-theme="dark"] .add-contact-row.selected .contact-name,
[data-theme="dark"] .add-contact-row.selected .contact-details,
[data-theme="dark"] .add-contact-row.selected .contact-interests,
[data-theme="dark"] .add-contact-row.selected .contact-email,
[data-theme="dark"] .add-contact-row.selected .contact-name .position {
    color: var(--text-primary, #e8e8e8) !important;
}

.add-contact-row .contact-interests mark {
    background-color: var(--brand-accent, #fdb913);
    color: var(--text-primary, #333);
    padding: 0 2px;
    border-radius: 2px;
}

.add-contacts-state-cb {
    margin-right: 3px;
}

/* ============================
   Contact Notes & Conversations Sections
   ============================ */

.contact-notes-section,
.conversation-history-section {
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    padding: 0.75rem;
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}

.contact-notes-section .section-header,
.conversation-history-section .section-header {
    margin-bottom: 0.5rem;
}

.contact-notes-section .section-header strong,
.conversation-history-section .section-header strong {
    font-size: 0.9rem;
    color: var(--text-primary, #333);
}

.contact-note-content .note-text {
    font-size: 0.9rem;
    color: var(--text-body, #555);
    white-space: pre-wrap;
}

.edit-note-form textarea,
.record-interaction-form textarea {
    width: 100%;
    font-size: 0.9rem;
}

/* Conversation Items */
.conversation-items {
    max-height: 150px;
    overflow-y: auto;
}

.conversation-item {
    background: var(--bg-surface, #fff);
    border-radius: 4px;
    padding: 0.35rem 0.5rem;
    margin-bottom: 0.35rem;
    border-left: 2px solid var(--border-light, #e9ecef);
    font-size: 0.8rem;
}

.conversation-item .conv-header {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    font-size: 0.75rem;
    margin-bottom: 0.15rem;
}

.conversation-item .conv-date {
    color: var(--text-tertiary, #888);
}

.conversation-item .conv-by {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 500;
}

.conversation-item .conv-notes {
    font-size: 0.8rem;
    color: var(--text-primary, #444);
    white-space: pre-wrap;
    max-height: 2.4em;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Reception Badges - scoped to badge elements only, not full rows */
.reception-badge {
    font-size: 0.7rem;
    padding: 0.125rem 0.375rem;
    border-radius: 4px;
    font-weight: 500;
}

.reception-badge.reception-hot,
.badge.reception-hot,
.conversation-reception.reception-hot {
    background: var(--status-success-bg, #d4edda) !important;
    color: var(--status-success-text, #155724) !important;
}

.reception-badge.reception-warm,
.badge.reception-warm,
.conversation-reception.reception-warm {
    background: var(--status-warning-bg, #fff3cd) !important;
    color: var(--status-warning-text, #856404) !important;
}

.reception-badge.reception-lukewarm,
.badge.reception-lukewarm,
.conversation-reception.reception-lukewarm {
    background: var(--bg-gold-tint, #ffe5d0) !important;
    color: var(--status-warning-text, #7d4600) !important;
}

.reception-badge.reception-cold,
.badge.reception-cold,
.conversation-reception.reception-cold {
    background: #e2e3e5 !important;
    color: #383d41 !important;
}

.reception-badge.reception-icecold,
.badge.reception-icecold,
.conversation-reception.reception-icecold {
    background: #e2e3e5 !important;
    color: #383d41 !important;
}

.reception-default {
    background: var(--bg-muted, #e9ecef);
    color: var(--text-secondary, #666);
}

/* Record Interaction Form */
.record-interaction-form {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 0.75rem;
}

.record-interaction-form .form-section-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--brand-accent, #fdb913);
}

/* ============================
   Modern Form Styles (Register.aspx pattern)
   ============================ */

.modern-form-group {
    margin-bottom: 1rem;
}

.modern-form-group label {
    display: block;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0.375rem;
}

.modern-form-group label i {
    margin-right: 0.375rem;
    color: var(--brand-accent, #fdb913);
    width: 16px;
}

.modern-form-group .form-control {
    border: 1px solid var(--border-default, #e0e0e0);
    border-radius: 8px;
    padding: 0.625rem 0.875rem;
    font-size: 0.95rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    background-color: var(--bg-subtle, #fafafa);
    height: auto;
    min-height: 40px;
    line-height: 1.5;
}

.modern-form-group .form-control:focus {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 0 3px rgba(61, 26, 111, 0.1);
    background-color: var(--bg-surface, #fff);
    outline: none;
}

.modern-form-group .form-control::placeholder {
    color: var(--text-muted, #aaa);
}

.form-row-split {
    display: flex;
    gap: 0.75rem;
}

.form-row-split > .modern-form-group {
    flex: 1;
}

.form-section {
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    padding: 1.5rem;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    margin-bottom: 1.25rem;
}

.form-section-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--brand-accent, #fdb913);
}

.help-text {
    font-size: 0.8rem;
    color: var(--text-secondary, #777);
    margin-top: 0.25rem;
}

/* REMOVED: Duplicate .btn-xs (dead code - first definition at line 2544 with !important wins) */

/* Responsive form layout */
@media (max-width: 576px) {
    .form-row-split {
        flex-direction: column;
        gap: 0;
    }
}

/* ============================================
   Global FormView Modern Styling
   Automatically styles FormViews in modals
   ============================================ */

/* Modal FormView container */
.modalPopup .container,
.modal-body .container,
.form-view-modern {
    /* Keep existing layout but add padding */
}

/* Style label columns in FormViews */
.modalPopup [class*="col-md-2"].text-left,
.modalPopup [class*="col-md-2"].text-right,
.modal-body [class*="col-md-2"].text-left,
.modal-body [class*="col-md-2"].text-right,
.form-view-modern .form-label-col {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--brand-primary, #3d1a6f);
    padding-top: 0.875rem;
    padding-bottom: 0.5rem;
}

/* Required field indicator */
.modalPopup .required,
.modal-body .required,
.form-view-modern .required {
    position: relative;
}
.modalPopup .required::after,
.modal-body .required::after,
.form-view-modern .required::after {
    content: "*";
    color: var(--status-danger, #dc3545);
    margin-left: 0.25rem;
    font-weight: bold;
}

/* Modern form controls in modals */
.modalPopup .form-control,
.modalPopup select.form-control,
.modal-body .form-control,
.modal-body select.form-control,
.form-view-modern .form-control {
    border: 1px solid var(--border-default, #e0e0e0);
    border-radius: 8px;
    padding: 0.625rem 0.875rem;
    font-size: 0.95rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    background-color: var(--bg-subtle, #fafafa);
    min-height: 44px;
}

.modalPopup .form-control:focus,
.modalPopup select.form-control:focus,
.modal-body .form-control:focus,
.modal-body select.form-control:focus,
.form-view-modern .form-control:focus {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 0 3px rgba(61, 26, 111, 0.1);
    background-color: var(--bg-surface, #fff);
    outline: none;
}

.modalPopup .form-control::placeholder,
.modal-body .form-control::placeholder,
.form-view-modern .form-control::placeholder {
    color: var(--text-muted, #aaa);
}

/* Textarea styling */
.modalPopup textarea.form-control,
.modal-body textarea.form-control,
.form-view-modern textarea.form-control {
    min-height: 100px;
    resize: vertical;
}

/* Input group styling in modals */
.modalPopup .input-group,
.modal-body .input-group,
.form-view-modern .input-group {
    display: flex;
    flex-direction: row !important;
    flex-wrap: nowrap;
    align-items: stretch;
}

/* Fixed-width icon prepends: constrain to 42px so all icons align vertically.
   Only targets prepends containing an <i> icon -- text-label prepends are unaffected.
   .prepend-auto opts out (hybrid icon+text labels, wider brand icons). */
.input-group .input-group-prepend:not(.prepend-auto):has(> .input-group-text > i) {
    display: flex;
    flex: 0 0 42px;
    max-width: 42px;
}

.input-group .input-group-prepend:not(.prepend-auto):has(> .input-group-text > i) .input-group-text {
    width: 42px;
    justify-content: center;
}

.modalPopup .input-group .input-group-text,
.modal-body .input-group .input-group-text,
.form-view-modern .input-group .input-group-text {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border: 1px solid var(--border-default, #e0e0e0);
    border-right: none;
    color: var(--brand-primary, #3d1a6f);
    border-radius: 8px 0 0 8px;
    display: flex;
    align-items: center;
}

.modalPopup .input-group .form-control,
.modal-body .input-group .form-control,
.form-view-modern .input-group .form-control {
    border-radius: 0 8px 8px 0;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}

/* Row spacing in FormViews - only apply to form-view-modern to avoid conflicts */
.form-view-modern .row {
    margin-bottom: 0.75rem;
}

/* Checkbox styling */
.modalPopup input[type="checkbox"],
.modal-body input[type="checkbox"],
.form-view-modern input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--brand-primary, #3d1a6f);
    margin-right: 0.5rem;
}

/* Better validation message styling - only for validator spans, not buttons */
.modalPopup span.text-danger,
.modal-body span.text-danger,
.form-view-modern span.text-danger {
    font-size: 0.85rem;
    margin-top: 0.25rem;
    display: block;
}

/* Keep asterisks inline within labels and table headers (override above rule) */
.modalPopup label span.text-danger,
.modal-body label span.text-danger,
.form-view-modern label span.text-danger,
.modalPopup th span.text-danger,
.modal-body th span.text-danger {
    display: inline;
    margin-top: 0;
    font-size: inherit;
}

/* Primary action button in FormView modals - use specific class to avoid conflicts */
.form-view-modern .btn-danger,
.form-view-modern a.btn-danger {
    background: linear-gradient(135deg, #ed174c 0%, #d41544 100%);
    border: none;
    padding: 0.625rem 1.5rem;
    border-radius: 8px;
    font-weight: 500;
    color: var(--text-on-dark, #fff) !important;
    transition: all 0.2s ease;
}

.form-view-modern .btn-danger:hover {
    background: linear-gradient(135deg, #d41544 0%, #b8123b 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(237, 23, 76, 0.3);
    color: var(--text-on-dark, #fff);
}

.form-view-modern .btn-danger:focus {
    background: linear-gradient(135deg, #ed174c 0%, #d41544 100%);
    box-shadow: 0 0 0 3px rgba(237, 23, 76, 0.3);
    outline: none;
    color: var(--text-on-dark, #fff);
}

/* Secondary/default button in FormView modals */
.form-view-modern .btn-default {
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-default, #e0e0e0);
    padding: 0.625rem 1.5rem;
    border-radius: 8px;
    font-weight: 500;
    color: var(--text-secondary, #666);
    transition: all 0.2s ease;
}

.form-view-modern .btn-default:hover {
    background: var(--bg-muted, #e9ecef);
    color: var(--text-primary, #333);
}

.form-view-modern .btn-default:focus {
    background: var(--bg-subtle, #f8f9fa);
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
    outline: none;
}

/* Modal header styling - only for FormView modals without existing header styling */
.form-view-modern .header {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
    padding: 1rem 1.5rem;
}

.form-view-modern .header h4,
.form-view-modern .header h5 {
    margin: 0;
    font-weight: 500;
}

/* Modal body padding - only apply to form-view-modern class */
.form-view-modern .body {
    padding: 1.5rem;
}

/* Form section dividers - only for form-view-modern */
.form-view-modern hr {
    border: none;
    border-top: 1px solid var(--border-light, #e9ecef);
    margin: 1.25rem 0;
}

/* Rich text editor wrapper - only for form-view-modern */
.form-view-modern .richtextwrapper-xs {
    border: 1px solid var(--border-default, #e0e0e0);
    border-radius: 8px;
    overflow: hidden;
}

/* Blocked Emails Tab Modern Styling */
.blocked-emails-stats {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.blocked-stat-card {
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    padding: 1rem 1.5rem;
    flex: 1;
    min-width: 150px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border-left: 4px solid var(--status-danger, #dc3545);
}

.blocked-stat-card.warning { border-left-color: var(--status-warning-border, #ffc107); }
.blocked-stat-card.info { border-left-color: var(--status-info, #17a2b8); }

.blocked-stat-value {
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}

.blocked-stat-label {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}

.blocked-stats-wrapper {
    position: relative;
}

.blocked-stats-dismiss-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background: transparent;
    border: none;
    color: var(--text-muted, #999);
    font-size: 0.9rem;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    transition: all 0.2s;
}

.blocked-stats-dismiss-btn:hover {
    background: rgba(0,0,0,0.05);
    color: var(--text-secondary, #666);
}

/* Blocked emails table improvements */
.table-blocked-emails {
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.table-blocked-emails th {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%) !important;
    border-left: 4px solid var(--brand-accent, #fdb913) !important;
    color: var(--brand-primary, #3d1a6f);
    font-weight: 500;
}

.table-blocked-emails .btn-sm {
    border-radius: 6px;
    padding: 0.375rem 0.625rem;
}

.table-blocked-emails td:first-child {
    white-space: nowrap;
}

.table-blocked-emails .btn-sm.green,
.table-blocked-emails .btn-sm.green:hover,
.table-blocked-emails .btn-sm.green:focus {
    background: var(--status-success, #28a745) !important;
    border: none !important;
    color: var(--text-on-dark, #fff) !important;
}

.table-blocked-emails .btn-sm.red,
.table-blocked-emails .btn-sm.red:hover,
.table-blocked-emails .btn-sm.red:focus {
    background: var(--status-danger, #dc3545) !important;
    border: none !important;
    color: var(--text-on-dark, #fff) !important;
}

/* Block reason column */
.table-blocked-emails .wraplong {
    max-width: 200px;
    word-wrap: break-word;
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}

/* ============================================
   Outlet Details Modern View
   ============================================ */

.outlet-profile {
    background: var(--bg-surface, #fff);
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    overflow: hidden;
}

/* Header section with logo and key info */
.outlet-profile-header {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    padding: 1.5rem;
    color: var(--text-on-dark, #fff);
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.outlet-profile-logo {
    width: 80px;
    height: 80px;
    background: var(--bg-surface, #fff);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.outlet-profile-logo img {
    max-width: 70px;
    max-height: 70px;
    object-fit: contain;
}

.outlet-profile-title {
    flex: 1;
}

.outlet-profile-title h3 {
    margin: 0 0 0.5rem 0;
    font-size: 1.5rem;
    font-weight: 600;
}

.outlet-profile-badges {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.outlet-badge {
    background: rgba(255,255,255,0.2);
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
}

.outlet-badge.type { background: var(--brand-accent, #fdb913); color: var(--text-primary, #333); }
.outlet-badge.size { background: rgba(255,255,255,0.3); }
.outlet-badge.reach { background: var(--status-success, #28a745); color: var(--text-on-dark, #fff); }

/* Profile body sections */
.outlet-profile-body {
    padding: 1.5rem;
}

.outlet-section {
    margin-bottom: 1.5rem;
}

.outlet-section:last-child {
    margin-bottom: 0;
}

.outlet-section-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--brand-accent, #fdb913);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.outlet-section-title i {
    color: var(--brand-accent, #fdb913);
    width: 20px;
}

/* Field display grid */
.outlet-fields {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

@media (max-width: 768px) {
    .outlet-fields {
        grid-template-columns: 1fr;
    }
}

.outlet-field {
    display: flex;
    flex-direction: column;
}

.outlet-field.full-width {
    grid-column: 1 / -1;
}

.outlet-field-label {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--text-tertiary, #888);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 0.25rem;
}

.outlet-field-value {
    font-size: 0.95rem;
    color: var(--text-primary, #333);
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
    min-height: 1.5rem;
}

.outlet-field-value:empty::after {
    content: "-";
    color: #ccc;
}

.outlet-field-value a {
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
}

.outlet-field-value a:hover {
    text-decoration: underline;
}

/* Contact info with icons */
.outlet-contact-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
}

.outlet-contact-icon {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-primary, #3d1a6f);
    flex-shrink: 0;
}

.outlet-contact-text {
    flex: 1;
}

.outlet-contact-text .label {
    font-size: 0.7rem;
    color: var(--text-tertiary, #888);
    text-transform: uppercase;
}

.outlet-contact-text .value {
    color: var(--text-primary, #333);
    font-size: 0.95rem;
}

/* Description/notes area */
.outlet-description {
    background: var(--bg-subtle, #f8f9fa);
    padding: 1rem;
    border-radius: 8px;
    font-size: 0.95rem;
    color: var(--text-body, #555);
    line-height: 1.6;
}

/* Footer with metadata */
.outlet-profile-footer {
    padding: 1rem 1.5rem;
    background: var(--bg-subtle, #f8f9fa);
    border-top: 1px solid var(--border-light, #e9ecef);
    font-size: 0.8rem;
    color: var(--text-tertiary, #888);
    display: flex;
    justify-content: space-between;
}

/* Edit button in header */
.outlet-profile-actions {
    flex-shrink: 0;
}

.outlet-profile-actions .btn {
    background: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.3);
    color: var(--text-on-dark, #fff);
    padding: 0.5rem 1rem;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.outlet-profile-actions .btn:hover {
    background: rgba(255,255,255,0.3);
    color: var(--text-on-dark, #fff);
}

/* Edit Talent: Upload Headshot button. Same overlay pattern as the
   outlet-profile-actions version below -- the AsyncFileUpload's <input type="file">
   sits absolute+transparent on top of the styled .btn so clicks on the button
   land on the file picker. Without position:relative on the .btn, the .uploader
   overlay escapes to a far ancestor and the button is inert. */
.talent-headshot-uploader .btn {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
.talent-headshot-uploader .uploader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* Upload Logo button in outlet profile header */
.outlet-profile-actions .dm-uploader {
    display: inline-block;
    margin-right: 0.5rem;
}

.outlet-profile-actions .dm-uploader .btn {
    background: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.3);
    color: var(--text-on-dark, #fff);
    padding: 0.5rem 1rem;
    border-radius: 8px;
    transition: all 0.2s ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.outlet-profile-actions .dm-uploader .btn:hover {
    background: rgba(255,255,255,0.3);
    color: var(--text-on-dark, #fff);
}

/* Hide the default file input but keep it functional */
.outlet-profile-actions .dm-uploader .uploader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* Loading indicator for upload */
.outlet-profile-actions .loadingbee {
    width: 20px;
    height: 20px;
    margin-left: 0.5rem;
    vertical-align: middle;
}

/* ============================================
   Form Card Container
   Reusable card-style form container with yellow header
   Use with .form-view-modern for complete styling
   ============================================ */

.form-card {
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    padding: 1.25rem;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    margin-bottom: 1rem;
}

/* Yellow gradient header for form cards */
.form-card h3,
.form-card h4,
.form-card .form-header {
    font-size: 1rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    margin: 0 -1.25rem 1rem -1.25rem;
    padding: 0.75rem 1.25rem;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 10px 10px 0 0;
}

.form-card h3:first-child,
.form-card h4:first-child,
.form-card .form-header:first-child {
    margin-top: -1.25rem;
}

/* Row spacing in form cards */
.form-card .row {
    margin-bottom: 0.875rem;
}

/* Mobile responsiveness for form cards */
@media (max-width: 768px) {
    .form-card {
        padding: 1rem;
        border-radius: 8px;
    }

    .form-card h3,
    .form-card h4,
    .form-card .form-header {
        margin: 0 -1rem 1rem -1rem;
        padding: 0.625rem 1rem;
        font-size: 0.95rem;
    }

    .form-card h3:first-child,
    .form-card h4:first-child {
        margin-top: -1rem;
    }
}

/* Alias for backwards compatibility */
.storybuilder-form {
    /* Layout wrapper only -- NOT an outer card. Every panel using this class
       contains its own .profile-card chrome, so a surrounding bg + shadow +
       padding box was a redundant "card in a card" that broke gutter/width
       parity with the Brief/SMART/Outcomes tabs (bare cards in the .container).
       Kept as a plain full-width block so inner .row/.col negative-margin
       gutters still resolve to the container edge. */
    margin-bottom: 1rem;
}

.storybuilder-form h3,
.storybuilder-form h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    margin: 0 -1.25rem 1rem -1.25rem;
    padding: 0.75rem 1.25rem;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 10px 10px 0 0;
}

.storybuilder-form h3:first-child,
.storybuilder-form h4:first-child {
    margin-top: -1.25rem;
}

.storybuilder-form .row {
    margin-bottom: 0.875rem;
}

@media (max-width: 768px) {
    .storybuilder-form h3,
    .storybuilder-form h4 {
        margin: 0 -1rem 1rem -1rem;
        padding: 0.625rem 1rem;
    }
    .storybuilder-form h3:first-child,
    .storybuilder-form h4:first-child {
        margin-top: -1rem;
    }
}

/* ============================================
   PROFILE CARD - Reusable Modern FormView Pattern
   ============================================

   USE THIS PATTERN TO MODERNIZE ANY FORMVIEW

   HTML Structure:
   ---------------
   <div class="profile-card">
       <!-- Optional Header with gradient and title -->
       <div class="profile-card-header">
           <div class="profile-card-title">
               <h3>Title Here</h3>
               <div class="profile-card-badges">
                   <span class="profile-badge type">Badge 1</span>
                   <span class="profile-badge">Badge 2</span>
               </div>
           </div>
           <div class="profile-card-actions">
               <asp:LinkButton CssClass="btn" Text="Edit" />
           </div>
       </div>

       <!-- Body with sections -->
       <div class="profile-card-body">
           <div class="profile-section">
               <div class="profile-section-title">
                   <i class="fa fa-info-circle"></i> Section Title
               </div>
               <div class="profile-fields">
                   <div class="profile-field">
                       <div class="profile-field-label">Field Label</div>
                       <div class="profile-field-value">Field Value</div>
                   </div>
                   <div class="profile-field full-width">
                       <div class="profile-field-label">Full Width Field</div>
                       <div class="profile-field-value">Spans both columns</div>
                   </div>
               </div>
           </div>
       </div>

       <!-- Optional Footer -->
       <div class="profile-card-footer">
           <span>Last Modified: Date</span>
           <span>By: User</span>
       </div>
   </div>

   ============================================ */

/* Main container */
.profile-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #ddd);
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    overflow: hidden;
    margin-bottom: 1.5rem;
}

/* Header - Purple gradient */
.profile-card-header {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    padding: 1.5rem;
    color: var(--text-on-dark, #fff);
    display: flex;
    align-items: center;
    gap: 1rem;
    border-radius: 10px;
    margin-bottom: 15px;
}

/* Header - Section band (`.yellow` legacy name, slate-tint visual since 2026-05-12) */
.profile-card-header.yellow {
    background: linear-gradient(135deg, var(--bg-slate-tint, #f1f0f4) 0%, var(--bg-slate-tint-2, #f8f7fa) 100%);
    color: var(--brand-primary, #3d1a6f);
    border-left: 4px solid var(--brand-accent, #fdb913);
    padding: clamp(0.4rem, 0.6vw + 0.25rem, 0.625rem) clamp(0.75rem, 1vw + 0.5rem, 1rem);
    gap: 0.625rem;
}
/* Square the whole LEFT edge so the gold accent reads as a clean straight spine
   (no rounded-corner arc clipped by overflow:hidden -- the "ear"). Left corners
   square, right corners stay soft. Scoped to section-header cards. */
.profile-card:has(> .profile-card-header.yellow) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
/* In-card section headers (ANY context, not just .sub-content) connect flush to
   the body and square their left corner to match the card's squared left edge.
   Base .profile-card-header sets 10px all-round + margin-bottom:15px (standalone
   intent); inside a card that rounds the wrong corners and detaches the band. */
.profile-card > .profile-card-header.yellow {
    border-radius: 0 12px 0 0;
    margin-bottom: 0;
}
.profile-card-header.yellow h3,
.profile-card-header.yellow h4,
.profile-card-header.yellow h5 {
    font-size: clamp(0.95rem, 0.3vw + 0.85rem, 1.05rem);
    font-weight: 600;
}

.profile-card-header.yellow .profile-badge {
    background: rgba(61,26,111,0.1);
    color: var(--brand-primary, #3d1a6f);
}

.profile-card-header.yellow .profile-card-actions .btn-primary {
    background: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff) !important;
}
.profile-card-header.yellow .profile-card-actions .btn-primary:hover {
    background: var(--brand-magenta, #7d1d61);
    border-color: var(--brand-magenta, #7d1d61);
}
.profile-card-header.yellow .profile-card-actions .btn-default {
    background: var(--bg-surface, #fff);
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--brand-primary, #3d1a6f) !important;
}
.profile-card-header.yellow .profile-card-actions .btn-default:hover {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff) !important;
}
.profile-card-header.yellow .profile-card-actions .btn-danger {
    background: var(--status-danger, #dc3545);
    border-color: var(--status-danger, #dc3545);
    color: var(--text-on-dark, #fff) !important;
}
.profile-card-header.yellow .profile-card-actions .btn-danger:hover {
    background: #c82333;
    border-color: #bd2130;
}

/* Header - Warm gradient variant (SMART / GOALS consistency) */
.profile-card-header.warm {
    background: linear-gradient(135deg, #f6d365 0%, #fda085 100%);
    color: var(--text-primary, #333);
    border-left: none;
}

.profile-card-header.warm h3,
.profile-card-header.warm h4,
.profile-card-header.warm h5 {
    color: var(--text-primary, #333);
}

.profile-card-header.warm .profile-badge {
    background: rgba(0,0,0,0.1);
    color: var(--text-primary, #333);
}

.profile-card-header.warm .profile-card-actions .btn {
    background: rgba(0,0,0,0.15);
    border-color: rgba(0,0,0,0.2);
    color: var(--text-primary, #333);
}

.profile-card-header.warm .profile-card-actions .btn:hover {
    background: rgba(0,0,0,0.25);
}

.profile-card-title {
    flex: 1;
}

.profile-card-title h3,
.profile-card-title h4,
.profile-card-title h5 {
    margin: 0 0 0.5rem 0;
    font-size: 1.35rem;
    font-weight: 600;
    color: inherit;
}

.profile-card-badges {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.profile-badge {
    background: rgba(255,255,255,0.2);
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
}

.profile-badge.type { background: var(--brand-accent, #fdb913); color: var(--text-primary, #333); }
.profile-badge.status { background: var(--status-success-bg, #d4edda); color: var(--status-success-text, #155724); }
.profile-badge.success { background: var(--status-success-bg, #d4edda); color: var(--status-success-text, #155724); }
.profile-badge.warning { background: var(--status-warning-bg, #ffc107); color: var(--text-primary, #333); }
.profile-badge.danger { background: var(--status-danger, #dc3545); color: var(--text-on-dark, #fff); }
.profile-badge.info { background: rgba(255,255,255,0.3); }

/* Light green badge override for Bootstrap bg-success */
.profile-field-value .badge.bg-success,
.badge.bg-success-light { background: var(--status-success-bg, #d4edda) !important; color: var(--status-success-text, #155724) !important; }

/* Purple badge for Custom Reports */
.badge.bg-purple { background: var(--brand-primary, #3d1a6f) !important; color: var(--text-on-dark, #fff) !important; }

/* Unified document type badges - consistent purple-tinted style */
.badge.doc-type-badge-unified {
    background: #f0ebf5 !important;
    color: var(--brand-primary, #3d1a6f) !important;
    font-weight: 500;
    border: 1px solid #d4c5e6;
}

/* Document status badges */
.badge.doc-status-positive {
    background: var(--brand-primary, #3d1a6f) !important;
    color: var(--text-on-dark, #fff) !important;
}
.badge.doc-status-neutral {
    background: var(--bg-muted, #e9ecef) !important;
    color: var(--text-body, #555) !important;
}
.badge.doc-status-negative {
    background: var(--status-danger-bg, #f8d7da) !important;
    color: var(--status-danger-text, #721c24) !important;
}

/* Header actions (Edit button) */
.profile-card-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.profile-card-actions .btn {
    padding: 0.5rem 1rem;
    border-radius: 8px;
    transition: all 0.2s ease;
}

/* Body */
.profile-card-body {
    padding: 1.5rem;
}

/* Sections within body */
.profile-section {
    margin-bottom: 1.5rem;
}

.profile-section:last-child {
    margin-bottom: 0;
}

.profile-section-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--brand-accent, #fdb913);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.profile-section-title i {
    color: var(--brand-accent, #fdb913);
    width: 20px;
}

/* Field grid - 2 columns */
.profile-fields {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

@media (max-width: 768px) {
    .profile-fields {
        grid-template-columns: 1fr;
    }
}

/* Individual field */
.profile-field {
    display: flex;
    flex-direction: column;
}

.profile-field.full-width {
    grid-column: 1 / -1;
}

.profile-field-label {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--text-tertiary, #888);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 0.25rem;
    white-space: nowrap;
}

.profile-field-value {
    font-size: 0.95rem;
    color: var(--text-primary, #333);
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
    min-height: 1.5rem;
}

.profile-field-value:empty::after {
    content: "-";
    color: #ccc;
}

.profile-field-value a {
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
}

.profile-field-value a:hover {
    text-decoration: underline;
}

/* Override form-control styling inside profile-field-value for read-only display */
.profile-field-value input.form-control,
.profile-field-value textarea.form-control,
.profile-field-value select.form-control,
.profile-field-value input[readonly],
.profile-field-value textarea[readonly] {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    height: auto;
    min-height: unset;
    font-size: 0.95rem;
    color: var(--text-primary, #333);
    cursor: default;
}

.profile-field-value input.form-control:focus,
.profile-field-value textarea.form-control:focus {
    background: transparent;
    border: none;
    box-shadow: none;
    outline: none;
}

/* Contact item with icon (phone, email, website) */
.profile-contact-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
}

.profile-contact-icon {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-primary, #3d1a6f);
    flex-shrink: 0;
}

.profile-contact-text {
    flex: 1;
}

.profile-contact-text .label {
    font-size: 0.7rem;
    color: var(--text-tertiary, #888);
    text-transform: uppercase;
}

.profile-contact-text .value {
    color: var(--text-primary, #333);
    font-size: 0.95rem;
}

/* Description/notes box */
.profile-description {
    background: var(--bg-subtle, #f8f9fa);
    padding: 1rem;
    border-radius: 8px;
    font-size: 0.95rem;
    color: var(--text-body, #555);
    line-height: 1.6;
}

/* Agreed-services line-item detail: no card chrome, tight bullet indent.
   Used by CampaignBuilder Brief tab > Agreed Services rendering. */
.bh-service-detail {
    font-size: 0.9rem;
    color: var(--text-body, #555);
    line-height: 1.5;
    padding-left: 1.75rem;
}
.bh-service-detail ul,
.bh-service-detail ol {
    margin: 0;
    padding-left: 1.25rem;
}
.bh-service-detail p:last-child {
    margin-bottom: 0;
}

/* Footer */
.profile-card-footer {
    padding: 1rem 1.5rem;
    background: var(--bg-subtle, #f8f9fa);
    border-top: 1px solid var(--border-light, #e9ecef);
    font-size: 0.8rem;
    color: var(--text-tertiary, #888);
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
}

/* Simple variant without purple header - just a white card with sections */
.profile-card.simple .profile-card-body {
    padding-top: 0;
}

.profile-card.simple > .profile-section:first-child {
    margin-top: 1.5rem;
}

/* Compact variant for smaller displays */
.profile-card.compact .profile-card-header {
    padding: 1rem;
}

.profile-card.compact .profile-card-body {
    padding: 1rem;
}

.profile-card.compact .profile-section {
    margin-bottom: 1rem;
}

.profile-card.compact .profile-fields {
    gap: 0.75rem;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .profile-card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .profile-card-actions {
        width: 100%;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.5rem;
    }

    .profile-card-actions > * {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    .profile-card-actions .btn {
        width: 100% !important;
        text-align: center;
    }

    .profile-card-actions .btn-group {
        display: flex !important;
    }

    .profile-card-actions .btn-group > .btn,
    .profile-card-actions .btn-group > label.btn {
        flex: 1 1 0 !important;
        width: auto !important;
    }

    .profile-card-footer {
        flex-direction: column;
        gap: 0.5rem;
    }
}

/* Preference Rows (theHive Preferences tab) */
.pref-row {
    display: flex;
    align-items: center;
    padding: 12px 14px;
    border-radius: 8px;
    gap: 14px;
    transition: background 0.15s;
    margin-bottom: 4px;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}

.pref-row:hover {
    background: var(--bg-purple-tint, #faf8ff);
    text-decoration: none;
    color: inherit;
}

.pref-row.featured {
    background: linear-gradient(135deg, var(--bg-purple-tint, #faf5ff) 0%, var(--bg-purple-tint, #f5f0ff) 100%);
    border: 1px solid #e8dff5;
    border-left: 4px solid var(--brand-accent, #fdb913);
    padding: 16px 14px;
    margin-bottom: 8px;
}

.pref-row.featured:hover {
    background: linear-gradient(135deg, #f3ecff 0%, #ede5ff 100%);
    border-color: #d4c5ee;
    border-left-color: var(--brand-accent, #fdb913);
}

.pref-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #f0ebf8;
    color: var(--brand-primary, #3d1a6f);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.pref-row.featured .pref-icon {
    background: linear-gradient(135deg, #3d1a6f, #5a2d9e);
    color: var(--text-on-dark, #fff);
}

.pref-text {
    flex: 1;
    min-width: 0;
}

.pref-text h4 {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: var(--text-primary, #333);
    line-height: 1.3;
    margin: 0;
}

.pref-row.featured .pref-text h4 {
    font-size: 0.9rem !important;
}

.pref-text p {
    font-size: 0.75rem !important;
    color: var(--text-muted, #999);
    margin: 1px 0 0;
    line-height: 1.3;
}

.pref-arrow {
    color: #ccc;
    font-size: 0.75rem;
    flex-shrink: 0;
}

.pref-row:hover .pref-arrow {
    color: var(--brand-primary, #3d1a6f);
}

.pref-badge {
    display: inline-block;
    background: var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.6rem;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 4px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-left: 8px;
    vertical-align: middle;
}

/* Preferences card container */
.preferences-card {
    max-width: 860px;
    margin: 2rem auto;
}

@media (max-width: 576px) {
    .pref-text p {
        display: none;
    }

    .pref-icon {
        width: 32px;
        height: 32px;
        font-size: 0.85rem;
    }
}

/* Preferences & Profile - Dark mode */
[data-theme="dark"] .pref-row:hover {
    background: var(--bg-muted, #1e1e1e);
}
[data-theme="dark"] .pref-row.featured {
    background: var(--bg-subtle, #1a1a1a);
    border-color: var(--border-default, #2a2a2a);
    border-left-color: var(--brand-accent-bright, #fdb913);
}
[data-theme="dark"] .pref-row.featured:hover {
    background: var(--bg-muted, #1e1e1e);
    border-color: var(--border-strong, #3a3a3a);
    border-left-color: var(--brand-accent-bright, #fdb913);
}
[data-theme="dark"] .pref-icon {
    background: var(--bg-muted, #1e1e1e);
}
[data-theme="dark"] .pref-arrow {
    color: var(--text-muted, #808080);
}
[data-theme="dark"] .pref-row:hover .pref-arrow {
    color: var(--brand-primary);
}

/* Preference toggle button groups (Dark Mode, Font Size) */
#darkModeToggle .btn-outline-warning,
#fontScaleToggle .btn-outline-warning {
    z-index: 1;
}

[data-theme="dark"] .profile-section-header {
    background: var(--bg-subtle, #1a1a1a);
}

[data-theme="dark"] .profile-section-header:hover {
    background: var(--bg-elevated, #242424);
}

/* Profile Card - Collapsible Sections */
.profile-section-collapsible {
    border-top: 1px solid var(--border-light, #e9ecef);
}

.profile-section-header {
    padding: 1rem 1.5rem;
    background: linear-gradient(135deg, var(--bg-subtle, var(--bg-subtle, var(--bg-subtle, #f8f9fa))) 0%, var(--bg-surface, var(--bg-surface, var(--bg-surface, #fff))) 100%);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    transition: background 0.2s ease;
}

.profile-section-header:hover {
    background: linear-gradient(135deg, #f0f1f3 0%, var(--bg-subtle, var(--bg-subtle, var(--bg-subtle, #f8f9fa))) 100%);
}

.profile-section-header i:first-child {
    color: var(--brand-accent, #fdb913);
}

.profile-section-header .fa-chevron-down {
    margin-left: auto;
    transition: transform 0.3s ease;
    color: var(--text-tertiary, #888);
}

.profile-section-header[aria-expanded="false"] .fa-chevron-down {
    transform: rotate(-90deg);
}

.profile-section-content {
    padding: 1rem 1.5rem;
}

.profile-section-content .profile-fields {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.profile-section-content .profile-field.full-width {
    grid-column: 1 / -1;
}

.profile-section-content .richtextwrapper {
    margin: 0;
}

@media (max-width: 768px) {
    .profile-section-content .profile-fields {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   EDM Email Groups - Modern View Styles
   ============================================= */

/* Stats Bar */
.edm-stats-bar {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.edm-stat-card {
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    padding: 1rem 1.5rem;
    flex: 1;
    min-width: 150px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border-left: 4px solid var(--brand-primary, #3d1a6f);
}

.edm-stat-value {
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--text-primary, #333);
}

.edm-stat-label {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    text-transform: uppercase;
}

/* Groups Sidebar */
.edm-groups-sidebar {
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    overflow: hidden;
}

.edm-groups-header {
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-bottom: 1px solid var(--border-light, #eee);
}

.edm-groups-header h5 {
    margin: 0;
    font-size: 1rem;
    color: var(--text-primary, #333);
}

.edm-groups-header h5 i {
    margin-right: 0.5rem;
    color: var(--brand-accent, #fdb913);
}

.edm-groups-list {
    max-height: 60vh;
    overflow-y: auto;
}

.edm-group-item {
    padding: 0.75rem 1rem;
    cursor: pointer;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
    transition: all 0.2s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.edm-group-item:hover {
    background: var(--bg-gold-tint, #fff5dc);
}

.edm-group-item.active {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
}

.edm-group-item.active .edm-group-count {
    background: rgba(255,255,255,0.2);
    color: var(--text-on-dark, #fff);
}

.edm-group-name {
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.edm-group-count {
    font-size: 0.75rem;
    background: var(--bg-muted, #eee);
    padding: 0.2rem 0.5rem;
    border-radius: 12px;
    color: var(--text-secondary, #666);
    margin-left: 0.5rem;
}

/* Group Panel */
.edm-group-panel {
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    padding: 1.5rem;
}

.edm-group-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border-light, #eee);
}

.edm-group-header h4 {
    margin: 0;
    font-size: 1.25rem;
    color: var(--text-primary, #333);
}

.edm-group-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.edm-group-toolbar {
    display: flex;
    gap: 1rem;
    align-items: center;
    flex-wrap: wrap;
}

/* No Group Selected State */
#edmNoGroupSelected {
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    padding: 3rem 2rem;
}

#edmNoGroupSelected i {
    color: #ccc;
}

/* Loading States */
.edm-loading {
    text-align: center;
    padding: 2rem;
    color: var(--text-secondary, #666);
}

.edm-loading i {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Mobile Responsiveness */
@media (max-width: 992px) {
    .edm-group-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .edm-group-actions {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {
    .edm-stats-bar {
        flex-direction: column;
    }

    .edm-stat-card {
        min-width: auto;
    }
}

/* ============================================
   LiveStoryActivity - New Chart Styles
   ============================================ */

/* KPI Progress Grid */
.kpi-progress-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
    padding: 0.5rem 0;
}

.kpi-progress-item {
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 8px;
    padding: 1rem;
    border: 1px solid var(--border-light, #e9ecef);
}

.kpi-progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.kpi-label {
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--text-primary, #333);
}

.kpi-values {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    font-weight: 600;
}

.kpi-progress-bar-container {
    background: var(--bg-muted, #e9ecef);
    border-radius: 4px;
    height: 8px;
    overflow: hidden;
}

.kpi-progress-bar {
    height: 100%;
    border-radius: 4px;
    transition: width 0.5s ease;
}


/* ============================================
   Legacy KPI tracker inner rules (2026-05-14: outer .kpi-card definition
   removed -- it conflicted with canonical .bh-kpi/.kpi-card system at top of
   file and no HTML actually wrapped progress trackers in .kpi-card -- they use
   .kpi-item). Inner rules retained as harmless dead CSS until callers audited.
   ============================================ */

.kpi-card .kpi-type {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--text-primary, #333);
    margin-bottom: 0.25rem;
}

.kpi-card .kpi-type i {
    margin-right: 0.35rem;
    color: var(--text-secondary, #666);
}

.kpi-card .kpi-values {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 0.8rem;
    margin-bottom: 0.35rem;
}

.kpi-card .kpi-values .kpi-actual {
    font-weight: 700;
    font-size: 1rem;
    color: var(--text-primary, #333);
}

.kpi-card .kpi-values .kpi-target {
    color: var(--text-tertiary, #888);
}

.kpi-card .kpi-values .kpi-pct {
    font-weight: 600;
    font-size: 0.85rem;
}

.kpi-card .kpi-progress {
    height: 6px;
    background: var(--bg-muted, #e9ecef);
    border-radius: 3px;
    overflow: hidden;
}

.kpi-card .kpi-progress .progress-bar {
    height: 100%;
    border-radius: 3px;
    transition: width 0.4s ease;
}

.kpi-card .kpi-progress .progress-bar.kpi-green {
    background-color: var(--status-success, #28a745);
}

.kpi-card .kpi-progress .progress-bar.kpi-amber {
    background-color: var(--status-warning-bg, #ffc107);
}

.kpi-card .kpi-progress .progress-bar.kpi-red {
    background-color: var(--status-danger, #dc3545);
}

.kpi-card .kpi-progress .progress-bar.kpi-grey {
    background-color: var(--text-secondary, #666);
}

.kpi-card .kpi-pct.kpi-green { color: var(--status-success, #28a745); }
.kpi-card .kpi-pct.kpi-amber { color: var(--status-warning-text, #856404); }
.kpi-card .kpi-pct.kpi-red { color: var(--status-danger, #dc3545); }
.kpi-card .kpi-pct.kpi-grey { color: var(--text-secondary, #666); }

/* KPI Card Grid layout for multi-column display */
.kpi-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 0.5rem;
}

.kpi-card-grid .kpi-card {
    margin-bottom: 0;
}

/* Compact variant for small containers (e.g. StoryDashboard cards) */
.kpi-card.kpi-card-compact {
    padding: 0.5rem 0.75rem;
}

.kpi-card.kpi-card-compact .kpi-type {
    font-size: 0.75rem;
}

.kpi-card.kpi-card-compact .kpi-values .kpi-actual {
    font-size: 0.85rem;
}

.kpi-card.kpi-card-compact .kpi-values {
    font-size: 0.75rem;
}

.kpi-card.kpi-card-compact .kpi-progress {
    height: 4px;
}

/* Print support for KPI cards (canonical .bh-kpi/.kpi-card) */
@media print {
    .bh-kpi,
    .kpi-card,
    .crm-stat-card,
    .pipeline-stat-card,
    .ra-stat-card,
    .bh-eng-summary-tile,
    .pitch-stat-card {
        border: 1px solid var(--border-default, #ddd) !important;
        box-shadow: none !important;
    }
    .kpi-card .kpi-progress .progress-bar.kpi-green { background-color: var(--status-success, #28a745) !important; }
    .kpi-card .kpi-progress .progress-bar.kpi-amber { background-color: var(--status-warning-bg, #ffc107) !important; }
    .kpi-card .kpi-progress .progress-bar.kpi-red { background-color: var(--status-danger, #dc3545) !important; }
}
/* Conversion Funnel Styling */
#conversionFunnelContainer .summary-section-title {
    margin-bottom: 1rem;
}

/* Station Size Chart Styling */
#stationSizeContainer .summary-section-title {
    margin-bottom: 1rem;
}

/* Cumulative Reach Chart */
#cumulativeReachContainer h3 {
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0.25rem;
}

#cumulativeReachContainer .text-muted {
    font-size: 0.85rem;
}

/* Spokesperson Chart */
#spokespersonContainer h3 {
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 1rem;
}

/* Email Gauge Styling */
#emailGaugeChart {
    max-height: 100px;
}

#emailGaugeValue {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* ================================================
   Contract Portfolio (CRMClients.aspx CONTRACTS tab)
   Created: 2025-12-31
   ================================================ */

/* Ensure contract grid columns stretch */
#contractsGrid .row {
    display: flex;
    flex-wrap: wrap;
}

#contractsGrid .row > [class*="col-"] {
    display: flex;
}

/* Contract Portfolio - Compact Row Layout */
.ct-list { background: var(--bg-surface, #fff); border-radius: 10px; border: 1px solid var(--border-default, #ddd); overflow: visible; }
.ct-row { display: flex; align-items: center; padding: 0.65rem 1.25rem; border-bottom: 1px solid var(--border-default, #e0e0e0); font-size: 0.85rem; transition: background 0.15s; }
.ct-row:last-child { border-bottom: none; }
.ct-row:hover { background: var(--bg-purple-tint, #f8f5ff); }
.ct-type { flex-shrink: 0; width: 90px; color: var(--text-tertiary, #888); font-size: 0.8rem; white-space: nowrap; }
.ct-type i { color: var(--brand-primary, #3d1a6f); margin-right: 4px; }
.ct-title { flex: 1; min-width: 0; font-weight: 600; color: var(--text-primary, #333); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-title a { color: var(--text-primary, #333); text-decoration: none; }
.ct-title a:hover { color: var(--brand-primary, #3d1a6f); text-decoration: underline; }
.ct-brand { flex-shrink: 0; width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.8rem; margin: 0 0.75rem; }
.ct-brand a { color: var(--brand-primary, #3d1a6f); text-decoration: none; }
.ct-brand a:hover { text-decoration: underline; }
.ct-expiry { flex-shrink: 0; width: 130px; color: var(--text-tertiary, #888); font-size: 0.8rem; white-space: nowrap; }
.ct-expiry i { margin-right: 3px; }
.ct-badge-ok { display: inline-flex; align-items: center; padding: 0.2rem 0.55rem; border-radius: 10px; font-size: 0.75rem; font-weight: 600; background: var(--status-success-bg, #d4edda); color: var(--status-success-text, #155724); flex-shrink: 0; }
.ct-badge-warn { display: inline-flex; align-items: center; padding: 0.2rem 0.55rem; border-radius: 10px; font-size: 0.75rem; font-weight: 600; background: var(--status-warning-bg, #fff3cd); color: var(--status-warning-text, #856404); flex-shrink: 0; }
.ct-badge-danger { display: inline-flex; align-items: center; padding: 0.2rem 0.55rem; border-radius: 10px; font-size: 0.75rem; font-weight: 600; background: var(--status-danger-bg, #f8d7da); color: var(--status-danger-text, #721c24); flex-shrink: 0; }
.ct-badge-muted { display: inline-flex; align-items: center; padding: 0.2rem 0.55rem; border-radius: 10px; font-size: 0.75rem; font-weight: 600; background: var(--border-light, #e9ecef); color: var(--text-secondary, #666); flex-shrink: 0; }
.ct-actions { flex-shrink: 0; margin-left: 1rem; }
@media (max-width: 990px) {
    .ct-row { flex-wrap: wrap; gap: 0.25rem 0.5rem; }
    .ct-type { width: auto; }
    .ct-brand { width: auto; margin: 0; }
    .ct-expiry { width: auto; }
}

/* ============================
   Talent Directory Modernization
   ============================ */

/* Scoped to Talent Directory cards so it doesn't leak to CampaignBuilder / InterviewCoverage talent cards (see .talent-banner block above). */
.crm-contact-card.talent-card .talent-photo {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    flex-shrink: 0;
}

.crm-contact-card.talent-card .talent-photo-placeholder {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-on-dark, #fff);
    font-size: 1.5rem;
    font-weight: 600;
    flex-shrink: 0;
}

/* Talent card layout overrides */
.crm-contact-card.talent-card {
    display: flex;
    flex-direction: column;
    height: 100%;  /* Fill grid cell height */
}

.crm-contact-card.talent-card .card-header {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    flex-shrink: 0;  /* Don't shrink header */
}

.crm-contact-card.talent-card .card-body {
    flex: 1;  /* Grow to fill available space */
}

.crm-contact-card.talent-card .card-actions {
    position: static;  /* Override absolute positioning from global .card-actions */
    flex-shrink: 0;  /* Don't shrink actions */
    margin-top: auto;  /* Push to bottom */
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--border-light, #e9ecef);
    justify-content: flex-end;
    flex-wrap: wrap;
}
.crm-contact-card.talent-card .card-actions .btn {
    width: auto;  /* Override fixed 32px width from global .card-actions .btn */
    height: auto;
    padding: 0.25rem 0.75rem;
}
@media (max-width: 576px) {
    .crm-contact-card.talent-card .card-actions {
        flex-direction: column;
    }
    .crm-contact-card.talent-card .card-actions .btn {
        width: 100%;
    }
}

.crm-contact-card.talent-card .talent-header-info {
    flex: 1;
}

.crm-contact-card.talent-card .talent-header-info .contact-name {
    margin-bottom: 0.25rem;
}

.crm-contact-card.talent-card .talent-header-info .contact-role {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    margin-bottom: 0.5rem;
}

/* Status indicator on talent cards */
.crm-contact-card.status-published {
    border-left: 4px solid var(--status-success, #28a745);
}

.crm-contact-card.status-private {
    border-left: 4px solid var(--text-secondary, #6c757d);
}

.crm-contact-card.status-unlisted {
    border-left: 4px solid var(--brand-accent, #fdb913);
}

/* Inbox stat card color */
.crm-stat-card.inbox-stat {
    border-left-color: var(--accent-purple, #6f42c1);
}

/* Alphabet filter pager */
.alphabet-pager {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25rem;
    margin: 1rem 0;
}

.alphabet-pager .btn {
    min-width: 36px;
    padding: 0.25rem 0.5rem;
    font-weight: 500;
    font-size: 0.875rem;
}

.alphabet-pager .btn.active,
.alphabet-pager .btn-primary {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    border-color: var(--brand-primary, #3d1a6f);
}

/* ============================
   Inbox Modernization
   ============================ */

/* Inbox cards container */
.inbox-cards-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Individual inbox message card */
.inbox-message-card {
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    padding: 1.25rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    border: 1px solid var(--border-light, #e9ecef);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.inbox-message-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}

.inbox-message-card .card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--border-light, #e9ecef);
}

.inbox-message-card .message-from {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.inbox-message-card .message-from i {
    color: var(--accent-purple, #6f42c1);
}

.inbox-message-card .message-date {
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
}

.inbox-message-card .card-body {
    margin-bottom: 0.75rem;
}

.inbox-message-card .requested-talent {
    font-size: 0.9rem;
    color: var(--text-primary, #333);
    margin-bottom: 0.5rem;
}

.inbox-message-card .requested-talent strong {
    color: var(--brand-primary, #3d1a6f);
}

.inbox-message-card .message-email {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    margin-bottom: 0.5rem;
}

.inbox-message-card .message-email i {
    color: var(--status-info, #17a2b8);
    margin-right: 0.25rem;
}

.inbox-message-card .message-text {
    font-size: 0.9rem;
    color: var(--text-primary, #333);
    background: var(--bg-subtle, #f8f9fa);
    padding: 0.75rem;
    border-radius: 6px;
    margin-top: 0.5rem;
    max-height: 150px;
    overflow-y: auto;
}

.inbox-message-card .card-actions {
    display: flex;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border-light, #e9ecef);
}

.inbox-message-card .card-actions .btn {
    flex: 1;
}

/* Deleted inbox styling */
.inbox-message-card.deleted {
    opacity: 0.7;
    background: var(--bg-subtle, #f8f9fa);
}

.inbox-message-card.deleted:hover {
    opacity: 1;
}

/* Empty state */
.inbox-empty-state {
    text-align: center;
    padding: 3rem;
    color: var(--text-secondary, #666);
}

.inbox-empty-state i {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.inbox-empty-state p {
    margin: 0;
    font-size: 1.1rem;
}

/* Pagination container */
.pagination-container {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}

.pagination-container .btn {
    margin: 0 0.125rem;
}

.pagination-container .btn.active {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
}

/* Stats collapsed button */
.crm-stats-collapsed {
    margin-bottom: 1rem;
}

/* Responsive adjustments for talent */
@media (max-width: 768px) {
    .talent-photo,
    .talent-photo-placeholder {
        width: 48px;
        height: 48px;
        font-size: 1.25rem;
    }

    .alphabet-pager .btn {
        min-width: 30px;
        padding: 0.2rem 0.4rem;
        font-size: 0.75rem;
    }

    .inbox-message-card .card-actions {
        flex-direction: column;
    }

    .inbox-message-card .card-actions .btn {
        width: 100%;
    }
}

/* ==========================================
   Toast Notifications
   ========================================== */
.toast-notification {
    position: fixed;
    bottom: 20px;
    right: 20px;
    padding: 12px 20px;
    border-radius: 8px;
    color: var(--text-on-dark, #fff);
    font-weight: 500;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    z-index: 10000;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.toast-notification.show {
    opacity: 1;
    transform: translateY(0);
}

.toast-notification.bg-success {
    background: var(--status-success, #28a745);
}

.toast-notification.bg-danger {
    background: var(--status-danger, #dc3545);
}

.toast-notification.bg-info {
    background: var(--status-info, #17a2b8);
}

.toast-notification i {
    font-size: 1.1rem;
}

/* ==========================================
   Email-Style Inbox Rows
   ========================================== */
.inbox-cards-container {
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    border: 1px solid var(--border-default, #e0e0e0);
    overflow: hidden;
}

.inbox-row {
    display: flex;
    align-items: flex-start;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
    background: var(--bg-surface, #fff);
    cursor: pointer;
    transition: background-color 0.15s ease;
    gap: 12px;
}

.inbox-row:last-child {
    border-bottom: none;
}

.inbox-row:hover {
    background: var(--bg-subtle, #f8f9fa);
}

.inbox-row.unread {
    background: var(--status-info-bg, #f0f7ff);
}

.inbox-row.unread:hover {
    background: #e5f0fb;
}

.inbox-row-avatar {
    flex-shrink: 0;
    color: var(--text-secondary, #666);
    width: 40px;
    text-align: center;
}

.inbox-row.unread .inbox-row-avatar {
    color: var(--brand-primary, #3d1a6f);
}

.inbox-row-content {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.inbox-row-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 2px;
}

.inbox-from {
    font-weight: 600;
    color: var(--text-primary, #333);
    font-size: 0.95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inbox-row.unread .inbox-from {
    font-weight: 700;
    color: var(--text-primary, #1a1a1a);
}

.inbox-date {
    font-size: 0.8rem;
    color: var(--text-tertiary, #888);
    flex-shrink: 0;
    margin-left: 12px;
}

.inbox-subject {
    font-size: 0.9rem;
    color: var(--text-body, #555);
    margin-bottom: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inbox-subject i {
    color: var(--text-muted, #999);
    margin-right: 4px;
    font-size: 0.85rem;
}

.inbox-row.unread .inbox-subject {
    font-weight: 500;
    color: var(--text-primary, #333);
}

.inbox-preview {
    font-size: 0.85rem;
    color: var(--text-tertiary, #888);
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* Mobile responsive */
@media (max-width: 576px) {
    .inbox-row {
        padding: 10px 12px;
    }

    .inbox-row-avatar {
        display: none;
    }

    .inbox-date {
        display: none;
    }

    .inbox-row-header::after {
        content: attr(data-date);
        font-size: 0.75rem;
        color: var(--text-muted, #999);
    }
}

/* ============================================================================
   BIPlanning Agreement Card View
   ============================================================================ */

.agreement-card {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    border: 1px solid var(--border-default, #e0e0e0);
}

.agreement-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}

.agreement-card-header {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border-left: 4px solid var(--brand-accent, #fdb913);
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.agreement-card .card-title {
    font-size: 0.95rem;
    margin-bottom: 0.5rem;
    color: var(--text-primary, #333);
}

.agreement-card .card-body {
    padding: 1rem;
}

.agreement-card .card-footer {
    padding: 0.5rem 1rem;
    border-top: 1px solid rgba(0,0,0,0.05);
}

.agreement-card .progress {
    background-color: var(--bg-muted, #e9ecef);
    border-radius: 4px;
}

/* View toggle button active state */
#btnGridView.active,
#btnCardView.active {
    background-color: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
}

#btnGridView:not(.active):hover,
#btnCardView:not(.active):hover {
    background-color: var(--bg-gold-tint, #fff5dc);
    color: var(--brand-primary, #3d1a6f);
}

/* Card view loading state */
#agreementCardsGrid .fa-spinner {
    color: var(--brand-primary, #3d1a6f);
}

/* Card view pagination */
#cardViewPagination .page-link {
    color: var(--brand-primary, #3d1a6f);
    border-color: var(--border-default, #dee2e6);
}

#cardViewPagination .page-item.active .page-link {
    background-color: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
}

#cardViewPagination .page-item.disabled .page-link {
    color: var(--text-secondary, #666);
}

/* ============================================
   Missing Interests Tool
   ============================================ */

.mi-stat-bar {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.mi-stat-card {
    flex: 1;
    min-width: 140px;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #e0e0e0);
    border-radius: 8px;
    padding: 1rem;
    text-align: center;
}

.mi-stat-value {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    line-height: 1.2;
}

.mi-stat-label {
    font-size: 0.8rem;
    color: var(--text-tertiary, #888);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mi-outlet-card {
    border: 1px solid var(--border-default, #e0e0e0);
    border-radius: 8px;
    margin-bottom: 1rem;
    overflow: hidden;
}

.mi-outlet-header {
    background: var(--bg-subtle, #f8f9fa);
    padding: 0.75rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border-default, #e0e0e0);
    cursor: pointer;
}

.mi-outlet-header:hover {
    background: var(--bg-muted, #f0f0f0);
}

.mi-outlet-body {
    padding: 0;
}

.mi-contact-row {
    display: flex;
    align-items: center;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
    gap: 0.75rem;
    transition: background 0.2s;
}

.mi-contact-row:last-child {
    border-bottom: none;
}

.mi-contact-row:hover {
    background: var(--bg-subtle, #fafafa);
}

.mi-contact-row.resolved {
    background: #f0fdf4;
    opacity: 0.7;
}

.mi-contact-row.resolved .mi-contact-name {
    text-decoration: line-through;
    color: var(--text-muted, #999);
}

.mi-contact-name {
    flex: 1;
    font-weight: 500;
}

.mi-contact-email {
    flex: 1;
    color: var(--text-tertiary, #888);
    font-size: 0.9em;
}

.mi-contact-actions {
    display: flex;
    gap: 0.4rem;
    align-items: center;
}

.mi-inline-editor {
    padding: 0.75rem 1rem;
    background: var(--bg-purple-tint, #f8f5ff);
    border-top: 1px solid #e0d5f5;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.mi-inline-editor .tag-input-wrapper {
    flex: 1;
    min-width: 200px;
}

.mi-bulk-panel {
    background: var(--bg-purple-tint, #f8f5ff);
    border: 1px solid #d5c8f0;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.mi-progress-bar {
    height: 4px;
    background: var(--bg-muted, #e0e0e0);
    border-radius: 2px;
    overflow: hidden;
    margin-top: 0.5rem;
}

.mi-progress-bar .fill {
    height: 100%;
    background: linear-gradient(90deg, #3d1a6f, #7c4dff);
    transition: width 0.3s ease;
}

/* ============================================
   Barcelona Principle Badges
   ============================================ */

.barcelona-bp {
    font-size: 0.55rem;
    vertical-align: super;
    margin-left: 4px;
    background: var(--accent-purple, #6f42c1);
    color: var(--text-on-dark, #fff);
    line-height: 1;
    padding: 2px 6px;
}
@media (max-width: 768px) {
    .barcelona-bp { display: none; }
}

/* Barcelona Sprint - Badge & Input Styles */
.badge-celebration {
    font-size: 1rem;
    padding: 8px 20px;
    background: linear-gradient(135deg, #fdb913, #e5a811);
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
}
.badge-barcelona-purple {
    font-size: 1rem;
    padding: 6px 16px;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
}
.badge-barcelona-gold {
    background: var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
}
.qs-cqi { width: 70px; }
.qs-sentiment-select { width: 110px; }
.ss-bar-hint {
    color: var(--text-secondary, #666);
    font-style: italic;
}

/* Barcelona Navigator - Persistent progress bar above tabs */
.barcelona-navigator {
    background: linear-gradient(135deg, #6f42c1 0%, #7e57c2 50%, #9575cd 100%);
    border-radius: 8px 8px 0 0;
    padding: 10px 20px;
    margin-bottom: 0;
    color: var(--text-on-dark, #fff);
}
.barcelona-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.barcelona-nav-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.barcelona-nav-icon {
    font-size: 1.2rem;
    opacity: 0.9;
}
.barcelona-nav-title {
    font-weight: 700;
    font-size: 0.8rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.barcelona-nav-version {
    font-size: 0.6rem;
    opacity: 0.7;
    background: rgba(255,255,255,0.15);
    padding: 1px 5px;
    border-radius: 3px;
    font-weight: 600;
}
.barcelona-nav-steps {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 1;
    justify-content: center;
}
.barcelona-nav-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    transition: background 0.15s ease;
}
.barcelona-nav-step:hover {
    background: rgba(255,255,255,0.15);
}
.barcelona-nav-dot {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.5);
    background: rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-on-dark, #fff);
    transition: all 0.3s ease;
}
.barcelona-nav-step.complete .barcelona-nav-dot {
    background: var(--status-success, #28a745);
    border-color: var(--status-success, #28a745);
    box-shadow: 0 0 6px rgba(40,167,69,0.5);
}
.barcelona-nav-step.partial .barcelona-nav-dot {
    background: rgba(40,167,69,0.4);
    border-color: rgba(40,167,69,0.7);
}
.barcelona-nav-label {
    font-size: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    opacity: 0.8;
    font-weight: 600;
    white-space: nowrap;
}
.barcelona-nav-step.complete .barcelona-nav-label {
    opacity: 1;
}
.barcelona-nav-connector {
    width: 12px;
    height: 2px;
    background: rgba(255,255,255,0.25);
    flex-shrink: 0;
    border-radius: 1px;
    transition: background 0.3s ease;
}
.barcelona-nav-connector.active {
    background: var(--status-success, #28a745);
}
.barcelona-nav-score {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    min-width: 50px;
}
.barcelona-nav-pct {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.1;
}
.barcelona-nav-pct-label {
    font-size: 0.55rem;
    text-transform: uppercase;
    opacity: 0.7;
    letter-spacing: 0.5px;
}
@media (max-width: 768px) {
    .barcelona-navigator { display: none; }
}

/* Barcelona Educational Intro Panel */
.barcelona-intro {
    background: linear-gradient(135deg, rgba(111,66,193,0.04) 0%, rgba(155,89,182,0.06) 100%);
    border: 1px solid rgba(111,66,193,0.12);
    border-radius: 8px;
    padding: 16px 20px;
    border-left: 4px solid var(--accent-purple, #6f42c1);
}
.barcelona-intro-header {
    display: flex;
    align-items: center;
    gap: 12px;
}
.barcelona-intro-icon {
    font-size: 1.8rem;
    color: var(--accent-purple, #6f42c1);
    opacity: 0.7;
}
.barcelona-intro-phase {
    padding: 8px 0;
}
.barcelona-intro-phase-label {
    font-weight: 700;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 2px;
}

/* Barcelona Wheel Component */
#barcelonaWheelContainer {
    max-width: 500px;
    margin: 0 auto;
    overflow: visible;
    padding: 20px 10px;
}
.barcelona-wheel {
    width: 100%;
    max-width: 380px;
    height: auto;
}
.barcelona-wheel .segment {
    transition: opacity 0.15s ease;
}
.barcelona-wheel .segment:hover {
    opacity: 0.85;
}
.barcelona-wheel-attribution {
    font-size: 0.7rem;
    color: var(--text-secondary, #666);
    margin-top: 0.5rem;
    margin-bottom: 0;
    font-style: italic;
}
.barcelona-checklist-grid {
    display: flex;
    justify-content: center;
    gap: 24px;
    max-width: 680px;
    margin: 0 auto;
}
.barcelona-checklist-col {
    flex: 0 1 auto;
    text-align: left;
}
.barcelona-checklist-phase {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 4px;
    border-bottom: 2px solid var(--brand-accent, #fdb913);
    padding-bottom: 2px;
}
.barcelona-checklist-item {
    font-size: 0.75rem;
    color: var(--text-body, #555);
    line-height: 1.7;
    white-space: nowrap;
}
.barcelona-checklist-item i { font-size: 0.7rem; }
.barcelona-checklist-item .bh-crit-weight {
    display: inline-block;
    margin-left: 6px;
    font-size: 0.62rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    background: var(--bg-purple-tint, #f3eefb);
    border-radius: 8px;
    padding: 0 6px;
    vertical-align: middle;
}
@media (max-width: 768px) {
    #barcelonaWheelContainer { max-width: 300px; }
    .barcelona-wheel { max-width: 280px; }
    .barcelona-checklist-grid {
        flex-wrap: wrap;
        gap: 12px 20px;
    }
}

/* Barcelona Drill-Down Panel */
.barcelona-drilldown {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 8px;
    margin-top: 12px;
    padding: 0;
    box-shadow: 0 2px 8px rgba(61,26,111,0.08);
    animation: drilldownSlide 0.25s ease-out;
}
@keyframes drilldownSlide {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}
.barcelona-drilldown-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: linear-gradient(135deg, #3d1a6f 0%, #5b2d99 100%);
    border-radius: 8px 8px 0 0;
    color: var(--text-on-dark, #fff);
}
.barcelona-drilldown-title {
    font-weight: 600;
    font-size: 0.9rem;
}
.barcelona-drilldown-bp {
    display: inline-block;
    background: rgba(253,185,19,0.9);
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.7rem;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 3px;
    margin-right: 4px;
}
.barcelona-drilldown-close {
    background: none;
    border: none;
    color: rgba(255,255,255,0.7);
    font-size: 1.2rem;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
}
.barcelona-drilldown-close:hover { color: var(--text-on-dark, #fff); }
.barcelona-drilldown-criteria {
    padding: 8px 14px;
    background: var(--bg-purple-tint, #f8f5fd);
    border-bottom: 1px solid var(--border-brand, #e0d4f0);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.barcelona-drilldown-criterion {
    font-size: 0.78rem;
    color: var(--text-body, #555);
}
.barcelona-drilldown-criterion i { margin-right: 2px; }
.barcelona-drilldown-items {
    padding: 10px 14px;
    max-height: 320px;
    overflow-y: auto;
}
.barcelona-drilldown-item {
    padding: 6px 0;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
}
.barcelona-drilldown-item:last-child { border-bottom: none; }
.barcelona-drilldown-item-label {
    font-size: 0.82rem;
    margin-bottom: 2px;
}
.barcelona-drilldown-item-value {
    font-size: 0.8rem;
    color: var(--text-body, #555);
    line-height: 1.4;
    white-space: pre-wrap;
    max-height: 80px;
    overflow-y: auto;
}
.barcelona-drilldown-item-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.82rem;
    gap: 8px;
}
.barcelona-drilldown-item-row > span:first-child {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.barcelona-drilldown-bar {
    height: 4px;
    background: var(--bg-muted, #e9ecef);
    border-radius: 2px;
    margin-top: 3px;
    overflow: hidden;
}
.barcelona-drilldown-bar-fill {
    height: 100%;
    border-radius: 2px;
    transition: width 0.3s ease;
}
.barcelona-drilldown-section-title {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 8px;
    padding-bottom: 4px;
    border-bottom: 2px solid var(--brand-accent, #fdb913);
}
.barcelona-wheel .segment.drilldown-active path {
    stroke: var(--brand-accent, #fdb913) !important;
    stroke-width: 3 !important;
}

/* Impact Tab Wheel Container */
#bp7WheelContainer {
    max-width: 500px;
    overflow: visible;
    padding: 20px 10px;
}
#tabimpact .profile-card-body .row {
    flex-wrap: nowrap;
}
#tabimpact .col-md-5 {
    min-width: 280px;
}

/* ============================================
   AskRalph Slide-Out Help Panel (T.23)
   ============================================ */

/* Trigger button */
#askRalphTrigger {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1030;
    width: 44px;
    height: 88px;
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    border: none;
    border-radius: 44px 0 0 44px;
    color: var(--text-on-dark, #fff);
    font-size: 1.25rem;
    cursor: pointer;
    box-shadow: -2px 2px 8px rgba(0,0,0,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 4px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
#askRalphTrigger:hover {
    width: 52px;
    box-shadow: -3px 3px 12px rgba(0,0,0,0.3);
}
#askRalphTrigger.hidden {
    transform: translateY(-50%) translateX(60px);
    pointer-events: none;
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Overlay */
.askralph-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.3);
    z-index: 1060;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.askralph-overlay.open {
    opacity: 1;
    pointer-events: auto;
}

/* Panel */
.askralph-panel {
    position: fixed;
    top: 0;
    right: -420px;
    width: 420px;
    height: 100%;
    z-index: 1070;
    background: var(--bg-surface, #fff);
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 20px rgba(0,0,0,0.15);
    transition: right 0.3s ease;
}
.askralph-panel.open {
    right: 0;
}

/* Header */
.askralph-header {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
    padding: 0.875rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}
.askralph-header-title {
    font-size: 1.1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
}
.askralph-header-actions {
    display: flex;
    gap: 0.5rem;
}
.askralph-header-btn {
    background: rgba(255,255,255,0.15);
    border: none;
    color: var(--text-on-dark, #fff);
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    transition: background 0.2s;
}
.askralph-header-btn:hover {
    background: rgba(255,255,255,0.3);
}

/* Messages area */
.askralph-messages {
    flex: 1;
    overflow-y: auto;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Welcome screen */
.askralph-welcome {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--text-body, #555);
}
.askralph-welcome-icon {
    font-size: 2.5rem;
    color: var(--brand-primary, #5a2d82);
    margin-bottom: 0.75rem;
}
.askralph-welcome h6 {
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    margin-bottom: 0.5rem;
}
.askralph-welcome p {
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 1.25rem;
}
.askralph-examples-label {
    font-size: 0.8rem;
    color: var(--text-tertiary, #888);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.5rem !important;
}
.askralph-example-btn {
    display: block;
    width: 100%;
    text-align: left;
    background: var(--bg-purple-tint, #f8f5fc);
    border: 1px solid #e5ddf0;
    border-radius: 8px;
    padding: 0.6rem 0.875rem;
    margin-bottom: 0.5rem;
    color: var(--brand-primary, #5a2d82);
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}
.askralph-example-btn:hover {
    background: #efe8f8;
    border-color: #c4b0d9;
}

/* Message bubbles */
.askralph-msg {
    display: flex;
    max-width: 85%;
}
.askralph-msg-user {
    align-self: flex-end;
}
.askralph-msg-assistant {
    align-self: flex-start;
}
.askralph-msg-bubble {
    padding: 0.625rem 0.875rem;
    border-radius: 12px;
    font-size: 0.9rem;
    line-height: 1.5;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.askralph-msg-user .askralph-msg-bubble {
    background: linear-gradient(135deg, #5a2d82 0%, #7b3fa0 100%);
    color: var(--text-on-dark, #fff);
    border-bottom-right-radius: 4px;
}
.askralph-msg-assistant .askralph-msg-bubble {
    background: var(--bg-subtle, #f8f9fa);
    color: var(--text-primary, #333);
    border: 1px solid var(--border-light, #e9ecef);
    border-bottom-left-radius: 4px;
}
.askralph-msg-assistant .askralph-msg-bubble code {
    background: var(--bg-muted, #e9ecef);
    padding: 0.1em 0.35em;
    border-radius: 3px;
    font-size: 0.85em;
}
.askralph-msg-assistant .askralph-msg-bubble ul {
    margin: 0.25rem 0;
    padding-left: 1.25rem;
}
.askralph-msg-assistant .askralph-msg-bubble li {
    margin-bottom: 0.2rem;
}
.askralph-msg-assistant .askralph-msg-bubble strong {
    color: var(--text-primary, #222);
}

/* Source attribution tags */
.askralph-sources {
    font-size: 0.75rem;
    color: var(--text-tertiary, #888);
    margin-top: 0.35rem;
    padding: 0 0.25rem;
    line-height: 1.6;
}
.askralph-source-tag {
    display: inline-block;
    background: var(--bg-muted, #eee);
    color: var(--text-body, #555);
    padding: 0.1rem 0.45rem;
    border-radius: 3px;
    font-size: 0.7rem;
    margin-right: 0.25rem;
    border: 1px solid var(--border-default, #ddd);
}

/* Typing indicator */
.askralph-typing {
    padding: 0.5rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--text-tertiary, #888);
    font-size: 0.8rem;
    flex-shrink: 0;
}
.askralph-typing-dots {
    display: flex;
    gap: 4px;
}
.askralph-typing-dots span {
    width: 6px;
    height: 6px;
    background: var(--brand-primary, #5a2d82);
    border-radius: 50%;
    opacity: 0.4;
    animation: askralph-bounce 1.4s ease-in-out infinite;
}
.askralph-typing-dots span:nth-child(2) {
    animation-delay: 0.2s;
}
.askralph-typing-dots span:nth-child(3) {
    animation-delay: 0.4s;
}
@keyframes askralph-bounce {
    0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
    30% { transform: translateY(-6px); opacity: 1; }
}

/* Input area */
.askralph-input-area {
    padding: 0.75rem;
    border-top: 1px solid var(--border-light, #e9ecef);
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    flex-shrink: 0;
    background: var(--bg-surface, #fff);
}
.askralph-input {
    flex: 1;
    border: 1px solid var(--border-default, #ddd);
    border-radius: 12px;
    padding: 0.5rem 0.875rem;
    font-size: 0.9rem;
    resize: none;
    outline: none;
    min-height: 38px;
    max-height: 120px;
    line-height: 1.4;
    font-family: inherit;
    transition: border-color 0.2s;
}
.askralph-input:focus {
    border-color: #5a2d82;
    box-shadow: 0 0 0 2px rgba(90,45,130,0.1);
}
.askralph-send-btn {
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 50%;
    background: linear-gradient(135deg, #5a2d82 0%, #7b3fa0 100%);
    color: var(--text-on-dark, #fff);
    font-size: 0.9rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: opacity 0.2s, transform 0.2s;
}
.askralph-send-btn:hover {
    opacity: 0.9;
    transform: scale(1.05);
}
.askralph-send-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

/* Mobile responsive */
@media (max-width: 576px) {
    .askralph-panel {
        width: 100%;
        right: -100%;
    }
    #askRalphTrigger {
        top: auto;
        bottom: 20px;
        right: 16px;
        transform: none;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        padding: 0;
    }
    #askRalphTrigger.hidden {
        transform: translateX(80px);
    }
}

/* ============================================
   Bootstrap Overrides
   ============================================ */

/* Increase .small font size for better readability (Bootstrap default is 80%) */
small,
.small {
    font-size: 87%;
}

/* ============================================
   Barcelona BP1-BP7 Outcomes Tab
   ============================================ */

.bp-retainer-label {
    min-width: 100px;
    font-weight: 600;
}

.bp-nav-pills .nav-link {
    font-size: 0.85rem;
    padding: 0.6rem 0.75rem;
    border-radius: 0;
    border-left: 3px solid transparent;
}

.bp-nav-pills .nav-link.active {
    border-left-color: var(--primary, #6f42c1);
}

.bp-section-header {
    margin-bottom: 0.25rem;
}

/* Barcelona Funnel - data-driven bars with benchmark outline */
.bp-funnel {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem 0;
    gap: 4px;
}

.bp-funnel-row {
    position: relative;
    border-radius: 4px;
    height: 44px;
    border: 2px dashed transparent;
}

/* Benchmark widths and dashed outlines (ideal funnel shape) */
.bp-funnel-row-1 { width: 100%; border-color: rgba(111, 66, 193, 0.25); }
.bp-funnel-row-2 { width: 85%;  border-color: rgba(61, 26, 111, 0.25); }
.bp-funnel-row-3 { width: 70%;  border-color: rgba(23, 162, 184, 0.25); }
.bp-funnel-row-4 { width: 55%;  border-color: rgba(40, 167, 69, 0.25); }

/* Actual performance fill - grows from the centre so the live funnel
   shape sits visually inside the dashed ideal-funnel outline */
.bp-funnel-fill {
    position: absolute;
    top: -2px;
    left: 50%;
    transform: translateX(-50%);
    height: calc(100% + 4px);
    border-radius: 4px;
    transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.bp-funnel-fill-1 { background: var(--accent-purple, #6f42c1); }
.bp-funnel-fill-2 { background: var(--brand-primary, #3d1a6f); }
.bp-funnel-fill-3 { background: var(--status-info, #17a2b8); }
.bp-funnel-fill-4 { background: var(--status-success, #28a745); }

.bp-funnel-label {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.bp-funnel-value {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    font-size: 0.9rem;
    font-weight: 600;
}

/* Light text for rows where fill covers nearly the whole bar */
.bp-funnel-row--light .bp-funnel-label,
.bp-funnel-row--light .bp-funnel-value {
    color: var(--text-on-dark, #fff);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

/* Dark text for rows with partial / empty fill; halo keeps it legible
   against either the transparent outline area or the coloured fill */
.bp-funnel-row--dark .bp-funnel-label,
.bp-funnel-row--dark .bp-funnel-value {
    color: var(--brand-primary, #3d1a6f);
    text-shadow: 0 0 3px rgba(255, 255, 255, 0.95), 0 0 2px rgba(255, 255, 255, 0.95);
}

/* Funnel legend */
.bp-funnel-legend {
    display: flex;
    justify-content: center;
    margin-top: 8px;
    font-size: 0.7rem;
    color: var(--text-muted, #999);
}
.bp-funnel-legend-dash {
    display: inline-block;
    width: 16px;
    height: 0;
    border-top: 2px dashed #999;
    vertical-align: middle;
    margin-right: 4px;
}

/* Completion Ring */
.bp-completion-ring {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: conic-gradient(
        var(--bp-color, #28a745) calc(var(--bp-pct, 0) * 1%),
        #e9ecef calc(var(--bp-pct, 0) * 1%)
    );
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.bp-ring-inner {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: var(--bg-surface, #fff);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* ============================================================
   Journo Intel Tab -- CRM Outlets
   ============================================================ */

.ji-stat-card {
    background: var(--bg-surface, #fff);
    border-radius: 6px;
    padding: 0.75rem 1rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

.ji-stat-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-primary, #2d3436);
    line-height: 1.2;
}

.ji-stat-label {
    font-size: 0.75rem;
    color: var(--text-secondary, #636e72);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ji-quick-import {
    background: linear-gradient(135deg, var(--bg-subtle, var(--bg-subtle, var(--bg-subtle, #f8f9fa))) 0%, #eef1f5 100%);
    border: 1px solid #e0e6ed;
    border-left: 4px solid var(--accent-purple, #6c5ce7);
    border-radius: 6px;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
}

.ji-country-pack {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)) 0%, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)) 100%);
    border: 1px solid #e0e6ed;
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 6px;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
}

.ji-country-pack-title {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
}

.ji-country-pack-active {
    color: var(--text-secondary, #636e72);
    font-size: 0.8rem;
}

.ji-country-card {
    display: inline-flex;
    align-items: center;
    background: var(--bg-surface, #fff);
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    gap: 0.75rem;
    transition: box-shadow 0.2s;
}

.ji-country-card:hover {
    box-shadow: 0 2px 8px rgba(61, 26, 111, 0.12);
}

.ji-country-code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    font-weight: 700;
    font-size: 0.75rem;
    flex-shrink: 0;
}

.ji-country-name {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
}

.ji-country-outlets {
    font-size: 0.8rem;
    color: var(--text-secondary, #636e72);
}

.ji-filter-bar {
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 6px;
    padding: 0.75rem;
}

.ji-bulk-bar {
    background: var(--status-warning-bg, #ffeaa7);
    border-radius: 6px;
    padding: 0.75rem 1rem;
}

.ji-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e9ecef);
    border-left: 4px solid var(--accent-purple, #6c5ce7);
    border-radius: 6px;
    margin-bottom: 0.5rem;
    transition: all 0.2s ease;
}

.ji-card:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    border-left-color: #5f3dc4;
}

.ji-card.expanded {
    border-left-color: #5f3dc4;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
}

.ji-card.dismissed {
    opacity: 0.65;
    border-left-color: var(--border-default, #b2bec3);
}

.ji-card.dismissed:hover {
    opacity: 0.85;
}

.ji-card-main {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    gap: 0.75rem;
}

.ji-card-select {
    flex-shrink: 0;
}

.ji-checkbox {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.ji-card-photo {
    flex-shrink: 0;
}

.ji-photo {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.ji-photo-placeholder {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--bg-muted, #dfe6e9);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary, #636e72);
    font-size: 1.2rem;
}

.ji-card-info {
    flex: 1;
    min-width: 0;
}

.ji-card-name {
    font-weight: 600;
    color: var(--text-primary, #2d3436);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ji-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.25rem;
}

.ji-pub-badge {
    background: #f0edfc;
    color: var(--brand-primary, #5f3dc4);
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.15rem 0.5rem;
    border-radius: 12px;
    white-space: nowrap;
}

.ji-card.dismissed .ji-pub-badge {
    background: #f1f2f6;
    color: var(--text-secondary, #636e72);
}

.ji-topics {
    font-size: 0.8rem;
    color: var(--accent-purple, #6c5ce7);
    font-weight: 500;
}

.ji-meta-item {
    font-size: 0.8rem;
    color: var(--text-secondary, #636e72);
}

.ji-card-actions {
    flex-shrink: 0;
    white-space: nowrap;
}

.ji-details {
    padding: 1rem 1rem 1rem 4.5rem;
    border-top: 1px solid #f1f2f6;
    background: var(--bg-subtle, #fafafa);
}

.ji-outlet-group {
    border: 1px solid #e1e4e8;
    border-radius: 8px;
    margin-bottom: 0.75rem;
    overflow: hidden;
    transition: box-shadow 0.2s;
}
.ji-outlet-group:hover {
    box-shadow: 0 2px 8px rgba(108,92,231,0.12);
}
.ji-outlet-header {
    padding: 0.75rem 1rem;
    background: var(--bg-surface, #fff);
    border-left: 4px solid var(--accent-purple, #6c5ce7);
    color: var(--text-primary, #2d3436);
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.ji-outlet-header .badge-light {
    background: #f0edfc;
    color: var(--brand-primary, #5f3dc4);
}
.ji-outlet-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
}
.ji-suggestion-hint {
    font-size: 0.8rem;
    color: var(--accent-purple, #6c5ce7);
    font-style: italic;
    white-space: nowrap;
}
.ji-outlet-chevron {
    transition: transform 0.2s;
    width: 14px;
}
.ji-outlet-actions {
    display: flex;
    gap: 0.25rem;
    flex-shrink: 0;
}
.ji-outlet-actions .btn {
    border-color: var(--border-default, #dfe6e9);
    color: var(--text-primary, #2d3436);
}
.ji-outlet-actions .btn:hover {
    background: #f5f6fa;
    border-color: var(--border-default, #b2bec3);
}
.ji-outlet-actions .btn-success {
    background: var(--status-success, #28a745);
    border-color: var(--status-success, #28a745);
    color: var(--text-on-dark, #fff);
}
.ji-outlet-actions .btn-success:hover {
    background: #218838;
    border-color: #1e7e34;
}
.ji-badge-existing {
    background: var(--status-success-bg, #d4edda);
    color: var(--status-success-text, #155724);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25em 0.6em;
    border-radius: 12px;
    border: 1px solid var(--status-success-border, #c3e6cb);
    letter-spacing: 0.02em;
}
.ji-badge-new {
    background: var(--status-warning-bg, #fff3cd);
    color: var(--status-warning-text, #856404);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25em 0.6em;
    border-radius: 12px;
    border: 1px solid var(--status-warning-border, #ffeeba);
    letter-spacing: 0.02em;
}
/* Shimmer animation for stats bar while loading */
.ji-stats-loading .ji-stat-card {
    position: relative;
    overflow: hidden;
}
.ji-stats-loading .ji-stat-value,
.ji-stats-loading .ji-stat-label {
    color: transparent;
}
.ji-stats-loading .ji-stat-card::after {
    content: '';
    position: absolute;
    top: 0; left: -100%; width: 200%; height: 100%;
    background: linear-gradient(90deg, transparent 25%, rgba(108,92,231,0.08) 50%, transparent 75%);
    animation: jiShimmer 1.5s infinite;
}
@keyframes jiShimmer {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(50%); }
}

/* Hide pub badges inside expanded outlet groups */
.ji-outlet-body .ji-pub-badge {
    display: none;
}

/* =========================================================================
   Pack-First JI Tab cards (2026-04-21)
   See .claude/commands/journointel-pack-first-redesign.md
   ========================================================================= */
.ji-pack-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #dee2e6);
    border-radius: 8px;
    padding: 1rem 1.1rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    height: 100%;
    display: flex;
    flex-direction: column;
}
.ji-pack-card.ji-pack-card-active {
    border-left: 4px solid var(--status-success-alt, #00b894);
}
.ji-pack-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.ji-pack-flag {
    font-family: "Outfit", Arial, sans-serif;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.05em;
    width: 2.6rem;
    height: 2.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: var(--brand-primary, #3d1a6f);
    color: #fff;
    flex-shrink: 0;
}
.ji-pack-title strong {
    color: var(--text-primary, #2d3436);
    display: block;
    line-height: 1.2;
}
.ji-pack-stats {
    color: var(--text-body, #555);
}
.ji-pack-actions {
    margin-top: auto;
}
/* .ji-pack-card dark-mode lift handled centrally in theme-tokens.css
   (Dark mode card elevation lift block). Do not duplicate here. */
[data-theme="dark"] .ji-pack-flag {
    background: var(--brand-primary, #8a5cbc);
}

@media (max-width: 768px) {
    .ji-card-main {
        flex-wrap: wrap;
    }
    .ji-card-info {
        width: 100%;
        order: 3;
    }
    .ji-card-name {
        white-space: normal;
    }
    .ji-details {
        padding-left: 1rem;
    }
}

/* ===========================================================
   PIPELINE BOTTLENECK & PROMOTION CONFIG -- BuzzHubAdmin JournoIntel
   =========================================================== */

/* --- Hero Summary Section --- */
.pipe-hero {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 1.5rem 2rem;
    background: var(--bg-purple-tint, #f0ebf7);
    border-radius: 12px;
    margin-bottom: 1.25rem;
}
.pipe-hero-ring {
    position: relative;
    flex-shrink: 0;
    width: 110px;
    height: 110px;
}
.pipe-hero-ring svg { transform: rotate(-90deg); }
.pipe-hero-ring-track { fill: none; stroke: var(--border-light, #e9ecef); stroke-width: 8; }
.pipe-hero-ring-fill { fill: none; stroke-width: 8; stroke-linecap: round; transition: stroke-dashoffset 0.8s ease; }
.pipe-hero-ring-pct {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--text-primary, #333);
    line-height: 1;
}
.pipe-hero-ring-pct small {
    font-size: 0.75rem;
    font-weight: 600;
    display: block;
    margin-top: 2px;
    color: var(--text-tertiary, #888);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.pipe-hero-stats {
    display: flex;
    gap: 2.5rem;
    flex-wrap: wrap;
}
.pipe-hero-stat { text-align: left; }
.pipe-hero-stat-value {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.1;
    color: var(--brand-primary, #3d1a6f);
}
.pipe-hero-stat-value--success { color: var(--status-success, #28a745); }
.pipe-hero-stat-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--text-tertiary, #888);
    margin-top: 2px;
}

/* --- Pipeline Flow Container --- */
.pipe-flow { display: flex; flex-direction: column; gap: 0; }

/* --- Stage Connector Arrow --- */
.pipe-connector {
    display: flex;
    justify-content: center;
    padding: 0;
    line-height: 0;
    color: var(--border-strong, #ccc);
    font-size: 1rem;
}
.pipe-connector i { opacity: 0.5; }

/* --- Individual Stage Card --- */
.pipe-stage {
    display: grid;
    grid-template-columns: 56px 170px minmax(0, 1fr) 200px;
    align-items: stretch;
    border-radius: 10px;
    background: var(--bg-surface, #fff);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0,0,0,0.08));
    overflow: hidden;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.pipe-stage:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md, 0 4px 12px rgba(0,0,0,0.12));
}

/* Stage number + icon sidebar */
.pipe-stage-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    padding: 0.75rem 0;
    color: #fff;
    gap: 4px;
}
.pipe-stage-badge-num {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.85;
}
.pipe-stage-badge i { font-size: 1.25rem; }

/* Stage header area (title + subtitle) */
.pipe-stage-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0.75rem 1rem;
    min-width: 170px;
    border-right: 1px solid var(--border-light, #e9ecef);
}
.pipe-stage-title {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--text-primary, #333);
}
.pipe-stage-subtitle {
    font-size: 0.68rem;
    color: var(--text-muted, #999);
    margin-top: 2px;
}

/* Stage metrics row */
.pipe-stage-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    gap: 0;
    padding: 0;
}
.pipe-metric { text-align: left; padding: 0.75rem 1rem; }
.pipe-metric-val {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text-primary, #333);
    line-height: 1.2;
}
.pipe-metric-val--warn { color: var(--brand-danger, #ed174c) !important; }
.pipe-metric-lbl {
    font-size: 0.68rem;
    color: var(--text-muted, #999);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-top: 1px;
}

/* Bottleneck alert banner - PROMINENT */
.pipe-bottleneck {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(237,23,76,0.08);
    border-left: 3px solid var(--brand-danger, #ed174c);
    min-width: 160px;
    animation: pipe-pulse 2s ease-in-out infinite;
}
.pipe-bottleneck i {
    font-size: 1rem;
    color: var(--brand-danger, #ed174c);
}
.pipe-bottleneck-label {
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--brand-danger, #ed174c);
}
.pipe-bottleneck-detail {
    font-size: 0.7rem;
    color: var(--status-danger-text, #721c24);
    line-height: 1.3;
}

@keyframes pipe-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.8; }
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .pipe-hero {
        flex-direction: column;
        text-align: center;
        padding: 1rem;
        gap: 1rem;
    }
    .pipe-hero-stats { justify-content: center; gap: 1.5rem; }
    .pipe-hero-stat { text-align: center; }
    .pipe-stage {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    .pipe-stage-badge {
        flex-direction: row;
        min-width: auto;
        padding: 0.5rem 1rem;
        border-radius: 10px 10px 0 0;
    }
    .pipe-stage-header {
        min-width: auto;
        border-right: none;
        border-bottom: 1px solid var(--border-light, #e9ecef);
        padding: 0.5rem 1rem;
    }
    .pipe-stage-metrics {
        grid-template-columns: repeat(2, 1fr);
        padding: 0;
    }
    .pipe-bottleneck {
        min-width: auto;
        border-left: none;
        border-top: 3px solid var(--brand-danger, #ed174c);
    }
}

/* --- Dark mode overrides for pipeline --- */
[data-theme="dark"] .pipe-hero { background: var(--bg-purple-tint, #1e1430); }
[data-theme="dark"] .pipe-stage {
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0,0,0,0.3));
}
[data-theme="dark"] .pipe-stage:hover {
    box-shadow: var(--shadow-md, 0 4px 12px rgba(0,0,0,0.4));
}
[data-theme="dark"] .pipe-bottleneck {
    background: var(--status-danger-bg, #2a0f12);
}
[data-theme="dark"] .pipe-stage-badge { opacity: 0.95; }

/* --- Promotion Config (shared classes) --- */
.promo-stat-value { font-size: 1.4rem; font-weight: 700; color: var(--brand-primary, #3d1a6f); }
.promo-stat-box { background: var(--bg-muted, #f8f9fa); border-radius: 8px; }
[data-theme="dark"] .promo-stat-box { background: var(--bg-subtle, #1a1a1a); }

/* ===========================================================
   MODE CARDS -- Wizard & Settings mode selection
   =========================================================== */
.mode-card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-top: 1.5rem;
}

.mode-card {
    border: 2px solid var(--border-default, #dee2e6);
    border-radius: 10px;
    padding: 1.25rem;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    background: var(--bg-surface, #fff);
    position: relative;
}

.mode-card:hover {
    border-color: var(--brand-accent, #fdb913);
    box-shadow: 0 2px 8px rgba(253, 185, 19, 0.2);
}

.mode-card.selected {
    border-color: var(--brand-primary, #3d1a6f);
    background: #f3edf9;
    box-shadow: 0 2px 12px rgba(61, 26, 111, 0.15);
}

.mode-card.selected::after {
    content: '\f058';
    font-family: 'Font Awesome 7 Pro';
    font-weight: 900;
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    color: var(--brand-primary, #3d1a6f);
    font-size: 1.1rem;
}

.mode-card-title {
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0.35rem;
}

.mode-card-desc {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    line-height: 1.4;
}

.mode-card-suited {
    font-size: 0.75rem;
    color: var(--brand-primary, #3d1a6f);
    font-style: italic;
    margin-top: 0.5rem;
    line-height: 1.3;
}

.mode-card-badge {
    display: inline-block;
    margin-top: 0.5rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--status-warning-text, #856404);
    background: var(--status-warning-bg, #fff3cd);
    padding: 2px 8px;
    border-radius: 10px;
}

@media (max-width: 576px) {
    .mode-card-grid {
        grid-template-columns: 1fr;
    }
}

/* Mode cards - Dark mode */
[data-theme="dark"] .mode-card.selected {
    background: var(--bg-purple-tint, #1e1430);
}

/* ============================================================================
   News Agenda Widget
   ============================================================================ */
.news-spiking-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 6px 0;
    margin-bottom: 6px;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
}
.news-spike-pill {
    display: inline-block;
    font-size: 0.68rem;
    padding: 2px 8px;
    border-radius: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.news-spike-pill.spiking-hot { background: var(--bg-danger-subtle, #fdecea); color: var(--status-danger, #c0392b); }
.news-spike-pill.spiking-warm { background: var(--bg-purple-tint, #f0ecfc); color: var(--accent-purple, #5b4cbe); }
.news-spike-pill.spiking-cool { background: #f5f6fa; color: var(--text-muted, #a0a8b4); }
.news-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 8px;
    border-bottom: 2px solid var(--border-light, #f0f0f0);
    align-items: center;
}
.news-tab {
    background: none;
    border: none;
    padding: 6px 14px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted, #999);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
}
.news-tab:hover { color: var(--accent-purple, #6c5ce7); }
.news-tab.active { color: var(--accent-purple, #6c5ce7); border-bottom-color: var(--accent-purple, #6c5ce7); }
.news-article-count {
    margin-left: auto;
    font-size: 0.65rem;
    color: var(--text-muted, #b2bec3);
}

/* Story Clusters */
.story-cluster {
    padding: 8px 0;
    border-bottom: 1px solid var(--border-light, #f5f5f5);
}
.story-cluster:last-child { border-bottom: none; }
.story-cluster.multi-outlet {
    background: var(--bg-purple-tint, #fafaff);
    margin: 0 -12px;
    padding: 8px 12px;
    border-left: 3px solid var(--accent-purple, #6c5ce7);
    border-bottom: 1px solid var(--border-brand, #ededfa);
}
.cluster-main {
    display: flex;
    gap: 8px;
    align-items: flex-start;
}
.cluster-flag {
    font-size: 0.85rem;
    flex-shrink: 0;
    margin-top: 2px;
}
.cluster-content {
    flex: 1;
    min-width: 0;
}
.cluster-headline {
    font-weight: 600;
    font-size: 0.82rem;
    line-height: 1.3;
    color: var(--text-primary, #2d3436);
    text-decoration: none;
    display: block;
}
.cluster-headline:hover { color: var(--accent-purple, #6c5ce7); text-decoration: none; }
.cluster-meta {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 3px;
    flex-wrap: wrap;
}
.cluster-outlet-badge {
    background: var(--bg-purple-tint, #f0ecfc);
    color: var(--accent-purple, #5b4cbe);
    font-size: 0.62rem;
    padding: 1px 6px;
    border-radius: 8px;
    font-weight: 600;
}
.cluster-tier1-badge {
    background: #e6f9f3;
    color: #0d8a6a;
    font-size: 0.62rem;
    padding: 1px 6px;
    border-radius: 8px;
    font-weight: 600;
}
.cluster-topic {
    font-size: 0.68rem;
    color: var(--text-secondary, #636e72);
    font-style: italic;
}
.cluster-time {
    font-size: 0.68rem;
    color: var(--text-muted, #b2bec3);
}
.cluster-outlets {
    font-size: 0.68rem;
    color: var(--text-muted, #999);
    margin-top: 2px;
}
.cluster-expand {
    font-size: 0.68rem;
    color: var(--accent-purple, #6c5ce7);
    cursor: pointer;
    margin-top: 4px;
    user-select: none;
}
.cluster-expand:hover { text-decoration: underline; }
.cluster-articles-list {
    margin-top: 4px;
    padding-left: 8px;
    border-left: 2px solid var(--border-default, #dfe6e9);
}
.cluster-sub-article { padding: 3px 0; }
.cluster-sub-article a {
    font-size: 0.75rem;
    color: var(--text-primary, #2d3436);
    text-decoration: none;
    display: block;
}
.cluster-sub-article a:hover { color: var(--accent-purple, #6c5ce7); }
.cluster-sub-article .sub-pub {
    font-size: 0.62rem;
    color: var(--text-muted, #b2bec3);
    display: block;
}

/* News Agenda hover/focus preview popover (shared, body-appended, non-interactive) */
.news-preview-popover {
    position: fixed;
    z-index: 1040;
    max-width: 340px;
    min-width: 200px;
    padding: 10px 12px;
    background: var(--bg-card, #ffffff);
    color: var(--text-primary, #2d3436);
    border: 1px solid var(--border-brand, #ededfa);
    border-left: 3px solid var(--accent-purple, #6c5ce7);
    border-radius: 8px;
    box-shadow: 0 6px 24px rgba(45, 26, 84, 0.18);
    font-size: 0.78rem;
    line-height: 1.4;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(2px);
    transition: opacity 0.12s ease, transform 0.12s ease;
}
.news-preview-popover.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.news-preview-body { color: var(--text-primary, #2d3436); }
.news-preview-meta {
    margin-top: 6px;
    padding-top: 5px;
    border-top: 1px solid var(--border-light, #f0f0f5);
    font-size: 0.68rem;
    color: var(--text-muted, #7a7a8c);
}

/* Outlet Groups (By Outlet tab) */
.outlet-group { margin-bottom: 10px; }
.outlet-name {
    font-weight: 700;
    font-size: 0.78rem;
    text-transform: uppercase;
    color: var(--text-primary, #2d3436);
    padding-bottom: 3px;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
    margin-bottom: 3px;
}
.outlet-headline {
    padding: 2px 0;
}
.outlet-headline a {
    font-size: 0.78rem;
    color: var(--text-primary, #2d3436);
    text-decoration: none;
    line-height: 1.35;
}
.outlet-headline a:hover { color: var(--accent-purple, #6c5ce7); }
.outlet-headline a::before {
    content: "\2022";
    margin-right: 6px;
    color: var(--text-muted, #b2bec3);
}

/* Nav dropdown: prevent double dividers when gated panels hide */
.dropdown-menu > li.divider:first-child,
.dropdown-menu > li.divider:last-child { display: none; }

/* L-04: Contextual empty states -- shared across pages */
.contextual-empty-state {
    text-align: center;
    padding: 48px 24px;
    background: var(--bg-gold-tint, #fff5dc);
    border: 2px dashed var(--brand-accent, #fdb913);
    border-radius: 10px;
    margin: 16px 0;
}
.contextual-empty-state .empty-icon {
    font-size: 2.5rem;
    color: var(--brand-accent, #fdb913);
    margin-bottom: 16px;
}
.contextual-empty-state h5 {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    margin-bottom: 8px;
}
.contextual-empty-state p {
    color: var(--text-secondary, #555);
    margin: 0 auto 16px;
    max-width: 480px;
    font-size: 0.92rem;
    line-height: 1.5;
}
.contextual-empty-state .btn {
    margin-top: 4px;
}

/* reCAPTCHA v2 fallback overlay */
#captcha-v2-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.55);
    z-index: 99999;
    justify-content: center;
    align-items: center;
}
.captcha-v2-modal {
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    padding: 28px 24px 20px;
    max-width: 420px;
    text-align: center;
    box-shadow: 0 8px 32px rgba(0,0,0,0.25);
    animation: captchaFadeIn 0.2s ease-out;
}
.captcha-v2-header h4 {
    margin: 0 0 6px;
    font-size: 1.1rem;
    color: var(--text-primary, #333);
}
.captcha-v2-header p {
    color: var(--text-secondary, #666);
    margin: 0 0 18px;
    font-size: 0.9rem;
}
.captcha-v2-footer {
    margin-top: 14px;
}
@keyframes captchaFadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to   { opacity: 1; transform: scale(1); }
}

/* Contact list tables (shared across EmailPitching, PhonePitching)
   Aligned to .table-modern design system reference */
.ep-contacts-table thead tr,
.pp-contacts-table thead tr {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
}
.ep-contacts-table thead th,
.pp-contacts-table thead th {
    font-weight: 500;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.65rem 0.75rem;
    border: none;
    border-bottom: 3px solid var(--brand-accent, #fdb913);
    white-space: nowrap;
    position: sticky;
    top: 0;
    z-index: 1;
}
.ep-contacts-table tbody tr,
.pp-contacts-table tbody tr {
    cursor: pointer;
    transition: background-color 0.15s ease;
}
.ep-contacts-table tbody tr:nth-child(even),
.pp-contacts-table tbody tr:nth-child(even) {
    background-color: var(--bg-subtle, #fafafa);
}
.ep-contacts-table tbody tr:hover,
.pp-contacts-table tbody tr:hover {
    background-color: var(--bg-purple-tint, #f0ebf7);
}
.ep-contacts-table tbody tr.gv-row-selected,
.pp-contacts-table tbody tr.gv-row-selected,
.edm-contacts-table tbody tr.gv-row-selected,
.edm-excl-table tbody tr.gv-row-selected {
    background-color: #e8dff5 !important;
}
[data-theme="dark"] .edm-excl-table tbody tr.gv-row-selected {
    background-color: #3d2466 !important;
    color: #fff !important;
}
.ep-contacts-table tbody td,
.pp-contacts-table tbody td {
    vertical-align: middle;
    font-size: 0.9rem;
    padding: 0.55rem 0.75rem;
    border: none;
    border-bottom: 1px solid var(--border-light, #eee);
    color: var(--text-primary, #333);
}

/* S-48: Engagement signals in EmailPitching contact grid */
.ep-engagement-cell { font-size: 0.8rem; line-height: 1.8; white-space: nowrap; min-width: 120px; }
.ep-eng-sent { color: var(--text-body, #555); display: block; margin-bottom: 2px; }
.ep-eng-sent i { color: var(--brand-primary, #3d1a6f); font-size: 0.7rem; margin-right: 3px; }
.ep-eng-opened { background: var(--status-success-bg, #d4edda); color: var(--status-success-text, #155724); font-size: 0.7rem; font-weight: 500; padding: 2px 8px; border-radius: 10px; margin-right: 4px; }
.ep-eng-noopen { background: var(--bg-muted, #f0f0f0); color: var(--text-tertiary, #888); font-size: 0.7rem; font-weight: 400; padding: 2px 8px; border-radius: 10px; margin-right: 4px; }
.ep-eng-dl { color: var(--brand-primary, #3d1a6f); font-weight: 500; margin-left: 4px; }
.ep-eng-dl i { font-size: 0.7rem; margin-right: 2px; }
.ep-eng-new { color: var(--text-muted, #aaa); font-style: italic; font-size: 0.8rem; }

/* EDM Email Groups - Compact row layout with drag-select + infinite scroll */
.edm-scroll-container { max-height: calc(100vh - 320px); overflow-y: auto; overflow-x: hidden; }
.edm-list { background: var(--bg-surface, #fff); border-radius: 10px; border: 1px solid var(--border-default, #ddd); overflow: hidden; user-select: none; }
.edm-list-header { display: flex; align-items: center; padding: 0.6rem 1rem; background: var(--bg-purple-tint, #f0ebf7); color: var(--brand-primary, #3d1a6f); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 2px solid var(--border-brand, #e0d4f0); }
.edm-row { display: flex; align-items: center; padding: 0.55rem 1rem; border-bottom: 1px solid var(--border-light, #f0f0f0); font-size: 0.85rem; cursor: pointer; transition: background 0.15s; }
.edm-row:last-child { border-bottom: none; }
.edm-row:hover { background: var(--bg-purple-tint, #f0ebf7); }
.edm-row.edm-row-selected { background: #e8dff5 !important; }
.edm-row:nth-child(even) { background-color: var(--bg-subtle, #fafafa); }
.edm-row:nth-child(even):hover { background: var(--bg-purple-tint, #f0ebf7); }
.edm-row:nth-child(even).edm-row-selected { background: #e8dff5 !important; }
.edm-col-name { flex: 1; min-width: 120px; font-weight: 600; color: var(--text-primary, #333); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.edm-col-email { flex: 1.3; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.edm-col-email a { color: var(--brand-primary, #3d1a6f); text-decoration: none; }
.edm-col-email a:hover { text-decoration: underline; }
.edm-col-brand { flex-shrink: 0; width: 140px; color: var(--text-body, #555); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.edm-col-state { flex-shrink: 0; width: 50px; color: var(--text-tertiary, #888); text-align: center; }
.edm-col-pos { flex: 0.8; min-width: 0; color: var(--text-secondary, #666); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.edm-col-act { flex-shrink: 0; width: 30px; text-align: center; }
.edm-col-act a { color: var(--text-muted, #999); opacity: 0.7; transition: opacity 0.15s; }
.edm-col-act a:hover { color: var(--status-danger, #dc3545); opacity: 1; }
.edm-badge-ok { display: inline-block; font-size: 0.7rem; padding: 1px 6px; border-radius: 8px; background: var(--status-success-bg, #d4edda); color: var(--status-success-text, #155724); margin-left: 4px; }
.edm-badge-muted { display: inline-block; font-size: 0.7rem; padding: 1px 6px; border-radius: 8px; background: #e2e3e5; color: var(--text-secondary, #666); margin-left: 4px; }
@media (max-width: 990px) {
    .edm-list-header { display: none; }
    .edm-row {
        flex-wrap: wrap;
        gap: 0.15rem 0.5rem;
        padding: 0.5rem 36px 0.5rem 0.75rem;
        position: relative;
    }
    .edm-col-name { flex: 0 0 100%; }
    .edm-col-email { flex: 1 1 100%; min-width: 0; }
    .edm-col-brand { flex: 0 0 auto; width: auto; max-width: 100%; }
    .edm-col-state { flex: 0 0 auto; width: auto; text-align: left; }
    .edm-col-pos { flex: 0 0 auto; min-width: 0; }
    .edm-col-act { position: absolute; top: 0.5rem; right: 0.5rem; width: auto; }
}
/* Blocked Emails compact rows */
.blocked-scroll-container { max-height: calc(100vh - 320px); overflow-y: auto; overflow-x: hidden; }
.blocked-list { background: var(--bg-surface, #fff); border-radius: 10px; border: 1px solid var(--border-default, #ddd); overflow: hidden; }
.blocked-list-header { display: flex; align-items: center; padding: 0.6rem 1rem; background: var(--bg-purple-tint, #f0ebf7); color: var(--brand-primary, #3d1a6f); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 2px solid var(--border-brand, #e0d4f0); }
.blocked-row { display: flex; align-items: center; padding: 0.55rem 1rem; border-bottom: 1px solid var(--border-light, #f0f0f0); font-size: 0.85rem; transition: background 0.15s; }
.blocked-row:last-child { border-bottom: none; }
.blocked-row:hover { background: var(--bg-purple-tint, #f0ebf7); }
.blocked-row:nth-child(even) { background-color: var(--bg-subtle, #fafafa); }
.blocked-row:nth-child(even):hover { background: var(--bg-purple-tint, #f0ebf7); }
.bl-col-name { flex: 0 0 140px; font-weight: 600; color: var(--text-primary, #333); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bl-col-email { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-body, #555); }
.bl-col-brand { flex: 0 0 160px; color: var(--text-body, #555); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bl-col-loc { flex: 0 0 100px; color: var(--text-tertiary, #888); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bl-col-reason { flex: 0 0 140px; }
.bl-col-actions { flex: 0 0 80px; text-align: center; }
.bl-badge-bounced { display: inline-block; font-size: 0.7rem; padding: 1px 8px; border-radius: 8px; background: var(--bg-danger-subtle, #fde8ed); color: var(--status-danger-text, #a71d2a); }
.bl-badge-spam { display: inline-block; font-size: 0.7rem; padding: 1px 8px; border-radius: 8px; background: var(--status-warning-bg, #fff3cd); color: var(--status-warning-text, #856404); }
@media (max-width: 990px) {
    .blocked-row, .blocked-list-header { flex-wrap: wrap; gap: 0.15rem 0.5rem; padding: 0.5rem 0.75rem; }
    .bl-col-name { flex: 0 0 100%; }
    .bl-col-brand, .bl-col-loc { flex: 0 0 auto; }
}

/* Selected count badge - purple pill */
.contact-selected-badge {
    background-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    font-size: 0.85rem;
    border-radius: 10px;
    padding: 4px 12px;
}
/* Contact grid scroll container */
.contact-grid-scroll {
    overflow-y: visible;
    border-radius: 8px;
    border: 1px solid var(--border-default, #e0e0e0);
}
.contact-grid-scroll::-webkit-scrollbar {
    width: 6px;
}
.contact-grid-scroll::-webkit-scrollbar-track {
    background: var(--bg-muted, #f4f4f4);
    border-radius: 3px;
}
.contact-grid-scroll::-webkit-scrollbar-thumb {
    background: var(--border-strong, #ccc);
    border-radius: 3px;
}

/* -- Email Group Manager (MailManagement) -- */
.group-members-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.group-add-btn {
    font-size: 0.8rem;
    padding: 2px 10px;
    border-radius: 14px;
    color: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    white-space: nowrap;
}
.group-add-btn:hover {
    background-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
}
.group-member-chip {
    display: inline-flex;
    align-items: center;
    background: var(--bg-purple-tint, #f0edf5);
    color: var(--brand-primary, #3d1a6f);
    border: 1px solid #ddd5e8;
    border-radius: 14px;
    padding: 2px 8px 2px 10px;
    font-size: 0.8rem;
    line-height: 1.4;
}
.group-member-email {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.group-member-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin-left: 4px;
    border-radius: 50%;
    font-size: 0.75rem;
    line-height: 1;
    color: var(--text-muted, #999);
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    text-decoration: none;
}
.group-member-remove:hover {
    color: var(--text-on-dark, #fff);
    background: #c0392b;
    text-decoration: none;
}

.group-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.85rem;
}
.group-row__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
}
.group-row__name {
    min-width: 160px;
    font-weight: 600;
    color: var(--text-primary, #212529);
}
.group-row__body { flex: 1 1 auto; min-width: 0; }
.group-row--inactive { opacity: 0.55; }

.group-row__menu { position: relative; margin-left: auto; }
.group-row__menu-btn {
    border: 1px solid transparent;
    background: transparent;
    color: var(--text-secondary, #6c757d);
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.group-row__menu-btn:hover,
.group-row__menu.is-open .group-row__menu-btn {
    background: var(--bg-subtle, #f2f2f6);
    color: var(--brand-primary, #3d1a6f);
    border-color: var(--border-soft, #e3e3ea);
}
.group-row__menu-list {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    min-width: 180px;
    background: var(--card-bg, #fff);
    border: 1px solid var(--border-soft, #e3e3ea);
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    z-index: 20;
    padding: 4px;
    display: none;
}
.group-row__menu.is-open .group-row__menu-list { display: block; }
.group-row__menu-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.45rem 0.65rem;
    border-radius: 6px;
    background: transparent;
    border: none;
    text-align: left;
    color: var(--text-primary, #212529);
    cursor: pointer;
    font-size: 0.9rem;
}
.group-row__menu-item:hover { background: var(--bg-subtle, #f2f2f6); }
.group-row__menu-item.is-danger { color: #c0392b; }
.group-row__menu-item.is-danger:hover { background: #fdecea; color: #a93226; }

/* OOO card */
.ooo-card { margin-bottom: 1rem; }
.ooo-card__meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.85rem;
    border-bottom: 1px solid var(--border-soft, #ececf2);
    background: var(--bg-subtle, #f8f8fb);
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
    font-size: 0.82rem;
    color: var(--text-secondary, #6c757d);
    flex-wrap: wrap;
}
.ooo-card__meta-time { font-weight: 600; color: var(--text-primary, #212529); }
.ooo-card__meta-group {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 1px 8px;
    border-radius: 10px;
    background: var(--bg-purple-tint, #f0edf5);
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.75rem;
    font-weight: 600;
}
.ooo-card__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
    gap: 1rem;
    padding: 0.85rem;
}
@media (max-width: 900px) {
    .ooo-card__grid { grid-template-columns: 1fr; }
}
.ooo-card__field { margin-bottom: 0.35rem; font-size: 0.9rem; }
.ooo-card__field-label {
    display: inline-block;
    min-width: 64px;
    color: var(--text-secondary, #6c757d);
    font-weight: 600;
}
.ooo-card__body-scroll {
    max-height: 240px;
    overflow-y: auto;
    overflow-x: hidden;
    margin-top: 0.5rem;
    padding: 0.5rem 0.65rem;
    background: var(--card-bg-subtle, #fafafd);
    border: 1px solid var(--border-soft, #ececf2);
    border-radius: 6px;
    font-size: 0.88rem;
    line-height: 1.45;
    white-space: pre-wrap;
}
.ooo-card__actions { display: flex; flex-direction: column; gap: 0.6rem; }
.ooo-card__action-block { display: flex; flex-direction: column; gap: 0.35rem; }
.ooo-card__action-title {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary, #6c757d);
    font-weight: 700;
}
.ooo-card__note {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    padding: 0.5rem 0.65rem;
    border-radius: 6px;
    font-size: 0.82rem;
    line-height: 1.4;
}
.ooo-card__note i { margin-top: 0.15rem; }
.ooo-card__note--info {
    background: var(--bg-info-soft, #e6f4f8);
    color: var(--status-info-text, #0c5460);
    border: 1px solid var(--border-info-soft, #bee5eb);
}
.ooo-card__note--danger {
    background: var(--bg-danger-soft, #fdecea);
    color: var(--status-danger-text, #842029);
    border: 1px solid var(--border-danger-soft, #f5c6cb);
}
.ooo-card__inline-form {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    flex-wrap: wrap;
}
.ooo-card__inline-form .form-control { max-width: 180px; }
.ooo-card__entity-stack { display: flex; flex-direction: column; gap: 0.35rem; align-items: flex-start; }
.ooo-card__clear-row { margin-top: 0.25rem; }

[data-theme="dark"] .ooo-card__meta { background: var(--bg-subtle, #1d1f24); border-bottom-color: var(--border-soft, #2a2c33); }
[data-theme="dark"] .ooo-card__body-scroll { background: var(--card-bg-subtle, #1d1f24); border-color: var(--border-soft, #2a2c33); }
[data-theme="dark"] .group-row__menu-list { background: var(--card-bg, #23262d); border-color: var(--border-soft, #2a2c33); }
[data-theme="dark"] .group-row__menu-item { color: var(--text-primary, #e6e6e6); }
[data-theme="dark"] .group-row__menu-item:hover { background: var(--bg-subtle, #1d1f24); }

/* Station Logo Placeholder - three-tier cascade fallback */
.outlet-logo-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 6px;
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--brand-accent, #fdb913);
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1;
    text-transform: uppercase;
    vertical-align: middle;
}
.outlet-logo-placeholder::after {
    content: attr(data-initial);
}
.outlet-logo-placeholder--sm {
    width: 28px;
    height: 28px;
    min-width: 28px;
    font-size: 0.8rem;
    border-radius: 4px;
}
.outlet-logo-placeholder--lg {
    width: 80px;
    height: 80px;
    min-width: 80px;
    font-size: 2rem;
    border-radius: 8px;
}

/* ============================
   Email Credibility Badges
   ============================ */
.cred-badge {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 10px;
    margin-left: 4px;
    vertical-align: middle;
    line-height: 1.4;
}
.cred-badge--good {
    background: var(--status-info, #17a2b8);
    color: var(--text-on-dark, #fff);
}
.cred-badge--med {
    background: var(--status-warning-bg, #ffc107);
    color: var(--text-primary, #333);
}
.cred-badge--low {
    background: var(--status-danger, #dc3545);
    color: var(--text-on-dark, #fff);
}

/* ============================
   File Preview Overlay
   ============================ */
/* --- BH Preview Overlay --- */
.bh-preview-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 10050;
    background: rgba(20, 8, 40, 0.92);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.25s ease;
}
.bh-preview-overlay.bh-preview-visible {
    opacity: 1;
}

/* Toolbar (file-preview overlay; class renamed from .bh-preview-toolbar to
   .bh-file-preview-toolbar to avoid collision with the PDF preview viewer
   chrome that also uses .bh-preview-toolbar with position:fixed) */
.bh-file-preview-toolbar {
    position: absolute;
    top: 0; left: 0; right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1.25rem;
    height: 54px;
    background: linear-gradient(135deg, #3d1a6f 0%, #2a1050 100%);
    border-bottom: 2px solid var(--brand-accent, #fdb913);
    z-index: 2;
}
.bh-file-preview-toolbar-left {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
    min-width: 0;
}
.bh-preview-type-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.6rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    flex-shrink: 0;
}
.bh-preview-type-badge--video { background: var(--brand-accent, #fdb913); color: var(--brand-primary, #3d1a6f); }
.bh-preview-type-badge--audio { background: rgba(253,185,19,0.2); color: var(--brand-accent, #fdb913); border: 1px solid rgba(253,185,19,0.4); }
.bh-preview-type-badge--image { background: rgba(255,255,255,0.15); color: var(--text-on-dark, #fff); }
.bh-preview-type-badge--pdf   { background: var(--brand-danger, #ed174c); color: var(--text-on-dark, #fff); }
.bh-preview-type-badge--unsupported { background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.6); }
.bh-preview-filename {
    color: var(--text-on-dark, #fff);
    font-size: 0.85rem;
    font-weight: 500;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 60vw;
}
.bh-preview-actions {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}
.bh-preview-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: none;
    background: rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.85);
    font-size: 0.9rem;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s ease;
}
.bh-preview-btn:hover {
    background: rgba(255,255,255,0.2);
    color: var(--text-on-dark, #fff);
    text-decoration: none;
}
.bh-preview-download:hover {
    background: var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
}
.bh-preview-close:hover {
    background: var(--brand-danger, #ed174c);
    color: var(--text-on-dark, #fff);
}

/* Content area */
.bh-preview-content {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding-top: 56px;
}

/* Loading spinner */
.bh-preview-loading {
    color: var(--brand-accent, #fdb913);
    font-size: 2.2rem;
}

/* Image */
.bh-preview-image {
    max-width: 90vw;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 6px;
    box-shadow: 0 8px 48px rgba(0,0,0,0.5);
}

/* PDF */
.bh-preview-pdf {
    width: 90vw;
    height: 85vh;
    border: none;
    border-radius: 6px;
    background: var(--bg-surface, #fff);
    box-shadow: 0 8px 48px rgba(0,0,0,0.5);
}

/* Video */
.bh-preview-video-wrap {
    position: relative;
    max-width: 90vw;
    max-height: 85vh;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 12px 56px rgba(0,0,0,0.6), 0 0 0 1px rgba(253,185,19,0.15);
    background: #000;
}
.bh-preview-video {
    display: block;
    max-width: 90vw;
    max-height: 85vh;
    width: 100%;
    border-radius: 0;
    background: #000;
}

/* Audio */
.bh-preview-audio-card {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 50%, #3d1a6f 100%);
    border-radius: 16px;
    padding: 2.5rem 3rem 2rem;
    text-align: center;
    min-width: 340px;
    max-width: 480px;
    box-shadow: 0 12px 56px rgba(0,0,0,0.5), 0 0 0 1px rgba(253,185,19,0.2);
    position: relative;
    overflow: hidden;
}
.bh-preview-audio-card::before {
    content: '';
    position: absolute;
    top: -40%; left: -40%;
    width: 180%; height: 180%;
    background: radial-gradient(ellipse at 30% 20%, rgba(253,185,19,0.08) 0%, transparent 60%);
    pointer-events: none;
}
.bh-preview-audio-viz {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 3px;
    height: 48px;
    margin-bottom: 1.2rem;
}
.bh-preview-audio-viz-bar {
    width: 4px;
    border-radius: 2px;
    background: var(--brand-accent, #fdb913);
    opacity: 0.5;
    transform-origin: bottom;
}
.bh-preview-audio-card.is-playing .bh-preview-audio-viz-bar {
    animation: bhAudioPulse 0.8s ease-in-out infinite alternate;
    opacity: 1;
}
.bh-preview-audio-viz-bar:nth-child(1) { height: 12px; animation-delay: 0s; }
.bh-preview-audio-viz-bar:nth-child(2) { height: 20px; animation-delay: 0.1s; }
.bh-preview-audio-viz-bar:nth-child(3) { height: 32px; animation-delay: 0.15s; }
.bh-preview-audio-viz-bar:nth-child(4) { height: 24px; animation-delay: 0.05s; }
.bh-preview-audio-viz-bar:nth-child(5) { height: 40px; animation-delay: 0.2s; }
.bh-preview-audio-viz-bar:nth-child(6) { height: 28px; animation-delay: 0.12s; }
.bh-preview-audio-viz-bar:nth-child(7) { height: 16px; animation-delay: 0.08s; }
.bh-preview-audio-viz-bar:nth-child(8) { height: 36px; animation-delay: 0.18s; }
.bh-preview-audio-viz-bar:nth-child(9) { height: 22px; animation-delay: 0.06s; }
@keyframes bhAudioPulse {
    0%   { transform: scaleY(0.4); opacity: 0.5; }
    100% { transform: scaleY(1); opacity: 1; }
}
.bh-preview-audio-name {
    color: var(--text-on-dark, #fff);
    font-size: 0.85rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
}
.bh-preview-audio {
    width: 100%;
    position: relative;
    border-radius: 28px;
}

/* Fallback / error state */
.bh-preview-fallback {
    text-align: center;
    color: var(--text-on-dark, #fff);
    padding: 2.5rem 3rem;
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    border-radius: 16px;
    box-shadow: 0 12px 56px rgba(0,0,0,0.5);
    max-width: 420px;
}
.bh-preview-fallback-icon {
    font-size: 2.8rem;
    color: var(--brand-accent, #fdb913);
    margin-bottom: 1rem;
    display: block;
}
.bh-preview-fallback-msg {
    font-size: 0.95rem;
    margin-bottom: 0.5rem;
    line-height: 1.5;
}
.bh-preview-fallback-sub {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.55);
    margin-bottom: 1.5rem;
}
.bh-preview-fallback .btn {
    border-radius: 20px;
    padding: 0.45rem 1.5rem;
    font-weight: 600;
    font-size: 0.85rem;
}

@media (max-width: 576px) {
    .bh-preview-image { max-width: 96vw; max-height: 80vh; }
    .bh-preview-pdf { width: 96vw; height: 80vh; }
    .bh-preview-video-wrap { max-width: 96vw; }
    .bh-preview-video { max-width: 96vw; max-height: 80vh; }
    .bh-preview-audio-card { min-width: 0; width: 90vw; padding: 1.5rem; }
    .bh-preview-filename { max-width: 40vw; }
    .bh-preview-type-badge { display: none; }
}

/* =============================================================================
   BH Dialogs - Toast Notifications
   Global toast styles (JS in JScript/bh-dialogs.js)
   ============================================================================= */
.bh-toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}
.bh-toast {
    min-width: 300px;
    max-width: 450px;
    padding: 12px 16px;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: flex-start;
    opacity: 0;
    transform: translateX(100%);
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
    pointer-events: auto;
}
.bh-toast.show {
    opacity: 1;
    transform: translateX(0);
}
.bh-toast.hiding {
    opacity: 0;
    transform: translateX(100%);
}
.bh-toast-error   { background: var(--status-danger-bg, #f8d7da); border-left: 4px solid var(--status-danger, #dc3545); color: var(--status-danger-text, #721c24); }
.bh-toast-warning { background: var(--status-warning-bg, #fff3cd); border-left: 4px solid var(--status-warning-border, #ffc107); color: var(--status-warning-text, #856404); }
.bh-toast-success { background: var(--status-success-bg, #d4edda); border-left: 4px solid var(--status-success, #28a745); color: var(--status-success-text, #155724); }
.bh-toast-info    { background: var(--status-info-bg, #d1ecf1); border-left: 4px solid var(--status-info, #17a2b8); color: var(--status-info-text, #0c5460); }
.bh-toast-icon    { margin-right: 10px; font-size: 18px; flex-shrink: 0; }
.bh-toast-content { flex: 1; }
.bh-toast-title   { font-weight: 600; margin-bottom: 2px; }
.bh-toast-message { font-size: 0.9em; }
.bh-toast-close   { background: none; border: none; font-size: 18px; cursor: pointer; padding: 0 0 0 10px; opacity: 0.6; }
.bh-toast-close:hover { opacity: 1; }

/* =============================================================================
   BH Dialogs - SweetAlert2 Brand Overrides
   ============================================================================= */
.bh-swal-popup {
    font-family: inherit !important;
    border-radius: 12px !important;
    border-top: 4px solid var(--brand-primary, #3d1a6f) !important;
}
.bh-swal-popup .swal2-title {
    color: var(--brand-primary, #3d1a6f) !important;
    font-size: 1.3em !important;
}
.bh-swal-confirm {
    border-radius: 6px !important;
    font-weight: 600 !important;
    padding: 8px 24px !important;
}
.bh-swal-cancel {
    border-radius: 6px !important;
    font-weight: 600 !important;
    padding: 8px 24px !important;
}
.bh-swal-input {
    border-radius: 6px !important;
    border: 1px solid var(--border-strong, #ced4da) !important;
}
.bh-swal-input:focus {
    border-color: var(--brand-primary, #3d1a6f) !important;
    box-shadow: 0 0 0 0.2rem rgba(61, 26, 111, 0.25) !important;
}

/* =============================================================================
   Client Portal - Modernisation Components
   ============================================================================= */

/* Portal horizontal tab navigation - replaces vertical sidebar pills */
/* Override global .nav-tabs rules which use !important on border/background.
   Portal tabs have a different visual treatment: smaller text, icon+label columns,
   white background with purple/gold active state instead of gold fill. */
.portal-tabs {
    border-bottom: 3px solid var(--brand-primary, #3d1a6f) !important;
    flex-wrap: wrap;
    gap: 0 2px !important;
    padding: 0;
    margin-bottom: 0;
    margin-left: 0 !important;
}
.portal-tabs .nav-item {
    margin-bottom: -3px !important;
    display: block !important;
}
.portal-tabs .nav-link {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 10px 14px 8px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-secondary, #666) !important;
    background-color: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 6px 6px 0 0;
    transition: color 0.2s, background 0.2s;
    white-space: nowrap;
    flex: none;
}
.portal-tabs .nav-link:hover,
.portal-tabs .nav-link:focus {
    color: var(--brand-primary, #3d1a6f) !important;
    background: var(--bg-purple-tint, #f8f5fc) !important;
    border-color: var(--border-default, #e0e0e0) var(--border-default, #e0e0e0) var(--brand-primary, #3d1a6f) !important;
}
.portal-tabs .nav-link.active {
    color: var(--brand-primary, #3d1a6f) !important;
    background: var(--bg-surface, #fff) !important;
    border-color: var(--brand-primary, #3d1a6f) var(--brand-primary, #3d1a6f) var(--brand-accent, #fdb913) !important;
    border-bottom-width: 3px !important;
}
.portal-tabs .nav-link .tab-icon {
    font-size: 1.1rem;
    line-height: 1;
}
.portal-tabs .nav-link .tab-label {
    font-size: 0.68rem;
    line-height: 1.1;
}
@media (max-width: 990px) {
    .portal-tabs .nav-item {
        width: auto;
    }
    .portal-tabs .nav-link {
        padding: 8px 10px 6px;
        font-size: 0.65rem;
    }
    .portal-tabs .nav-link .tab-icon {
        font-size: 0.95rem;
    }
    .portal-tabs .nav-link .tab-label {
        display: none;
    }
}

/* Portal KPI hero cards - replaces inline 110px/90px font blocks */
.portal-kpi-hero {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px 28px;
    border-radius: 12px;
    color: var(--text-on-dark, #fff);
    margin-bottom: 16px;
}
.portal-kpi-hero .kpi-icon {
    font-size: 2rem;
    opacity: 0.7;
}
.portal-kpi-hero .kpi-body {
    flex: 1;
}
.portal-kpi-hero .kpi-value {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -1px;
}
.portal-kpi-hero .kpi-label {
    font-size: 0.8rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0.85;
    margin-top: 2px;
}
.portal-kpi-hero.purple { background: linear-gradient(135deg, #3d1a6f 0%, #5c2d91 100%); }
.portal-kpi-hero.magenta { background: linear-gradient(135deg, #7d1d61 0%, #a02878 100%); }
.portal-kpi-hero.gold { background: linear-gradient(135deg, #c08b00 0%, #fdb913 100%); color: var(--brand-primary, #3d1a6f); }

/* Portal metric card - replaces 8 identical inline-styled card divs */
.portal-metric-card {
    padding: 20px;
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 10px;
    margin-bottom: 16px;
    background: var(--bg-surface, #fff);
    text-align: center;
    transition: box-shadow 0.2s;
}
.portal-metric-card:hover {
    box-shadow: 0 2px 12px rgba(61, 26, 111, 0.08);
}
.portal-metric-card h2 {
    margin: 0 0 4px;
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
}
.portal-metric-card small {
    color: var(--text-secondary, #666);
    font-size: 0.8rem;
}

/* Portal score gauge - for CQI, Success Score, Barcelona completion */
.portal-score-gauge {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 5px solid var(--border-default, #e0e0e0);
    transition: border-color 0.3s;
}
.portal-score-gauge .score-value {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}
.portal-score-gauge .score-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-secondary, #666);
}
.portal-score-gauge.small {
    width: 64px;
    height: 64px;
    border-width: 3px;
}
.portal-score-gauge.small .score-value {
    font-size: 1.3rem;
}
.portal-score-gauge.green { border-color: var(--status-success, #28a745); }
.portal-score-gauge.green .score-value { color: var(--status-success, #28a745); }
.portal-score-gauge.amber { border-color: var(--status-warning-border, #ffc107); }
.portal-score-gauge.amber .score-value { color: var(--status-warning-text, #856404); }
.portal-score-gauge.red { border-color: var(--status-danger, #dc3545); }
.portal-score-gauge.red .score-value { color: var(--status-danger, #dc3545); }

/* Portal coverage breakdown card - category colour-coded */
.portal-coverage-card {
    padding: 16px 20px;
    border: 1px solid var(--border-brand, #e0d4f0);
    border-left: 4px solid var(--brand-primary, #3d1a6f);
    border-radius: 0 8px 8px 0;
    margin-bottom: 12px;
    background: var(--bg-surface, #fff);
}
.portal-coverage-card .coverage-icon {
    font-size: 1.3rem;
    margin-right: 8px;
    vertical-align: middle;
}
.portal-coverage-card .coverage-count {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
}
.portal-coverage-card .coverage-label {
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.portal-coverage-card .coverage-detail {
    font-size: 0.78rem;
    color: var(--text-tertiary, #888);
    margin-top: 4px;
}
.portal-coverage-card.interviews { border-left-color: var(--brand-magenta, #7d1d61); }
.portal-coverage-card.interviews .coverage-count { color: var(--brand-magenta, #7d1d61); }
.portal-coverage-card.engagements { border-left-color: var(--brand-danger, #ed174c); }
.portal-coverage-card.engagements .coverage-count { color: var(--brand-danger, #ed174c); }
.portal-coverage-card.social { border-left-color: var(--brand-accent, #fdb913); }
.portal-coverage-card.social .coverage-count { color: var(--status-warning-text, #856404); }

/* Portal chart container - consistent framing for canvas charts */
.portal-chart-container {
    padding: 20px;
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 10px;
    margin-bottom: 20px;
    background: var(--bg-surface, #fff);
}
.portal-chart-container h5 {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--brand-accent, #fdb913);
}
.portal-chart-container h5 i {
    color: var(--brand-accent, #fdb913);
    margin-right: 6px;
}

/* Portal bio box - replaces inline height/overflow/dotted border */
.portal-bio-box {
    height: 200px;
    overflow-y: auto;
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 8px;
    padding: 12px;
    background: var(--bg-subtle, #fafafa);
    font-size: 0.88rem;
    line-height: 1.5;
}

/* Portal section title - consistent section headers */
.portal-section-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--brand-accent, #fdb913);
}
.portal-section-title i {
    color: var(--brand-accent, #fdb913);
}

/* Portal storybox enhancements - campaign selector cards */
.storyboximage {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.storyboximage:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.5);
}
.storyboxtitle-bottom {
    font-size: 18px;
    font-weight: 600;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}
.storyboxtitle {
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}

/* Storybox flexbox layout - badge in middle, equal zones top/bottom */
.storybox {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.storybox .storyboxtitle {
    height: auto !important;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px 4px;
    font-weight: 400;
}
.storybox .story-health-badge {
    position: relative;
    bottom: auto;
    left: auto;
    transform: none;
    margin: 0 auto;
    flex-shrink: 0;
}
.storybox .story-health-badge.mytooltip {
    position: relative !important;
}
.storybox .storyboxtitle-bottom {
    bottom: auto;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px 8px;
    font-size: 16px !important;
    font-weight: 600;
}

/* Portal interview breakdown - replaces old container/row layout with inline BackColor labels */
.portal-breakdown-section {
    margin-bottom: 24px;
}
.portal-breakdown-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}
.portal-breakdown-card {
    padding: 20px;
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 10px;
    background: var(--bg-surface, #fff);
    transition: box-shadow 0.2s;
}
.portal-breakdown-card:hover {
    box-shadow: 0 2px 12px rgba(61, 26, 111, 0.08);
}
.portal-breakdown-card h5 {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 12px;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--brand-accent, #fdb913);
}
.portal-breakdown-card .breakdown-total {
    font-size: 2rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    line-height: 1.1;
}
.portal-breakdown-card .breakdown-total small {
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--text-tertiary, #888);
    display: block;
    margin-top: 2px;
}
.portal-breakdown-stat {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 0.82rem;
}
.portal-breakdown-stat.primary {
    background: rgba(125, 29, 97, 0.08);
    color: var(--brand-magenta, #7d1d61);
}
.portal-breakdown-stat.syndicated {
    background: rgba(253, 185, 19, 0.12);
    color: var(--status-warning-text, #856404);
}
.portal-breakdown-stat .stat-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--text-on-dark, #fff);
}
.portal-breakdown-stat.primary .stat-badge { background: var(--brand-magenta, #7d1d61); }
.portal-breakdown-stat.syndicated .stat-badge { background: var(--brand-accent, #fdb913); color: var(--brand-primary, #3d1a6f); }

/* Portal date range - styled date picker row */
.portal-date-range {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    background: var(--bg-purple-tint, #f8f5fc);
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 10px;
    margin-bottom: 16px;
}
.portal-date-range label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0;
}
.portal-date-range .form-control {
    max-width: 160px;
    border-radius: 6px;
    border-color: #d0c4e0;
    font-size: 0.85rem;
}
.portal-date-range .btn {
    border-radius: 6px;
}
@media (max-width: 576px) {
    .portal-date-range {
        flex-wrap: wrap;
    }
    .portal-date-range .form-control {
        max-width: 100%;
        flex: 1 1 100%;
    }
    .portal-date-range .btn {
        width: 100%;
    }
}

/* Portal tab content area - full width when using horizontal tabs */
.portal-tab-content {
    padding: 24px 8px;
    min-height: 400px;
}

/* Portal notice banner */
.portal-notice {
    font-size: 0.82rem;
    color: var(--text-secondary, #666);
    font-style: italic;
    text-align: center;
    padding: 8px 16px;
    background: var(--status-warning-bg, #fef9e7);
    border-radius: 6px;
    margin-bottom: 16px;
}

/* ============================
   AI Wizard & Suggestions
   ============================ */

/* Wizard breadcrumb progress bar */
.ai-wizard-breadcrumb {
    display: flex;
    align-items: center;
    padding: 10px 0 6px;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--border-brand, #e0d4f0);
}
.ai-wizard-breadcrumb .wiz-step {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    color: var(--text-muted, #aaa);
    white-space: nowrap;
    cursor: default;
}
.ai-wizard-breadcrumb .wiz-step.completed {
    color: var(--brand-primary, #3d1a6f);
    cursor: pointer;
}
.ai-wizard-breadcrumb .wiz-step.completed:hover {
    text-decoration: underline;
}
.ai-wizard-breadcrumb .wiz-step.active {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 700;
}
.ai-wizard-breadcrumb .wiz-step .wiz-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    font-size: 0.7rem;
    font-weight: 700;
    flex-shrink: 0;
    background: var(--bg-purple-tint, #e8e0f0);
    color: var(--text-muted, #999);
}
.ai-wizard-breadcrumb .wiz-step .wiz-num .fa-check {
    font-size: 0.6rem;
}
.ai-wizard-breadcrumb .wiz-step.active .wiz-num {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
}
.ai-wizard-breadcrumb .wiz-step.completed .wiz-num {
    background: var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
}
.ai-wizard-breadcrumb .wiz-sep {
    margin: 0 4px;
    color: #ccc;
    font-size: 0.65rem;
}

/* Inline Wizard (full-width, replaces editor area) */
.iw-container {
    max-width: 720px;
    margin: 0 auto;
    padding: 24px 0;
}
.iw-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--border-brand, #e0d4f0);
}
.iw-header h4 {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 700;
}
.iw-step {
    padding: 20px 0;
}
.iw-step-title {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.iw-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    font-size: 0.85rem;
    font-weight: 700;
    flex-shrink: 0;
}
.iw-preview {
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 8px;
    padding: 16px;
    background: var(--bg-purple-tint, #faf8fd);
    max-height: 300px;
    overflow-y: auto;
    font-size: 0.9rem;
    line-height: 1.6;
}
.iw-loading {
    text-align: center;
    padding: 48px 0;
    color: var(--brand-primary, #3d1a6f);
}
.iw-option {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 8px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.iw-option:hover {
    background: #f0ecf5;
    border-color: var(--brand-primary, #3d1a6f);
}
.iw-option-arrow {
    color: #ccc;
    transition: color 0.15s;
}
.iw-option:hover .iw-option-arrow {
    color: var(--brand-primary, #3d1a6f);
}
.iw-post-banner {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    background: linear-gradient(135deg, var(--bg-purple-tint, #f0ecf5) 0%, var(--bg-gold-tint, #fef9e7) 100%);
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 0.9rem;
    color: var(--brand-primary, #3d1a6f);
}
.iw-post-banner .fa-check-circle {
    color: var(--status-success, #28a745);
    font-size: 1.1rem;
}

/* Wizard step container (legacy -- kept for AI panel suggestions) */
.ai-wizard-step {
    padding: 12px 0;
}
.ai-wizard-step h6 {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    font-size: 0.95rem;
}
.ai-body-preview {
    max-height: 200px;
    overflow-y: auto;
    font-size: 0.85rem;
}
.ai-headline-option {
    cursor: pointer;
}
.ai-headline-option:hover {
    background-color: #f0ecf5 !important;
}
.ai-headline-hint {
    opacity: 0.3;
}

/* Story preview (generated full release) */
.ai-story-preview {
    border: 1px solid #e0d6f0;
    border-radius: 8px;
    padding: 16px;
    background: var(--bg-purple-tint, #faf8fe);
    margin-bottom: 12px;
}
.ai-story-section {
    margin-bottom: 10px;
}
.ai-story-section strong {
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.ai-story-content {
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--text-primary, #333);
}
.ai-story-content ul {
    padding-left: 1.2rem;
    margin-bottom: 0;
}

/* Suggestion items (headlines, bullets, questions) */
.ai-suggestion-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 10px 12px;
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 6px;
    margin-bottom: 8px;
    background: var(--bg-surface, #fff);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ai-suggestion-item:hover {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 1px 4px rgba(61,26,111,0.1);
}
.ai-suggestion-text {
    flex: 1;
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--text-primary, #333);
    padding-right: 12px;
}
.ai-suggestion-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
    align-items: center;
}
.ai-suggestion-actions .btn {
    white-space: nowrap;
}

/* ============================
   Email Pitching - Release Checklist
   ============================ */
.release-check-label {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border: 1px solid #e0d6f0;
    border-radius: 20px;
    font-size: 0.85rem;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
    user-select: none;
    margin-bottom: 4px;
}
.release-check-label:hover {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--bg-purple-tint, #faf8fe);
}
.release-check-label .badge {
    opacity: 0.5;
    transition: opacity 0.15s ease;
}
.release-check-label input:checked ~ .badge-success,
.release-check-label input:checked ~ .badge-info {
    opacity: 1;
}
.release-preview-card {
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 10px;
    padding: 16px;
    background: var(--bg-surface, #fff);
}

/* ============================
   Campaign Readiness Panel
   ============================ */

/* Floating trigger button */
.readiness-trigger-btn {
    position: fixed;
    right: 20px;
    bottom: 80px;
    z-index: 1050;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
    border: none;
    box-shadow: 0 4px 12px rgba(61,26,111,0.3);
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.readiness-trigger-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 16px rgba(61,26,111,0.4);
}

/* Overlay */
.readiness-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.3);
    z-index: 1060;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.readiness-overlay-show {
    opacity: 1;
    pointer-events: auto;
}

/* Panel */
.readiness-panel {
    position: fixed;
    top: 0;
    right: -380px;
    width: 380px;
    height: 100%;
    z-index: 1070;
    background: var(--bg-surface, #fff);
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 20px rgba(0,0,0,0.15);
    transition: right 0.3s ease;
}
.readiness-panel-open {
    right: 0;
}

/* Header */
.readiness-header {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    color: var(--text-on-dark, #fff);
    padding: 0.875rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}
.readiness-header-title {
    font-size: 1.05rem;
    font-weight: 600;
}
.readiness-close-btn {
    background: none;
    border: none;
    color: rgba(255,255,255,0.7);
    font-size: 1.1rem;
    cursor: pointer;
    padding: 0;
}
.readiness-close-btn:hover {
    color: var(--text-on-dark, #fff);
}

/* Body */
.readiness-body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1.25rem;
}

/* Footer */
.readiness-footer {
    padding: 0.75rem 1.25rem;
    border-top: 1px solid var(--border-light, #eee);
    flex-shrink: 0;
}

/* Progress bar area */
.readiness-progress {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--border-light, #eee);
}

/* Sections */
.readiness-section {
    margin-bottom: 1rem;
}
.readiness-section-title {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    margin-bottom: 0.5rem;
    padding-bottom: 0.25rem;
    border-bottom: 2px solid var(--brand-accent, #fdb913);
    display: inline-block;
}

/* Items */
.readiness-item {
    display: flex;
    align-items: center;
    padding: 0.4rem 0.5rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.15s ease;
}
.readiness-item:hover {
    background: var(--bg-purple-tint, #f8f4ff);
}
.readiness-item-label {
    flex: 1;
}

/* Mobile */
@media (max-width: 576px) {
    .readiness-panel {
        width: 100%;
        right: -100%;
    }
    .readiness-panel-open {
        right: 0;
    }
}

/* --- bh-rte-mini: Lightweight rich text editor for dynamic fields --- */
.bh-rte-mini-toolbar {
    display: flex;
    gap: 2px;
    padding: 4px 6px;
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-default, #dee2e6);
    border-bottom: 0;
    border-radius: 6px 6px 0 0;
}
.bh-rte-mini-toolbar .btn { padding: 2px 6px; font-size: 0.8rem; }
.bh-rte-mini-editor {
    min-height: 80px;
    max-height: 200px;
    overflow-y: auto;
    padding: 8px 10px;
    border: 1px solid var(--border-default, #dee2e6);
    border-radius: 0 0 6px 6px;
    font-size: 0.9rem;
    line-height: 1.5;
    background: var(--bg-surface, #fff);
}
.bh-rte-mini-editor:focus { outline: none; border-color: var(--brand-primary, #3d1a6f); box-shadow: 0 0 0 2px rgba(61,26,111,0.15); }

/* --- Talent Question Tips rows --- */
.talent-question-row {
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    padding: 12px;
    background: var(--bg-subtle, #fafbfc);
}
.talent-q-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    font-size: 0.8rem;
    font-weight: 600;
    flex-shrink: 0;
    margin-top: 6px;
}
.tq-remove:hover { opacity: 1 !important; }

/* ============================
   EmailPitching UX Redesign
   ============================ */

/* Contact source selection cards */
.ep-source-cards {
    display: flex;
    gap: 10px;
    margin: 8px 0 16px;
}
.ep-source-card {
    flex: 1;
    border: 2px solid var(--border-default, #e0e0e0);
    border-radius: 10px;
    padding: 14px;
    cursor: pointer;
    text-align: center;
    transition: all 0.2s;
    background: var(--bg-surface, #fff);
}
.ep-source-card:hover {
    border-color: var(--border-brand, #e0d4f0);
    background: var(--bg-purple-tint, #f8f6ff);
}
.ep-source-card.selected {
    border-color: var(--brand-accent, #fdb913);
    background: rgba(253, 185, 19, 0.05);
}
.ep-source-card i {
    font-size: 1.2rem;
    color: var(--brand-primary, #3d1a6f);
    display: block;
    margin-bottom: 4px;
}
.ep-source-card .ep-source-card-title {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.85rem;
}
.ep-source-card .ep-source-card-desc {
    color: var(--text-muted, #999);
    font-size: 0.75rem;
    margin-top: 2px;
}

/* Search filter card */
.bh-filter-card {
    background: var(--bg-purple-tint, #f8f6ff);
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 16px;
}
.bh-filter-card .filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.bh-filter-card .filter-header span {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.85rem;
}
.bh-filter-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
@media (max-width: 768px) {
    .bh-filter-grid {
        grid-template-columns: 1fr;
    }
    .ep-source-cards {
        flex-direction: column;
    }
}
.bh-filter-group .bh-filter-label,
label.bh-filter-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
    display: block;
}
.ep-safety-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Safety toggles row */
.ep-safety-toggles {
    display: flex;
    gap: 16px;
    margin-top: 12px;
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
}
.ep-safety-toggles label {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 0;
}

/* Tier selection pills */
.ep-tier-pills {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.ep-tier-pill {
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
    user-select: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.ep-tier-pill.tier-1,
.ep-tier-pill.tier-2,
.ep-tier-pill.tier-3,
.ep-tier-pill.tier-4 { background: #0d8a72; color: var(--text-on-dark, #fff); border: 1px solid #0d8a72; }
.ep-tier-pill:hover { opacity: 0.85; }
.ep-tier-pill.deselected {
    background: var(--bg-page, #f5f5f5) !important;
    color: var(--text-muted, #999) !important;
    border-color: var(--border-default, #ddd) !important;
    opacity: 0.7;
}

/* Headshot container for spokesperson photos */
.ep-headshot-container {
    text-align: center;
    width: 150px;
}
.ep-headshot-img {
    width: 150px;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.ep-headshot-placeholder {
    width: 150px;
    height: 150px;
    border-radius: 8px;
    background: var(--bg-purple-tint, #f0edf5);
    border: 2px dashed #c4b5d9;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--text-muted, #999);
}
.ep-headshot-placeholder i {
    font-size: 3rem;
    color: #c4b5d9;
    margin-bottom: 8px;
}
.ep-headshot-placeholder span {
    font-size: 0.75rem;
    font-weight: 500;
}
.ep-headshot-warning {
    margin-top: 8px;
    font-size: 0.7rem;
    color: #e67e00;
    text-align: center;
}
.ep-headshot-warning i {
    margin-right: 4px;
}

/* Progressive Disclosure - collapsible filter sections */
.bh-filter-card-v2 {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 12px;
    overflow: hidden;
    margin-top: 1rem;
}
.bh-filter-section {
    border-bottom: 1px solid #f0ecf5;
}
.bh-filter-section:last-child { border-bottom: none; }
.bh-filter-section-header {
    padding: 0.75rem 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
    transition: background 0.2s;
}
.bh-filter-section-header:hover { background: var(--bg-purple-tint, #f8f5ff); }
.bh-filter-section-header h6 {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    display: flex;
    align-items: center;
    gap: 6px;
}
.bh-filter-section-header .bh-filter-badge {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    font-size: 0.65rem;
    padding: 2px 8px;
    border-radius: 10px;
    font-weight: 500;
}
.bh-filter-section-header .bh-filter-badge.empty {
    background: var(--bg-muted, #e0e0e0);
    color: var(--text-muted, #999);
}
.bh-filter-section-header .chevron {
    color: var(--text-muted, #bbb);
    font-size: 0.7rem;
    transition: transform 0.2s;
}
.bh-filter-section-header.collapsed .chevron { transform: rotate(-90deg); }
.bh-filter-section-body {
    padding: 0.75rem 1rem;
    background: var(--bg-subtle, #fafafa);
}
.bh-filter-section-body.collapsed { display: none; }
/* Filter card top safety-toggle band -- sits above sections, no header needed */
.bh-filter-toggles {
    padding: 0.6rem 1rem;
    background: var(--bg-purple-tint, #f8f5ff);
    border-bottom: 1px solid #f0ecf5;
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    font-size: 0.8rem;
    color: var(--text-primary, #333);
}
.bh-filter-toggles label {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 0;
    cursor: pointer;
}
.bh-filter-toggles label input[type="checkbox"] { margin: 0; }
/* Region pills (upgrade from raw checkboxes). Wrap CheckBox+Label in <label class="region-pill"> -- :has() drives state. */
.region-pill {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    margin: 2px;
    border-radius: 15px;
    font-size: 0.75rem;
    background: var(--bg-page, #f5f5f5);
    color: var(--text-muted, #6c757d);
    cursor: pointer;
    border: 1px solid var(--border-default, #ddd);
    transition: all 0.15s;
    user-select: none;
    line-height: 1.4;
}
.region-pill:hover { background: var(--bg-purple-tint, #f0e6ff); color: var(--brand-primary, #3d1a6f); border-color: var(--brand-primary, #3d1a6f); }
.region-pill input[type="checkbox"] { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }
.region-pill:has(input:checked) {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    border-color: var(--brand-primary, #3d1a6f);
}
.region-pill.deselected { background: var(--bg-page, #f5f5f5); color: var(--text-muted, #999); border-color: var(--border-default, #ddd); }
.region-pill-group { display: flex; flex-wrap: wrap; gap: 4px; }

/* Region All/None paired text-link actions -- demoted from btn-primary/btn-default
   so they don't compete with the fill-purple selected pill state in the same row. */
.bh-region-action {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0 4px;
    background: transparent !important;
    border: 0 !important;
    color: var(--brand-primary, #3d1a6f) !important;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    cursor: pointer;
    border-radius: 0;
    box-shadow: none !important;
}
.bh-region-action:hover,
.bh-region-action:focus {
    color: var(--brand-primary-dark, #2a1252) !important;
    text-decoration: underline;
    background: transparent !important;
}
.bh-region-action + .bh-region-action {
    border-left: 1px solid var(--border-default, #ddd);
    margin-left: 4px;
    padding-left: 10px;
}
.bh-region-action i {
    font-size: 0.7rem;
    opacity: 0.75;
}

/* Collapsible exclusions/bounced sections */
.bh-results-section {
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 10px;
    margin-bottom: 1rem;
    overflow: hidden;
}
.bh-results-section-header {
    padding: 0.6rem 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--bg-purple-tint, #f8f5ff);
    user-select: none;
    transition: background 0.15s;
}
.bh-results-section-header:hover { background: #f0ecf5; }
.bh-results-section-header h6 { margin: 0; font-size: 0.8rem; font-weight: 600; color: var(--brand-primary, #3d1a6f); }
.bh-results-section-header .chevron { color: var(--text-muted, #bbb); font-size: 0.7rem; transition: transform 0.2s; }
.bh-results-section-header.collapsed .chevron { transform: rotate(-90deg); }
.bh-results-section-body { padding: 0.75rem 1rem; }
.bh-results-section-body.collapsed { display: none; }
/* Disabled search button */
.btn-search-disabled {
    opacity: 0.5;
    pointer-events: none;
}

/* ============================
   EmailPitching v2: UX Redesign
   ============================ */

/* Standardised input-group-prepend labels */
.ep-prepend-label {
    min-width: 160px;
    font-size: 0.85rem;
    background: var(--bg-purple-tint, #f8f6ff);
    color: var(--brand-primary, #3d1a6f);
    font-weight: 500;
}

/* Review checklist sidebar */
.review-checklist {
    list-style: none;
    padding: 0;
    margin: 0;
}
.review-checklist li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--border-light, #f0f0f0);
    cursor: pointer;
    transition: background 0.15s;
}
.review-checklist li:hover {
    background: var(--bg-purple-tint, #f8f6ff);
}
.review-checklist li.active {
    background: rgba(253, 185, 19, 0.08);
    border-left: 3px solid var(--brand-accent, #fdb913);
}
.review-status {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    color: var(--text-on-dark, #fff);
    flex-shrink: 0;
}
.review-status.green { background: var(--status-success, #28a745); }
.review-status.amber { background: var(--status-warning-bg, #ffc107); color: var(--text-primary, #333); }
.review-status.red { background: var(--status-danger, #dc3545); }
.review-label {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--brand-primary, #3d1a6f);
}
.review-sublabel {
    font-size: 0.7rem;
    color: var(--text-muted, #999);
}
.authorise-bar {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 100%);
    border-radius: 10px;
    padding: 16px 20px;
    color: var(--text-on-dark, #fff);
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
}
/* Authorise CTA -- yellow on hardcoded purple authorise-bar.
   Colours fixed both sides so dark-mode --brand-primary remap
   doesn't flip text to light violet on yellow.
   !important on color: LinkButton renders as <a class="btn">, and
   theme-tokens.css [data-theme=dark] a.btn forces color:#fff !important.
   Without our !important the dark-mode rule wins -> white-on-yellow contrast bug. */
.btn-authorise {
    background: #fdb913 !important;
    color: #3d1a6f !important;
    font-weight: 600;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
    padding: 0.4rem 0.9rem;
    border-radius: 6px;
}
.btn-authorise:hover,
.btn-authorise:focus,
.btn-authorise:active {
    background: #ffc832 !important;
    color: #3d1a6f !important;
    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.35);
    text-decoration: none;
}
/* Specificity bump: theme-tokens.css [data-theme=dark] a.btn (0,2,1)
   beats plain .btn-authorise (0,1,0) even with !important on both, so
   dark-mode renders the Authorise CTA white-on-yellow. Match the
   attribute+element pattern with our class chained for (0,3,1) -- wins. */
[data-theme="dark"] a.btn.btn-authorise,
[data-theme="dark"] a.btn.btn-authorise:hover,
[data-theme="dark"] a.btn.btn-authorise:focus,
[data-theme="dark"] a.btn.btn-authorise:active,
[data-theme="dark"] button.btn-authorise,
[data-theme="dark"] button.btn-authorise:hover,
[data-theme="dark"] button.btn-authorise:focus,
[data-theme="dark"] button.btn-authorise:active {
    color: #3d1a6f !important;
}

/* D.z39: Reputation strip bar */
.reputation-strip {
    border-radius: 8px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    font-size: 0.85rem;
}
@media (max-width: 480px) {
    .reputation-strip { flex-wrap: wrap; gap: 8px; padding: 8px 12px; }
}
.reputation-strip-bar {
    flex: 1;
    height: 6px;
    border-radius: 3px;
    background: var(--bg-muted, #e0e0e0);
    overflow: hidden;
}
.reputation-strip-fill {
    height: 100%;
    border-radius: 3px;
    transition: width 0.3s ease;
}
.reputation-healthy {
    background: rgba(40, 167, 69, 0.1);
    border: 1px solid rgba(40, 167, 69, 0.3);
    color: var(--status-success, #28a745);
}
.reputation-healthy .reputation-strip-fill { background: var(--status-success, #28a745); }
.reputation-warning {
    background: rgba(253, 185, 19, 0.1);
    border: 1px solid rgba(253, 185, 19, 0.4);
    color: var(--brand-accent-dark, #c99400);
}
.reputation-warning .reputation-strip-fill { background: var(--brand-accent, #fdb913); }
.reputation-secondary {
    background: rgba(253, 185, 19, 0.15);
    border: 1px solid rgba(253, 185, 19, 0.5);
    color: var(--brand-accent-dark, #c99400);
}
.reputation-secondary .reputation-strip-fill { background: var(--brand-accent, #fdb913); }
.reputation-disabled {
    background: rgba(220, 53, 69, 0.1);
    border: 1px solid rgba(220, 53, 69, 0.3);
    color: var(--status-danger, #dc3545);
}
.reputation-disabled .reputation-strip-fill { background: var(--status-danger, #dc3545); }
.reputation-strip .reputation-label {
    font-weight: 600;
    min-width: 60px;
}
.reputation-strip .reputation-icon {
    font-size: 1rem;
}
.reputation-strip .reputation-hint {
    color: var(--text-secondary, #6c757d);
}
.reputation-learn-more {
    color: var(--text-secondary, #6c757d);
    font-size: 0.85rem;
    opacity: 0.6;
    transition: opacity 0.2s;
    margin-left: auto;
}
.reputation-learn-more:hover {
    opacity: 1;
    color: var(--brand-primary, #6B2D8B);
    text-decoration: none;
}
[data-theme="dark"] .reputation-healthy {
    background: rgba(40, 167, 69, 0.15);
    border-color: rgba(40, 167, 69, 0.4);
}
[data-theme="dark"] .reputation-warning,
[data-theme="dark"] .reputation-secondary {
    background: rgba(253, 185, 19, 0.15);
    border-color: rgba(253, 185, 19, 0.4);
}
[data-theme="dark"] .reputation-disabled {
    background: rgba(220, 53, 69, 0.15);
    border-color: rgba(220, 53, 69, 0.4);
}
[data-theme="dark"] .reputation-strip-bar {
    background: var(--bg-muted, #2d2d2d);
}

/* Release selector cards */
.release-selector {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.release-card {
    flex: 1;
    min-width: 200px;
    max-width: 300px;
    border: 2px solid var(--border-default, #e0e0e0);
    border-radius: 10px;
    padding: 16px;
    cursor: pointer;
    transition: all 0.2s;
    background: var(--bg-surface, #fff);
}
.release-card:hover {
    border-color: var(--border-brand, #e0d4f0);
    background: var(--bg-purple-tint, #f8f6ff);
}
.release-card.selected {
    border-color: var(--brand-accent, #fdb913);
    background: rgba(253, 185, 19, 0.05);
}
.release-card .release-title {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.9rem;
}
.release-card .release-headline {
    color: var(--text-secondary, #666);
    font-size: 0.8rem;
    margin-top: 4px;
}

/* Quick Fields toolbar */
.quick-fields-bar {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    padding: 8px 12px;
    background: var(--bg-purple-tint, #f8f6ff);
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 8px;
    margin-bottom: 12px;
}
.quick-field-btn {
    padding: 4px 10px;
    border-radius: 14px;
    font-size: 0.7rem;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid var(--border-brand, #e0d4f0);
    background: var(--bg-surface, #fff);
    color: var(--brand-primary, #3d1a6f);
    transition: all 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.quick-field-btn:hover {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    border-color: var(--brand-primary, #3d1a6f);
}

/* Merge field pills in the RichTextEditor.
   Background uses --bg-purple-tint so the pill flips on dark mode (light lavender
   -> dark violet) while text/border continue to use --brand-primary. Without this,
   dark mode renders light-violet text on light-lavender background -- unreadable. */
.ep-merge-field {
    display: inline-block;
    background: var(--bg-purple-tint, #ede7f6);
    color: var(--brand-primary, #3d1a6f);
    border: 1.5px solid var(--brand-primary, #3d1a6f);
    border-radius: 4px;
    padding: 0 7px;
    font-size: 0.9em;
    font-weight: 600;
    font-family: inherit;
    line-height: 1.6;
    cursor: default;
    user-select: all;
    white-space: nowrap;
    letter-spacing: 0.01em;
}
.ep-merge-field::before {
    content: '\f121';  /* fa-code icon */
    font-family: 'Font Awesome 7 Pro';
    font-weight: 900;
    font-size: 0.65em;
    margin-right: 4px;
    opacity: 0.5;
}

/* Spokesperson compact cards */
.spokesperson-card {
    display: flex;
    gap: 16px;
    padding: 16px;
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 10px;
    margin-bottom: 12px;
    background: var(--bg-surface, #fff);
}
.spokesperson-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc)), var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0)));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid var(--brand-accent, #fdb913);
    overflow: hidden;
}
.spokesperson-avatar img {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    object-fit: cover;
}
.spokesperson-avatar i {
    font-size: 1.5rem;
    color: var(--brand-primary, #3d1a6f);
    opacity: 0.3;
}
.spokesperson-info {
    flex: 1;
    min-width: 0;
}
.spokesperson-info .name {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.95rem;
}
.spokesperson-info .position {
    color: var(--text-tertiary, #888);
    font-size: 0.8rem;
}
.spokesperson-info .bio {
    color: var(--text-secondary, #666);
    font-size: 0.8rem;
    margin-top: 4px;
    max-height: 60px;
    overflow: hidden;
}

/* Email preview frame */
.email-preview-frame {
    border: 1px solid var(--border-default, #e0e0e0);
    border-radius: 10px;
    overflow: hidden;
    max-width: 700px;
    margin: 0 auto;
}
.email-preview-header {
    background: var(--bg-page, #f5f5f5);
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-default, #e0e0e0);
    font-size: 0.8rem;
}
.email-preview-header .ep-field {
    display: flex;
    gap: 8px;
    margin-bottom: 4px;
}
.email-preview-header .ep-field-label {
    color: var(--text-muted, #999);
    min-width: 50px;
}
.email-preview-header .ep-field-value {
    color: var(--text-primary, #333);
    font-weight: 500;
}
.email-preview-body {
    padding: 24px;
    background: var(--bg-surface, #fff);
    min-height: 300px;
}
.email-stats-bar {
    display: flex;
    gap: 20px;
    align-items: center;
    padding: 10px 16px;
    background: var(--bg-purple-tint, #f8f6ff);
    border: 1px solid var(--border-brand, #e0d4f0);
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 0.8rem;
}
.email-stats-bar .stat {
    display: flex;
    align-items: center;
    gap: 6px;
}
.email-stats-bar .stat-num {
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    font-size: 1.1rem;
}

/* EmailPitching: Center loading spinners in AJAX containers */
#epPitchList .loading-spinner,
#epFileStore .loading-spinner,
#epDeclinedList .loading-spinner,
#releaseChecklist .loading-spinner,
#epSmartMatchResults .loading-spinner,
#epPRContactsList .loading-spinner {
    text-align: center;
    padding: 2rem;
}

/* Send summary bar */
.send-summary-bar {
    background: linear-gradient(135deg, var(--bg-gold-tint, #fff8e6) 0%, var(--bg-gold-tint, #fff2d1) 100%);
    border: 1px solid #f5dfa0;
    border-radius: 10px;
    padding: 16px 20px;
    color: var(--brand-primary, #3d1a6f);
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
}
.send-summary-bar .summary-text {
    font-size: 0.85rem;
    font-weight: 600;
}
.send-summary-bar .summary-text strong {
    color: var(--brand-primary, #3d1a6f);
}

/* EmailPitching v2: Responsive */
@media (max-width: 768px) {
    .release-selector { flex-direction: column; }
    .release-card { max-width: 100%; }
    .spokesperson-card { flex-direction: column; align-items: center; text-align: center; }
    .send-summary-bar { flex-direction: column; gap: 12px; text-align: center; }
    .email-preview-frame { max-width: 100%; }
}

/* ============================
   Client EDM Modernisation
   ============================ */


/* ============================================================
   Canvas Editor - Shared toolbar & properties panel
   Used by Reporting.aspx and BHReports.aspx (Fabric.js editors)
   ============================================================ */

/* Toolbar strip */
.canvas-editor-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    padding: 8px 12px;
    background: var(--bg-subtle, #f8f9fa);
    border-bottom: 1px solid var(--border-default, #dee2e6);
}

.canvas-editor-toolbar .btn-group {
    margin-right: 0;
}

.canvas-editor-toolbar .btn {
    border-color: var(--border-strong, #ccc);
    background: var(--bg-surface, #fff);
    color: var(--text-body, #555);
    font-size: 0.8rem;
    padding: 0.3rem 0.5rem;
    transition: all 0.15s ease;
}

.canvas-editor-toolbar .btn:hover {
    background: var(--bg-muted, #e9ecef);
    color: var(--text-primary, #333);
    border-color: #adb5bd;
}

.canvas-editor-toolbar .btn:active,
.canvas-editor-toolbar .btn.active {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    border-color: var(--brand-primary, #3d1a6f);
}

.canvas-editor-toolbar .btn.btn-danger {
    background: var(--bg-surface, #fff);
    color: var(--status-danger, #dc3545);
    border-color: var(--border-strong, #ccc);
}

.canvas-editor-toolbar .btn.btn-danger:hover {
    background: var(--status-danger, #dc3545);
    color: var(--text-on-dark, #fff);
    border-color: var(--status-danger, #dc3545);
}

/* Vertical divider between tool groups */
.canvas-editor-toolbar .toolbar-divider {
    width: 1px;
    height: 24px;
    background: var(--bg-muted, #dee2e6);
    margin: 0 0.5rem;
    flex-shrink: 0;
}

/* Zoom display button - slightly wider for percentage text */
.canvas-editor-toolbar .btn.zoom-display {
    min-width: 50px;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
}

/* Context/properties panel */
.canvas-context-panel {
    width: 300px;
    border-left: 1px solid var(--border-default, #dee2e6);
    background: var(--bg-surface, #fff);
    overflow-y: auto;
    display: none;
}

.canvas-context-panel .card-header {
    background: var(--bg-subtle, #f8f9fa);
    font-size: 0.85rem;
    padding: 0.5rem 1rem;
}

.canvas-context-panel .card-body {
    font-size: 13px;
    padding: 0.75rem 1rem;
}

/* Section headings inside properties panel */
.canvas-context-panel .context-section {
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--border-light, #eee);
}

.canvas-context-panel .context-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.canvas-context-panel .context-section-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--text-secondary, #666);
    margin-bottom: 0.5rem;
    letter-spacing: 0.03em;
}

/* Compact input groups inside properties panel */
.canvas-context-panel .input-group-text {
    width: 28px;
    justify-content: center;
    font-size: 11px;
    padding: 0.2rem 0.4rem;
}

.canvas-context-panel .form-control,
.canvas-context-panel .form-select {
    font-size: 12px;
}

/* B/I/U and alignment button row */
.canvas-context-panel .text-format-bar {
    display: flex;
    width: 100%;
}

.canvas-context-panel .text-format-bar .btn {
    flex: 1;
    border-color: var(--border-strong, #ccc);
    background: var(--bg-surface, #fff);
    color: var(--text-body, #555);
    font-size: 0.8rem;
    padding: 0.3rem;
}

.canvas-context-panel .text-format-bar .btn:hover {
    background: var(--bg-muted, #e9ecef);
}

.canvas-context-panel .text-format-bar .btn.active {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    border-color: var(--brand-primary, #3d1a6f);
}

/* Range slider labels with value */
.canvas-context-panel .range-row {
    display: flex;
    align-items: center;
}

.canvas-context-panel .range-row .form-range {
    flex: 1;
    margin-right: 0.5rem;
}

.canvas-context-panel .range-row .range-value {
    font-size: 11px;
    color: var(--text-muted, #999);
    min-width: 40px;
    text-align: right;
}

/* Color picker rows */
.canvas-context-panel .form-control-color {
    height: 30px;
    padding: 2px;
}

/* Empty state panel (BHReports) */
.canvas-empty-panel {
    width: 300px;
    border-left: 1px solid var(--border-default, #dee2e6);
    background: var(--bg-subtle, #f8f9fa);
    padding: 20px;
}

/* =============================================
   Action Buttons (global)
   Filled-circle icon buttons for table row actions.
   Replaces the old faint opacity:0.4 ghost icons.
   Usage: <a class="action-btn action-btn-primary"><i class="fas fa-eye"></i></a>
   ============================================= */
.action-btn-group { display: flex; align-items: center; gap: 0.4rem; white-space: nowrap; }

.action-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; border-radius: 50%;
    font-size: 0.75rem; transition: all 0.15s; flex-shrink: 0;
    border: none; cursor: pointer; text-decoration: none; line-height: 1;
}
.action-btn:hover { text-decoration: none; transform: scale(1.1); }
.action-btn.mytooltip { display: inline-flex !important; }

/* Primary action - solid purple (preview, view, open) */
.action-btn-primary { background: var(--brand-primary, #3d1a6f); color: var(--text-on-dark, #fff); }
.action-btn-primary:hover { background: #5a2d9e; color: var(--text-on-dark, #fff); }
.action-btn-primary .fa-play { margin-left: 2px; }

/* Secondary action - light purple tint (download, edit, copy) */
.action-btn-secondary { background: var(--bg-purple-tint, #f0edf5); color: var(--brand-primary, #3d1a6f); }
.action-btn-secondary:hover { background: var(--brand-primary, #3d1a6f); color: var(--text-on-dark, #fff); }

/* Danger action - light red tint (delete, remove) */
.action-btn-danger { background: #fdf0f0; color: var(--status-danger, #c0392b); }
.action-btn-danger:hover { background: var(--status-danger, #dc3545); color: var(--text-on-dark, #fff); }

/* Disabled/unavailable placeholder */
.action-btn-none { background: #e9e9e9; color: var(--text-muted, #aaa); cursor: default; }
.action-btn-none:hover { transform: none; }

/* Hover-reveal variant -- actions hidden until parent row hovered */
.action-btn-group-hover { opacity: 0; transition: opacity 0.15s ease; }
*:hover > .action-btn-group-hover { opacity: 1; }
@media (max-width: 576px) { .action-btn-group-hover { opacity: 1; } }

/* Review Panel -- Judge Avatars */
.judge-avatar {
    width: 48px; height: 48px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: bold; font-size: 18px; color: var(--text-on-dark, #fff); margin-right: 12px;
    flex-shrink: 0;
}
.judge-avatar-sm {
    width: 32px; height: 32px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: bold; font-size: 12px; color: var(--text-on-dark, #fff);
    flex-shrink: 0;
}
.review-judge-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.12); transition: box-shadow 0.15s ease; }

/* Award Entries -- Level toggle pills on gold header */
.award-level-toggle .nav-link {
    background: var(--bg-surface, #fff) !important; color: var(--brand-primary, #3d1a6f) !important;
    border: 1px solid var(--brand-primary, #3d1a6f) !important; font-weight: 600;
    padding: 4px 16px; font-size: 0.85rem;
}
.award-level-toggle .nav-link.active {
    background: var(--brand-primary, #3d1a6f) !important; color: var(--text-on-dark, #fff) !important;
}

/* ============================================================
   NewsWire WYSIWYG Card Editor (.nwc-*)
   Mirrors portal .nw-story-card layout with edit affordances
   ============================================================ */

.nwc-editor-wrapper {
    max-width: 900px;
    margin: 0 auto;
}

/* Intro prose removed 2026-05-19. Kept selectors as no-ops in case of stale html. */
.nwc-intro { display: none; }

/* Readiness pill bar -- replaces the intro prose */
.nwc-readiness {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}
.nwc-readiness .bh-status-pill i {
    margin-right: 0.25rem;
    font-size: 0.6rem;
    vertical-align: middle;
}

/* Preview frame -- portal-chrome surround that mounts .nwc-card.
   Signals "this is a WYSIWYG of the public newswire tile", not just an editor. */
.nwc-preview-frame {
    position: relative;
    padding: 1.5rem 0.875rem 0.875rem;
    margin-bottom: 1rem;
    background: var(--bg-subtle, #faf8fd);
    border: 1px dashed var(--border-default, #d6cce8);
    border-radius: 14px;
}
.nwc-preview-eyebrow {
    position: absolute;
    top: -0.625rem;
    left: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.15rem 0.6rem;
    background: var(--bg-surface, #fff);
    color: var(--brand-primary, #3d1a6f);
    font-family: 'Outfit', sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border: 1px solid var(--border-default, #d6cce8);
    border-radius: 999px;
    line-height: 1.4;
}
.nwc-preview-eyebrow i {
    font-size: 0.7rem;
    color: var(--brand-accent, #fdb913);
}
@media (max-width: 768px) {
    .nwc-preview-frame { padding: 1.5rem 0.5rem 0.5rem; }
    .nwc-preview-eyebrow { font-size: 0.65rem; left: 0.5rem; }
}

.nwc-card {
    display: flex;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #e9ecef);
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05), 0 4px 12px rgba(61,26,111,0.04);
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}
.nwc-card:hover {
    box-shadow: 0 2px 6px rgba(0,0,0,0.06), 0 6px 18px rgba(61,26,111,0.08);
}

.nwc-image {
    flex: 0 0 200px;
    min-height: 220px;
    background-size: cover;
    background-position: center;
    background-color: var(--bg-page, #f5f5f5);
    position: relative;
    cursor: pointer;
}

/* States: --empty | --pending | --has-image | --broken.
   Empty state markup is always in the DOM; CSS hides it once an image successfully loads. */
.nwc-image--empty,
.nwc-image--pending,
.nwc-image--broken {
    background-color: var(--bg-purple-tint, #f4eef9);
    border-right: 2px dashed var(--brand-primary, #3d1a6f);
    transition: background-color 0.15s ease;
}
.nwc-image--empty:hover,
.nwc-image--broken:hover {
    background-color: #ede2f6;
}

.nwc-image-empty {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1rem;
    gap: 0.5rem;
    color: var(--brand-primary, #3d1a6f);
}
.nwc-image-empty i {
    font-size: 2rem;
    color: var(--brand-primary, #3d1a6f);
}
.nwc-image-empty-title {
    font-size: 0.85rem;
    font-weight: 600;
}
.nwc-image-empty-hint {
    font-size: 0.7rem;
    color: var(--text-muted, #888);
    line-height: 1.3;
}

/* Image loaded successfully: cover-bg shows; empty-state markup hidden; overlay on hover. */
.nwc-image--has-image .nwc-image-empty { display: none; }
.nwc-image--has-image { background-color: var(--bg-page, #f5f5f5); border-right: none; }

/* Pending (preload in flight): show empty state but keep it muted -- no flashing. */
.nwc-image--pending .nwc-image-empty { opacity: 0.5; }

.nwc-image-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.4);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s ease;
    color: var(--text-on-dark, #fff);
    font-size: 0.85rem;
    gap: 6px;
}

.nwc-image--has-image:hover .nwc-image-overlay {
    opacity: 1;
}

/* Empty / broken / pending states never show the dark overlay */
.nwc-image--empty .nwc-image-overlay,
.nwc-image--pending .nwc-image-overlay,
.nwc-image--broken .nwc-image-overlay {
    display: none;
}

.nwc-image-overlay i {
    font-size: 1.5rem;
}

.nwc-image-input {
    display: none;
}

.nwc-body {
    flex: 1;
    padding: 20px;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.nwc-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.nwc-publish-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Standard-size switch (BS4 .custom-switch is small by default). Use actual sizing
   instead of transform:scale to keep the hit area sharp and the click target full-fidelity.
   .bh-switch = canonical reusable standard switch. .nwc-publish-toggle layers its
   green/draft semantics on top of the same dimensions. Add bh-switch to any
   custom-switch that needs the standard (non-compact) size. */
.bh-switch.custom-switch,
.nwc-publish-toggle .custom-switch {
    padding-left: 3rem;
    min-height: 1.75rem;
}
.bh-switch.custom-switch .custom-control-label::before,
.nwc-publish-toggle .custom-switch .custom-control-label::before {
    width: 2.75rem;
    height: 1.5rem;
    border-radius: 0.75rem;
    top: 0.125rem;
    left: -3rem;
}
.bh-switch.custom-switch .custom-control-label::after,
.nwc-publish-toggle .custom-switch .custom-control-label::after {
    width: 1.2rem;
    height: 1.2rem;
    top: 0.275rem;
    left: -2.85rem;
    border-radius: 0.6rem;
}
.bh-switch.custom-switch .custom-control-input:checked ~ .custom-control-label::after,
.nwc-publish-toggle .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    transform: translateX(1.25rem);
}

.nwc-publish-toggle .custom-switch .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--status-success, #28a745);
    border-color: var(--status-success, #28a745);
}

/* Draft state: amber label so the toggle shouts when not Published. */
.nwc-card.nwc-state-draft + * .nwc-publish-toggle,
.nwc-state-draft .nwc-publish-toggle,
.nwc-card.nwc-state-draft .nwc-publish-toggle > span {
    color: var(--status-warning-text, #b8860b);
}
[data-theme="dark"] .nwc-card.nwc-state-draft .nwc-publish-toggle > span {
    color: var(--brand-accent, #fdb913);
}

/* Subtle border accent on the whole card while in Draft to reinforce the warning. */
.nwc-card.nwc-state-draft {
    border-color: var(--brand-accent, #fdb913);
    box-shadow: 0 2px 8px rgba(253, 185, 19, 0.18);
}

.nwc-field {
    position: relative;
    cursor: text;
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 4px 8px;
    margin: -4px -8px;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.nwc-field:hover {
    border-color: var(--border-brand, #e0d4f0);
    background: var(--bg-purple-tint, #faf8fd);
}

.nwc-field.nwc-editing {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--bg-surface, #fff);
}

.nwc-field-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    line-height: 1.3;
    min-height: 1.6em;
}

.nwc-field-title input {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary, #333);
    border: none;
    outline: none;
    width: 100%;
    background: transparent;
    padding: 0;
    line-height: 1.3;
}

.nwc-field-summary {
    font-weight: 500;
    color: var(--text-body, #555);
    margin-top: 8px;
    min-height: 1.4em;
}

.nwc-field-summary textarea,
.nwc-field-body textarea {
    border: none;
    outline: none;
    width: 100%;
    background: transparent;
    padding: 0;
    resize: vertical;
    font-family: inherit;
    line-height: 1.5;
}

.nwc-field-summary textarea {
    font-weight: 500;
    color: var(--text-body, #555);
    font-size: inherit;
}

.nwc-field-body {
    color: var(--text-secondary, #666);
    font-size: 0.95rem;
    line-height: 1.5;
    margin-top: 6px;
    min-height: 2em;
    flex: 1;
}

.nwc-field-body textarea {
    color: var(--text-secondary, #666);
    font-size: 0.95rem;
}

.nwc-placeholder {
    color: var(--text-muted, #bbb);
    font-style: italic;
}

.nwc-meta {
    font-size: 0.85rem;
    color: var(--brand-primary, #3d1a6f);
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 10px;
}

.nwc-meta i {
    margin-right: 6px;
    color: var(--brand-accent, #fdb913);
    width: 14px;
    text-align: center;
}

.nwc-meta span {
    display: inline-flex;
    align-items: center;
}

.nwc-files-strip {
    border-top: 1px solid var(--border-light, #eee);
    padding: 12px 20px;
    background: var(--bg-subtle, #fafafa);
    border-radius: 0 0 8px 8px;
}

.nwc-files-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.nwc-files-header h6 {
    margin: 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nwc-upload-btn {
    font-size: 0.8rem;
    padding: 4px 12px;
}

.nwc-files-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nwc-file-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #eee);
    border-radius: 6px;
    cursor: grab;
    transition: all 0.15s ease;
}

.nwc-file-row:active {
    cursor: grabbing;
}

.nwc-file-row.nwc-drag-over {
    border-color: var(--brand-primary, #3d1a6f);
    background: #f3eef9;
}

.nwc-file-row.nwc-dragging {
    opacity: 0.5;
}

.nwc-file-drag {
    color: #ccc;
    font-size: 0.9rem;
    cursor: grab;
}

.nwc-file-icon {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: var(--brand-accent, #fdb913);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-on-dark, #fff);
    font-size: 0.8rem;
    flex-shrink: 0;
}

.nwc-file-info {
    flex: 1;
    min-width: 0;
}

.nwc-file-desc {
    font-size: 0.85rem;
    color: var(--text-primary, #333);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.nwc-file-meta {
    font-size: 0.75rem;
    color: var(--text-tertiary, #888);
}

.nwc-file-type-badge {
    cursor: pointer;
    padding: 1px 6px;
    border-radius: 3px;
    background: #f3eef9;
    color: var(--brand-primary, #3d1a6f);
    font-weight: 500;
    transition: background 0.15s ease;
}

.nwc-file-type-badge:hover {
    background: var(--bg-purple-tint, #e0d4f0);
}

.nwc-file-actions {
    display: flex;
    gap: 4px;
}

.nwc-dropzone {
    border: 2px dashed #d0c4e8;
    border-radius: 6px;
    padding: 20px;
    text-align: center;
    color: var(--text-muted, #999);
    font-size: 0.85rem;
    transition: all 0.2s ease;
    cursor: pointer;
    margin-top: 8px;
}

.nwc-dropzone.nwc-drag-active {
    border-color: var(--brand-primary, #3d1a6f);
    background: #f3eef9;
    color: var(--brand-primary, #3d1a6f);
}

.nwc-dropzone i {
    font-size: 1.5rem;
    display: block;
    margin-bottom: 6px;
    color: var(--brand-primary, #3d1a6f);
}

.nwc-dropzone-title {
    display: block;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.875rem;
}

.nwc-dropzone-hint {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: var(--text-muted, #888);
}

.nwc-no-files {
    text-align: center;
    padding: 15px;
    color: var(--text-muted, #bbb);
    font-size: 0.85rem;
}

.nwc-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 12px 0;
    margin-top: 12px;
}

.nwc-dirty-label {
    font-size: 0.8rem;
    color: #e67e22;
    font-weight: 500;
    display: none;
}

.nwc-dirty-label.visible {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.nwc-auto-populate-bar {
    background: #f3eef9;
    border: 1px solid #d0c4e8;
    border-radius: 6px;
    padding: 10px 16px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.85rem;
    color: var(--text-body, #555);
}

.nwc-auto-populate-bar i {
    color: var(--brand-primary, #3d1a6f);
    margin-right: 6px;
}

.nwc-empty-state {
    text-align: center;
    padding: 40px 20px;
    color: var(--text-muted, #999);
}

.nwc-empty-state i {
    font-size: 3rem;
    color: #d0c4e8;
    margin-bottom: 12px;
}

.nwc-empty-state h5 {
    color: var(--text-body, #555);
    margin-bottom: 8px;
}

.nwc-file-input {
    display: none;
}

@media (max-width: 768px) {
    .nwc-card {
        flex-direction: column;
    }
    .nwc-image {
        flex: none;
        height: 150px;
        width: 100%;
    }
}

/* ============================================
   NewsWire Card -- Rich Media (Phase 3)
   Gallery / Embeds / CTA / Divider + Add-media menu.
   Tokens drive dark mode automatically (no [data-theme] overrides needed).
   ============================================ */
.nwc-media-stack {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nwc-media-block {
    position: relative;
}

.nwc-media-block-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.nwc-media-label {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.nwc-media-remove {
    flex-shrink: 0;
}

/* The remove button on gallery items / dividers floats top-right of the block. */
.nwc-gallery-item .nwc-media-remove,
.nwc-divider-block .nwc-media-remove,
.nwc-cta-block .nwc-media-remove {
    position: absolute;
    top: 6px;
    right: 6px;
    opacity: 0;
    transition: opacity 0.15s ease;
}

.nwc-gallery-item:hover .nwc-media-remove,
.nwc-divider-block:hover .nwc-media-remove,
.nwc-cta-block:hover .nwc-media-remove {
    opacity: 1;
}

/* ---- Gallery ---- */
.nwc-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 8px;
}

.nwc-gallery-item {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    overflow: hidden;
    background: var(--bg-subtle, #fafafa);
    border: 1px solid var(--border-light, #eee);
}

.nwc-gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.nwc-gallery-img:hover {
    transform: scale(1.04);
}

.nwc-gallery-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    text-align: center;
    color: var(--text-muted, #999);
    font-size: 0.72rem;
}

.nwc-gallery-fallback i {
    font-size: 1.4rem;
    color: var(--brand-accent, #fdb913);
}

/* ---- Embeds ---- */
.nwc-embed-frame {
    position: relative;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    background: var(--bg-page, #000);
    border: 1px solid var(--border-light, #eee);
}

.nwc-embed-frame--wide { padding-top: 56.25%; }
.nwc-embed-frame--medium { padding-top: 75%; }
.nwc-embed-frame--tall { padding-top: 0; height: 640px; }

.nwc-embed-frame iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.nwc-embed-frame--tall iframe {
    position: static;
    height: 100%;
}

.nwc-embed-blocked {
    padding: 16px;
    border-radius: 8px;
    background: var(--bg-purple-tint, #f4eef9);
    border: 1px dashed var(--brand-primary, #3d1a6f);
    color: var(--text-body, #555);
    font-size: 0.85rem;
}

.nwc-embed-open {
    display: inline-flex;
    align-items: center;
    margin-top: 6px;
    font-size: 0.8rem;
    color: var(--brand-primary, #3d1a6f);
    font-weight: 500;
}

.nwc-embed-open:hover {
    color: var(--brand-accent, #fdb913);
    text-decoration: none;
}

/* ---- CTA button ---- */
.nwc-cta-block {
    display: flex;
    align-items: center;
}

.nwc-cta {
    display: inline-flex;
    align-items: center;
}

.nwc-cta-block .nwc-media-remove {
    top: 50%;
    transform: translateY(-50%);
}

/* ---- Divider ---- */
.nwc-divider {
    border: 0;
    border-top: 2px solid var(--border-default, #e9ecef);
    margin: 4px 0;
}

/* ---- Add media menu + forms ---- */
.nwc-files-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.nwc-add-media {
    position: relative;
    display: inline-block;
}

.nwc-add-media-menu {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 20;
    min-width: 240px;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #e9ecef);
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(61,26,111,0.12);
    padding: 4px;
}

.nwc-add-media-menu.open {
    display: block;
}

.nwc-add-media-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 12px;
    background: none;
    border: 0;
    border-radius: 6px;
    text-align: left;
    font-size: 0.85rem;
    color: var(--text-primary, #333);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

.nwc-add-media-item i {
    width: 16px;
    text-align: center;
    color: var(--brand-primary, #3d1a6f);
}

.nwc-add-media-item:hover {
    background: var(--bg-gold-tint, #fff7e0);
    color: var(--brand-primary, #3d1a6f);
}

.nwc-add-forms {
    margin-bottom: 10px;
}

.nwc-add-form {
    background: var(--bg-subtle, #fafafa);
    border: 1px solid var(--border-light, #eee);
    border-radius: 8px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 8px;
}

.nwc-add-form-title {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.nwc-add-form-hint {
    font-size: 0.72rem;
    color: var(--text-muted, #888);
}

.nwc-add-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

@media (max-width: 768px) {
    .nwc-gallery {
        grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
    }
    .nwc-embed-frame--tall {
        height: 540px;
    }
    .nwc-add-media-menu {
        right: auto;
        left: 0;
    }
}

/* ============================================
   Demo Mode Banner + Toast (ONB-05)
   ============================================ */
.demo-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    padding: 0;
    font-size: 13px;
    font-weight: 500;
    z-index: 1040;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.15);
}
.demo-banner-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 10px 20px;
    flex-wrap: wrap;
}
.demo-banner-text {
    display: flex;
    align-items: center;
}
.demo-banner-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.demo-btn-signup {
    background-color: var(--brand-accent, #fdb913);
    border-color: var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
    font-weight: 700;
    border-radius: 50px;
    padding: 5px 18px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.demo-btn-signup:hover {
    background-color: #e5a710;
    border-color: #e5a710;
    color: var(--brand-primary, #3d1a6f);
}
.demo-btn-plans {
    background-color: transparent;
    border: 1px solid rgba(255,255,255,0.5);
    color: var(--text-on-dark, #fff);
    border-radius: 50px;
    padding: 5px 18px;
    font-size: 12px;
}
.demo-btn-plans:hover {
    background-color: rgba(255,255,255,0.15);
    color: var(--text-on-dark, #fff);
    border-color: var(--text-on-dark, #fff);
}
.demo-toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    padding: 14px 28px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    z-index: 99999;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
    pointer-events: auto;
    max-width: 500px;
}
.demo-toast a {
    color: var(--brand-accent, #fdb913);
    font-weight: 600;
    text-decoration: underline;
}
.demo-toast-show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* Demo Banner Mode Switcher */
.demo-mode-label {
    color: rgba(255,255,255,0.6);
    font-size: 12px;
    margin-right: 6px;
    font-weight: 400;
}
.demo-mode-switcher {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0 16px;
}
.demo-mode-btn {
    color: rgba(255,255,255,0.7);
    font-size: 12px;
    font-weight: 500;
    padding: 3px 10px;
    border-radius: 4px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.demo-mode-btn:hover {
    background: rgba(255,255,255,0.15);
    color: var(--text-on-dark, #fff);
    text-decoration: none;
}
.demo-mode-btn.mytooltip {
    display: inline-flex !important;
    margin-top: 0 !important;
}
.demo-mode-btn.demo-mode-active {
    background: var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
}
.demo-mode-btn.demo-mode-active:hover {
    background: #e5a710;
    color: var(--brand-primary, #3d1a6f);
}
@media (max-width: 768px) {
    .demo-mode-switcher { display: none; }
}

/* Demo Mode Selector Cards */
.demo-mode-card {
    display: block;
    padding: 20px;
    border: 2px solid #e0e6ed;
    border-radius: 10px;
    text-decoration: none;
    color: var(--brand-primary, #3d1a6f);
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
    position: relative;
}
.demo-mode-card:hover {
    border-color: var(--brand-accent, #fdb913);
    box-shadow: 0 4px 16px rgba(61,26,111,0.15);
    transform: translateY(-2px);
    text-decoration: none;
    color: var(--brand-primary, #3d1a6f);
}
.demo-mode-card i {
    font-size: 24px;
    color: var(--brand-accent, #fdb913);
    display: block;
    margin-bottom: 8px;
}
.demo-mode-card strong {
    font-size: 16px;
    display: block;
    margin-bottom: 6px;
}
.demo-mode-card span {
    font-size: 13px;
    color: var(--text-secondary, #636e72);
    line-height: 1.4;
}
.demo-mode-recommended {
    border-color: var(--brand-primary, #3d1a6f);
    background: linear-gradient(135deg, rgba(61,26,111,0.03) 0%, rgba(253,185,19,0.05) 100%);
}
.demo-mode-badge {
    display: inline-block;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    font-size: 11px;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 10px;
    margin-top: 8px;
    font-style: normal;
}
@media (max-width: 576px) {
    #demoModeModal > div > div:last-child {
        grid-template-columns: 1fr;
    }
}

/* ===== Demo Access Modal ===== */
.demo-modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10000;
    justify-content: center;
    align-items: center;
}
.demo-modal-overlay.active {
    display: flex;
}
.demo-modal-card {
    background: var(--bg-surface, #fff);
    border-radius: 12px;
    max-width: 420px;
    width: 90%;
    padding: 40px 30px;
    position: relative;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    text-align: center;
}
.demo-modal-close {
    position: absolute;
    top: 15px;
    right: 20px;
    background: none;
    border: none;
    font-size: 20px;
    color: var(--text-muted, #999);
    cursor: pointer;
}
.demo-modal-close:hover {
    color: var(--brand-primary, #3d1a6f);
}
.demo-modal-title {
    color: var(--brand-primary, #3d1a6f);
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 8px;
}
.demo-modal-subtitle {
    color: var(--text-secondary, #666);
    font-size: 14px;
    margin-bottom: 24px;
}
.demo-modal-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--border-default, #ddd);
    border-radius: 8px;
    font-size: 15px;
    outline: none;
    box-sizing: border-box;
    margin-bottom: 16px;
    transition: border-color 0.2s;
}
.demo-modal-input:focus {
    border-color: var(--brand-primary, #3d1a6f);
}
.demo-modal-input.error {
    border-color: var(--brand-danger, #ed174c);
}
.demo-modal-btn {
    width: 100%;
    padding: 12px;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}
.demo-modal-btn:hover {
    background: var(--brand-primary, #5a2d82);
}
.demo-modal-btn:disabled {
    background: #999;
    cursor: not-allowed;
}
.demo-modal-error {
    color: var(--brand-danger, #ed174c);
    font-size: 13px;
    margin-top: -8px;
    margin-bottom: 12px;
    display: none;
}
.demo-modal-error.visible {
    display: block;
}
.demo-modal-privacy {
    font-size: 11px;
    color: var(--text-muted, #999);
    margin-top: 16px;
}
.demo-modal-privacy a {
    color: var(--brand-primary, #3d1a6f);
}
.demo-modal-success-icon {
    font-size: 48px;
    color: var(--status-success, #28a745);
    margin-bottom: 16px;
}
.demo-modal-success-email {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
}
.demo-modal-resend {
    background: none;
    border: none;
    color: var(--brand-primary, #3d1a6f);
    text-decoration: underline;
    cursor: pointer;
    font-size: 14px;
    margin-top: 16px;
    display: inline-block;
}
@media (max-width: 480px) {
    .demo-modal-card {
        padding: 30px 20px;
        margin: 10px;
    }
}

/* --- Pitch Mode Activity Tab --- */
.pitch-mode-cta {
    background: #f3edf9;
    border: 2px solid var(--brand-primary, #3d1a6f);
    border-radius: 10px;
    padding: 1.5rem;
}
.pitch-mode-cta h4 { color: var(--brand-primary, #3d1a6f); margin-bottom: 0.5rem; }
.pitch-mode-cta p { font-size: 0.9rem; }

.pitch-list-table { margin-bottom: 0; }
.pitch-list-table th {
    font-size: 0.8rem;
    text-transform: uppercase;
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    border-top: none;
}
.pitch-list-table td { vertical-align: middle; font-size: 0.9rem; }
.pitch-list-row { cursor: pointer; transition: background-color 0.15s; }
.pitch-list-row:hover { background-color: var(--bg-purple-tint, #f8f5ff); }
.pitch-list-row.selected { background-color: var(--bg-purple-tint, #f5f0ff); }

.pitch-filter-toggle {
    display: inline-block;
    font-size: 0.85rem;
    color: var(--brand-primary, #3d1a6f);
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    margin-bottom: 8px;
}
.pitch-filter-toggle:hover { background: var(--bg-purple-tint, #f8f5ff); }
.pitch-filter-toggle i { margin-right: 4px; }

.pitch-filter-row { display: none; margin-bottom: 12px; }

/* Social platform badges */
.platform-badge { display: inline-flex; align-items: center; font-size: 0.85em; font-weight: 600; }
.platform-badge i { margin-right: 4px; }
.platform-badge-twitter { color: #1DA1F2; }
.platform-badge-instagram { color: #E4405F; }
.platform-badge-facebook { color: #1877F2; }
.platform-badge-tiktok { color: var(--text-primary, #000000); }
.platform-badge-linkedin { color: #0A66C2; }

/* Social Impact - Stat cards */
.social-stat-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    padding: 12px 16px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    transition: box-shadow 0.15s ease;
}
.social-stat-card:hover {
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.social-stat-card .h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    line-height: 1.2;
}
.social-stat-card small.text-muted {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 4px;
    display: inline-block;
}

/* Social mentions table text truncation */
.social-post-text {
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.9em;
}

/* Social monitoring tag/pill inputs */
.social-tag-input-wrapper {
    border: 1px solid var(--border-strong, #ced4da);
    border-radius: 4px;
    padding: 4px 8px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    min-height: 38px;
    cursor: text;
    background: var(--bg-surface, #fff);
}
.social-tag-input-wrapper:focus-within {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 0 0.2rem rgba(61, 26, 111, 0.15);
}
.social-tag-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.social-tag-pill {
    display: inline-flex;
    align-items: center;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.85em;
    white-space: nowrap;
}
.social-tag-pill .social-tag-remove {
    margin-left: 6px;
    cursor: pointer;
    opacity: 0.7;
    font-size: 0.9em;
}
.social-tag-pill .social-tag-remove:hover {
    opacity: 1;
}
.social-tag-input {
    border: none;
    outline: none;
    flex: 1;
    min-width: 120px;
    font-size: 0.9em;
    padding: 4px 0;
    background: transparent;
    color: var(--text-body, #495057);
}

/* Social Impact - Platform Badges (pill style) */
.social-platform-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-on-dark, #fff);
    white-space: nowrap;
}
.platform-twitter { background: #000000; }
.platform-instagram { background: #E4405F; }
.platform-tiktok { background: #000000; }
.platform-reddit { background: #FF4500; }
.platform-youtube { background: #FF0000; }
.platform-threads { background: #1A1A1A; }
.platform-facebook { background: #1877F2; }
.platform-linkedin { background: #0A66C2; }

/* Social Impact - Mention rows */
.social-mention-row {
    padding: 8px 12px;
    border-bottom: 1px solid var(--border-light, #eee);
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.social-mention-row:hover {
    background: var(--bg-subtle, #f8f9fa);
}
.social-mention-row.is-influencer {
    border-left: 3px solid var(--brand-accent, #fdb913);
}
.social-mention-text {
    flex: 1;
    font-size: 0.875rem;
    color: var(--text-primary, #333);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.social-mention-engagement {
    display: flex;
    gap: 10px;
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
    white-space: nowrap;
}
.social-mention-engagement i {
    margin-right: 2px;
}

/* Social Impact - Sentiment badges */
.sentiment-positive { background: var(--status-success, #28a745); color: var(--text-on-dark, #fff); padding: 2px 8px; border-radius: 10px; font-size: 0.7rem; }
.sentiment-neutral { background: var(--text-secondary, #6c757d); color: var(--text-on-dark, #fff); padding: 2px 8px; border-radius: 10px; font-size: 0.7rem; }
.sentiment-negative { background: var(--brand-danger, #ed174c); color: var(--text-on-dark, #fff); padding: 2px 8px; border-radius: 10px; font-size: 0.7rem; }

/* Social Impact - Empty states */
.social-empty-state {
    text-align: center;
    padding: 40px 20px;
    max-width: 480px;
    margin: 0 auto;
}
.social-empty-state i.empty-icon {
    font-size: 48px;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 16px;
}
.social-empty-state h4 {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    margin-bottom: 8px;
}
.social-empty-state p {
    color: var(--text-secondary, #666);
    font-size: 0.875rem;
    margin-bottom: 16px;
}

/* Social Impact - Toggle chips for platform filter */
.social-filter-toggle {
    display: inline-flex;
    gap: 4px;
    margin-bottom: 12px;
}
.social-filter-toggle .btn {
    font-size: 0.8rem;
    padding: 4px 12px;
    border-radius: 20px;
}
.social-filter-toggle .btn.active {
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    border-color: var(--brand-primary, #3d1a6f);
}

/* Social Impact - Scan Now quota badge */
.social-quota-badge {
    display: inline-block;
    background: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
    border-radius: 10px;
    padding: 2px 10px;
    font-size: 0.75rem;
    margin-left: 8px;
}
.social-quota-badge.quota-low {
    background: var(--brand-accent, #fdb913);
    color: var(--text-primary, #333);
}
.social-quota-badge.quota-exhausted {
    background: var(--brand-danger, #ed174c);
    color: var(--text-on-dark, #fff);
}

/* Social Impact - Last scanned indicator */
.social-last-scanned {
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
    margin-top: 4px;
}
.social-stale-warning {
    color: var(--brand-accent, #fdb913);
    font-size: 0.75rem;
    margin-top: 4px;
}

/* Social Impact - Scan quota slim bar (header), mirrors EmailPitching .ep-context-bar fill */
.social-quota-bar {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-left: 8px;
}
.social-quota-track {
    width: 90px;
    height: 8px;
    background: var(--bg-muted, #e9ecef);
    border-radius: 6px;
    overflow: hidden;
}
.social-quota-fill {
    display: block;
    height: 100%;
    width: 0%;
    border-radius: 6px;
    background: linear-gradient(90deg, var(--brand-primary, #3d1a6f), #5a2d82);
    transition: width 0.6s ease;
}
.social-quota-bar.quota-low .social-quota-fill { background: var(--brand-accent, #fdb913); }
.social-quota-bar.quota-exhausted .social-quota-fill { background: var(--brand-danger, #ed174c); }
.social-quota-text {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-secondary, #6c757d);
    white-space: nowrap;
}

/* Social Impact - "What we're tracking" chip row */
.bh-social-tracking {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0 0 12px 0;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--border-light, #eee);
}
.bh-social-tracking-label {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary, #6c757d);
    margin-right: 2px;
}
.bh-social-tracking-edit {
    margin-left: auto;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    white-space: nowrap;
}
.bh-social-tracking-edit:hover { text-decoration: underline; }

/* Social Impact - Illustrative placeholder chips in the not-configured empty state */
.bh-social-placeholder {
    margin: 4px auto 18px auto;
}
.bh-social-placeholder-label {
    display: block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-muted, #8a8a8a);
    margin-bottom: 8px;
}
.bh-social-placeholder-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
}
.bh-social-placeholder-chips .bh-entity-chip {
    opacity: 0.7;
    border: 1px dashed var(--border-default, #d8d8d8);
}

/* Social Impact - Creator lookup result cards */
.social-creator-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    background: var(--bg-surface, #fff);
    margin-bottom: 6px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.social-creator-card:hover {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 1px 4px rgba(61, 26, 111, 0.1);
}
.social-creator-card.is-added {
    background: var(--bg-subtle, #f8fff8);
    border-color: var(--status-success-border, #c3e6cb);
}
.social-creator-card .creator-info {
    flex: 1;
    min-width: 0;
}
.social-creator-card .creator-name {
    font-weight: 600;
    color: var(--text-primary, #333);
    font-size: 0.9rem;
}
.social-creator-card .creator-handle {
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
}
.social-creator-card .creator-followers {
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
}
.social-creator-card .creator-added-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--status-success, #28a745);
    font-size: 0.8rem;
    font-weight: 600;
}

/* Social Impact - Monitored account rows */
.social-monitored-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 6px;
    margin-bottom: 4px;
    font-size: 0.9em;
    transition: background 0.15s ease;
}
.social-monitored-row:hover {
    background: var(--bg-purple-tint, #f0edf5);
}
.social-monitored-row .monitored-platform {
    width: 16px;
    text-align: center;
    flex-shrink: 0;
}
.social-monitored-row .monitored-platform-label {
    min-width: 70px;
    font-size: 0.85em;
    color: var(--text-secondary, #666);
}
.social-monitored-row .monitored-handle {
    font-weight: 600;
    color: var(--text-primary, #333);
}
.social-monitored-row .monitored-display-name {
    color: var(--text-secondary, #666);
}
.social-monitored-row .monitored-followers {
    font-size: 0.85em;
}
.social-monitored-row .monitored-link {
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.85em;
}
.social-monitored-row .monitored-link:hover {
    color: var(--brand-primary, #5a2d9e);
}
.social-monitored-row .monitored-actions {
    margin-left: auto;
    flex-shrink: 0;
}

/* ========================================================================
   Notification Banners (replaces legacy .notice/.noticealert GridView)
   ======================================================================== */
.bh-notification {
    padding: 12px 16px;
    background-color: var(--bg-subtle, #fafafa);
    border-left: 5px solid #7f7f84;
    border-radius: 4px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    animation: bh-notification-slide-down 0.3s ease-out;
}
.bh-notification-Info { border-left-color: var(--brand-primary, #3d1a6f); }
.bh-notification-Warning { border-left-color: var(--brand-accent, #fdb913); }
.bh-notification-Danger { border-left-color: var(--brand-danger, #ed174c); }
.bh-notification-content { flex: 1; }
.bh-notification-dismiss {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-muted, #999);
    font-size: 1.2em;
    padding: 4px 8px;
    flex-shrink: 0;
}
.bh-notification-dismiss:hover { color: var(--text-primary, #333); }
.bh-notification.dismissing {
    animation: bh-notification-slide-up 0.3s ease-in forwards;
}
@keyframes bh-notification-slide-down {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes bh-notification-slide-up {
    from { opacity: 1; max-height: 200px; margin-bottom: 8px; }
    to { opacity: 0; max-height: 0; margin-bottom: 0; padding: 0 16px; overflow: hidden; }
}

/* ========================================================================
   SMART KPI Seeding Banner
   Used in CampaignBuilder KPI tab to suggest AI-generated KPI targets
   ======================================================================== */
.smart-kpi-seed-banner {
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc))) 0%, var(--bg-subtle, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0))) 100%);
    border: 1px solid var(--brand-accent, #fdb913);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

.smart-kpi-seed-banner h6 {
    color: var(--text-primary, #333);
    font-weight: 700;
    margin-bottom: 12px;
}

.smart-kpi-seed-banner .smart-context {
    font-size: 0.85em;
    color: var(--text-body, #555);
    background: rgba(255,255,255,0.6);
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 15px;
    max-height: 80px;
    overflow-y: auto;
}

.smart-kpi-seed-section {
    margin-bottom: 15px;
}

.smart-kpi-seed-section h6 {
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary, #666);
    margin-bottom: 8px;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}

.smart-kpi-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #e0e0e0);
    border-radius: 8px;
    margin-bottom: 8px;
    transition: all 0.3s ease;
}

.smart-kpi-card .kpi-type {
    font-weight: 600;
    color: var(--text-primary, #333);
    min-width: 180px;
}

.smart-kpi-card .kpi-target-input {
    width: 100px;
    padding: 4px 8px;
    border: 1px solid var(--border-strong, #ccc);
    border-radius: 4px;
    font-size: 0.9em;
    text-align: right;
    background: var(--bg-surface, #fff);
    color: var(--text-primary, #333);
}

.smart-kpi-card .kpi-rationale {
    flex: 1;
    font-size: 0.8em;
    color: var(--text-muted, #777);
    font-style: italic;
}

.smart-kpi-card .kpi-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.smart-kpi-card.accepted {
    background: var(--status-success-bg, #f0faf0);
    border-color: var(--status-success, #28a745);
    opacity: 0.7;
    pointer-events: none;
}

.smart-kpi-card.accepted::after {
    content: 'Added';
    font-size: 0.75em;
    color: var(--status-success, #28a745);
    font-weight: 600;
}

.smart-kpi-card.dismissed {
    opacity: 0;
    max-height: 0;
    padding: 0;
    margin: 0;
    border: none;
    overflow: hidden;
    transition: all 0.3s ease;
}

/* Outcome Evidence Prompting */
.outcome-evidence-banner {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 16px;
    background: linear-gradient(135deg, var(--bg-gold-tint, var(--bg-gold-tint, var(--bg-gold-tint, #fff5dc))) 0%, var(--bg-subtle, var(--bg-gold-tint, var(--bg-gold-tint, #fffbf0))) 100%);
    border: 1px solid var(--brand-accent, #fdb913);
    border-radius: 8px;
    margin-bottom: 12px;
    font-size: 0.9em;
    color: var(--text-primary, #333);
}
.outcome-evidence-banner i {
    color: var(--brand-accent, #fdb913);
    margin-top: 2px;
}
.outcome-needs-actual {
    border-left: 3px solid var(--brand-accent, #fdb913) !important;
}
.outcome-hint {
    font-size: 0.82em;
    color: var(--text-secondary, #666);
    font-style: italic;
}
.outcome-hint i {
    color: var(--brand-accent, #fdb913);
}

/* Planning Readiness Badge -- neutral muted info strip, brand-aligned gold accent */
.planning-readiness-badge {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 10px 16px;
    background: var(--bg-subtle, #fafafa);
    border: 1px solid var(--border-default, #e5e7eb);
    border-left: 3px solid var(--brand-accent, #fdb913);
    border-radius: 8px;
    font-size: 0.85em;
}
.readiness-item {
    display: flex;
    align-items: center;
    gap: 4px;
}
.readiness-label {
    font-weight: 600;
    color: var(--text-primary, #333);
}
.readiness-value {
    font-weight: 700;
}
.readiness-detail {
    font-size: 0.85em;
    color: var(--text-muted, #999);
}
/* Inside a profile-card body, drop the chrome -- the card already provides it. */
.profile-card-body > .planning-readiness-badge {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
}

/* Campaign Lens 2-col pipeline: funnel SVG sits in the right column on lg+, stacks below on smaller. */
.bh-lens-pipeline {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-left: 1px dashed var(--border-default, #e5e7eb);
    padding-left: 16px;
}
.bh-lens-pipeline-img {
    max-width: 100%;
    height: auto;
    display: block;
}
.bh-lens-pipeline-caption {
    font-size: 0.78rem;
    color: var(--text-muted, #6b7280);
    text-align: center;
    margin: 8px 0 0;
    font-style: italic;
    max-width: 320px;
}
@media (max-width: 991px) {
    .bh-lens-pipeline {
        border-left: 0;
        border-top: 1px dashed var(--border-default, #e5e7eb);
        padding-left: 0;
        padding-top: 16px;
        margin-top: 12px;
    }
}

/* Retainer-context meta strip (BRIEF tab): status / type / date-range chips,
   absorbed 2026-05-19 from the retired Strategy>Campaign Brief sub-tab. */
.bh-retainer-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    padding: 4px 4px 12px;
    border-bottom: 1px dashed var(--border-default, #e5e7eb);
    margin-bottom: 10px;
    font-size: 0.82rem;
}
.bh-retainer-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--text-primary, #1f2937);
}
.bh-retainer-meta-label {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: var(--text-muted, #9ca3af);
}

/* ========================================================================
   Planning Readiness Tiles (CampaignBuilder Outcomes + SMART tabs)
   Two .bh-kpi.bh-kpi--dense tiles with progress segments + named pills.
   ======================================================================== */
.bh-readiness-row {
    margin-bottom: 0;
}
.bh-readiness-tile {
    text-align: left !important;
    padding: 0.65rem 0.95rem !important;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.bh-readiness-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: var(--text-secondary, #6b7280);
}
.bh-readiness-label i {
    color: var(--brand-primary, #3d1a6f);
}
.bh-readiness-fraction {
    line-height: 1;
    font-family: inherit;
}
.bh-readiness-num {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--brand-primary, #3d1a6f);
}
.bh-readiness-denom {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-muted, #9ca3af);
}
/* SMART segments: thin pills, filled for met / hollow for pending */
.bh-readiness-segments {
    display: flex;
    gap: 4px;
    margin-top: 2px;
}
.bh-readiness-seg {
    flex: 1;
    height: 8px;
    border-radius: 4px;
    background: var(--bg-subtle, #f0f0f0);
    border: 1px solid var(--border-default, #e5e7eb);
    transition: background 0.2s ease;
}
.bh-readiness-seg.is-met {
    background: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
}
/* Barcelona pills: tiny chips with name; outlined for pending, solid + check for met */
.bh-readiness-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 2px;
}
.bh-readiness-pill {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    background: transparent;
    border: 1px solid var(--border-default, #d1d5db);
    color: var(--text-muted, #9ca3af);
}
.bh-readiness-pill.is-met {
    background: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
}
.bh-readiness-pill i {
    font-size: 0.62rem;
}
.bh-readiness-sub {
    font-size: 0.7rem;
    color: var(--text-muted, #9ca3af);
    margin-top: 2px;
}

/* ---- Barcelona BP1-3 Checkpoint (tile 2 specialisation) ---- */
.bh-bp-fraction-label {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted, #9ca3af);
    margin-left: 6px;
    font-weight: 600;
}
.bh-bp-rows {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 4px;
}
.bh-bp-row {
    display: grid;
    grid-template-columns: 18px 32px 1fr auto;
    gap: 6px;
    align-items: center;
    padding: 3px 0;
    font-size: 0.74rem;
}
.bh-bp-row-state {
    font-size: 0.95rem;
    text-align: center;
}
.bh-bp-row-state.full { color: var(--status-success, #28a745); }
.bh-bp-row-state.partial { color: var(--brand-accent, #fdb913); }
/* Empty/incomplete BP: a clean, muted hollow ring drawn in CSS (not the far
   fa-circle glyph, which read as a dashed/dotted focus outline). Pairs with the
   solid green fa-check-circle used for completed BPs -- same circle family, just
   unfilled = "this step is not done yet". */
.bh-bp-row-state.empty {
    display: block;
    width: 0.82em;
    height: 0.82em;
    border: 0.13em solid var(--border-strong, #cccccc);
    border-radius: 50%;
    box-sizing: border-box;
    justify-self: center;
}
.bh-bp-row-code {
    font-weight: 800;
    font-size: 0.7rem;
    color: var(--brand-primary, #3d1a6f);
    background: var(--bg-purple-tint, #f0ebf7);
    padding: 2px 6px;
    border-radius: 4px;
    text-align: center;
}
.bh-bp-row-name {
    color: var(--text-primary, #1f2937);
    font-weight: 600;
}
.bh-bp-row--empty .bh-bp-row-name {
    color: var(--text-muted, #9ca3af);
    font-weight: 500;
}
.bh-bp-row-artefacts {
    display: flex;
    gap: 4px;
    justify-self: end;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.bh-bp-artefact {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 600;
    background: transparent;
    border: 1px solid var(--border-default, #d1d5db);
    color: var(--text-muted, #9ca3af);
}
.bh-bp-artefact.is-met {
    background: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #fff);
}
.bh-bp-artefact i { font-size: 0.55rem; }

/* Celebration state: 3/3 BPs covered -- sing and dance about Barcelona alignment */
.bh-bp-checkpoint.is-complete {
    background: linear-gradient(135deg, var(--bg-gold-tint, #fff5dc) 0%, var(--bg-surface, #fff) 60%);
    border-left-color: var(--status-success, #28a745) !important;
}
.bh-bp-trophy {
    display: inline-block;
    color: var(--brand-accent, #fdb913);
    margin-left: 6px;
    animation: bh-bp-trophy-pop 0.4s ease 0.1s both;
}
@keyframes bh-bp-trophy-pop {
    0% { transform: scale(0); opacity: 0; }
    60% { transform: scale(1.3); opacity: 1; }
    100% { transform: scale(1); }
}
.bh-bp-celebrate {
    margin-top: 6px;
    padding: 6px 10px;
    border-radius: 6px;
    background: var(--status-success-bg, #e9f7ee);
    color: var(--status-success, #146c2e);
    font-size: 0.74rem;
    font-weight: 600;
    border-left: 3px solid var(--status-success, #28a745);
}
.bh-bp-celebrate i { color: var(--brand-accent, #fdb913); }
.bh-bp-celebrate-next {
    font-weight: 500;
    color: var(--text-secondary, #4b5563);
    display: block;
    margin-top: 2px;
    font-size: 0.7rem;
}

/* ========================================
   Pitching Strategy v2 -- 2026-05-20
   Single continuous editable surface with autosave + AI assist
   ======================================== */
.bh-strategy-v2 {
    /* No max-width cap: fill the strategy .container so Pitching matches the
       gutter/width of every other Story Builder tab (Brief/SMART/Outcomes/Project
       Plan). The pane chrome SSOT (#myTabs + .tab-content > .tab-pane) already bounds it. */
    max-width: none;
    margin: 0;
    padding: 0.5rem 0 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Status bar -- autosave (left) + AI quota (right) */
.bh-strategy-status-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.75rem;
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-default, #dee2e6);
    border-radius: 6px;
}
.bh-strategy-status-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.2;
    transition: color 0.2s ease, background 0.2s ease;
}
.bh-strategy-status-chip i { font-size: 12px; }
/* Autosave states -- match EditingSuite .autosave-status palette */
.bh-strategy-status-chip.autosave-idle   { color: var(--text-secondary, #6c757d); }
.bh-strategy-status-chip.autosave-saving { color: #0d6efd; }
.bh-strategy-status-chip.autosave-saved  { color: #198754; }
.bh-strategy-status-chip.autosave-error  { color: var(--status-danger, #dc3545); }
/* Quota chip variant */
.bh-quota-chip {
    background: var(--bg-purple-tint, #f0ebf7);
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
}
.bh-quota-chip.bh-quota-low { background: #fff4d8; color: #8a5a00; }
.bh-quota-chip.bh-quota-exhausted { background: #fde7ea; color: #b3001b; }

/* Context strip -- no header, just body */
.bh-strategy-context-strip { margin: 0; }
.bh-strategy-context-strip .profile-card-body {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 2rem;
    align-items: center;
    padding: 0.75rem 1rem;
}
.bh-strategy-context-label {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary, #6c757d);
    margin-right: 0.4rem;
}
.bh-strategy-context-archetypes {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.bh-strategy-context-chips {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}
.bh-strategy-context-empty {
    font-size: 0.85rem;
    color: var(--text-secondary, #6c757d);
    font-style: italic;
}
.bh-strategy-context-meta {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-left: auto;
    font-size: 0.85rem;
    color: var(--text-body, #555);
}

/* Hero AI button */
.bh-strategy-ai-hero {
    text-align: center;
    padding: 1.25rem 1rem;
    background: linear-gradient(180deg, var(--bg-purple-tint, #f0ebf7) 0%, var(--bg-surface, #fff) 100%);
    border: 1px solid var(--border-default, #dee2e6);
    border-radius: 8px;
}
.bh-strategy-ai-hero-button {
    font-size: 1rem;
    font-weight: 600;
    padding: 0.65rem 1.6rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
.bh-strategy-ai-cost {
    display: inline-block;
    background: rgba(255,255,255,0.25);
    color: inherit;
    font-size: 0.7rem;
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 10px;
    margin-left: 0.4rem;
}
.bh-strategy-ai-hero-hint {
    color: var(--text-secondary, #6c757d);
    font-size: 0.8rem;
    margin: 0.5rem 0 0;
}
/* Inline section "Suggest" button */
.bh-strategy-ai-suggest {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.bh-strategy-ai-suggest.is-loading { pointer-events: none; opacity: 0.7; }

/* Section spacing -- profile-cards already self-style */
.bh-strategy-section { margin: 0; }
.bh-strategy-help {
    font-size: 0.8rem;
    color: var(--text-secondary, #6c757d);
    margin: 0 0 0.5rem;
}
.bh-strategy-field-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-secondary, #6c757d);
    margin-bottom: 0.25rem;
}
.bh-strategy-input { font-size: 0.9rem; }
.bh-strategy-readonly {
    padding: 0.375rem 0.75rem;
    font-size: 0.9rem;
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-default, #dee2e6);
    border-radius: 4px;
    color: var(--text-body, #555);
    min-height: calc(1.5em + 0.75rem + 2px);
}

/* Outlet tier blocks */
.bh-strategy-tier-block {
    padding: 0.75rem 0;
    border-bottom: 1px dashed var(--border-default, #dee2e6);
}
.bh-strategy-tier-block:last-child { border-bottom: 0; padding-bottom: 0.25rem; }
.bh-strategy-tier-block:first-of-type { padding-top: 0.25rem; }
.bh-strategy-tier-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0.4rem;
}
.bh-strategy-tier-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.4rem;
    min-height: 1.2rem;
}
/* Empty tier: drop the stark "No outlets selected" line and let the Add button
   become a friendly full-width add-tile -- keyboard-accessible, mirrors the warmer
   empty-state treatment on the SMART tab. Reverts to a small inline button once
   outlets are added (selector only matches while the chip row is :empty). */
.bh-strategy-tier-chips:empty { min-height: 0; margin-bottom: 0; }
.bh-strategy-tier-chips:empty::before { content: none; }
.bh-strategy-tier-chips:empty + .bh-strategy-tier-add {
    display: block;
    width: 100%;
    text-align: left;
    padding: 0.5rem 0.75rem;
    border-style: dashed;
}
.bh-strategy-tier-add {
    font-size: 0.8rem;
    padding: 0.2rem 0.6rem;
}

/* Channel mix */
.bh-strategy-channel-mix {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}
.bh-strategy-channel-option {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    cursor: pointer;
    font-size: 0.9rem;
}
.bh-strategy-channel-option input[type="radio"] { margin: 0; }
.bh-strategy-channel-exclusive {
    max-width: 200px;
    display: none;
}
.bh-strategy-channel-exclusive.is-visible {
    display: inline-block;
}

/* Sequencing & cadence */
.bh-strategy-cadence-wrap { margin-top: 0.85rem; }
.bh-strategy-cadence-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.4rem;
}
.bh-strategy-cadence-custom { margin-top: 0.4rem; }

/* Forecast tiles -- reuse .bh-kpi canonical classes */
.bh-strategy-forecast .bh-kpi-row { gap: 0.75rem; }

/* Footer */
.bh-strategy-footer {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--border-default, #dee2e6);
}

/* Advanced tag (existing pattern, just in case it isn't already styled) */
.bh-strategy-section .bh-advanced-tag {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: var(--bg-slate-tint, #f1f0f4);
    color: var(--text-secondary, #6c757d);
    padding: 2px 8px;
    border-radius: 10px;
    margin-left: 0.4rem;
    vertical-align: middle;
}

/* Outlet picker modal */
.bh-strategy-outlet-search { margin: 0 0 0.75rem; }
.bh-strategy-outlet-results {
    max-height: 50vh;
    overflow-y: auto;
    border: 1px solid var(--border-default, #dee2e6);
    border-radius: 4px;
    background: var(--bg-surface, #fff);
}
.bh-strategy-outlet-result {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--border-default, #dee2e6);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-size: 0.9rem;
}
.bh-strategy-outlet-result:last-child { border-bottom: 0; }
.bh-strategy-outlet-result:hover,
.bh-strategy-outlet-result:focus {
    background: var(--bg-purple-tint, #f0ebf7);
    color: var(--brand-primary, #3d1a6f);
}
.bh-strategy-outlet-result .bh-strategy-outlet-meta {
    margin-left: auto;
    font-size: 0.75rem;
    color: var(--text-secondary, #6c757d);
}
.bh-strategy-outlet-empty {
    padding: 1rem;
    text-align: center;
    color: var(--text-secondary, #6c757d);
    font-size: 0.85rem;
    font-style: italic;
}

/* Responsive */
@media (max-width: 768px) {
    .bh-strategy-context-strip .profile-card-body { flex-direction: column; align-items: flex-start; }
    .bh-strategy-context-meta { margin-left: 0; flex-direction: column; gap: 0.35rem; }
    .bh-strategy-status-bar { flex-direction: column; align-items: stretch; gap: 0.4rem; }
    .bh-strategy-channel-mix { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
    .bh-strategy-channel-exclusive { max-width: 100%; }
}

/* Dark mode overrides */
[data-theme="dark"] .bh-strategy-status-bar {
    background: var(--bg-subtle, #1a1a1a);
    border-color: var(--border-default, #2a2a2a);
}
[data-theme="dark"] .bh-quota-chip {
    background: var(--bg-purple-tint, #1e1430);
    color: var(--brand-primary, #a76bdf);
}
[data-theme="dark"] .bh-strategy-status-chip.autosave-saving { color: #6ea8ff; }
[data-theme="dark"] .bh-strategy-status-chip.autosave-saved  { color: #4ade80; }
[data-theme="dark"] .bh-strategy-ai-hero {
    background: linear-gradient(180deg, var(--bg-purple-tint, #1e1430) 0%, var(--bg-surface, #141414) 100%);
    border-color: var(--border-default, #2a2a2a);
}
[data-theme="dark"] .bh-strategy-readonly {
    background: var(--bg-subtle, #1a1a1a);
    border-color: var(--border-default, #2a2a2a);
    color: var(--text-body, #d4d4d4);
}
[data-theme="dark"] .bh-strategy-tier-block { border-bottom-color: var(--border-default, #2a2a2a); }
[data-theme="dark"] .bh-strategy-footer { border-top-color: var(--border-default, #2a2a2a); }
[data-theme="dark"] .bh-strategy-outlet-results {
    background: var(--bg-surface, #141414);
    border-color: var(--border-default, #2a2a2a);
}
[data-theme="dark"] .bh-strategy-outlet-result { border-bottom-color: var(--border-default, #2a2a2a); }
[data-theme="dark"] .bh-strategy-outlet-result:hover,
[data-theme="dark"] .bh-strategy-outlet-result:focus {
    background: var(--bg-purple-tint, #38304d);
    color: var(--brand-primary, #a76bdf);
}
[data-theme="dark"] .bh-strategy-section .bh-advanced-tag {
    background: var(--bg-slate-tint, #1c1a22);
    color: var(--text-secondary, #b0a8c8);
}

/* ========================================================================
   Quick-start KPI Archetype Grid (CampaignBuilder Outcomes tab)
   Replaces single-select dropdown with click-to-apply tile picker.
   ======================================================================== */
.bh-archetype-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px;
}
.bh-archetype-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 12px 14px;
    background: var(--bg-card, #fff);
    border: 1px solid var(--border-default, #e5e7eb);
    border-radius: 8px;
    cursor: pointer;
    text-align: left;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
    color: var(--text-primary, #333);
}
.bh-archetype-card > i {
    color: var(--brand-primary, #3d1a6f);
    font-size: 1.1rem;
}
.bh-archetype-name {
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--brand-primary, #3d1a6f);
}
.bh-archetype-blurb {
    font-size: 0.78em;
    color: var(--text-muted, #6b7280);
    line-height: 1.3;
}
/* Hover only flips chrome on INACTIVE tiles -- active tiles keep their purple state */
.bh-archetype-card:not(.is-active):hover {
    border-color: var(--brand-accent, #fdb913);
    background: var(--bg-gold-tint, #fff5dc);
    box-shadow: 0 2px 6px rgba(61, 26, 111, 0.08);
    transform: translateY(-1px);
}
.bh-archetype-card:focus-visible {
    outline: 2px solid var(--brand-primary, #3d1a6f);
    outline-offset: 2px;
}
/* Active = unmistakable: stronger purple-tint bg, 2px brand-primary border + gold top-stripe,
   check badge top-left, bolder name. Font-family stack matches the rest of the codebase
   (engagement-design-system.css:327) -- site loads FA 7 Pro; "Font Awesome 5 Free" alone
   is NOT loaded so the glyph rendered as a square box. */
.bh-archetype-card.is-active {
    border: 2px solid var(--brand-primary, #3d1a6f);
    padding: 11px 13px; /* compensate for the extra 1px border */
    background: #e1d4ff; /* stronger than --bg-purple-tint, still light */
    box-shadow: 0 2px 6px rgba(61, 26, 111, 0.12);
    position: relative;
}
[data-theme="dark"] .bh-archetype-card.is-active {
    background: #2a1d4a;
}
.bh-archetype-card.is-active .bh-archetype-name {
    font-weight: 800;
    color: var(--brand-primary, #3d1a6f);
}
.bh-archetype-card.is-active > i {
    color: var(--brand-primary, #3d1a6f);
}
/* Check badge top-left: confirms selection at a glance */
.bh-archetype-card.is-active::before {
    content: '\f00c'; /* FA check */
    font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
    font-weight: 900;
    position: absolute;
    top: -9px;
    left: -9px;
    width: 22px;
    height: 22px;
    line-height: 22px;
    text-align: center;
    font-size: 0.78rem;
    color: var(--text-on-dark, #fff);
    background: var(--brand-primary, #3d1a6f);
    border: 2px solid var(--brand-accent, #fdb913);
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}
/* Click-to-remove affordance on active tiles: × top-right, gentle until hover */
.bh-archetype-card.is-active::after {
    content: '\f00d'; /* FA times */
    font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
    font-weight: 900;
    position: absolute;
    top: 6px;
    right: 8px;
    font-size: 0.75rem;
    color: var(--text-muted, #9ca3af);
    opacity: 0;
    transition: opacity 0.15s ease, color 0.15s ease;
}
.bh-archetype-card.is-active:hover {
    background: #d4c0ff;
    transform: translateY(-1px);
}
.bh-archetype-card.is-active:hover::after {
    opacity: 1;
    color: var(--status-danger, #dc3545);
}
.bh-archetype-card.is-loading {
    opacity: 0.6;
}
.bh-archetype-card[disabled] {
    cursor: progress;
}

/* ========================================================================
   Inbound-Qualitative KPI Row (target + actual + delta + actions in one line)
   Replaces standalone "Business Outcome KPIs" + "Sentiment" duplication.
   ======================================================================== */
.bh-qual-summary {
    padding: 8px 0 4px;
    border-bottom: 1px dashed var(--border-default, #e5e7eb);
    margin-bottom: 10px;
}
.bh-qual-row {
    display: grid;
    grid-template-columns: 28px minmax(160px, 1.4fr) 110px minmax(120px, 1.6fr) 140px auto;
    gap: 10px;
    align-items: center;
    padding: 8px 4px;
    border-bottom: 1px solid var(--border-subtle, #f0f0f0);
}
/* Set-goals-only variant (CampaignBuilder Outcomes): icon + label + target + actions.
   No bar / actual columns -- those render on StoryPerformance (monitoring). */
.bh-qual-row--target-only {
    grid-template-columns: 28px minmax(160px, 1fr) 110px auto;
}
.bh-qual-row:last-child {
    border-bottom: 0;
}
.bh-qual-row-icon {
    color: var(--brand-accent, #fdb913);
    font-size: 0.95rem;
    text-align: center;
}
.bh-qual-row-label {
    font-weight: 600;
    color: var(--text-primary, #333);
    font-size: 0.88rem;
}
.bh-qual-row-target,
.bh-qual-row-actual {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    font-size: 0.85rem;
}
.bh-qual-row-meta {
    font-size: 0.7em;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted, #999);
}
.bh-qual-row-bar {
    display: flex;
    align-items: center;
    gap: 8px;
}
.bh-qual-bar-track {
    flex: 1;
    height: 10px;
    background: var(--bg-subtle, #f0f0f0);
    border-radius: 5px;
    overflow: hidden;
}
.bh-qual-bar-fill {
    display: block;
    height: 100%;
    border-radius: 5px;
    transition: width 0.4s ease;
}
.bh-qual-bar-pct {
    font-size: 0.75rem;
    color: var(--text-muted, #6b7280);
    min-width: 36px;
    text-align: right;
}
.bh-qual-row-actions {
    justify-self: end;
}
/* Empty-row placeholder: no fake "0%" bar, no fake actual, just an "awaiting evidence" hint */
.bh-qual-row--empty .bh-qual-row-target strong,
.bh-qual-row--empty .bh-qual-row-label {
    color: var(--text-secondary, #6b7280);
}
.bh-qual-row-bar--empty {
    display: flex;
    align-items: center;
    justify-content: center;
}
.bh-qual-bar-placeholder {
    font-size: 0.72rem;
    font-style: italic;
    color: var(--text-muted, #9ca3af);
    letter-spacing: 0.02em;
}
.bh-qual-placeholder-dash {
    font-weight: 600;
    color: var(--text-muted, #9ca3af);
}
/* Inline-editable Actual: borderless input that lights up on focus, saved-tick flashes briefly */
.bh-qual-actual-edit {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    position: relative;
}
.bh-qual-actual-input {
    width: 64px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--text-primary, #1f2937);
    font-weight: 700;
    font-size: 0.88rem;
    padding: 2px 6px;
    border-radius: 4px;
    text-align: right;
    -moz-appearance: textfield;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.bh-qual-actual-input::-webkit-outer-spin-button,
.bh-qual-actual-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.bh-qual-actual-input::placeholder {
    color: var(--text-muted, #9ca3af);
    font-weight: 500;
}
.bh-qual-actual-input:hover {
    border-color: var(--border-default, #e5e7eb);
}
.bh-qual-actual-input:focus {
    outline: none;
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--bg-surface, #fff);
}
.bh-qual-actual-suffix {
    font-weight: 700;
    font-size: 0.85rem;
    color: var(--text-primary, #1f2937);
}
.bh-qual-saved-tick {
    color: var(--status-success, #28a745);
    font-size: 0.78rem;
    opacity: 0;
    transform: scale(0.6);
    transition: opacity 0.18s ease, transform 0.18s ease;
}
.bh-qual-saved-tick.is-visible {
    opacity: 1;
    transform: scale(1);
}

/* ========================================================================
   Strategic Plan card (Story Builder > STRATEGY > Pitching Strategy)
   Rebuilt 2026-05-19: structured sections, hero Primary Angle, conditional Risk.
   ======================================================================== */
/* Sections render as compact cards (not dashed-divided rows). Smaller RTEs, less vertical bloat. */
.bh-strategy-edit {
    padding-bottom: 80px; /* room for sticky footer */
}
.bh-strategy-edit .bh-strategy-section {
    padding: 12px 14px;
    margin-bottom: 10px;
    background: var(--bg-subtle, #fafafa);
    border: 1px solid var(--border-subtle, #f0f0f0);
    border-radius: 8px;
}
.bh-strategy-section-title {
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 4px;
}
.bh-strategy-section-title i {
    color: var(--brand-accent, #fdb913);
}
/* RTE sizing intentionally NOT overridden -- BHRichTextEditor uses platform standard
   height across every consumer. If the strategy form feels tall, the answer is accordion
   or 2-column layout (Fix 2/3), not custom RTE chrome. */
/* Primary Angle input: hero treatment in edit mode */
.bh-strategy-angle-input {
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    color: var(--brand-primary, #3d1a6f) !important;
    background: var(--bg-cream, #fffbf0) !important;
    border: 1px solid var(--border-default, #e5e7eb) !important;
    border-left: 4px solid var(--brand-accent, #fdb913) !important;
    padding: 12px 14px !important;
    height: auto !important;
    line-height: 1.4 !important;
}
.bh-strategy-angle-input:focus {
    background: var(--bg-surface, #fff) !important;
    border-color: var(--brand-primary, #3d1a6f) !important;
    border-left-color: var(--brand-accent, #fdb913) !important;
    box-shadow: 0 0 0 3px var(--bg-purple-tint, #f0ebf7) !important;
}
/* Risk section gets a subtle warning tint */
.bh-strategy-risk {
    background: var(--bg-gold-tint, #fff5dc) !important;
    border-left: 3px solid var(--brand-accent, #fdb913) !important;
}
.bh-strategy-risk .bh-strategy-section-title i {
    color: var(--status-danger, #dc3545);
}
/* Sticky save footer: pins to viewport bottom while form scrolls past */
.bh-strategy-footer {
    position: sticky;
    bottom: 0;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    margin: 16px -14px -14px; /* bleed to edge of parent card body */
    background: var(--bg-surface, #fff);
    border-top: 1px solid var(--border-default, #e5e7eb);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04);
}
.bh-strategy-footer .ml-auto {
    margin-left: auto !important;
}

/* Read-only view */
.bh-strategy-view-angle {
    background: linear-gradient(135deg, var(--bg-purple-tint, #f0ebf7) 0%, var(--bg-surface, #fff) 70%);
    border-left: 4px solid var(--brand-primary, #3d1a6f);
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 14px;
}
.bh-strategy-view-angle-label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--brand-primary, #3d1a6f);
    opacity: 0.7;
    margin-bottom: 4px;
}
.bh-strategy-view-angle-label i {
    color: var(--brand-accent, #fdb913);
}
.bh-strategy-view-angle-text {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--text-primary, #1f2937);
    line-height: 1.4;
}
.bh-strategy-view-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
@media (max-width: 768px) {
    .bh-strategy-view-grid { grid-template-columns: 1fr; }
}
.bh-strategy-view-block {
    padding: 10px 14px;
    background: var(--bg-subtle, #fafafa);
    border: 1px solid var(--border-subtle, #f0f0f0);
    border-radius: 6px;
}
.bh-strategy-view-block-title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 6px;
}
.bh-strategy-view-block-title i {
    color: var(--brand-accent, #fdb913);
}
.bh-strategy-view-block-body {
    font-size: 0.88rem;
    color: var(--text-primary, #1f2937);
}
.bh-strategy-view-kv-label {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted, #9ca3af);
}
.bh-strategy-view-kv-value {
    font-weight: 600;
    margin-left: 6px;
    color: var(--text-primary, #1f2937);
}
/* Risk view block: gold tint + alert icon colour */
.bh-strategy-view-risk {
    grid-column: 1 / -1;
    background: var(--bg-gold-tint, #fff5dc);
    border-left: 3px solid var(--brand-accent, #fdb913);
}
.bh-strategy-view-risk .bh-strategy-view-block-title i {
    color: var(--status-danger, #dc3545);
}

/* ========================================================================
   Compact Inbound-Qualitative Sentiment Strip (replaces 3-column block)
   Four equal cells with vertical dividers, dense typography.
   ======================================================================== */
.bh-qual-summary-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0;
    padding: 6px 0 12px;
    border-bottom: 1px dashed var(--border-default, #e5e7eb);
    margin-bottom: 10px;
}
.bh-qual-summary-cell {
    flex: 1 1 0;
    min-width: 160px;
    padding: 4px 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    border-left: 1px solid var(--border-subtle, #f0f0f0);
}
.bh-qual-summary-cell:first-child {
    border-left: 0;
    padding-left: 4px;
}
.bh-qual-summary-cell-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted, #9ca3af);
    font-weight: 600;
}
.bh-qual-summary-cell-value {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.05;
}
.bh-qual-summary-cell-sub {
    font-size: 0.72rem;
    color: var(--text-muted, #9ca3af);
}
/* Inline mini-breakdown bars for Pos/Neu/Neg */
.bh-qual-breakdown-mini {
    display: flex;
    height: 8px;
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    background: var(--bg-subtle, #f0f0f0);
    margin-top: 2px;
}
.bh-qual-breakdown-mini > span {
    display: block;
    height: 100%;
}
.bh-qual-breakdown-legend {
    display: flex;
    gap: 8px;
    font-size: 0.68rem;
    color: var(--text-muted, #9ca3af);
    margin-top: 2px;
}
.bh-qual-breakdown-legend > span {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}
.bh-qual-breakdown-legend > span::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: currentColor;
}
@media (max-width: 768px) {
    .bh-qual-summary-cell {
        flex: 1 1 50%;
        border-left: 0;
        border-top: 1px solid var(--border-subtle, #f0f0f0);
        padding-top: 8px;
    }
    .bh-qual-summary-cell:first-child,
    .bh-qual-summary-cell:nth-child(2) {
        border-top: 0;
    }
}
@media (max-width: 768px) {
    .bh-qual-row {
        grid-template-columns: 28px 1fr auto;
        grid-template-areas:
            "icon label actions"
            ".    target target"
            ".    bar    bar"
            ".    actual actual";
        row-gap: 4px;
    }
    .bh-qual-row-icon { grid-area: icon; }
    .bh-qual-row-label { grid-area: label; }
    .bh-qual-row-target { grid-area: target; }
    .bh-qual-row-bar { grid-area: bar; }
    .bh-qual-row-actual { grid-area: actual; }
    .bh-qual-row-actions { grid-area: actions; }
    /* Target-only variant drops the bar/actual rows on mobile */
    .bh-qual-row--target-only {
        grid-template-areas:
            "icon label actions"
            ".    target target";
    }
}

/* ---- Dark Mode: Public Marketing Page Overrides ---- */

/* Bug 1: Home hero note text invisible on dark bg */
[data-theme="dark"] .bs-hero-note {
    color: #a76bdf !important;
}

/* Bug 2: Plans comparison table dark mode */
[data-theme="dark"] .bs-features-section .table-bordered {
    background: #141414 !important;
}
[data-theme="dark"] .bs-features-section .table-bordered td {
    color: #cccccc !important;
    border-color: #2a2a2a !important;
}
[data-theme="dark"] .bs-features-section .table-bordered td[style*="background: var(--bg-subtle, #f8f9fa)"],
[data-theme="dark"] .bs-features-section .table-bordered td[style*="background:var(--bg-subtle, #f8f9fa)"] {
    background: #1a1a1a !important;
}

/* Bug 3: Plans differentiator carousel dark mode */
[data-theme="dark"] .bs-plans-carousel p {
    color: rgba(255, 255, 255, 0.85) !important;
}
[data-theme="dark"] .bs-pc-arrow {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Bug 4: QuickScore tier badge dark mode */
[data-theme="dark"] .qs-tier-1 {
    background: #2a1a3e !important;
    color: #a76bdf !important;
    border-color: #7c4daf !important;
}
[data-theme="dark"] .qs-tier-2 {
    background: #1a2a3e !important;
    color: #6db3f2 !important;
    border-color: #3d7ec7 !important;
}
[data-theme="dark"] .qs-tier-3 {
    background: #2a2510 !important;
    color: #d4a824 !important;
    border-color: #d4a824 !important;
}
[data-theme="dark"] .qs-tier-4 {
    background: #1a1a1a !important;
    color: #909090 !important;
    border-color: #3a3a3a !important;
}

/* Bug 5: QuickScore framing note dark mode */
[data-theme="dark"] .qs-framing-note {
    background: #1a1a2e !important;
    color: #b0b0b0 !important;
    border-left-color: #7c4daf !important;
}

/* Bug 6: QuickScore DB badge dark mode */
[data-theme="dark"] .qs-db-badge {
    background: #1a2e1a !important;
    color: #4caf50 !important;
}

/* QuickScore amber CQI number dark mode */
[data-theme="dark"] .qs-cqi-number.amber { color: #ffd54f !important; }

/* QuickScore component cards dark mode */
[data-theme="dark"] .qs-component-card {
    background: #141414 !important;
    border-color: #2a2a2a !important;
}
[data-theme="dark"] .qs-panel {
    background: #141414 !important;
    border-color: #2a2a2a !important;
}
[data-theme="dark"] .qs-panel-list li {
    color: #cccccc !important;
    border-bottom-color: #2a2a2a !important;
}

/* Plans comparison table dark mode */
.bs-compare-category {
    background: var(--bg-subtle, #f8f9fa);
}
[data-theme="dark"] .bs-compare-category {
    background: var(--bg-subtle, #1e1e1e) !important;
    color: var(--text-primary, #e0e0e0) !important;
}
.bs-compare-footer {
    color: var(--text-secondary, #666);
}
[data-theme="dark"] .bs-compare-footer {
    color: var(--text-secondary, #b0b0b0) !important;
}
[data-theme="dark"] .bs-compare-footer a {
    color: #a76bdf !important;
}

/* Contact page dark mode */
.bs-contact-address {
    color: var(--brand-primary, #3d1a6f);
}
[data-theme="dark"] .bs-contact-address {
    color: var(--text-secondary, #b0b0b0) !important;
}
[data-theme="dark"] .bs-contact-address i {
    color: #a76bdf !important;
}

/* ==========================================================================
   MediaClips page (MC-4/MC-5)
   ========================================================================== */

/* KPI Stats Cards */
.media-stats {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
    position: relative;
}
.media-stat-card {
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    padding: 1rem 1.25rem;
    flex: 1;
    min-width: 140px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    border-left: 4px solid var(--brand-primary, #3d1a6f);
    text-align: center;
}
.media-stat-card .stat-value {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
}
.media-stat-card .stat-label {
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.media-stat-card.success { border-left-color: var(--status-success, #28a745); }
.media-stat-card.info { border-left-color: var(--status-info, #17a2b8); }
.media-stat-card.warning { border-left-color: var(--brand-accent, #fdb913); }

/* Stats Dismiss */
.stats-dismiss-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background: transparent;
    border: none;
    color: var(--text-muted, #999);
    font-size: 1rem;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    transition: all 0.2s;
}
.stats-dismiss-btn:hover {
    background: rgba(0,0,0,0.05);
    color: var(--text-secondary, #666);
}

/* Modern Pager - targets the DataPager rendered output */
[id*="DataPager1"] {
    display: flex; justify-content: center; gap: 0.25rem; padding: 1.5rem 0;
}
[id*="DataPager1"] a.media-pager-btn,
[id*="DataPager1"] a {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 36px; height: 36px; padding: 0 0.5rem;
    border-radius: 8px; font-size: 0.875rem; font-weight: 500;
    text-decoration: none !important; transition: all 0.15s;
    border: 1px solid var(--border-default, #dee2e6); color: var(--brand-primary, #3d1a6f); background: var(--bg-surface, #fff);
}
[id*="DataPager1"] a:hover { background: #f3e8ff; border-color: var(--brand-primary, #3d1a6f); }
[id*="DataPager1"] span.active-page {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 36px; height: 36px; padding: 0 0.5rem;
    border-radius: 8px; font-size: 0.875rem; font-weight: 600;
    background: var(--brand-primary, #3d1a6f); color: var(--text-on-dark, #fff) !important; border: 1px solid var(--brand-primary, #3d1a6f);
}
.stats-bar-collapsed {
    margin-bottom: 1rem;
    text-align: right;
}

/* Filter Bar */
.media-filter-bar {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2rem;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.media-filter-bar .filter-controls {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    flex-wrap: wrap;
}
.media-filter-bar .filter-controls .date-range-group {
    display: flex;
    gap: 0.35rem;
    align-items: center;
}
.media-filter-bar .filter-controls .date-range-group input[type="date"] {
    max-width: 155px;
    font-size: 0.875rem;
}
.media-filter-bar .filter-controls .date-range-group .date-separator {
    color: var(--text-secondary, #666);
    font-size: 0.8rem;
}
.btn-clear-filters {
    background: transparent;
    border: 1px solid var(--border-default, #dee2e6);
    color: var(--text-secondary, #666);
    border-radius: 6px;
    padding: 0.375rem 0.625rem;
    font-size: 0.875rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    transition: all 0.15s;
}
.btn-clear-filters:hover {
    border-color: var(--status-danger, #dc3545);
    color: var(--status-danger, #dc3545);
    background: rgba(220, 53, 69, 0.05);
}

/* MediaClips card ItemTemplate (MC-5) */
.mc-card-col {
    padding-bottom: 3em;
    width: 500px;
}
.media-clip-card {
    position: relative;
    background: var(--bg-surface, #fff);
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.10);
    padding: 1.25rem;
    margin-top: 1rem;
}
.mc-card-actions {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
}

/* ==========================================================================
   MWFeed page (MW-3)
   ========================================================================== */

.stat-card {
    background: var(--bg-surface, #fff);
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    border-left: 4px solid var(--brand-accent, #fdb913);
}
.stat-card .stat-value {
    font-size: 2rem;
    font-weight: bold;
    color: var(--brand-primary, #3d1a6f);
}
.stat-card .stat-label {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
    text-transform: uppercase;
}
.stat-card.sentiment-positive { border-left-color: var(--status-success, #28a745); background: var(--bg-surface, #fff); color: inherit; }
.stat-card.sentiment-neutral { border-left-color: var(--brand-accent, #fdb913); background: var(--bg-surface, #fff); color: inherit; }
.stat-card.sentiment-negative { border-left-color: var(--status-danger, #dc3545); background: var(--bg-surface, #fff); color: inherit; }

.sentiment-badge {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
}
.sentiment-positive { background: var(--status-success-bg, #d4edda); color: var(--status-success-text, #155724); }
.sentiment-neutral { background: var(--status-warning-bg, #fff3cd); color: var(--status-warning-text, #856404); }
.sentiment-negative { background: var(--status-danger-bg, #f8d7da); color: var(--status-danger-text, #721c24); }

.folder-card {
    background: var(--bg-surface, #fff);
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.2s;
}
.folder-card:hover {
    border-color: var(--brand-accent, #fdb913);
    box-shadow: 0 2px 8px rgba(253,185,19,0.2);
}
.folder-card.selected {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--bg-purple-tint, #f8f5ff);
}
.folder-card .folder-name {
    font-weight: 600;
    color: var(--text-primary, #333);
}
.folder-name-link {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
    cursor: pointer;
}
.folder-name-link:hover {
    color: var(--brand-magenta, #7d1d61);
    text-decoration: underline;
}
.folder-card .folder-count {
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}

.help-banner {
    background: linear-gradient(135deg, #3d1a6f 0%, #7d1d61 100%);
    color: var(--text-on-dark, #fff);
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}
.help-banner a {
    color: var(--brand-accent, #fdb913);
}

.bulk-actions {
    background: #e3f2fd;
    padding: 10px 15px;
    border-radius: 8px;
    margin-bottom: 15px;
    display: none;
}
.bulk-actions.show {
    display: flex;
    align-items: center;
    gap: 15px;
}

.item-checkbox {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.mwfeed-action-btn {
    padding: 4px 8px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
}
.mwfeed-action-btn:hover {
    transform: scale(1.1);
}

.crm-status-linked { color: var(--status-success-text, #155724); }
.crm-status-cell .btn-sm {
    padding: 1px 6px;
    font-size: 0.7rem;
}

.mw-intro-banner {
    background: linear-gradient(135deg, #3d1a6f 0%, #5a2d82 50%, #7d1d61 100%);
    color: var(--text-on-dark, #fff);
    padding: 20px 25px;
    border-radius: 8px;
    margin-bottom: 20px;
    position: relative;
}
.mw-intro-banner h5 { color: var(--brand-accent, #fdb913); margin-bottom: 10px; }
.mw-intro-banner ol { padding-left: 20px; margin-bottom: 0; }
.mw-intro-banner ol li { margin-bottom: 6px; }
.mw-intro-banner .btn-dismiss {
    position: absolute;
    top: 10px;
    right: 15px;
    color: rgba(255,255,255,0.7);
    background: none;
    border: none;
    font-size: 1.2rem;
    cursor: pointer;
}
.mw-intro-banner .btn-dismiss:hover { color: var(--text-on-dark, #fff); }

.mw-coverage-cta {
    background: var(--status-info-bg, #e8f4fd);
    border: 1px solid #bee5eb;
    border-left: 4px solid var(--status-info, #17a2b8);
    border-radius: 6px;
    padding: 12px 18px;
    margin-top: 15px;
    margin-bottom: 15px;
}
.mw-coverage-cta a { color: var(--brand-primary, #3d1a6f); font-weight: 600; }
.mw-coverage-cta a:hover { color: var(--brand-magenta, #7d1d61); }

/* MWFeed dark mode overrides */
[data-theme="dark"] .mw-coverage-cta {
    background: var(--bg-subtle) !important;
    border-color: var(--border-default) !important;
}
[data-theme="dark"] .mw-coverage-cta a {
    color: var(--brand-accent-soft, #a76bdf) !important;
}

/* MWFeed webhook config panel -- ensure header strong is readable in dark mode */
[data-theme="dark"] #webhookConfigPanel .card-body strong,
[data-theme="dark"] #webhookConfigPanel .card-body .btn-outline-secondary {
    color: var(--text-primary) !important;
}
[data-theme="dark"] #webhookConfigPanel .card-body .btn-outline-secondary {
    border-color: var(--border-default) !important;
}

/* MWFeed folders header -- use brand accent so it reads in dark mode */
[data-theme="dark"] #panelFolderList > .row h5,
[data-theme="dark"] #panelItemList > .row h5 {
    color: var(--text-primary) !important;
}

/* ─────────────────────────────────────────────────────────────
   CONTRAST GUARANTEE -- force dark text on bright bg in dark mode.
   Any element with gold/yellow/amber solid background must keep dark
   text (#333) in both modes; without this override the tokens flip
   --text-primary to #e8e8e8 (near-white) which is unreadable on gold.
   ───────────────────────────────────────────────────────────── */
[data-theme="dark"] .ic-toast.warning,
[data-theme="dark"] .calendar-setup-actions .btn-primary,
[data-theme="dark"] .top-engaged-card.gold .top-engaged-rank,
[data-theme="dark"] .top-engaged-card.silver .top-engaged-rank,
[data-theme="dark"] .add-contact-row .contact-interests mark,
[data-theme="dark"] .outlet-badge.type,
[data-theme="dark"] .profile-badge.type,
[data-theme="dark"] .social-quota-badge.quota-low {
    color: #333 !important;
}

/* === Briefing Card === */
.briefing-card { padding: 12px; border: 1px solid var(--border-default, #dddddd); border-radius: 6px; background: var(--bg-surface, #ffffff); margin: 8px 0; }
.briefing-card-empty { color: var(--text-muted, #999999); font-style: italic; padding: 8px; }
.briefing-card-header { margin-bottom: 8px; }
.briefing-card-name { font-weight: 600; font-size: 1.05em; color: var(--text-primary, #333333); margin: 0; }
.briefing-card-pub { color: var(--text-secondary, #666666); font-size: 0.9em; }
.briefing-card-email { margin: 6px 0; font-size: 0.95em; }
.briefing-card-provenance { color: var(--text-muted, #999999); font-size: 0.85em; }
.briefing-card-bounce { font-size: 0.85em; }
.briefing-card-stats { color: var(--text-secondary, #666666); font-size: 0.9em; margin: 4px 0; }
.briefing-card-topics { margin: 6px 0; font-size: 0.9em; color: var(--text-secondary, #666666); }
.briefing-card-articles { margin-top: 10px; }
.briefing-card-articles-label { margin-bottom: 4px; }
.briefing-card-articles-list { list-style: none; padding-left: 0; margin: 0; }
.briefing-card-articles-list li { padding: 3px 0; font-size: 0.9em; line-height: 1.4; }
.briefing-card-article-date { color: var(--text-muted, #999999); font-family: monospace; font-size: 0.85em; margin-right: 6px; }
.briefing-card-article-pub { color: var(--text-muted, #999999); font-size: 0.85em; }
.briefing-card-articles-empty { font-style: italic; color: var(--text-muted, #999999); margin-top: 8px; font-size: 0.9em; }
.briefing-card-social { margin-top: 8px; font-size: 0.9em; }
.briefing-card-recent { margin-top: 4px; font-size: 0.85em; color: var(--text-secondary, #666666); }
.briefing-card-compact { padding: 8px; }
.briefing-card-compact .briefing-card-name { font-size: 0.95em; }

/* Expanded mode: two-column layout via .briefing-card-meta wrapper (left) + .briefing-card-articles (right) */
.briefing-card-expanded { display: grid; grid-template-columns: minmax(280px, 1fr) 1.4fr; gap: 4px 28px; align-items: start; }
.briefing-card-meta { display: flex; flex-direction: column; gap: 6px; }
.briefing-card-social { grid-column: 1 / -1; }
@media (max-width: 720px) { .briefing-card-expanded { grid-template-columns: 1fr; } }

/* Outlets list: inline pills (matches interest-badges pattern) */
.contact-outlets-section .contact-outlets-list { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.contact-outlets-list-items { display: contents; }
.outlet-mapping-item.outlet-pill { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 12px; background: var(--bg-purple-tint, #f0ebf7); color: var(--text-primary, #333); font-size: 0.85em; line-height: 1.4; }
.outlet-mapping-item.outlet-pill .outlet-info { display: inline-flex; align-items: center; gap: 4px; }
.outlet-mapping-item.outlet-pill .outlet-info i { color: var(--brand-primary, #3d1a6f); font-size: 0.85em; }
.outlet-mapping-item.outlet-pill .outlet-info strong { font-weight: 500; }
.outlet-mapping-item.outlet-pill .outlet-info .badge { font-size: 0.7em; padding: 2px 5px; }
.outlet-mapping-item.outlet-pill .outlet-state { color: var(--text-muted, #999); font-size: 0.85em; }
.outlet-mapping-item.outlet-pill .btn-remove-outlet { background: none; border: none; color: var(--status-danger, #dc3545); padding: 0 0 0 2px; font-size: 0.95em; cursor: pointer; opacity: 0.5; }
.outlet-mapping-item.outlet-pill .btn-remove-outlet:hover { opacity: 1; }
.contact-outlets-section .add-to-outlet-btn { background: none; border: 1px dashed var(--border-default, #ddd); color: var(--text-secondary, #666); padding: 3px 8px; border-radius: 12px; font-size: 0.85em; cursor: pointer; }
.contact-outlets-section .add-to-outlet-btn:hover { border-color: var(--brand-primary, #3d1a6f); color: var(--brand-primary, #3d1a6f); }

/* Inline +Add affordance next to Interests label */
.contact-interests .add-interest-btn { background: none; border: 1px dashed var(--border-default, #ddd); color: var(--text-secondary, #666); padding: 1px 7px; border-radius: 10px; font-size: 0.8em; margin-left: 4px; cursor: pointer; }
.contact-interests .add-interest-btn:hover { border-color: var(--brand-primary, #3d1a6f); color: var(--brand-primary, #3d1a6f); }

/* === Contact card reshape (2026-04-28) === */
.email-verification-chip { display: inline-block; padding: 1px 6px; border-radius: 8px; font-size: 0.75rem; font-weight: 500; margin-left: 6px; }
.email-verification-chip.ok { background: var(--status-success-bg, #d4edda); color: var(--status-success-text, #155724); }
.email-verification-chip.warn { background: var(--status-warning-bg, #fff3cd); color: var(--status-warning-text, #856404); }
.email-verification-chip.danger { background: var(--status-danger-bg, #f8d7da); color: var(--status-danger-text, #721c24); }
.briefing-panel-header { font-size: 0.85rem; font-weight: 600; color: var(--text-secondary, #666666); margin: 12px 0 6px; text-transform: uppercase; letter-spacing: 0.5px; }
.briefing-panel-header i { color: var(--brand-accent, #fdb913); margin-right: 4px; }
.briefing-panel-container { margin-top: 4px; }
.contact-note-inline { font-size: 0.9em; padding: 6px 0; color: var(--text-body, #d4d4d4); }
.contact-note-inline em { color: var(--text-secondary, #999); margin-right: 4px; }
.contact-note-add, .add-special-note, .add-to-group { font-size: 0.85em; color: var(--text-secondary, #888); display: inline-block; padding: 4px 0; }
.contact-note-add:hover, .add-special-note:hover, .add-to-group:hover { color: var(--accent, #fdb913); text-decoration: none; }

/* ===== EmailPitching V2 person grid ===== */
.ep-grid-v2 .ep-rule-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: var(--bg-soft, #f8f6fc);
    border: 1px solid var(--border-soft, #e6e0f0);
    border-radius: 6px;
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
}
.ep-grid-v2 .ep-rule-bar-label {
    font-weight: 600;
    color: var(--text-secondary, #555);
    font-size: 0.85rem;
}
.ep-grid-v2 .ep-rule-chips {
    display: flex;
    gap: 0.25rem;
    flex-wrap: wrap;
    flex: 1;
}
.ep-grid-v2 .ep-rule-clear {
    margin-left: auto;
    padding: 0;
    font-size: 0.8rem;
}
.ep-grid-v2 .ep-rule-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.2rem 0.55rem;
    border-radius: 12px;
    font-size: 0.8rem;
    line-height: 1.2;
    background: var(--bg-muted, #e9ecef);
    color: var(--text-primary, #333);
    border: 1px solid transparent;
}
.ep-grid-v2 .ep-rule-chip-include  { background: var(--status-success-bg, #dff5e3); color: var(--status-success-text, #1d6f3a); border-color: var(--status-success-border, #b9e6c4); }
.ep-grid-v2 .ep-rule-chip-exclude  { background: var(--status-danger-bg, #fde2e2); color: var(--status-danger-text, #8a1f1f); border-color: var(--status-danger-border, #f3b9b9); }
.ep-grid-v2 .ep-rule-chip-forceIn  { background: var(--status-success, #1d6f3a); color: #fff; }
.ep-grid-v2 .ep-rule-chip-forceOut { background: var(--status-danger, #8a1f1f); color: #fff; }
.ep-grid-v2 .ep-rule-chip-x {
    color: inherit;
    text-decoration: none;
    font-weight: 700;
    opacity: 0.7;
}
.ep-grid-v2 .ep-rule-chip-x:hover { opacity: 1; }

.ep-grid-v2 .ep-outlet-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
}
.ep-grid-v2 .ep-outlet-chip {
    display: inline-block;
    padding: 0.1rem 0.4rem;
    border-radius: 8px;
    font-size: 0.72rem;
    background: var(--bg-muted, #e9ecef);
    color: var(--text-secondary, #555);
    line-height: 1.3;
}
.ep-grid-v2 .ep-outlet-chip-more {
    background: var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
    cursor: help;
    font-weight: 600;
}
.ep-grid-v2 .ep-outlet-chip-popover {
    cursor: pointer;
    text-decoration: none;
}
.ep-outlet-popover-list {
    max-height: 320px;
    overflow-y: auto;
    font-size: 0.8rem;
    line-height: 1.4;
}
.ep-outlet-popover-list > div {
    padding: 0.15rem 0;
    border-bottom: 1px solid var(--border-soft, #eee);
}
.ep-outlet-popover-list > div:last-child {
    border-bottom: none;
}

/* =============================================================================
   Buzzscribed Canonical Footer (.bs-footer)
   Single source of truth -- replaces inline <style> blocks in every master.
   3-column grid: brand left, optional middle (disclaimer / session info), links right.
   Branded purple gradient with gold accent strip works in light + dark mode.
============================================================================= */
.bs-footer {
    flex-shrink: 0;
    margin-top: auto;
    padding: 2rem 0 1.5rem;
    background: linear-gradient(180deg, #3d1a6f 0%, #2d1352 100%);
    background-clip: padding-box;
    color: #ffffff;
    position: relative;
    border-top: 5rem solid transparent;
}
.bs-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, #fdb913 30%, #fdb913 70%, transparent 100%);
}
.bs-footer-container {
    width: 100%;
    margin: 0;
    padding: 0 2.5rem;
}
.bs-footer-content {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr) max-content;
    align-items: center;
    gap: 2.5rem;
    width: 100%;
}
.bs-footer-brand {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    text-align: left;
}
.bs-footer-wordmark {
    font-family: 'Outfit', 'Rubik', -apple-system, sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #fdb913;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.bs-footer-wordmark::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fdb913;
    display: inline-block;
    box-shadow: 0 0 8px rgba(253, 185, 19, 0.6);
}
.bs-footer-copyright {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.6);
    letter-spacing: 0.02em;
}
.bs-footer-middle {
    font-size: 0.78rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
    padding: 0 1rem;
    margin: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}
.bs-footer-middle.bs-footer-disclaimer {
    font-size: 0.72rem;
    font-style: italic;
    color: rgba(255, 255, 255, 0.55);
}
.bs-footer-middle .bs-footer-user {
    color: inherit;
    font-weight: inherit;
    margin-left: 4px;
}
.bs-footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.4rem 1.25rem;
}
.bs-footer-link {
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    letter-spacing: 0.01em;
    white-space: nowrap;
    transition: color 0.18s ease;
}
.bs-footer-link:hover {
    color: #fdb913;
    text-decoration: none;
}
@media (max-width: 900px) {
    .bs-footer-content {
        grid-template-columns: 1fr;
        gap: 1.25rem;
        text-align: center;
    }
    .bs-footer-brand {
        align-items: center;
        text-align: center;
    }
    .bs-footer-middle {
        border-left: none;
        border-right: none;
        padding: 0.75rem 0;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }
    .bs-footer-links {
        justify-content: center;
    }
}

/* Dark mode: footer background flips to black; gold accent strip retained */
[data-theme="dark"] .bs-footer {
    background: linear-gradient(180deg, #0a0a0a 0%, #000000 100%);
    border-top: 5rem solid transparent;
}

/* ============================================================================
   Talent Triage UI -- banner + modal + row layout
   Used by Pages/CRM/Talent.aspx (TalentModule.js)
   ============================================================================ */

/* Clickable stat card (used on the "Mentioned" card to open triage modal) */
.crm-stat-card-clickable {
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.crm-stat-card-clickable:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(61, 26, 111, 0.18);
}

/* Banner above search bar */
.talent-triage-banner {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1rem;
    margin: 0 1rem 1rem 1rem;
    border-radius: 10px;
    background: var(--surface-elev, #f6f1ff);
    border: 1px solid var(--border-light, #e0d4f5);
    color: var(--text-body, #2d2438);
}
.talent-triage-banner-icon {
    font-size: 1.4rem;
    color: var(--brand-primary, #3d1a6f);
    flex: 0 0 auto;
}
.talent-triage-banner-text {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
.talent-triage-banner-sub {
    font-size: 0.85rem;
    color: var(--text-muted, #6b6280);
    margin-top: 0.1rem;
}
.talent-triage-banner-dismiss {
    color: var(--text-muted, #6b6280) !important;
    padding: 0.25rem 0.5rem !important;
    text-decoration: none !important;
}
.talent-triage-banner-dismiss:hover {
    color: var(--brand-primary, #3d1a6f) !important;
}
[data-theme="dark"] .talent-triage-banner {
    background: rgba(125, 87, 196, 0.08);
    border-color: rgba(125, 87, 196, 0.35);
    color: var(--text-body, #d4d4d4);
}

/* Modal */
.talent-triage-modal .body {
    padding: 1.25rem 1.5rem;
}
.talent-triage-help {
    background: var(--surface-elev, #f6f1ff);
    border-left: 3px solid var(--brand-primary, #3d1a6f);
    padding: 0.6rem 0.9rem;
    border-radius: 6px;
    margin-bottom: 1rem;
    font-size: 0.9rem;
}
.talent-triage-help i {
    color: var(--brand-primary, #3d1a6f);
    margin-right: 0.4rem;
}
[data-theme="dark"] .talent-triage-help {
    background: rgba(125, 87, 196, 0.08);
    border-left-color: var(--brand-secondary, #b89cf2);
}

.talent-triage-toolbar {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}
.talent-triage-toolbar-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.talent-triage-toolbar-group .form-label {
    margin: 0;
    font-size: 0.85rem;
    color: var(--text-muted, #6b6280);
}
.talent-triage-toolbar-group select {
    min-width: 160px;
}
.talent-triage-toolbar-spacer {
    flex: 1 1 auto;
}
.talent-triage-bulk-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--surface-elev, #f6f1ff);
    padding: 0.4rem 0.75rem;
    border-radius: 8px;
}
[data-theme="dark"] .talent-triage-bulk-bar {
    background: rgba(125, 87, 196, 0.08);
}

/* Row */
.talent-triage-queue {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.triage-row {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    background: var(--card-bg, #fff);
    transition: border-color 0.12s ease;
}
.triage-row.selected {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--surface-elev, #f6f1ff);
}
[data-theme="dark"] .triage-row {
    background: var(--card-bg, #1f1933);
    border-color: rgba(255, 255, 255, 0.08);
}
[data-theme="dark"] .triage-row.selected {
    background: rgba(125, 87, 196, 0.10);
    border-color: var(--brand-secondary, #b89cf2);
}
.triage-row-select {
    flex: 0 0 auto;
    padding-top: 0.3rem;
}
.triage-row-body {
    flex: 1 1 auto;
    min-width: 0;
}
.triage-row-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.triage-row-name {
    font-weight: 600;
    font-size: 1rem;
}
.triage-row-title {
    font-weight: 400;
    color: var(--text-muted, #6b6280);
    font-size: 0.9rem;
}
.triage-row-meta {
    font-size: 0.8rem;
    color: var(--text-muted, #6b6280);
}
.triage-mentions-badge {
    display: inline-block;
    background: var(--brand-primary, #3d1a6f);
    color: #fff;
    border-radius: 10px;
    padding: 0.1rem 0.55rem;
    font-size: 0.75rem;
    font-weight: 600;
    margin-right: 0.4rem;
}
.triage-row-contact {
    margin-top: 0.35rem;
    font-size: 0.85rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.triage-contact i {
    color: var(--text-muted, #6b6280);
    margin-right: 0.25rem;
}
.triage-contact-empty {
    color: var(--text-muted, #6b6280);
    font-style: italic;
}
.triage-merge-suggestion {
    margin-top: 0.4rem;
    font-size: 0.85rem;
    color: var(--text-muted, #6b6280);
    background: var(--surface-elev, #f6f1ff);
    border-radius: 6px;
    padding: 0.35rem 0.6rem;
}
.triage-merge-suggestion i {
    color: var(--brand-primary, #3d1a6f);
    margin-right: 0.25rem;
}
[data-theme="dark"] .triage-merge-suggestion {
    background: rgba(125, 87, 196, 0.10);
}
.triage-row-actions {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    align-items: stretch;
    min-width: 170px;
}
.triage-row-actions .btn {
    white-space: nowrap;
}

@media (max-width: 768px) {
    .triage-row {
        flex-direction: column;
    }
    .triage-row-actions {
        flex-direction: row;
        flex-wrap: wrap;
        min-width: 0;
        width: 100%;
    }
    .triage-row-actions .btn {
        flex: 1 1 0;
    }
    .talent-triage-banner {
        flex-wrap: wrap;
    }
}

/* ============================================================================
   Talent Page Intro: info-box + welcome wizard
   ============================================================================ */

/* "?" help button in page-actions */
.talent-help-btn {
    color: var(--text-muted, #6b6280) !important;
    font-size: 1.2rem;
    text-decoration: none !important;
    padding: 0.25rem 0.5rem !important;
    line-height: 1;
}
.talent-help-btn:hover {
    color: var(--brand-primary, #3d1a6f) !important;
}

/* Inline info-box (always-on, dismissible per-session) */
.talent-info-box {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    margin: 0 0 1rem 0;
    border-radius: 10px;
    background: var(--surface-elev, #f6f1ff);
    border-left: 4px solid var(--brand-primary, #3d1a6f);
    color: var(--text-body, #2d2438);
    font-size: 0.92rem;
}
.talent-info-box-icon {
    flex: 0 0 auto;
    font-size: 1.4rem;
    color: var(--brand-primary, #3d1a6f);
}
.talent-info-box-text {
    flex: 1 1 auto;
    line-height: 1.5;
}
.talent-info-box-more {
    margin-left: 0.5rem;
    color: var(--brand-primary, #3d1a6f);
    text-decoration: underline;
    font-weight: 600;
    white-space: nowrap;
}
.talent-info-box-more:hover {
    color: var(--brand-secondary, #b89cf2);
}
.talent-info-box-dismiss {
    color: var(--text-muted, #6b6280) !important;
    padding: 0.25rem 0.5rem !important;
    text-decoration: none !important;
}
.talent-info-box-dismiss:hover {
    color: var(--brand-primary, #3d1a6f) !important;
}
[data-theme="dark"] .talent-info-box {
    background: rgba(125, 87, 196, 0.08);
    border-left-color: var(--brand-secondary, #b89cf2);
    color: var(--text-body, #d4d4d4);
}
[data-theme="dark"] .talent-info-box-more {
    color: var(--brand-secondary, #b89cf2);
}

/* Welcome wizard modal -- guided, not draggable/closable from header.
   Skip + Got-it in the footer are the user-facing close path. The fullscreen
   button is auto-injected by Site.Master into every .modalPopup .header; we
   suppress it here because a 4-step explainer doesn't need fullscreen. */
.talent-welcome-modal .header .bh-modal-fullscreen-btn,
.talent-welcome-modal .header .btn-close {
    display: none !important;
}
.talent-welcome-modal .body {
    padding: 1.5rem 1.75rem;
}
.welcome-steps-nav {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
}
.welcome-step-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--border-light, #d8d3e3);
    transition: background-color 0.15s ease, transform 0.15s ease;
}
.welcome-step-dot.active {
    background: var(--brand-primary, #3d1a6f);
    transform: scale(1.15);
}
[data-theme="dark"] .welcome-step-dot {
    background: rgba(255, 255, 255, 0.18);
}
[data-theme="dark"] .welcome-step-dot.active {
    background: var(--brand-secondary, #b89cf2);
}

.welcome-step {
    display: none;
    text-align: center;
    padding: 0.5rem 0;
}
.welcome-step.active {
    display: block;
    animation: welcomeStepFade 0.18s ease-out;
}
@keyframes welcomeStepFade {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
.welcome-step-icon {
    font-size: 2.5rem;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0.75rem;
}
[data-theme="dark"] .welcome-step-icon {
    color: var(--brand-secondary, #b89cf2);
}
.welcome-step h4 {
    margin: 0 0 0.75rem 0;
    color: var(--page-title-color, #3d1a6f);
}
.welcome-step p {
    text-align: left;
    line-height: 1.55;
    margin-bottom: 0.75rem;
}
.welcome-step-points {
    text-align: left;
    padding-left: 1.25rem;
    margin: 0.5rem 0;
    line-height: 1.55;
}
.welcome-step-points li {
    margin-bottom: 0.4rem;
}
.welcome-step-tip {
    background: var(--surface-elev, #f6f1ff);
    border-left: 3px solid var(--brand-primary, #3d1a6f);
    padding: 0.6rem 0.9rem;
    border-radius: 6px;
    text-align: left;
    margin-top: 0.75rem !important;
    font-size: 0.9rem;
}
.welcome-step-tip i {
    color: var(--brand-primary, #3d1a6f);
    margin-right: 0.4rem;
}
[data-theme="dark"] .welcome-step-tip {
    background: rgba(125, 87, 196, 0.10);
    border-left-color: var(--brand-secondary, #b89cf2);
}

.welcome-footer {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-light, #e9ecef);
}
.welcome-footer-spacer {
    flex: 1 1 auto;
}
[data-theme="dark"] .welcome-footer {
    border-top-color: rgba(255, 255, 255, 0.08);
}

@media (max-width: 768px) {
    .talent-info-box {
        flex-wrap: wrap;
    }
    .welcome-step-icon {
        font-size: 2rem;
    }
}

/* ========================================================================
   Reminders modal -- Site.Master PanelModalReminders
   Two sections (Overdue Story Activities + My Private Reminders) rendered
   by SiteMasterGrids.js. Brand purple+gold, dark-mode-safe via tokens.
   ======================================================================== */
#PanelModalReminders .body > h4 {
    color: var(--brand-primary, #3d1a6f);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 1rem 0;
    padding: 0 0 0.5rem 0;
    border-bottom: 2px solid #fdb913;
}
#PanelModalReminders .body > h4 + #campaignRemindersBody,
#PanelModalReminders .body > h4 + #myRemindersBody {
    margin-bottom: 0.5rem;
}
#PanelModalReminders .body > h4 ~ h4 {
    margin-top: 2rem;
}
[data-theme="dark"] #PanelModalReminders .body > h4 {
    color: var(--page-title-color, #e5d9ff);
}

#PanelModalReminders #LBNewPersonalReminder {
    margin-bottom: 0.75rem;
}

.reminder-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.25rem;
    border-bottom: 1px solid var(--border-subtle, #e9e7ee);
}
.reminder-row:last-child {
    border-bottom: none;
}
[data-theme="dark"] .reminder-row {
    border-bottom-color: var(--border-subtle, #2c2c33);
}

.reminder-row .reminder-priority {
    flex: 0 0 auto;
    min-width: 36px;
    text-align: center;
}
.reminder-row .reminder-body {
    flex: 1 1 auto;
    min-width: 0;
}
.reminder-row .reminder-title {
    font-weight: 600;
    color: var(--text-primary, #2a2a2a);
    line-height: 1.35;
    word-break: break-word;
}
[data-theme="dark"] .reminder-row .reminder-title {
    color: var(--text-body, #d4d4d4);
}
.reminder-row .reminder-sub {
    font-size: 0.8rem;
    color: var(--text-secondary, #6c757d);
    margin-top: 0.15rem;
}
.reminder-row .reminder-due {
    font-size: 0.8rem;
    color: var(--text-secondary, #6c757d);
    margin-top: 0.25rem;
}
.reminder-row .reminder-due i {
    margin-right: 0.3rem;
}
.reminder-row .reminder-due-overdue {
    color: var(--status-danger, #c0392b);
}
.reminder-row .action-btn-group {
    flex: 0 0 auto;
}

/* Loader (shown during async load of either reminders section) */
.reminders-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1.5rem 1rem;
    color: var(--text-secondary, #6c757d);
    font-size: 0.9rem;
}
.reminders-loader i {
    color: var(--brand-primary, #3d1a6f);
    font-size: 1.1rem;
}
[data-theme="dark"] .reminders-loader i {
    color: var(--page-title-color, #e5d9ff);
}

/* Add / Edit Personal Reminder modals -- form styling for brand consistency.
   Sizing/resize handled natively via Width="90%" in markup + global
   .modalPopup.resizableModal styles + jQuery UI resizable. */
#PanelAddPersonalTask .body .form-label,
#PanelEditPersonalTask .body .form-label {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.4rem;
}
[data-theme="dark"] #PanelAddPersonalTask .body .form-label,
[data-theme="dark"] #PanelEditPersonalTask .body .form-label {
    color: var(--page-title-color, #e5d9ff);
}

/* Stack labels above inputs (full-width) so we don't waste 25% of the modal
   on a narrow label gutter. Each col becomes a full-width block. Multi-pair
   rows (Assigned To + Created By in Edit modal) collapse to four stacked
   blocks -- consistent shape, all fields use full width. */
#PanelAddPersonalTask .body .row.mb-3,
#PanelEditPersonalTask .body .row.mb-3 {
    display: block;
    margin-bottom: 1rem !important;
}
#PanelAddPersonalTask .body .row.mb-3 > [class*="col-"],
#PanelEditPersonalTask .body .row.mb-3 > [class*="col-"] {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding-left: 0;
    padding-right: 0;
}
#PanelAddPersonalTask .body .row.mb-3 > [class*="col-"]:not(:first-child),
#PanelEditPersonalTask .body .row.mb-3 > [class*="col-"]:not(:first-child) {
    margin-top: 0.5rem;
}
/* Form inputs in reminder modals: full width, tighter padding, brand focus */
#PanelAddPersonalTask .body .form-control,
#PanelEditPersonalTask .body .form-control {
    width: 100%;
    padding: 0.5rem 0.75rem;
    font-size: 0.95rem;
}
#PanelAddPersonalTask .body .form-control:focus,
#PanelEditPersonalTask .body .form-control:focus {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 0 0.15rem rgba(61, 26, 111, 0.15);
}

/* Save button -- override forbidden btn-success per ui-design-rules */
#PanelAddPersonalTask .btn-success,
#PanelEditPersonalTask .btn-success {
    background: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    color: #fff;
    padding: 0.5rem 1.25rem;
    font-weight: 600;
}
#PanelAddPersonalTask .btn-success:hover,
#PanelEditPersonalTask .btn-success:hover,
#PanelAddPersonalTask .btn-success:focus,
#PanelEditPersonalTask .btn-success:focus {
    background: #5a2d9e;
    border-color: #5a2d9e;
    color: #fff;
    box-shadow: 0 0 0 0.15rem rgba(61, 26, 111, 0.25);
}

/* Stacked label-above-input layout for form modals -- mirrors
   PanelAddPersonalTask pattern (Site.Master). Markup keeps col-md-3/col-md-9
   for backwards compat; CSS forces each col to full-width block, eliminating
   the wasted left gutter visible on wide modals. */
#PanelModalAddPayment .body .form-label,
#PanelModalEditPayment .body .form-label,
#PanelAddNewContact .body .form-label,
#PanelCopytoGroup .body .form-label {
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.4rem;
}
[data-theme="dark"] #PanelModalAddPayment .body .form-label,
[data-theme="dark"] #PanelModalEditPayment .body .form-label,
[data-theme="dark"] #PanelAddNewContact .body .form-label,
[data-theme="dark"] #PanelCopytoGroup .body .form-label {
    color: var(--page-title-color, #e5d9ff);
}
#PanelModalAddPayment .body .row.mb-3,
#PanelModalEditPayment .body .row.mb-3,
#PanelAddNewContact .body .row.mb-3,
#PanelCopytoGroup .body .row.mb-3 {
    display: block;
    margin-bottom: 1rem !important;
}
#PanelModalAddPayment .body .row.mb-3 > [class*="col-"],
#PanelModalEditPayment .body .row.mb-3 > [class*="col-"],
#PanelAddNewContact .body .row.mb-3 > [class*="col-"],
#PanelCopytoGroup .body .row.mb-3 > [class*="col-"] {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding-left: 0;
    padding-right: 0;
}
#PanelModalAddPayment .body .row.mb-3 > [class*="col-"]:not(:first-child),
#PanelModalEditPayment .body .row.mb-3 > [class*="col-"]:not(:first-child),
#PanelAddNewContact .body .row.mb-3 > [class*="col-"]:not(:first-child),
#PanelCopytoGroup .body .row.mb-3 > [class*="col-"]:not(:first-child) {
    margin-top: 0.25rem;
}
#PanelModalAddPayment .body .form-control,
#PanelModalEditPayment .body .form-control,
#PanelAddNewContact .body .form-control,
#PanelCopytoGroup .body .form-control {
    width: 100%;
}
#PanelModalAddPayment .body .form-control:focus,
#PanelModalEditPayment .body .form-control:focus,
#PanelAddNewContact .body .form-control:focus,
#PanelCopytoGroup .body .form-control:focus {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 0 0.15rem rgba(61, 26, 111, 0.15);
}
#PanelModalAddPayment .body .container,
#PanelModalEditPayment .body .container,
#PanelAddNewContact .body .container {
    width: 100%;
    max-width: 100%;
}

/* BH Resource Allocator (shared slider component for AM + EngagementHub) */
.bh-resalloc-row {
    background: var(--bg-subtle, #f8f9fa);
    border-color: var(--border-subtle, #e9ecef) !important;
}
.bh-resalloc-row .bh-resalloc-name {
    font-weight: 600;
    font-size: 0.85rem;
}
.bh-resalloc-row .bh-resalloc-slider {
    accent-color: var(--brand-primary, #5d3fd3);
}
.bh-resalloc-row .bh-resalloc-pct,
.bh-resalloc-row .bh-resalloc-hours {
    font-variant-numeric: tabular-nums;
}
.bh-resalloc-empty {
    color: var(--text-muted, #6c757d);
    font-size: 0.85rem;
}

/* Signoff prompt banner (Engagement Hub Schedule tab) */
.bh-signoff-banner {
    background: linear-gradient(135deg, rgba(93,63,211,0.08), rgba(93,63,211,0.04));
    border: 1px solid rgba(93,63,211,0.25);
    border-radius: 6px;
    padding: 0.75rem 1rem;
    margin-bottom: 0.75rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.bh-signoff-banner .bh-signoff-message {
    font-size: 0.9rem;
    flex: 1 1 auto;
}
.bh-signoff-banner .bh-signoff-message strong {
    color: var(--brand-primary, #5d3fd3);
}
.bh-signoff-banner .bh-signoff-actions {
    display: flex;
    gap: 0.5rem;
    flex: 0 0 auto;
}
[data-theme="dark"] .bh-signoff-banner {
    background: linear-gradient(135deg, rgba(143,113,242,0.12), rgba(143,113,242,0.06));
    border-color: rgba(143,113,242,0.35);
}

/* ============================================================
   Share Tools -- cards used by ShareGatedContent + SurveyForms
   SHARE tabs (2026-05-16)
   ============================================================ */
.bh-share-root { max-width: 760px; }
.bh-share-card {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    padding: 1.25rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.bh-share-card h6 {
    font-weight: 600;
    margin-bottom: 0.25rem;
    color: var(--text-primary, #333);
}
.bh-share-card .bh-share-hint {
    color: var(--text-secondary, #666);
    font-size: 0.85rem;
    margin-bottom: 0.75rem;
}
.bh-share-row {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
    flex-wrap: wrap;
}
.bh-share-row > .form-control { flex: 1 1 280px; min-width: 0; }
.bh-share-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.85rem; }
.bh-share-row > textarea.form-control { resize: vertical; min-height: 70px; }
.bh-share-inline-label { flex: 0 0 auto; margin: 0; color: var(--text-secondary, #666); font-size: 0.85rem; }
.bh-share-chips { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.bh-share-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 500;
    background: var(--bg-muted, #f1f3f5);
    color: var(--text-primary, #333);
}
.bh-share-chip.ok { background: var(--status-success-bg, #d4edda); color: var(--status-success-text, #155724); }
.bh-share-chip.warn { background: var(--status-warning-bg, #fff3cd); color: var(--status-warning-text, #856404); }
.bh-share-chip.danger { background: var(--status-danger-bg, #f8d7da); color: var(--status-danger-text, #721c24); }
.bh-share-qr { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.bh-share-qr-canvas {
    padding: 0.5rem;
    background: #fff;
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 6px;
    display: inline-block;
}
.bh-share-qr-canvas canvas,
.bh-share-qr-canvas img { display: block; }
.bh-share-copied { background: var(--status-success, #28a745) !important; border-color: var(--status-success, #28a745) !important; color: #fff !important; }
.bh-share-url-picker { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.bh-share-url-picker label {
    flex: 1 1 200px;
    margin: 0;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 6px;
    background: var(--bg-surface, #fff);
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}
.bh-share-url-picker input[type="radio"] { margin-top: 0.25rem; }
.bh-share-url-picker label.selected {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--brand-primary-tint, rgba(61,26,111,0.06));
}
.bh-share-url-picker .bh-share-url-picker-title { font-weight: 600; font-size: 0.9rem; }
.bh-share-url-picker .bh-share-url-picker-desc { font-size: 0.8rem; color: var(--text-secondary, #666); }
[data-theme="dark"] .bh-share-card { background: var(--bg-surface, #1f2433); border-color: rgba(255,255,255,0.08); }
[data-theme="dark"] .bh-share-qr-canvas { background: #fff; }

/* Rendered link preview box -- mimics how an email recipient sees the link.
   Email-client default link colour for fidelity. */
.bh-share-preview {
    padding: 1rem 1.1rem;
    border: 1px dashed var(--border-strong, #ced4da);
    border-radius: 6px;
    background: var(--bg-subtle, #fafafa);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 0.95rem;
    color: var(--text-primary, #333);
    min-height: 48px;
    line-height: 1.4;
}
.bh-share-preview-label {
    display: block;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-secondary, #666);
    margin-bottom: 0.4rem;
    font-family: inherit;
}
.bh-share-preview a {
    color: #1155cc;
    text-decoration: underline;
}
[data-theme="dark"] .bh-share-preview { background: var(--bg-muted, #1e1e1e); border-color: rgba(255,255,255,0.18); }
[data-theme="dark"] .bh-share-preview a { color: #8ab4f8; }

.bh-share-toolbar {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 0.75rem;
}
.bh-share-toolbar .bh-share-toolbar-spacer { flex: 1; }
.bh-share-toolbar .btn-link {
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
    font-size: 0.85rem;
    padding: 0.25rem 0.5rem;
}
.bh-share-toolbar .btn-link:hover { text-decoration: underline; }

.bh-share-tip {
    margin-top: 0.75rem;
    padding: 0.6rem 0.75rem;
    background: var(--brand-primary-tint, rgba(61,26,111,0.05));
    border-radius: 6px;
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
    line-height: 1.4;
}
.bh-share-tip i { color: var(--brand-primary, #3d1a6f); margin-right: 0.35rem; }
[data-theme="dark"] .bh-share-tip { background: rgba(167,107,223,0.08); }

.bh-share-qr-actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start;
}

/* Live demo slot inside the Embed card -- shows the actual rendered button or
   iframe so admins can see what they're picking before they ship it. */
.bh-share-demo {
    margin-top: 0.75rem;
    padding: 1rem;
    border: 1px dashed var(--border-light, #e9ecef);
    border-radius: 6px;
    background: var(--bg-subtle, #fafafa);
}
.bh-share-demo-label {
    display: block;
    font-size: 0.8rem;
    color: var(--text-secondary, #666);
    margin-bottom: 0.6rem;
}
.bh-share-demo-label i { color: var(--brand-primary, #3d1a6f); margin-right: 0.35rem; }
.bh-share-demo iframe {
    width: 100%;
    height: 360px;
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 6px;
    background: #fff;
    display: block;
}
.bh-share-demo .bh-share-demo-helper {
    margin-top: 0.5rem;
    font-size: 0.75rem;
    color: var(--text-secondary, #666);
    font-style: italic;
}
[data-theme="dark"] .bh-share-demo { background: var(--bg-muted, #1e1e1e); border-color: rgba(255,255,255,0.18); }
[data-theme="dark"] .bh-share-demo iframe { border-color: rgba(255,255,255,0.18); }

/* ============================================================================
   .bh-row-clickable -- generic table-row click affordance (2026-05-16)
   --------------------------------------------------------------------------
   Apply to <tr> to make the whole row open its detail view on click.
   Action buttons inside the row must call event.stopPropagation() so they
   don't double-fire. Cursor + hover tint match the page-action priority.
   ============================================================================ */
tr.bh-row-clickable { cursor: pointer; transition: background 0.12s ease; }
tr.bh-row-clickable:hover { background: var(--bg-purple-tint, #f0edf5); }
tr.bh-row-clickable:hover td { background: transparent; }
[data-theme="dark"] tr.bh-row-clickable:hover { background: rgba(199, 184, 236, 0.08); }

/* ============================================================================
   .bh-outcome-btn -- stateful quick-log buttons in a row (2026-05-16)
   --------------------------------------------------------------------------
   Pattern: log one of N mutually-exclusive outcomes (positive/tentative/
   neutral/negative). Idle = light outline + outcome-coloured text. Click =
   sticky filled state via .is-logged co-class (data-driven, survives reload).
   Pair with .bh-row--logged-* on the parent row for ambient gradient border.
   Use-sites: PhonePitching (call outcomes), Sentiment tagging, Email triage,
   Coverage status -- anywhere a row needs "log the outcome" semantics.
   ============================================================================ */
.bh-outcome-group {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-wrap: wrap;
}
.bh-outcome-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.6rem;
    font-size: 0.75rem;
    font-weight: 500;
    border-radius: 999px;
    border: 1px solid currentColor;
    background: transparent;
    cursor: pointer;
    line-height: 1.2;
    white-space: nowrap;
    transition: background 0.15s ease, color 0.15s ease;
}
.bh-outcome-btn:hover:not(.is-logged) {
    background: rgba(0, 0, 0, 0.04);
    text-decoration: none;
}
.bh-outcome-btn--positive  { color: var(--status-success-text, #155724); }
.bh-outcome-btn--tentative { color: var(--status-warning-text, #856404); }
.bh-outcome-btn--neutral   { color: var(--text-secondary, #666); }
.bh-outcome-btn--negative  { color: var(--status-danger-text, #721c24); }

/* Logged (selected) state -- solid fill matching outcome colour */
.bh-outcome-btn.is-logged { pointer-events: none; opacity: 1 !important; }
.bh-outcome-btn.is-logged.bh-outcome-btn--positive  { background: #28a745; color: #fff; border-color: #28a745; }
.bh-outcome-btn.is-logged.bh-outcome-btn--tentative { background: #ffc107; color: var(--text-primary, #000); border-color: #ffc107; }
.bh-outcome-btn.is-logged.bh-outcome-btn--neutral   { background: #6c757d; color: #fff; border-color: #6c757d; }
.bh-outcome-btn.is-logged.bh-outcome-btn--negative  { background: var(--status-danger, #dc3545); color: #fff; border-color: var(--status-danger, #dc3545); }
[data-theme="dark"] .bh-outcome-btn.is-logged.bh-outcome-btn--tentative { color: #000 !important; }

/* Row-level companion state -- gradient left-border tinted to outcome.
   Apply alongside .bh-row--logged on the row container. */
.bh-row--logged { opacity: 0.7; }
.bh-row--logged-positive  { border-left: 4px solid var(--status-success, #28a745); background: linear-gradient(90deg, rgba(40, 167, 69, 0.08) 0%, transparent 30%) !important; }
.bh-row--logged-tentative { border-left: 4px solid #ffc107;                         background: linear-gradient(90deg, rgba(255, 193, 7, 0.08) 0%, transparent 30%) !important; }
.bh-row--logged-neutral   { border-left: 4px solid #6c757d;                         background: linear-gradient(90deg, rgba(108, 117, 125, 0.08) 0%, transparent 30%) !important; }
.bh-row--logged-negative  { border-left: 4px solid var(--status-danger, #dc3545);   background: linear-gradient(90deg, rgba(220, 53, 69, 0.08) 0%, transparent 30%) !important; }

/* ============================================================================
   .bh-duration-chip -- inline duration selector (2026-05-16)
   --------------------------------------------------------------------------
   Pattern: compact pill for picking one of several timing options
   (1hr / 1d / 1w / 1mo / Custom). Brand-purple outline, fills on hover and
   when selected. Use-sites: Snooze duration, Schedule lead-time, Reminder
   recurrence picker.
   ============================================================================ */
.bh-duration-chip-group {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}
.bh-duration-chip-group-label {
    font-size: 0.7rem;
    color: var(--text-tertiary, #888);
    white-space: nowrap;
    margin-right: 0.2rem;
}
.bh-duration-chip {
    padding: 0.15rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 500;
    line-height: 1.3;
    border-radius: 999px;
    border: 1px solid var(--brand-primary, #3d1a6f);
    background: transparent;
    color: var(--brand-primary, #3d1a6f);
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s ease, color 0.15s ease;
}
.bh-duration-chip:hover { background: var(--bg-purple-tint, #f0edf5); text-decoration: none; }
.bh-duration-chip.is-selected,
.bh-duration-chip:active { background: var(--brand-primary, #3d1a6f); color: #fff; }
[data-theme="dark"] .bh-duration-chip { color: #c7b8ec; border-color: #c7b8ec; }
[data-theme="dark"] .bh-duration-chip:hover { background: rgba(199, 184, 236, 0.12); }
[data-theme="dark"] .bh-duration-chip.is-selected { background: #c7b8ec; color: #1c1729; }

/* Form-level size: use when chip group is a primary form control (reporting
   period picker, filter date-range). Pairs with .bh-duration-chip-group--md
   for larger inter-chip gap. */
.bh-duration-chip--md {
    padding: 0.375rem 0.875rem;
    font-size: 0.875rem;
    line-height: 1.5;
}
.bh-duration-chip-group--md { gap: 0.4rem; }

/* ============================================================================
   .bh-tour-link -- guided-tour help affordance (system standard, 2026-05-24)
   --------------------------------------------------------------------------
   Quiet gold-tinted pill that lives in the .page-actions header slot. A guided
   tour is a once-or-twice action, so this is intentionally lighter than a CTA
   button -- gold tint ties it to brand without competing with primary content.
   Replaces the old `btn btn-sm btn-default` Tour button across header tours.
   Markup: <button type="button" class="bh-tour-link" title="Take a guided tour"
                   onclick="BipTour.start('id'); return false;">
             <i class="fas fa-question-circle"></i> Tour</button>
   ============================================================================ */
.bh-tour-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1;
    color: var(--brand-primary, #3d1a6f);
    background: rgba(253, 185, 19, 0.14);
    border: none;
    border-radius: 20px;
    padding: 6px 13px;
    white-space: nowrap;
    transition: background 0.15s ease;
}
.bh-tour-link i { color: var(--brand-accent, #fdb913); font-size: 0.95rem; }
.bh-tour-link:hover,
.bh-tour-link:focus-visible {
    background: rgba(253, 185, 19, 0.26);
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
}
.bh-tour-link:focus-visible { outline: 2px solid var(--brand-primary, #3d1a6f); outline-offset: 2px; }

/* SurveyForms: Browse-vs-Workspace two-phase header (2026-05-16)
   .bv-mode-header is nested inside .page-header (which is itself flex). We need
   flex: 1 1 100% so the inner mode header spans the parent's row instead of
   collapsing to content-width. */
.bv-mode-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; flex: 1 1 100%; }
.bv-mode-header--workspace { gap: 14px; padding: 6px 0; }
.bv-back-link {
    display: inline-flex; align-items: center;
    color: var(--brand-primary, #3d1a6f);
    font-size: 14px; font-weight: 600;
    text-decoration: none;
    padding: 6px 14px;
    border-radius: 6px;
    border: 1px solid transparent;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.bv-back-link:hover { background: rgba(61, 26, 111, 0.08); border-color: rgba(61, 26, 111, 0.15); color: var(--brand-primary, #3d1a6f); text-decoration: none; }
.bv-workspace-name {
    font-size: 22px; font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    flex: 1 1 auto;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    min-width: 0;
}
.bv-status-pill {
    display: inline-block;
    font-size: 11px; font-weight: 700; letter-spacing: 0.04em;
    padding: 4px 12px; border-radius: 999px;
    background: #e9ecef; color: #495057;
    text-transform: uppercase;
}
.bv-status-pill[data-status="draft"]   { background: #fff3cd; color: #856404; }
.bv-status-pill[data-status="public"]  { background: #d4edda; color: #155724; }
.bv-status-pill[data-status="private"] { background: #cce5ff; color: #004085; }
.bv-status-pill[data-status="closed"]  { background: #f8d7da; color: #721c24; }
.bv-status-pill[data-status="archive"] { background: #e2e3e5; color: #383d41; }
[data-theme="dark"] .bv-back-link { color: #c7b8ec; }
[data-theme="dark"] .bv-back-link:hover { background: rgba(199, 184, 236, 0.12); border-color: rgba(199, 184, 236, 0.2); color: #d9ccf3; }
[data-theme="dark"] .bv-workspace-name { color: #d9ccf3; }
[data-theme="dark"] .bv-status-pill[data-status="draft"]   { background: rgba(253, 185, 19, 0.18); color: #fcd66b; }
[data-theme="dark"] .bv-status-pill[data-status="public"]  { background: rgba(40, 167, 69, 0.22); color: #86e0a0; }
[data-theme="dark"] .bv-status-pill[data-status="private"] { background: rgba(0, 123, 255, 0.22); color: #8ab8f7; }
[data-theme="dark"] .bv-status-pill[data-status="closed"]  { background: rgba(220, 53, 69, 0.22); color: #f1a4ad; }
[data-theme="dark"] .bv-status-pill[data-status="archive"] { background: rgba(108, 117, 125, 0.25); color: #c4c8cc; }
@media (max-width: 768px) {
    .bv-workspace-name { font-size: 18px; }
}

/* SurveyForms: card-default + cross-tab + raw-data (moved from inline <style> 2026-05-16) */
.card-default-selected {
    background: linear-gradient(135deg, #ed174c 0%, #ff4d6d 100%);
    color: white !important;
    min-height: 80px;
    border-radius: 8px;
}
.card-default-selected a {
    color: white !important;
}
.card-default-background {
    background: linear-gradient(135deg, var(--bg-gold-tint, #fff5dc) 0%, var(--bg-gold-tint, #fffbf0) 100%) !important;
    border-left: 4px solid #fdb913 !important;
    color: black;
    min-height: 80px;
    border-radius: 8px;
}
.cross-tab-grid {
    border-collapse: collapse;
    width: 100%;
}
.cross-tab-question-row td,
.cross-tab-question-row th {
    background-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #ffffff);
    font-weight: 600;
    padding: 12px 16px;
    border: 1px solid #000000;
}
.cross-tab-response-row td,
.cross-tab-response-row th {
    background-color: var(--bg-surface, #ffffff);
    color: var(--text-primary, #000000);
    border: 1px solid #000000;
    padding: 8px 16px;
}
.cross-tab-header-row td,
.cross-tab-header-row th {
    background-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #ffffff);
    font-weight: 600;
    padding: 12px 16px;
    border: 1px solid #000000;
    text-align: center;
}
.cross-tab-header-row td:first-child,
.cross-tab-header-row th:first-child {
    text-align: left;
}
.cross-tab-first-response td {
    border-top: none !important;
}
.cross-tab-response-row td:first-child {
    padding-left: 32px;
}
.cross-tab-spacer-row td {
    padding: 12px 0;
    border: none !important;
    background-color: transparent;
    font-size: 0;
    line-height: 0;
}
.raw-data-grid td,
.raw-data-grid th {
    white-space: pre-line;
    vertical-align: top;
}
.raw-data-respondent {
    white-space: nowrap;
    vertical-align: top;
}

/* ============================================================
   Pack Generation Modals (Media Pack / Spokesperson Pack)
   Shared shell + radio-card release picker.
   ============================================================ */
.bh-pack-modal .body {
    padding: 1.25rem 1.5rem 1.5rem;
}
.bh-pack-form {
    max-width: 520px;
    margin: 0 auto;
}
.bh-pack-form .form-group {
    margin-bottom: 1.25rem;
}
.bh-pack-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary, #5a4a7a);
    margin-bottom: 0.4rem;
}
.bh-pack-hint {
    display: block;
    font-size: 0.78rem;
    color: var(--text-tertiary, #7a6e8d);
    margin-bottom: 0.5rem;
}
.bh-pack-release-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    max-height: 240px;
    overflow-y: auto;
    padding: 0.15rem;
}
.bh-pack-release {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid var(--border-subtle, #e3dcef);
    border-radius: 10px;
    background: var(--bg-elevated, #ffffff);
    cursor: pointer;
    transition: border-color 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
    margin: 0;
}
.bh-pack-release:hover {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--bg-purple-tint, #f5efff);
}
.bh-pack-release input[type="radio"] {
    accent-color: var(--brand-primary, #3d1a6f);
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    margin: 0;
}
.bh-pack-release-body {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 auto;
    min-width: 0;
}
.bh-pack-release-name {
    font-weight: 600;
    color: var(--text-body, #2a1f44);
    font-size: 0.95rem;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bh-pack-release.is-selected {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--bg-purple-tint, #f5efff);
    box-shadow: 0 0 0 1px var(--brand-primary, #3d1a6f) inset;
}
.bh-pack-release-empty,
.bh-pack-release-loading {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.75rem 0.5rem;
    color: var(--text-tertiary, #7a6e8d);
    font-size: 0.88rem;
}
.bh-pack-cta {
    margin-top: 1.5rem;
}
.bh-pack-cta .btn {
    font-weight: 600;
    padding: 0.7rem 1rem;
}
.bh-pack-cta .btn.bh-pack-disabled {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: auto;
}
.bh-pack-gate-msg {
    margin-top: 1rem;
    padding: 0.7rem 0.9rem;
    background: var(--bg-gold-tint, #fff7e0);
    border: 1px solid var(--brand-accent, #fdb913);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 6px;
    color: var(--text-primary, #333);
    font-size: 0.88rem;
}
.bh-pack-gate-msg i.fa-info-circle {
    color: var(--brand-accent, #fdb913);
}
[data-theme="dark"] .bh-pack-release {
    background: var(--bg-elevated, #2a2638);
    border-color: var(--border-subtle, #3d3651);
}
[data-theme="dark"] .bh-pack-release:hover,
[data-theme="dark"] .bh-pack-release.is-selected {
    background: var(--bg-purple-tint, #38304d);
}

/* =====================================================================
   bh-agreement-picker -- Plan tab agreement selector (EngagementHub)
   Replaces a flat 300-row alphabetical <select>. Search input + state-
   filter chips + grouped-by-client rows + state pill per row.
   Data source: hidden <asp:DropDownList> populated server-side from
   BH_BusinessFlow JOIN vw_EngagementState (Stage 1/2/3 only).
   ===================================================================== */
.bh-agreement-picker {
    max-width: 720px;
    margin-bottom: 0.75rem;
    font-size: 0.85rem;
}
/* Plan sub-pill: awaiting-first-activity panel + agreement picker stacked
   accordion-style, centered, constrained max-width (not full-width sprawl). */
.bh-plan-pickers-stack {
    max-width: 760px;
    margin: 0 auto 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.bh-plan-pickers-stack > .bh-awaiting-panel,
.bh-plan-pickers-stack > .bh-agreement-picker {
    max-width: none;
    margin-bottom: 0;
}
.bh-agreement-picker-toggle {
    background: transparent;
    border: 0;
    color: var(--brand-primary, #3d1a6f);
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.85rem;
    transition: background 0.12s;
    flex-shrink: 0;
}
.bh-agreement-picker-toggle:hover { background: var(--bg-purple-tint, #f0ebf7); }
.bh-agreement-picker-search.is-collapsed .bh-agreement-picker-input-row {
    border-bottom: 0;
}
.bh-agreement-picker-search.is-collapsed .bh-agreement-picker-filters,
.bh-agreement-picker-search.is-collapsed .bh-agreement-picker-results {
    display: none;
}
.bh-agreement-picker-icon {
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.95rem;
    flex-shrink: 0;
}
.bh-agreement-picker-selected {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.4rem 0.7rem;
    background: linear-gradient(135deg, var(--bg-surface, #fff) 0%, var(--bg-purple-tint, #f0ebf7) 100%);
    border: 1px solid var(--brand-primary, #3d1a6f);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 8px;
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0,0,0,0.08));
}
.bh-agreement-picker-selected-body { flex: 1; min-width: 0; }
.bh-agreement-picker-selected-client {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--text-secondary, #666);
    margin-bottom: 0.1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bh-agreement-picker-selected-line {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}
.bh-agreement-picker-selected-name {
    font-weight: 600;
    color: var(--text-primary, #333);
    font-size: 0.88rem;
}
.bh-agreement-picker-selected-service {
    font-size: 0.72rem;
    color: var(--text-muted, #999);
    font-style: italic;
}
.bh-agreement-picker-search {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #ddd);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0,0,0,0.06));
}
.bh-agreement-picker-input-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.7rem;
    border-bottom: 1px solid var(--border-light, #e9ecef);
}
.bh-agreement-picker-input {
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 0.85rem;
    color: var(--text-primary, #333);
    padding: 0.15rem 0;
}
.bh-agreement-picker-input::placeholder {
    color: var(--text-muted, #999);
    font-style: italic;
}
.bh-agreement-picker-clear {
    background: transparent;
    border: 0;
    color: var(--text-muted, #999);
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.85rem;
    transition: all 0.12s;
}
.bh-agreement-picker-clear:hover {
    color: var(--brand-primary, #3d1a6f);
    background: var(--bg-subtle, #fafafa);
}
.bh-agreement-picker-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    padding: 0.35rem 0.7rem;
    background: var(--bg-slate-tint, #f1f0f4);
    border-bottom: 1px solid var(--border-light, #e9ecef);
}
.bh-agreement-picker-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.15rem 0.55rem;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #ddd);
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-secondary, #666);
    cursor: pointer;
    transition: all 0.15s;
    line-height: 1.4;
}
.bh-agreement-picker-chip:hover {
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--brand-primary, #3d1a6f);
    background: var(--bg-purple-tint, #f0ebf7);
}
.bh-agreement-picker-chip.is-active {
    background: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    color: #fff;
}
.bh-agreement-picker-chip.is-active:hover {
    background: var(--brand-primary, #3d1a6f);
    color: #fff;
}
.bh-agreement-picker-chip-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--text-muted, #999);
    flex-shrink: 0;
}
.bh-agreement-picker-chip-dot.dot-active { background: var(--status-success, #28a745); }
.bh-agreement-picker-chip-dot.dot-pending { background: var(--brand-accent, #fdb913); }
.bh-agreement-picker-chip-dot.dot-draft { background: #8a8ce0; }
.bh-agreement-picker-chip-count {
    font-size: 0.7rem;
    opacity: 0.75;
    font-weight: 700;
}
.bh-agreement-picker-chip.is-active .bh-agreement-picker-chip-count { opacity: 1; }
.bh-agreement-picker-results {
    max-height: 240px;
    overflow-y: auto;
}
.bh-agreement-picker-group {
    padding: 0.3rem 0.7rem 0.2rem;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--brand-primary, #3d1a6f);
    background: var(--bg-purple-tint, #f0ebf7);
    position: sticky;
    top: 0;
    z-index: 1;
    border-bottom: 1px solid var(--border-brand, #e0d4f0);
}
.bh-agreement-picker-row {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.4rem 0.7rem;
    cursor: pointer;
    border-bottom: 1px solid var(--border-light, #f3eff8);
    transition: background 0.12s;
    outline: 0;
}
.bh-agreement-picker-row:hover,
.bh-agreement-picker-row:focus {
    background: var(--bg-purple-tint, #f0ebf7);
}
.bh-agreement-picker-row:focus {
    box-shadow: inset 3px 0 0 var(--brand-accent, #fdb913);
}
.bh-agreement-picker-row:last-child { border-bottom: 0; }
.bh-agreement-picker-row-main { flex: 1; min-width: 0; }
.bh-agreement-picker-row-name {
    font-weight: 600;
    color: var(--text-primary, #333);
    font-size: 0.84rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bh-agreement-picker-row-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.7rem;
    color: var(--text-secondary, #666);
    margin-top: 0.05rem;
}
.bh-agreement-picker-row-service {
    font-style: italic;
    color: var(--text-muted, #999);
}
.bh-agreement-picker-row-pill { flex-shrink: 0; }
.bh-agreement-picker-empty {
    padding: 1.5rem 0.9rem;
    text-align: center;
    color: var(--text-muted, #999);
    font-size: 0.85rem;
    font-style: italic;
}
.bh-agreement-picker-lse-badge {
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 1px 5px;
    border-radius: 3px;
    background: rgba(108, 92, 231, 0.12);
    color: var(--accent-purple, #6c5ce7);
    text-transform: uppercase;
}
[data-theme="dark"] .bh-agreement-picker-selected {
    background: linear-gradient(135deg, var(--bg-surface, #1f1a2a) 0%, var(--bg-purple-tint, #38304d) 100%);
}
[data-theme="dark"] .bh-agreement-picker-search {
    background: var(--bg-surface, #1f1a2a);
    border-color: var(--border-default, #3d3651);
}
[data-theme="dark"] .bh-agreement-picker-input-row,
[data-theme="dark"] .bh-agreement-picker-row,
[data-theme="dark"] .bh-agreement-picker-group {
    border-bottom-color: var(--border-default, #3d3651);
}
[data-theme="dark"] .bh-agreement-picker-filters {
    background: var(--bg-subtle, #1a1a1a);
}
[data-theme="dark"] .bh-agreement-picker-chip {
    background: var(--bg-surface, #1f1a2a);
    border-color: var(--border-default, #3d3651);
}
[data-theme="dark"] .bh-agreement-picker-row:hover,
[data-theme="dark"] .bh-agreement-picker-row:focus {
    background: var(--bg-purple-tint, #38304d);
}
[data-theme="dark"] .bh-agreement-picker-group {
    background: var(--bg-purple-tint, #38304d);
}
@media (max-width: 600px) {
    .bh-agreement-picker { max-width: 100%; }
    .bh-agreement-picker-selected { flex-wrap: wrap; }
    .bh-agreement-picker-row { padding: 0.55rem 0.7rem; }
    .bh-agreement-picker-filters { padding: 0.5rem 0.7rem; }
}

/* ========================================
   Social Monitoring v2 -- 2026-05-20
   Setup-side restyle (results live on the Performance Dashboard).
   Platform chips wrap hidden checkboxes -- JS contract unchanged.
   ======================================== */
.bh-social-intro {
    color: var(--text-body, #4a4a4a);
    font-size: 0.9rem;
    margin-bottom: 1.25rem;
}
.bh-social-section {
    padding: 1rem 0 1.1rem;
    border-top: 1px solid var(--border-light, #eee);
}
.bh-social-section:first-of-type {
    border-top: 0;
    padding-top: 0;
}
.bh-social-section-title {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0.85rem;
}
.bh-social-label {
    font-weight: 600;
    font-size: 0.85rem;
    margin-bottom: 0.35rem;
    display: block;
}

/* Platform toggle chips (label styles a sibling hidden checkbox) */
.bh-platform-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.bh-platform-chip-input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
}
.bh-platform-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.8rem;
    border: 1px solid var(--border-default, #d8d8d8);
    border-radius: 999px;
    background: var(--bg-surface, #fff);
    color: var(--text-body, #4a4a4a);
    font-size: 0.85rem;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    margin-bottom: 0;
}
.bh-platform-chip i {
    font-size: 0.95rem;
    opacity: 0.85;
}
.bh-platform-chip:hover {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--bg-gold-tint, #fffbf0);
}
.bh-platform-chip-input:checked + .bh-platform-chip {
    background: var(--bg-purple-tint, #f1ecf8);
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
}
.bh-platform-chip-input:checked + .bh-platform-chip i {
    opacity: 1;
}
.bh-platform-chip-input:focus-visible + .bh-platform-chip {
    outline: 2px solid var(--brand-primary, #3d1a6f);
    outline-offset: 1px;
}

.bh-social-scan-note {
    margin-top: 0.85rem;
    font-size: 0.82rem;
    color: var(--text-muted, #6c757d);
}
.bh-social-quota {
    margin-top: 0.75rem;
    margin-bottom: 0;
}

/* Creator lookup -- flex row (no input-group) */
.bh-social-lookup {
    display: flex;
    gap: 0.5rem;
    max-width: 460px;
    margin-top: 0.5rem;
}
.bh-social-lookup .form-control {
    flex: 1 1 auto;
}
.bh-social-lookup .btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* Footer: results bridge left, actions right */
.bh-social-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-light, #eee);
}
.bh-social-results-link {
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.85rem;
    font-weight: 600;
}
.bh-social-results-link:hover {
    text-decoration: underline;
}
.bh-social-actions {
    display: flex;
    align-items: center;
    margin-left: auto;
}

[data-theme="dark"] .bh-platform-chip {
    background: var(--bg-surface, #1f1a2a);
    border-color: var(--border-default, #3d3651);
}
[data-theme="dark"] .bh-platform-chip:hover {
    background: var(--bg-purple-tint, #38304d);
}
[data-theme="dark"] .bh-platform-chip-input:checked + .bh-platform-chip {
    background: var(--bg-purple-tint, #38304d);
    color: var(--page-title-color, #e5d9ff);
    border-color: var(--page-title-color, #e5d9ff);
}
[data-theme="dark"] .bh-social-section,
[data-theme="dark"] .bh-social-footer {
    border-color: var(--border-default, #3d3651);
}

@media (max-width: 600px) {
    .bh-social-footer { flex-direction: column; align-items: stretch; }
    .bh-social-actions { margin-left: 0; justify-content: flex-end; }
    .bh-social-lookup { max-width: 100%; }
}

/* Social Monitoring -- dark mode for the tag inputs + lookup field.
   .social-tag-* is shared legacy CSS with no dark override; the bare <input>
   rendered UA-white over the wrapper. Wrapper + input + placeholders below. */
[data-theme="dark"] .social-tag-input-wrapper {
    background: var(--bg-surface, #1f1a2a);
    border-color: var(--border-default, #3d3651);
}
[data-theme="dark"] .social-tag-input {
    color: var(--text-body, #d4d4d4);
}
[data-theme="dark"] .social-tag-input::placeholder {
    color: var(--text-muted, #8a8a8a);
}
[data-theme="dark"] .bh-social-lookup .form-control {
    background: var(--bg-surface, #1f1a2a);
    border-color: var(--border-default, #3d3651);
    color: var(--text-body, #d4d4d4);
}
[data-theme="dark"] .bh-social-lookup .form-control::placeholder {
    color: var(--text-muted, #8a8a8a);
}
/* ===================================================================
   Media Releases v2 (Phase C, 2026-05-20)
   State-led header + 60/40 editor/preview split + brand-aware preview.
   Brand palette only; dark mode via theme-tokens.
   =================================================================== */

/* --- State-led sticky header (slim: 4px gold left-border on purple-tint band) --- */
.mr-state-header {
    position: sticky;
    top: 64px;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.6rem 1rem;
    margin-bottom: 1rem;
    border-radius: 10px;
    border-left: 4px solid var(--brand-accent, #fdb913);
    background: var(--bg-purple-tint, #f0ebf7);
    box-shadow: 0 4px 16px rgba(20, 20, 40, 0.06);
}
.mr-state-header.is-state-approved {
    background: var(--bg-gold-tint, #fff5dc);
}
.mr-state-header .mr-eyebrow {
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    font-weight: 600;
    color: var(--text-tertiary, #6b6b75);
}
.mr-state-header .mr-state-meta {
    display: inline-flex;
    flex-direction: column;
    line-height: 1.25;
    color: var(--text-tertiary, #6b6b75);
    font-size: 0.82rem;
}
.mr-state-header .mr-meta-assignee { color: var(--text-body, #2d2d34); font-weight: 600; }
.mr-state-header .mr-meta-modified { font-size: 0.75rem; }
.mr-state-header .mr-state-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}
.mr-state-header .autosave-status { font-size: 0.78rem; color: var(--text-tertiary, #6b6b75); }
.mr-state-header .mr-state-rerun { font-size: 0.78rem; padding: 0.2rem 0.4rem; }

/* --- Editor/preview toggle (768-1400 band) --- */
.mr-pane-toggle { display: none; }

/* --- Split: editor LEFT, preview RIGHT --- */
.mr-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: start;
}
.mr-pane {
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #e3e5e9);
    border-radius: 10px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(20, 20, 40, 0.05);
}
.mr-pane-title {
    margin: 0 0 0.5rem;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-tertiary, #6b6b75);
    font-weight: 600;
}

/* Wide split: 60/40 with both panes; toggle hidden */
@media (min-width: 1400px) {
    .mr-split { grid-template-columns: 60% 40%; }
    .mr-preview-pane { position: sticky; top: 130px; }
}

/* 768-1400 band: single column + toggle drives which pane shows */
@media (min-width: 769px) and (max-width: 1399px) {
    .mr-pane-toggle { display: flex; }
    .mr-split.mr-show-editor .mr-preview-pane { display: none; }
    .mr-split.mr-show-preview .mr-editor-pane { display: none; }
}

/* Editor-only on narrow viewports; preview behind the toggle */
@media (max-width: 768px) {
    .mr-pane-toggle { display: flex; }
    .mr-split.mr-show-editor .mr-preview-pane { display: none; }
    .mr-split.mr-show-preview .mr-editor-pane { display: none; }
}

/* --- Editor fields --- */
.mr-field { margin-bottom: 1rem; }
.mr-field-label {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0.35rem;
}
.mr-field-label .mr-counter {
    margin-left: auto;
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--text-tertiary, #6b6b75);
}
.mr-field-label .mr-counter.warn { color: var(--status-warning-text, #c47900); }

.mr-headline-input {
    width: 100%;
    padding: 0.7rem 0.75rem;
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    border: 1.5px solid var(--brand-accent, #fdb913);
    border-radius: 6px;
    background: var(--bg-gold-tint, #fff5dc);
    font-family: inherit;
}
.mr-headline-input:focus {
    outline: 2px solid var(--brand-primary, #3d1a6f);
    outline-offset: 1px;
}
/* Hidden RTE that backs the plain headline input (kept for autosave/load compatibility) */
.mr-hidden-rte { display: none !important; }

/* Body stats row (word count + Flesch + length hint) bottom-right */
.mr-body-stats {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    padding: 0.35rem 0.25rem 0;
    font-size: 0.72rem;
    color: var(--text-tertiary, #6b6b75);
}
.mr-body-stats .mr-stat strong { color: var(--text-body, #2d2d34); font-weight: 600; }
.mr-body-stats .mr-stat.warn strong { color: var(--status-warning-text, #c47900); }
.mr-body-stats .mr-stat#mrLengthHint.ok { color: var(--status-success-text, #1f8a4a); }
.mr-body-stats .mr-stat#mrLengthHint.warn { color: var(--status-warning-text, #c47900); }

/* Body editor capped at 55vh, scrollable -- scoped to the inline editor */
.inline-editor-container .richtextwrapper-lg .bh-rte-editor {
    max-height: 55vh;
    overflow-y: auto;
}

/* --- Preview pane --- */
.mr-preview-pane { padding: 0; overflow: hidden; }
.mr-preview-head {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1.1rem 1.25rem 0.5rem;
}
.mr-preview-head .mr-pane-title { margin: 0; }
.mr-brand-chip {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.2rem 0.5rem;
    border: 1px solid var(--border-default, #e3e5e9);
    border-radius: 999px;
    font-size: 0.74rem;
    color: var(--text-tertiary, #6b6b75);
    background: var(--bg-subtle, #fafafa);
}
.mr-brand-chip .mr-brand-swatches { display: inline-flex; gap: 2px; }
.mr-brand-chip .mr-swatch {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    display: inline-block;
}
.mr-brand-chip .mr-brand-label strong { color: var(--brand-primary, #3d1a6f); }
.mr-brand-chip .mr-brand-hint { font-style: italic; }
.mr-brand-chip .mr-brand-edit {
    padding: 0 0.2rem;
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.72rem;
}
.mr-lens-toggle {
    padding: 0 1.25rem 0.85rem;
    margin: 0;
    border-bottom: 1px solid var(--border-default, #e3e5e9);
}
.mr-preview-body {
    padding: 1.4rem 1.6rem;
    min-height: 360px;
    max-height: calc(100vh - 240px);
    overflow-y: auto;
}

/* PDF lens placeholder (single-release PDF render is Spec 2) */
.mr-pdf-placeholder { text-align: center; padding: 2.5rem 1rem; color: var(--text-tertiary, #6b6b75); }
.mr-pdf-placeholder i { font-size: 3rem; color: var(--brand-accent, #fdb913); margin-bottom: 1rem; }
.mr-pdf-placeholder h4 { color: var(--brand-primary, #3d1a6f); margin: 0 0 0.5rem; }
.mr-pdf-placeholder p { max-width: 360px; margin: 0 auto 1rem; }
.mr-pdf-placeholder a { color: var(--brand-primary, #3d1a6f); font-weight: 500; }

/* --- AI empty-state hero --- */
.mr-ai-hero {
    background: linear-gradient(135deg, var(--bg-purple-tint, #f0ebf7), var(--bg-gold-tint, #fff5dc));
    border: 2px dashed var(--brand-accent, #fdb913);
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    margin-bottom: 1rem;
}
.mr-ai-hero-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    margin: 0 auto 1rem;
    background: var(--brand-primary, #3d1a6f);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
}
.mr-ai-hero h3 { color: var(--brand-primary, #3d1a6f); font-size: 1.25rem; margin: 0 0 0.5rem; font-weight: 700; }
.mr-ai-hero-lead { color: var(--text-body, #2d2d34); max-width: 480px; margin: 0 auto 1.25rem; }
.mr-ai-hero-actions { display: flex; gap: 0.75rem; justify-content: center; align-items: center; }
.mr-ai-hero-actions .mr-ai-skip { color: var(--text-tertiary, #6b6b75); text-decoration: underline; }

/* --- Approve diff note (in the republish confirm modal) --- */
.mr-approve-diff {
    background: var(--bg-gold-tint, #fff5dc);
    border-left: 3px solid var(--brand-accent, #fdb913);
    padding: 0.6rem 0.85rem;
    margin-top: 0.85rem;
    border-radius: 6px;
    font-size: 0.85rem;
    color: var(--text-body, #2d2d34);
    text-align: left;
}

/* --- Brand editor modal grid --- */
.mr-brand-edit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
}
.mr-brand-edit-grid .mr-field-label { margin-bottom: 0.25rem; }
.mr-brand-color {
    width: 100%;
    height: 38px;
    padding: 2px;
    border: 1px solid var(--border-default, #e3e5e9);
    border-radius: 6px;
    background: var(--bg-surface, #fff);
    cursor: pointer;
}

/* --- Dark mode overrides --- */
[data-theme="dark"] .mr-pane {
    background: var(--bg-surface, #141414);
    border-color: var(--border-default, #2a2a2a);
}
[data-theme="dark"] .mr-headline-input {
    color: var(--brand-primary, #a76bdf);
    background: var(--bg-gold-tint, #1e1a0e);
    border-color: var(--brand-accent, #d4a824);
}
[data-theme="dark"] .mr-brand-chip {
    background: var(--bg-subtle, #1a1a1a);
    border-color: var(--border-default, #2a2a2a);
}
[data-theme="dark"] .mr-ai-hero {
    background: linear-gradient(135deg, var(--bg-purple-tint, #1e1430), var(--bg-gold-tint, #1e1a0e));
}
[data-theme="dark"] .mr-ai-hero-lead { color: var(--text-body, #d4d4d4); }
[data-theme="dark"] .mr-approve-diff { color: var(--text-body, #d4d4d4); }
[data-theme="dark"] .mr-swatch { border-color: rgba(255, 255, 255, 0.18); }

@media (max-width: 600px) {
    .mr-brand-edit-grid { grid-template-columns: 1fr; }
    .mr-state-header { top: 56px; }
    .mr-preview-body { padding: 1rem 1.1rem; }
}

/* ============================================================================
   Distribution Shape Picker -- shared BHDistributionPicker component
   (Buzzhub/js/distribution-shape-picker.js). Single styling SSOT used by the EH
   Activity Modal (Curve) AND AM Wizard (Pacing). Do NOT re-style .bh-dist-picker-card
   page-side -- both consumers must look identical. Grid auto-fits + wraps responsively
   so any shape count lays out without per-page media queries. Colours are brand tokens
   (gold mini-bars, purple when active) and flip in dark mode.
   ============================================================================ */
.bh-dist-picker-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(108px, 1fr)); gap: 0.6rem; }
.bh-dist-picker-card { border: 2px solid var(--border-color, #dee2e6); border-radius: 8px; padding: 0.5rem 0.5rem 0.4rem; cursor: pointer; background: var(--card-bg, #fff); transition: border-color 0.12s, box-shadow 0.12s; user-select: none; }
.bh-dist-picker-card:hover { border-color: var(--brand-primary, #3d1a6f); }
.bh-dist-picker-card.is-active { border-color: var(--brand-primary, #3d1a6f); box-shadow: 0 0 0 2px rgba(61, 26, 111, 0.12); }
.bh-dist-picker-card .ccc-title { font-size: 0.82rem; font-weight: 600; color: var(--text-primary, #212529); margin-bottom: 2px; }
.bh-dist-picker-card .ccc-sub { font-size: 0.7rem; color: var(--text-secondary, #6c757d); margin-bottom: 4px; }
.bh-dist-picker-card .ccc-mini { display: block; width: 100%; height: 28px; }
.bh-dist-picker-card .ccc-mini rect { fill: var(--brand-accent, #fdb913); }
.bh-dist-picker-card.is-active .ccc-mini rect { fill: var(--brand-primary, #3d1a6f); }

/* =============================================================================
   Brand Source Selector (Brand SSOT -- Spec 2/3)
   Shared by the MediaPack/Spokesperson generate modals (CampaignBuilder) and the
   CoverageReport generate wizard (Reporting). Folded from page-scoped blocks 2026-05-20.
   ============================================================================= */
.bh-brand-selector .bh-brand-options { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
.bh-brand-option { display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; border: 1px solid var(--bh-border, #d9d9e3); border-radius: 8px; cursor: pointer; margin: 0; }
.bh-brand-option:hover { border-color: var(--bh-primary, #3d1a6f); }
.bh-brand-option input.bh-brand-radio { margin-top: 3px; }
.bh-brand-option-body { display: flex; flex-direction: column; }
.bh-brand-option-title { font-weight: 600; }
.bh-brand-option-meta { font-size: 0.82rem; opacity: 0.75; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bh-brand-swatches { display: inline-flex; gap: 4px; }
.bh-brand-swatch { width: 14px; height: 14px; border-radius: 3px; border: 1px solid rgba(0,0,0,0.15); display: inline-block; }
/* Edit + save-back pencil on the "Use brand colours" option (Generate modals). */
.bh-brand-edit-pencil { background: transparent; border: 0; padding: 2px 5px; cursor: pointer; color: var(--brand-primary, #3d1a6f); border-radius: 4px; line-height: 1; font-size: 0.8rem; }
.bh-brand-edit-pencil:hover { background: var(--bg-gold-tint, rgba(253,185,19,0.15)); color: var(--brand-primary, #3d1a6f); }
.bh-brand-clientname { font-weight: 600; }
.bh-brand-custom { margin-top: 8px; padding: 10px; border: 1px dashed var(--bh-border, #d9d9e3); border-radius: 8px; }
.bh-brand-custom-row { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; margin-bottom: 6px; }
.bh-brand-custom-row label { font-size: 0.85rem; display: flex; align-items: center; gap: 6px; margin: 0; }
.bh-brand-color { width: 38px; height: 28px; padding: 0; border: 1px solid var(--bh-border, #d9d9e3); border-radius: 4px; cursor: pointer; }
.bh-brand-font-label { width: 100%; max-width: 320px; }
.bh-brand-font { display: inline-block; width: auto; min-width: 160px; }

/* =========================================================
   Unified Agreement Wizard -- phase wrappers + gate + lock
   (2026-05-21, Tasks 2.1+2.2)
   Extends the existing .wizard-steps / .step convention
   defined inline in AccountManagement.aspx. Does NOT
   redefine .step / .step-number / .step-label base look.
   ========================================================= */

/* Phase wrapper: stacks label above steps row */
.wizard-phase {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
}
/* .wizard-phase-steps mirrors the original flat flex row */
.wizard-phase-steps {
    display: flex;
    flex: 1;
    width: 100%;
}

/* Phase labels */
.wizard-phase-label {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
    color: var(--text-muted, #999);
}
.wizard-phase-planning .wizard-phase-label {
    color: #b8860b;
}
.wizard-phase-agreement .wizard-phase-label {
    color: var(--brand-primary, #3d1a6f);
}

/* Gate divider between Planning and Agreement phases */
.wizard-gate {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    flex-shrink: 0;
    align-self: flex-end;
    padding-bottom: 4px;
}
.wizard-gate-label {
    font-size: 0.62rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #b8860b;
    border: 1px dashed #fdb913;
    border-radius: 10px;
    padding: 2px 8px;
    white-space: nowrap;
}

/* Locked step modifier (Phase-2 steps before gate commit) */
.wizard-steps .step.locked {
    color: var(--text-muted, #bbb);
    cursor: not-allowed;
    opacity: 0.5;
}
.wizard-steps .step.locked .step-number {
    background: var(--bg-muted, #e0e0e0);
    color: var(--text-muted, #aaa);
}
.wizard-steps .step.locked:hover {
    color: var(--text-muted, #bbb);
}

/* Dark-mode overrides for hardcoded label colours */
[data-theme="dark"] .wizard-phase-planning .wizard-phase-label {
    color: #fdb913;
}
[data-theme="dark"] .wizard-phase-agreement .wizard-phase-label {
    color: var(--brand-accent-light, #c9a0ff);
}
[data-theme="dark"] .wizard-gate-label {
    color: #fdb913;
    border-color: #fdb913;
}
[data-theme="dark"] .wizard-steps .step.locked .step-number {
    background: var(--bg-muted, #333);
    color: var(--text-muted, #666);
}

/* Unified Agreement Wizard (2026-05-21 Task 2.3): "Start Agreement" commit
   gate box at the end of the Forecast tab. Dashed gold border + cream bg,
   centred. JS (Task 2.4) shows it only on the forecast tab pre-commit. */
.agr-gatebox {
    border: 2px dashed var(--brand-accent, #fdb913);
    background: var(--cream, #fffbf0);
    border-radius: 8px;
    padding: 20px 24px;
    margin-top: 24px;
    text-align: center;
}
.agr-gatebox h4 {
    margin: 0 0 6px;
    font-size: 1.05rem;
    color: var(--text-primary, #333);
}
.agr-gatebox p {
    margin: 0 auto 14px;
    max-width: 540px;
    font-size: 0.85rem;
    color: var(--text-secondary, #666);
}
[data-theme="dark"] .agr-gatebox {
    background: var(--bg-muted, #1f1f1f);
    border-color: #fdb913;
}

/* ========================================
   Project Plan -- client "What to expect" lens, per-task visibility toggle,
   and seed-from-archetype panel layout. Appended block; .bh-pp-* family
   base styles are inline in CampaignBuilder.aspx. Brand colours only
   (#3d1a6f / #fdb913); surfaces use flipping theme tokens so dark mode
   resolves automatically (no hardcoded text + flipping bg pairings).
   ======================================== */

/* Client "What to expect" block */
.bh-pp-client {
    background: var(--bg-surface, #ffffff);
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 8px;
    padding: 14px 16px;
    box-shadow: 0 1px 3px rgba(61, 26, 111, 0.06);
}
.bh-pp-client-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding-bottom: 10px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--border-light, #e9ecef);
}
.bh-pp-client-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
}
.bh-pp-client-copy {
    white-space: nowrap;
}
.bh-pp-client-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.bh-pp-client-row {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 8px 12px;
    border-radius: 6px;
    background: var(--bg-purple-tint, #f0ebf7);
    border-left: 3px solid var(--brand-accent, #fdb913);
}
.bh-pp-client-date {
    flex: 0 0 auto;
    min-width: 110px;
    font-weight: 600;
    font-size: 0.82rem;
    color: var(--brand-primary, #3d1a6f);
}
.bh-pp-client-desc {
    flex: 1 1 auto;
    font-size: 0.88rem;
    color: var(--text-primary, #333333);
}
.bh-pp-client-empty {
    padding: 24px 12px;
}
@media (max-width: 768px) {
    .bh-pp-client-row { flex-direction: column; gap: 2px; }
    .bh-pp-client-date { min-width: 0; }
}

/* Per-task client-visibility toggle (list view) */
.bh-pp-client-toggle.bh-pp-client-toggle--on {
    color: var(--brand-primary, #3d1a6f);
}

/* Seed-from-archetype panel layout */
.bh-pp-seed-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--border-light, #e9ecef);
}
.bh-pp-seed-mode {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 0.85rem;
    color: var(--text-primary, #333333);
}
.bh-pp-seed-mode label {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}
.bh-pp-seed-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}
.bh-pp-seed-archetype {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 6px 10px;
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 6px;
    background: var(--bg-surface, #ffffff);
    font-size: 0.82rem;
    color: var(--text-primary, #333333);
    cursor: pointer;
    transition: border-color 0.12s, background 0.12s;
}
.bh-pp-seed-archetype:hover {
    border-color: var(--brand-primary, #3d1a6f);
    background: var(--bg-purple-tint, #f0ebf7);
}

/* ==========================================================================
   Stories Calendar -- My Work pill list
   ========================================================================== */
.bh-mywork-list { padding: .25rem 0; }
.bh-mywork-row { display: block; padding: .6rem 1rem; border-bottom: 1px solid var(--border-color, #eee); color: var(--text-primary, #333); text-decoration: none; }
.bh-mywork-row:last-child { border-bottom: 0; }
a.bh-mywork-row:hover { background: var(--hover-bg, #f7f4fc); }
.bh-mywork-pri { font-weight: 600; color: var(--brand-accent, #fdb913); }
.bh-mywork-title { font-weight: 600; }
.bh-mywork-meta { display: block; font-size: .8rem; color: var(--text-secondary, #777); }
.bh-mywork-group { display: flex; justify-content: space-between; align-items: baseline; padding: .5rem 1rem; background: var(--subtle-bg, #faf7ff); border-bottom: 1px solid var(--border-color, #eee); }
.bh-mywork-group-title { font-weight: 700; color: var(--page-title-color, #3d1a6f); }
.bh-mywork-group-meta { font-size: .78rem; color: var(--text-secondary, #777); }
.mywork-toolbar { display:flex; align-items:center; gap:.75rem; margin:.25rem 0 1rem; flex-wrap:wrap; }
.mywork-toolbar-label { font-size:.8rem; color:var(--text-secondary,#777); text-transform:uppercase; letter-spacing:.03em; }
.bh-mywork-section { border:1px solid var(--border-color,#eee); border-radius:10px; margin-bottom:1rem; overflow:hidden; }
.bh-mywork-section-head { display:flex; align-items:center; padding:.6rem 1rem; cursor:pointer; background:var(--bg-slate-tint,#f3f0f8); border-left:4px solid var(--brand-accent,#fdb913); font-weight:600; color:var(--page-title-color,#3d1a6f); }
.bh-mywork-section-title { text-transform:uppercase; font-size:.85rem; letter-spacing:.02em; }
.bh-mywork-subhead { padding:.4rem 1rem; font-size:.78rem; color:var(--text-secondary,#777); background:var(--bg-subtle,#faf7ff); }
.bh-mywork-row.bh-mywork-task { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; }
.bh-mywork-row .bh-mywork-actions { margin-left:auto; display:flex; align-items:center; gap:.35rem; }
.bh-mywork-ctx { font-size:.78rem; color:var(--text-secondary,#777); }
.bh-mywork-link { font-size:.78rem; }
.bh-snooze { position:relative; display:inline-block; }
.bh-snooze-menu { display:none; position:absolute; right:0; top:100%; z-index:10; background:var(--card-bg,#fff); border:1px solid var(--border-color,#ddd); border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,.12); min-width:120px; }
.bh-snooze:hover .bh-snooze-menu { display:block; }
.bh-snooze-menu a { display:block; padding:.45rem .8rem; color:var(--text-primary,#333); text-decoration:none; }
.bh-snooze-menu a:hover { background:var(--hover-bg,#f7f4fc); }
.mywork-search { max-width:320px; margin:0; flex:0 1 280px; }
.mywork-today-chip { display:inline-flex; align-items:center; }
.mw-today-count { font-size:.7rem; }
.mywork-search-hint { font-size:.78rem; color:var(--text-secondary,#777); margin-left:auto; align-self:center; }


@charset "UTF-8";

/*!
 * animate.css -https://daneden.github.io/animate.css/
 * Version - 3.7.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2019 Daniel Eden
 */

@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s}.animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s}.animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s}.animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s}.animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s}.animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s}.animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s}.animated.slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.slower{-webkit-animation-duration:3s;animation-duration:3s}@media (prefers-reduced-motion:reduce),(print){.animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}}
/* Styles for BUZZHub rich text editor */
.bh-rte-toolbar {
    position: sticky;
    top: 0;
    background: var(--bg-surface, #fff);
    z-index: 100;
    padding: 4px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
}

.bh-rte-editor {
    position: relative;
    border: 1px solid #ccc;
    min-height: 200px;
    padding: 4px;
    font-family: Arial, sans-serif;
    overflow-y: auto;
    max-height: 80vh;
    resize: vertical;
    /* Height SNAPS, does not transition. The second .bh-rte-editor rule below
       (line ~190) declares `transition: padding-top 0.15s` which silently
       overrides any transition declared here (CSS transition shorthand has no
       merge semantics). The original intent (smooth grow/shrink during autoGrow)
       has not been live since the second rule was added. Reviving it requires
       refactoring autoGrow to drop its `style.height='auto'`-then-numeric
       pattern -- otherwise rapid typing queues overlapping transitions and
       causes visible jank. See Loop B in
       .claude/plans/looking-at-the-rte-delegated-dongarra.md. */
}

    .bh-rte-editor table {
        border-collapse: collapse;
        position: relative;
    }

    .bh-rte-editor td,
    .bh-rte-editor th {
        position: relative;
    }

.col-resizer {
    position: absolute;
    top: 0;
    right: -2px;
    width: 4px;
    cursor: col-resize;
    user-select: none;
    height: 100%;
    z-index: 1;
}

.table-resizer {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 8px;
    height: 8px;
    cursor: nwse-resize;
    background: transparent;
    z-index: 2;
}

/* Allow native image drag/resize and forward pointer events */
.bh-rte-editor img {
    max-width: none !important;
    display: inline-block !important;
    position: static !important;
    pointer-events: auto !important;
    user-select: auto !important;
    touch-action: manipulation !important;
}

/* optional helper class to enable pointer interaction globally */
img.bh-pointer {
    max-width: none !important;
    display: inline-block !important;
    position: static !important;
    pointer-events: auto !important;
    user-select: auto !important;
    touch-action: manipulation !important;
}

    /* override global pseudo elements that block mouse events */
    .bh-rte-editor img::before,
    .bh-rte-editor img::after,
    img.bh-pointer::before,
    img.bh-pointer::after {
        display: none !important;
        content: none !important;
        pointer-events: none !important;
    }

.bh-rte-editor img.selected {
    outline: 2px dashed #3b99fc;
    cursor: nwse-resize;
}

.bh-rte-editor img:focus:not(.selected) {
    outline: none !important;
}

.bh-rte-editor ol,
.bh-rte-editor ul {
    padding-left: 3em;
    list-style-position: outside;
}

.bh-rte-editor li {
    font-family: inherit;
    font-size: inherit;
    color: inherit;
}

    .bh-rte-editor li::marker {
        font-family: inherit;
        font-size: inherit;
        color: inherit;
    }


.bh-rte-editor table {
    border-collapse: collapse;
    width: 100%;
}

    .bh-rte-editor table td,
    .bh-rte-editor table th {
        border: 1px solid #ccc;
        padding: 4px;
    }

.bh-rte-editor table {
    width: auto;
    table-layout: fixed; /* so your pixel widths stick */
}

.bh-rte-overlay {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none; /* toggled by JS: overlay.style.display = 'flex' */
    pointer-events: none; /* or auto if you want to block interactions while loading */
    background: rgba(255,255,255,0.6);
    z-index: 9999;
    align-items: center;
    justify-content: center;
}
    .bh-rte-overlay.show {
        display: flex; 
        pointer-events: auto;
    }

    .bh-rte-overlay .spinner-border {
        position: static !important;
    }

/* outer wrapper */
.bh-rte-container {
    position: relative;
    border: 1px solid #fdb913;
    border-radius: 4px;
    margin-top: 5px;
    padding-left: 2px;
    margin-bottom: 5px;
    overflow: hidden;
    /* 2026-05-11: container queries below adapt the toolbar to THIS wrapper's
       width rather than the viewport, so RTE mounted in modals/sidebars/two-col
       layouts collapses to the minimal toolbar even on a wide desktop. */
    container-type: inline-size;
    container-name: bh-rte;
}

    /* split the border between toolbar & editor */
    .bh-rte-container .bh-rte-toolbar {
        border-bottom: 1px solid #fdb913;
    }


.word-count {
    font-size: .875rem;
    color: var(--text-secondary, #666);
    user-select: none;
}

/* editor already has padding, so just remove its own border */
.bh-rte-editor {
    border: none;
    min-height: 200px;
    font-family: Arial, sans-serif;
    resize: vertical;
    border: none;
    min-height: 200px;
    resize: vertical;
    padding: 0 0.75rem 0.375rem;
    transition: padding-top 0.15s;
}
.bh-rte-toolbar.show + .bh-rte-editor {
    padding-top: calc( var(--toolbar-height) + 4px );
}
    .bh-rte-editor.form-control {
        padding: 0 .75rem .375rem;
    }

.bh-rte-container {
    border: 1px solid #fdb913;
    border-radius: 4px;
    overflow: hidden;
}

.bh-rte-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    padding: 4px 0;
    background: var(--bg-surface, #fff);
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
    padding-right: 5px;
}

    .bh-rte-toolbar button.active {
        background-color: var(--bg-muted, #f0f0f0);
        box-shadow: inset 0 1px 3px rgba(0,0,0,0.2);
    }

        .bh-rte-toolbar button.active i {
            color: var(--brand-primary, #3d1a6f); 
        }

        /* Example: hover/active combined */
        .bh-rte-toolbar button.active:hover {
            background-color: #d0d0d0;
        }

#tableGrid .cell {
    width: 20px;
    height: 20px;
    border: 1px solid #ccc;
    background: var(--bg-muted, #f8f8f8);
}

    #tableGrid .cell.hovered {
        background-color: var(--brand-primary, #3d1a6f);
    }



    .bh-rte-toolbar .bh-table-dropdown #tableGrid .cell {
        width: 20px;
        height: 20px;
        background: var(--bg-subtle, #f9f9f9);
        border: 1px solid #ccc;
        cursor: pointer;
    }


/* 1. Make the dropdown wrapper position itself as the origin */
.bh-rte-toolbar .bh-table-dropdown {
    position: relative;
}

        .bh-rte-toolbar .bh-table-dropdown #tableGrid .cell.hovered {
            background: var(--brand-primary, #3d1a6f);
        }



    /* 2. Hide the entire panel by default, and absolutely position it */
    .bh-rte-toolbar .bh-table-dropdown .bh-table-panel {
        display: none;
        position: absolute;
        top: calc(100% + 4px);
        right: 0;
        background: var(--bg-surface, #fff);
        border: 1px solid #ccc;
        padding: 8px;
        z-index: 2000;
        box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    }

    /* 3. When its parent has �open�, show the panel */
    .bh-rte-toolbar .bh-table-dropdown.open .bh-table-panel {
        display: block;
    }

    /* 4. Tidy the button row under the grid */
    .bh-rte-toolbar .bh-table-dropdown #bh-table-controls {
        margin-top: 8px;
        display: flex;
        gap: 4px;
    }

.bh-rte-editor.form-control {
    border: none;
    color: black;
}
.bh-rte-editor.form-control {
    /* default height */
    min-height: 300px;
}

/* Override by wrapper size */
.richtextwrapper-xs .bh-rte-editor.form-control {
    min-height: 150px;
}

.richtextwrapper-sm .bh-rte-editor.form-control {
    min-height: 200px;
}

.RadMultiLine .bh-rte-editor.form-control {
    min-height: 200px;
}
.richtextwrapper-lg .bh-rte-editor.form-control {
    min-height: 700px;
}

.RTEHeading .bh-rte-editor.form-control {
    min-height: 75px;
    font-weight: 900;
    font-size: 25px !important;
}

/* Always override for screens under 990px */
@media (max-width: 990px) {
    .bh-rte-editor.form-control {
        min-height: 400px !important;
    }
}

.richtextwrapper-sm .bh-rte-container {
    margin-bottom: 2em;
}

/* Table Context Menu */
.bh-table-context-menu {
    position: fixed;
    z-index: 10000;
    background: var(--bg-surface, #fff);
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    padding: 4px 0;
    min-width: 160px;
    display: none;
}

.bh-table-context-menu.show {
    display: block;
}

.bh-table-context-menu .menu-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 14px;
    color: var(--text-primary, #333);
    transition: background 0.15s;
}

.bh-table-context-menu .menu-item:hover {
    background: var(--bg-muted, #f0f0f0);
}

.bh-table-context-menu .menu-item i {
    width: 16px;
    text-align: center;
    color: var(--text-secondary, #666);
}

.bh-table-context-menu .menu-divider {
    height: 1px;
    background: #e0e0e0;
    margin: 4px 0;
}

/* Table cell size dialog */
.bh-cell-size-dialog {
    position: fixed;
    z-index: 10001;
    background: var(--bg-surface, #fff);
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    padding: 12px;
    min-width: 200px;
    display: none;
}

.bh-cell-size-dialog.show {
    display: block;
}

.bh-cell-size-dialog label {
    display: block;
    font-size: 13px;
    margin-bottom: 4px;
    color: var(--text-primary, #333);
}

.bh-cell-size-dialog input {
    width: 100%;
    padding: 6px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-bottom: 10px;
    font-size: 14px;
}

.bh-cell-size-dialog .dialog-buttons {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.bh-cell-size-dialog button {
    padding: 6px 12px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
}

.bh-cell-size-dialog .btn-apply {
    background: var(--brand-primary, #3d1a6f);
    color: #fff;
}

.bh-cell-size-dialog .btn-apply:hover {
    background: #0056b3;
}

.bh-cell-size-dialog .btn-cancel {
    background: #e0e0e0;
    color: var(--text-primary, #333);
}

.bh-cell-size-dialog .btn-cancel:hover {
    background: #ccc;
}

/* =========================================================================
   Fullscreen Mode
   ========================================================================= */
.bh-rte-container.bh-rte-fullscreen {
    position: fixed !important;
    inset: 0;
    z-index: 2147483646;
    border-radius: 0;
    margin: 0;
    border: none;
    background: var(--bg-surface, #fff);
    display: flex;
    flex-direction: column;
}

.bh-rte-fullscreen .bh-rte-toolbar {
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    flex: 0 0 auto;
    border-bottom: 2px solid #3d1a6f;
    padding: 8px 12px;
}

.bh-rte-fullscreen .bh-rte-editor.form-control {
    flex: 1 1 auto;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    border: none;
    padding: 16px 24px;
    overflow-y: auto;
    resize: none;
}

/* Icon swap for fullscreen toggle is handled in JS (FA 7 uses --fa custom props) */

/* =========================================================================
   Find & Replace Bar
   ========================================================================= */
.bh-rte-find-bar {
    display: none;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    padding: 8px 12px;
    background: var(--bg-gold-tint, #fdf8ec);
    border-bottom: 1px solid #fdb913;
    font-size: 0.85rem;
}

.bh-rte-find-bar.show {
    display: flex;
}

.bh-rte-find-bar input {
    flex: 1 1 120px;
    max-width: 220px;
    padding: 4px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 0.85rem;
}

.bh-rte-find-bar input:focus {
    outline: none;
    border-color: #3d1a6f;
    box-shadow: 0 0 0 2px rgba(61, 26, 111, 0.15);
}

.bh-rte-find-bar button {
    padding: 4px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: var(--bg-surface, #fff);
    cursor: pointer;
    font-size: 0.85rem;
}

.bh-rte-find-bar button:hover {
    background: #e8e8e8;
}

.bh-rte-find-bar .bh-find-count {
    color: var(--text-secondary, #666);
    min-width: 50px;
    font-size: 0.8rem;
}

.bh-rte-find-bar .bh-find-close {
    border: none;
    background: none;
    font-size: 1.1rem;
    padding: 2px 6px;
    color: var(--text-muted, #999);
}

.bh-rte-find-bar .bh-find-close:hover {
    color: var(--text-primary, #333);
}

/* Highlight for find matches */
.bh-find-match {
    background: var(--bg-gold-tint, #fff59d);
    border-radius: 2px;
}

.bh-find-match.bh-find-current {
    background: var(--brand-primary, #3d1a6f);
    color: #fff;
    border-radius: 2px;
}

/* Find bar mobile responsive */
@media (max-width: 576px) {
    .bh-rte-find-bar {
        gap: 4px;
        padding: 6px 8px;
    }
    .bh-rte-find-bar input {
        max-width: none;
        flex: 1 1 100%;
    }
    .bh-rte-find-bar .bh-find-replace-one,
    .bh-rte-find-bar .bh-find-replace-all {
        font-size: 0.75rem;
        padding: 4px 6px;
    }
}

/* =========================================================================
   Color Picker Buttons (Font Color + Highlight Color)
   ========================================================================= */
.bh-color-btn {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.15s;
}

.bh-color-btn:hover {
    background: var(--bg-muted, #f0f0f0);
}

.bh-color-btn i {
    font-size: 14px;
    color: var(--text-primary, #333);
    line-height: 1;
}

.bh-color-bar {
    display: block;
    width: 18px;
    height: 4px;
    border-radius: 1px;
    margin-top: 2px;
    background: #000;
}

.bh-color-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    border: none;
    padding: 0;
}

/* =============================================================================
   DARK MODE -- Rich Text Editor
   ============================================================================= */
[data-theme="dark"] .bh-rte-container {
    border-color: var(--brand-accent-soft, #8a6d18);
}
[data-theme="dark"] .bh-rte-container .bh-rte-toolbar {
    border-bottom-color: var(--brand-accent-soft, #8a6d18);
}
[data-theme="dark"] .bh-rte-toolbar {
    background: var(--bg-muted, #1e1e1e);
}
[data-theme="dark"] .bh-rte-editor {
    background: var(--bg-surface, #141414);
    color: var(--text-primary, #e8e8e8);
    border-color: var(--border-default, #2a2a2a);
}
/* Force all RTE content to light text in dark mode. Inline color styles from
   pasted/authored content (black, #333, etc.) become invisible on dark backgrounds.
   This blanket rule overrides ALL inline text colour. Users who intentionally set
   coloured text (red highlights etc.) will see it reset to white in dark mode,
   which is the correct trade-off vs unreadable black-on-black. */
[data-theme="dark"] .bh-rte-editor * {
    color: var(--text-primary, #e8e8e8) !important;
}
[data-theme="dark"] .bh-rte-editor a {
    color: var(--brand-primary, #a76bdf) !important;
}
[data-theme="dark"] .bh-rte-editor table td,
[data-theme="dark"] .bh-rte-editor table th {
    border-color: var(--border-strong, #3a3a3a);
}
[data-theme="dark"] .bh-rte-overlay {
    background: rgba(0,0,0,0.6);
}
/* Toolbar buttons */
[data-theme="dark"] .bh-rte-toolbar button {
    background: var(--bg-subtle, #1a1a1a);
    color: var(--text-primary, #e8e8e8);
    border-color: var(--border-strong, #3a3a3a);
}
[data-theme="dark"] .bh-rte-toolbar button:hover {
    background: var(--bg-surface, #141414);
}
[data-theme="dark"] .bh-rte-toolbar button.active,
[data-theme="dark"] .bh-rte-toolbar button:active {
    background: var(--brand-primary, #a76bdf);
    color: var(--text-on-dark, #fff);
}
/* Toolbar selects (font family, size, format) */
[data-theme="dark"] .bh-rte-toolbar select {
    background: var(--bg-subtle, #1a1a1a);
    color: var(--text-primary, #e8e8e8);
    border-color: var(--border-strong, #3a3a3a);
}
/* Word count */
[data-theme="dark"] .word-count {
    color: var(--text-muted, #808080);
}
/* Dropdowns (font picker, color picker panels) */
[data-theme="dark"] .bh-rte-toolbar .dropdown-menu,
[data-theme="dark"] .bh-font-picker,
[data-theme="dark"] .bh-rte-search-panel {
    background: var(--bg-surface, #141414);
    border-color: var(--border-strong, #3a3a3a);
    color: var(--text-primary, #e8e8e8);
}
[data-theme="dark"] .bh-font-picker .font-option:hover,
[data-theme="dark"] .bh-rte-search-panel input {
    background: var(--bg-muted, #1e1e1e);
    color: var(--text-primary, #e8e8e8);
    border-color: var(--border-strong, #3a3a3a);
}
/* Table dialog */
[data-theme="dark"] .bh-rte-table-dialog {
    background: var(--bg-surface, #141414);
    border-color: var(--border-strong, #3a3a3a);
    color: var(--text-primary, #e8e8e8);
}
[data-theme="dark"] .bh-rte-table-dialog input {
    background: var(--bg-muted, #1e1e1e);
    color: var(--text-primary, #e8e8e8);
    border-color: var(--border-strong, #3a3a3a);
}
/* Context menu */
[data-theme="dark"] .bh-rte-context-menu {
    background: var(--bg-surface, #141414);
    border-color: var(--border-strong, #3a3a3a);
}
[data-theme="dark"] .bh-rte-context-menu .ctx-item {
    color: var(--text-primary, #e8e8e8);
}
[data-theme="dark"] .bh-rte-context-menu .ctx-item:hover {
    background: var(--bg-muted, #1e1e1e);
}
[data-theme="dark"] .bh-rte-context-menu .ctx-separator {
    border-top-color: var(--border-default, #2a2a2a);
}
/* Rewrite dropdown */
[data-theme="dark"] .bh-rte-toolbar .rewrite-select {
    background: var(--bg-subtle, #1a1a1a);
    color: var(--text-primary, #e8e8e8);
    border-color: var(--border-strong, #3a3a3a);
}
/* =============================================================================
   Desktop: progressive disclosure. Hide non-essential tools behind "..." toggle.
   Essentials kept visible: B/I/U, lists, link, undo/redo, AI rewrite, word count.
   Toggle persists per-user via localStorage in RichTextEditor.js init().
   Mobile (<=768px) rules below override this -- mobile hides the "..." toggle
   too because the mobile rules already strip the same buttons.
   ============================================================================= */
@container bh-rte (min-width: 769px) {
    .bh-rte-container:not(.bh-rte-overflow-shown) .bh-rte-toolbar select.font-name,
    .bh-rte-container:not(.bh-rte-overflow-shown) .bh-rte-toolbar select.font-size,
    .bh-rte-container:not(.bh-rte-overflow-shown) .bh-rte-toolbar select.block-format,
    .bh-rte-container:not(.bh-rte-overflow-shown) .bh-rte-toolbar button[data-cmd="strikeThrough"],
    .bh-rte-container:not(.bh-rte-overflow-shown) .bh-rte-toolbar button[data-cmd="superscript"],
    .bh-rte-container:not(.bh-rte-overflow-shown) .bh-rte-toolbar button[data-cmd="undo"],
    .bh-rte-container:not(.bh-rte-overflow-shown) .bh-rte-toolbar button[data-cmd="redo"],
    .bh-rte-container:not(.bh-rte-overflow-shown) .bh-rte-toolbar button#linkToggleBtn,
    .bh-rte-container:not(.bh-rte-overflow-shown) .bh-rte-toolbar button[data-image],
    .bh-rte-container:not(.bh-rte-overflow-shown) .bh-rte-toolbar .bh-table-dropdown,
    .bh-rte-container:not(.bh-rte-overflow-shown) .bh-rte-toolbar .bh-color-btn,
    .bh-rte-container:not(.bh-rte-overflow-shown) .bh-rte-toolbar button[data-find-replace] {
        display: none !important;
    }
    /* Fullscreen stays OUT of the overflow -- always visible in the toolbar (George 2026-05-23:
       "ensure full screen always appears in the media release editor"). */
    .bh-rte-container.bh-rte-overflow-shown .bh-rte-toolbar button[data-overflow-toggle] {
        background-color: var(--bg-muted, #f0f0f0);
    }
    .bh-rte-container.bh-rte-overflow-shown .bh-rte-toolbar button[data-overflow-toggle] i {
        color: var(--brand-primary, #3d1a6f);
    }
}

/* Narrow container: hide the overflow toggle entirely -- the narrow-container
   block below already strips the same set, so the toggle has nothing to reveal. */
@container bh-rte (max-width: 768px) {
    .bh-rte-toolbar button[data-overflow-toggle] {
        display: none !important;
    }
}

/* =============================================================================
   Editor height clamp on small viewports. Viewport-relative (45vh) so the editor
   can't blow up beyond half the screen on a phone. Stays on @media because the
   constraint is "small SCREEN" not "narrow container".
   ============================================================================= */
@media (max-width: 768px) {
    /* Force compact min/max-height across every richtextwrapper-* and RadMultiLine variant.
       !important + multiple selectors needed to beat .richtextwrapper-xs/.RadMultiLine specificity
       AND any inline height set by autoGrow's _bhLastHeight ratchet. */
    .bh-rte-editor,
    .richtextwrapper-xs .bh-rte-editor,
    .richtextwrapper-xs .bh-rte-editor.form-control,
    .richtextwrapper-sm .bh-rte-editor,
    .richtextwrapper-sm .bh-rte-editor.form-control,
    .richtextwrapper-lg .bh-rte-editor,
    .richtextwrapper-lg .bh-rte-editor.form-control,
    .RadMultiLine .bh-rte-editor,
    .RadMultiLine .bh-rte-editor.form-control,
    .RTEHeading .bh-rte-editor,
    .RTEHeading .bh-rte-editor.form-control {
        min-height: 120px !important;
        max-height: 45vh !important;
        height: auto !important;
    }
}

/* =============================================================================
   Narrow CONTAINER: collapse RTE toolbar to essential controls.
   Hides font/size/style selectors, advanced formatting, color, table, AI tone,
   leaving bold/italic/underline/lists/link/undo/redo + clear formatting.
   Container-query so RTE mounted in a narrow modal/sidebar collapses to minimal
   even on a wide desktop viewport. System-wide -- BHRichTextEditor.ascx is
   shared across all pages.
   ============================================================================= */
@container bh-rte (max-width: 768px) {
    .bh-rte-toolbar {
        gap: 2px;
        padding: 2px 0;
    }
    /* Hide font / size / style selects */
    .bh-rte-toolbar select.font-name,
    .bh-rte-toolbar select.font-size,
    .bh-rte-toolbar select.block-format,
    .bh-rte-toolbar select.tone-select,
    .bh-rte-toolbar #toneSelect {
        display: none !important;
    }
    /* Hide advanced formatting commands */
    .bh-rte-toolbar button[data-cmd="strikeThrough"],
    .bh-rte-toolbar button[data-cmd="superscript"],
    .bh-rte-toolbar button[data-cmd="outdent"],
    .bh-rte-toolbar button[data-cmd="indent"],
    .bh-rte-toolbar button[data-cmd="justifyLeft"],
    .bh-rte-toolbar button[data-cmd="justifyCenter"],
    .bh-rte-toolbar button[data-cmd="justifyRight"] {
        display: none !important;
    }
    /* Hide image / table / color / find / fullscreen */
    .bh-rte-toolbar button[data-image],
    .bh-rte-toolbar button[data-find-replace],
    .bh-rte-toolbar button[data-fullscreen],
    .bh-rte-toolbar .bh-table-dropdown,
    .bh-rte-toolbar .bh-color-btn {
        display: none !important;
    }
    /* Word count: keep but tighten */
    .bh-rte-toolbar .word-count {
        font-size: 0.7rem;
    }
}

/* =============================================================================
   Image on-select mini-toolbar. Floats above the selected <img> with
   size / fit / align / alt / replace / remove controls. Positioned by JS
   (absolute inside .bh-rte-container, or fixed when appended to body).
   Neutral surface styling; dark-mode safe via theme tokens.
   ============================================================================= */
.bh-rte-img-toolbar {
    position: absolute;
    z-index: 2147483640;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #ddd);
    border-radius: 6px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
    padding: 4px;
    color: var(--text-primary, #333);
}

    .bh-rte-img-toolbar .bh-rte-img-toolbar-row {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 2px;
    }

    .bh-rte-img-toolbar .bh-rte-img-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 26px;
        height: 26px;
        padding: 0 6px;
        font-size: 0.78rem;
        line-height: 1;
        border: 1px solid transparent;
        border-radius: 4px;
        background: transparent;
        color: var(--text-primary, #333);
        cursor: pointer;
    }

        .bh-rte-img-toolbar .bh-rte-img-btn:hover {
            background: var(--bg-muted, #f0f0f0);
            border-color: var(--border-default, #ddd);
        }

        .bh-rte-img-toolbar .bh-rte-img-btn.bh-rte-img-btn-danger:hover {
            color: var(--danger, #c0392b);
        }

    .bh-rte-img-toolbar .bh-rte-img-sep {
        display: inline-block;
        width: 1px;
        align-self: stretch;
        margin: 2px 3px;
        background: var(--border-default, #ddd);
    }

    .bh-rte-img-toolbar .bh-rte-img-alt-row {
        margin-top: 4px;
    }

    .bh-rte-img-toolbar input {
        width: 100%;
        box-sizing: border-box;
        font-size: 0.8rem;
        padding: 3px 6px;
        border: 1px solid var(--border-default, #ddd);
        border-radius: 4px;
        background: var(--bg-surface, #fff);
        color: var(--text-primary, #333);
    }

        .bh-rte-img-toolbar input:focus {
            outline: none;
            border-color: var(--brand-accent, #fdb913);
        }

/* release-styles.css -- Shared "rich release" named treatments
   ============================================================
   ONE definition for every surface that renders Media Release content:
   the BHRichTextEditor canvas (WYSIWYG authoring), the Newswire card,
   the email preview, and the PDF (Report.Master / Media Pack components).

   Named, semantic classes (the JS agent wraps selections in them; the
   markup agent's toolbar buttons trigger them). DO NOT rename without
   updating the Phase 1 shared contract.

   Brand palette only: #3d1a6f (primary) / #5a2d82 (secondary) /
   #fdb913 (accent gold) / cream. Dark-mode safe via theme-tokens.css
   tokens with hex fallbacks. Structural CSS only -- no JS dependency,
   so PagedJS / ChromeHtmlToPdf render the styles identically. */

/* ----------------------------------------------------------------
   Pull quote -- blockquote.bh-rs-pullquote (+ optional <cite> child)
   Gold left-border, purple text, italic, large opening-quote glyph.
   ---------------------------------------------------------------- */
blockquote.bh-rs-pullquote {
    position: relative;
    margin: 1.75rem 0;
    padding: 0.75rem 1.25rem 0.75rem 2.5rem;
    border-left: 4px solid var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
    font-style: italic;
    font-size: 1.2rem;
    line-height: 1.5;
}

blockquote.bh-rs-pullquote::before {
    content: "\201C"; /* left double quotation mark */
    position: absolute;
    left: 0.4rem;
    top: -0.1rem;
    font-size: 2.75rem;
    line-height: 1;
    font-style: normal;
    color: var(--brand-accent, #fdb913);
}

blockquote.bh-rs-pullquote cite {
    display: block;
    margin-top: 0.5rem;
    font-style: normal;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-tertiary, #888);
}

blockquote.bh-rs-pullquote cite::before {
    content: "-- ";
}

/* ----------------------------------------------------------------
   Standfirst / intro paragraph -- p.bh-rs-standfirst
   Larger, medium weight, slightly muted lead-in.
   ---------------------------------------------------------------- */
p.bh-rs-standfirst {
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.55;
    margin: 0 0 1.25rem;
    color: var(--text-body, #555);
}

/* ----------------------------------------------------------------
   Key facts panel -- div.bh-rs-keyfacts (contains a <ul>)
   Subtle tinted background, gold left-border, rounded, tidy list.
   ---------------------------------------------------------------- */
div.bh-rs-keyfacts {
    margin: 1.5rem 0;
    padding: 1rem 1.25rem;
    background: var(--bg-subtle, #f4f5f7);
    border-left: 4px solid var(--brand-accent, #fdb913);
    border-radius: 0 6px 6px 0;
    color: var(--text-body, #555);
}

div.bh-rs-keyfacts > ul {
    margin: 0;
    padding-left: 1.25rem;
    list-style: disc;
}

div.bh-rs-keyfacts > ul > li {
    margin-bottom: 0.4rem;
    line-height: 1.45;
}

div.bh-rs-keyfacts > ul > li:last-child {
    margin-bottom: 0;
}

/* ----------------------------------------------------------------
   Callout -- div.bh-rs-callout
   Brand-tinted (purple) background, accent left-border, padding.
   "Make it stand out".
   ---------------------------------------------------------------- */
div.bh-rs-callout {
    margin: 1.5rem 0;
    padding: 1rem 1.25rem;
    background: var(--bg-purple-tint, #f0ebf7);
    border-left: 4px solid var(--brand-primary, #3d1a6f);
    border-radius: 0 6px 6px 0;
    color: var(--brand-primary, #3d1a6f);
}

div.bh-rs-callout > :first-child {
    margin-top: 0;
}

div.bh-rs-callout > :last-child {
    margin-bottom: 0;
}

/* ----------------------------------------------------------------
   Figure -- figure.bh-rs-figure (+ figcaption)
   Centered, generous margin, responsive image, small tertiary caption.
   ---------------------------------------------------------------- */
figure.bh-rs-figure {
    margin: 1.75rem auto;
    text-align: center;
}

figure.bh-rs-figure img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

figure.bh-rs-figure figcaption {
    margin-top: 0.5rem;
    font-size: 0.8rem;
    color: var(--text-tertiary, #888);
    text-align: center;
    line-height: 1.4;
}

/* ----------------------------------------------------------------
   Divider -- hr.bh-rs-divider
   Thin branded rule, generous vertical margin.
   ---------------------------------------------------------------- */
hr.bh-rs-divider {
    border: 0;
    border-top: 2px solid var(--brand-accent, #fdb913);
    width: 60px;
    margin: 2rem auto;
    opacity: 1;
}

/* ----------------------------------------------------------------
   Sub-heading + highlight -- h3.bh-rs-subheading
   Branded section heading with a gold "highlight" underline.
   ---------------------------------------------------------------- */
h3.bh-rs-subheading {
    margin: 1.75rem 0 0.75rem;
    padding-bottom: 0.3rem;
    border-bottom: 2px solid var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
}

/* ----------------------------------------------------------------
   Call-to-action block -- div.bh-rs-cta
   Centred, brand-filled banner. White text; any inner link goes gold.
   ---------------------------------------------------------------- */
div.bh-rs-cta {
    margin: 1.75rem auto;
    padding: 1.25rem 1.5rem;
    background: var(--brand-primary, #3d1a6f);
    border-radius: 8px;
    text-align: center;
    color: #ffffff;
}

div.bh-rs-cta > :first-child { margin-top: 0; }
div.bh-rs-cta > :last-child { margin-bottom: 0; }

div.bh-rs-cta a {
    color: var(--brand-accent, #fdb913);
    font-weight: 700;
    text-decoration: underline;
}

/* ----------------------------------------------------------------
   Image gallery -- div.bh-rs-gallery
   Responsive grid wrapping 2+ images / figures.
   ---------------------------------------------------------------- */
div.bh-rs-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.6rem;
    margin: 1.75rem 0;
    align-items: start;
}

div.bh-rs-gallery img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

div.bh-rs-gallery figure {
    margin: 0;
}

/* ----------------------------------------------------------------
   Video / social embed -- div.bh-rs-embed
   Media-link card (sanitiser-safe; no iframe). Play glyph + accent border.
   A live in-page player needs an HtmlSanitiser iframe allowlist (separate).
   ---------------------------------------------------------------- */
div.bh-rs-embed {
    position: relative;
    margin: 1.75rem 0;
    padding: 1rem 1.25rem 1rem 3rem;
    background: var(--bg-subtle, #f4f5f7);
    border: 1px solid var(--brand-primary, #3d1a6f);
    border-radius: 6px;
    color: var(--text-body, #555);
}

div.bh-rs-embed::before {
    content: "\25B6"; /* play triangle */
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.1rem;
    color: var(--brand-accent, #fdb913);
}

div.bh-rs-embed > :first-child { margin-top: 0; }
div.bh-rs-embed > :last-child { margin-bottom: 0; }

/* ----------------------------------------------------------------
   Dark mode overrides
   Most colours flow from tokens that already flip (brand-primary,
   brand-accent, bg-subtle, bg-purple-tint, text-body, text-tertiary).
   The pull quote glyph + standfirst already inherit flipped tokens.
   These overrides only touch cases where a flipped token alone would
   read poorly: the purple callout text needs a brighter tone on a
   dark tinted background, and the figure image edge softens.
   ---------------------------------------------------------------- */
[data-theme="dark"] div.bh-rs-callout {
    color: var(--text-body, #d4d4d4);
}

[data-theme="dark"] blockquote.bh-rs-pullquote {
    color: var(--text-body, #d4d4d4);
}

[data-theme="dark"] figure.bh-rs-figure img {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] h3.bh-rs-subheading {
    color: var(--text-strong, #e8e3f2);
}

[data-theme="dark"] div.bh-rs-embed {
    color: var(--text-body, #d4d4d4);
}

/* ===================================================================
   release-editor.css -- BUZZHub RTE "document canvas" skin (Jen 2026-05-22)

   OPT-IN editor-surface skin for the shared Rich Text Editor. The control
   emits the class .bh-rte--canvas on its .bh-rte-container ROOT only when it
   is initialised with a release profile (body / summary / notes); the default
   profile ("full", ~20 other consumers) emits NO class, so the shared RTE
   look is byte-unchanged everywhere else.

   These rules are the editor-SURFACE treatment ONLY: the paper fill, the
   softened hairline that replaces the shared gold container frame, the radius,
   the split-border soften between toolbar and editor, the body type / measure
   on the contenteditable, and the focus-within ring + lift. Page-composition
   (the document sheet wrapper, eyebrow labels, headline input, action row)
   stays page-scoped in CampaignBuilder.aspx -- this file is reusable by ANY
   release-profile RTE instance.

   COSMETIC ONLY: no position / overflow / height changes, so the RTE's
   focus-based sticky toolbar, autoGrow and resize behaviour are untouched.
   Brand palette + theme tokens only; every colour via var(--token, #fallback)
   so dark mode flips automatically (explicit dark overrides at the foot).
   ASCII only.

   Loaded everywhere the RTE loads (BHBootStrapCSS + RichTextEditorCSS bundles)
   but only .bh-rte--canvas instances are affected.
   =================================================================== */

/* Container: soften the shared gold frame to a quiet hairline + paper fill +
   soft radius. No position / overflow change, so the sticky focus toolbar
   keeps working. */
.bh-rte--canvas {
    border: 1px solid var(--border-light, #e9ecef);
    border-radius: 10px;
    background: var(--bg-surface, #ffffff);
    box-shadow: inset 0 0 0 1px rgba(61, 26, 111, 0.012);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* Split-border between toolbar and editor: soften the shared gold rule. */
.bh-rte--canvas .bh-rte-toolbar {
    border-bottom-color: var(--border-light, #e9ecef);
}

/* The shared .bh-rte-editor contenteditable carries its own 1px frame
   (RichTextEditor.css:16). Inside the canvas container -- which already draws a
   hairline + radius + 2px left padding -- that produced two parallel borders
   (the "double line" running the full height of the tall release body). The
   container hairline is the only frame the canvas surface needs. */
.bh-rte--canvas .bh-rte-editor {
    border: none;
}

/* Body type: comfortable measure + generous line-height + refined size. */
.bh-rte--canvas .bh-rte-editor {
    font-size: 0.975rem;
    line-height: 1.6;
    color: var(--text-body, #2d2d34);
    /* Give the canvas a real writing area so it does not collapse to a couple of lines
       when the content is short (the "squished" look). It still scrolls past its cap. */
    min-height: 40vh;
}

/* Selection + scrollbar stay SYSTEM-neutral on the canvas, never the preview brand.
   updateBrandChip() (InlineMediaReleaseEditor.js) pins --brand-primary / --brand-accent /
   --brand-secondary inline on THIS .bh-rte-editor so the release-style blocks (pull-quote /
   key-facts / callout) preview in the chosen brand. The global ::selection (CustomBootstrap.css)
   and scrollbar-thumb (BUZZHub.css / theme-tokens.css) rules read those same --brand-* tokens,
   so without these resets the text-selection highlight + scrollbar would inherit the previewed
   brand -- and a dark preview colour made selected body text invisible (appeared "unselectable").
   Pin them to fixed neutral values so the editing surface always behaves like a system text
   field regardless of which brand is being previewed. */
.bh-rte--canvas .bh-rte-editor::selection,
.bh-rte--canvas .bh-rte-editor ::selection {
    background: #b3d4fc;
    color: #1a1a1a;
    text-shadow: none;
}
.bh-rte--canvas .bh-rte-editor::-moz-selection,
.bh-rte--canvas .bh-rte-editor ::-moz-selection {
    background: #b3d4fc;
    color: #1a1a1a;
    text-shadow: none;
}
[data-theme="dark"] .bh-rte--canvas .bh-rte-editor::selection,
[data-theme="dark"] .bh-rte--canvas .bh-rte-editor ::selection {
    background: #34406b;
    color: #f0f0f0;
}
[data-theme="dark"] .bh-rte--canvas .bh-rte-editor::-moz-selection,
[data-theme="dark"] .bh-rte--canvas .bh-rte-editor ::-moz-selection {
    background: #34406b;
    color: #f0f0f0;
}
.bh-rte--canvas .bh-rte-editor {
    scrollbar-color: var(--scrollbar-thumb, #c1c1c1) transparent;
}
.bh-rte--canvas .bh-rte-editor::-webkit-scrollbar-thumb {
    background-color: var(--scrollbar-thumb, #c1c1c1);
}
.bh-rte--canvas .bh-rte-editor::-webkit-scrollbar-thumb:hover {
    background-color: var(--scrollbar-thumb-hover, #a1a1a1);
}

/* Refined focus state -- brand-purple ring + subtle lift on the focused
   field's RTE container (premium micro-interaction, CSS only via
   :focus-within). Reserved gold accent role kept on the surrounding chrome. */
.bh-rte--canvas:focus-within {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 0 3px var(--bg-purple-tint, #f0ebf7),
                0 6px 18px rgba(61, 26, 111, 0.08);
}

/* Dark mode -- the structural tokens above already flip, but pin the paper
   surface + hairline + focus ring to the dark palette for crisp contrast. */
[data-theme="dark"] .bh-rte--canvas {
    background: var(--bg-surface, #141414);
    border-color: var(--border-default, #2a2a2a);
}
[data-theme="dark"] .bh-rte--canvas:focus-within {
    border-color: var(--brand-primary, #a76bdf);
    box-shadow: 0 0 0 3px var(--bg-purple-tint, #1e1430),
                0 6px 18px rgba(0, 0, 0, 0.45);
}

/* Mobile (phone) -- the comfortable reading-measure + centred document column
   is a desktop nicety. On a narrow viewport a centred / capped editor column
   can exceed the viewport and clip at the right edge. Drop any measure-cap and
   centring so the canvas editor fills its container full-width, and trim the
   horizontal padding so long words / pasted content never push past the phone
   edge. Benefits every release-profile canvas consumer, not just the MR tab.
   Box-sizing keeps the reduced padding inside the 100% width. */
@media (max-width: 768px) {
    .bh-rte--canvas {
        max-width: none;
        width: 100%;
    }
    .bh-rte--canvas .bh-rte-editor {
        max-width: none;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        box-sizing: border-box;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
}

/* ==========================================================================
   help-content.css -- shared rendering rules for raw RTE-authored Help.Answer
   HTML, used by:
     - Help.aspx public Learning Centre  (.help-article)  [Buzzhub.Master]
     - theHive.aspx course modal          (.helppage)      [Site.Master]
     - theHive.aspx inline article view   (.helppage)      [Site.Master]
     - BuzzHubAdmin.aspx article preview  (.helppage)      [Site.Master]

   One copy. Three surfaces. Loaded on Site.Master + Buzzhub.Master via
   ~/bundles/HelpContentCSS. Page-chrome (.bs-help-* hero/breadcrumb/badges)
   stays in Buzzscribed.css; .helppage frame styles (border, shadow, max-width)
   stay in their owning .aspx. Only the inner article rendering lives here.

   Token strategy: brand hexes hardcoded (stable across shells), dark-mode
   tokens use auth-shell namespace with fallbacks so Buzzhub.Master (which
   doesn't load theme-tokens.css) still resolves to the dark fallback values.
   ========================================================================== */

/* -- Section neutralisation --------------------------------------------------
   RTE-authored content nests <section> / <div class="doc-section"> wrappers
   that bring their own margins. Reset them so spacing is governed by
   p/h2/h3 rhythm only. */
.help-article section,
.help-article .doc-section,
.helppage section,
.helppage .doc-section {
    display: block;
    margin: 0;
    padding: 0;
}

.help-article > section + section,
.help-article > .doc-section + .doc-section,
.helppage > section + section,
.helppage > .doc-section + .doc-section {
    margin-top: 1rem;
}

.help-article > section:first-child > h2:first-child,
.help-article > .doc-section:first-child > h2:first-child,
.help-article > h2:first-child,
.helppage > section:first-child > h2:first-child,
.helppage > .doc-section:first-child > h2:first-child,
.helppage > h2:first-child {
    margin-top: 0;
}

/* -- Empty paragraph collapse ------------------------------------------------
   Editor leaves <p></p> and <p><br></p> behind on Enter; both produce visible
   void in the rendered article. */
.help-article p:empty,
.help-article p:has(> br:only-child),
.helppage p:empty,
.helppage p:has(> br:only-child) {
    display: none;
}

/* -- Typography scope --------------------------------------------------------
   font-family intentionally NOT set -- inherits from each shell so Help.aspx
   gets Buzzscribed brand fonts and theHive/BuzzHubAdmin get auth-shell fonts. */
.help-article,
.helppage {
    font-size: 1.0625rem;
    line-height: 1.7;
}

.help-article h1,
.helppage h1 {
    display: none;
}

.help-article h2,
.help-article h3,
.help-article h4,
.helppage h2,
.helppage h3,
.helppage h4 {
    color: #3d1a6f;
    line-height: 1.3;
    margin: 2.25rem 0 0.75rem;
}

.help-article h2,
.helppage h2 {
    font-size: 1.625rem;
    font-weight: 700;
    border-bottom: 2px solid #fdb913;
    padding-bottom: 0.4rem;
}

.help-article h3,
.helppage h3 {
    font-size: 1.25rem;
    font-weight: 600;
}

.help-article h4,
.helppage h4 {
    font-size: 1.05rem;
    font-weight: 600;
}

.help-article p,
.helppage p {
    margin: 0 0 1.1rem;
}

.help-article ul,
.help-article ol,
.helppage ul,
.helppage ol {
    margin: 0 0 1.25rem;
    padding-left: 1.4rem;
}

.help-article li,
.helppage li {
    margin-bottom: 0.4rem;
}

.help-article a,
.helppage a {
    color: #3d1a6f;
    text-decoration: underline;
    text-decoration-color: #fdb913;
    text-underline-offset: 2px;
}

.help-article a:hover,
.helppage a:hover {
    color: #5a2d82;
}

.help-article strong,
.help-article b,
.helppage strong,
.helppage b {
    color: #3d1a6f;
    font-weight: 600;
}

.help-article img,
.helppage img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1.25rem auto;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    border: 1px solid #e9ecef;
}

.help-article blockquote,
.helppage blockquote {
    margin: 1.5rem 0;
    padding: 0.75rem 1.25rem;
    border-left: 4px solid #fdb913;
    background: #fffbf0;
    color: #212529;
    border-radius: 0 4px 4px 0;
    font-style: italic;
}

.help-article code,
.helppage code {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
    font-size: 0.9em;
    padding: 0.15em 0.4em;
    background: #f8f9fa;
    color: #3d1a6f;
    border-radius: 4px;
}

.help-article pre,
.helppage pre {
    margin: 1.25rem 0;
    padding: 1rem 1.25rem;
    background: #212529;
    color: #f1f3f5;
    border-radius: 6px;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.5;
}

.help-article pre code,
.helppage pre code {
    background: transparent;
    color: inherit;
    padding: 0;
}

.help-article kbd,
.helppage kbd {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
    font-size: 0.85em;
    padding: 0.2rem 0.45rem;
    background: #f1f3f5;
    color: #212529;
    border: 1px solid #ced4da;
    border-bottom-width: 2px;
    border-radius: 4px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
}

.help-article table,
.helppage table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: 0.95rem;
}

.help-article th,
.help-article td,
.helppage th,
.helppage td {
    padding: 0.6rem 0.85rem;
    border: 1px solid #dee2e6;
    text-align: left;
    vertical-align: top;
}

.help-article th,
.helppage th {
    background: #3d1a6f;
    color: #ffffff;
    font-weight: 600;
}

.help-article hr,
.helppage hr {
    margin: 2rem 0;
    border: 0;
    border-top: 1px solid #dee2e6;
}

/* ==========================================================================
   Dark mode -- tokens with auth-shell-namespace fallbacks. Buzzhub.Master
   doesn't load theme-tokens.css so the fallback hex values are what render
   on Help.aspx in dark mode. Site.Master loads theme-tokens.css so tokens
   resolve to canonical dark values.
   ========================================================================== */
/* Dark mode: dark surface + forced-light descendant text. Same pattern as
   theme-tokens.css for ticket / askralph / editor surfaces. Wildcard !important
   defeats inline style="color:rgb(0,0,0)" on RTE-authored content. Light-mode
   brand colours for headings/links etc. are deliberately overridden here so they
   stay visible on the dark surface. */
[data-theme="dark"] .help-article,
[data-theme="dark"] .helppage {
    background-color: #1e1e1e;
    color: #e8e8e8;
}
[data-theme="dark"] .help-article *,
[data-theme="dark"] .helppage * {
    color: #e8e8e8 !important;
}
[data-theme="dark"] .help-article :is(h1, h2, h3, h4),
[data-theme="dark"] .helppage :is(h1, h2, h3, h4) {
    color: #e5d9ff !important;
}
[data-theme="dark"] .help-article a,
[data-theme="dark"] .helppage a {
    color: #d4b3ff !important;
}
[data-theme="dark"] .help-article strong,
[data-theme="dark"] .help-article b,
[data-theme="dark"] .helppage strong,
[data-theme="dark"] .helppage b {
    color: #e5d9ff !important;
}
[data-theme="dark"] .help-article code,
[data-theme="dark"] .helppage code {
    background: #0f0f12;
}
[data-theme="dark"] .help-article pre,
[data-theme="dark"] .helppage pre {
    background: #0f0f12;
    border: 1px solid #2a2a2a;
}
[data-theme="dark"] .help-article kbd,
[data-theme="dark"] .helppage kbd {
    background: #0f0f12;
    border-color: #3a3a3a;
}
[data-theme="dark"] .help-article blockquote,
[data-theme="dark"] .helppage blockquote {
    background: #14110d;
    border-left-color: #fdb913;
}
[data-theme="dark"] .help-article table th,
[data-theme="dark"] .helppage table th {
    background: #3d1a6f;
    border-color: #3a3a3a;
}
[data-theme="dark"] .help-article table td,
[data-theme="dark"] .helppage table td {
    border-color: #3a3a3a;
}
[data-theme="dark"] .help-article hr,
[data-theme="dark"] .helppage hr {
    border-top-color: #2a2a2a;
}

/* ==========================================================================
   Learning Centre pedagogy callouts (added 2026-05-11)
   Shared utility classes for proper teaching content: meta bar, try-this,
   weak/strong comparison, common mistake, FAQ, checklist, takeaways recap,
   image placeholder. Reused across all 27 curated course articles.
   ========================================================================== */

/* Top-of-article meta strip: time, difficulty, prereqs */
.help-article .lc-meta,
.helppage .lc-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    padding: .65rem 1rem;
    margin: 0 0 1.25rem;
    background: #f4f0fa;
    border-left: 3px solid #3d1a78;
    border-radius: 0 4px 4px 0;
    font-size: .9rem;
    color: #3d1a78;
}
.help-article .lc-meta strong,
.helppage .lc-meta strong {
    color: #3d1a78;
    margin-right: .25rem;
}

/* Try-this exercise -- active learning */
.help-article .lc-tryit,
.helppage .lc-tryit {
    background: #eef7ee;
    border-left: 3px solid #2e7d32;
    padding: .75rem 1rem;
    margin: 1rem 0;
    border-radius: 0 4px 4px 0;
}
.help-article .lc-tryit > .lc-label,
.helppage .lc-tryit > .lc-label {
    display: inline-block;
    font-weight: 600;
    color: #1b5e20;
    margin-right: .35rem;
}

/* Weak vs strong comparison */
.help-article .lc-compare,
.helppage .lc-compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
    margin: 1rem 0;
}
.help-article .lc-compare > div,
.helppage .lc-compare > div {
    padding: .75rem 1rem;
    border-radius: 4px;
    font-size: .95rem;
}
.help-article .lc-compare .lc-weak,
.helppage .lc-compare .lc-weak {
    background: #fdecec;
    border-left: 3px solid #c62828;
}
.help-article .lc-compare .lc-strong,
.helppage .lc-compare .lc-strong {
    background: #eef7ee;
    border-left: 3px solid #2e7d32;
}
.help-article .lc-compare .lc-label,
.helppage .lc-compare .lc-label {
    display: block;
    font-weight: 600;
    margin-bottom: .25rem;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.help-article .lc-compare .lc-weak .lc-label,
.helppage .lc-compare .lc-weak .lc-label {
    color: #c62828;
}
.help-article .lc-compare .lc-strong .lc-label,
.helppage .lc-compare .lc-strong .lc-label {
    color: #1b5e20;
}
@media (max-width: 640px) {
    .help-article .lc-compare,
    .helppage .lc-compare {
        grid-template-columns: 1fr;
    }
}

/* Common mistake / pitfall -- WRONG / RIGHT pattern */
.help-article .lc-mistake,
.helppage .lc-mistake {
    background: #fff7e6;
    border-left: 3px solid #ef6c00;
    padding: .75rem 1rem;
    margin: 1rem 0;
    border-radius: 0 4px 4px 0;
}
.help-article .lc-mistake > .lc-label,
.helppage .lc-mistake > .lc-label {
    display: inline-block;
    font-weight: 600;
    color: #b34700;
    margin-right: .35rem;
}

/* FAQ block */
.help-article .lc-faq,
.helppage .lc-faq {
    margin: 1rem 0;
}
.help-article .lc-faq dt,
.helppage .lc-faq dt {
    font-weight: 600;
    color: #3d1a78;
    margin-top: .85rem;
}
.help-article .lc-faq dt:first-child,
.helppage .lc-faq dt:first-child {
    margin-top: 0;
}
.help-article .lc-faq dd,
.helppage .lc-faq dd {
    margin: .25rem 0 .75rem 1rem;
}

/* Checklist */
.help-article .lc-checklist,
.helppage .lc-checklist {
    list-style: none;
    padding-left: 0;
    margin: .5rem 0;
}
.help-article .lc-checklist li,
.helppage .lc-checklist li {
    padding: .2rem 0 .2rem 1.7rem;
    position: relative;
}
.help-article .lc-checklist li::before,
.helppage .lc-checklist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .45rem;
    width: 1.1rem;
    height: 1.1rem;
    border: 1.5px solid #3d1a78;
    border-radius: 3px;
    background: #fff;
}

/* Key takeaways recap */
.help-article .lc-takeaways,
.helppage .lc-takeaways {
    background: #fff8d6;
    border: 1px solid #fdb913;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    margin: 1.5rem 0;
}
.help-article .lc-takeaways > .lc-label,
.helppage .lc-takeaways > .lc-label {
    display: block;
    font-weight: 700;
    color: #3d1a78;
    margin-bottom: .5rem;
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.help-article .lc-takeaways ul,
.helppage .lc-takeaways ul {
    margin: 0;
    padding-left: 1.2rem;
}

/* Image placeholder -- temporary until screenshots captured */
.help-article .lc-image,
.helppage .lc-image {
    margin: 1rem 0;
    text-align: center;
}
.help-article .lc-image .lc-image-stub,
.helppage .lc-image .lc-image-stub {
    background: repeating-linear-gradient(45deg, #f4f0fa, #f4f0fa 10px, #ece4f8 10px, #ece4f8 20px);
    border: 1.5px dashed #3d1a78;
    color: #3d1a78;
    padding: 1.5rem 1rem;
    border-radius: 6px;
    font-size: .9rem;
    font-style: italic;
}
.help-article .lc-image figcaption,
.helppage .lc-image figcaption {
    font-size: .85rem;
    color: #666;
    margin-top: .35rem;
    font-style: italic;
}

/* Inline glossary term -- first mention */
.help-article .lc-term,
.helppage .lc-term {
    border-bottom: 1px dotted #3d1a78;
    cursor: help;
}

/* Dark mode overrides for callouts */
[data-theme="dark"] .help-article .lc-meta,
[data-theme="dark"] .helppage .lc-meta {
    background: #2a1f3d;
    color: #d9c9f2;
}
[data-theme="dark"] .help-article .lc-meta strong,
[data-theme="dark"] .helppage .lc-meta strong {
    color: #fdb913;
}
[data-theme="dark"] .help-article .lc-tryit,
[data-theme="dark"] .helppage .lc-tryit {
    background: #14241a;
}
[data-theme="dark"] .help-article .lc-tryit > .lc-label,
[data-theme="dark"] .helppage .lc-tryit > .lc-label {
    color: #81c784;
}
[data-theme="dark"] .help-article .lc-compare .lc-weak,
[data-theme="dark"] .helppage .lc-compare .lc-weak {
    background: #2a1414;
}
[data-theme="dark"] .help-article .lc-compare .lc-strong,
[data-theme="dark"] .helppage .lc-compare .lc-strong {
    background: #14241a;
}
[data-theme="dark"] .help-article .lc-mistake,
[data-theme="dark"] .helppage .lc-mistake {
    background: #2a1f0d;
}
[data-theme="dark"] .help-article .lc-mistake > .lc-label,
[data-theme="dark"] .helppage .lc-mistake > .lc-label {
    color: #ffb74d;
}
[data-theme="dark"] .help-article .lc-faq dt,
[data-theme="dark"] .helppage .lc-faq dt {
    color: #fdb913;
}
[data-theme="dark"] .help-article .lc-checklist li::before,
[data-theme="dark"] .helppage .lc-checklist li::before {
    border-color: #fdb913;
    background: #1a1a1a;
}
[data-theme="dark"] .help-article .lc-takeaways,
[data-theme="dark"] .helppage .lc-takeaways {
    background: #2a230d;
    border-color: #fdb913;
}
[data-theme="dark"] .help-article .lc-takeaways > .lc-label,
[data-theme="dark"] .helppage .lc-takeaways > .lc-label {
    color: #fdb913;
}
[data-theme="dark"] .help-article .lc-image .lc-image-stub,
[data-theme="dark"] .helppage .lc-image .lc-image-stub {
    background: repeating-linear-gradient(45deg, #1f1830, #1f1830 10px, #2a213f 10px, #2a213f 20px);
    color: #d9c9f2;
}

/* =============================================================================
   Engagement Design System -- Component CSS
   Spec: .claude/buzzscribed/engagement-design-system-2026-05-10.md
   Tokens defined in theme-tokens.css (Engagement Lifecycle Redesign block)
   All consumers reference this single canonical source -- no copy-pasted
   gradient declarations, no inline hex codes.
   ============================================================================= */

/* -----------------------------------------------------------------------------
   Resolve panel (2026-05-16) -- intelligence layer for Capacity Outlook.
   Lives below Capacity heatmap on the Overview tab. Each over-loaded resource
   gets a row showing the rebalance options.
   ----------------------------------------------------------------------------- */
.bh-resolve-row {
    border: 1px solid var(--border-default, #e1e1e6);
    border-left: 4px solid var(--brand-danger, #ed174c);
    border-radius: 6px;
    padding: 0.75rem 1rem;
    margin-bottom: 0.75rem;
    background: var(--bg-surface, #fff);
}
.bh-resolve-head {
    margin-bottom: 0.6rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px dashed var(--border-light, #e9ecef);
}
.bh-resolve-head-title { font-size: 0.95rem; }
.bh-resolve-head-meta { margin-top: 0.15rem; }
.bh-resolve-over {
    color: var(--brand-danger, #ed174c);
    font-weight: 600;
    margin-left: 0.4rem;
}
.bh-resolve-role-badge {
    display: inline-block;
    font-size: 0.65rem;
    padding: 1px 7px;
    border-radius: 8px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    vertical-align: middle;
    margin-left: 0.25rem;
}
.bh-resolve-role-director {
    background: var(--bg-purple-tint, #f0ebf7);
    color: var(--brand-primary, #3d1a6f);
}
.bh-resolve-role-am {
    background: var(--bg-subtle, #fafafa);
    color: var(--text-body, #555);
}
[data-theme="dark"] .bh-resolve-role-director {
    background: rgba(167, 107, 223, 0.15);
    color: var(--brand-primary, #a76bdf);
}
[data-theme="dark"] .bh-resolve-role-am {
    background: rgba(255, 255, 255, 0.05);
}
.bh-resolve-suggestions {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.bh-resolve-suggestion {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    background: var(--bg-subtle, #fafafa);
    border-radius: 4px;
    border: 1px solid var(--border-light, #e9ecef);
}
.bh-resolve-suggestion-text { flex: 1; min-width: 0; }
.bh-resolve-suggestion-meta { margin-top: 0.2rem; }
.bh-resolve-apply { flex: 0 0 auto; white-space: nowrap; }
.bh-resolve-actup-flag {
    display: inline-block;
    font-size: 0.65rem;
    padding: 1px 6px;
    border-radius: 8px;
    background: rgba(253, 126, 20, 0.15);
    color: #fd7e14;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.bh-resolve-escalate {
    margin-top: 0.5rem;
}
[data-theme="dark"] .bh-resolve-row {
    background: var(--bg-surface);
    border-color: var(--border-default);
}
[data-theme="dark"] .bh-resolve-suggestion {
    background: var(--bg-muted);
    border-color: var(--border-default);
}


/* -----------------------------------------------------------------------------
   0. Laptop-aware density (DS section 0)
   On viewports <= 900px tall, every canonical KPI row class collapses from
   ~80px cards to a single inline strip (~36px). Saves ~45px per row so the
   primary work surface lands above the fold.

   Was opt-in via `.bh-stats-laptop-aware` 2026-05-10..2026-05-14; chairman
   ruled site-consistent (Jen 2026-05-14) so it now targets the canonical row
   classes directly. The marker class is no longer required in markup; legacy
   `.bh-stats-laptop-aware` retained as a no-op selector so existing uses
   don't 404 the cascade. Page-local `.ra-stats-bar` aliased the same way.
   ----------------------------------------------------------------------------- */
@media (max-height: 900px) {
    .bh-kpi-row,
    .crm-stats,
    .pipeline-stats,
    .bh-eng-summary-row,
    .pitch-stats,
    .ra-stats-bar,
    .bh-stats-laptop-aware {
        gap: 0.4rem;
        padding: 0.25rem 0;
        margin-bottom: 0.5rem;
        flex-wrap: nowrap;
    }
    .bh-kpi-row .bh-kpi,
    .crm-stats .crm-stat-card,
    .pipeline-stats .pipeline-stat-card,
    .bh-eng-summary-row .bh-eng-summary-tile,
    .pitch-stats .pitch-stat-card,
    .ra-stats-bar .ra-stat-card,
    .bh-kpi-row .kpi-card,
    .bh-stats-laptop-aware .bh-kpi,
    .bh-stats-laptop-aware .crm-stat-card,
    .bh-stats-laptop-aware .pipeline-stat-card,
    .bh-stats-laptop-aware .kpi-card,
    .bh-stats-laptop-aware .ra-stat-card,
    .bh-stats-laptop-aware .bh-eng-summary-tile,
    .bh-stats-laptop-aware .pitch-stat-card {
        padding: 0.35rem 0.7rem;
        text-align: left;
        display: flex;
        flex-direction: row;
        align-items: baseline;
        gap: 0.5rem;
        min-width: 0;
        min-height: 0;
        box-shadow: none;
        border: 1px solid var(--border-default, #e5e5e5);
        border-left-width: 3px;
        border-radius: 6px;
    }
    .bh-kpi-row .stat-value, .bh-kpi-row .bh-kpi-value, .bh-kpi-row .kpi-value,
    .crm-stats .stat-value,
    .pipeline-stats .stat-value,
    .bh-eng-summary-row .bh-eng-summary-tile-value,
    .pitch-stats .stat-value,
    .ra-stats-bar .stat-value,
    .bh-stats-laptop-aware .stat-value,
    .bh-stats-laptop-aware .bh-kpi-value,
    .bh-stats-laptop-aware .kpi-value,
    .bh-stats-laptop-aware .bh-eng-summary-tile-value {
        font-size: 1.05rem;
        line-height: 1;
        margin: 0;
        flex: 0 0 auto;
    }
    .bh-kpi-row .stat-label, .bh-kpi-row .bh-kpi-label, .bh-kpi-row .kpi-label,
    .crm-stats .stat-label,
    .pipeline-stats .stat-label,
    .bh-eng-summary-row .bh-eng-summary-tile-label,
    .pitch-stats .stat-label,
    .ra-stats-bar .stat-label,
    .bh-stats-laptop-aware .stat-label,
    .bh-stats-laptop-aware .bh-kpi-label,
    .bh-stats-laptop-aware .kpi-label,
    .bh-stats-laptop-aware .bh-eng-summary-tile-label {
        font-size: 0.78rem;
        margin: 0;
        flex: 1 1 auto;
        color: var(--text-body, #222);
        text-transform: none;
        letter-spacing: 0;
    }
    .bh-kpi-row .stat-sub, .bh-kpi-row .bh-kpi-sub,
    .crm-stats .stat-sub,
    .pipeline-stats .stat-sub,
    .bh-eng-summary-row .bh-eng-summary-tile-sub,
    .pitch-stats .stat-sub,
    .ra-stats-bar .stat-sub,
    .bh-stats-laptop-aware .stat-sub,
    .bh-stats-laptop-aware .bh-kpi-sub,
    .bh-stats-laptop-aware .bh-eng-summary-tile-sub {
        display: none; /* sub-caption hidden on laptop -- tooltip-only */
    }
    .bh-kpi-row .stat-label i, .crm-stats .stat-label i,
    .pipeline-stats .stat-label i, .bh-eng-summary-row .bh-eng-summary-tile-label i,
    .pitch-stats .stat-label i, .ra-stats-bar .stat-label i,
    .bh-stats-laptop-aware .stat-label i { margin-right: 0.2rem; }

    /* "Agreements awaiting first activity" panel: tighter padding when its
       sibling stats row is in laptop-compact mode. Sibling selector keeps
       scope tight without needing a body class. */
    .bh-kpi-row ~ .empty-agreements-section,
    .crm-stats ~ .empty-agreements-section,
    .bh-eng-summary-row ~ .empty-agreements-section,
    .bh-stats-laptop-aware ~ .empty-agreements-section {
        padding: 0.5rem 0.85rem;
        margin-bottom: 0.5rem;
    }
    .bh-kpi-row ~ .empty-agreements-section .empty-agreements-header,
    .crm-stats ~ .empty-agreements-section .empty-agreements-header,
    .bh-eng-summary-row ~ .empty-agreements-section .empty-agreements-header,
    .bh-stats-laptop-aware ~ .empty-agreements-section .empty-agreements-header {
        margin-bottom: 0.35rem;
    }
    .bh-kpi-row ~ .empty-agreements-section .empty-agreement-card,
    .crm-stats ~ .empty-agreements-section .empty-agreement-card,
    .bh-eng-summary-row ~ .empty-agreements-section .empty-agreement-card,
    .bh-stats-laptop-aware ~ .empty-agreements-section .empty-agreement-card {
        padding: 0.4rem 0.6rem;
    }

    /* Slate section header (.profile-card-header.yellow): hero min-height + clamp
       padding ignore viewport height. Tighten band so it stops eating the fold.
       !important beats both inline margin-bottom:15px (legacy markup) and the
       section 6 #tab*-scoped min-height:68px below. */
    .profile-card-header.yellow {
        padding: 0.3rem 0.75rem !important;
        margin-bottom: 0.5rem !important;
        min-height: 0 !important;
    }
    /* The 0.5rem above is for STANDALONE section bands. Inside a .profile-card the
       header is the card's connected top -- a gap there detaches the slate band
       from its body and it reads as a floating bar. Keep in-card headers flush. */
    .profile-card > .profile-card-header.yellow {
        margin-bottom: 0 !important;
    }
    .profile-card-header.yellow h3,
    .profile-card-header.yellow h4,
    .profile-card-header.yellow h5 {
        font-size: 0.92rem;
    }
    .profile-card-header.yellow .profile-card-title small {
        font-size: 0.72rem;
        line-height: 1.25;
    }
}

/* -----------------------------------------------------------------------------
   1. Striping mixins (DS section 1.3)
   ----------------------------------------------------------------------------- */

.bh-stripe-forecast {
    background-image: repeating-linear-gradient(
        45deg,
        var(--wl-forecast-base-bg),
        var(--wl-forecast-base-bg) 6px,
        var(--wl-forecast-stripe-color) 6px,
        var(--wl-forecast-stripe-color) 8px
    );
}

.bh-stripe-provisional-accent {
    position: relative;
}
.bh-stripe-provisional-accent::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background-image: repeating-linear-gradient(
        45deg,
        var(--es-provisional-border),
        var(--es-provisional-border) 4px,
        transparent 4px,
        transparent 8px
    );
    border-radius: 12px 0 0 12px;
}

/* -----------------------------------------------------------------------------
   2. Engagement State badges (DS section 2)
   ----------------------------------------------------------------------------- */

.bh-es-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.6rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    border-radius: 12px;
    border: 1px solid transparent;
    white-space: nowrap;
    line-height: 1.4;
}
.bh-es-badge i { font-size: 0.8em; }

.bh-es-provisional       { background: var(--es-provisional-bg); color: var(--es-provisional-fg); border-color: var(--es-provisional-border); }
.bh-es-draft             { background: var(--es-draft-bg);       color: var(--es-draft-fg);       border-color: var(--es-draft-border); }
.bh-es-pending-signature { background: var(--es-pending-bg);     color: var(--es-pending-fg);     border-color: var(--es-pending-border); }
.bh-es-active            { background: var(--es-active-bg);      color: var(--es-active-fg);      border-color: var(--es-active-border); }
.bh-es-closed            { background: var(--es-closed-bg);      color: var(--es-closed-fg);      border-color: var(--es-closed-border); }

/* -----------------------------------------------------------------------------
   2b. Page-level info banner (DS section 12b) -- canonical intro / explainer strip.
   Aliased onto legacy .bip-tab-intro / .bip-intro-dismiss so existing markup
   inherits the Design System treatment without per-page rewrites.
   Light purple tint, brand-primary left border, leading info icon, padded
   dismiss-X positioned absolute top-right. Single-line by default; wraps cleanly.
   ----------------------------------------------------------------------------- */

.bh-page-intro,
.bip-tab-intro {
    position: relative;
    margin: 0 0 1rem;
    padding: 0.65rem 2.25rem 0.65rem 0.85rem;
    border-radius: 6px;
    background: var(--bg-purple-tint, #f8f4fc);
    color: var(--text-body);
    border-left: 3px solid var(--brand-primary, #3d1a6f);
    font-size: 0.85rem;
    line-height: 1.45;
}
.bh-page-intro::before,
.bip-tab-intro::before {
    content: "\f05a"; /* fa-info-circle */
    font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Free", "FontAwesome";
    font-weight: 900;
    color: var(--brand-primary, #3d1a6f);
    margin-right: 0.5rem;
    opacity: 0.85;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
}
.bh-page-intro strong,
.bip-tab-intro strong { color: var(--brand-primary, #3d1a6f); font-weight: 600; }
.bh-page-intro-dismiss,
.bip-intro-dismiss {
    position: absolute;
    top: 0.4rem;
    right: 0.5rem;
    width: 1.4rem;
    height: 1.4rem;
    border: 0;
    background: transparent;
    color: var(--text-muted, #6c757d);
    cursor: pointer;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    transition: background 0.15s ease, color 0.15s ease;
    padding: 0;
}
.bh-page-intro-dismiss:hover,
.bip-intro-dismiss:hover {
    background: rgba(0, 0, 0, 0.06);
    color: var(--text-body);
}

/* -----------------------------------------------------------------------------
   2bb. On-brand pill nav (DS section 11a) -- sub-tab navigation inside cards/panels.
   The site-wide `.nav-pills .nav-link.active` rule in BUZZHub.css paints active
   pills solid yellow, which works for CTA-heavy nav but reads as a separate
   control type when adjacent to inactive pills (the active one looks like a
   button, the others look like links). Adding `.bh-pill-nav` swaps in a
   tinted-purple active state with a leading accent border so all pills read as
   one connected control group.
   ----------------------------------------------------------------------------- */
.bh-pill-nav {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    padding: 0.25rem;
    border-radius: 8px;
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-default);
    list-style: none;
    margin: 0;
}
.bh-pill-nav .nav-item { margin: 0; }
.bh-pill-nav .nav-link {
    padding: 0.4rem 0.85rem !important;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-body, #222) !important;
    background: transparent !important;
    border-radius: 6px !important;
    border: 1px solid transparent !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    display: inline-flex;
    align-items: center;
    line-height: 1;
    text-decoration: none;
}
.bh-pill-nav .nav-link:hover {
    background: var(--bg-gold-tint, #fff5dc) !important;
    color: var(--brand-primary, #3d1a6f) !important;
}
.bh-pill-nav .nav-link:focus-visible {
    outline: 2px solid var(--brand-primary, #3d1a6f);
    outline-offset: 1px;
}
/* Active state: solid purple gradient mirrors vertical rail's branded active treatment.
   White text + gold icon = the brand thread on the active item without fighting pill shape. */
.bh-pill-nav .nav-link.active,
.bh-pill-nav .show > .nav-link {
    background: linear-gradient(135deg, var(--brand-primary, #3d1a6f) 0%, #5a2d82 100%) !important;
    color: #fff !important;
    border-color: var(--brand-primary, #3d1a6f) !important;
    font-weight: 700;
}
.bh-pill-nav .nav-link i { margin-right: 0.35rem; opacity: 0.85; }
.bh-pill-nav .nav-link.active i { opacity: 1; color: var(--brand-accent, #fdb913) !important; }

/* -----------------------------------------------------------------------------
   2c-dp. DP filter disclosure (#9, 2026-05-10) -- collapsible filter row.
   Default closed; open when any filter has a non-default value.
   ----------------------------------------------------------------------------- */
.bh-dp-filter-disclosure {
    border: 1px solid var(--border-default);
    border-radius: 6px;
    background: var(--bg-surface);
}
.bh-dp-filter-disclosure[open] {
    background: var(--bg-subtle, #f8f9fa);
}
.bh-dp-filter-summary {
    cursor: pointer;
    padding: 0.55rem 0.85rem;
    font-weight: 600;
    color: var(--text-body);
    user-select: none;
    list-style: revert;
    font-size: 0.85rem;
}
.bh-dp-filter-summary:hover {
    background: var(--bg-muted, #e9ecef);
}
.bh-dp-filter-disclosure[open] > .bh-dp-filter-summary {
    border-bottom: 1px solid var(--border-default);
    margin-bottom: 0.5rem;
}
.bh-dp-filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    height: 1.4rem;
    padding: 0 0.4rem;
    margin-left: 0.4rem;
    border-radius: 999px;
    background: var(--brand-primary, #3d1a6f);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
}
.bh-dp-filter-disclosure .row { padding: 0 0.85rem 0.5rem; }

/* -----------------------------------------------------------------------------
   2cd. First-visit Wizard popover (DS section 14b) -- new-user onboarding hint
   anchored to the page Wizard button. One-shot per page per user.
   ----------------------------------------------------------------------------- */
.bh-wizard-popover {
    position: absolute;
    z-index: 1080;
    width: 280px;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--brand-primary, #3d1a6f);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(61, 26, 111, 0.18);
    padding: 0;
    animation: bhWizardPopoverIn 0.25s ease-out;
}
@keyframes bhWizardPopoverIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}
.bh-wizard-popover-arrow {
    position: absolute;
    top: -8px;
    right: 220px;
    width: 16px;
    height: 8px;
    overflow: hidden;
}
.bh-wizard-popover-arrow::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
    width: 12px;
    height: 12px;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--brand-primary, #3d1a6f);
    transform: rotate(45deg);
    transform-origin: center;
}
.bh-wizard-popover-body { padding: 0.85rem 1rem; }
.bh-wizard-popover-title {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0.35rem;
    font-size: 0.95rem;
}
.bh-wizard-popover-text {
    font-size: 0.85rem;
    color: var(--text-body);
    line-height: 1.45;
    margin-bottom: 0.75rem;
}
.bh-wizard-popover-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: flex-end;
}

/* Theme toggle attention pulse -- paired with the first-run theme coachmark
   (ThemeManager.maybeShowThemeIntro). Gold glow works in light and dark. */
.bh-theme-toggle-attention {
    border-radius: 6px;
    animation: bhThemeTogglePulse 1.4s ease-out infinite;
}
@keyframes bhThemeTogglePulse {
    0%   { box-shadow: 0 0 0 0 rgba(253, 185, 19, 0.55); }
    70%  { box-shadow: 0 0 0 8px rgba(253, 185, 19, 0); }
    100% { box-shadow: 0 0 0 0 rgba(253, 185, 19, 0); }
}

/* -----------------------------------------------------------------------------
   2c. On-brand modal modifier (DS section 14a) -- routine creation modals.
   Default `.modalPopup .header` paints titles in brand-danger (red) which
   correctly signals destructive actions but mis-signals routine creation.
   Adding `.bh-modal-onbrand` to the panel flips the header to brand-primary
   purple. Scope is limited to NEW modals; legacy/destructive modals untouched.
   ----------------------------------------------------------------------------- */

.modalPopup.bh-modal-onbrand .header,
.modalPopup.bh-modal-onbrand .header h3,
.modalPopup.bh-modal-onbrand .header h4,
.modalPopup.bh-modal-onbrand .header h5,
.modalPopup.bh-modal-onbrand .header h3 i,
.modalPopup.bh-modal-onbrand .header h4 i,
.modalPopup.bh-modal-onbrand .header h5 i {
    color: var(--brand-primary, #3d1a6f);
}

/* -----------------------------------------------------------------------------
   3. AM kanban lanes (DS section 3) -- canonical lane-header layout, all 5 lanes.
   Two-row header: row 1 = icon + title + count badge (flex, baseline-aligned),
   row 2 = sub-caption (full width, single line, fixed height). Min-height
   guarantees all lane headers render identically tall regardless of label length
   or chevron presence. Each lane state uses its own tinted background pulled
   from the same Engagement State tokens that the card badges use, so the lane
   colour and the card badge colour always agree.
   ----------------------------------------------------------------------------- */

.bh-am-lane-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0.6rem 0.85rem;
    min-height: 68px;
    border-radius: 6px 6px 0 0;
    border-bottom: 1px solid transparent;
    color: var(--text-body);
}
.bh-am-lane-header-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    line-height: 1.2;
}
.bh-am-lane-icon {
    flex: 0 0 auto;
    font-size: 0.95rem;
    opacity: 0.9;
}
.bh-am-lane-title {
    flex: 1 1 auto;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bh-am-lane-count {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.6rem;
    height: 1.6rem;
    padding: 0 0.45rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.08);
    color: inherit;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1;
}
.bh-am-lane-toggle {
    flex: 0 0 auto;
    width: 1.4rem;
    height: 1.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    border-radius: 4px;
    transition: transform 0.2s ease, background 0.15s ease;
}
.bh-am-lane-toggle:hover { background: rgba(0, 0, 0, 0.08); }
.bh-am-lane-toggle.bh-am-lane-toggle-open { transform: rotate(180deg); }
.bh-am-lane-sub {
    margin-top: 0.25rem;
    font-size: 0.72rem;
    font-weight: 400;
    opacity: 0.75;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bh-am-lane-sub-link {
    color: inherit;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 2px;
}
.bh-am-lane-sub-link:hover {
    opacity: 1;
    text-decoration-style: solid;
}

/* Per-state palette -- pulls from Engagement State tokens so lane and card badge agree. */
.bh-am-lane-provisional       { border-left: 4px solid var(--es-provisional-border); }
.bh-am-lane-provisional       .bh-am-lane-header {
    background-image: repeating-linear-gradient(
        45deg,
        var(--es-provisional-bg),
        var(--es-provisional-bg) 8px,
        rgba(253, 185, 19, 0.15) 8px,
        rgba(253, 185, 19, 0.15) 12px
    );
    color: var(--es-provisional-fg);
    border-bottom-color: var(--es-provisional-border);
}

.bh-am-lane-draft             { border-left: 4px solid var(--es-draft-border); }
.bh-am-lane-draft             .bh-am-lane-header {
    background: var(--es-draft-bg);
    color: var(--es-draft-fg);
    border-bottom-color: var(--es-draft-border);
}

.bh-am-lane-pending-signature { border-left: 4px solid var(--es-pending-border); }
.bh-am-lane-pending-signature .bh-am-lane-header {
    background: var(--es-pending-bg);
    color: var(--es-pending-fg);
    border-bottom-color: var(--es-pending-border);
}

.bh-am-lane-active            { border-left: 4px solid var(--es-active-border); }
.bh-am-lane-active            .bh-am-lane-header {
    background: var(--es-active-bg);
    color: var(--es-active-fg);
    border-bottom-color: var(--es-active-border);
}

.bh-am-lane-closed            { border-left: 4px solid var(--es-closed-border); }
.bh-am-lane-closed            .bh-am-lane-header {
    background: var(--es-closed-bg);
    color: var(--es-closed-fg);
    border-bottom-color: var(--es-closed-border);
}

/* -----------------------------------------------------------------------------
   4. Schedule blocks -- three-layer rendering (DS section 4)
   ----------------------------------------------------------------------------- */

/* 2026-05-16 Jen (final): pill body IS the client hash colour. The 22%
   color-mix() attempt earlier was invisible -- every pill read as the same
   brand purple. Flipping to colour-as-body means the eye actually groups by
   client at a glance. Text colour computed JS-side via luminance so dark
   client colours get white text and bright ones (yellow/orange) get dark. */
.bh-sched-block {
    position: relative;
    border-radius: 4px;
    padding: 0.3rem 0.5rem 0.3rem 0.55rem;
    font-size: 0.78rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    grid-template-areas:
        "icon title title"
        "icon sub   hours";
    column-gap: 0.35rem;
    row-gap: 1px;
    min-height: 44px;
    cursor: pointer;
    line-height: 1.2;
    overflow: hidden;
    background-color: var(--block-color, var(--brand-primary));
    color: var(--block-text-color, #ffffff);
    border: 1px solid rgba(0, 0, 0, 0.08);
    /* Subtle shadow lifts text on borderline-contrast hues (teal/pink ~4:1).
       Invisible on dark-text-on-light pills, adds definition on white-on-coloured. */
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.12);
}

/* Narrow pill (single-week span). Drop subtitle to give title + hours a
   clean single-row layout. Reduces "Gi..." 1-2 char truncations. Subtitle
   info still surfaces in the hover tooltip. */
.bh-sched-block.bh-sched-narrow {
    grid-template-areas: "icon title hours";
    grid-template-rows: auto;
    min-height: 32px;
    align-items: center;
}
.bh-sched-block.bh-sched-narrow .bh-sched-subtitle { display: none; }

.bh-sched-block .bh-sched-icon {
    grid-area: icon;
    font-size: 0.7em;
    align-self: center;
    /* Icon picks up the text colour so it stays visible on all backgrounds. */
    color: var(--block-text-color, #ffffff);
    opacity: 0.75;
}
.bh-sched-block .bh-sched-title {
    grid-area: title;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
    font-size: 0.82rem;
    color: inherit;
}
.bh-sched-block .bh-sched-subtitle {
    grid-area: sub;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.7rem;
    color: inherit;
    opacity: 0.78;
    min-width: 0;
}
.bh-sched-block .bh-sched-hours {
    grid-area: hours;
    font-weight: 600;
    font-size: 0.7rem;
    color: inherit;
    opacity: 0.92;
    align-self: center;
    font-variant-numeric: tabular-nums;
    padding-left: 0.4rem;
    white-space: nowrap;
}

/* Hover-reveal per-block action strip. Forecast blocks: Edit + Delete + Promote.
   Committed/Actual: Edit only (delete protected -- billing history). */
.bh-sched-block-actions {
    position: absolute;
    top: 2px;
    right: 2px;
    display: none;
    gap: 2px;
    padding: 1px 2px;
    border-radius: 4px;
    background: var(--bg-surface, #ffffff);
    border: 1px solid var(--border-default, #d1d5db);
    box-shadow: 0 1px 3px rgba(0,0,0,0.12);
    z-index: 2;
}
.bh-sched-block:hover .bh-sched-block-actions,
.bh-sched-block:focus-within .bh-sched-block-actions {
    display: inline-flex;
}
.bh-sched-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--brand-primary, #3d1a6f);
    cursor: pointer;
    border-radius: 3px;
    font-size: 0.7rem;
    line-height: 1;
}
.bh-sched-action:hover { background: var(--bg-subtle, #f1ebfa); }
.bh-sched-action:focus-visible { outline: 2px solid var(--brand-accent, #fdb913); outline-offset: 1px; }
.bh-sched-action.bh-sched-action-danger { color: #b03030; }
.bh-sched-action.bh-sched-action-danger:hover { background: #fde8e8; }
.bh-sched-action.bh-sched-action-promote { color: #1f7a3d; }
.bh-sched-action.bh-sched-action-promote:hover { background: #e6f4ea; }
/* Disabled state for blocked actions (e.g. Activate when engagement isn't Stage 3). */
.bh-sched-action:disabled,
.bh-sched-action[disabled] {
    opacity: 0.35;
    cursor: not-allowed;
}
.bh-sched-action:disabled:hover,
.bh-sched-action[disabled]:hover { background: transparent; }

/* 2026-05-16 Jen (final): lifecycle distinction moves OFF colour (which now
   carries client identity) and onto two secondary cues:
     - Committed: solid pill, solid 1px border, full opacity
     - Forecast: dashed 1.5px border + 0.72 opacity (reads as "tentative")
     - Actual: keeps the progress bar overlay at the bottom (existing)
   The previous diagonal stripe pattern fought with the client colour --
   replaced by the opacity + border-style cues which work over any hue. */
.bh-sched-forecast {
    opacity: 0.72;
    border-style: dashed;
    border-width: 1.5px;
    /* currentColor inherits text colour -- dashed border reads on both
       dark-text-on-light pills and white-text-on-coloured pills. */
    border-color: currentColor;
    background-image: none;
}
.bh-sched-committed {
    opacity: 1;
}

/* Actual progress bar (inside Committed block) */
.bh-sched-has-actual { overflow: hidden; }
.bh-sched-actual-bar {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    width: var(--actual-pct, 0%);
    background: var(--wl-actual-progress-bg);
    transition: width 0.2s ease;
}
.bh-sched-has-actual.bh-sched-over .bh-sched-actual-bar {
    background: var(--eh-over);
}

/* Layer toggles */
.bh-layer-toggles {
    display: inline-flex;
    gap: 0.4rem;
    padding: 0.25rem;
    border-radius: 8px;
    background: var(--bg-subtle);
    align-items: center;
    height: 34px;
    box-sizing: border-box;
}
.bh-layer-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.65rem;
    font-size: 0.8rem;
    line-height: 1;
    height: 26px;
    border: 1px solid var(--border-default);
    background: var(--bg-surface);
    color: var(--text-body);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
    box-sizing: border-box;
}
.bh-layer-toggle.bh-layer-active {
    background: var(--brand-primary);
    color: #ffffff;
    border-color: var(--brand-primary);
}
.bh-layer-toggle .bh-layer-count {
    font-size: 0.7rem;
    padding: 0.05rem 0.3rem;
    border-radius: 8px;
    background: rgba(255,255,255,0.2);
}
.bh-layer-toggle:not(.bh-layer-active) .bh-layer-count {
    background: var(--bg-muted);
}

/* -----------------------------------------------------------------------------
   5. Workflow Status chips (DS section 5)
   ----------------------------------------------------------------------------- */

.bh-ws-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.bh-ws-chip i { font-size: 0.85em; }
.bh-ws-todo        { background: var(--bg-muted);          color: var(--text-secondary); }
.bh-ws-in-progress { background: var(--es-draft-bg);       color: var(--es-draft-fg); }
.bh-ws-done        { background: var(--es-active-bg);      color: var(--es-active-fg); }
.bh-ws-on-hold     { background: var(--eh-under-bg);       color: var(--eh-under); }
.bh-ws-cancelled   { background: var(--eh-over-bg);        color: var(--eh-over); }
/* Lifecycle chips (2026-05-15 -- StoryStatus retired, derived from campaign activity state).
   Forecast = not yet promoted (neutral muted). Active = promoted + campaign open (success green). */
.bh-ws-forecast    { background: var(--bg-muted);          color: var(--text-secondary); }
.bh-ws-active      { background: var(--es-active-bg);      color: var(--es-active-fg); }

/* -----------------------------------------------------------------------------
   5b. Plan sub-pill -- info band, meta pairs, rate-card toggle, list header
   ----------------------------------------------------------------------------- */

.bh-plan-info-band {
    background: var(--bg-slate-tint, #f1f0f4);
    border: 1px solid var(--border-default, #e1e1e6);
    border-radius: 10px;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}
.bh-plan-meta-row .bh-meta-pair {
    display: flex;
    flex-direction: column;
    margin-bottom: 0.5rem;
}
.bh-plan-meta-row .bh-meta-pair:last-child { margin-bottom: 0; }
.bh-meta-key {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted, #6c757d);
    font-weight: 600;
}
.bh-meta-val {
    font-size: 0.95rem;
    color: var(--text-body, #2c2c2c);
    font-weight: 500;
}
.bh-meta-val.bh-meta-empty,
.bh-meta-empty {
    color: var(--text-muted, #9ca3af);
    font-style: italic;
    font-weight: 400;
}
.bh-rate-toggle {
    background: transparent;
    border: none;
    color: var(--brand-primary, #3d1a6f);
    padding: 0 0.2rem;
    cursor: pointer;
    line-height: 1;
}
.bh-rate-toggle i { transition: transform 0.15s ease; font-size: 0.85rem; }
.bh-rate-toggle.is-open i { transform: rotate(180deg); }
.bh-rate-toggle:hover { color: var(--brand-secondary, #5a2d82); }
.bh-rate-toggle:focus { outline: 2px solid var(--brand-accent, #fdb913); outline-offset: 2px; }

.bh-rate-card-panel {
    background: var(--bg-subtle, #f8f9fa);
    border-radius: 6px;
    padding: 0.75rem 1rem;
}

.bh-kpi-row.bh-kpi-row--inline {
    margin-left: 0;
    margin-right: 0;
}

.bh-plan-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}
.bh-plan-list-title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    color: var(--text-body, #2c2c2c);
}
.bh-plan-list-controls {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

/* -----------------------------------------------------------------------------
   Agreement Time Breakdown band (Plan sub-pill, 2026-05-15)
   Sits above the Planned Activities header. Service-agreement bucket (manager
   oversight) + per-activity buckets in a single horizontal stacked bar.
   ----------------------------------------------------------------------------- */
.bh-agreement-time-band {
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-default, #e1e1e6);
    border-radius: 8px;
    padding: 0.6rem 0.85rem;
    margin-bottom: 0.85rem;
}
.bh-att-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
    flex-wrap: wrap;
    font-size: 0.85rem;
    color: var(--text-body, #2c2c2c);
}
.bh-att-total {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    font-variant-numeric: tabular-nums;
}
.bh-att-bar {
    display: flex;
    width: 100%;
    height: 24px;
    border-radius: 6px;
    overflow: hidden;
    background: var(--bg-muted, #f0f0f0);
    border: 1px solid var(--border-default, #e1e1e6);
}
.bh-att-seg {
    height: 100%;
    min-width: 4px;
    transition: filter 120ms ease-out;
    cursor: default;
}
.bh-att-seg + .bh-att-seg {
    border-left: 1px solid rgba(255, 255, 255, 0.45);
}
.bh-att-seg:hover { filter: brightness(1.07); }

/* Service-agreement bucket -- brand purple, manager-oversight primary role. */
.bh-att-seg-service { background: var(--brand-primary, #3d1a6f); }

/* Per-activity palette -- 5 muted distinct hues, deterministic by activityId mod 5.
   Chosen to keep visual separation from brand purple while staying within the
   product's gold/teal/coral accent family. */
.bh-att-seg-p0 { background: #2d8a8a; } /* teal */
.bh-att-seg-p1 { background: #c97a1f; } /* amber */
.bh-att-seg-p2 { background: #6e4a9a; } /* lilac */
.bh-att-seg-p3 { background: #c44a6a; } /* coral */
.bh-att-seg-p4 { background: #4a7ab8; } /* slate-blue */

.bh-att-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin-top: 0.55rem;
    font-size: 0.78rem;
    color: var(--text-body, #2c2c2c);
}
.bh-att-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    line-height: 1.3;
}
.bh-att-swatch {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    flex: 0 0 auto;
}
.bh-att-legend-label {
    font-weight: 500;
    color: var(--text-primary, #1f1f1f);
}
.bh-att-legend-meta {
    color: var(--text-secondary, #555);
    font-variant-numeric: tabular-nums;
}

/* Dark-mode: surface, border + bar background flip via tokens; swatch hues stay
   constant (they are intentionally palette-fixed so they remain identifiable
   across themes). Boost segment border contrast against the dark bar track. */
[data-theme="dark"] .bh-agreement-time-band {
    background: var(--bg-subtle, #1d1d1f);
    border-color: var(--border-default, #3a3a3d);
}
[data-theme="dark"] .bh-att-bar {
    background: var(--bg-muted, #2a2a2d);
    border-color: var(--border-default, #3a3a3d);
}
[data-theme="dark"] .bh-att-seg + .bh-att-seg {
    border-left-color: rgba(0, 0, 0, 0.35);
}
[data-theme="dark"] .bh-att-total {
    color: var(--brand-accent, #fdb913);
}

/* Plan accordion expand-panel rows (Story 1:1 lockdown 2026-05-15). */
.bh-plan-expand-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: var(--text-body, #2c2c2c);
    line-height: 1.4;
}
.bh-plan-expand-line strong {
    font-weight: 600;
    margin-right: 0.25rem;
}
.bh-plan-expand-line a {
    color: var(--brand-primary, #3d1a6f);
    text-decoration: none;
    font-weight: 500;
}
.bh-plan-expand-line a:hover { text-decoration: underline; }

/* Team strip -- avatar + name + position chip cluster. */
.bh-team-strip {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
}
.bh-team-member {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.15rem 0.5rem 0.15rem 0.15rem;
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-default, #e1e1e6);
    border-radius: 999px;
    font-size: 0.8rem;
    line-height: 1.2;
    color: var(--text-body, #2c2c2c);
    max-width: 18rem;
}
.bh-team-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--brand-primary, #3d1a6f);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    flex-shrink: 0;
}
.bh-team-name {
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 9rem;
}
.bh-team-position {
    font-size: 0.7rem;
    padding: 0.05rem 0.45rem;
}

/* Inline pencil chip riding at the end of the team strip. Sized to match other action-btn
   instances in the row; .action-btn / .action-btn-secondary supply colour + hover. */
.bh-team-edit-chip {
    margin-left: 0.25rem;
}

/* Plan accordion: single-line financial roll-up (2026-05-15 Jen pass).
   Hidden when all three of Planned/Scheduled/Actual are zero. */
.bh-plan-financials {
    font-size: 0.85rem;
    line-height: 1.5;
}
.bh-plan-fin-sep {
    color: var(--text-muted, #aaa);
    margin: 0 0.15rem;
}

/* Empty-state Add-team CTA -- single chip replacing the "Team: No team assigned yet [pencil]" three-part line. */
.bh-team-add-cta {
    font-size: 0.8rem;
}

/* Inline Team editor (2026-05-15 -- replaces mpeActivityResources modal). Mounted into a
   placeholder div inside the .card-body of each Plan accordion card by toggleInlineTeamEditor.
   One open at a time site-wide. Allocator markup is rendered inside .bh-team-editor-rows by
   BHResourceAllocator (JScript/bh-resource-allocator.js).

   2026-05-15 Jen pass: indent + brand-tinted left border + max-width on desktop so the editor
   reads as a focused sub-interaction nested inside the row, not as another full-width section.
   The slider track inherits the editor's constrained width -- on a 1400px viewport a full-width
   percentage slider was overkill; 720px gives ample resolution without the visual sprawl. */
.bh-team-editor {
    background: var(--bg-purple-tint, #f0edf5);
    border: 1px solid var(--border-default, #e1e1e6);
    border-left: 3px solid var(--brand-primary, #3d1a6f);
    border-radius: 6px;
    padding: 0.75rem 1rem;
    margin-top: 0.5rem;
    margin-left: 1.25rem;
    max-width: 720px;
}
/* Modal-mounted variant (Edit Activity standalone editor 2026-05-16): full-width inside
   modal body, no indent, no max-width cap. */
.bh-team-editor.bh-team-editor--modal {
    margin-left: 0;
    max-width: none;
}
.bh-team-editor-title {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
}
.bh-team-editor-head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}
.bh-team-editor-hours { flex: 0 0 auto; }
/* 2026-05-15 v2: split aggregate label hidden -- BHResourceAllocator renders a green badge here
   ("100% (17.5h)") which duplicates the per-slider readout. Keep the DOM element so the allocator
   doesn't error on the setText path, just don't show it. */
.bh-team-editor-split { display: none !important; }
.bh-team-editor-rows { margin-top: 0.25rem; }
.bh-team-editor-empty {
    padding: 0.5rem 0;
    font-style: italic;
}
.bh-team-editor-rows:not(:empty) + .bh-team-editor-empty { display: none; }
.bh-team-editor-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--border-default, #e1e1e6);
    justify-content: space-between;
}

/* Auto-save status indicator (Pending / Saving / Saved / Save failed) in the editor footer.
   Replaces the explicit Save button -- editor now auto-saves on every state change. */
.bh-team-save-status {
    font-size: 0.78rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

/* Row-header Off-plan chip (2026-05-15): aggregate signal on the accordion row when any team
   member is outside the agreement rate card. Per-row pills inside the editor still apply;
   this surfaces the signal at-rest without expanding. Amber tint, status-warning tokens,
   dark-mode safe. */
.bh-offplan-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.45rem;
    margin-left: 0.4rem;
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: var(--status-warning-bg, #fff3cd);
    color: var(--status-warning-text, #856404);
    border: 1px solid var(--status-warning-border, #ffeeba);
}

@media (max-width: 768px) {
    /* Mobile: full width, drop indent. Vertical stack of head row controls. */
    .bh-team-editor {
        margin-left: 0;
        max-width: none;
    }
    .bh-team-editor-head { flex-direction: column; align-items: stretch; }
    .bh-team-editor-hours { max-width: 100% !important; }
}

[data-theme="dark"] .bh-team-editor {
    background: var(--bg-muted, #1c1a22);
    border-left-color: var(--brand-primary-dark, #b794f6);
}

/* Inline-editor variance band (2026-05-15).
   Renders Allocated-vs-Planned reconciliation between the head row and the slider rows.
   Story-modal "Lead" dropdown was dropped same release -- execution reconciliation belongs
   on the execution surface (team editor), not mixed with the budgeting surface (Story modal).
   Colour-coded delta: green = on plan (+/-5%), red = over, muted grey = under. */
.bh-team-variance {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: baseline;
    padding: 0.25rem 0;
    margin-bottom: 0.25rem;
    border-bottom: 1px solid var(--border-default, #e1e1e6);
    font-size: 0.78rem;
}
.bh-team-var-cell { flex: 0 0 auto; }
.bh-team-var-ok { color: var(--status-success, #28a745); font-weight: 500; }
.bh-team-var-over { color: var(--status-danger, #dc3545); font-weight: 600; }
.bh-team-var-under { color: var(--text-muted, #6c757d); font-weight: 400; }

/* Off-plan pill -- shown next to a resource name when their PositionLevel snapshot is not
   in the Story plan's plannedPositions list. RateCard mode only; non-RateCard plans omit
   plannedPositions and the pill is suppressed (paintOffPlanPills early-return). Amber tint
   uses the shared status-warning tokens so dark-mode flips automatically via theme-tokens.css. */
.bh-team-offplan-pill {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.1rem 0.4rem;
    border-radius: 0.5rem;
    background: var(--status-warning-bg, #fff3cd);
    color: var(--status-warning-text, #856404);
    font-size: 0.7rem;
    font-weight: 500;
    line-height: 1.3;
    vertical-align: middle;
}

/* Phase B (2026-05-15): per-row Actuals cell + "Other contributors" panel.
   Per-row cell rides at the right of the slider/value row (appended by paintRowActuals into
   the .bh-resalloc-row's inner flex container). Fixed min-width so multiple rows align
   vertically. Variance classes drive colour; status tokens flip in dark mode automatically.
   Pre-promotion: paintRowActuals suppresses the cell entirely (no DOM = no layout cost). */
.bh-team-actual-cell {
    display: inline-block;
    margin-left: 0.5rem;
    min-width: 110px;
    text-align: right;
    font-size: 0.7rem;
    line-height: 1.3;
    white-space: nowrap;
    flex-shrink: 0;
}
.bh-team-actual-on-track { color: var(--status-success, #28a745); }
.bh-team-actual-over { color: var(--status-danger, #dc3545); font-weight: 600; }
.bh-team-actual-under { color: var(--text-muted, #6c757d); }

/* Other contributors -- people who logged RetainerTime against this activity but aren't in
   BH_ActivityResources. Section sits below the slider rows + above the Add Team Member
   dropdown. Collapsed by default; toggle persists in data-bh-expanded on the host. Empty
   list -> renderOtherContributors hides the host (display:none). */
.bh-other-contributors {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px dashed var(--border-default, #e1e1e6);
}
.bh-other-contrib-header {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.25rem;
}
.bh-other-contrib-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8rem;
    text-decoration: none !important;
    color: var(--text-body, #2c2c2c);
}
.bh-other-contrib-toggle:hover { text-decoration: none; }
.bh-other-contrib-toggle .bh-other-contrib-title { font-weight: 600; }
.bh-other-contrib-toggle .badge { font-size: 0.7rem; }
.bh-other-contrib-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-height: 200px;
    overflow-y: auto;
    padding-right: 0.25rem;
}
.bh-other-contrib-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.5rem;
    background: var(--bg-surface, #ffffff);
    border: 1px solid var(--border-default, #e1e1e6);
    border-radius: 6px;
    font-size: 0.8rem;
}
.bh-other-contrib-hours {
    margin-left: auto;
    font-size: 0.75rem;
    color: var(--text-muted, #6c757d);
    white-space: nowrap;
}
.bh-other-contrib-add {
    flex-shrink: 0;
}

[data-theme="dark"] .bh-other-contributors {
    border-top-color: var(--border-default, #2a2730);
}
[data-theme="dark"] .bh-other-contrib-row {
    background: var(--bg-muted, #1c1a22);
    border-color: var(--border-default, #2a2730);
}
[data-theme="dark"] .bh-other-contrib-toggle {
    color: var(--text-body, #d4d4d4);
}

/* -----------------------------------------------------------------------------
   6. Execution Health indicators (DS section 6)
   ----------------------------------------------------------------------------- */

.bh-card-eh-ontrack { box-shadow: 0 0 0 1px var(--eh-ontrack); }
.bh-card-eh-over    { box-shadow: 0 0 0 1px var(--eh-over); }
.bh-card-eh-under   { box-shadow: 0 0 0 1px var(--eh-under); }

.bh-eh-indicator {
    font-size: 0.75rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.bh-eh-indicator i { font-size: 0.85em; }
.bh-card-eh-ontrack .bh-eh-indicator { color: var(--eh-ontrack); }
.bh-card-eh-over    .bh-eh-indicator { color: var(--eh-over); }
.bh-card-eh-under   .bh-eh-indicator { color: var(--eh-under); }

/* -----------------------------------------------------------------------------
   7. Resource conflict warning (DS section 7)
   ----------------------------------------------------------------------------- */

.bh-cap-cell {
    position: relative;
    padding: 0.4rem 0.5rem;
    font-size: 0.8rem;
    text-align: right;
}
.bh-cap-conflict .bh-cap-overlay {
    position: absolute;
    inset: 0;
    background: var(--conflict-overlay);
    pointer-events: none;
}
.bh-cap-conflict .bh-cap-pct {
    font-weight: 700;
    color: var(--eh-over);
}
.bh-cap-warn {
    color: var(--conflict-icon);
    margin-left: 0.25rem;
}

/* -----------------------------------------------------------------------------
   8. Capacity heatmap cell (DS section 8) -- gradient by utilisation
   ----------------------------------------------------------------------------- */

.bh-cap-pct { font-weight: 600; }
.bh-cap-hours { display: block; font-size: 0.7rem; color: var(--text-muted); }

/* 2026-05-16 Phase 1b: bucket classes now keyed by HEADROOM (hours), not utilisation %.
   Re-used class names so existing per-bucket page-local overrides keep working, but the
   numeric thresholds in JS are reversed (positive headroom = green, negative = red).
   New tight-over bucket sits between "high" (near cap) and "over" (significantly over). */
.bh-cap-bucket-low        { background: #dcedc8; }   /* plenty of headroom */
.bh-cap-bucket-mid-high   { background: #f1f8e9; }   /* moderate headroom */
.bh-cap-bucket-high       { background: #fff9c4; }   /* near cap (<20h free) */
.bh-cap-bucket-tight-over { background: #ffe0b2; }   /* mildly over (-1 to -20h) */
.bh-cap-bucket-over       { background: var(--eh-over-bg); }   /* significantly over (>20h) */

/* Ensure the cell can position internal absolute content (warn icons, overlays) */
.bh-cap-cell { position: relative; }

/* Resource has work assigned but no available capacity (leave >= gross billable).
   Distinct visual from "over capacity" -- this is a data-quality flag, not a
   pure utilisation reading. Hatched amber bg + warn icon. */
.bh-cap-no-capacity {
    background: repeating-linear-gradient(
        45deg,
        #fff3cd 0,
        #fff3cd 6px,
        #ffe69c 6px,
        #ffe69c 12px
    );
    color: #856404;
    cursor: help;
}
.bh-cap-no-capacity .bh-cap-pct { font-weight: 600; font-size: 0.72rem; }

/* Resource has work assigned but no BH_ResourceCapacitySettings row at all.
   Informational (not a warning) -- prompts admin to configure setup. Muted
   slate bg + cog icon distinguishes from the amber leave-exceeds-billable case. */
.bh-cap-not-set {
    background: #eef2f6;
    color: #495057;
    cursor: help;
    font-style: italic;
}
.bh-cap-not-set .bh-cap-pct { font-weight: 500; font-size: 0.72rem; }

/* Inline team editor capacity-not-set warning pill (bh-resource-allocator.js). */
.bh-resalloc-capwarn {
    border: 1px solid #d4d4d4;
    background: #f6f7f9 !important;
    color: #6c757d !important;
    font-size: 0.7rem;
    font-weight: 500;
    cursor: help;
    margin-left: 0.4rem;
}
.bh-resalloc-capwarn i { margin-right: 2px; opacity: 0.7; }
[data-theme="dark"] .bh-resalloc-capwarn {
    background: #2a2f37 !important;
    color: #b0b8c0 !important;
    border-color: #3a3f47;
}

[data-theme="dark"] .bh-cap-not-set {
    background: #232830;
    color: #b0b8c0;
}

[data-theme="dark"] .bh-cap-bucket-low        { background: #1e3010; }
[data-theme="dark"] .bh-cap-bucket-mid-high   { background: #1a2410; }
[data-theme="dark"] .bh-cap-bucket-high       { background: #3a3008; }
[data-theme="dark"] .bh-cap-bucket-tight-over { background: #3a2810; }
[data-theme="dark"] .bh-cap-no-capacity {
    background: repeating-linear-gradient(
        45deg,
        #3a2810 0,
        #3a2810 6px,
        #4a3415 6px,
        #4a3415 12px
    );
    color: #f0c674;
}

/* -----------------------------------------------------------------------------
   9. LSE Legacy badge (DS section 9)
   ----------------------------------------------------------------------------- */

.bh-legacy-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.45rem;
    font-size: 0.7rem;
    font-weight: 600;
    background: var(--legacy-bg);
    color: var(--legacy-fg);
    border: 1px solid var(--legacy-border);
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.bh-legacy-badge i { font-size: 0.85em; }

/* -----------------------------------------------------------------------------
   10. Activity card (DS section 10)
   ----------------------------------------------------------------------------- */

.bh-act-card {
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: 12px;
    padding: 0.85rem 1rem;
    transition: box-shadow 0.15s ease;
}
.bh-act-card-header {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.4rem;
}
.bh-act-card-title {
    flex: 1 1 auto;
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
}
.bh-act-card-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    margin-bottom: 0.25rem;
}
.bh-act-hours { color: var(--text-body); }
.bh-act-progress {
    flex: 1 1 auto;
    height: 4px;
    border-radius: 2px;
    appearance: none;
}
.bh-act-progress::-webkit-progress-bar { background: var(--bg-muted); border-radius: 2px; }
.bh-act-progress::-webkit-progress-value { background: var(--brand-accent); border-radius: 2px; }
.bh-act-card-context {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-bottom: 0.4rem;
}
.bh-act-card-context > span + span::before {
    content: " \00B7 ";
    margin: 0 0.2rem;
}
.bh-act-card-resources {
    display: flex;
    gap: 0.2rem;
    margin-bottom: 0.6rem;
}
.bh-avatar {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--brand-purple-tint);
    color: var(--brand-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 700;
    border: 1px solid var(--bg-surface);
}
.bh-avatar-overflow {
    background: var(--bg-muted);
    color: var(--text-muted);
}
.bh-act-card-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}
.bh-act-card-kebab {
    color: var(--text-muted);
    border: none;
    background: transparent;
    padding: 0.25rem 0.5rem;
}
.bh-act-card-kebab:hover { color: var(--brand-primary); }

/* -----------------------------------------------------------------------------
   11. Lane / column / tab heading typography (DS section 11)
   ----------------------------------------------------------------------------- */

.bh-lane-header {
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--brand-primary);
    padding: 0.5rem 0.75rem;
    border-bottom: 2px solid var(--border-default);
}
.bh-lane-count {
    background: var(--brand-primary);
    color: #ffffff;
    border-radius: 10px;
    padding: 0.05rem 0.45rem;
    font-size: 0.7rem;
    margin-left: 0.4rem;
}

/* -----------------------------------------------------------------------------
   12. Empty state (DS section 12)
   ----------------------------------------------------------------------------- */

.bh-empty-state {
    text-align: center;
    padding: 3rem 1.5rem;
    color: var(--text-muted);
    width: 100%;
}
.bh-empty-state > * { text-align: center; }
.bh-empty-icon {
    font-size: 3rem;
    color: var(--brand-primary);
    opacity: 0.3;
    margin: 0 auto 1rem;
    display: block;
    text-align: center; /* glyph self-centres within the block; fixes off-centre FA icon */
    width: 100%;
}
.bh-empty-title {
    color: var(--text-body);
    margin: 0 auto 0.5rem;
    text-align: center;
}
.bh-empty-body {
    margin: 0 auto 1.5rem;
    max-width: 32rem;
    text-align: center;
    display: block;
}

/* -----------------------------------------------------------------------------
   13. Click-through affordances (DS section 13)
   ----------------------------------------------------------------------------- */

.bh-clickable {
    cursor: pointer;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.bh-clickable:hover {
    box-shadow: 0 4px 12px rgba(61, 26, 111, 0.12);
}
.bh-clickable:focus-visible {
    outline: 3px solid var(--brand-accent);
    outline-offset: 2px;
}
[data-theme="dark"] .bh-clickable:hover {
    box-shadow: 0 4px 12px rgba(124, 63, 198, 0.3);
}

/* -----------------------------------------------------------------------------
   16. Mobile patterns (DS section 16)
   ----------------------------------------------------------------------------- */

@media (max-width: 990px) {
    /* Schedule view -> per-resource accordion */
    .bh-sched-mobile-resource summary {
        padding: 0.75rem 1rem;
        cursor: pointer;
        background: var(--bg-subtle);
        border-radius: 8px 8px 0 0;
        font-weight: 600;
        list-style: none;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }
    .bh-sched-mobile-resource summary::-webkit-details-marker { display: none; }
    .bh-sched-mobile-blocks {
        list-style: none;
        padding: 0.5rem;
        margin: 0;
        background: var(--bg-surface);
        border-radius: 0 0 8px 8px;
        border: 1px solid var(--border-default);
        border-top: none;
    }
    .bh-sched-mobile-blocks li { margin-bottom: 0.4rem; }

    /* Capacity heatmap -> vertical list */
    .bh-cap-mobile-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .bh-cap-mobile-list > li {
        padding: 0.75rem 0;
        border-bottom: 1px solid var(--border-default);
    }
    .bh-cap-mobile-months {
        list-style: none;
        padding: 0.4rem 0 0 0.5rem;
        margin: 0;
        font-size: 0.85rem;
        color: var(--text-body);
    }
    .bh-cap-mobile-months li { padding: 0.15rem 0; }

    /* AM kanban -> single-lane selector */
    .bh-am-mobile-lane-select {
        display: block;
        width: 100%;
        padding: 0.6rem;
        font-size: 0.95rem;
        margin-bottom: 1rem;
    }
}

@media (max-width: 768px) {
    /* Touch target enforcement */
    .bh-act-card-kebab,
    .bh-layer-toggle {
        min-width: 44px;
        min-height: 44px;
    }
    /* Engagement detail tabs -> horizontal-scroll */
    .bh-eng-tabs {
        display: flex;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    .bh-eng-tabs .nav-link {
        white-space: nowrap;
        flex-shrink: 0;
    }
}

/* -----------------------------------------------------------------------------
   EH Overview tab (Phase 7) -- capacity mini, at-risk list, trend
   Spec: .claude/buzzscribed/engagement-design-system-2026-05-10.md sec 12
   KPI tiles migrated 2026-05-14 to canonical .bh-kpi (BUZZHub.css) -- legacy
   .ra-overview-tile / .ra-tile-* removed.
   ----------------------------------------------------------------------------- */

/* Capacity mini -- compact heatmap table.
   table-layout:fixed + explicit col widths so month cells fill their column
   (auto-layout collapses dash-only "-" cells and crams the populated cells
   into a narrow strip on the left). Resource col 25%, each month 25%.
   .mytooltip on the td forces display:inline-block via Content/mySite.css --
   re-assert display:table-cell so the column widths and table layout hold. */
.bh-overview-cap-mini { overflow-x: auto; }
.bh-overview-cap-table {
    margin-bottom: 0;
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 8px 3px;
}
.bh-overview-cap-table th, .bh-overview-cap-table td { border: 0 !important; }
.bh-overview-cap-table th { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--brand-primary); }
.bh-overview-cap-table th:first-child,
.bh-overview-cap-table td:first-child { width: 25%; }
.bh-overview-cap-table th:not(:first-child),
.bh-overview-cap-table td:not(:first-child) { width: 25%; }
.bh-overview-cap-table td.mytooltip,
.bh-overview-cap-table .bh-cap-cell { display: table-cell !important; }
.bh-overview-cap-resource {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.85rem;
}
.bh-overview-cap-table .bh-cap-cell { padding: 0.4rem 0.6rem; text-align: center; vertical-align: middle; height: 56px; }
/* Empty/dash cell -- keep row tall and visually quiet. */
.bh-overview-cap-table .bh-cap-cell:not(.bh-cap-bar-cell):not(.bh-cap-state-cell):not(.bh-cap-not-set):not(.bh-cap-no-capacity) {
    color: var(--text-muted, #adb5bd);
    font-size: 1.1rem;
    font-weight: 600;
}
/* Special-state cell (capacity not set / leave > billable) -- shared shell. */
.bh-cap-state-cell { padding: 4px !important; }
.bh-cap-state-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 100%;
}
.bh-cap-state-icon { font-size: 0.85rem; opacity: 0.8; }
.bh-cap-state-value { font-weight: 700; font-size: 0.8rem; font-variant-numeric: tabular-nums; }
.bh-cap-state-label {
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 500;
    opacity: 0.85;
}

/* Bar-as-cell labelled (2026-05-18 Jen redesign -- Option 9).
   The cell itself is the stacked bar. Segments fill cell height and proportional
   width; headroom number floats on a white chip near the top so the column reads
   at a glance. Replaces the bucket-bg + mini-bar + chip-row stack. */
.bh-overview-cap-table .bh-cap-bar-cell {
    padding: 0 !important;
    height: 56px;
    background: #fff;
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px var(--border-light, #e9ecef);
}
/* Stage G (2026-05-18): the segment stack now lives in the middle band so the
   top strip (cumulative/quarterly bar) + bottom strip (delta footer) have
   dedicated space. Without this the stack-bar overlaps the strips. */
.bh-overview-cap-table .bh-cap-bar-cell .bh-cap-stack {
    position: absolute;
    top: 6px;
    bottom: 12px;
    left: 0;
    right: 0;
}
.bh-cap-h-overlay {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    font-size: 0.78rem;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.94);
    padding: 1px 7px;
    border-radius: 3px;
    color: #212529;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
    pointer-events: none;
    line-height: 1.2;
}
.bh-cap-h-ok         .bh-cap-h-overlay { color: #2e7d32; }
.bh-cap-h-near       .bh-cap-h-overlay { color: #b88600; }
.bh-cap-h-tight-over .bh-cap-h-overlay { color: #d84315; }
.bh-cap-h-over       .bh-cap-h-overlay { color: #b71c1c; }
.bh-cap-stack {
    display: flex;
    width: 100%;
    height: 100%;
}
.bh-cap-seg {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.62rem;
    font-weight: 700;
    color: #fff;
    font-variant-numeric: tabular-nums;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    letter-spacing: 0.01em;
}
.bh-cap-seg-c        { background: #3d1a6f; }                  /* Committed */
.bh-cap-seg-f        { background: #a76bdf; }                  /* Forecast */
.bh-cap-seg-l        { background: #ed174c; color: #fff; }     /* Personal leave */
.bh-cap-seg-h        { background: #fdb913; color: #3d1a6f; }  /* Holiday */
/* Free: sage tint ("your remaining time, good") -- visually distinct from
   the muted hatched .bh-cap-seg-beyond so you can tell at a glance whether
   a row has real headroom or is just a part-timer with shorter gross. */
.bh-cap-seg-headroom {
    background: linear-gradient(to right, #eef7ef, #dfeee2);
    color: #2e7d32;
    font-weight: 600;
    font-size: 0.58rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
/* Beyond-capacity trailing segment for part-timers: the gap between this
   resource's gross hours and the global max gross. Muted hatch -- "not your
   capacity" -- so the cell still fills full width but the boundary is clear. */
.bh-cap-seg-beyond {
    background: repeating-linear-gradient(
        45deg,
        rgba(0, 0, 0, 0.025),
        rgba(0, 0, 0, 0.025) 4px,
        rgba(0, 0, 0, 0.055) 4px,
        rgba(0, 0, 0, 0.055) 8px
    );
}
.bh-cap-seg-c.over {
    background: repeating-linear-gradient(
        45deg,
        #c62828,
        #c62828 8px,
        #9a1f1f 8px,
        #9a1f1f 16px
    );
    color: #fff;
}
[data-theme="dark"] .bh-overview-cap-table .bh-cap-bar-cell {
    background: #1a1226;
    border-color: #2d1f3f;
}
[data-theme="dark"] .bh-cap-h-overlay {
    background: rgba(40, 25, 60, 0.94);
    color: #f1ecf8;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
[data-theme="dark"] .bh-cap-h-ok         .bh-cap-h-overlay { color: #81c784; }
[data-theme="dark"] .bh-cap-h-near       .bh-cap-h-overlay { color: #ffb74d; }
[data-theme="dark"] .bh-cap-h-tight-over .bh-cap-h-overlay { color: #ff8a65; }
[data-theme="dark"] .bh-cap-h-over       .bh-cap-h-overlay { color: #ef5350; }
[data-theme="dark"] .bh-cap-seg-c        { background: #6a3aa0; }
[data-theme="dark"] .bh-cap-seg-f        { background: #a76bdf; }
[data-theme="dark"] .bh-cap-seg-h        { background: #d4a824; color: #1a0f2e; }
[data-theme="dark"] .bh-cap-seg-headroom {
    background: linear-gradient(to right, rgba(76, 175, 80, 0.10), rgba(76, 175, 80, 0.18));
    color: #81c784;
}
[data-theme="dark"] .bh-cap-seg-beyond {
    background: repeating-linear-gradient(
        45deg,
        rgba(255, 255, 255, 0.03),
        rgba(255, 255, 255, 0.03) 4px,
        rgba(255, 255, 255, 0.08) 4px,
        rgba(255, 255, 255, 0.08) 8px
    );
}
[data-theme="dark"] .bh-cap-seg-c.over {
    background: repeating-linear-gradient(
        45deg,
        #d32f2f,
        #d32f2f 8px,
        #a01818 8px,
        #a01818 16px
    );
}

/* Capacity heatmap legend strip (below the chart). */
.bh-cap-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
    margin-top: 12px;
    padding: 10px 14px;
    background: var(--bg-slate-tint, #f5f5f7);
    border-radius: 6px;
    border: 1px solid var(--border-light, #e9ecef);
    font-size: 0.75rem;
    color: var(--text-muted, #6c757d);
}
.bh-cap-legend-title {
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.7rem;
}
.bh-cap-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 500;
}
.bh-cap-legend-swatch {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 3px;
    flex-shrink: 0;
}
.bh-cap-legend-swatch.swatch-headroom {
    background: linear-gradient(to right, #eef7ef, #dfeee2);
    border: 1px solid #c8e0cc;
}
.bh-cap-legend-swatch.swatch-over {
    background: repeating-linear-gradient(
        45deg,
        #c62828,
        #c62828 4px,
        #9a1f1f 4px,
        #9a1f1f 8px
    );
}
.bh-cap-legend-swatch.swatch-beyond {
    background: repeating-linear-gradient(
        45deg,
        rgba(0, 0, 0, 0.03),
        rgba(0, 0, 0, 0.03) 4px,
        rgba(0, 0, 0, 0.08) 4px,
        rgba(0, 0, 0, 0.08) 8px
    );
    border: 1px solid var(--border-light, #e9ecef);
}
.bh-cap-legend-sep {
    width: 1px;
    align-self: stretch;
    background: var(--border-light, #e9ecef);
    margin: 0 4px;
}
.bh-cap-legend-hint {
    color: var(--text-muted, #6c757d);
    font-style: italic;
    margin-left: auto;
}
.bh-cap-overlay-note {
    margin: 8px 0 0 0;
    padding: 8px 12px;
    font-size: 0.82rem;
    line-height: 1.4;
    color: var(--text-muted, #6c757d);
    background: var(--card-subtle-bg, rgba(0, 0, 0, 0.02));
    border-left: 3px solid var(--brand-accent, #fdb913);
    border-radius: 0 4px 4px 0;
}
.bh-cap-overlay-note strong {
    color: var(--text-primary, #212529);
    font-weight: 600;
}
.bh-cap-overlay-note .fa-info-circle {
    color: var(--brand-accent, #fdb913);
}
[data-theme="dark"] .bh-cap-overlay-note {
    background: rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.65);
}
[data-theme="dark"] .bh-cap-overlay-note strong {
    color: rgba(255, 255, 255, 0.95);
}
[data-theme="dark"] .bh-cap-legend {
    background: rgba(255, 255, 255, 0.03);
    border-color: #2d1f3f;
}
[data-theme="dark"] .bh-cap-legend-swatch.swatch-headroom {
    background: linear-gradient(to right, rgba(76, 175, 80, 0.10), rgba(76, 175, 80, 0.18));
    border-color: rgba(76, 175, 80, 0.35);
}

/* ============================================================================
   Capacity heatmap per-retainer-type overlays (Stage G, 2026-05-18)
   - Target line:      vertical (cells render rotated -- segments are horizontal,
                       so the "commitment" target marker is a vertical line at
                       the X-axis position corresponding to MonthlyTarget /
                       globalDenom%). White semi-transparent with brand purple
                       border so it sits on top of segments without obscuring.
   - Quarterly bar:    thin band along the top edge of the cell. Visible on
                       Tiered (Flex-Hours) cells only. Width-fill = quarter
                       cumulative / quarterly cap (clamped to 100%).
   - Cumulative bar:   same shape as quarterly but rendered with a different
                       hue (slate-blue) and only for Amortised + Project cells.
                       Fill width = cumulative burn / contract total.
   - Rest overlay:     Bi-Monthly off-month -- diagonal hatched background +
                       "Rest cycle" centred text.
   - Contract-end:     small flag marker top-right corner of the cell whose
                       monthKey matches RetainerStartDate + RetainerMonths.
   - Footer:           tiny text strip below the segments, type-specific.
   ============================================================================ */
.bh-cap-target-line {
    position: absolute;
    top: 12%;
    bottom: 22%;
    width: 2px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 0 1px #3d1a6f, 0 0 6px rgba(61, 26, 111, 0.35);
    z-index: 4;
    pointer-events: none;
    border-radius: 1px;
}
.bh-cap-quarterly-bar,
.bh-cap-cumulative-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: rgba(0, 0, 0, 0.08);
    overflow: hidden;
    z-index: 3;
    pointer-events: none;
}
.bh-cap-qbar-fill,
.bh-cap-cumbar-fill {
    display: block;
    height: 100%;
    transition: width 0.25s ease;
}
.bh-cap-quarterly-bar .bh-cap-qbar-fill { background: #2196f3; }
.bh-cap-quarterly-bar.bh-cap-qbar-warn .bh-cap-qbar-fill { background: #ff9800; }
.bh-cap-quarterly-bar.bh-cap-qbar-over .bh-cap-qbar-fill { background: #c62828; }
.bh-cap-cumulative-bar .bh-cap-cumbar-fill { background: #455a64; }
.bh-cap-cumulative-bar.bh-cap-cumbar-warn .bh-cap-cumbar-fill { background: #ef6c00; }
.bh-cap-cumulative-bar.bh-cap-cumbar-over .bh-cap-cumbar-fill { background: #b71c1c; }

/* Cell footer -- delta vs target / cycle / burn. Small text strip below the bar. */
.bh-cap-footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1px;
    font-size: 0.58rem;
    line-height: 1;
    text-align: center;
    color: var(--text-muted, #6c757d);
    background: rgba(255, 255, 255, 0.85);
    padding: 1px 2px;
    z-index: 4;
    font-variant-numeric: tabular-nums;
    pointer-events: none;
    letter-spacing: -0.01em;
}
.bh-cap-footer.bh-cap-delta-ok    { color: #455a64; }
.bh-cap-footer.bh-cap-delta-over  { color: #c62828; font-weight: 600; }
.bh-cap-footer.bh-cap-delta-under { color: #b88600; }
.bh-cap-footer.bh-cap-footer-muted { color: var(--text-muted, #6c757d); font-style: italic; }

/* Bi-Monthly rest cell -- diagonal hatch + centred reminder text. */
.bh-cap-bar-cell.bh-cap-rest-cell {
    background:
        repeating-linear-gradient(
            -45deg,
            rgba(168, 178, 200, 0.10),
            rgba(168, 178, 200, 0.10) 8px,
            rgba(168, 178, 200, 0.22) 8px,
            rgba(168, 178, 200, 0.22) 16px
        ),
        #f6f5fb;
}
.bh-cap-rest-overlay {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    font-size: 0.68rem;
    font-weight: 600;
    color: #5a4f7c;
    background: rgba(255, 255, 255, 0.92);
    padding: 2px 8px;
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
    pointer-events: none;
    white-space: nowrap;
}
.bh-cap-rest-cell .bh-cap-h-overlay,
.bh-cap-rest-cell .bh-cap-stack { opacity: 0.35; }

/* Amortised contract-end marker -- top-right corner. */
.bh-cap-contract-end-marker {
    position: absolute;
    top: 6px;
    right: 4px;
    z-index: 5;
    color: #455a64;
    font-size: 0.65rem;
    background: rgba(255, 255, 255, 0.92);
    padding: 1px 4px;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
    pointer-events: none;
}

/* Legend swatches for the new overlay categories. */
.bh-cap-legend-swatch.swatch-target-line {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #3d1a6f;
    position: relative;
}
.bh-cap-legend-swatch.swatch-target-line::after {
    content: "";
    position: absolute;
    top: 1px; bottom: 1px;
    left: 50%;
    width: 2px;
    margin-left: -1px;
    background: #3d1a6f;
}
.bh-cap-legend-swatch.swatch-qbar {
    background: linear-gradient(to right, #2196f3 60%, rgba(33, 150, 243, 0.18) 60%);
    border: 1px solid #1976d2;
}
.bh-cap-legend-swatch.swatch-cumbar {
    background: linear-gradient(to right, #455a64 60%, rgba(69, 90, 100, 0.18) 60%);
    border: 1px solid #37474f;
}
.bh-cap-legend-swatch.swatch-rest {
    background:
        repeating-linear-gradient(
            -45deg,
            rgba(168, 178, 200, 0.30),
            rgba(168, 178, 200, 0.30) 3px,
            rgba(168, 178, 200, 0.55) 3px,
            rgba(168, 178, 200, 0.55) 6px
        );
    border: 1px solid #b8c0d4;
}

/* Rebalance modal "top contributor" badge -- dominant-BF row. */
.bh-rb-activity-tag.dominant {
    background: #fff3cd;
    color: #856404;
    border: 1px solid #ffd54f;
}

/* Dark-mode overrides. */
[data-theme="dark"] .bh-cap-target-line {
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 0 0 0 1px #a76bdf, 0 0 6px rgba(167, 107, 223, 0.45);
}
[data-theme="dark"] .bh-cap-quarterly-bar,
[data-theme="dark"] .bh-cap-cumulative-bar {
    background: rgba(255, 255, 255, 0.06);
}
[data-theme="dark"] .bh-cap-quarterly-bar .bh-cap-qbar-fill { background: #64b5f6; }
[data-theme="dark"] .bh-cap-quarterly-bar.bh-cap-qbar-warn .bh-cap-qbar-fill { background: #ffb74d; }
[data-theme="dark"] .bh-cap-quarterly-bar.bh-cap-qbar-over .bh-cap-qbar-fill { background: #ef5350; }
[data-theme="dark"] .bh-cap-cumulative-bar .bh-cap-cumbar-fill { background: #90a4ae; }
[data-theme="dark"] .bh-cap-cumulative-bar.bh-cap-cumbar-warn .bh-cap-cumbar-fill { background: #ffa726; }
[data-theme="dark"] .bh-cap-cumulative-bar.bh-cap-cumbar-over .bh-cap-cumbar-fill { background: #ef5350; }
[data-theme="dark"] .bh-cap-footer {
    background: rgba(26, 18, 38, 0.85);
    color: #c9c4d8;
}
[data-theme="dark"] .bh-cap-footer.bh-cap-delta-ok    { color: #90a4ae; }
[data-theme="dark"] .bh-cap-footer.bh-cap-delta-over  { color: #ef5350; }
[data-theme="dark"] .bh-cap-footer.bh-cap-delta-under { color: #ffb74d; }
[data-theme="dark"] .bh-cap-bar-cell.bh-cap-rest-cell {
    background:
        repeating-linear-gradient(
            -45deg,
            rgba(168, 178, 200, 0.05),
            rgba(168, 178, 200, 0.05) 8px,
            rgba(168, 178, 200, 0.12) 8px,
            rgba(168, 178, 200, 0.12) 16px
        ),
        #1a1226;
}
[data-theme="dark"] .bh-cap-rest-overlay {
    background: rgba(40, 25, 60, 0.92);
    color: #c9c4d8;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
[data-theme="dark"] .bh-cap-contract-end-marker {
    background: rgba(40, 25, 60, 0.92);
    color: #c9c4d8;
}
[data-theme="dark"] .bh-cap-legend-swatch.swatch-target-line {
    background: rgba(255, 255, 255, 0.85);
    border-color: #a76bdf;
}
[data-theme="dark"] .bh-cap-legend-swatch.swatch-target-line::after { background: #a76bdf; }
[data-theme="dark"] .bh-rb-activity-tag.dominant {
    background: rgba(255, 213, 79, 0.18);
    color: #ffd54f;
    border-color: rgba(255, 213, 79, 0.45);
}

/* Engagement Budget Risk list -- stacked name-top / chip-right / bar-bottom
   layout. The bar visualises % of budget consumed against a 100% midpoint marker
   so over/under reads at a glance distinct from Story Delivery Risk's table. */
.bh-risk-list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 320px;
    overflow-y: auto;
}
.bh-risk-item {
    display: block;
    padding: 0.65rem 0.8rem;
    border-bottom: 1px solid var(--border-light);
    cursor: pointer;
    transition: background 0.15s ease;
}
.bh-risk-item:last-child { border-bottom: none; }
.bh-risk-item:hover { background: var(--bg-subtle); }
.bh-risk-item:focus-visible { outline: 3px solid var(--brand-accent); outline-offset: -3px; background: var(--bg-subtle); }
.bh-risk-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}
.bh-risk-name { font-weight: 600; font-size: 0.9rem; color: var(--text-primary); }
.bh-risk-client { color: var(--text-muted); font-size: 0.75rem; margin-top: 1px; }
.bh-risk-health {
    flex: 0 0 auto;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.2rem 0.55rem;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    white-space: nowrap;
}
.bh-risk-health.eh-over  { background: var(--eh-over-bg);  color: var(--eh-over); }
.bh-risk-health.eh-under { background: var(--eh-under-bg); color: var(--eh-under); }
.bh-risk-bar {
    position: relative;
    height: 8px;
    background: var(--bg-subtle, #f0f0f0);
    border-radius: 4px;
    margin-top: 6px;
    overflow: hidden;
}
.bh-risk-bar-fill {
    position: absolute;
    left: 0; top: 0; bottom: 0;
    border-radius: 4px;
    transition: width 0.3s ease;
}
.bh-risk-bar-fill.over  { background: linear-gradient(90deg, #f8a8aa, #c62828); }
.bh-risk-bar-fill.under { background: linear-gradient(90deg, #ffe4a8, #b88600); }
/* 100% marker line at the midpoint of the bar (0-200% range). */
.bh-risk-bar-mark {
    position: absolute;
    top: -2px; bottom: -2px;
    left: 50%;
    width: 2px;
    background: var(--brand-primary, #3d1a6f);
    opacity: 0.55;
}
[data-theme="dark"] .bh-risk-bar { background: rgba(255,255,255,0.06); }
[data-theme="dark"] .bh-risk-bar-fill.over  { background: linear-gradient(90deg, #4a1818, #d32f2f); }
[data-theme="dark"] .bh-risk-bar-fill.under { background: linear-gradient(90deg, #3a2a08, #d4a824); }
[data-theme="dark"] .bh-risk-bar-mark { background: #b890e8; opacity: 0.6; }

/* -----------------------------------------------------------------------------
   Renewal Due drill-in (EH Overview)
   PCM Qty-remaining signal. Reuses the risk-list visual language -- subtle
   hover, chip on the right showing months left (red 0, amber 1-2).
   ----------------------------------------------------------------------------- */
.bh-renewal-due-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.bh-renewal-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.4rem;
    border-bottom: 1px solid var(--border-light);
    cursor: pointer;
    transition: background 0.15s ease;
}
.bh-renewal-row:last-child { border-bottom: none; }
.bh-renewal-row:hover { background: var(--bg-subtle); }
.bh-renewal-row:focus-visible { outline: 3px solid var(--brand-accent); outline-offset: -3px; background: var(--bg-subtle); }
.bh-renewal-row-main { flex: 1 1 auto; min-width: 0; }
.bh-renewal-row-name { font-weight: 600; font-size: 0.9rem; color: var(--text-primary); }
.bh-renewal-row-client { color: var(--text-muted); font-size: 0.78rem; margin-top: 1px; }
.bh-renewal-row-desc { margin-top: 2px; }
.bh-renewal-chip {
    flex: 0 0 auto;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.6rem;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    white-space: nowrap;
}
.bh-renewal-chip-red          { background: var(--eh-over-bg, #fde6e6);  color: var(--eh-over, #c62828); }
.bh-renewal-chip-amber        { background: var(--eh-under-bg, #fff4d4); color: var(--eh-under, #b88600); }
.bh-renewal-chip-amber-muted  { background: var(--bg-subtle, #f1efe9);   color: var(--text-primary, #4a3a08); }

/* 2026-05-18 Item F: inline Renewal Due widget on EH Overview (col-lg-4
   sibling of 6-Month Trend chart). Slimmer rows than the drill-in modal --
   short chip labels ("0 left" / "1 mo" / "N mo") and no separate
   description line so 6 rows fit beside the chart. */
.bh-overview-renewal-list {
    display: flex;
    flex-direction: column;
}
.bh-overview-renewal-rows {
    list-style: none;
    padding: 0;
    margin: 0;
}
.bh-overview-renewal-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.5rem 0.4rem;
    border-bottom: 1px solid var(--border-light);
    cursor: pointer;
    transition: background 0.15s ease;
}
.bh-overview-renewal-row:last-child { border-bottom: none; }
.bh-overview-renewal-row:hover { background: var(--bg-subtle); }
.bh-overview-renewal-row:focus-visible { outline: 2px solid var(--brand-accent); outline-offset: -2px; background: var(--bg-subtle); }
.bh-overview-renewal-row-text { flex: 1 1 auto; min-width: 0; }
.bh-overview-renewal-row-name {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bh-overview-renewal-row-client {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bh-overview-renewal-card { display: flex; flex-direction: column; }
.bh-overview-renewal-card .profile-card-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.bh-empty-state--inline { padding: 1.5rem 0.5rem; text-align: center; }
.bh-empty-state--inline .bh-empty-title { font-size: 0.95rem; margin-top: 0.5rem; }
.bh-empty-state--inline .bh-empty-body { font-size: 0.8rem; }
[data-theme="dark"] .bh-overview-renewal-row:hover { background: var(--bg-muted, #2a2438); }

/* Mobile breakpoint */
@media (max-width: 990px) {
    .bh-risk-list { max-height: none; }
}

/* Paired Retainer Risk + Activity Risk cards (EH Overview 2-col).
   Both cards constrained to a viewport-aware shared height so neither panel
   dominates -- inner scroller fills the body and scrolls past the cap.
   60vh gives ~580px on a 1080p viewport (roughly Capacity-heatmap height
   above); min/max bound it so it stays useful on small + large screens.
   h-100 in markup is now redundant but harmless. */
.bh-overview-risk-card {
    height: 60vh;
    min-height: 420px;
    max-height: 640px;
    display: flex;
    flex-direction: column;
}
.bh-overview-risk-card .profile-card-body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.bh-overview-risk-card #overviewAtRiskList,
.bh-overview-risk-card #overviewKpiTriageBody {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}
/* The standalone .bh-risk-list cap (320px) was sized for the old full-width
   layout. Inside a paired card the parent already constrains height; unset
   the cap so the list grows to fill. */
.bh-overview-risk-card .bh-risk-list { max-height: none; }
/* .table-responsive introduces its own scroller; collapse it so
   #overviewKpiTriageBody is the single scroll context in the flex chain. */
.bh-overview-risk-card .table-responsive { overflow: visible; }

@media (max-width: 767px) {
    /* Stacked layout below md -- restore a sensible cap so neither panel
       eats the full viewport. */
    .bh-overview-risk-card #overviewAtRiskList,
    .bh-overview-risk-card #overviewKpiTriageBody { max-height: 480px; }
    .bh-overview-risk-card .bh-risk-list { max-height: 480px; }
}

/* -----------------------------------------------------------------------------
   DP Schedule Grid (Phase 5b) -- time x resource heatmap
   Spec: .claude/buzzscribed/engagement-design-system-2026-05-10.md sec 4
   ----------------------------------------------------------------------------- */

/* Schedule panel + sub-toolbar (DS section 4a)
   The sub-toolbar is an attached header above the grid -- shared border so the
   two read as a single unit. Visually distinct from page-level filters above. */
.bh-sched-panel {
    border: 1px solid var(--border-default);
    border-radius: 8px;
    background: var(--bg-surface);
    margin-bottom: 1rem;
    overflow: hidden;
}
.bh-sched-subtoolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.85rem;
    background: var(--bg-subtle, #f8f9fa);
    border-bottom: 1px solid var(--border-default);
}
.bh-sched-subtoolbar-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.bh-sched-subtoolbar-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted, #6c757d);
    font-weight: 600;
    margin: 0;
}
.bh-sched-subtoolbar-select {
    width: auto;
    height: 28px;
    padding: 0 0.5rem;
    font-size: 0.8rem;
}

.bh-sched-grid-wrap {
    overflow-x: scroll;
    background: var(--bg-surface);
    cursor: grab;
    position: relative;
    -webkit-user-select: none;
    user-select: none;
    overscroll-behavior-x: contain;
    /* Always show the horizontal scrollbar so the affordance is discoverable
       even when content happens to fit. Pre-load logic also ensures the table
       overflows on initial render so the bar is functional from the start. */
    scrollbar-width: thin;
}
.bh-sched-grid-wrap::-webkit-scrollbar {
    height: 10px;
}
.bh-sched-grid-wrap::-webkit-scrollbar-thumb {
    background: var(--brand-primary, #3d1a6f);
    border-radius: 5px;
    opacity: 0.6;
}
.bh-sched-grid-wrap::-webkit-scrollbar-track {
    background: var(--bg-muted, #f1eef6);
}
.bh-sched-grid-wrap.is-panning {
    cursor: grabbing;
}
/* During an active drag, suppress block / cell click targets so the pan
   gesture doesn't accidentally fire onclick handlers (drill cells, blocks).
   A separate JS suppress-click guard backs this up for the mouse-up frame. */
.bh-sched-grid-wrap.is-panning .bh-sched-block,
.bh-sched-grid-wrap.is-panning .bh-sched-cell {
    pointer-events: none;
}
/* Edge loader pip -- absolute, sticky-to-viewport-edge spinner shown while
   fetching the next chunk during pan. Renders as a small pulsing dot so it
   doesn't compete with the today marker or block content. */
.bh-sched-edge-loader {
    position: sticky;
    top: 0;
    width: 24px;
    height: 100%;
    display: none;
    align-items: center;
    justify-content: center;
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.9rem;
    pointer-events: none;
    z-index: 50;
}
.bh-sched-edge-loader.is-active { display: inline-flex; }
.bh-sched-edge-loader.is-left { left: 0; }
.bh-sched-edge-loader.is-right { right: 0; }
/* When inside the panel, the grid drops its own border / radius -- panel owns them. */
.bh-sched-panel .bh-sched-grid-wrap {
    border: 0;
    border-radius: 0;
}
/* Empty / loading states inside the panel get top spacing so they don't kiss the toolbar. */
.bh-sched-panel .bh-empty-state,
.bh-sched-panel #scheduleGridLoading {
    padding-top: 2rem;
}

/* 2026-05-16 Jen: switched from table-row to CSS grid so blocks can span
   multiple week columns (duration-aware). Each row computes lane assignment
   in JS to stack overlapping blocks. --weeks set inline per row. */
.bh-sched-table {
    display: block;
    width: max-content;
    min-width: 100%;
}

/* Fixed pixel-per-week (was minmax(100px, 1fr) which stretched to container --
   incompatible with infinite pan, since the table width must exceed the viewport
   so horizontal scroll is real). --col-w is set on .bh-sched-table inline at
   render time + mutated by the zoom +/- buttons; rows inherit via CSS var
   cascade. 200px axis-cell stays sticky so the resource label remains visible
   while panning. */
.bh-sched-row {
    display: grid;
    grid-template-columns: 200px repeat(var(--weeks, 12), var(--col-w, 110px));
    grid-auto-rows: minmax(28px, auto);
    position: relative;
    border-bottom: 1px solid var(--border-light);
    align-items: stretch;
}
.bh-sched-axis-header,
.bh-sched-axis-cell {
    position: sticky;
    left: 0;
    z-index: 20;
    /* Solid fallback first -- the token may resolve to a semi-transparent
       value on some themes, which would let scrolling blocks bleed through. */
    background-color: #ffffff;
    background-color: var(--bg-surface, #ffffff);
    /* Right-edge shadow gives the eye an unambiguous boundary between the
       sticky name column and the scrolling timeline content. */
    box-shadow: 6px 0 8px -6px rgba(0, 0, 0, 0.18);
    /* Force a new stacking context so blocks (z:2) inside the row can't
       accidentally win on browsers that handle sticky + grid-item z-index
       inconsistently. */
    isolation: isolate;
}
.bh-sched-header .bh-sched-axis-header {
    background-color: #ece7f4;
    background-color: var(--bg-muted, #ece7f4);
    z-index: 22;
}
.bh-sched-row:nth-child(even) .bh-sched-axis-cell {
    background-color: #f7f5fb;
    background-color: var(--bg-subtle, #f7f5fb);
}
[data-theme="dark"] .bh-sched-axis-header,
[data-theme="dark"] .bh-sched-axis-cell {
    background-color: #1f1530;
    background-color: var(--bg-surface, #1f1530);
    box-shadow: 6px 0 8px -6px rgba(0, 0, 0, 0.55);
}
[data-theme="dark"] .bh-sched-row:nth-child(even) .bh-sched-axis-cell {
    background-color: #2a1f44;
    background-color: var(--bg-subtle, #2a1f44);
}
/* 2026-05-18: clickable resource name cell. Hover lifts + brand-tints the
   background, label gets a brand-coloured dotted underline to signal "this
   is a link" without changing the layout. (unassigned) + Engagement axis
   rows skip this class so they stay non-interactive.
   IMPORTANT: hover backgrounds must be OPAQUE -- this cell is sticky over
   the scrolling timeline; an rgba()-with-alpha hover would let blocks bleed
   through visually. Use pre-blended opaque tints per row-stripe + theme. */
.bh-sched-axis-cell.bh-sched-axis-clickable {
    cursor: pointer;
    transition: background-color 0.12s ease;
}
.bh-sched-axis-cell.bh-sched-axis-clickable:hover {
    background-color: #efebf8;
}
.bh-sched-row:nth-child(even) .bh-sched-axis-cell.bh-sched-axis-clickable:hover {
    background-color: #e8e1f2;
}
[data-theme="dark"] .bh-sched-axis-cell.bh-sched-axis-clickable:hover {
    background-color: #2d2245;
}
[data-theme="dark"] .bh-sched-row:nth-child(even) .bh-sched-axis-cell.bh-sched-axis-clickable:hover {
    background-color: #382a55;
}
.bh-sched-axis-cell.bh-sched-axis-clickable .bh-sched-axis-label {
    color: var(--brand-primary, #3d1a6f);
    border-bottom: 1px dotted currentColor;
}
[data-theme="dark"] .bh-sched-axis-cell.bh-sched-axis-clickable .bh-sched-axis-label {
    color: var(--brand-accent, #fdb913);
}
/* 2026-05-18: drag-affordance hint chip in the legend strip. Muted, not a
   call-to-action -- the [Earlier][Today][Later] buttons are the primary
   nav affordance; drag is the gesture sugar on top. */
.bh-sched-legend-hint {
    margin-left: auto;
    color: var(--text-muted, #6b6378);
    font-style: italic;
    font-size: 0.78rem;
}

/* 2026-05-18 (revised): per-row expand chevron. Now lives as a separate grid
   item appended after the placement blocks, positioned via grid-column at the
   last cell + position:sticky;right so it floats at the viewport's right edge
   as the user pans. Never collides with the sticky name column on the left.
   Solid brand-purple pill so it stands out from the multi-coloured blocks
   underneath; z-index above blocks but below the axis (which is z:20). */
.bh-sched-axis-cell .bh-sched-axis-label {
    flex: 1 1 auto;
    min-width: 0;
}
.bh-sched-row-expand {
    grid-column: -2 / -1;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    position: sticky;
    right: 12px;
    z-index: 8;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    background: var(--brand-primary, #3d1a6f);
    border: 1px solid var(--brand-primary, #3d1a6f);
    border-radius: 14px;
    font-size: 0.72rem;
    line-height: 1.1;
    color: #ffffff;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
    transition: background-color 0.12s ease, box-shadow 0.12s ease;
    pointer-events: auto;
    white-space: nowrap;
}
.bh-sched-row-expand:hover {
    background: #4d2a85;
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.24);
}
.bh-sched-row-expand i { font-size: 0.7rem; }
.bh-sched-row-overflow-count {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
[data-theme="dark"] .bh-sched-row-expand {
    background: var(--brand-accent, #fdb913);
    border-color: var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
}
[data-theme="dark"] .bh-sched-row-expand:hover {
    background: #ffce4f;
}

/* 2026-05-18: zoom +/- buttons in the schedule subtoolbar. Sit inline next
   to the Earlier/Today/Later nav group, share the small btn-outline-secondary
   visual language. No active-state styling -- the zoom level isn't a toggle. */
.bh-sched-zoom .btn {
    padding: 0.2rem 0.45rem;
}
.bh-sched-zoom .btn i { font-size: 0.78rem; }

.bh-sched-row:nth-child(even) { background: var(--bg-subtle); }

.bh-sched-header {
    background: var(--bg-muted);
    font-weight: 600;
    font-size: 0.8rem;
    border-bottom: 2px solid var(--border-default);
}
.bh-sched-header:nth-child(even) { background: var(--bg-muted); }

.bh-sched-header .bh-sched-axis-header,
.bh-sched-header .bh-sched-week-header {
    padding: 0.6rem 0.75rem;
    color: var(--brand-primary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    grid-row: 1;
}

.bh-sched-axis-header,
.bh-sched-axis-cell {
    grid-column: 1;
    grid-row: 1 / -1;
    padding: 0.5rem 0.75rem;
    border-right: 2px solid var(--border-default);
    overflow: hidden;
    font-size: 0.85rem;
    align-self: stretch;
    display: flex;
    align-items: center;
    min-width: 0;
}
/* Wrapped label so text-overflow works inside the flex container. Without
   the inner span, ellipsis is silently ignored on the cell's anonymous
   text run. min-width:0 on the cell lets flex shrink past intrinsic size. */
.bh-sched-axis-cell .bh-sched-axis-label {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bh-sched-week-header {
    grid-row: 1;
    padding: 0.4rem 0.4rem;
    border-right: 1px solid var(--border-light);
    text-align: center;
}

/* 2026-05-16 Jen: today marker. Header gets a gold "NOW" chip + brand-primary
   text, cells in the column get a subtle vertical tint band so the eye finds
   "this week" without scanning the dates. Uses tokens so dark mode flips. */
.bh-sched-week-header.is-today {
    color: var(--brand-primary);
    font-weight: 700;
    background: rgba(253, 185, 19, 0.10);
    position: relative;
}
[data-theme="dark"] .bh-sched-week-header.is-today {
    background: rgba(253, 185, 19, 0.08);
    color: var(--brand-accent);
}
/* 2026-05-16 v3: vertical "now" line. Switched from gold to brand-primary purple
   in both modes -- gold collided with .bh-sched-actual-bar (also gold) at the
   bottom of pills, users mistook the horizontal actuals stub for a vertical
   today marker. Purple is the semantic anchor colour ("you are here") and
   reads as distinct from any other schedule decoration. NOW chip kept gold-on-
   purple as the chip-style icon -- the COMBINATION of chip + purple line is the
   today indicator. 4px wide, glow for prominence over blocks. */
.bh-sched-week-header.is-today::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 6px rgba(61, 26, 111, 0.55);
    pointer-events: none;
    z-index: 10;
}
.bh-sched-week-header.is-today::after {
    content: 'NOW';
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    font-size: 0.55rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    background: var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
    padding: 1px 5px;
    border-radius: 8px;
    line-height: 1.4;
}
/* No background tint on today's column cells -- the purple vertical line +
   NOW chip + bold header are sufficient. The earlier 7% gold tint was
   reading as ambiguous with the pink conflict-overlay (0.18 opacity) which
   can also look cream on light backgrounds. Header bold/colour stays. */
/* Today vertical line -- rendered as a separate grid item via JS (not as
   .bh-sched-cell::after) so it's a sibling of the block with its own
   stacking context. z-index:99 paints above all blocks (z:2), capacity
   overlays (z:0), and cap-warn icons (z:4). pointer-events:none so block
   clicks still hit through. JS inlines grid-column to land it on the
   today week column. */
.bh-sched-today-overlay {
    grid-row: 1;
    align-self: stretch;
    position: relative;
    z-index: 99;
    pointer-events: none;
    min-height: inherit;
}
.bh-sched-today-overlay::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 6px rgba(61, 26, 111, 0.55);
}
/* Capacity-warning cell: cursor:help signals the tooltip carries detail. */
.bh-sched-cell.bh-cap-conflict,
.bh-sched-cell:has(.bh-cap-overlay) { cursor: help; }

/* 2026-05-16: clickable heatmap cells -- hover ring signals "this drills down".
   Applied on Pipeline Forecast + Overview Capacity Mini heatmaps. cursor:pointer
   set inline via JS so the affordance works without this class too, but the
   outline-on-hover is what makes "click me" obvious. */
.bh-cap-cell-drill {
    position: relative;
    transition: outline 0.12s ease, transform 0.12s ease;
}
.bh-cap-cell-drill:hover {
    outline: 2px solid var(--brand-primary, #3d1a6f);
    outline-offset: -2px;
    z-index: 5;
}
.bh-cap-cell-drill:focus-visible {
    outline: 2px solid var(--brand-primary, #3d1a6f);
    outline-offset: -2px;
}

/* Schedule legend strip -- sits under the layers/window toolbar, explains
   colour codes that the grid uses without inline labels. */
.bh-sched-legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem 1.25rem;
    padding: 0.5rem 0.9rem;
    font-size: 0.78rem;
    color: var(--text-body);
    border-bottom: 1px solid var(--border-light);
    background: var(--bg-subtle);
}
.bh-sched-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    white-space: nowrap;
}
.bh-sched-legend-today {
    display: inline-block;
    width: 4px;
    height: 14px;
    background: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 4px rgba(61, 26, 111, 0.45);
}
.bh-sched-legend-overcap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 14px;
    background: var(--conflict-overlay);
    color: var(--conflict-icon);
    font-size: 0.7rem;
    border-radius: 2px;
}
.bh-sched-legend-pill {
    display: inline-block;
    width: 22px;
    height: 10px;
    border-radius: 3px;
    background: var(--brand-primary);
}
.bh-sched-legend-pill-forecast {
    background: transparent;
    border: 1px dashed var(--brand-primary);
}
.bh-sched-legend-pill-committed {
    background: var(--brand-primary);
}
.bh-sched-legend-pill-actual {
    background: linear-gradient(to right, var(--brand-primary) 0%, var(--brand-primary) 60%, var(--brand-accent) 60%, var(--brand-accent) 100%);
}

/* ---------- Agreement colour key (2026-05-19) ----------
   One chip per distinct bfAgreementName in the loaded window. Click toggles
   focus mode: the grid container picks up [data-bh-sched-focus="<name>"] and
   non-matching blocks dim to 20% opacity via the rule further down. Chips
   visually mirror bar colour via --chip-color CSS var set inline. */
.bh-sched-agreement-legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.5rem;
    padding: 0.5rem 0.9rem;
    border-bottom: 1px solid var(--border-light);
    background: var(--bg-subtle);
}
.bh-sched-agreement-legend.has-focus {
    background: var(--bg-muted, #f3eef9);
}
.bh-sched-agreement-legend-label {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted, #6b6376);
    margin-right: 0.15rem;
}
.bh-sched-agreement-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.18rem 0.55rem 0.18rem 0.4rem;
    border: 1px solid var(--border-light);
    background: var(--bg-card, #fff);
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--text-body);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease, transform 0.12s ease;
    max-width: 240px;
}
.bh-sched-agreement-chip:hover {
    border-color: var(--chip-color, var(--brand-primary));
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.bh-sched-agreement-chip.is-active {
    background: var(--chip-color, var(--brand-primary));
    border-color: var(--chip-color, var(--brand-primary));
    color: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
}
.bh-sched-agreement-chip.is-active .bh-sched-agreement-chip-count {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}
.bh-sched-agreement-swatch {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    background: var(--chip-color, var(--brand-primary));
    flex-shrink: 0;
    border: 1px solid rgba(0, 0, 0, 0.08);
}
.bh-sched-agreement-chip.is-active .bh-sched-agreement-swatch {
    background: #fff;
    border-color: rgba(255, 255, 255, 0.6);
}
.bh-sched-agreement-chip-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 180px;
}
.bh-sched-agreement-chip-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    height: 1.2em;
    padding: 0 0.35em;
    background: var(--bg-muted, #efeaf6);
    color: var(--text-muted, #6b6376);
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 600;
}
.bh-sched-agreement-clear {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.6rem;
    background: transparent;
    border: 1px dashed var(--text-muted, #6b6376);
    border-radius: 999px;
    color: var(--text-muted, #6b6376);
    font-size: 0.74rem;
    cursor: pointer;
    margin-left: 0.25rem;
}
.bh-sched-agreement-clear:hover {
    border-color: var(--brand-primary);
    color: var(--brand-primary);
}
/* Focus mode -- when the grid container carries a non-empty data-bh-sched-focus,
   every block fades to 20%. JS adds .is-focused-match to the blocks whose
   data-agreement equals the focused name, restoring them to full visibility.
   (Pure CSS can't match against an arbitrary attribute value, so the class
   bridge keeps the rule static.) */
.bh-sched-grid-wrap[data-bh-sched-focus] .bh-sched-block {
    opacity: 0.2;
    filter: saturate(0.55);
    transition: opacity 0.18s ease, filter 0.18s ease;
}
.bh-sched-grid-wrap[data-bh-sched-focus] .bh-sched-block.is-focused-match {
    opacity: 1;
    filter: none;
}

[data-theme="dark"] .bh-sched-agreement-legend {
    background: var(--bg-subtle);
}
[data-theme="dark"] .bh-sched-agreement-chip {
    background: var(--bg-card, #1f1828);
    border-color: var(--border-light, #2f2638);
    color: var(--text-body);
}
[data-theme="dark"] .bh-sched-agreement-chip-count {
    background: var(--bg-muted, #2a2233);
    color: var(--text-muted, #b8acc8);
}

/* Background grid cells -- always row 1, one per week column. Hold capacity
   overlays + click affordances. Blocks layer on top with z-index. */
.bh-sched-cell {
    grid-row: 1;
    padding: 0;
    border-right: 1px solid var(--border-light);
    position: relative;
    min-height: 64px;
}

.bh-sched-cell .bh-cap-overlay {
    position: absolute;
    inset: 0;
    background: var(--conflict-overlay);
    pointer-events: none;
    z-index: 0;
}

.bh-sched-cell .bh-cap-warn {
    position: absolute;
    top: 0.2rem;
    right: 0.3rem;
    color: var(--conflict-icon);
    font-size: 0.85rem;
    z-index: 4;
    pointer-events: none;
}

/* Duration-spanning blocks: positioned via inline grid-column from JS.
   --lane offsets row position so overlapping blocks stack vertically.
   Lane pitch (48px) must be >= block min-height (44px) + breathing room
   or lane N+1 overlaps lane N. Row min-height in JS uses the same constant. */
.bh-sched-row .bh-sched-block {
    grid-row: 1;
    align-self: start;
    margin: calc(2px + (var(--lane, 0) * 48px)) 3px 2px 3px;
    width: auto;
    z-index: 2;
}

.bh-sched-block:focus-visible {
    outline: 3px solid var(--brand-accent);
    outline-offset: 2px;
}

/* No explicit StartDate -- capacity duration is heuristic. Dashed leading
   edge + tiny corner chip ("~") so users know the spread is estimated and
   can click in to set a precise Start Date. */
.bh-sched-block.bh-sched-est-duration {
    border-left: 2px dashed rgba(255, 255, 255, 0.7);
}
[data-theme="dark"] .bh-sched-block.bh-sched-est-duration {
    border-left-color: rgba(255, 255, 255, 0.5);
}
.bh-sched-block.bh-sched-est-duration::before {
    content: '~';
    position: absolute;
    bottom: 1px;
    left: 4px;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1;
    color: inherit;
    opacity: 0.7;
    pointer-events: none;
}

/* Mobile fallback: stack as block list. Grid collapses, blocks stack vertically.
   Lane offsets + grid-column placement become irrelevant -- reset them. */
@media (max-width: 990px) {
    .bh-sched-grid-wrap { overflow-x: visible; }
    .bh-sched-table { display: block; min-width: 0; }
    .bh-sched-row { display: block; padding: 0.5rem 0; border-bottom: 1px solid var(--border-default); min-height: 0 !important; }
    .bh-sched-header { display: none; }
    .bh-sched-axis-header, .bh-sched-axis-cell {
        display: block; width: 100%; min-width: 0;
        font-weight: 600; font-size: 0.95rem;
        border-right: none; border-bottom: none;
        padding: 0.5rem 0.75rem 0.25rem;
    }
    .bh-sched-week-header, .bh-sched-cell {
        display: block; width: 100%; min-width: 0;
        border-right: none; padding: 0.25rem 0.75rem;
        min-height: 0;
    }
    .bh-sched-cell:empty { display: none; }
    .bh-sched-row .bh-sched-block {
        grid-column: auto !important;
        margin: 0.25rem 0.75rem !important;
        width: auto;
    }
}

/* -----------------------------------------------------------------------------
   Engagement Lifecycle Wizard (Phase 12) -- contextual help layer
   ----------------------------------------------------------------------------- */
.bh-wizard-modal {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 9000;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bh-wizard-backdrop {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.5);
}
.bh-wizard-dialog {
    position: relative;
    background: var(--bg-surface);
    border-radius: 12px;
    width: 90%;
    max-width: 640px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}
.bh-wizard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--border-default);
}
.bh-wizard-header h3 {
    margin: 0;
    color: var(--brand-primary);
    font-size: 1.2rem;
}
.bh-wizard-close {
    border: none;
    background: transparent;
    font-size: 1.1rem;
    color: var(--text-muted);
    cursor: pointer;
    padding: 0.25rem 0.5rem;
}
.bh-wizard-close:hover { color: var(--text-primary); }
.bh-wizard-body { padding: 1.25rem 1.5rem; }
.bh-wizard-intro {
    color: var(--text-muted);
    margin-bottom: 1rem;
}
.bh-wizard-options {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.bh-wizard-option {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    text-align: left;
    padding: 0.85rem 1rem;
    border: 1px solid var(--border-default);
    background: var(--bg-surface);
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.bh-wizard-option:hover {
    background: var(--bg-purple-tint);
    border-color: var(--brand-primary);
}
.bh-wizard-option:focus-visible {
    outline: 3px solid var(--brand-accent);
    outline-offset: 2px;
}
.bh-wizard-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--brand-purple-tint);
    color: var(--brand-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}
.bh-wizard-text { flex: 1 1 auto; }
.bh-wizard-label { font-weight: 600; font-size: 0.95rem; color: var(--text-primary); }
.bh-wizard-desc { font-size: 0.8rem; color: var(--text-muted); margin-top: 0.2rem; }
.bh-wizard-chev { color: var(--text-muted); flex: 0 0 auto; }

/* Walkthrough overlay (post-navigation) */
.bh-wizard-walkthrough {
    background: var(--bg-surface);
    border: 2px solid var(--brand-accent);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    max-width: 320px;
    font-size: 0.85rem;
    color: var(--text-body);
}
.bh-wizard-walkthrough-text { margin-bottom: 0.4rem; }

/* Mobile */
@media (max-width: 768px) {
    .bh-wizard-dialog { width: 95%; max-height: 85vh; }
    .bh-wizard-option { padding: 0.6rem 0.75rem; gap: 0.5rem; }
    .bh-wizard-icon { width: 32px; height: 32px; }
    .bh-wizard-label { font-size: 0.85rem; }
    .bh-wizard-desc { font-size: 0.7rem; }
}

/* -----------------------------------------------------------------------------
   RA Capacity tab (Phase 6) -- merged sub-pills for the 3 historical views
   ----------------------------------------------------------------------------- */
#capacitySubPills .nav-link {
    padding: 0.4rem 0.85rem;
    font-size: 0.85rem;
    color: var(--text-body);
    border-radius: 6px;
    margin-right: 0.4rem;
}
#capacitySubPills .nav-link.active {
    background: var(--brand-primary);
    color: #ffffff;
}
#capacitySubPills .nav-link:hover:not(.active) {
    background: var(--bg-purple-tint);
    color: var(--brand-primary);
}

/* -----------------------------------------------------------------------------
   DP Triage strip (Phase 5c) -- pinned attention surface
   ----------------------------------------------------------------------------- */
.bh-triage-strip {
    background: var(--es-pending-bg);
    border: 1px solid var(--es-pending-border);
    border-radius: 8px;
    padding: 0.6rem 0.85rem;
    margin-bottom: 1rem;
}
.bh-triage-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.4rem;
}
.bh-triage-title {
    font-weight: 600;
    color: var(--es-pending-fg);
    font-size: 0.85rem;
}
.bh-triage-dismiss {
    color: var(--text-muted);
    padding: 0;
    font-size: 0.85rem;
}
.bh-triage-pills {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.bh-triage-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.6rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 12px;
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
}
.bh-triage-pill-warn   { color: var(--es-pending-fg);  border-color: var(--es-pending-border); }
.bh-triage-pill-danger { color: var(--eh-over);        border-color: var(--eh-over); }
.bh-triage-pill-info   { color: var(--es-draft-fg);    border-color: var(--es-draft-border); }

/* -----------------------------------------------------------------------------
   AM Kanban -- hours-used progress bar on Active cards (Phase 4 deferred)
   ----------------------------------------------------------------------------- */
.kanban-card-hours-bar {
    margin-top: 0.4rem;
    padding-top: 0.4rem;
    border-top: 1px solid var(--border-light, #eee);
}
.kanban-card-hours-bar-track {
    height: 4px;
    background: var(--bg-muted);
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: 0.2rem;
}
.kanban-card-hours-bar-fill {
    height: 100%;
    transition: width 0.2s ease;
}
.kanban-card-hours-bar-fill.eh-ontrack { background: var(--eh-ontrack); }
.kanban-card-hours-bar-fill.eh-over    { background: var(--eh-over); }
.kanban-card-hours-bar-fill.eh-under   { background: var(--eh-under); }

/* -----------------------------------------------------------------------------
   AM Kanban Closed lane (collapsed-by-default per Design System sec 5.2 / Phase 4)
   ----------------------------------------------------------------------------- */
.kanban-column.kanban-column-collapsed {
    /* Narrower column when collapsed -- header acts as expander pill. */
    min-width: 12rem;
    max-width: 14rem;
    flex: 0 0 auto;
    opacity: 0.85;
}
.kanban-column.kanban-column-collapsed .kanban-column-header {
    border-radius: 8px;
}
.kanban-column.kanban-column-collapsed:hover {
    opacity: 1;
}

/* -----------------------------------------------------------------------------
   Card flash highlight (used by ?focusBfId= deep-link in AM)
   ----------------------------------------------------------------------------- */
@keyframes bhCardFlash {
    0%   { box-shadow: 0 0 0 0 var(--brand-accent); }
    50%  { box-shadow: 0 0 0 6px rgba(253, 185, 19, 0.6); }
    100% { box-shadow: 0 0 0 0 var(--brand-accent); }
}
.bh-card-flash {
    animation: bhCardFlash 2s ease-in-out;
    z-index: 5;
}

/* === Jen polish 2026-05-11: RA === */

/* Empty-state success variant: green-tinted icon + body for "nothing wrong" messages
   (e.g. "All engagements within budget"). Re-uses canonical .bh-empty-state structure
   so spacing, alignment, and dark-mode behaviour stay consistent. */
.bh-empty-state.bh-empty-state-success .bh-empty-icon {
    color: var(--eh-ontrack, #198754);
    opacity: 0.7;
}
.bh-empty-state.bh-empty-state-success .bh-empty-title {
    color: var(--eh-ontrack, #198754);
}
[data-theme="dark"] .bh-empty-state.bh-empty-state-success .bh-empty-icon {
    color: var(--eh-ontrack, #4ade80);
    opacity: 0.85;
}
[data-theme="dark"] .bh-empty-state.bh-empty-state-success .bh-empty-title {
    color: var(--eh-ontrack, #4ade80);
}

/* Service Delivery table header contrast (WCAG AAA, >=7:1).
   Scoped to #tblServiceDelivery thead so global table-modern styling is untouched.
   Targets both default thead-light grey and tfoot totals row. */
#tblServiceDelivery thead.thead-light th,
#tblServiceDelivery tfoot.thead-light th {
    color: var(--text-strong, #1a1a1a);
    font-weight: 600;
    background-color: var(--bg-subtle, #f1f3f5);
}
[data-theme="dark"] #tblServiceDelivery thead.thead-light th,
[data-theme="dark"] #tblServiceDelivery tfoot.thead-light th {
    color: var(--text-strong, #f3f4f6);
    background-color: var(--bg-elevated, #2a2a2a);
}
/* Preserve existing tonal accents on Forecast/Committed/Actual headers but darken
   for AAA contrast in light mode. */
#tblServiceDelivery thead th.text-secondary,
#tblServiceDelivery tfoot th.text-secondary { color: #495057 !important; }
#tblServiceDelivery thead th.text-primary,
#tblServiceDelivery tfoot th.text-primary { color: var(--brand-primary, #3d1a6f) !important; }
#tblServiceDelivery thead th.text-success,
#tblServiceDelivery tfoot th.text-success { color: #146c43 !important; }
[data-theme="dark"] #tblServiceDelivery thead th.text-secondary,
[data-theme="dark"] #tblServiceDelivery tfoot th.text-secondary { color: #adb5bd !important; }
[data-theme="dark"] #tblServiceDelivery thead th.text-primary,
[data-theme="dark"] #tblServiceDelivery tfoot th.text-primary { color: #c4b5fd !important; }
[data-theme="dark"] #tblServiceDelivery thead th.text-success,
[data-theme="dark"] #tblServiceDelivery tfoot th.text-success { color: #75d99c !important; }

/* 2026-05-16 Jen: Service Delivery tinted-row contrast pass.
   Bootstrap's stock .table-danger (#f5c6cb) reads heavier than .table-warning
   (#ffeeba) at the same row lane width -- the pink row swallows the small
   "Over" pill (white-bg/red-outline) which then loses prominence. Two fixes:
   (a) swap stock pink for the DS --eh-over-bg token (paler, matches yellow
       lane lightness); align warning to --eh-under-bg for symmetry.
   (b) give .bh-card-eh-* pills a solid surface bg INSIDE SD rows so they
       stand clear of the row tint. Scoped to #tblServiceDelivery so card
       surfaces elsewhere keep their current treatment. */
#tblServiceDelivery .sd-row.table-danger > td,
#tblServiceDelivery .sd-row.table-danger > th,
#tblServiceDelivery .sd-detail-row[data-sd-bucket="0"] > td {
    background-color: var(--eh-over-bg, #fde0e6);
}
#tblServiceDelivery .sd-row.table-warning > td,
#tblServiceDelivery .sd-row.table-warning > th,
#tblServiceDelivery .sd-detail-row[data-sd-bucket="1"] > td {
    background-color: var(--eh-under-bg, #fff0e0);
}
[data-theme="dark"] #tblServiceDelivery .sd-row.table-danger > td,
[data-theme="dark"] #tblServiceDelivery .sd-row.table-danger > th,
[data-theme="dark"] #tblServiceDelivery .sd-detail-row[data-sd-bucket="0"] > td {
    background-color: var(--eh-over-bg, #401822);
    color: var(--text-body, #d4d4d4);
}
[data-theme="dark"] #tblServiceDelivery .sd-row.table-warning > td,
[data-theme="dark"] #tblServiceDelivery .sd-row.table-warning > th,
[data-theme="dark"] #tblServiceDelivery .sd-detail-row[data-sd-bucket="1"] > td {
    background-color: var(--eh-under-bg, #3a2410);
    color: var(--text-body, #d4d4d4);
}
#tblServiceDelivery .sd-row .bh-card-eh-over,
#tblServiceDelivery .sd-row .bh-card-eh-under,
#tblServiceDelivery .sd-row .bh-card-eh-ontrack {
    background-color: var(--bg-surface, #ffffff);
}
[data-theme="dark"] #tblServiceDelivery .sd-row .bh-card-eh-over,
[data-theme="dark"] #tblServiceDelivery .sd-row .bh-card-eh-under,
[data-theme="dark"] #tblServiceDelivery .sd-row .bh-card-eh-ontrack {
    background-color: var(--bg-elevated, #2a2a2a);
}

/* === Jen polish 2026-05-11: DP ===
   Three fixes:
   1. At Risk KPI tile -- distinct amber palette so it doesn't blur with This Month yellow.
   2. (CTA contrast handled inline in DeliveryPlanner.aspx <style> -- bumped weight + hover underline.)
   3. Filter disclosure chevron -- visible affordance + rotate when [open].
   ----------------------------------------------------------------------------- */

/* FIX 1: At Risk tile -- amber warning (Bootstrap orange #fd7e14), distinct from .warning yellow.
   Selectors migrated to canonical .bh-kpi 2026-05-14; legacy .crm-stat-card alias retained for
   any straggler page still on the old class. */
.bh-kpi.risk,
.crm-stat-card.risk {
    border-left-color: #fd7e14;
}
.bh-kpi.risk .bh-kpi-label i.fa-exclamation-triangle,
.crm-stat-card.risk .stat-label i.fa-exclamation-triangle {
    color: #fd7e14;
    margin-right: 0.25rem;
}
[data-theme="dark"] .bh-kpi.risk,
[data-theme="dark"] .crm-stat-card.risk {
    border-left-color: #ffa552;
}
[data-theme="dark"] .bh-kpi.risk .bh-kpi-label i.fa-exclamation-triangle,
[data-theme="dark"] .crm-stat-card.risk .stat-label i.fa-exclamation-triangle {
    color: #ffa552;
}

/* FIX 3: Filter disclosure chevron affordance + open-state rotation.
   list-style:none removes the native marker triangle so our FA chevron is the sole indicator. */
.bh-dp-filter-summary { list-style: none; }
.bh-dp-filter-summary::-webkit-details-marker { display: none; }
.bh-dp-filter-summary::marker { content: ''; }
.bh-dp-filter-chevron {
    opacity: 0.75;
    font-size: 0.75rem;
    transition: transform 0.18s ease-out, opacity 0.18s ease-out;
    color: var(--text-secondary, #666);
}
.bh-dp-filter-summary:hover .bh-dp-filter-chevron {
    opacity: 1;
    color: var(--brand-primary, #3d1a6f);
}
.bh-dp-filter-disclosure[open] > .bh-dp-filter-summary .bh-dp-filter-chevron {
    transform: rotate(180deg);
    opacity: 1;
}
[data-theme="dark"] .bh-dp-filter-chevron {
    color: var(--text-secondary, #adb5bd);
}
[data-theme="dark"] .bh-dp-filter-summary:hover .bh-dp-filter-chevron {
    color: var(--brand-primary-light, #b89be0);
}

/* === Jen polish 2026-05-11: AM === */
/* AM kanban -- consistent Draft footer treatment. When only the Create Agreement
   CTA renders (no BF yet), it stretches to fill the row beside the kebab so the
   card visually matches the Manage+Schedule pair. Predicate-based, single source
   of truth on card.retainerCampaignId. */
.kanban-card-actions .btn-cta.btn-cta-full {
    flex: 1 1 auto;
    width: auto;
}

/* AM page-actions toolbar -- New Agreement promoted to primary slot (Pattern S4).
   Ensure the primary button keeps visual weight against the secondary Wizard/Tour
   pair without growing taller than them. */
.page-actions .btn.btn-primary {
    font-weight: 500;
}
.page-actions .btn.btn-primary .fas {
    font-size: 0.85em;
}
/* === end Jen polish 2026-05-11: AM === */

/* === Federation F3 2026-05-11: AM legacy kanban cards === */
/* LSE-direct (Cohort D) engagements rendered with subtle dotted left accent +
   slightly muted body so users can tell at-a-glance which cards are read-only
   in NE pending bridge. Hover lifts opacity to full -- still interactive. */
/* 2026-05-11 Chairman v3: federation invisible -- legacy and NE cards look identical.
   Kept the .is-legacy class so the JS hooks still match, but stripped all visual
   differentiation. Edit auto-bridges transparently. */
.kanban-card.is-legacy {
    /* intentionally empty -- same look as NE card */
}
/* === end Federation F3 === */

/* === Jen polish 2026-05-11 round 2: RA === */
/* Fix 1 -- RA Overview KPI tiles: icon+number on one row, label below.
   Caps icon size, normalises padding, matches AM kanban stat-card pattern. */
.ra-overview-tile {
    padding: 1.25rem 1rem;
    text-align: left;
}
.ra-overview-tile .ra-tile-top {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.4rem;
}
.ra-overview-tile .ra-tile-top .ra-tile-icon {
    font-size: 1.5rem;
    margin-bottom: 0;
    line-height: 1;
    flex: 0 0 auto;
}
.ra-overview-tile .ra-tile-top .ra-tile-value {
    font-size: 2rem;
    margin-bottom: 0;
    line-height: 1;
    flex: 1 1 auto;
}
.ra-overview-tile .ra-tile-label {
    font-size: 0.875rem;
    color: var(--text-muted);
    text-transform: none;
    letter-spacing: 0;
}
@media (max-width: 990px) {
    .ra-overview-tile .ra-tile-top .ra-tile-value { font-size: 1.5rem; }
    .ra-overview-tile .ra-tile-top .ra-tile-icon { font-size: 1.25rem; }
}

/* Fix 2 -- 6-month trend chart: cap width so 6 bars stay proportionate. */
.ra-trend-chart-wrap {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
}

/* Fix 3 -- Capacity sub-section headers: lighter weight than full yellow header. */
.ra-section-h {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--brand-primary);
    padding: 0.75rem 1rem 0.5rem 1rem;
    border-bottom: 1px solid var(--border-light);
    margin: 0 0 1rem 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.ra-section-h .ml-auto { margin-left: auto !important; }
.ra-section-h .fas,
.ra-section-h .far,
.ra-section-h .fab {
    color: var(--brand-primary);
    opacity: 0.85;
}
[data-theme="dark"] .ra-section-h {
    color: var(--brand-primary-light, #a78bda);
    border-bottom-color: var(--border-medium-dark, #3a3f47);
}
[data-theme="dark"] .ra-section-h .fas,
[data-theme="dark"] .ra-section-h .far,
[data-theme="dark"] .ra-section-h .fab {
    color: var(--brand-primary-light, #a78bda);
}

/* RA stat tile vertical centring (size + padding now from canonical .bh-kpi). */
.ra-stats-bar .ra-stat-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
/* === end Jen polish 2026-05-11 round 2: RA === */

/* === RA alignment sweep 2026-05-11 === */
/* Granular within-table alignment + spacing rhythm pass.
   Chairman flagged 3-5 times: pills inconsistent sizes, top-aligned badges,
   cramped headers, empty-state rhythm. Single-block fix. */

/* 1. Utilization table: every row body cell vertically centred so badges,
      variance icons, em-dashes, and trend glyphs sit on the same baseline. */
#tblUtilizationReport tbody td {
    vertical-align: middle;
}
#tblUtilizationReport thead th {
    vertical-align: middle;
}

/* 1a. Type column: uniform width pill + em-dash placeholder, no jagged column. */
#tblUtilizationReport .ra-col-type {
    width: 120px;
    min-width: 120px;
    text-align: center;
}
#tblUtilizationReport .ra-type-pill {
    display: inline-block;
    min-width: 96px;
    padding: 0.3rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
    border-radius: 999px;
}
#tblUtilizationReport .ra-type-pill-empty {
    display: inline-block;
    min-width: 96px;
    font-size: 0.9rem;
    line-height: 1;
}

/* 1b. Pipeline column: 3-column grid so header labels (Forecast/Committed/Actual)
       align directly above the corresponding values in each row. Budget sub-line
       sits underneath, full-width centred. */
#tblUtilizationReport th.ra-col-pra,
#tblUtilizationReport td.ra-col-pra {
    min-width: 160px;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    text-align: center;
}
#tblUtilizationReport .ra-pra-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.25rem;
    text-align: center;
    line-height: 1.2;
}
#tblUtilizationReport .ra-pra-budget {
    margin-top: 0.2rem;
    line-height: 1.1;
    text-align: center;
}

/* 1c. Variance column: vertically centred glyph + value. */
#tblUtilizationReport .ra-col-variance {
    min-width: 110px;
    line-height: 1.2;
}
#tblUtilizationReport .ra-col-variance .fas {
    vertical-align: -1px;
}

/* 1d. Status pill cell: badge centred both axes. */
#tblUtilizationReport .ra-col-status {
    min-width: 110px;
}
#tblUtilizationReport .ra-col-status > * {
    display: inline-flex;
    align-items: center;
}

/* 1e. Trend column: widen so header "Trend" + glyph sit naturally. */
#tblUtilizationReport th:last-child,
#tblUtilizationReport .ra-col-trend {
    min-width: 64px;
    text-align: center;
}

/* 2. Service Delivery table: same vertical-centring contract + nowrap pills. */
#tblServiceDelivery tbody td {
    vertical-align: middle;
}
#tblServiceDelivery thead th,
#tblServiceDelivery tfoot th {
    vertical-align: middle;
}
#tblServiceDelivery .ra-sd-col-service {
    white-space: nowrap;
    min-width: 130px;
}
#tblServiceDelivery .ra-sd-col-service .badge {
    white-space: nowrap;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
}
#tblServiceDelivery .ra-sd-col-period small {
    line-height: 1.25;
}
#tblServiceDelivery .ra-sd-col-pipeline .pipeline-bar {
    margin: 0;
}
#tblServiceDelivery .ra-sd-col-status {
    min-width: 110px;
}

/* 2a. Service Delivery KPI tile bar: 6 tiles must wrap cleanly, never clip. */
.ra-stats-bar {
    flex-wrap: wrap;
    gap: 0.5rem;
}
.ra-stats-bar .ra-stat-card {
    flex: 1 1 auto;
    min-width: 110px;
    overflow: hidden;
}
.ra-stats-bar .ra-stat-card .stat-label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* 3. Overview KPI tile labels: tiny breathing room so they don't kiss the
      value line. (Icon+value already share .ra-tile-top.) */
.ra-overview-tile .ra-tile-label {
    padding-top: 0.25rem;
    line-height: 1.25;
}

/* 3a. Overview side cards: tighten empty-state rhythm so icon + title sit
       closer and CTA isn't orphaned far below body. RA-scoped. */
#overviewContent .profile-card-body .bh-empty-state {
    padding: 1.5rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}
#overviewContent .profile-card-body .bh-empty-state .bh-empty-icon {
    margin: 0 auto 0.25rem;
    font-size: 2.25rem;
}
#overviewContent .profile-card-body .bh-empty-state .bh-empty-title {
    margin: 0 auto 0.25rem;
}
#overviewContent .profile-card-body .bh-empty-state .bh-empty-body {
    margin: 0 auto 0.5rem;
}

/* 4. Capacity sub-pills row: now a top-level row (.mb-3 owns spacing).
   The legacy nested-in-actions override is gone; per-sub-pane yellow headers
   no longer need the top-margin nudge. */

/* 4b. Capacity sub-pane visibility (2026-05-15 fix).
   When the sub-panes lived as siblings of #tabcapacity (pre-fix), Bootstrap's
   `.tab-content > .tab-pane { display: none }` rule (child combinator) hid
   them by default. After the 2026-05-14 nesting fix moved them inside
   #tabcapacity, that selector no longer matches (they're grandchildren of
   .tab-content), so all 5 sub-panes rendered visible at once until
   switchCapacitySubPill ran. Restore the hidden-by-default behaviour with
   an attribute-scoped rule that does not depend on DOM depth.

   2026-05-15 follow-up: outer EH tabs (#ResultsTabs) were ALSO reported as
   showing every pane stacked vertically -- clicking Schedule, Capacity, or
   Business Impact appended their content to whichever pane was already
   visible. Re-assert Bootstrap's `display:none` default for outer tabs with
   !important and explicit `.active` block override, scoped via the
   `#ResultsTabs + .tab-content >` combinator so it cannot leak to other
   tab systems on the page (modals, Site.Master #myTabs, Capacity sub-panes
   inside #tabcapacity which are not direct children of .tab-content). */
.tab-pane[data-cap-subpane] {
    display: none;
}
.tab-pane[data-cap-subpane].show.active,
.tab-pane[data-cap-subpane].active {
    display: block;
}
#ResultsTabs + .tab-content > .tab-pane {
    display: none !important;
}
#ResultsTabs + .tab-content > .tab-pane.active {
    display: block !important;
}

/* 5. Pipeline Forecast empty state: canonical .bh-empty-state rhythm. */
#pfEmpty.bh-empty-state {
    padding: 2.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}
#pfEmpty .bh-empty-icon {
    margin: 0 auto 0.75rem;
}
#pfEmpty .bh-empty-title {
    margin: 0 auto 0.5rem;
}
#pfEmpty .bh-empty-body {
    margin: 0 auto;
}

/* 5a. Pipeline Forecast sub-cards: body italic line sits 1rem under header. */
#tabpipelineforecast .profile-card .profile-card-header.yellow {
    margin-bottom: 0;
}
#tabpipelineforecast .profile-card .profile-card-body {
    padding-top: 1rem;
}

/* 6. Yellow header card: small subtitles wrap consistently. The original
      min-height:68px was dropped 2026-05-14 -- forced every band to hero
      height on every viewport, fighting the canonical clamp() padding.
      Single-line headers now render at ~40px naturally. */
.profile-card-header.yellow .profile-card-title small {
    line-height: 1.35;
    display: inline-block;
}

/* 7. Trend chart legend: Chart.js renders its own legend inside <canvas>,
      so it already inherits the .ra-trend-chart-wrap max-width. Re-state
      the wrap so legend + chart share the same constrained box. */
.ra-trend-chart-wrap canvas {
    max-width: 100%;
    height: auto;
}
/* === end RA alignment sweep 2026-05-11 === */

/* === AM + DP alignment sweep 2026-05-11 === */
/* Chairman flagged alignment 3-5x across sessions. CSS-only fix across
   AM kanban + DP grid/schedule/gantt + DP KPI tiles + awaiting-first panel. */

/* ---------- 1. AM kanban Active cards: badge slot + title ellipsis ---------- */
/* Title row: flex header so badge is fixed-width slot and title truncates
   when long. Without min-width:0, flex children with text-overflow ellipsis
   refuse to shrink. */
.kanban-card > .d-flex.justify-content-between {
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}
.kanban-card .kanban-card-title {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Badge slot: any badge or detail-link icon sits on a fixed-width rail so
   cards with/without SIGNED badge line up vertically across the lane. */
.kanban-card .kanban-card-detail-link,
.kanban-card > .d-flex.justify-content-between > .badge,
.kanban-card > .d-flex.justify-content-between > .bh-eng-state-badge {
    flex: 0 0 auto;
}
/* 2-line meta -> single line ellipsis. The status/service/date row was
   wrapping when service name was long. */
.kanban-card .kanban-card-meta {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Action row: equal-padding buttons across NE + LEGACY variants. */
.kanban-card .kanban-card-actions .btn,
.kanban-card .kanban-card-actions .btn-cta {
    padding: 4px 8px;
    line-height: 1.2;
}
.kanban-card .kanban-card-actions .btn-cta + .btn-cta {
    margin-left: 4px;
}

/* ---------- 2. AM kanban lane headers: equal heights so cards align ---------- */
/* Provisional / Draft / Pending / Active have different sub-line lengths +
   count badge widths. Force a common min-height so the first card in each
   column lines up. */
.bh-am-lane-header {
    min-height: 76px;
}
.bh-am-lane-sub {
    /* one-line so 2-line subtitles don't push lane bodies down */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ---------- 3. DP Schedule view: tabular weeks + axis padding ---------- */
.bh-sched-week-header { font-variant-numeric: tabular-nums; }
/* "(unassigned)" axis label: keep flush with named-resource rows. */
.bh-sched-axis-cell {
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
    line-height: 1.3;
}

/* ---------- 4. DP Grid view: column alignment + actions min-width ---------- */
/* Actions column needs a min-width so NE rows (3 buttons) and legacy rows
   (2 buttons) don't shift the start of the Activity column. */
#activitiesTable thead th:first-child,
#activitiesTable tbody td:first-child {
    min-width: 132px;
    white-space: nowrap;
}
/* Right-align Hours (numeric) -- 8th column. Centre Stage/Type badges. */
#activitiesTable thead th:nth-child(8),
#activitiesTable tbody td:nth-child(8) {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
#activitiesTable thead th:nth-child(4),
#activitiesTable tbody td:nth-child(4),
#activitiesTable thead th:nth-child(7),
#activitiesTable tbody td:nth-child(7) {
    text-align: center;
}
/* Legacy rows: brief notes border-bottom missing visually because lighter
   background reduces contrast. Force a slightly darker bottom rule. */
#activitiesTable tbody tr.bh-legacy-row {
    opacity: 0.92;
}
#activitiesTable tbody tr.bh-legacy-row td {
    border-bottom: 1px solid var(--border-medium, #d4d8dc) !important;
}
[data-theme="dark"] #activitiesTable tbody tr.bh-legacy-row td {
    border-bottom-color: var(--border-medium-dark, #3a3f47) !important;
}

/* ---------- 6. Schedule KPI tiles: vertical centring (size from canonical .bh-kpi) ---------- */
#scheduleStatsBar .bh-kpi {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* ---------- 7. DP "Agreements awaiting first activity" cards uniform ---------- */
/* Grid auto-fills cards to 240px min. At 4/3/2-up the card heights vary
   when meta line is short or long. Force min-height + ellipsis the meta. */
.empty-agreements-grid .empty-agreement-card {
    min-height: 110px;
    justify-content: space-between;
}
.empty-agreements-grid .empty-agreement-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.empty-agreements-grid .empty-agreement-meta {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}
.empty-agreements-grid .empty-agreement-cta {
    margin-top: auto;
}
/* === end AM + DP alignment sweep 2026-05-11 === */

/* === DP Grid soft pills 2026-05-11 ===
   Chairman: "deliverable badge is harsh on your eyes". Outlined soft pills -- same
   information, lower visual weight. */
.bh-deliv-pill {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--brand-primary, #3d1a6f);
    background: var(--bg-purple-tint, #f8f4fc);
    border: 1px solid rgba(61, 26, 111, 0.22);
    border-radius: 12px;
    line-height: 1.5;
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}
.bh-legacy-pill {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--text-muted, #6c757d);
    background: transparent;
    border: 1px dashed var(--border-medium, #cbd0d4);
    border-radius: 12px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    vertical-align: middle;
}
[data-theme="dark"] .bh-deliv-pill {
    color: var(--brand-primary-light, #c4a7e7);
    background: rgba(196, 167, 231, 0.08);
    border-color: rgba(196, 167, 231, 0.25);
}
[data-theme="dark"] .bh-legacy-pill {
    color: var(--text-muted-dark, #9aa0a6);
    border-color: var(--border-medium-dark, #4a5057);
}
/* === end DP Grid soft pills === */

/* === RA Capacity strip -- portfolio utilisation traffic-light row (RA > Capacity > Utilisation, 2026-05-12) === */
.ra-cap-strip { display: flex; gap: 6px; flex-wrap: wrap; }
.ra-cap-tile {
    flex: 1 1 0;
    min-width: 64px;
    border-radius: 8px;
    padding: 8px 4px;
    text-align: center;
    border: 1px solid var(--border-default, #ddd);
    background: var(--bg-subtle, #fafafa);
}
.ra-cap-tile .cap-month { font-size: 0.72rem; color: var(--text-muted, #999); }
.ra-cap-tile .cap-pct   { font-size: 1.15rem; font-weight: 700; line-height: 1.2; color: var(--text-body, #555); }
.ra-cap-tile .cap-hrs   { font-size: 0.7rem; color: var(--text-muted, #999); }
.ra-cap-tile .cap-slack { font-size: 0.66rem; color: var(--text-muted, #bbb); }
.ra-cap-tile.is-current { box-shadow: inset 0 0 0 2px var(--brand-primary, #3d1a6f); }
.ra-cap-tile.cap-ok   { background: var(--status-success-bg, #e7f4e8); }
.ra-cap-tile.cap-ok   .cap-pct { color: var(--status-success-text, #2e7d32); }
.ra-cap-tile.cap-warn { background: var(--status-warning-bg, #fff4e3); }
.ra-cap-tile.cap-warn .cap-pct { color: var(--status-warning-text, #8a6d00); }
.ra-cap-tile.cap-over { background: var(--status-danger-bg, #fdeaea); }
.ra-cap-tile.cap-over .cap-pct { color: var(--status-danger-text, #c62828); }
.ra-cap-tile.cap-na   .cap-pct { color: var(--text-muted, #999); }
.ra-cap-alert { font-size: 0.8rem; margin: 8px 2px 0; }
.ra-cap-alert a { white-space: nowrap; }
@media (max-width: 768px) {
    .ra-cap-tile { flex: 1 1 calc(33.333% - 4px); }
}
/* === end RA Capacity strip === */

/* End of Engagement Design System component CSS */

/* === Phase 3 finish (2026-05-13): Scoping lane sub-state badges. ===
   Predicate (first match): Revising > Speculative > Sold-Scoping > AM-Initiated.
   Rendered by bhScopingBadge() in AccountManagement.aspx -- shown only on Scoping
   lane cards (flag=0). Suppressed for Pending Sig / Active / Closed where lane
   conveys state. Each variant has a tooltip via .mytooltip + tooltiptext attr. */
.bh-scope-badge-wrap {
    margin: 0 0 0.4rem 0;
    line-height: 1;
}
.bh-scope-badge {
    display: inline-flex;
    align-items: center;
    font-size: 0.65rem;
    font-weight: 600;
    line-height: 1;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border: 1px solid transparent;
    white-space: nowrap;
}
.bh-scope-badge i {
    font-size: 0.7em;
}
.bh-scope-revising {
    background: var(--status-warning-bg, #fff3cd);
    color: var(--status-warning-text, #856404);
    border-color: var(--status-warning-border, #ffeeba);
}
.bh-scope-speculative {
    background: var(--bg-slate-tint, #eef1f5);
    color: var(--text-muted, #6c757d);
    border-color: rgba(108, 117, 125, 0.25);
}
.bh-scope-sold {
    background: rgba(111, 66, 193, 0.10);
    color: var(--brand-primary, #6f42c1);
    border-color: rgba(111, 66, 193, 0.25);
}
.bh-scope-am {
    background: rgba(13, 110, 253, 0.10);
    color: #0d6efd;
    border-color: rgba(13, 110, 253, 0.25);
}
[data-theme=dark] .bh-scope-revising  { background: rgba(255, 193, 7, 0.15); color: #ffd966; border-color: rgba(255, 193, 7, 0.30); }
[data-theme=dark] .bh-scope-speculative { background: rgba(255, 255, 255, 0.06); color: #c9d1d9; border-color: rgba(255, 255, 255, 0.15); }
[data-theme=dark] .bh-scope-sold      { background: rgba(180, 142, 246, 0.18); color: #c8a8ff; border-color: rgba(180, 142, 246, 0.35); }
[data-theme=dark] .bh-scope-am        { background: rgba(64, 156, 255, 0.18); color: #79b8ff; border-color: rgba(64, 156, 255, 0.35); }
/* === end Phase 3 Scoping badges === */

/* === Jen H3 (2026-05-13): Brief RTE compact sizing.
   Replaces the  wrapper hack on the 5 RTE instances in the
   Service Agreement Brief tab. zoom is non-standard (breaks Firefox layout math)
   and scaled click targets along with the text. font-size + min-height instead. */
.brief-rte iframe { min-height: 100px !important; }
.brief-rte .RadEditor, .brief-rte .reToolBar { font-size: 0.875rem; }

/* Plan tab dark-mode contrast pass (2026-05-15 Jen). Card-body inheritance was technically
   reaching --text-primary but the accumulated text-muted/small surrounds made the financial
   rollups + inline editor name read as grey-on-grey. Lock these surfaces to explicit body
   colour so they pop. */
.bh-plan-financials { color: var(--text-body, #2c2c2c); }
.bh-plan-financials strong { color: var(--text-primary, #212529); }
.bh-resalloc-row .bh-resalloc-name { color: var(--text-primary, #212529); }
.bh-team-variance { color: var(--text-body, #2c2c2c); }
.bh-sched-axis-cell { color: var(--text-body, #2c2c2c); }
[data-theme="dark"] .bh-meta-key { color: var(--text-secondary, #bcbcbc); }

/* 2026-05-16 Jen: Service Delivery + Capacity triage toggle pills. Default
   uses .btn-outline-secondary; pressed state inverts to brand purple. The
   button keeps the outline button geometry so pressing it doesn't reflow
   the toolbar. Hover uses brightness() rather than a non-existent
   --brand-primary-dark token so it tracks both themes (#3d1a6f and #a76bdf). */
.btn.bh-active,
.btn.bh-active:focus {
    background-color: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #ffffff);
    box-shadow: 0 0 0 0.15rem rgba(61, 26, 111, 0.18);
}
.btn.bh-active:hover {
    background-color: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #ffffff);
    filter: brightness(0.88);
}

/* Service Delivery activity-detail: month-grouped table. Compact, neutral
   month band -- separates a 60-activity flat dump (e.g. Brooks) into 6 short
   monthly groups. */
.sd-detail-month-header td {
    background: var(--bg-muted, #ececf1);
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--brand-primary, #3d1a6f);
    padding: 0.4rem 0.6rem !important;
    border-top: 1px solid var(--border-default, #d1d5db);
}

/* Capacity triage section dividers -- one full-width thead-style row introducing
   each severity bucket. Variance moved to col 3 so it reads earlier; chevron
   on the bucket header collapses/expands that bucket's rows. */
.ra-bucket-header td {
    background: var(--bg-subtle, #f8f9fa);
    font-weight: 700;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--brand-primary, #3d1a6f);
    padding: 0.5rem 0.8rem !important;
    border-top: 2px solid var(--brand-primary, #3d1a6f);
    cursor: pointer;
    user-select: none;
}
.ra-bucket-header.ra-bucket-action td { border-top-color: var(--eh-over, #dc3545); }
.ra-bucket-header.ra-bucket-watch td  { border-top-color: var(--eh-under, #fd7e14); }
.ra-bucket-header.ra-bucket-ontrack td { border-top-color: var(--eh-ontrack, #28a745); }
.ra-bucket-header.ra-bucket-forecast td { border-top-color: var(--text-muted, #6c757d); }
.ra-bucket-header .ra-bucket-count {
    font-weight: 500;
    color: var(--text-muted, #6c757d);
    margin-left: 0.5rem;
    text-transform: none;
    letter-spacing: 0;
}
.ra-bucket-header .ra-bucket-chevron {
    margin-right: 0.4rem;
    transition: transform 0.15s ease;
    display: inline-block;
}
.ra-bucket-header.ra-collapsed .ra-bucket-chevron { transform: rotate(-90deg); }

/* Capacity month cell -- two stacked numbers with explicit labels so the user
   can tell scheduled from logged at a glance. Tiny stacked bar at bottom
   preserves the forecast/committed split visualisation. */
.ra-month-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    line-height: 1.15;
}
.ra-month-cell .ra-month-sched {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-body, #2c2c2c);
    font-variant-numeric: tabular-nums;
}
.ra-month-cell .ra-month-logged {
    font-size: 0.72rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.ra-month-cell .ra-month-lbl {
    font-size: 0.6rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-muted, #6c757d);
    margin-left: 1px;
}
.ra-month-cell .ra-month-bar {
    width: 100%;
    height: 4px;
    margin-top: 2px;
    border-radius: 2px;
    overflow: hidden;
}
.ra-month-cell .ra-month-bar > div { height: 100%; display: inline-block; }

/* Capacity filter chip row -- sits above the table. */
.ra-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
    margin-bottom: 0.75rem;
}
.ra-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.7rem;
    border-radius: 14px;
    border: 1px solid var(--border-default, #d1d5db);
    background: var(--bg-surface, #ffffff);
    color: var(--text-body, #2c2c2c);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease;
}
.ra-filter-chip:hover {
    background: var(--bg-subtle, #f1ebfa);
    border-color: var(--brand-primary, #3d1a6f);
}
.ra-filter-chip.is-active {
    background: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    color: var(--text-on-dark, #ffffff);
}
.ra-filter-chip .ra-filter-chip-count {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    opacity: 0.85;
}
.ra-filter-chip-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted, #6c757d);
    font-weight: 600;
    margin-right: 0.2rem;
}

/* ===========================================================================
   Phase 4 Resource Leave Calendar (2026-05-17, Jen polish pass)
   Leave strip with weekday-letter cells, hero legend, branded action bar,
   holiday month-chip grid, KPI-friendly empty states.
=========================================================================== */

/* Compact intro callout (replaces dense .bh-page-intro for this tab) */
.bh-leave-intro {
    padding: 0.6rem 0.9rem;
    margin-bottom: 1rem;
    background: linear-gradient(135deg, rgba(61,26,111,0.05), rgba(253,185,19,0.04));
    border-left: 3px solid var(--brand-accent, #fdb913);
    border-radius: 6px;
    font-size: 0.85rem;
    color: var(--text-body, #333);
}
.bh-leave-intro i { color: var(--brand-primary, #3d1a6f); }
.bh-leave-intro strong { color: var(--brand-primary, #3d1a6f); }
[data-theme="dark"] .bh-leave-intro {
    background: linear-gradient(135deg, rgba(167,107,223,0.08), rgba(212,168,36,0.06));
    color: var(--text-body, #d4d4d4);
}
[data-theme="dark"] .bh-leave-intro strong,
[data-theme="dark"] .bh-leave-intro i { color: #c9b3eb; }

/* Branded action bar -- picker on left, actions on right, single rounded strip */
.bh-leave-toolbar {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.7rem;
    background: var(--bg-subtle, #faf9fc);
    border: 1px solid var(--border-default, #e6e1ee);
    border-radius: 8px;
    flex-wrap: wrap;
}
.bh-leave-tb-picker {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 auto;
    min-width: 240px;
}
.bh-leave-tb-label {
    /* Form label: sentence case per UI rules (Jen 2026-05-17). Tab/sub-tab labels
       are ALL CAPS, but inline form labels read more naturally as "Resource". */
    font-size: 0.78rem;
    text-transform: none;
    letter-spacing: 0;
    color: var(--text-muted, #666);
    font-weight: 600;
    margin: 0;
    flex-shrink: 0;
}
.bh-leave-intro-help {
    display: inline-flex;
    align-items: center;
    margin-left: 0.35rem;
    color: var(--text-muted, #888);
    cursor: help;
}
.bh-leave-intro-help i { font-size: 0.95rem; }
.bh-leave-intro-help:hover i { color: var(--brand-primary, #3d1a6f); }
[data-theme="dark"] .bh-leave-intro-help:hover i { color: #c9b3eb; }
.bh-leave-tb-select { max-width: 320px; flex: 1 1 auto; }
.bh-leave-tb-actions { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; }
[data-theme="dark"] .bh-leave-toolbar {
    background: var(--bg-muted, #2a2438);
    border-color: var(--border-default, #3a3450);
}

/* Hero card (Next 3 months) -- legend lives inline in the section title */
.bh-leave-hero-legend {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    margin-left: auto;
    font-size: 0.75rem;
    color: var(--text-muted, #666);
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
}
.bh-leave-hero .ra-section-h { display: flex; align-items: center; flex-wrap: wrap; gap: 0.4rem; }
.bh-leave-leg-item { display: inline-flex; align-items: center; gap: 4px; }
.bh-leave-leg-swatch {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 3px;
    border: 1px solid transparent;
    vertical-align: middle;
}
.bh-leave-leg-swatch.is-today   { background: transparent; border: 2px solid var(--brand-primary, #3d1a6f); }
.bh-leave-leg-swatch.is-leave   { background: var(--brand-primary, #3d1a6f); }
.bh-leave-leg-swatch.is-holiday { background: var(--brand-accent, #fdb913); }
.bh-leave-leg-swatch.is-weekend { background: var(--bg-muted, #ececec); border: 1px solid var(--border-default, #d9d9d9); }
[data-theme="dark"] .bh-leave-leg-swatch.is-leave { background: #a76bdf; }
[data-theme="dark"] .bh-leave-leg-swatch.is-holiday { background: #d4a824; }
[data-theme="dark"] .bh-leave-leg-swatch.is-weekend { background: #3a3450; border-color: #3a3450; }

/* 3-month strip -- weekday letter above number, today gets a brand ring */
.bh-leave-strip {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.bh-leave-strip-month {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
}
.bh-leave-strip-monthlabel {
    width: 90px;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    padding-left: 0.4rem;
    border-left: 3px solid var(--brand-accent, #fdb913);
}
.bh-leave-strip-days {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    flex: 1 1 auto;
}
.bh-leave-strip-day {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 36px;
    border-radius: 4px;
    background: var(--bg-subtle, #faf9fc);
    color: var(--text-body, #333);
    border: 1px solid var(--border-default, #e6e1ee);
    cursor: help;
    line-height: 1;
    transition: transform 100ms ease;
    position: relative; /* anchor for .mytooltip ::after pseudo */
}
.bh-leave-strip-day:hover { transform: translateY(-1px); }
/* Override the generic .mytooltip ::after position for these compact cells -- centred above */
.bh-leave-strip-day.mytooltip:hover::after { left: 50%; transform: translateX(-50%); white-space: nowrap; }
.bh-holiday-chip.mytooltip:hover::after { left: 0; white-space: nowrap; }
.bh-leave-strip-day-dow {
    font-size: 0.55rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--text-muted, #999);
    letter-spacing: 0.04em;
    margin-bottom: 1px;
}
.bh-leave-strip-day-num {
    font-size: 0.78rem;
    font-weight: 600;
}
.bh-leave-strip-day.is-weekend {
    background: var(--bg-muted, #f5f3f8);
    color: var(--text-muted, #999);
    border-color: transparent;
}
.bh-leave-strip-day.is-weekend .bh-leave-strip-day-dow { color: var(--text-muted, #bbb); }
.bh-leave-strip-day.is-holiday {
    background: var(--brand-accent, #fdb913);
    border-color: var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
}
.bh-leave-strip-day.is-holiday .bh-leave-strip-day-dow { color: rgba(61,26,111,0.65); }
.bh-leave-strip-day.is-leave {
    background: var(--brand-primary, #3d1a6f);
    border-color: var(--brand-primary, #3d1a6f);
    color: #ffffff;
}
.bh-leave-strip-day.is-leave .bh-leave-strip-day-dow { color: rgba(255,255,255,0.7); }
.bh-leave-strip-day.is-leave.is-holiday {
    /* Both -- diagonal split via gradient */
    background: linear-gradient(135deg, var(--brand-primary, #3d1a6f) 0% 50%, var(--brand-accent, #fdb913) 50% 100%);
    color: #ffffff;
}
.bh-leave-strip-day.is-today {
    box-shadow: 0 0 0 2px var(--brand-primary, #3d1a6f), 0 0 0 4px rgba(253,185,19,0.4);
    z-index: 1;
    position: relative;
}
[data-theme="dark"] .bh-leave-strip-day {
    background: var(--bg-muted, #2a2438);
    color: var(--text-body, #d4d4d4);
    border-color: var(--border-default, #3a3450);
}
[data-theme="dark"] .bh-leave-strip-day.is-weekend { background: #221c30; color: var(--text-muted, #777); }
[data-theme="dark"] .bh-leave-strip-day.is-holiday {
    background: #d4a824;
    color: #1a0f2e;
    border-color: #d4a824;
}
[data-theme="dark"] .bh-leave-strip-day.is-leave {
    background: #a76bdf;
    border-color: #a76bdf;
    color: #1a0f2e;
}
[data-theme="dark"] .bh-leave-strip-day.is-leave .bh-leave-strip-day-dow { color: rgba(26,15,46,0.7); }
[data-theme="dark"] .bh-leave-strip-day.is-today {
    box-shadow: 0 0 0 2px #a76bdf, 0 0 0 4px rgba(212,168,36,0.35);
}

/* Public holiday chip grid -- month groups + branded date-chip cards */
.bh-holiday-grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.bh-holiday-month {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.bh-holiday-month-label {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding-left: 0.4rem;
    border-left: 3px solid var(--brand-accent, #fdb913);
}
.bh-holiday-month-items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.5rem;
}
.bh-holiday-chip {
    display: flex;
    align-items: stretch;
    gap: 0.6rem;
    padding: 0.5rem 0.6rem;
    background: var(--bg-subtle, #faf9fc);
    border: 1px solid var(--border-default, #e6e1ee);
    border-radius: 8px;
    transition: transform 120ms ease, box-shadow 120ms ease;
    position: relative; /* anchor for .mytooltip ::after pseudo */
}
.bh-holiday-chip:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(61,26,111,0.08);
}
.bh-holiday-chip-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: var(--brand-accent, #fdb913);
    color: var(--brand-primary, #3d1a6f);
    border-radius: 6px;
    padding: 0.3rem 0.5rem;
    min-width: 44px;
}
.bh-holiday-chip-day {
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.bh-holiday-chip-mon {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-top: 1px;
}
.bh-holiday-chip-body { display: flex; flex-direction: column; justify-content: center; flex: 1 1 auto; min-width: 0; }
.bh-holiday-chip-name {
    font-weight: 600;
    color: var(--brand-primary, #3d1a6f);
    font-size: 0.85rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bh-holiday-chip-meta {
    font-size: 0.7rem;
    color: var(--text-muted, #666);
    margin-top: 1px;
}
.bh-holiday-chip.is-clickable { cursor: pointer; }
.bh-holiday-chip-edit {
    align-self: center;
    color: var(--text-muted, #999);
    opacity: 0;
    transition: opacity 120ms ease;
    flex: 0 0 auto;
    padding: 0 0.3rem;
}
.bh-holiday-chip.is-clickable:hover .bh-holiday-chip-edit { opacity: 1; color: var(--brand-primary, #3d1a6f); }
[data-theme="dark"] .bh-holiday-chip.is-clickable:hover .bh-holiday-chip-edit { color: #c9b3eb; }
[data-theme="dark"] .bh-holiday-chip {
    background: var(--bg-muted, #2a2438);
    border-color: var(--border-default, #3a3450);
}
[data-theme="dark"] .bh-holiday-chip-name { color: #c9b3eb; }
[data-theme="dark"] .bh-holiday-chip-date { background: #d4a824; color: #1a0f2e; }

/* Empty-state polish for the leave tab */
.bh-leave-empty { padding: 2rem 1rem; }

/* ---------------------------------------------------------------------------
   Jen 2026-05-17 redesign:
   - Right-pad the leave list so the floating AI chat avatar (fixed bottom-right)
     never sits on top of the row action button.
   - Compact-row treatment: single-line period cell with dates + duration + hours.
   - Quiet sync-freshness meta row + holiday expander button.
--------------------------------------------------------------------------- */
.bh-leave-list th:last-child,
.bh-leave-list td:last-child {
    padding-right: 60px; /* clears bhAiAvatar at the right gutter */
}
.bh-leave-list td { vertical-align: middle; }
.bh-leave-period { white-space: nowrap; }
.bh-leave-notes-cell {
    max-width: 280px;
    color: var(--text-muted, #666);
    font-size: 0.85rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 768px) {
    .bh-leave-list th:last-child,
    .bh-leave-list td:last-child { padding-right: 0.75rem; } /* avatar tucks away on mobile */
    .bh-leave-period { white-space: normal; }
}

.bh-leave-meta-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}
.bh-leave-meta-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: var(--bg-subtle, #faf9fc);
    border: 1px solid var(--border-default, #e6e1ee);
    font-size: 0.75rem;
    color: var(--text-muted, #666);
}
.bh-leave-meta-chip.text-danger { background: rgba(237,23,76,0.08); border-color: rgba(237,23,76,0.25); }
[data-theme="dark"] .bh-leave-meta-chip {
    background: var(--bg-muted, #2a2438);
    border-color: var(--border-default, #3a3450);
    color: var(--text-body, #d4d4d4);
}

.bh-holiday-more-wrap {
    display: flex;
    justify-content: center;
    margin-top: 0.75rem;
}
.bh-holiday-more-wrap .btn { min-width: 220px; }

/* Team Capacity grid -- inline-edit cells (Jen 2026-05-17). Weekly Hours +
   Billable % live in input fields directly in the table; tighten the form-
   control to fit cell metrics so the grid doesn't bloat when editing toggles
   on. Totals row gets a slate fill + top border to delineate footer. */
.bh-cap-grid .bh-cap-edit-cell {
    padding: 0.3rem 0.5rem;
}
.bh-cap-grid .bh-cap-input {
    width: 100%;
    max-width: 92px;
    margin-left: auto;
    padding: 0.15rem 0.4rem;
    font-size: 0.85rem;
    text-align: right;
}
.bh-cap-grid .bh-cap-input:focus {
    border-color: var(--brand-primary, #3d1a6f);
    box-shadow: 0 0 0 2px rgba(61, 26, 111, 0.15);
}
.bh-cap-grid tr.bh-cap-total-row td {
    background: var(--bg-slate-tint, #f4f0fb);
    border-top: 2px solid var(--brand-primary, #3d1a6f);
    font-weight: 700;
}
[data-theme="dark"] .bh-cap-grid tr.bh-cap-total-row td {
    background: var(--bg-slate-tint-2, #2a2438);
    border-top-color: #a76bdf;
}

/* Schedule view: leave block on a resource row (axisMode=Resource only). */
.bh-sched-leave-block {
    position: absolute;
    top: 2px;
    bottom: 2px;
    background: repeating-linear-gradient(
        135deg,
        rgba(149, 149, 149, 0.20) 0,
        rgba(149, 149, 149, 0.20) 6px,
        rgba(149, 149, 149, 0.40) 6px,
        rgba(149, 149, 149, 0.40) 12px
    );
    border: 1px dashed var(--text-muted, #999);
    border-radius: 4px;
    z-index: 1;
    pointer-events: auto;
    cursor: help;
    color: var(--text-muted, #6c757d);
    font-size: 0.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
[data-theme="dark"] .bh-sched-leave-block {
    background: repeating-linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.08) 0,
        rgba(255, 255, 255, 0.08) 6px,
        rgba(255, 255, 255, 0.16) 6px,
        rgba(255, 255, 255, 0.16) 12px
    );
    border-color: var(--text-muted, #888);
}

/* Resolve panel: leave-conflict badge on an overloaded source row. */
.bh-resolve-leave-conflict {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(253, 185, 19, 0.18);
    color: #856404;
    border: 1px solid var(--brand-accent, #fdb913);
    font-size: 0.75rem;
    font-weight: 600;
    margin-left: 0.5rem;
}
[data-theme="dark"] .bh-resolve-leave-conflict {
    background: rgba(212, 168, 36, 0.18);
    color: #d4a824;
    border-color: #d4a824;
}

/* ===========================================================================
   Rebalance redesign (2026-05-17 Jen)
   Mini stacked bars on heatmap cells + compact Resolve list + drill-in modal
=========================================================================== */

/* Mini stacked bar + inline text breakdown under headroom number in heatmap cell */
.bh-cap-stackbar {
    display: flex;
    width: 100%;
    height: 4px;
    margin-top: 4px;
    background: rgba(0,0,0,0.06);
    border-radius: 2px;
    overflow: hidden;
}
.bh-cap-breakdown {
    display: flex;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 3px;
    font-size: 0.65rem;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    color: var(--text-muted, #666);
}
.bh-cap-bd { display: inline-flex; align-items: center; gap: 2px; }
.bh-cap-bd-k {
    display: inline-block;
    font-weight: 700;
    color: #fff;
    background: #3d1a6f;
    border-radius: 2px;
    padding: 0 3px;
    font-size: 0.6rem;
    line-height: 1.2;
    letter-spacing: 0.04em;
}
.bh-cap-bd-c .bh-cap-bd-k { background: #3d1a6f; }                /* Committed -- brand primary */
.bh-cap-bd-f .bh-cap-bd-k { background: #a76bdf; }                /* Forecast  -- brand primary light */
.bh-cap-bd-l .bh-cap-bd-k { background: #ed174c; color: #fff; }   /* Personal leave -- danger red so booked PTO stands out */
.bh-cap-bd-h .bh-cap-bd-k { background: #fdb913; color: #3d1a6f; }/* Tenant holiday -- brand accent gold */
[data-theme="dark"] .bh-cap-breakdown { color: var(--text-muted, #999); }
[data-theme="dark"] .bh-cap-bd-c .bh-cap-bd-k { background: #a76bdf; color: #1a0f2e; }
[data-theme="dark"] .bh-cap-bd-f .bh-cap-bd-k { background: #c9b3eb; color: #1a0f2e; }
[data-theme="dark"] .bh-cap-bd-l .bh-cap-bd-k { background: #ed174c; color: #fff; }
[data-theme="dark"] .bh-cap-bd-h .bh-cap-bd-k { background: #d4a824; color: #1a0f2e; }
.bh-cap-stackbar-seg {
    display: block;
    height: 100%;
}
.bh-cap-seg-c { background: #3d1a6f; }      /* Committed -- brand primary */
.bh-cap-seg-f { background: #a76bdf; }      /* Forecast -- brand primary light */
.bh-cap-seg-l { background: #fdb913; }      /* Leave -- brand accent */
[data-theme="dark"] .bh-cap-stackbar { background: rgba(255,255,255,0.08); }
[data-theme="dark"] .bh-cap-seg-c { background: #a76bdf; }
[data-theme="dark"] .bh-cap-seg-f { background: #c9b3eb; }
[data-theme="dark"] .bh-cap-seg-l { background: #d4a824; }

/* Legend swatch (12px square) */
.bh-cap-bar-swatch {
    display: inline-block;
    width: 12px;
    height: 8px;
    border-radius: 2px;
    vertical-align: middle;
}

/* Compact Rebalance list (replaces expanded Resolve cards) */
.bh-rebalance-list { display: flex; flex-direction: column; gap: 0.4rem; }
.bh-rebalance-row {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.7rem;
    border: 1px solid var(--border-default, #e6e1ee);
    border-left-width: 4px;
    border-radius: 6px;
    background: var(--bg-subtle, #faf9fc);
    cursor: pointer;
    transition: background-color 120ms ease, transform 120ms ease;
}
.bh-rebalance-row:hover {
    background: var(--bg-purple-tint, #f0ebf7);
    transform: translateX(2px);
}
.bh-rebalance-row.severity-mild     { border-left-color: #fd7e14; }
.bh-rebalance-row.severity-moderate { border-left-color: #e8590c; }
.bh-rebalance-row.severity-severe   { border-left-color: var(--brand-danger, #ed174c); }
.bh-rebalance-row-name { font-weight: 600; color: var(--brand-primary, #3d1a6f); flex: 0 0 auto; }
.bh-rebalance-row-role {
    font-size: 0.7rem;
    padding: 1px 7px;
    border-radius: 999px;
    background: rgba(61,26,111,0.10);
    color: var(--brand-primary, #3d1a6f);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.bh-rebalance-row-month { font-size: 0.85rem; color: var(--text-muted, #666); flex: 1 1 auto; }
.bh-rebalance-row-over {
    font-weight: 700;
    color: var(--brand-danger, #ed174c);
    font-variant-numeric: tabular-nums;
    flex: 0 0 auto;
}
.bh-rebalance-row-chevron { color: var(--text-muted, #999); flex: 0 0 auto; }
[data-theme="dark"] .bh-rebalance-row {
    background: var(--bg-muted, #2a2438);
    border-color: var(--border-default, #3a3450);
}
[data-theme="dark"] .bh-rebalance-row:hover {
    background: rgba(167, 107, 223, 0.12);
}
[data-theme="dark"] .bh-rebalance-row-name { color: #c9b3eb; }
[data-theme="dark"] .bh-rebalance-row-role { background: rgba(167,107,223,0.18); color: #c9b3eb; }

/* Rebalance drill-in modal */
.bh-rb-kpi-row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.5rem;
    margin-bottom: 1rem;
}
@media (max-width: 700px) {
    .bh-rb-kpi-row { grid-template-columns: repeat(2, 1fr); }
}
.bh-rb-kpi {
    padding: 0.6rem;
    border: 1px solid var(--border-default, #e6e1ee);
    border-radius: 6px;
    text-align: center;
    background: var(--bg-subtle, #faf9fc);
}
.bh-rb-kpi-value {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--brand-primary, #3d1a6f);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}
.bh-rb-kpi-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted, #666);
    margin-top: 0.2rem;
}
.bh-rb-kpi.is-committed .bh-rb-kpi-value { color: #3d1a6f; }
.bh-rb-kpi.is-forecast  .bh-rb-kpi-value { color: #a76bdf; }
.bh-rb-kpi.is-leave     .bh-rb-kpi-value { color: #fdb913; }
.bh-rb-kpi.is-available .bh-rb-kpi-value { color: #28a745; }
.bh-rb-kpi.is-over .bh-rb-kpi-value { color: var(--brand-danger, #ed174c); }
[data-theme="dark"] .bh-rb-kpi { background: var(--bg-muted, #2a2438); border-color: var(--border-default, #3a3450); }
[data-theme="dark"] .bh-rb-kpi-value { color: #c9b3eb; }

.bh-rb-headroom {
    text-align: center;
    margin-bottom: 1rem;
    padding: 0.5rem;
    border-radius: 6px;
}
.bh-rb-headroom.is-over { background: rgba(237,23,76,0.10); color: var(--brand-danger, #ed174c); }
.bh-rb-headroom.is-ok   { background: rgba(40,167,69,0.10); color: #28a745; }
.bh-rb-headroom strong { font-size: 1.1rem; font-variant-numeric: tabular-nums; }

.bh-rb-section-title {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted, #666);
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    padding-bottom: 0.3rem;
    border-bottom: 1px solid var(--border-default, #e6e1ee);
}

/* Activity rows (collapsible, slider inside) */
.bh-rb-activity-list { display: flex; flex-direction: column; gap: 0.3rem; }
.bh-rb-activity {
    border: 1px solid var(--border-default, #e6e1ee);
    border-radius: 6px;
    background: var(--bg-card, var(--bg-surface, #ffffff));
    overflow: hidden;
}
.bh-rb-activity-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.7rem;
    cursor: pointer;
    user-select: none;
}
.bh-rb-activity-head:hover { background: var(--bg-purple-tint, #f0ebf7); }
.bh-rb-activity-chevron {
    transition: transform 150ms ease;
    color: var(--text-muted, #666);
    flex: 0 0 auto;
}
.bh-rb-activity.is-open > .bh-rb-activity-head .bh-rb-activity-chevron { transform: rotate(90deg); }
.bh-rb-activity-name { flex: 1 1 auto; font-weight: 600; color: var(--brand-primary, #3d1a6f); }
.bh-rb-activity-meta { font-size: 0.78rem; color: var(--text-muted, #666); flex: 0 0 auto; }
/* 2026-05-18 Item A: per-activity Edit launcher (Rebalance modal -> Modal v2). */
.bh-rb-activity-edit {
    flex: 0 0 auto;
    border: 1px solid var(--border-default, #e6e1ee);
    background: var(--bg-surface, #fff);
    color: var(--brand-primary, #3d1a6f);
    width: 28px;
    height: 28px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
    padding: 0;
}
.bh-rb-activity-edit:hover {
    background: var(--brand-primary, #3d1a6f);
    color: #fff;
    border-color: var(--brand-primary, #3d1a6f);
}
[data-theme="dark"] .bh-rb-activity-edit {
    background: var(--bg-muted, #2a2438);
    border-color: var(--border-default, #3a3450);
    color: #c9b3eb;
}
[data-theme="dark"] .bh-rb-activity-edit:hover { background: #c9b3eb; color: #2a2438; }
.bh-rb-activity-tag {
    display: inline-block;
    font-size: 0.65rem;
    padding: 1px 6px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-right: 0.4rem;
    font-weight: 700;
}
.bh-rb-activity-tag.committed { background: rgba(61,26,111,0.12); color: #3d1a6f; }
.bh-rb-activity-tag.forecast  { background: rgba(167,107,223,0.18); color: #6f42c1; }
.bh-rb-activity-body {
    padding: 0.7rem;
    border-top: 1px solid var(--border-default, #e6e1ee);
    display: none;
}
.bh-rb-activity.is-open > .bh-rb-activity-body { display: block; }
[data-theme="dark"] .bh-rb-activity { background: var(--bg-muted, #2a2438); border-color: var(--border-default, #3a3450); }
[data-theme="dark"] .bh-rb-activity-name { color: #c9b3eb; }
[data-theme="dark"] .bh-rb-activity-tag.committed { background: rgba(167,107,223,0.18); color: #c9b3eb; }
[data-theme="dark"] .bh-rb-activity-tag.forecast  { background: rgba(201,179,235,0.18); color: #c9b3eb; }

/* -----------------------------------------------------------------------------
   Rebalance modal -- expanded-row Team SHAPE bar + Distribution CURVE picker
   (2026-05-18 parity with Modal v2 Team + Distribution tabs).
   Per-activity blocks live INSIDE bh-rb-activity-body so each expanded row owns
   its own shape/curve UI. DOM IDs prefixed rbAct{activityId}_ to avoid clashes
   with Modal v2's hard-coded ae* IDs (both can mount on the same page).
   ----------------------------------------------------------------------------- */
.bh-rb-shape-bar {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 0.35rem; padding: 0.35rem 0.5rem; margin-bottom: 0.5rem;
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-default, #e6e1ee);
    border-radius: 6px;
}
.bh-rb-shape-bar .bh-rb-shape-label { font-size: 0.78rem; color: var(--text-muted, #6c757d); margin-right: 0.2rem; }
.bh-rb-shape-bar .bh-rb-shape-hint { font-size: 0.72rem; color: var(--text-muted, #6c757d); margin-left: auto; font-style: italic; }
[data-theme="dark"] .bh-rb-shape-bar { background: var(--bg-muted, #2a2438); border-color: var(--border-default, #3a3450); }
[data-theme="dark"] .bh-rb-shape-bar .bh-rb-shape-label,
[data-theme="dark"] .bh-rb-shape-bar .bh-rb-shape-hint { color: #c9b3eb; }

.bh-rb-curve-section {
    margin-top: 0.75rem; padding-top: 0.6rem;
    border-top: 1px dashed var(--border-default, #e6e1ee);
}
.bh-rb-curve-section .bh-rb-curve-heading {
    display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap;
    font-size: 0.85rem; font-weight: 600; color: var(--brand-primary, #3d1a6f);
    margin-bottom: 0.4rem;
}
.bh-rb-curve-applyto {
    display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem;
    margin-bottom: 0.5rem;
}
.bh-rb-curve-applyto .bh-rb-applyto-label { font-size: 0.78rem; color: var(--text-muted, #6c757d); }
.bh-rb-curve-applyto select { max-width: 220px; }

.bh-rb-curve-picker {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
}
@media (max-width: 600px) { .bh-rb-curve-picker { grid-template-columns: repeat(2, 1fr); } }
.bh-rb-curve-card {
    border: 2px solid var(--border-default, #e6e1ee); border-radius: 6px;
    padding: 0.4rem 0.5rem 0.35rem; cursor: pointer;
    background: var(--bg-card, #fff);
    transition: border-color 0.12s, box-shadow 0.12s;
    user-select: none;
}
.bh-rb-curve-card:hover { border-color: var(--brand-primary, #3d1a6f); }
.bh-rb-curve-card.is-active { border-color: var(--brand-primary, #3d1a6f); box-shadow: 0 0 0 2px rgba(61, 26, 111, 0.12); }
.bh-rb-curve-card .rcc-title { font-size: 0.78rem; font-weight: 600; color: var(--text-primary, #212529); margin-bottom: 1px; }
.bh-rb-curve-card .rcc-sub { font-size: 0.66rem; color: var(--text-muted, #6c757d); margin-bottom: 3px; }
.bh-rb-curve-card .rcc-mini { display: block; width: 100%; height: 24px; }
.bh-rb-curve-card .rcc-mini rect { fill: var(--brand-accent, #fdb913); }
.bh-rb-curve-card.is-active .rcc-mini rect { fill: var(--brand-primary, #3d1a6f); }
[data-theme="dark"] .bh-rb-curve-card { background: var(--bg-muted, #2a2438); border-color: var(--border-default, #3a3450); }
[data-theme="dark"] .bh-rb-curve-card .rcc-title { color: #ede7f5; }
[data-theme="dark"] .bh-rb-curve-card .rcc-sub { color: #c9b3eb; }

.bh-rb-curve-preview {
    margin-top: 0.5rem; padding: 8px 10px 4px; min-height: 140px;
    background: var(--bg-subtle, #f8f9fa);
    border: 1px solid var(--border-default, #e6e1ee);
    border-radius: 6px;
}
.bh-rb-curve-preview .bh-rb-prev-bars { display: flex; align-items: stretch; gap: 6px; height: 110px; padding: 4px 4px 0; }
.bh-rb-curve-preview .bh-rb-prev-bars .bar-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; }
.bh-rb-curve-preview .bh-rb-prev-bars .bar-val { font-size: 0.7rem; font-weight: 600; color: var(--text-body, #1e1e1e); margin-bottom: 2px; height: 14px; line-height: 14px; }
.bh-rb-curve-preview .bh-rb-prev-bars .bar-wrap { flex: 1 1 auto; width: 60%; max-width: 60px; display: flex; align-items: end; background: rgba(0,0,0,0.04); border-radius: 3px 3px 0 0; }
.bh-rb-curve-preview .bh-rb-prev-bars .bar { width: 100%; background: var(--brand-accent, #fdb913); border-radius: 3px 3px 0 0; transition: height 0.15s ease; min-height: 2px; }
.bh-rb-curve-preview .bh-rb-prev-bars .bar-date { font-size: 0.62rem; color: var(--text-muted, #6b6378); margin-top: 4px; height: 12px; }
.bh-rb-curve-preview .bh-rb-prev-subtitle { font-size: 0.72rem; color: var(--text-muted, #6c757d); margin-top: 4px; padding-left: 4px; }
.bh-rb-curve-preview .bh-rb-prev-empty { color: var(--text-muted, #6c757d); font-size: 0.78rem; padding: 12px; text-align: center; font-style: italic; }
[data-theme="dark"] .bh-rb-curve-preview { background: var(--bg-muted, #2a2438); border-color: var(--border-default, #3a3450); }
[data-theme="dark"] .bh-rb-curve-preview .bh-rb-prev-bars .bar-wrap { background: rgba(255,255,255,0.05); }
[data-theme="dark"] .bh-rb-curve-preview .bh-rb-prev-subtitle { color: #c9b3eb; }

.bh-rb-custom-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.4rem; }
.bh-rb-custom-toolbar-spacer { flex: 1 1 auto; }
.bh-rb-custom-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0.35rem; margin-top: 0.4rem; }
.bh-rb-custom-grid .rcg-cell { display: flex; flex-direction: column; align-items: stretch; }
.bh-rb-custom-grid .rcg-cell label { font-size: 0.65rem; color: var(--text-muted, #6c757d); margin-bottom: 1px; }
.bh-rb-custom-grid .rcg-cell .rcg-input-row { display: flex; align-items: center; gap: 6px; }
.bh-rb-custom-grid .rcg-cell .rcg-input-row input[type="range"] { flex: 1 1 60%; min-width: 0; accent-color: var(--brand-primary, #3d1a6f); }
.bh-rb-custom-grid .rcg-cell .rcg-input-row input[type="number"] { flex: 0 0 60px; font-size: 0.78rem; padding: 2px 4px; height: 26px; }
.bh-rb-custom-sum { font-size: 0.72rem; margin-top: 4px; }
.bh-rb-custom-sum.is-warn { color: var(--state-warning-text, #b07d0e); }
.bh-rb-custom-sum.is-ok { color: var(--state-success-text, #28a745); }

/* -----------------------------------------------------------------------------
   Awaiting First Activity (Phase 3 of 2026-05-18-key-contact-plus-empty-state-plan)
   Overview tile drilldown panel + Plan sub-pill empty-state banner. Surfaces
   Active engagements with no stories yet so the GAD sees them at-a-glance and
   can land in Plan with the activity modal already open.
   ----------------------------------------------------------------------------- */
.bh-awaiting-panel {
    background: linear-gradient(135deg, rgba(253, 185, 19, 0.08) 0%, rgba(253, 185, 19, 0.03) 100%);
    border: 1px solid var(--brand-gold, #fdb913);
    border-left: 4px solid var(--brand-gold, #fdb913);
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    box-shadow: 0 1px 4px rgba(61, 26, 111, 0.06);
}
.bh-awaiting-header {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%;
    background: transparent;
    border: 0;
    padding: 0.35rem 0.25rem;
    cursor: pointer;
    color: var(--brand-primary, #3d1a6f);
    font-weight: 600;
    font-size: 0.95rem;
    text-align: left;
}
.bh-awaiting-header:hover { color: var(--brand-gold-dark, #c89500); }
.bh-awaiting-header:focus { outline: 2px solid var(--brand-gold, #fdb913); outline-offset: 2px; }
.bh-awaiting-title { display: inline-flex; align-items: center; }
.bh-awaiting-chev { color: var(--brand-primary, #3d1a6f); font-size: 0.85rem; transition: transform 0.15s ease; }
.bh-awaiting-list { display: flex; flex-direction: column; gap: 0.25rem; margin-top: 0.4rem; padding-top: 0.4rem; border-top: 1px solid rgba(253, 185, 19, 0.25); }
.bh-awaiting-row {
    display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
    padding: 0.3rem 0.6rem;
    background: var(--card-bg, #fff);
    border: 1px solid var(--border-default, #e1e1e6);
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.12s ease, border-color 0.12s ease;
    font-size: 0.85rem;
    line-height: 1.4;
}
.bh-awaiting-row:hover {
    background: rgba(253, 185, 19, 0.06);
    border-color: var(--brand-gold, #fdb913);
}
.bh-awaiting-row-text { flex: 1 1 auto; color: var(--text-body, #555); min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bh-awaiting-row-signed { color: var(--text-muted, #888); font-size: 0.75rem; margin-left: 0.5rem; }
.bh-awaiting-add { padding: 0.1rem 0.55rem !important; font-size: 0.75rem !important; line-height: 1.3 !important; flex: 0 0 auto; }

/* Plan sub-pill empty-state banner */
.bh-plan-empty-banner {
    display: flex; align-items: center; gap: 1rem;
    background: var(--bg-slate-tint, #f1f3f5);
    border: 1px solid var(--border-default, #e1e1e6);
    border-left: 4px solid var(--brand-gold, #fdb913);
    border-radius: 8px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1rem;
}
.bh-plan-empty-icon {
    font-size: 2rem; color: var(--brand-primary, #3d1a6f);
    flex: 0 0 auto;
}
.bh-plan-empty-text { flex: 1 1 auto; }
.bh-plan-empty-text h4 { color: var(--brand-primary, #3d1a6f); font-weight: 600; }
.bh-plan-empty-sub { color: var(--text-muted, #666); font-size: 0.95rem; }
.bh-plan-empty-cta { flex: 0 0 auto; }

[data-theme="dark"] .bh-awaiting-panel,
[data-theme="dark"] .bh-plan-empty-banner {
    background: var(--bg-muted, #2a2438);
    border-color: var(--border-default, #3a3450);
}
[data-theme="dark"] .bh-awaiting-row {
    background: var(--card-bg, #1c1a22);
    border-color: var(--border-default, #3a3450);
}
[data-theme="dark"] .bh-awaiting-row:hover {
    background: var(--bg-muted, #3a3450);
}
[data-theme="dark"] .bh-awaiting-header h4,
[data-theme="dark"] .bh-plan-empty-text h4,
[data-theme="dark"] .bh-plan-empty-icon { color: #c9b3eb; }

/* =============================================================
   Stage J (2026-05-18): Promotion Capacity Diff modal
   GAD "what-if" confidence check before promoting Forecast -> Committed.
   ============================================================= */
.bh-promote-diff-modal .bh-promote-diff-subtitle {
    border-bottom: 1px solid var(--border-default, #eaeaea);
}
.bh-promote-diff-actname {
    font-weight: 600;
    color: var(--text-body, #555);
    font-size: 1.05rem;
    margin-bottom: 0.25rem;
}
.bh-promote-diff-meta {
    color: var(--text-muted, #6c757d);
    font-size: 0.85rem;
}
.bh-promote-diff-meta strong { color: var(--text-body, #555); }

.bh-promote-diff-resources {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.75rem;
}
.bh-promote-diff-resource-row {
    display: grid;
    grid-template-columns: 1fr 240px;
    gap: 0.75rem;
    align-items: center;
    padding: 0.6rem 0.75rem;
    background: var(--card-bg, #f8f5fb);
    border: 1px solid var(--border-default, #e3d8ec);
    border-radius: 6px;
}
.bh-promote-diff-resource-head {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.bh-promote-diff-resource-name {
    font-weight: 600;
    color: var(--text-body, #555);
}
.bh-promote-diff-resource-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
}
.bh-promote-diff-resource-numbers {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    font-size: 0.8rem;
    color: var(--text-body, #555);
    padding-top: 0.4rem;
    border-top: 1px dashed var(--border-default, #eaeaea);
}
.bh-promote-diff-num-lbl {
    font-weight: 600;
    color: var(--text-muted, #6c757d);
    margin-right: 0.25rem;
}

.bh-promote-diff-chart {
    grid-row: 1 / span 1;
    grid-column: 2 / 3;
    justify-self: end;
}
.bh-promote-diff-svg {
    display: block;
    width: 240px;
    height: 110px;
}

/* Bar segment colours -- match the Schedule sub-pill (Forecast/Committed) palette. */
.bh-promote-diff-bar-committed { fill: #3d1a6f; }
.bh-promote-diff-bar-forecast  { fill: #a76bdf; opacity: 0.85; }
.bh-promote-diff-bar-free      { fill: #d8f3e5; opacity: 0.6; }
.bh-promote-diff-bar-over      { fill: #ed174c; opacity: 0.65; }
.bh-promote-diff-cap-line {
    stroke: #2a2436;
    stroke-width: 1.5;
    stroke-dasharray: 4 3;
    opacity: 0.85;
}
.bh-promote-diff-bar-label {
    font-size: 10px;
    fill: var(--text-muted, #6c757d);
    font-family: inherit;
}

/* Chips */
.bh-promote-diff-chip {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.4;
}
.bh-promote-diff-chip--committed {
    background: #3d1a6f;
    color: #fff;
}
.bh-promote-diff-chip--forecast {
    background: rgba(167, 107, 223, 0.18);
    color: #5c2a96;
}

/* Delta + warning */
.bh-promote-diff-delta {
    font-size: 0.78rem;
    color: var(--text-muted, #6c757d);
}
.bh-promote-diff-delta--inc {
    color: #28a745;
    font-weight: 600;
}
.bh-promote-diff-warn {
    display: inline-flex;
    align-items: center;
    background: rgba(237, 23, 76, 0.10);
    color: var(--brand-danger, #ed174c);
    padding: 0.1rem 0.45rem;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 600;
}

/* Explainer footer line */
.bh-promote-diff-explainer { font-size: 0.78rem; }

/* Footer bar layout */
.bh-promote-diff-footer-bar {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
}

/* Mobile compact */
@media (max-width: 768px) {
    .bh-promote-diff-resource-row {
        grid-template-columns: 1fr;
    }
    .bh-promote-diff-chart {
        grid-column: 1 / -1;
        justify-self: stretch;
    }
    .bh-promote-diff-svg { width: 100%; }
    .bh-promote-diff-footer-bar { flex-direction: column-reverse; align-items: stretch; }
    .bh-promote-diff-footer-bar .btn { width: 100%; }
}

/* Dark mode tokens */
[data-theme="dark"] .bh-promote-diff-resource-row {
    background: var(--card-bg, #1c1a22);
    border-color: var(--border-default, #3a3450);
}
[data-theme="dark"] .bh-promote-diff-meta,
[data-theme="dark"] .bh-promote-diff-num-lbl,
[data-theme="dark"] .bh-promote-diff-bar-label,
[data-theme="dark"] .bh-promote-diff-delta { color: #c9b3eb; }
[data-theme="dark"] .bh-promote-diff-resource-numbers { border-top-color: #3a3450; }
[data-theme="dark"] .bh-promote-diff-bar-committed { fill: #c79bf2; }
[data-theme="dark"] .bh-promote-diff-bar-forecast  { fill: #7a4eb0; opacity: 0.85; }
[data-theme="dark"] .bh-promote-diff-bar-free      { fill: #2d4a39; opacity: 0.5; }
[data-theme="dark"] .bh-promote-diff-cap-line      { stroke: #e6e0f0; }
[data-theme="dark"] .bh-promote-diff-chip--committed { background: #c79bf2; color: #1c1a22; }
[data-theme="dark"] .bh-promote-diff-chip--forecast  { background: rgba(199, 155, 242, 0.20); color: #d6bbf2; }

/* =========================================================================
   Phase 5 Task 5.2 -- Activity Modal Distribution-tab panel switcher
   Cap Impact table + Flex-Hours Cap Status chips. Bi-Monthly cadence note
   reuses existing text styling. Dark-mode via theme-tokens.css.
   ========================================================================= */
.bh-cap-impact-table { font-size: 0.875rem; margin-bottom: 0; }
.bh-cap-impact-table .over { color: var(--status-danger-text, #c5221f); font-weight: 600; }
.bh-cap-impact-table .ok { color: var(--text-muted, #6c757d); }
.bh-cap-impact-table tr.is-over { background: rgba(197, 34, 31, 0.06); }

.bh-cap-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.bh-cap-chip {
    display: inline-flex; align-items: center; gap: 0.35rem;
    padding: 0.25rem 0.6rem; border-radius: 999px;
    font-size: 0.8125rem; line-height: 1.2;
    background: var(--surface-alt, #f1f3f5);
    color: var(--text-primary, #212529);
    border: 1px solid var(--border-color, #dee2e6);
}
.bh-cap-chip.is-over {
    background: rgba(197, 34, 31, 0.10);
    color: var(--status-danger-text, #c5221f);
    border-color: var(--status-danger-text, #c5221f);
    font-weight: 600;
}
.bh-cap-chip .bh-cap-chip-label { opacity: 0.75; }

@media (max-width: 768px) {
    .bh-cap-impact-table { font-size: 0.78rem; }
    .bh-cap-impact-table th, .bh-cap-impact-table td { padding: 0.35rem 0.4rem; }
    .bh-cap-impact-table th:nth-child(3),
    .bh-cap-impact-table td:nth-child(3) { display: none; }
    .bh-cap-chips { gap: 0.35rem; }
    .bh-cap-chip { font-size: 0.78rem; padding: 0.2rem 0.5rem; }
}

/* =========================================================================
   Rolling Forecast (Phase 4 Task 4.2 -- 2026-05-23)
   Spec: .claude/commands/2026-05-22-rolling-forecast-with-actuals.md
   Markup: Pages/Planning/EngagementHub.aspx#bhRollingForecast{Banner,History,Future}
   ========================================================================= */

.bh-rf-banner {
    background: var(--surface-alt, #f1f3f5);
    border: 1px solid var(--border-color, #dee2e6);
    border-radius: 0.375rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
}

.bh-rf-banner-content {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.bh-rf-tag {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    background: var(--brand-primary, #3d1a6f);
    color: #fff;
    border-radius: 999px;
    font-size: 0.75rem;
    line-height: 1.4;
    white-space: nowrap;
}

.bh-rf-summary {
    color: var(--text-primary, #212529);
}

.bh-rf-overdeliv {
    margin-top: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: var(--status-danger-bg, rgba(197, 34, 31, 0.10));
    color: var(--status-danger-text, #c5221f);
    border-radius: 0.25rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.bh-rf-overdeliv .btn {
    /* Override default btn-outline-light on the danger background.
       Surface flips to dark in dark mode so the rose --status-danger-text
       stays readable -- a naked #fff here would go light-on-light. */
    color: var(--status-danger-text, #c5221f);
    background: var(--bg-surface, #fff);
    border-color: currentColor;
}

.bh-rf-history,
.bh-rf-future {
    padding: 0.5rem;
    border-radius: 0.25rem;
    background: var(--surface, #fff);
    border: 1px solid var(--border-color, #dee2e6);
}

.bh-rf-row {
    display: grid;
    grid-template-columns: 5rem 4rem 1fr 4rem 1fr 6rem;
    gap: 0.5rem;
    align-items: center;
    padding: 0.25rem 0;
    font-size: 0.875rem;
    border-bottom: 1px solid var(--border-color, #dee2e6);
}

.bh-rf-row:last-child {
    border-bottom: 0;
}

.bh-rf-row-label {
    color: var(--text-muted, #6c757d);
    font-variant-numeric: tabular-nums;
}

.bh-rf-bar {
    height: 0.85rem;
    border-radius: 0.2rem;
    overflow: hidden;
    background: var(--surface-alt, #f1f3f5);
}

.bh-rf-bar-fill {
    height: 100%;
    transition: width 0.15s ease;
}

.bh-rf-bar-fill.forecast {
    background: var(--text-muted, #6c757d);
}

.bh-rf-bar-fill.actual-under {
    background: var(--brand-primary, #3d1a6f);
}

.bh-rf-bar-fill.actual-over {
    background: var(--status-danger-text, #c5221f);
}

.bh-rf-delta {
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
}

.bh-rf-delta.over {
    color: var(--status-danger-text, #c5221f);
}

.bh-rf-delta.under {
    color: var(--text-muted, #6c757d);
}

.bh-rf-delta.on-plan {
    color: var(--brand-primary, #3d1a6f);
}

.bh-rf-future-row {
    display: grid;
    grid-template-columns: 5rem 4rem 1fr 6rem;
    gap: 0.5rem;
    align-items: center;
    padding: 0.25rem 0;
    font-size: 0.875rem;
}

.bh-rf-future-row input[type="number"] {
    width: 5rem;
    padding: 0.15rem 0.35rem;
    font-size: 0.875rem;
}

/* GFS time model: coarse (month/quarter/year) buckets are read-only -- a static
   planned value instead of an editable input. Italic label distinguishes the
   coarse far-future window from the editable weekly near-term. */
.bh-rf-planned-ro {
    color: var(--text-secondary, #6c757d);
    font-weight: 600;
}
.bh-rf-future-row.bh-rf-gran-month .bh-rf-row-label,
.bh-rf-future-row.bh-rf-gran-quarter .bh-rf-row-label,
.bh-rf-future-row.bh-rf-gran-year .bh-rf-row-label {
    font-style: italic;
}

.bh-rf-future-actions {
    display: flex;
    gap: 0.5rem;
}

/* Phase 5 Task 5.2: per-resource forecast-vs-actual bars in the rebalance modal. */
.bh-rf-resource-bars {
    margin-bottom: 0.75rem;
}
.bh-rf-resource-bars:empty {
    display: none;
}
.bh-rf-section-title {
    margin-bottom: 0.25rem;
}
.bh-rf-resource-head {
    margin: 0.5rem 0 0.15rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-color, #212529);
    word-break: break-all;
}

@media (max-width: 768px) {
    .bh-rf-row {
        grid-template-columns: 4rem 1fr 1fr 5rem;
    }
    /* Hide raw F: / A: numeric labels on mobile -- bars + delta still tell the story */
    .bh-rf-row > .bh-rf-row-forecast-num,
    .bh-rf-row > .bh-rf-row-actual-num {
        display: none;
    }
    .bh-rf-future-row {
        grid-template-columns: 4rem 4rem 1fr 5rem;
    }
}

/*
 * skeletons.css -- shared skeleton-loader shapes used while AJAX responses are in flight.
 * Shape variants: card, line, row, bar (horizontal / vertical), donut, stat, timeline-bar.
 * Shimmer animation is shared. Tokens flip in dark mode via var() fallbacks.
 */

@keyframes skel-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Shimmering surface used by every variant. */
.skel-shimmer,
.skel-line,
.skel-row,
.skel-bar-h,
.skel-bar-v,
.skel-donut,
.skel-stat-value,
.skel-timeline-bar,
.skel-sched-name,
.skel-sched-blocks > span,
.skel-cap-chart,
.skel-leave-strip-label,
.skel-leave-day,
.skel-holiday-month-label,
.skel-holiday-chip-date {
    background: linear-gradient(90deg,
        var(--bg-subtle, #f0f0f0) 0%,
        var(--bg-muted, #e0e0e0) 50%,
        var(--bg-subtle, #f0f0f0) 100%);
    background-size: 200% 100%;
    animation: skel-shimmer 1.4s ease-in-out infinite;
    border-radius: 3px;
}

/* Card placeholder -- matches a kanban card / list card / dashboard card. */
.skel-card {
    background: var(--bg-surface, #fff);
    border-radius: 6px;
    padding: 0.75rem;
    margin-bottom: 0.5rem;
    border-left: 3px solid var(--border-light, #e9ecef);
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

/* Story-selector card placeholder -- mirrors .storyboximage + .storybox shell
   produced by Scripts/story-selector.js. Sized + positioned identically so the
   row doesn't reflow when real cards land. */
.skel-story-card {
    width: 280px;
    height: 200px;
    margin-top: 30px;
    margin-left: 10%;
    border-radius: 3px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
    /* Fixed gradient to match loaded .storybox (rgba(0,0,0,0.7) over purple
       overlay) -- intentionally does NOT flip in dark mode because the real
       card doesn't either. */
    background: linear-gradient(135deg, #3d1a6f 0%, #2a1250 100%);
    position: relative;
    overflow: hidden;
}
.skel-story-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.10) 50%,
        rgba(255,255,255,0) 100%);
    background-size: 200% 100%;
    animation: skel-shimmer 1.4s ease-in-out infinite;
    pointer-events: none;
}
.skel-story-card-inner {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 14px 16px 12px;
}
.skel-story-title-top {
    width: 55%;
    height: 12px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.22);
    margin-top: 4px;
}
.skel-story-badge {
    width: 96px;
    height: 22px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.28);
    margin-top: auto;
    margin-bottom: 32px;
}
.skel-story-title-bottom {
    width: 70%;
    height: 12px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.22);
    margin-bottom: 6px;
}

/* Single line of placeholder text. Width modifiers control how complete the line looks. */
.skel-line {
    height: 0.65rem;
    margin-bottom: 0.4rem;
}
.skel-line.w-30 { width: 30%; }
.skel-line.w-40 { width: 40%; }
.skel-line.w-50 { width: 50%; }
.skel-line.w-60 { width: 60%; }
.skel-line.w-70 { width: 70%; }
.skel-line.w-80 { width: 80%; }
.skel-line.w-90 { width: 90%; }
.skel-line:last-child { margin-bottom: 0; }

/* Table row placeholder. Use inside a <tr><td colspan="N">. */
.skel-row {
    height: 1.5rem;
    width: 100%;
    margin-bottom: 0.35rem;
}

/* Horizontal bar -- conversion funnel, stage duration, leaderboard rows. */
.skel-bar-h {
    height: 1.5rem;
    width: 100%;
    margin-bottom: 0.6rem;
    border-radius: 3px;
}
.skel-bar-h.w-90 { width: 90%; }
.skel-bar-h.w-70 { width: 70%; }
.skel-bar-h.w-50 { width: 50%; }
.skel-bar-h.w-35 { width: 35%; }
.skel-bar-h.w-20 { width: 20%; }

/* Vertical bar -- Pipeline Value Over Time chart. */
.skel-bar-v {
    width: 100%;
    max-width: 50px;
    border-radius: 4px 4px 0 0;
}
.skel-bar-v-group {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    height: 160px;
    padding: 0.5rem 0;
}
.skel-bar-v-group > div {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
}

/* Donut chart placeholder -- Win/Loss widget. */
.skel-donut {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    margin: 1rem auto;
    /* Override the linear-gradient shimmer with a radial mask so it reads as a ring. */
    background:
        radial-gradient(circle at center, var(--bg-surface, #fff) 0 38%, transparent 38%),
        linear-gradient(90deg,
            var(--bg-subtle, #f0f0f0) 0%,
            var(--bg-muted, #e0e0e0) 50%,
            var(--bg-subtle, #f0f0f0) 100%);
    background-size: 100% 100%, 200% 100%;
    animation: skel-shimmer 1.4s ease-in-out infinite;
}

/* KPI tile placeholder -- big-number + small-label stat. */
.skel-stat {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem;
}
.skel-stat-value {
    height: 1.5rem;
    width: 60%;
    border-radius: 3px;
}
.skel-stat-label {
    height: 0.6rem;
    width: 80%;
}

/* Prospect Close Schedule timeline -- horizontal bars stacked by stage. */
.skel-timeline-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.4rem 0;
}
.skel-timeline-row .skel-line { margin: 0; flex-shrink: 0; width: 140px; }
.skel-timeline-bar {
    height: 1.2rem;
    border-radius: 3px;
    flex: 1;
}

/* Compact list-item skeleton -- Stuck Deals, focus lists. */
.skel-list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--border-light, #eee);
}
.skel-list-item:last-child { border-bottom: none; }
.skel-list-item .skel-line { margin: 0; }

/* ============================================================
   Engagement Hub composite shapes -- match the loaded layout
   so the in-flight surface keeps the same visual rhythm as the
   rendered one (resource-name col + week blocks, traffic-light
   month tiles, day-cell calendar strip, date-chip holiday card).
   ============================================================ */

/* Schedule gantt row -- 200px axis name + scattered week-blocks. */
.skel-sched-row {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 0.5rem;
    align-items: center;
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--border-light, #eee);
}
.skel-sched-row:last-child { border-bottom: none; }
.skel-sched-name {
    height: 0.85rem;
    border-radius: 3px;
}
.skel-sched-blocks {
    display: flex;
    gap: 8px;
    align-items: center;
}
.skel-sched-blocks > span {
    height: 22px;
    border-radius: 4px;
    display: inline-block;
}
.skel-sched-blocks > span.w-60  { width: 60px; }
.skel-sched-blocks > span.w-90  { width: 90px; }
.skel-sched-blocks > span.w-120 { width: 120px; }
.skel-sched-blocks > span.w-160 { width: 160px; }

/* Capacity-vs-Scheduled month tile strip (9 traffic-light tiles + chart). */
.skel-cap-strip {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}
.skel-cap-tile {
    flex: 1 1 110px;
    min-height: 78px;
    border-radius: 8px;
    padding: 0.5rem 0.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    justify-content: center;
    background: var(--bg-subtle, #f5f3f8);
    border: 1px solid var(--border-light, #e9ecef);
}
.skel-cap-tile .skel-line { margin: 0; }
.skel-cap-chart {
    height: 240px;
    margin-top: 14px;
    border-radius: 6px;
}

/* 3-month leave strip -- label + day-cell row, x3. */
.skel-leave-strip {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.skel-leave-strip-row {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
}
.skel-leave-strip-label {
    width: 90px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 3px;
}
.skel-leave-strip-days {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    flex: 1 1 auto;
}
.skel-leave-day {
    width: 28px;
    height: 36px;
    border-radius: 4px;
}

/* Public holiday chip grid -- month label + chip cards (date sq + body lines). */
.skel-holiday-grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.skel-holiday-month {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.skel-holiday-month-label {
    width: 90px;
    height: 0.85rem;
    border-radius: 3px;
}
.skel-holiday-items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.5rem;
}
.skel-holiday-chip {
    display: flex;
    align-items: stretch;
    gap: 0.6rem;
    padding: 0.5rem 0.6rem;
    border-radius: 8px;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-default, #e6e1ee);
}
.skel-holiday-chip-date {
    width: 44px;
    height: 44px;
    border-radius: 6px;
    flex-shrink: 0;
}
.skel-holiday-chip-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    justify-content: center;
    min-width: 0;
}
.skel-holiday-chip-body .skel-line { margin: 0; }

/* ============================================================
   Dashboard (Default.aspx) composite helpers -- list-row with
   title/meta + action placeholder, and a 2-up KPI stat grid.
   ============================================================ */
.skel-list-item-text {
    flex: 1 1 auto;
    padding-right: 1rem;
}
.skel-list-item-act {
    flex: 0 0 44px;
    width: 44px;
    height: 1.6rem;
}
.skel-stat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

