:root {
    /* Primary text. Soft↔strong range is used by the Text brightness user setting. */
    --black: #333;
    --black-soft: #696969;
    --black-strong: #000000;
    --ablack: #111;
    --black-nav: #5c6573;
    --fullblack: #000;
    --white: #fff;
    --light-white: #fafafa;
    --new-white: #fff;
    --xwhite: #fff;
    --awhite: #fff;
    --primary: #1976D2;
    /*  old - #26a4d1 */
    --complimentary: orange;
    --warning: #F44336;
    --orange: darkorange;
    --warning-hover: #d31204;
    --primary-color: #26a4d1;
    --background-color: #f3f3f3;
    --bgc: var(--background-color);
    --bg: #eff0f1;
    --extra-light: #e4e4e4;
    --hover-item: var(--extra-light);
    --hover-light: #ebebeb;
    --label: #333;
    --light-plus: #d8d8d8;
    --icon-color: #656565;
    --lightgrey: lightgrey;
    --light-glass: rgba(255, 255, 255, 0.87);
    --light-glass-border: 1px solid var(--light-border);
    --veryvery-light: #fafafa;
    --selected-tab: #4f7294;
    --hovered-tab: #0e2a3e;
    --topbar-bg: #141414;
    --backlog: #a4a4a4;
    --prioritized: #2196f3;
    --inprogress: #8bc34a;
    --review: #009688;
    --closed: black;
    --light: #d0cfcc;
    --light-text: #747474;
    --more-light: #f5f5f5!important;
    --good: #8BC34A;
    --shadow: #d0d0d0;
    --note: #ffda767d;
    --highlight: #FFC107;
    --selected-highlight: #8BC34A;
    --todo-color: #26a69a;
    --border: #dddddd;
    --vborder: #f7f7f7;
    --subtle: #f4f4f4;
    --light-border: #efefef;
    --scrollbar-track-color: transparent!important;
    --scrollbar-color: #c0c0c0;
    --scrollbar-width: thin;
    --scrollbar-size: .55rem;
    --scrollbar-minlength: 1.5rem;
    --scrollbar-hover: var(--black);
    --teal: #009688;
    --added: #bbffbb!important;
    --removed: #ffbbbb!important;
    --brxs: 3px;
    --border-radius: 25px;
    --border-radius-sm: 15px;
    --border-radius-smallish: 10px;
    --border-radius-tiny: 5px;
    --border-radius-xs: 3px;
    --padding-lg: 25px;
    --box-shadow: 0px 1px 2px var(--shadow);
    --box-shadow-inset: 0px 2px 8px var(--shadow) inset;
    --box-shadow-extra: 0px 2px 8px var(--shadow);
    --box-shadow-large: 0px 1px 40px #575757;
    --body-font: Sora, sans-serif;
    --555: #484848;
    --font-size: 13px;
    --nothing: 'Nothing You Could Do', cursive;
    --item-margin: 10px;
    --margin: 20px;
    --sm-item-margin: 5px;
    --gradient-rainbow: linear-gradient(90deg, #ff0000, #00ff00, #0000ff);
    --gradient-sunset: linear-gradient(135deg, #1dcaff, #ffa800, #ffe849);
    --gradient-ocean: linear-gradient(45deg, #b64f0c, #ffe772);

    /* File-type icon colours. One token per `fti-*` class in fileTypeIcons
       (services.js); the rules that consume them live in spec-item.css.
       Add a token here whenever you add a class there, or the icon falls back
       to the generic --icon-color. */
    --file-pdf: var(--warning);
    --file-doc: var(--primary);
    --file-sheet: var(--good);
    --file-slide: var(--orange);
    --file-image: #8E24AA;
    --file-video: #C2185B;
    --file-audio: var(--todo-color);
    --file-archive: var(--highlight);
    --file-code: var(--selected-tab);
    --file-data: var(--teal);
    --file-text: var(--light-text);
    --file-link: var(--primary-color);
    --file-3d: #7CB342;
    --file-design: #EC407A;
    --file-font: #6D4C41;
    --file-mail: var(--prioritized);
    --file-calendar: #F4511E;
    --file-security: var(--warning-hover);
    --file-package: #2E7D32;
    --file-unknown: var(--icon-color);

    /* AI gradient — the one "this is AI" palette (css/components/ai-gradient.css).
       Anchored on the brand blue, then the Material accents the rest of the app uses. */
    --ai-grad-1: var(--primary);
    --ai-grad-2: #7C4DFF;
    --ai-grad-3: #E040FB;
    --ai-grad-4: #00B0FF;
    --ai-grad-speed: 8s;
    --ai-ring-speed: 6s;
}

:root.dark {
    --black: #eeeeee;
    --black-soft: #b7b7b7;
    --black-strong: #eeeeee;
    --black-nav: var();
    --black-nav: var(--black);
    --white: #121212!important;
    --light-white: #1a1a1a;
    --awhite: #ffffff;
    --xwhite: black;
    --primary: #1976D2;
    /*  old - #26a4d1 */
    --warning: #F44336;
    --warning-hover: #d31204;
    --primary-color: #1976D2;
    --background-color: #333;
    --bgc: var();
    --bgc: var(--background-color);
    --hover-item: var(--extra-light);
    --hover-light: #393939;
    --extra-light: #222;
    --border: #252525;
    --light-border: #232323;
    --vborder: #222222;
    --label: #ccc;
    --light-text: #999;
    --light-glass: rgba(0, 0, 0, .9);
    --very-light-text: #cacaca;
    --light-plus: #333;
    --icon-color: var(--black);
    --lightgrey: #333!important;
    --more-light: #171717!important;
    --very-light: #111;
    --veryvery-light: #121212;
    --selected-tab: #4f7294;
    --hovered-tab: #0e2a3e;
    --topbar-bg: black;
    --light: #333;
    --good: #8BC34A;
    --shadow: #000000;
    --note: #ffda767d;
    --highlight: #ecbf35;
    --scrollbar-color: #4d4d4d;
    --subtle: #191919;
    --box-shadow-large: 0px 1px 40px var(--ablack);

    --file-image: #CE93D8;
    --file-video: #F06292;
    --file-3d: #AED581;
    --file-design: #F48FB1;
    --file-font: #BCAAA4;
    --file-calendar: #FF8A65;
    --file-package: #81C784;

    /* A brighter first stop: the brand blue sinks into a near-black surface. */
    --ai-grad-1: #448AFF;
}

i.material-symbols-outlined {
    color: var(--icon-color);
    font-variation-settings:
      'FILL' 0,
      'wght' 400,
      'GRAD' 0,
      'opsz' 24;
    user-select: none;
}

.active i.material-symbols-outlined,
.selected i.material-symbols-outlined{
    font-variation-settings:
      'FILL' 1,
      'wght' 400,
      'GRAD' 0,
      'opsz' 24;
    user-select: none;
}

nav .active > i.material-symbols-outlined, nav .selected > i.material-symbols-outlined {
    /* font-variation-settings: 'FILL' 0; */
}

.active .ai-action i.material-symbols-outlined {
    font-variation-settings: 'FILL' 0;
}

.gradient-text,
.just-initials {
    /* base styles */
    -webkit-background-clip: text!important;
    -webkit-text-fill-color: transparent;
    background-clip: text!important;
}

.gradient-text.rainbow {
    background: var(--gradient-rainbow); 
}

.gradient-text.sunset {
    background: var(--gradient-sunset);
}

.gradient-text.ocean,
.just-initials {
    background: var(--black);
}

.light-bg {
    background-color: var(--background-color)!important;
}
/* ============================================================================
   EDITOR CHROME — the UI *around* the editor: toolbar, bubble menu, floating
   menu, slash-command menu, drag handles, colour picker, the editor shell.

   CONVENTION (decided 2026-08-17). Tiptap styling has exactly two homes:
     - chrome            -> THIS FILE (css/editors.css)
     - rendered content  -> css/tiptap-contents.css
       (headings, lists, tables, task lists, callouts, blockquotes, inline code)
     - code blocks       -> css/components/code-block.css, which owns the card
       on BOTH surfaces and deliberately outranks the `pre` rules in
       tiptap-contents.css.

   New custom extensions put their chrome here and their content styling in
   tiptap-contents.css. Do not start a third file.

   Both files must appear in index.html's build:app-css block AND in cssFiles in
   gulpfile.js — those are two hand-maintained lists of the same thing, and they
   had drifted far enough that dev and dist rendered the editor differently for
   months (css/tiptap-editor.css was in dist only; THIS file was in dev only).
   css/tiptap-editor.css is the retired chrome sheet, superseded by this one.
   ============================================================================ */

.ql-editor h1 {
    font-size: 23pt!important;
    font-weight: 400!important;
    line-height: 36px!important;
}

.ql-editor h2 {
    font-size: 21pt!important;
    font-weight: 400!important;
    line-height: 34px!important;
}

.ql-editor h3 {
    font-size: 17pt!important;
    font-weight: 400!important;
    line-height: 30px!important;
}

.ql-editor h4 {
    font-size: 21px!important;
    line-height: 28px!important;
}

.ql-editor h5 {
    font-size: 14pt!important;
    font-weight: 400!important;
    line-height: 26px!important;
}

.ql-editor h6 {
    font-size: 12pt!important;
    font-weight: 500!important;
    line-height: 24px!important;
}

.jtsyn-tiptap-editor h1,
.jtsyn-tiptap-editor h2,
.jtsyn-tiptap-editor h3,
.jtsyn-tiptap-editor h4,
.jtsyn-tiptap-editor h5,
.jtsyn-tiptap-editor h6,
.ql-editor h1,
.ql-editor h2,
.ql-editor h3,
.ql-editor h4,
.ql-editor h5,
.ql-editor h6{
    margin-top: 25px!important;
}






.ql-editor pre {
    overflow: auto;
    white-space: break-spaces;
    border: 1px solid var(--light-border);
    padding: 20px;
    box-sizing: border-box;
    border-radius: var(--border-radius-tiny);
    font-size: 12px;
    background-color: var(--light-white);
}

.dark .ql-editor .chat-message  pre {
    border-color: var(--border)!important;
    background-color: var(--background-color);
}

.ql-editor .chat-message  pre {
    border-color: var(--light-border)!important;
    background-color: var(--white);
}

.ql-editor [type="checkbox"]:not(:checked), 
.ql-editor [type="checkbox"]:checked {
    position: relative!important;
    opacity: 1!important;
    pointer-events: all!important;
    margin-right: 7px;
    float: left;
    height: 15px;
    margin-top: 4px;
    line-height: 15px!important;
    background-color: transparent!important;
    border: 1px solid var(--border)!important;
    outline: none;
    width: 15px;
    color: var(--black)!important;
    cursor: pointer;
}


nav .jtsyn-tiptap-editor.oe {
    background-color: var(--background-color);
}

.jtsyn-tiptap-editor [contenteditable=true] {
    min-height: 100px;
}

.jtsyn-tiptap-toolbar {
    margin-bottom: 10px;
    /* margin-left: -15px; */
    /* margin-right: -15px; */
}



























.jtsyn-tiptap-toolbar button {
    background-color: transparent;
    padding: 0 7px;
}

.jtsyn-tiptap-toolbar button:hover i {
    color: var(--black)!important;
}

.research-canvas-editor-wrap .jtsyn-tiptap-toolbar {
    padding: 0px 0px 10px;
    margin-bottom: 0;
    box-sizing: border-box;
    overflow-x: auto;
    white-space: nowrap;
    /* border-bottom: 1px solid var(--light-border); */
}

.dark .research-canvas-editor-wrap .jtsyn-tiptap-toolbar {
    /* background-color: var(--extra-light); */
    /* border-bottom: 1px solid var(--light); */
}

.jtsyn-tiptap-toolbar i {
    font-size: 18px;
    line-height: 25px;
}

.zj-specification-description-edit .jtsyn-tiptap-toolbar {
    padding: 0 20px;
    /* white-space: nowrap; */
    /* overflow-x: auto; */
    margin: 0;
}

.spec-description-edit .jtsyn-tiptap-editor {
    padding: 0 30px 30px;
    box-sizing: border-box;
    height: calc(100dvh - 255px)!important;
    overflow-y: auto;
}

.spec-description-edit .jtsyn-tiptap-editor > [contenteditable] {
    height: 100%;
}

.panel-comments .create-new-post .jtsyn-tiptap-editor {
    height: auto!important;
    padding: 0!important;
}

.panel-comments .create-new-post .jtsyn-tiptap-editor > .tiptap {
    min-height: 80px;
    max-height: calc(100dvh - 405px);
}

.open-editor.distraction-free jtsyn-editor, .open-editor.distraction-free .jtsyn-tiptap-editor {
    height: calc(100dvh - 123px)!important;
    max-height: 100%;
    min-height: 100%;
}

.ideas-detail-description .jtsyn-tiptap-editor {
    height: auto!important;
    background-color: var(--background-color);
    padding: 20px;
    border-radius: var(--border-radius-tiny);
}

.jtsyn-tiptap-bubble-menu button {
    background-color: var(--background-color);
    height: 40px;
    line-height: 50px;
    padding-top: 3px;
}

.jtsyn-tiptap-bubble-menu button i {
    font-size: 15pt;
}

.dark .jtsyn-tiptap-bubble-menu button {
    background-color: var(--extra-light);
}

.jtsyn-tiptap-bubble-menu button:hover {
    background-color: var(--primary);
    color: var(--awhite);
}

.jtsyn-tiptap-bubble-menu button:hover i {
    color: var(--awhite);
}

.jtsyn-slash-menu {
    background-color: var(--xwhite);
    display: flex;
    flex-direction: column;
    max-height: 35dvh;
    overflow-y: auto;
    /* top: unset!important; */
    box-shadow: var(--box-shadow-extra);
    bottom: 0;
    border-radius: var(--border-radius-tiny);
}

.jtsyn-slash-menu .jtsyn-slash-menu-section-header {
    padding: 0 18px!important;
    color: var(--light-text);
    text-transform: uppercase;
    font-size: 10px;
    margin-top: 10px;
}

.jtsyn-slash-menu .jtsyn-slash-menu-item {
    display: flex;
    gap: 15px;
    padding: 12px 20px;
    cursor: pointer;
    align-items: center;
}

.jtsyn-slash-menu .jtsyn-slash-menu-item .ai-icon {
    margin: 0;
}

.jtsyn-slash-menu-item.mention-menu-item.active {
    background-color: var(--extra-light);
}

.jtsyn-slash-menu .jtsyn-slash-menu-item img,
.jtsyn-slash-menu .jtsyn-slash-menu-item svg {
    max-width: 25px;
    border-radius: 3px;
}

.jtsyn-slash-menu-item__title {
    font-weight: 400;
    line-height: 15px;
}

.jtsyn-slash-menu .jtsyn-slash-menu-item.is-selected {
    background-color: var(--extra-light);
}

.jtsyn-slash-menu-item__desc {
    font-size: 12px;
    color: var(--light-text);
}

.jtsyn-slash-menu .jtsyn-slash-menu-item i {
    font-size: 17px;
    margin-top: 0px;
}

.jtsyn-slash-menu .jtsyn-slash-menu-item:hover {
    background-color: var(--background-color);
}

.jtsyn-tiptap-floating-menu button {
    background-color: var(--white);
}

/* ============================================================================
   AI ghost text — the inline autocomplete suggestion decoration.
   Moved here 2026-08-17 from css/tiptap-editor.css, which is retired and not
   loaded by index.html, so this rule had never applied to anything.
   The extension that emits it is still dormant; see AIAutocompleteExtension in
   public_html/js/tiptap/index.js.
   ============================================================================ */

.jtsyn-ai-ghost-text {
	color: var(--light-text);
	opacity: 0.55;
	pointer-events: none;
	user-select: none;
}

/* ============================================================================
   Editor AI — Selection Assist (js/editorAiExtension.js + editorAiPromptBar.js)
   Chrome lives here per the convention at the top of this file.
   ============================================================================ */

.jt-eai {
	position: fixed;
	z-index: 10050;
	width: 400px;
	max-width: calc(100vw - 24px);
	padding: 20px;
	border: 1px solid var(--border, #d8d8d8);
	border-radius: 10px;
	background: var(--white, #fff);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.16);
	font-family: var(--body-font), sans-serif;
}

/* Announced to screen readers, never shown — a decoration is invisible to them. */
.jt-eai-live {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.jt-eai-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 8px;
}

.jt-eai-chip {
	padding: 4px 10px;
	border: 1px solid var(--light-border);
	border-radius: var(--border-radius-xs);
	background: var(--bg, #f4f5f6);
	color: var(--black, #333);
	font-size: 12px;
	line-height: 1.4;
	cursor: pointer;
}

.jt-eai-chip:hover {
	background: var(--hover-item, #e6e6e6);
}

.jt-eai-inputrow {
	display: flex;
	align-items: center;
	gap: 6px;
}

.jt-eai-mode {
	flex: 0 0 auto;
	padding: 4px 8px;
	border: 1px solid var(--light-border);
	border-radius: var(--border-radius-xs);
	background: var(--background-color);
	color: var(--black, #333);
	font-size: 11px;
	font-weight: 600;
	cursor: pointer;
}

.jt-eai-input {
	flex: 1 1 auto;
	min-width: 0;
	height: 50px !important;
	margin: 0 !important;
	padding: 0 10px !important;
	border: 1px solid var(--light-border) !important;
	border-radius: var(--border-radius-xs)!important;
	background: var(--background-color)!important;
	font-size: 13px;
	box-sizing: border-box;
}

.jt-eai-input:focus {
	outline: none;
	border-color: var(--primary, #1976D2) !important;
	box-shadow: none !important;
}

.jt-eai-submit {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 0;
	border-radius: var(--border-radius-xs);
	background: var(--primary, #1976D2);
	cursor: pointer;
}

.jt-eai-submit i {
    color: var(--awhite);
}

.jt-eai-submit .material-symbols-outlined { font-size: 17px; }

.jt-eai-status {
	margin-top: 8px;
	color: var(--black-soft, #696969);
	font-size: 12px;
	line-height: 1.5;
	max-height: 160px;
	overflow-y: auto;
}

.jt-eai[data-state="error"] .jt-eai-status { color: var(--warning, #F44336); }

.jt-eai-actions {
	display: flex;
	gap: 6px;
	margin-top: 8px;
}

.jt-eai-btn {
	padding: 5px 12px;
	border: 1px solid var(--border, #d8d8d8);
	border-radius: 3px;
	background: var(--white, #fff);
	color: var(--black, #333);
	font-size: 12px;
	cursor: pointer;
}

.jt-eai-btn:hover { background: var(--hover-item, #e6e6e6); }

.jt-eai-accept {
	border-color: var(--primary, #1976D2);
	background: var(--primary, #1976D2);
	color: var(--awhite);
}

/* ---- in-document decorations --------------------------------------------- */

/* The span under assist. Kept as a wash rather than a border so it does not
   reflow the line the user is reading. */
.jt-eai-selection {
	background: rgba(25, 118, 210, 0.13);
	border-radius: 2px;
}

/* The original, once a replacement is proposed. Strikethrough is the non-colour
   channel — the review's accessibility finding was that encoding the whole
   accept/reject decision in colour and opacity fails for a lot of people. Opacity
   stays high enough to keep the text readable. */
.jt-eai-selection.jt-eai-outgoing {
	background: rgba(244, 67, 54, 0.10);
	text-decoration: line-through;
	opacity: 0.75;
}

/* The proposal. Not in the document — a widget decoration, so it cannot be
   autosaved, seen by a collaborator, or survive a reload. */
.jt-eai-preview {
	border-left: 3px solid var(--primary, #1976D2);
	margin-left: 4px;
	padding-left: 6px;
	background: rgba(25, 118, 210, 0.07);
	white-space: pre-wrap;
}

@media (prefers-reduced-motion: reduce) {
	.jt-eai,
	.jt-eai-preview,
	.jt-eai-selection {
		transition: none !important;
		animation: none !important;
	}
}

/* Custom SVG icon components rendered by the jtsynAi / jtsynAgents directives. */

/* ---- jtsyn-ai (<jtsyn-ai>) ---- */
.jt-ai {
	width: var(--jt-ai-size, 180px);
	height: auto;
	display: inline-block;
	vertical-align: middle;
}

.jt-ai .jt-ai-word {
	fill: var(--black);
}

.agents-copilot-toggle .jt-ai .jt-ai-word {
    fill: var(--primary);
}

.agents-copilot-toggle .jt-ai .jt-ai-spark {
    stroke: var(--black);
    fill: var(--black);
}

.empty-message .jt-ai .jt-ai-word {
}

.jt-ai .jt-ai-spark {
	fill: var(--jt-ai-spark, var(--primary));
	transform-box: fill-box;
	transform-origin: center;
}

.jt-ai .jt-ai-spin {
	transform-box: fill-box;
	transform-origin: center;
}

/* spin variant: group spins slowly, path pulses at 1.5s */
.jt-ai--spin .jt-ai-spin {
	animation: jt-spin 6s linear infinite;
}

.jt-ai--spin .jt-ai-spark {
	animation: jt-pulse 1.5s ease-in-out infinite alternate;
}

/* pulse only: tilted 25deg, breathing scale */
.jt-ai--pulse .jt-ai-spark {
	transform: rotate(25deg);
	animation: jt-pulse-tilt 1.5s ease-in-out infinite alternate;
}

/* pop-in: plays once on load */
.jt-ai--pop .jt-ai-spark {
	animation: jt-pop 1s cubic-bezier(.2, 1.3, .35, 1);
}

/* none: static, resting 25deg tilt */
.jt-ai--none .jt-ai-spark {
	transform: rotate(25deg);
}

@keyframes jt-spin {
	from { transform: rotate(25deg); }
	to { transform: rotate(385deg); }
}

@keyframes jt-pulse {
	from { transform: scale(.9); }
	to { transform: scale(1); }
}

@keyframes jt-pulse-tilt {
	from { transform: rotate(25deg) scale(.9); }
	to { transform: rotate(25deg) scale(1); }
}

@keyframes jt-pop {
	0% { transform: scale(0) rotate(-40deg); opacity: 0; }
	70% { transform: scale(1.25) rotate(8deg); opacity: 1; }
	100% { transform: scale(1) rotate(0); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.jt-ai .jt-ai-spin,
	.jt-ai .jt-ai-spark { animation: none !important; }

	.jt-ai--spin .jt-ai-spin { transform: rotate(25deg); }
}

/* Helpers for a mark standing in for an icon. The directive copies the host's class
   onto the SVG, so these go straight on <jtsyn-ai class="…">. */
.jt-ai.jt-ai-lead {
	/* before a label, e.g. a section header: "✦ Default model" */
	margin-right: .4em;
}

.jt-ai.jt-ai-hero {
	/* the large mark on an empty state */
	display: block;
	margin: 0 auto 15px;
}

.jt-ai.jt-ai-muted .jt-ai-word {
	fill: var(--light-text);
}

.jt-ai.jt-ai-current .jt-ai-word,
.jt-ai.jt-ai-current .jt-ai-spark {
	/* takes the text colour, like an icon font: for a mark inside a filled button */
	fill: currentColor;
}

/* ---- jtsyn-agents (<jtsyn-agents>) ---- */
.jt-agents {
	display: inline-block;
	vertical-align: middle;
	width: var(--jt-ag-size, 160px);
	height: var(--jt-ag-size, 160px);
}

.ai-agent-crosslink .jt-agents.jt-agents--orbit {
    width: 25px;
}

.jt-agents .jt-ag-letter {
	fill: var(--jt-ag-ink, var(--black));
	z-index: 9999;
}

.spec-item-view-selector:hover .jt-agents .jt-ag-letter {
    fill: var(--primary)!important;
}

.jt-agents .jt-ag-ring {
	stroke: var(--jt-ag-ring, var(--light-text));
	stroke-width: 3;
	fill: none;
}

.btn.btn-transparent.spec-item-view-selector span.agents-btn svg .jt-ag-ring {
    stroke: var(--primary);
}

.dark .jt-agents .jt-ag-ring {
    /* stroke: #9e9e9e; */
}

.jt-agents .jt-ag-spark {
	fill: var(--jt-ag-spark, var(--primary));
	transform-box: fill-box;
	transform-origin: center;
}

/* twinkle: each spark breathes, staggered so the orbit shimmers */
.jt-agents--twinkle .jt-ag-spark {
	animation: jt-ag-tw 2.4s ease-in-out infinite;
}

.jt-agents--twinkle g:nth-of-type(1) .jt-ag-spark { animation-delay: 0s; }

.jt-agents--twinkle g:nth-of-type(2) .jt-ag-spark { animation-delay: .6s; }

.jt-agents--twinkle g:nth-of-type(3) .jt-ag-spark { animation-delay: 1.2s; }

/* pop: staggered pop-in on load */
.jt-agents--pop .jt-ag-spark {
	animation: jt-ag-pop 1s cubic-bezier(.2, 1.3, .35, 1);
}

.jt-agents--pop g:nth-of-type(2) .jt-ag-spark { animation-delay: .12s; }

.jt-agents--pop g:nth-of-type(3) .jt-ag-spark { animation-delay: .24s; }

/* orbit: sparks travel the ring; scale + opacity track depth (near = big/bright, far = small/faint) */
.jt-agents--orbit .jt-ag-spark {
	offset-path: path("M141.19 53.28 C147.4 68.64 125.03 92.16 91.24 105.82 C57.44 119.47 25.01 118.09 18.81 102.72 C12.6 87.36 34.97 63.84 68.76 50.18 C102.56 36.53 134.99 37.91 141.19 53.28 Z");
	offset-rotate: 0deg;
	animation: jt-ag-orbit 14s linear infinite;
}

.jt-agents--orbit g:nth-of-type(1) .jt-ag-spark { animation-delay: 0s; }

.jt-agents--orbit g:nth-of-type(2) .jt-ag-spark { animation-delay: -4.66s; }

.jt-agents--orbit g:nth-of-type(3) .jt-ag-spark { animation-delay: -9.33s; }

@keyframes jt-ag-tw {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(.66); opacity: .55; }
}

@keyframes jt-ag-pop {
	0% { transform: scale(0) rotate(-40deg); opacity: 0; }
	70% { transform: scale(1.25) rotate(8deg); opacity: 1; }
	100% { transform: scale(1) rotate(0); opacity: 1; }
}

/* depth: 25% = front/bottom (near), 75% = back/top (far) */
@keyframes jt-ag-orbit {
	0% { offset-distance: 0%; transform: scale(.82); opacity: .82; }
	25% { offset-distance: 25%; transform: scale(1.18); opacity: 1; }
	50% { offset-distance: 50%; transform: scale(.82); opacity: .82; }
	75% { offset-distance: 75%; transform: scale(.48); opacity: .4; }
	100% { offset-distance: 100%; transform: scale(.82); opacity: .82; }
}

@media (prefers-reduced-motion: reduce) {
	.jt-agents .jt-ag-spark { animation: none !important; }

	/* hold orbit sparks spread around the ring, no travel */
	.jt-agents--orbit g:nth-of-type(1) .jt-ag-spark { offset-distance: 8%; }

	.jt-agents--orbit g:nth-of-type(2) .jt-ag-spark { offset-distance: 42%; transform: scale(.7); opacity: .7; }

	.jt-agents--orbit g:nth-of-type(3) .jt-ag-spark { offset-distance: 70%; transform: scale(.55); opacity: .5; }
}

/* ---- jtsyn-thinking (<jtsyn-thinking>) — hop-and-roll wordmark loader ---- */
.jt-think {
	--jt-think-cycle: 2.6s;         /* one hop-and-roll cycle */
	--jt-think-stagger: .2s;        /* roll delay, letter to letter (j to n) */
	--jt-think-hop: .22;            /* excited hop height, in em */
	--jt-think-hop-stagger: .05s;   /* tiny ripple across the hops */
	display: inline-flex;
	perspective: 700px;
}

.jt-think-mark {
	display: inline-flex;
	font-family: var(--nothing);
	font-weight: 400;
	font-size: var(--jt-think-size, 47px);
	line-height: 1;
	color: var(--jt-think-ink, var(--black));
	white-space: nowrap;
}

/* outer span = the excited vertical hop */
.jt-think-g {
	display: inline-block;
	animation: jt-think-hop var(--jt-think-cycle) cubic-bezier(.3, 0, .3, 1) infinite both;
	animation-delay: calc(var(--i) * var(--jt-think-hop-stagger));
}

/* inner span = the forward roll + colour sweep */
.jt-think-gi {
	display: inline-block;
	transform-origin: 50% 62%;
	backface-visibility: hidden;
	animation: jt-think-roll var(--jt-think-cycle) cubic-bezier(.5, 0, .4, 1) infinite both;
	animation-delay: calc(var(--i) * var(--jt-think-stagger));
}

/* per-letter index drives both staggers */
.jt-think-g:nth-child(1) { --i: 0; }

.jt-think-g:nth-child(2) { --i: 1; }

.jt-think-g:nth-child(3) { --i: 2; }

.jt-think-g:nth-child(4) { --i: 3; }

.jt-think-g:nth-child(5) { --i: 4; }

@keyframes jt-think-hop {
	0% { transform: translateY(0); }
	6% { transform: translateY(calc(var(--jt-think-hop) * -1em)); }
	13% { transform: translateY(0); }
	20% { transform: translateY(calc(var(--jt-think-hop) * -0.62em)); }
	27% { transform: translateY(0); }
	33% { transform: translateY(calc(var(--jt-think-hop) * -0.34em)); }
	40% { transform: translateY(0); }
	100% { transform: translateY(0); }
}

@keyframes jt-think-roll {
	0%, 58% { transform: rotate(0deg); color: var(--jt-think-ink, var(--black)); }
	66% { color: var(--jt-think-accent, var(--primary)); }
	82% { transform: rotate(360deg); }
	90% { color: var(--jt-think-accent, var(--primary)); }
	100% { transform: rotate(360deg); color: var(--jt-think-ink, var(--black)); }
}

@media (prefers-reduced-motion: reduce) {
	.jt-think-g,
	.jt-think-gi {
		animation: none !important;
		transform: none !important;
		color: var(--jt-think-ink, var(--black)) !important;
	}
}

@media screen and (max-width: 1280px) {

    .all-project-items.oe {
        padding: 0px!important;
        overflow: hidden!important;
    }

     .all-project-items.oe .all-specs {
        border-radius: 0px!important;
        background-color: var(--white);
        padding: 0px;
        padding-top: 0px!important;
        height: -webkit-fill-available;
        border: none;
    }

    .specs .all-project-items .ui-grid {
        border-radius: 0px!important;
        border: none!important;
        border-top: 1px solid var(--border)!important;
        height: calc(100dvh - 125px)!important;
        max-height: calc(100dvh - 125px)!important;
    }

.edit-mode .ui-grid.the-grid-editor .ui-grid-contents-wrapper > .ui-grid-menu-button {
    top: -62px;
    height: 59px!important;
    line-height: 60px!important;
    vertical-align: top;
}

    .project-grid.ui-grid.grid .ui-grid-viewport {
        height: calc(100dvh - 184px)!important;
    --webkit-scrolling-overflow: touch!important;
        overflow: auto!important;
    }

    .specs .all-project-items .section-title, .specs .roadmap .section-title {
        padding-left: 20px;
        padding-right: 10px;
        margin-top: 0px!important;
        margin-bottom: 0px!important;
        min-height: 60px;
        height: 60px;
        line-height: 60px;
        display: block;
    }

.core-list-items .roadmap.all-specs .section-title {
    padding: 0px!important;
}

html body .section-title .title-right .btn.btn-transparent, html body .section-title .title-right .btn.btn-transparent i {
    height: 60px!important;
    line-height: 60px!important;
    vertical-align: top;
    top: 0px!important;
    margin: 0px!important;
    width: 50px;
    text-align: center;
}

.more-actions.btn.btn-transparent.show-on-small-only {
    display: inline-block!important;
}

html body .section-title .title-right .btn.btn-transparent {
    width: 50px;
    margin: 0px!important;
    margin-right: 0px!important;
    padding: 0px!important;
    line-height: 60px!important;
    height: 60px!important;
    text-align: center;
    right: 0px;
    margin-left: -3px!important;
}

.side-slider.open {
    width: 100%;
}

    .specs .all-project-items .section-title.search-enabled .title-right {
        width: 100%;
        padding: 0px;
    }
    
    .specs .all-project-items .section-title.search-enabled {
        padding: 0px;
    }
    
    .specs .search-enabled .right-collection-actions {
        display: none!important;
    }
    
    .roadmap .section-title .title-right .btn.btn-transparent.settings-btn {
        top: -14px;
    }
    
    html body .roadmap .projects-chart-container {
        width: 100%!important;
        margin: 0px!important;
        padding: 0px!important;
        border-radius: 0px!important;
        border-top: 1px solid var(--border);
    }

html body .roadmap .chart-header-actions {
    top: 0px!important;
    right: 100px;
    height: 60px!important;
    line-height: 60px;
    vertical-align: top;
    display: none;
}

html body .roadmap .sma .chart-header-actions {
    display: inline-block;
}
    
    .all-project-items .section-title .title-left {
        height: 60px!important;
        line-height: 60px!important;
        padding-left: 20px!important;
        margin: 0px;
        min-width: 240px!important;
    }
    
    .all-project-items .section-title.search-enabled .title-left {
        display: none;
    }
    
    .all-project-items .section-title .title-left .collection-dropdown-wrapper, .project-view-selector.dropdown-select {
        height: 60px!important;
        line-height: 60px!important;
        margin: 0px!important;
        vertical-align: top;
        top: 0px;
    }
    
    .all-project-items .roadmap .section-title .title-left, .all-project-items .roadmap .section-title .title-left i {
        height: 60px!important;
        line-height: 60px!important;
    }
    
    .title-left .the-selected-view {
        padding-top: 0px;
        margin: 0px!important;
        height: 60px!important;
        line-height: 60px!important;
        padding-left: 20px;
    }
    
    .title-left .the-selected-view i {
        line-height: 60px!important;
        height: 60px!important;
    }
    
    .project-location-selector.dropdown-select i, .project-location-selector.dropdown-select {
        height: 60px!important;
        line-height: 60px!important;
    }
    
    .project-location-selector.dropdown-select i:first-child, .project-view-selector.dropdown-select i:first-child {
        display: none;
    }
    
    .project-location-selector.dropdown-select {
        font-size: 10pt;
        padding-right: 0px!important;
    }.project-location-selector.dropdown-select {
        padding-left: 0px;
    }
    
        html body .projects-inline-searchbar {
            line-height: 60px;
            height: 60px!important;
            width: 50px;
            margin-right: 5px;
        }

html body .omni-search.full-screen-dialog .projects-inline-searchbar {
    width: unset;
}
    
    html body .search-enabled .projects-inline-searchbar {
        width: 100%;
    }
    
    html body .search-enabled .projects-inline-searchbar input {
        display: unset;
        width: 100%!important;
        height: 60px!important;
        line-height: 60px!important;
        border-radius: 0px!important;
    }
    
    html body .projects-inline-searchbar input {
        display: none;
    }
    
        .projects-sidebar.sidebar {
            border-right: 1px solid var(--border);
            width: 240px!important;
        }
    
    html body .sidebar-action-btn {
        display: none;
    }
    
        .core-list-items.specs {
            width: calc(100vw - 240px)!important;
        }
    
        .projects-sidebar.sidebar .sidebar-search input {
            margin-top: -6px!important;
            height: 65px!important;
        }
    
        .all-specs .clear-search {
            right: 0px!important;
            left: unset!important;
            position: absolute!important;
            top: 0px!important;
        }
    
        html body .core-list-items .btn.clear-search {
            position: absolute!important;
            right: 0px!important;
            top: 0px!important;
            margin-top: 0px!important;
            height: 60px!important;
            line-height: 40px!important;
        }

html body .core-list-items .btn.clear-search i {}
    
    html body .section-title .title-right .btn.btn-transparent.clear-search i {
        height: 60px!important;
        line-height: 61px!important;
    }
    
    html body .section-title .title-right .btn.btn-transparent.clear-search {
        min-width: 50px;
        text-align: center;
    }
    
        html body .the-spec-overview-description {
            padding: 0px!important;
        }
    
    html body .the-spec-overview-description .card {
        border-radius: 0px;
        height: calc(100dvh - 65px);
    }
    
    .the-spec-overview-description .spec-summary .zj-spec-summary.ql-editor {
        padding: 0px 30px 30px!important;
        max-height: calc(100dvh - 135px)!important;
        margin: 0px -30px!important;
    }
    
    .the-spec-overview-description .spec-summary {
        max-height: calc(100dvh - 64px)!important;
        padding: 30px 30px 0px!important;
    }
    
    html .overview-right-side.spec-overview-data {
        padding: 0px!important;
        border-left: 1px solid var(--border);
    }
    
    html .overview-right-side.spec-overview-data .overview-section {
        border-radius: 0px;
        padding: 30px;
        margin-bottom: 0px;
        border-bottom: 1px solid var(--border);
    }
    
    .overview-meta .meta-data > .meta-names {
        width: 50%!important;
    }
    
    html .overview-right-side .overview-section .card {
        border-radius: 0px!important;
    }

    .section-title .title-right .btn.btn-transparent.btn.add-new-item {
        position: fixed;
        right: 10px;
        bottom: 10px!important;
        top: unset;
        background-color: var(--primary)!important;
        height: 60px;
        width: 60px;
        text-align: center!important;
        border-radius: 10px!important;
        box-shadow: 0px 1px 2px var(--shadow)!important;
        padding: 0px!important;
    }

.section-title .title-right .btn.btn-transparent.btn.add-new-item span {
    display: none;
}
    
    .section-title .title-right .btn.btn-transparent.btn.add-new-item i {
        color: var(--awhite)!important;
        height: 60px;
        line-height: 60px!important;
        padding: 0px!important;
        float: none;
        width: 60px;
        font-size: 18pt!important;
    }

    .profile-page, .profile-page .profile-sidebar {
        height: calc(100dvh - 64px);
        overflow-y: auto!important;
    }

.profile-sidebar-body {
    height: auto!important;
}

}

/* Responsive */
@media screen and (max-width: 900px) {

    .drag-target {
        display: none;
    }

    .a-collection {
        box-shadow: none!important;
    }

    body .pinned {
        position: relative!important;
    }

    body .zj-body {
        max-height: calc(100dvh - 64px);
        height: 100dvh;
    }

    body .zj-body > .settings {
        overflow-y: auto;
        max-height: calc(100dvh - 64px);
        height: 100dvh;
    }

    body .zj-body .projects-sidebar {
        padding-top: 20px!important;
        width: 100%!important;
        height: 100%;
    }

    .core-list-items .all-specs {
        padding: 20px!important;
        border-radius: 0px!important;
    }

    .feature-toggles .feature-toggle {
        flex: 1 1 100%!important;
    }
    
    .full-screen .projects-sidebar.sidebar {
        display: block!important;
        height: auto!important;
    }
    
    html body .full-screen .projects-sidebar.sidebar {
        left: 0px!important;
        float: none!important;
        display: none!important;
    }

    html body .core-list-items.specs {
        width: 100%!important;
        position: relative!important;
        height: calc(100dvh - 64px);
        max-width: 100%!important;
    }

    body .zj-body .project-activity-page .projects-sidebar {
        padding-top: 0px!important;
    }

    body .favorite-specs.row {
        margin-top: 40px!important;
    }

    body .core-list-item .col.m6 {
        width: 100%!important;
        max-width: 100%!important;
    }

    body .all-specs .core-list-item .name {
        max-width: 100%!important;
    }

    body .core-list-items .all-project-items {
        padding-left: 0px!important;
        padding-right: 0px!important;
        left: 0px!important;
        margin-top: 0px!important;
        padding-top: 0px!important;
        overflow: hidden;
    }

    .projects-sidebar.sidebar {
        border-right: none!important;
    }

    .the-projects-page .sidebar-body {
        display: none;
    }

    .the-projects-page .add-new-item.btn {
        padding-left: 0px!important;
    }

    .the-projects-page .section-title .title-right .btn.btn-transparent span {
        display: none;
    }

    .the-projects-page .settings-btn {
        padding-right: 0px!important;
    }

    .specs .all-project-items .section-title {
        padding-left: 0px;
        padding-right: 0px;
        width: 100%;
    }

    .edit-mode .specs .all-project-items .section-title {width: calc(100% - 60px);}
    
    .specs .all-project-items .section-title.search-enabled {
        margin: 0px;
    }
    
    .specs .section-title.search-enabled .title-left {
        display: none;
    }
    
    .specs .section-title.search-enabled .title-right {width: 100%!important;}
    
    .specs .section-title.search-enabled .title-right input {
        width: 100%!important;
        margin: 0px auto!important;
        max-width: 100%!important;
        padding-right: 0px!important;
    }
    
    .specs .section-title.search-enabled .title-right .projects-inline-searchbar {
        width: 100%;
        margin-right: 0px!important;
    }
    
    .specs .all-project-items .roadmap .section-title {
        height: auto!important;
        z-index: 99999;
    }
    
    .full-screen .ordered-roadmap-items.oe {
        height: auto!important;
        overflow: unset!important;
    }

    .all-project-items.oe .all-specs {
        overflow: hidden;
        padding: 0px!important;
    }

    .roadmap .projects-chart-container.list-view {
        margin-left: -20px;
        margin-right: -20px;
        width: calc(100% + 40px)!important;
        max-width: calc(100% + 40px);
    }

    .projects-search-meta {
        display: none!important;
    }
    
    html body .all-project-items.oe.full-screen {
        background-color: var(--white)!important;
        padding: 0px!important;
    }
    
    html body .all-project-items.oe.full-screen .section-title {
        padding: 0px 20px;
    }
    
    .specs .all-project-items.full-screen .ui-grid-header-cell:first-child, .specs .all-project-items.full-screen .ui-grid-cell:first-child {
        padding-left: 20px;
    }
    
    body .specs .ui-grid {
        width: 100%;
        border-radius: 0px!important;
        height: calc(100vh - 235px)!important;
        max-height: -webkit-fill-available;
    }body .todo-filter-title {
        font-family: var(--body-font);
    }

    body .the-spec-overview-description {
        padding: 0px!important;
    }

    body .the-spec-overview-description .card {
        border-radius: 0px!important;
        height: auto!important;
    }

    body .the-spec-overview-description .spec-summary {
        max-height: unset!important;
        height: auto!important;
        overflow-y: hidden!important;
        overflow-x: hidden!important;
        padding-top: 24px!important;
    }

    body .overview-right-side.spec-overview-data {
        max-height: unset!important;
        height: unset;
        padding: 0px!important;
    }

    body .spec-overview-data .overview-section {
        box-shadow: none!important;
        border-radius: 0px!important;
        border-top: 1px solid var(--border);
    }

    html body .the-spec-overview-description .spec-summary .zj-spec-summary.ql-editor {
        max-height: unset!important;
    }

    body .sp-specs {
        max-height: 100%!important;
        overflow-y: hidden!important;
        overflow-x: hidden!important;
        padding-top: 18px;
    }

    body .sp-spec {
        border-radius: 0px!important;
        box-shadow: none!important;
    }

    body .sps-sidebar .zj-search-bar {
        padding-left: 0px!important;
        padding-right: 0px!important;
    }

    body .project-outline-items {
        padding: 10px 30px;
    }

    body .spec-item-tasks-button.show-on-small {
        display: inline-block;
        width: 100%;
    }

    body .spec-item-tasks-button.show-on-small .btn {
        padding-left: 0px!important;
        margin-bottom: 20px!important;
        color: var(--light-text)!important;
    }

    .zj-saved-filter-objects {
        width: 100%!important;
    }

    .zj-favorite-jira-filters {
        padding: 0px!important;
    }

    .zj-zd-view-bar > div.col-md-4 {
        padding-right: 0px!important;
    }

    .zj-specification-sidebar {
        width: 100%!important;
        height: auto!important;
        box-shadow: none!important;
        position: absolute!important;
        top: 64px!important;
    }

    .zj-body-content .sidebar,
    .product-posts .posts-container {
        height: 100%!important;
        max-height: 100%!important;
    }

    

    .zj-specification-body {
        width: 100%!important;
        position: relative!important;
    }

    .zj-specification-item-container .zj-empty-message-text {
        width: 100%!important;
        margin: 0px!important;
        max-width: 100%!important;
    }.spec-details .actions {
        position: relative!important;
        left: 0px!important;
        bottom: 0px!important;
    }

    .zj-spec-title {
        margin-top: 10px;
        max-height: 40px;
        overflow: hidden;
        padding-right: 60px;
        white-space: nowrap;
        text-overflow: ellipsis;
        max-width: 100%;
        box-sizing: border-box;
    }

    .spec-cover-overview {
        padding: 0px!important;
    }

    .project-details .row .form-field.col.m6:first-child {
        padding-right: 0px!important;
    }

    .projects-header {
        padding-left: 20px;
    }

    .core-list-items .all-project-items,
    .listings .listing-items {
        padding-left: 20px;
        padding-bottom: 0px!important;
    }

    .zj-actions-bar-buttons {
        margin-bottom: 0px!important;
    }

    .core-list-items .all-project-items,
    .core-list-items .listing-items {
        height: 100%!important;
        height: -webkit-fill-available!important;
    }

    .dropdown-content#timer {
        left: 0px!important;
        right: 0px!important;
        min-width: 100%!important;
    }

    nav.nav.main-nav {
        height: 64px;
        line-height: 64px!important;
    }

    .users-present {
        display: none!important;
    }

    .side-nav {
        height: 100%!important;
    }
    
    nav.nav.main-nav a, nav.nav.main-nav li > a {
        text-decoration: none;
        color: var(--black)!important;
    }

    html body .side-nav {
        background-color: var(--white)!important;
        z-index: 9999999999999999;
    }

    html body .side-nav.sidenav-open {
        transform: translateX(0px);
        box-shadow: 1px 0px 6px var(--shadow);
    }

    nav.nav.main-nav i {
        line-height: 64px;
        height: 64px;
    }

    .main-nav .dropdown-content.nav-dropdown {
        width: 100%!important;
        
    }

    html body .main-nav .dropdown-content.nav-dropdown {
        left: 0!important;
        max-width: 100%!important;
    }

    .settings-body {
        padding-top: 20px!important;
    }

    .portfolio-settings .settings-body.padding40 {
        padding: 10px 30px!important;
        margin-left: -30px;
        margin-right: -30px;
        width: calc(100% + 60px)!important;
    }
    
    html body .settings-body .setting-group.col {
        margin-right: 0px!important;
        padding-right: 0px!important;
        width: 100%!important;
        padding-bottom: 40px;
    }

    .settings .settings-section {
        padding-left: 0px!important;
    }

    .integrations-section.settings-section.card {
        padding: 20px!important;
    }

    .zj-specification-body {
        top: 0px!important;
    }

    .the-body-section {
        overflow-y: auto;
        height: calc(100dvh - 64px);
    }

    .zj-specification-body .spec-sidebar, .zj-specification-body .spec-item-main-body {
        top: 0px;
        position: relative!important;
    }

    .spec-item-mobile-sidebar {
        top: 18px!important;
    }
    
    .btn.btn-transparent.edit-btn.edit-description-button.right {
        position: relative!important;
    }
    
    .ai-panel .prompt-container textarea {
        padding: 20px!important;
    }
    
    .ai-panel .prompt-container {
        padding-left: 0px!important;
        padding-right: 0px!important;
        bottom: 0px!important;
        border-radius: 0px!important;
        padding-bottom: 0px!important;
    }
    
    .prompt-container .input-field {
        border-radius: 0px!important;
        box-shadow: none!important;
        top: 0px!important;
    }
    
    .prompt-container .prompt-w-input {
        padding-bottom: 0px;
    }
    
    .prompt-container .prompt-w-input .input-field {
        top: 0px;
    }
    
    .prompt-actions {
        padding-left: 15px!important;
    }
    
    .prompt-actions .btn {
        float: left!important;
    }
    
    .prompt-container .ai-actions {
        bottom: 5px;
        padding-right: 0px!important;
    }
    
    .task-ai.oe {
        padding: 0px;
        height: calc(100dvh - 64px)!important;
    }
    
    .ai-panel .response-container {
        box-shadow: none!important;
        padding: 20px!important;
        border-radius: 0px!important;
        background-color: transparent!important;
    }

    .spec-sidebar {
        z-index: 9999!important;
        width: 0px!important;
        display: none;
    }

    .sidebar-open .spec-sidebar {
        width: 100%!important;
        display: inherit;
    }

    .spec-item-main-body {
        width: 100%!important;
    }

    html body .zj-jira-attachments.spec-images {
        padding: 0px 20px;
        height: auto!important;
    }

    .zj-specification-assets .zj-jira-attachments {
        height: calc(100vh - 135px)!important;
    }

    .spec-cover-overview .card {
        box-shadow: none!important;
    }

    body .spec-summary {
        padding-right: 0px!important;
        padding: 10px 20px 30px!important;
        height: 100%!important;
        min-height: calc(100vh - 133px);
    }

    ng-quill-editor > div > .ql-container .ql-editor {
        padding-left: 20px!important;
        padding-right: 20px!important;
        background-color: var(--white)!important;
        min-height: 100px!important;
    }

    body .zj-spec-summary.ql-editor {
        height: auto!important;
        overflow-y: initial!important;
    }

    body .spec-doc {
        box-shadow: none!important;
        border: none!important;
        border-bottom: 1px solid var(--lightgrey)!important;
        padding: 20px;
        margin: 0px 0px 1px!important;
        background-color: var(--extra-light);
        border-radius: 10px;
    }

    body .spec-doc:last-child {
        border-bottom: none!important;
    }

    body .spec-doc .sd-actions {
        padding-right: 0px!important;
    }

    body .spec-doc > div:first-child {
        padding-left: 0px!important;
    }

    body .spec-docs .spec-docs-body {
        max-height: calc(100vh - 274px)!important;
        overflow-y: auto;
        box-shadow: none!important;
    }

    body .spec-cover .zj-specification-outline {
        background-color: var(--white);
        position: relative;
        display: block;
        height: initial!important;
    }

    body .zj-epics-and-stories {
        height: calc(100vh - 268px)!important;
        border-right: none;
        padding-left: 0px;
        padding-right: 0px;
        padding-bottom: 0px;
    }

    body .zj-specification-body .zj-specification-outline {
        height: calc(100vh - 188px)!important;
    }

    body .posts-sidebar {
        width: 100%!important;
        margin-right: 0px!important;
        padding-right: 0px!important;
    }

    .posts-sidebar-container {
        margin-left: 0px!important;
        max-width: 100%!important;

    }

    .product-posts .listings .page-header {
        min-width: 100%!important;
    }

    .product-posts {
        overflow-y: auto;
        height: calc(100vh - 64px);
    }

    .spec-cover .product-posts {
        height: 100%!important;
    }

    .posts-create {
        padding: 5px 20px!important;
    }

    .product-posts .listings .page-header {
        padding: 0px!important;
    }

    #quickProjectsSelector {
        width: 100%!important;
    }

    .spec-name .edit.edit-name.btn {
        position: absolute;
        top: 0;
        right: 0;
        background-color: var(--background-color)!important;
    }

    .spec-cover .spec-overview {
        padding: 0px!important;
        box-shadow: none!important;
    }

    .spec-overview-header {
        background-color: var(--white)!important;
    }

    body .ql-editor > ul {
        margin-top: 10px!important;
        margin-bottom: 10px!important;
    }

    .tabs li.tab {
        font-weight: bold!important;
        margin-right: 1px!important;
        user-select: none!important;
        cursor: pointer!important;
    }

    body .spec-title-tabs ul.tabs li a {
        color: #00a5d5!important;
    }

    .spec-cover {
        background-color: var(--white)!important;
    }

    .spec-title-tabs ul {
        margin-top: 10px!important;
        margin-bottom: 0px!important;
    }

    html body .zj-body .posts-create {
        box-shadow: none!important;
        padding-top: 20px!important;
        padding-bottom: 20px!important;
        border-radius: 0px!important;
        border-top: 1px solid var(--border)!important;
        border-bottom: 1px solid var(--border)!important;
        margin-bottom: 0px!important;
    }

    .zj-search-bar {
        padding: 10px 30px 20px!important;
    }

    html body .zj-search-bar {
        padding: 10px 0px 20px!important;
    }
    
    html body .outline-container .zj-search-bar {
        padding: 10px 30px 20px!important;
    }

    .zj-sf-filter:first-child .btn {
        border-left:1px solid #ececec!important;
    }

    .spec-outline-more-filters {
        border-right: none!important;
        height: 50px;
        line-height: 50px;
        position: relative!important;
        left: 0px;
        bottom: 0px;
        right: 0px;
    }

    body .zj-epics-and-stories ul li li {
        padding: 0px!important;
        width: 100%!important;
        display: block!important;
        margin-top: 0px!important;
        margin-bottom: 0px!important;
        margin-left: -5px;
    }

    body .zj-sl-epic-ticket:before {
        line-height: 32px;
    }

    body .zj-epics-and-stories ul li li:first-child {
        margin-top: 5px!important;
    }

    body .zj-epics-and-stories ul li {
        padding-bottom: 20px!important;
        font-size: 10.5pt;
    }

    body .posts-create .post-title input {
        background-color: #ffffff!important;
        padding-left: 15px!important;
        margin-bottom: 20px!important;
        border: 1px solid var(--lightgrey)!important;
    }

    body .posts-create .ql-editor.ql-blank::before
    {
        left: 15px!important;
    }

    html body .todo-items .edit-todo-body {
        height: calc(100vh - 244px)!important;
        border-radius: 0px!important;
    }

    body .todo-items {
        box-shadow: none!important;
        padding: 0px!important;
        position: relative;
        border-radius: 0px!important;
    }

    .todo-items .show-hide-completed .text-field:last-child {
        display: none;
    }

    .project-settings .col.m6:first-child {
        width: 100%!important;
        margin-right: 0!important;
    }

    body .ticket-todos {
        padding-bottom: 0px!important;
        padding: 0px!important;
        border-radius: 0px!important;
        border-bottom: 1px solid var(--border)!important;
    }

    .spec-comments-header-section {
        box-shadow: none!important;
    }

    .spec-comments-header-section .zj-spec-comment-textarea textarea {
        background-color: #f0f0f0!important;
    }

    .mobile-specification-details-actions .btn.active {
        color: #00a4d6!important;
        background-color: transparent!important;
    }

    .spec-name .edit.edit-name.btn {
        opacity: 1!important;
        background-color: transparent!important;
    }

    html body {
        background-color: var(--white)!important;
        width: 100%!important;
        min-width: 100%!important;
        max-width: 100%!important;
        height: -webkit-fill-available!important;
    }

    .zj-sl-info {
        padding-left: 0px!important;
        padding-right: 0px!important;
    }

    .core-list-item {
        border: none!important;
        box-shadow: none!important;
    }

    .create-new-post .btn {
        margin-right: 0px!important;
    }

    .post-bottom-bar .post-meta .btn > div:first-child {
        padding-left: 15px!important;
    }

    .create-new-project.card .project-type-selector .project-type {
        width: 100%!important;
        margin-bottom: 1px!important;
    }

    .create-spec .card {
        box-shadow: none!important;
    }

    .zj-specification-body .product-posts-container {
        height: 100%!important;
    }

    body .spec-statistics .row .card.col {
        box-shadow: none!important;
        padding-left: 0px!important;
        padding-right: 0px!important;
        margin: 0px!important;
    }

    .settings .card {
        box-shadow: none!important;
    }

.integrations-section .integration.row > .s1 {
    padding-right: 0px!important;
}

    .spec-cover .settings {
        height: calc(100vh - 189px)!important;
        overflow-y: auto!important;
    }

    .comment-selectors {
        display: none!important;
    }

    .mobile-spec-body .edit-spec-title {
        height: 50px!important;
    }

    .mobile-spec-body .spec-description-edit {
        display: inline-block;
    }

    .mobile-spec-body .mobile-edit-buttons .btn {
        height: 50px!important;
        width: 50px!important;
        display: inline-block;
        margin: 0px!important;
    }

    .mobile-spec-body .mobile-edit-buttons .btn i {
        line-height: 50px!important;
    }

    body .zj-sl-outline-buttons .btn {
        height: 50px!important;
        width: 50px!important;
    }

body .zj-sl-outline-buttons .btn.outline-ticket-type {
    width: auto!important;
}

    body .zj-sl-outline-buttons a.btn {
        width: 64px!important;
        max-width: 64px!important;
    }

     .zj-sl-outline-buttons .btn i {
        line-height: 50px!important;
    }

    .general-comments, .team-comments {
        box-shadow: none!important;
        max-height: calc(100vh - 285px)!important;
    }

    body .zj-specification-comments {
        padding-left: 0px!important;
        padding-right: 0px!important;
    }

    body .spec-comments-header-section {
        padding-left: 20px!important;
        padding-right: 20px!important;
    }

    body .spec-perms-editor .settings .project-details {
        padding-left: 40px!important;
        padding-right: 40px!important;
    }

    .spec-cover .spec-item, .spec-cover .zj-specification-item-details {
        position: relative!important;
        height: unset!important;
        overflow: inherit;
    }

.spec-cover .spec-item {
    padding-top: 0px!important;
}

    html body .spec-cover .zj-specification-item-details {
        top: 0px;
    }

html body .stats-container {
    padding: 0px!important;
}

html body .stats-container .card {
    border-radius: 0px;
    border-top: 1px solid var(--background-color);
}

.spec-item-image-comments {
    display: none;
}

html body .row .spec-item-image-container {
    width: 100%!important;
    padding: 0px!important;
}

.spec-item-image-container .selected-spec-item-image {
    padding: 20px;
}

.task-attachments.upload-container {
    padding: 0px!important;
}

.task-attachments.upload-container .card {
    border-radius: 0px;
    height: calc(100dvh - 115px);
}

.zj-specification-details-actions {
    border-top: 1px solid var(--extra-light);
}

    .vertical-tabs .tab {
        width: 33%!important;
        display: inline-block!important;
        float:left!important;
        text-align: center;
    }

    .document-modal {
        padding: 0px!important;
    }

   .document-modal .card {
       padding: 30px!important;
   }

   .account-info.row > .col {
       margin-bottom: 30px!important;
   }

   body .account .settings-section-wrapper .col.s12.m6 {
       padding-right: 0px!important;
   }

    .disabled-user-settings.col.s12.m6 {
        padding-bottom: 40px!important;
        padding-top: 40px!important;
    }

   .sidebar-header .sidebar-title {
       padding-left: 0px;
    }

    .sidebar-header {
        padding-left: 20px;
        padding-right: 20px;
    }

.sidebar-header .sidebar-top-actions {
    display: none;
}

    .settings .sidebar .sidebar-header, .settings .sidebar .sidebar-body {
        padding: 0px!important;
    }
    
    .settings .sidebar .sidebar-body li {
        width: 100%!important;
        height: 40px;
        line-height: 40px;
        margin-right: 0px!important;
        margin: 0px!important;
        padding: 0px;
    }

    .sidebar-body {
        padding: 0px 30px!important;
        height: 100%!important;
        -webkit-mask-image: none!important;
        overflow-y: auto!important;
        max-height: 100%!important;
        height: -webkit-fill-available!important;
    }

    .sps-sidebar .sidebar-body {
        height: calc(100vh - 200px)!important;
        max-height: calc(100vh - 200px)!important;
        padding: 0px 30px!important;
    }

    .todos-page .sidebar {
        height: 100%!important;
        max-height: 100%!important;
    }

    html body .sidebar-search input {
        padding-left: 30px!important;
    }

    .sidebar-footer .sidebar-actions {
        padding-left: 30px;
    }

    .sidebar-footer {
        padding-right: 20px;
    }

    .project-activity-page .sidebar-footer,
    .files-page .sidebar-footer,
    .schedules .sidebar-footer,
    .status-page .sidebar-footer {
        display: initial!important;
    }

    .schedules .sidebar-footer {
        bottom: 65px!important;
    }
    
    .account-sidebar .sidebar-footer {
        display: inherit;
    }

    .schedules .sidebar-body {
        height: auto!important;
        max-height: auto!important;
        padding: 0px 30px!important;
    }

    .favorite-spec-item .name {

        font-size: 10.5pt!important;
    }

    .favorite-spec-item {
        padding: 10px 20px!important;
    }

    .section-title .title-left, .section-title .title-right {
        margin-bottom: 10px;
    }

html body .all-project-items .section-title .title-left {padding-left: 20px!important;display: block;min-width: 240px;width: 100%;max-width: calc(100% - 101px);}

.title-left .project-location-selector.dropdown-select {
    max-width: 50%!important;
    min-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.title-left .the-selected-view {
    padding: 0px 10px 0px 20px;
}

.title-left .project-view-selector.dropdown-select {
    height: 60px;
    line-height: 60px;
}

.title-left .project-view-selector.dropdown-select i {
    display: none;
}

.title-left .project-view-selector.dropdown-select i.a-d-d {
    display: inline-block;
}

.project-location-selector.dropdown-select i:first-child {
    display: none;
}

.section-title .title-left .sub-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portfolios-container {
    background-color: var(--background-color);
    padding: 0px!important;
    border-radius: 0px!important;
}

.portfolios-container .portfolio {
    border-radius: 0px;
    padding: 30px;
    height: calc(100vh - 64px);
}

.portfolio .header-toggle.p-view-selector > .btn.btn-transparent i {
    display: none;
}

.portfolio .header-toggle > .btn.btn-transparent {
    margin: 0px!important;
}

html .portfolio .header-toggle.the-views {
    margin-right: 0px!important;
}

html .portfolio .header-toggle .btn {
    padding: 0px 15px!important;
}

.portfolio .section-title .title-right {
    text-align: left!important;
}

html .portfolio .view-settings .header-toggle {
    margin-right: 0px!important;
}

body .header-input-field.input-field {
    width: 100%!important;
    margin-right: 0px!important;
    margin-bottom: 10px!important;
    margin-top: 10px!important;
}

body .portfolio .header-input-field.input-field {
    width: 40%!important;
    min-width: 40%;
    margin-top: 0px!important;
}

.portfolio .section-title .title-right {
    width: 100%!important;
    padding-top: 20px;
    float: none!important;
}

    html body .all-specs .section-title .title-right {
        margin: 0px;
        padding-left: 0px;
        padding-right: 0px;
        width: 101px!important;
        min-width: 100px!important;
        text-align: right;
    }

.edit-mode .change-columns .settings-panel {
    right: 0px!important;
    margin-right: 0px!important;
}

.edit-mode .settings-panel.filter-panel {
    right: 0px!important;
}

.specs .all-project-items .section-title .right-collection-actions {
    display: inline-block;
}

.specs .all-project-items .section-title .right-collection-actions i {
    line-height: 60px!important;
}

.specs .all-project-items .section-title .right-collection-actions .grid-filter i {
    line-height: 20px!important;
}

html body .all-specs .section-title.show-more-actions .title-right {
    width: 100%!important;
}

html body .all-specs .section-title.show-more-actions .title-right .projects-inline-searchbar, html body .all-specs .section-title.show-more-actions .title-left {
    display: none;
}

html body .all-specs .section-title.show-more-actions .title-right {
    height: 60px;
}

.title-right .change-columns, .title-right .filter-projects, .title-right .settings-btn {
    display: none;
}

.show-more-actions .title-right .change-columns, .show-more-actions .title-right .filter-projects, .show-more-actions .title-right .settings-btn {
    display: inline-block;
}

html body .all-specs .section-title.search-enabled .title-right input {
    border: none!important;
    padding-left: 20px!important;
}

html body .all-specs.roadmap .section-title .title-right {
    width: 50px!important;
    min-width: 50px;
    max-width: 50px!important;
    padding: 0px;
    display: inline-block;
    background-color: transparent;
    border-top: none;
}

html body .section-title .title-right .btn.btn-transparent i {
    margin: 0px;
    width: 50px;
    height: 60px!important;
    line-height: 60px!important;
}html body .section-title .title-right .change-columns .settings-panel > .btn.btn-transparent, html body .section-title .title-right .change-columns .settings-panel > .btn.btn-transparent i {
    line-height: 40px!important;
    height: 40px!important;
}

.settings-panel.filter-panel > .btn.btn-transparent.right, .settings-panel.filter-panel > .btn.btn-transparent.right i {
    height: 40px!important;
    line-height: 40px!important;
}

html body .section-title.search-enabled .title-right .btn.btn-transparent.more-actions {
    display: none!important;
}

.more-actions.btn.btn-transparent.show-on-small-only {
    float: right;
    display: inline-block!important;
}

.roadmap .section-title .title-right .btn.btn-transparent.settings-btn {
    top: 2px;
}

.section-title .title-right .btn.btn-transparent.clear-search i {line-height: 60px!important;font-size: 15pt!important;}

.section-title .title-right .btn.btn-transparent.start-search {
    height: 60px;
    line-height: 60px;
    float: right;
    display: inline-block;
    width: 50px;
}

.section-title .title-right .btn.btn-transparent.start-search i {
    line-height: 60px!important;
}

.btn.btn-transparent.show-full-screen {
    display: none!important;
}

.all-project-items .title-right .projects-inline-searchbar {
    height: 60px!important;
    width: 50px;
    line-height: 60px!important;
    margin: 0px;
    margin-right: 0px;
    display: inline-block;
    float: left;
}

.all-project-items .title-right .projects-inline-searchbar input {
    width: 100%!important;
}

.all-project-items .title-right .projects-inline-searchbar input {
    width: auto!important;
    height: 59px!important;
    margin-right: 20px;
    border-right: 1px solid var(--border);
    box-shadow: none!important;
    border-radius: 0px!important;
    vertical-align: top;
    padding-left: 0px!important;
    font-size: 10pt!important;
    background-color: transparent!important;
    display: none;
}

.all-project-items .search-enabled .title-right .projects-inline-searchbar input {
    display: unset;
}

.all-project-items .title-right .projects-inline-searchbar input[type="text"], .all-project-items .title-right .projects-inline-searchbar input[type="text"]:focus {
    background-color: transparent!important;
}

    .todos-page .all-todos {
        height: 100%!important;
    }

    .project-outline .outline-container {
        padding: 0px 0px!important;
    }

    html body .non-editable-outline {
        padding-left: 30px;
        padding-right: 30px;
        padding-bottom: 0px!important;
    }

    body .project-section-selector {
        padding: 0px 30px 0px!important;
    }

    html body .spec-outline-title .project-title {
        color: var(--black);
    }

    html body .zj-sl-epic-ticket a {
        padding: 7px 0px!important;
    }

    html body .zj-sl-section-body li > .show-on-hover > .show-this {
        opacity: 1!important;
        visibility: visible;
    }

    html body .zj-sl-section-body li > .show-on-hover > .show-this i {
        color: white;
    }

    html body .project-header.row {
        padding-top: 0px;
    }

    html body .project-header #projectSection {
        margin-top: -10px;
        display: none!important;
    }

    .project-header #projectSection.active {
        display: block!important;
    }

    html body .project-section-header,
    html body .project-section-header i {
        padding-top: 10px;
    }

    html body .zj-specification-details-text {
        padding-left: 30px!important;
        padding-right: 30px!important;
        min-height: calc(100vh - 64px)!important;
        height: auto!important;
    }

    html body .spec-description-action-bar.row {
        border-top: 1px solid var(--extra-light);
    }

.spec-item-dw.dropdown-wrapper {
    padding-left: 20px!important;
}

    html body .spec-item-container .upload-container {
        position: relative!important;
        height: 100%!important;
    }

.context-buttons.centered-buttons {
    left: unset!important;
    right: 50px;
}

    html body .zj-specification-assets,
    html body .zj-specification-details-text {
        min-height: calc(100vh - 116px);
        padding-top: 30px!important;
        min-height: -webkit-fill-available;
    }

html body .zj-specification-details {position: relative;}

html body .edit-spec-title {
    padding-top: 0px!important;
    height: 60px;
    line-height: 60px;
}

html body .edit-spec-title input {
    padding-right: 70px!important;
}

.spec-item-comments-container .panel-comments {
    padding: 0px 0px!important;
    background-color: var(--white);
}

html body .zj-specification-assets {
    padding-top: 0px!important;
    height: auto!important;
}

body .ticket-todos {
    border-top: 1px solid var(--background-color);
}

html body .project-timelogs.page-body.oe {
    padding: 0px!important;
}

html body .project-timelogs.page-body.oe .pts-logs {
    border-radius: 0px!important;
    margin: 0px;
    border-top: 1px solid var(--background-color);
    height: unset!important;
}

.spec-item-integrations.oe {
    padding: 0px;
}

.spec-item-integrations.oe .card {
    border-radius: 0px;
    height: calc(100dvh - 115px);
}

    html body .sp-spec {
        padding: 20px;
    }

    html body .sp-spec-header-area {
        padding-left: 20px;
        padding-right: 20px;
    }

    html body .filterz {
        bottom: 0px;
    }

    html body .spec-item-title {
        padding-top: 0px!important;
        margin-top: -10px;
    }

    html body .edit-spec-title-input {
        padding-left: 20px!important;
        padding-right: 20px!important;
    }

    html body .spec-item .cke_contents .cke_wysiwyg_div {
        padding-left: 20px;
        padding-right: 20px;
    }

    html body .outline-bottom-buttons .btn:last-child {
        padding-right: 14px!important;
    }

    html body .todo-list {
        height: calc(100vh - 272px);
    }

    html body .title-left {
        padding-left: 0px!important;
    }

.portfolios-container .section-title .title-left {
    width: 100%!important;
}

    html body .profile-todos-project-name.row .s12.col:last-child {
        text-align:
        left;
        padding-bottom: 2px;
        line-height: 20px;
        float: none;
    }

    html body .board-manager-wrapper {
        padding: 20px;
    }

    html body .core-list-item .row .m3 {
        width: 100%!important;
    }

    html body .task-nav-item.row .task-ni {
        float: none!important;
        text-align: left;
    }

    html body .spec-cover .document-settings {
        width: 100%!important;
        padding-bottom: 0px!important;
        padding-top: 0px;
    }

    html body .spec-cover .document-settings .col {
        padding-left: 0px!important;
        padding-right: 0px!important;
    }

html body .integration .s1.right30 {
    padding-right: 10px!important;
}

    html body .integration {
        max-width: 100%!important;
        flex: 0 0 100%!important;
    }

.integrations .integration {
    width: 100%!important;
}

    html body .card {
        box-shadow: none!important;
        margin-bottom: 0px!important;
    }

html body .portfolios-container .portfolio .card {
    height: calc(100vh - 294px)!important;
}

body .the-projects-page .ui-grid .ui-grid-viewport {
    height: calc(100dvh - 286px)!important;
}

    html body .setting-option {
        padding-bottom: 30px;
    }

    html body .timelog-day {
        height: auto!important;
        border-bottom: 1px solid var(--border);
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

.timelog-log-section .timelog-day > .col {
    border-bottom: 1px solid var(--border);
}

    html body .create-new-timelog .timelog-day .col {
        padding: 0px!important;
    }

    html body .create-new-timelog .timelog-day .col input {
        padding: 0px 15px!important;
    }

    html body .create-new-timelog .timelog-day .btn {
        width: 100%!important;
        margin-top: 20px;
    }

    html body .user-initials-box {
        padding-right: 10px!important;
        padding-left: 15px;
    }

    #sidenav-overlay {
        display: none;
    }

    .public-users .user-list-section {
        width: 100%!important;
        padding-top: 20px;
    }

.members-page .uls-team .user {
    width: 25%!important;
    max-width: 25%!important;
    min-width: 25%!important;
}

.members-page .uls-team .list-wrapper {
    margin-left: -10px;
    margin-right: -10px;
}

    .members-page.oe {
        height: 100%!important;
        max-height: 100%!important;
        padding-top: 0px!important;
    }

    .spec-overview-actions {
        margin-top: 40px;
    }

    .spec-body {
        width: 100%!important;
    }

    .project-outline-item {
        padding-top: 5px!important;
        padding-bottom: 5px!important;
        line-height: 1.5!important;
    }

body .project-outline-meta .project-outline-item .title {
    height: 34px;
    line-height: 34px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    font-size: 11pt;
}

body .project-outline-meta .project-outline-item {
    height: 34px;
    line-height: 34px;
    padding-top: 0px!important;
    padding-bottom: 0px!important;
    font-size: 11pt;
}

html body .open-right.display-on-hover i {
    height: 34px!important;
    line-height: 34px!important;
}

body .project-outline-meta .project-outline-item .title::before {
    line-height: 34px!important;
    height: 34px;
}

    .project-outline-item .title::before {
        line-height: 21px!important;
    }

    .project-settings .card {
        padding: 20px 30px!important;
    }

    html .document-settings .col.m6:first-child {
        padding-right: 0px!important;
    }

    html .user-editor .user-list.selected-user-list, 
    html .deangelis-dropdown .list {
        max-height: 100%!important;
        height: 100%!important;
        overflow-y: inherit!important;
        padding-bottom: 40px;
    }

    .project-version-settings .settings-header .btn {
        margin-right: 20px;
        margin-top: -9px;
    }

    .row.setting-row.delete-project {
        padding-left: 30px;
    }

    .timelog-body-wrapper .google-chart {
        padding: 0px!important;
    }

    html .spec-cover .the-spec-timeline .timeline-items {
        padding: 0px!important;
    }

    html .the-spec-timeline {
        padding-right: 0px!important;
        -webkit-mask-image: unset!important;
        height: 100%!important;
        max-height: 100%!important;
        overflow-y: inherit!important;
    }

    .spec-sidebar .zj-spec-search.input-search input {
        padding-left: 20px!important;
        background-color: var(--extra-light)!important;
    }

    html .image-size-wrapper {
        width: 100%!important;
        padding-right: 20px!important;
    }

    html .spec-docs-section {
        padding: 0px!important;
    }

    .spec-documents {
        padding-top: 50px;
        -webkit-mask-image: unset!important;
        height: auto!important;
        max-height: auto!important;
        overflow-y: inherit!important;
    }

    .schedules .schedule-wrapper {
        padding: 70px 0px 30px!important;
    }

    body weekly-scheduler.scheduler.card {
        padding: 0px!important;
    }

    .listing-item .listing-item-header {
        padding: 30px 0px 0px!important;
    }

    body .listing-item .listing-description {
        padding-left: 0px!important;
        padding-right: 0px!important;
    }

    body .oe {
        -webkit-mask-image: unset!important;
    }

.profile-sidebar-body .profile-menu-item {
    height: 50px;
    line-height: 50px;
    padding: 0px 20px;
    margin-bottom: 1px;
    background-color: var(--extra-light);
}

.spec-versions.oe {
    padding: 0px!important;
}

.spec-versions.oe .card {
    border-radius: 0px;
}

.spec-description-versions {
    height: calc(100dvh - 257px)!important;
}

.spec-description-version {
    height: 50px!important;
    line-height: 50px!important;
    margin-top: 0px;
}

.spec-description-version .bg-image {
    margin-top: 14px!important;
}

.the-spec-timeline.oe {
    padding: 0px!important;
}

.the-spec-timeline.oe .card {
    border-radius: 0px!important;
    padding: 30px!important;
}

.filter-message {
    padding: 10px 20px;
}

    .listing-item .post-footer {
        padding-left: 0px!important;
        padding-right: 0px!important;
    }

    .status-page .zj-search-bar {
        padding: 0px!important;
    }

    .project-task {
        border-bottom: 1px solid var(--border);
    }

    html body .project-task .table-data-cell {
        padding-left: 0px!important;
    }

    html body .project-task .table-data-cell:first-child {
        font-size: 11pt!important;
        width: 100%!important;
    }

    html body ul#notifications {
        min-width: 100%!important;
    }

    html .profile-body .profile-sidebar {
        display: none;
        width: 0px;
    }

    html .the-profile-body {
        margin-top: 0px!important;
    }

.the-profile-body .user-list-section.teams .sub-text {
    padding-left: 30px;
    margin: 0px!important;
}

.project-list-wrapper .user.team-user {
    padding: 30px!important;
    box-shadow: none;
}

.user.team-user .project-roles .list {
    border-radius: var(--border-radius);
    overflow: hidden;
}

.team-user .list-item {
    padding: 12px 20px;
    padding-bottom: 11px!important;
    background-color: var(--extra-light);
    margin-bottom: 1px!important;
    border-radius: 0px!important;
}

    html .the-profile-body .profile-posts {
        padding: 30px;
    }

    html .profile-body.sidebar-open .profile-sidebar {
        display: inherit!important;
        width: 100%!important;
        z-index: 9999!important;
        position: fixed;
        min-width: 100%!important;
        height: calc(100vh - 63px)!important;
    }

    html .profile-body .the-profile-body-container {
        width: 100%!important;
        height: auto!important;
    }

    html .profile-page .card {
        padding: 20px 30px!important;
    }

.profile-user-meta.title {
    margin-bottom: 11px;
}

.user-profile-body.card.ql-editor .edit-profile-button .btn {
    float: left;
    margin: 0px!important;
    padding: 0px!important;
}

    html .profile-sidebar-meta {
        font-size: 11pt;
        height: 35px;
        line-height: 35px;
    }

    html .profile-sidebar-meta i {
        font-size: 18pt;
        line-height: 35px!important;
        vertical-align: middle!important;
        width: 30px;
        margin-right: 10px!important;
    }

    html .profile-page .the-profile-image {
        max-width: 150px!important;
        margin: 0px auto 50px!important;
    }

html .profile-page .the-profile-image {
    border-radius: var(--border-radius)!important;
}

    html .profile-project-section {
        height: auto!important;
        margin-bottom: -10px;
    }

    html .profile-project-section .col {
        text-align: left!important;
    }

    html .profile-project-section > .row {
        padding: 20px;
        background-color: var(--extra-light);
        border-radius: 5px;
    }

    html .profile-page-projects .project-name,
    html .profile-page-projects .col,
    html .profile-project-section .project-status {
        line-height: 20px;
        vertical-align: top!important;
    }

    html .project-roles-options,
    html .project-roles-options .custom-dropdown {
        text-align: left!important;
        height: 50px!important;
        line-height: 50px!important;
        display: inline-block!important;
        width: 100%!important;
        margin-top: 0px!important;
    }

    html .project-roles-options .custom-dropdown {
        float: right;
    }

    html .profile-task-items .items > .item .the-project-task-items {
        height: 50px!important;
        line-height: 50px;
        margin-bottom: -4px!important;
        margin-left: 0px!important;
        margin-right: 0px!important;
        padding: 0px 15px!important;
        width: 100%;
        background-color: var(--extra-light);
        border-radius: 5px;
    }

    html .project-roles-title {
        width: 80%!important;
        margin-bottom: 20px;
    }

html .user-list-section .project-roles-title {
    margin-left: 25px;
    margin-top: 25px;
    margin-bottom: 0px;
}

html .user-list-section .project-list-wrapper .project-roles-title {
    margin: 0px;
}

    html .the-profile-body .notifications-queue {
        width: 100%!important;
    }

    html body .the-profile-body #donutchart {
        width: 100%!important;
        max-width: 100%!important;
    }

    html .team-settings.settings-section .team {
        width: 100%!important;
        max-width: 100%!important;
        padding-right: 0px!important;
    }

    html .settings .sidebar {
        height: auto!important;
        padding: 20px!important;
    }

    html .settings .settings-section-wrapper.card {
        padding: 20px!important;
    }

    html .settings-wrapper,
    html .admin-settings-body{
        height: 100%!important;
        max-height: 100%!important;
        overflow-y: hidden;
        border-left: 1px solid var(--border);
    }

    html .account .settings-section-wrapper .col.s12.m6:nth-child(2n) {
        padding-left: 0px!important;
    }

    html .stat-widget {
        max-width: 100%!important;
    }

    html .account-sidebar .sidebar-body,
    html .account-sidebar.sidebar,
    html .timeline-page .timeline-items,
    html .the-support-page .board-sidebar, 
    html .support-page,
    html .collection-body {
        height: 100%!important;
        overflow-y: inherit!important;
        max-height: 100%!important;
    }

    html .timeline-page .timeline-items .account-activity-card {
        padding: 20px!important;
    }

    html .support-page {
        padding: 20px!important;
    }

    html .support-page .card.medium-card {
        width: 100%!important;
        padding: 0px!important;
    }

    html .the-release-notes {
        width: 85%;
    }

    html .context-buttons.right {
        width: auto!important;
        bottom: 0px;
        top: inherit;
    }

    .attachments-card,
    .project-item-activity,
    .spec-versions-card,
    .task-integration-card {
        padding: 40px;
    }

    .listing-item .listing-item-header {
        padding-top: 0px!important;
    }

    .notification-type-item .type-title {
        width: calc(100% - 60px)!important;
    }

    html .project-timelogs .timelog-day .timelog-date {
        width: 33%!important;
    }

    .timelog-checkbox.timelog-delete {
        top: 0px;
    }

    .document-settings .feature {
        flex: 0 0 100%!important;
    }
}

/* CHAT STYLES */

.chat-panels-container {
    display: flex;
    height: 100%;
    position: relative;
    width: 100%;
    max-width: 550px;
    background-color: var(--white);
}

.intelligence-session-settings-modal {
    width: 100%;
    height: calc(100dvh - 64px);
}

.intelligence-session-settings-modal .dropdown-selector > .ai-icon.jt1 {
    color: var(--primary);
    font-size: 18px;
    margin-right: 10px;
    margin-left: 5px;
}

.chat-expanded .chat-panels-container {
    max-width: 380px;
}

/* Mobile Navigation Header */
.mobile-nav-header {
    display: none;
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--white);
    border-bottom: 1px solid var(--border);
    padding: 12px 16px;
    align-items: center;
    justify-content: space-between;
}

.mobile-nav-back {
    cursor: pointer;
    padding: 8px;
    border-radius: 50%;
    transition: background-color 0.2s;
}

.mobile-nav-back:hover {
    background-color: var(--extra-light);
}

.mobile-nav-title {
    font-weight: 600;
    font-size: 16px;
    flex: 1;
    text-align: center;
}

.mobile-nav-actions {
    display: flex;
    align-items: center;
}

/* Desktop Layout */
.desktop-view .contacts-panel {
    width: 280px;
    min-width: 280px;
}

.desktop-view .main-chat-panel {
    flex: 1;
    min-width: 0;
}

.desktop-view .main-chat-panel.has-thread-sidebar {
    border-right: 1px solid var(--border);
}

.desktop-view .thread-sidebar-panel {
    width: 350px;
    min-width: 350px;
    background: var(--white);
    border-left: 1px solid var(--border);
}

/* Sidebar Mode (when chat is not expanded) */
.sidebar-view .contacts-panel {
    width: 100%;
}

.sidebar-view .main-chat-panel,
.sidebar-view .thread-sidebar-panel {
    display: none;
}

.nav-sidebar .sidebar-view.mobile-chat-view .contacts-panel {
    display: none;
}

.sidebar-view.mobile-chat-view .main-chat-panel {
    display: block !important;
    width: 100%;
    height: 100%;
}

.sidebar-view.mobile-thread-view .contacts-panel,
.sidebar-view.mobile-thread-view .main-chat-panel {
    display: none;
}

.sidebar-view.mobile-thread-view .thread-sidebar-panel {
    display: block;
    width: 100%;
    height: 100%;
}

/* Mobile Layout */
@media (max-width: 768px) {
    .mobile-nav-header {
        display: flex;
    }
    
    .chat-panels-container {
        flex-direction: column;
    }
    
    /* Mobile view states */
    .mobile-contacts-view .contacts-panel {
        display: block;
        width: 100%;
        height: 100%;
        max-width: 100%;
    }
    
    .mobile-contacts-view .main-chat-panel,
    .mobile-contacts-view .thread-sidebar-panel {
        display: none;
    }
    
    .mobile-chat-view .main-chat-panel {
        display: block !important;
        width: 100%;
        height: 100%;
    }
    
    .mobile-chat-view .contacts-panel,
    .mobile-chat-view .thread-sidebar-panel {
        display: none;
    }
    
    .mobile-thread-view .thread-sidebar-panel {
        display: block;
        width: 100%;
        height: 100%;
    }
    
    .mobile-thread-view .contacts-panel,
    .mobile-thread-view .main-chat-panel {
        display: none;
    }
    
    /* Hide desktop-specific elements on mobile */
    .mobile-contacts-view .general-header,
    .mobile-chat-view .general-header,
    .mobile-thread-view .general-header {
        display: none;
    }
    
    /* Adjust chat input for mobile */
    .mobile-chat-view .chat-input-container,
    .mobile-thread-view .chat-input-container {
        position: sticky;
        bottom: 0;
        background: var(--white);
        border-top: 1px solid var(--border);
        z-index: 10;
    }
}

/* Thread sidebar animations */
.thread-sidebar-panel.sliding-in {
    animation: slideInRight 0.3s ease-out;
}

@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Hide elements with utility classes */
.mobile-hidden {
    display: none !important;
}

.desktop-hidden {
    display: none !important;
}

/* Ensure proper scrolling in panels */
.contacts-panel,
.main-chat-panel,
.thread-sidebar-panel {
    overflow-y: auto;
    height: 100%;
    width: 100%;
}

.main-chat-panel {
    background-color: transparent;
    overflow-y: hidden;
}

/* Thread header styling */
.thread-header {
    position: sticky;
    top: 0;
    background: var(--white);
    border-bottom: 1px solid var(--border);
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 10;
}

.thread-back-button {
    cursor: pointer;
    padding: 8px;
    border-radius: 50%;
    transition: background-color 0.2s;
}

.thread-back-button:hover {
    background-color: var(--extra-light);
}

.thread-title {
    flex: 1;
    font-weight: 600;
    font-size: 16px;
}

/* Mobile fullscreen thread */
@media (max-width: 768px) {
    .mobile-fullscreen {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1000;
        background: var(--white);
    }
}

/* Contact item mobile touch targets */
@media (max-width: 768px) {
    .contact-item {
        padding: 16px;
        min-height: 60px;
        display: flex;
        align-items: center;
        border-bottom: 1px solid var(--border);
        cursor: pointer;
        transition: background-color 0.15s;
    }
    
    .contact-item:hover,
    .contact-item:active {
        background-color: var(--extra-light);
    }
}

/* Current Project Item - Fixed above footer */
.current-project-fixed {
    position: absolute;
    bottom: 50px; /* Above footer */
    left: 0;
    right: 0;
    z-index: 10;
    background: var(--white);
}

@media (max-width: 768px) {
    .current-project-fixed {
        position: relative;
        bottom: auto;
        border-top: none;
    }
}

/
@media (max-width: 768px) {
    .contacts-panel .chat-panel-container {
        padding-bottom: 0;
    }
}

/* Main chat panel integration with responsive system */
.main-chat-panel.chat-editor-container {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Chat messages mobile optimization */
@media (max-width: 768px) {
    .chat-message {
        padding: 8px 16px;
    }
    
    .message-actions {
        position: sticky;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
    }
}
@media screen and (max-width: 900px) {

    .listings .listing-items {
        min-width: 100%!important;
        padding-left: 0px!important;
        padding-right: 0px!important;
    }

    html body .listings .listing-item {
        padding: 0px 30px!important;
        padding-bottom: 40px!important;
        box-shadow: none!important;
        border-bottom: 1px solid var(--background-color)!important;
    }

    body .product-posts .listings {
        width: 100%!important;
        height: 100%!important;
        padding-left: 0px!important;
        padding-right: 0px!important;
        margin-top: 7px!important;
    }

    .listings .listing-author-info {
        margin-top: 3px!important;
    }
    
    .listing-title.vert-middle {
        display: inline-block!important;
    }

}

@media screen and (max-width: 1860px) {
    html body .spec-item .cke .cke_top {
        height: 66px!important;
    }

    html body .spec-item .cke .cke_contents {
        height: calc(100dvh - 245px)!important;
        scrollbar-gutter: auto;
    }

    html body .meta-panel .spec-item .cke .cke_contents {
        height: calc(100dvh - 241px)!important;
    }
}

@keyframes ai-dot-pulse {
	0%, 80%, 100% { opacity: 0.3; transform: scale(0.8); }
	40% { opacity: 1; transform: scale(1); }
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
    -webkit-appearance: none;
    margin: 0;
    padding: 0;
}

.vert-middle {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

ul.dropdown-content .selected {
    color: var(--primary)!important;
    margin-bottom: 0;
}

ul.dropdown-content .selected .number-of {
    color: var(--primary);
}

ul.dropdown-content .selected a {
    color: var(--primary)!important;
}

.listings .listing-item {
    padding: 40px;
    position: relative;
    background-color: var(--white);
    box-shadow: 0px 1px 2px var(--shadow);
    margin-bottom: 30px;
}

/* Transient highlight when scrolled to from a mention/notification click.
   scrollIntoView() adds .selected for 4s; the global `.selected { color: primary }`
   would otherwise recolor the whole card's text. */
.listing-item.selected {
    color: inherit;
    box-shadow: 0px 0px 0px 2px var(--primary);
    transition: box-shadow 0.3s ease;
}

.listing-item .listing-description ul {
    padding-left: 40px;
    margin-top: 1em;
    margin-bottom: 1em;
}

.listing-item .listing-description ul ul ul {
    margin-top: 5px;
    margin-bottom: 5px;
}

.listings .listing-item:hover .edit-post-actions {
    opacity: 1;
}

.listings .listing-item .row {
    display: block;
}

.listing-title .title {
    font-size: 13pt;
    line-height: 1.2;
    font-weight: 600;
    color: var(--dark);
}

.listing-meta-item {
    font-size: 8.5pt;
    display: inline-block;
    margin-right: 10px;
    border-radius: 2px;
    color: #777;
    cursor: pointer;
}

.listing-meta-item:hover {
    color: #16acd8;
}

.listing-meta-item i {
    font-size: 10pt;
    margin-right: 5px!important;
    line-height: 1!important;
    vertical-align: top;
}

.listing-meta {
    margin-top: 0px;
    line-height: 1;
}

.listing-item .listing-description {
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 5px 0px 20px!important;
    font-size: 14px;
    transition: all .5s ease-in-out;
    z-index: 1;
}

.listing-item .listing-description.ql-editor {
    padding-bottom: 20px!important;
    vertical-align: top;
}

.notes-container .listing-item .listing-description.ql-editor {
    padding-bottom: 10px!important;
    padding-top: 10px!important;
}

.panel-comments .listing-description.ql-editor .post-body-content {
    /* max-height: 40dvh; */
    /* overflow: hidden; */
    /* -webkit-line-clamp: 4; */
}

.panel-comments .single-post .listing-description.ql-editor .post-body-content {
    max-height: unset;
}

.panel-comments .listing-description.ql-editor.full .post-body-content {
    max-height: 100%!important;
}

.ai-convo .post-body-content {
    position: relative;
}

.ai-loading .ai-convo .post-body-content {
    max-width: 100px;
    max-height: 100px;
}

.ai-convo .post-body-content.ellipsis {
    white-space: normal;
}

.ai-convo .post-body-content ul, .ai-convo .post-body-content ol {
    white-space: normal;
    margin: 0!important;
}

.ai-convo .post-body-content ul li:last-child, .ai-convo .post-body-content ol li:last-child {
    margin-bottom: 0;
}

.ai-convo .post-waiting-section {
    display: block;
    width: 100%;
    padding-top: 30px;
}

.ai-convo .listing-description.ql-editor.no-padding {
    /* padding: 10px 0px 0px!important; */
}

.ai-convo.response .listing-description.ql-editor.no-padding {
    padding-top: 0px!important;
    padding-right: 0!important;
    padding-left: 0!important;
}

.image-annotations .listing-item .listing-description {
    padding: 0px 30px!important;
}

.support-page .listing-item .listing-description {
    z-index: 0;
}

.listing-item .listing-description.full {
    max-height: 100%;
}

.listings .listing-author-img {
    width: 40px;
    float: right;
    margin-left: 15px;
    color: #777;
    border-radius: 2px!important;
    overflow: hidden;
}.listings .listing-author-info {
    text-align: right;
    color: var(--icon-color);
}.listing-actions {
    font-size: 8.5pt;
    margin-top: 20px;
    display: inline-block;
    width: 100%;
}

.listing-item .listing-action {
    display: inline-block;
    margin-right: 20px;
    user-select: none;
    cursor: pointer;
    color: #9c9c9c;
    padding-left: 0px;
}

.listing-comment-body .listing-action i {
    font-size: 11.5pt;
    display: inline-block;
    margin-right: 4px;
    margin-top: 4px;
}

.listings .listing-items {
    padding-bottom: 20px;
}

body .listing-actions .listing-action:last-child {
    margin-right: 0px;
}

.listing-actions .listing-action.liked, .listing-actions .listing-action:hover {
    color: #16acd8;
}

.listing-actions .listing-action i {
    font-size: 12pt;
    margin-right: 5px;
}

.listing-actions .right {
    text-align: right;
}

.listings .zj-actions-bar-buttons {
    margin-bottom: 0px;
}

.listing-actions-meta {
    cursor: pointer;
}

.listing-actions-meta:hover, .listing-actions-meta:hover i {
    color: var(--primary);
}

.listing-actions-meta i {
    font-size: 12pt;
    color: #777;
}

.listing-actions-meta .like-details i {
    margin-right: 5px;
}

i.close-inline-dialog {
    margin-right: 0px!important;
    position: absolute;
    top: 10px;
    right: 10px;
    height: 20px;
    width: 20px;
    line-height: 20px;
    text-align: center;
    user-select: none;
    font-size: 10pt!important;
    padding: 0px;
    border-radius: 50px!important;
    color: var(--black);
    box-shadow: 0px 1px 2px var(--shadow);
    background-color: var(--xwhite);
}

i.close-inline-dialog:hover {
    background-color: var(--primary);
    color: var(--awhite);
}

.product-posts .listings {
    padding-left: 0px;
    padding-right: 0px;
    width: auto;
    margin: 40px auto!important;
    max-width: 780px;
    float: none;
}

.project-todos .product-posts .listings {
    max-width: 100%;
    padding-left: 0px!important;
    padding-right: 0px!important;
    height: calc(100dvh - 64px);
    overflow-y: auto;
    padding-bottom: 20px;
    margin-top: 0px!important;
    padding-top: 40px;
    padding-bottom: 40px;
}

.ai-convo.response .listing-item-header {
    padding: 0px;
    /* margin-bottom: 10px!important; */
}

.listing-item .listing-item-header {
    opacity: 1;
    z-index: 9;
}

.image-annotations .listing-item .listing-item-header {
    padding: 30px 30px 10px;
}

.listing-comment {
    font-size: 10pt;
}

.listing-comment:first-child {
    padding-top: 0px!important;
}

.listing-comments > .listing-comment::before {
    content: ' ';
    height: 100%;
    width: 1px;
    background-color: var(--border);
    position: absolute;
    left: 17px;
    z-index: 0;
    top: 20px;
}

.listing-comment {
    position: relative;
}

.listing-comment:hover .delete-comment {
    display: inline-block;
    bottom: 5px;
}

.listing-comment:hover .delete-comment i {
    margin-top: 0px;
    padding-bottom: 10px;
    padding-right: 0px;
    padding-left: 10px;
    font-size: 14pt;
    float: right;
}

.listing-author-comment {
    display: inline-block;
    line-height: 1.7;
    border-radius: 2px;
    font-size: 9pt;
}.listing-comments .comments-text-editor-author {
    width: 35px;
    max-width: 35px;
    min-width: 35px;
    margin-right: 15px;
    float: left;
    display: inline-block;
    padding-bottom: 20px;
    position: relative;
    z-index: 9;
}

.listing-comments .comments-text-editor {
    margin-top: 10px;
}

.listing-comments .comments-text-editor-textarea {
    overflow: hidden;
}

.listing-actions-meta.right i {
    margin-left: 7px;
}

/* files-043: the drop overlay is position:absolute with inset 0, so it sizes to
   the nearest POSITIONED ancestor. On the full-page posts surfaces that is the
   intent. On a task's Comments tab — a sub-panel — it would otherwise escape the
   panel and cover the page, including the Files tab's own drop zone. Confine it. */
.spec-item-comments-container.upload-here {
    position: relative;
}

.upload-items {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 9999;
    background-color: var(--primary);
    color: white;
    font-size: 16pt;
    opacity: 0!important;
    visibility: hidden!important;
    transition: opacity .2s ease-in-out;
    text-align: center;
}

.create-new-post .upload-items i {
    color: var(--awhite)!important;
}

.upload-items .upload-frame {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 20px;
    bottom: 20px;
    right: 20px;
    left: 20px;
    border: 2px dashed white;
    display: none;
    z-index: 999999999;
}

.hovered .upload-items .upload-frame {
    display: flex;
    align-items: center;
    justify-content: center;
}

.hovered .upload-items {
    visibility: visible!important;
    opacity: 1!important;
}

.image-upload {
    background-color: white;
    width: 70%;
    padding-top: 5px;
    padding-bottom: 5px;
    max-width: 640px;
    margin: 10px auto;
    border-radius: var(--border-radius-xs);
    font-size: 10pt;
    color: #18add6;
}

.upload-icon i {
    font-size: 60pt!important;
}

.upload-icon {
    margin-bottom: -20px;
    padding: 0px!important;
}

.uploaded-files {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    padding-top: 15px;
}

.uploaded-files .uploaded-file {
    padding-top: 20px;
    width: 100%;
    flex-grow: 1;
}

.uploaded-files .uploaded-file.file {
    padding: 10px 20px;
    font-size: 12px;
    color: var(--black);
    background-color: var(--light-white);
    position: relative;
    margin-top: 1px;
}

.uploaded-files .uploaded-file.file i {
    position: absolute;
    right: 15px;
    top: 10px;
    font-size: 13pt;
    color: var(--warning)!important;
    display: none;
    transition: all .3s ease-in-out;
    opacity: 0;
    cursor: pointer;
    user-select: none;
}

.uploaded-files .uploaded-file.file:hover i {
    display: block;
    opacity: 1;
}

.uploaded-files .uploaded-file.image {
    display: inline-block;
    float: left;
    max-width: 33.3%;
    position: relative;
}

.uploaded-files .uploaded-file.image i {
    position: absolute;
    bottom: 0px;
    right: 0px;
    color: var(--warning)!important;
    background: var(--white);
    width: 20px;
    height: 20px;
    font-size: 12pt;
    line-height: 20px;
    text-align: center;
    transition: all .3s ease-in-out;
    opacity: 0;
    cursor: pointer;
}

.uploaded-files .uploaded-file.image:hover i {
    opacity: 1;
}

.uploaded-files.image {
    display: inline-block;
    max-width: 33%;
    float: left;
    vertical-align: top;
    margin-right: 1%;
}

.uploaded-file.image .upload-image {
    height: 150px;
    background-size: cover;
    background-position: center center;
}

body .modal {
    padding: 40px 40px 30px;
}

body .modal .modal-content {
    padding: 0px;
}

.modal .modal-footer a:last-child {
    margin-right: -15px;
}

.modal .modal-footer .btn-flat {
    float: none!important;
}

.modal .modal-footer {
    text-align: right;
    background-color: transparent!important;
}

.ng-hide {
    height: 0px!important;
    width: 0px!important;
    overflow: hidden;
}

.search-results .clear-results {
    text-align: center;
    margin-bottom: 20px;
    background-color: var(--extra-light);
    padding-top: 5px;
    padding-bottom: 5px;
    cursor: pointer;
    border-radius: 50px;
    font-size: 9.5pt;
}

.search-results .clear-results:hover {
    background-color: #00a5d5;
    color: white;
}

.search-results ul {
    padding-left: 20px!important;
}

.search-results .search-result-item {
    margin-bottom: 2px;
    line-height: 20px;
    padding-bottom: 3px;
    list-style: none!important;
    font-size: 11pt;
}

.search-results .search-result-item:before {
    content: '\2022';
    color: var(--icon-color);
    margin-right: 5px;
    margin-left: -15px;
    font-weight: bold;
    font-size: 16pt;
    vertical-align: middle;
    line-height: .5;
}

.listing-meta .show-on-small {
    font-size: 8.5pt;
}

.listing-meta .show-on-small > div {
    display: inline-block;
}

.post-comment-actions {
    margin-top: -3px;
}.edit-post-actions i {
    font-size: 14pt;
    margin-right: 3px!important;
}

body .btn i, body .btn-large i, body .btn-floating i, body .btn-large i, body .btn-flat i, body .btn-transparent i {
    font-size: 13pt;
}

.post-comment-reply textarea {
    border: none;
    background-color: #f5f6f5!important;
    outline: none;
    padding: 5px;
    display: inline-block;
    width: 87%;
}

.post-comment-reply {
    margin-top: 5px;
}

.bold {font-weight: 600;}

.enhanced {
    margin-top: 10px!important;
}

.todo-option i {
    position: absolute;
    right: 0px;
    padding-left: 10px;
    padding-right: 10px;
    top: 0px;
    line-height: 45px;
}

.bottom10 {
    margin-bottom: 10px;
}

.sidebar-footer .btn-transparent.btn:first-child {
    padding-left: 0px!important;
}

.page {
    position: absolute;
    width: 82%;
    right: 0px;
    top: 64px;
    height: calc(100dvh - 64px);
    padding: 30px;
}

.page-title {
    font-size: 11pt;
    padding-bottom: 10px;
}

.overview-meta .meta-names::after {content: ', ';opacity: 0;display: none;}

.trend-chart {
    padding: 20px 0px;
}

.product-dialog {
    position: fixed;
    top: 0px;
    bottom: 0px;
    right: 0px;
    left: 0px;
    padding: 80px 30px;
    z-index: 9999999999999999999999999999999999999999999999999999999;
    background-color: rgba(0, 0, 0, .7);
}

.product-dialog .m6:first-child {
    padding-right: 15px!important;
}

.product-dialog .m6:last-child {
    padding-left: 15px!important;
}

.product-dialog .card {
    max-width: 840px;
    margin: 0px auto;
    padding: 40px;
}

.priorities-editor .card {
    max-width: 670px;
    display: block!important;
}

.priorities-editor .card .ta-right .btn:last-child {
    padding-right: 0px!important;
}

.priorities-editor .card .ta-right .btn i {
    color: var(--icon-color);
}

.priorities-editor .card .ta-right .btn i.selected {
    color: var(--primary);
}

.product-dialog .modal-buttons {
    text-align: right;
    margin-top: 20px;
}

.product-dialog .modal-buttons .btn:last-child {
    padding-right: 0px!important;
}

.product-dialog .sub-text {
    padding-bottom: 10px;
}

.btn.dropdown-btn {
    background-color: var(--light)!important;
    color: var(--black)!important;
    text-transform: initial;
    height: 45px;
    line-height: 45px;
    width: 100%;
    text-align: left;
    margin-bottom: 20px;
}

.btn.btn-transparent.dropdown-btn[data-activates="restoreOrder"] {
    margin-bottom: 0px;
    height: 50px;
    line-height: 50px;
    padding: 0px 20px!important;
}

.btn.dropdown-btn:hover {
    background-color: var(--extra-light)!important;
}

.product-list-item .left {
    padding-right: 30px;
    padding-left: 20px;
}

.product-list-item .right {
    padding-right: 20px;
}

.product-list-item div {
    display: inline-block;
    padding-left: 20px;
    padding-right: 20px;
    color: var(--black);
    width: 100%;
}

.product-list-item .right-side {/* text-align: right; */color: var(--light-text);/* float: right; */}

.product-list-item {
    padding: 20px 0px!important;
    line-height: 45px!important;
}

.product-list-item {
    line-height: 18px!important;
}

body .progress {
    background-color: var(--background-color);
    height: 10px;
}

.project-quick-stats .text-field.progress {
    max-width: calc(100% - 90px);
    display: inline-block;
    margin: 0px!important;
    margin-bottom: 1px!important;
    line-height: 30px;
}

.new-chart-name {
    font-size: 11pt;
    margin-bottom: 2px;
}

.new-chart-type.sub-text {
    font-size: 9pt;
    padding-bottom: 4px;
}

.new-chart-items {
    padding-top: 10px;
}

.rotate90 {
    transform: rotate(90deg);
}

.helper-text {
    text-align: left;
    font-size: 9.5pt!important;
    margin-bottom: 0px!important;
}

.settings-panel {
    position: absolute;
    right: 0px;
    top: 53px;
    background-color: var(--xwhite);
    z-index: 9999;
    width: 100%;
    max-width: 420px;
    box-shadow: 0px 1px 3px var(--shadow);
    border-radius: var(--border-radius-tiny);
}

.settings-panel.roadmap-settings {
    right: -40px;
    top: 56px;
    min-width: 400px;
}

body .settings-panel .setting-group .setting-group-header {
    font-size: 10pt!important;
    color: var(--primary);
    line-height: normal;
    margin-bottom: 0px!important;
}

.panel-buttons .sub-text {
    line-height: normal;
}

.setting-group .setting .text-field label {
    margin-bottom: 3px!important;
    line-height: 20px!important;
    font-size: 9pt;
}

.setting-group {
    padding-bottom: 10px;
}

.setting-group input {
    margin-bottom: 0px!important;
    padding-right: 20px!important;
    height: 50px!important;
    line-height: 50px!important;
}

.setting .text-field {
    line-height: normal;
}

.setting {
    padding-bottom: 10px;
}

.panel-buttons {
    text-align: right;
    padding-top: 10px;
    padding-bottom: 20px;
    padding-right: 30px;
    padding-left: 30px;
}

.change-columns .panel-buttons {
    margin-bottom: 5px;
}

.panel-buttons .btn {
    font-size: 10pt!important;
}

.panel-buttons .btn:last-child {
    padding-right: 0px!important;
    color: var(--primary)!important;
}

.panel-buttons .btn:first-child {
    padding-left: 0px!important;
}

.setting-group .sub-text {
    line-height: normal;
    margin-bottom: 10px;
    padding-bottom: 20px;
}

.settings-panel-body {
    max-height: calc(100dvh - 245px);
    margin: 0px 0px;
    padding: 0px 30px;
    position: relative;
}

.roadmap .settings-panel-body {
    max-height: calc(100dvh - 321px);
}

.change-columns .settings-panel-body {
    margin: 0px!important;
    padding: 0px 30px 30px;
    text-align: left;
}

.settings-panel-title {
    padding-bottom: 20px;
    font-size: 11pt!important;
    height: 62px;
    line-height: 62px;
    padding-left: 30px;
    padding-right: 30px;
    text-align: left;
}

.right-separator {
    padding-right: 2px;
}

body .chip {
    background-color: var(--white);
    color: var(--black);
    float: left;
    margin-bottom: 0px!important;
    /* margin-right: 5px; */
    position: relative;
}

.chip:last-child {
    margin-right: 10px!important;
}

body .chip:hover {
    background-color: var(--primary);
    color: var(--awhite);
}

body .chip:hover i {
    color: var(--awhite)!important;
}

body .chip:hover i {
    color: var(--awhite);
}

.tag-editor {
    padding-bottom: 20px;
}

.tag-editor-comp {
    padding: 0px 15px !important;
    background-color: var(--background-color);
    display: inline-block;
    width: 100%;
    padding-top: 5px!important;
    padding-bottom: 5px!important;
    border-radius: 5px;
}

.card-body {
    max-height: calc(100dvh - 260px);
    position: relative;
    margin-left: -40px;
    margin-right: -40px;
    padding-left: 40px;
    padding-right: 40px;
}

.dialog-buttons {
    padding-top: 20px!important;
}.full-screen-dialog {
    background-color: var(--white);
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    padding: 50px;
    height: 100dvh;
    overflow: overlay;
    box-sizing: border-box;
    z-index: 9999999999999999999999999999!important;
}

.spec-settings-editor .full-screen-dialog {
    background-color: var(--background-color);
    /* width: 480px; */
}

.omni-search.full-screen-dialog {
    text-align: center;
    opacity: 0;
    visibility: hidden;
}

.omni-search.full-screen-dialog h5 {
    margin-bottom: 10px;
    margin-top: 20px;
    font-weight: 200;
}

.omni-search.full-screen-dialog.active {
    opacity: 1;
    visibility: visible;
    background-color: var(--background-color);
}

.dark .omni-search.full-screen-dialog.active {
    background-color: var(--extra-light);
}

.close-fsd {
    top: -30px;
    right: -30px;
}

html body .omni-search.full-screen-dialog .projects-inline-searchbar input[type=text] {
    width: 100%!important;
    height: 64px!important;
    line-height: 64px!important;
    background-color: var(--white)!important;
    border-bottom: 1px solid var(--border)!important;
    padding-left: 30px!important;
    padding-right: 30px!important;
    border-radius: 5px 5px 0px 0px!important;
    display: inline-block;
}

.omni-search.full-screen-dialog .projects-inline-searchbar {
    border-radius: var(--border-radius-tiny);
    height: auto!important;
    margin: 0px;
    box-shadow: var(--box-shadow);
    background-color: var(--extra-light);
    width: 100%!important;
    max-width: 500px;
}

.the-projects-page .full-screen-dialog {position: fixed!important;display: block!important;top: 64px;height: calc(100dvh - 64px);}

.full-screen-dialog .left-contents {padding-right: 30px!important;}

.full-screen-dialog .right-contents {
    padding-left: 15px!important;
}

.full-screen-dialog .close-btn {
    position: absolute;
    right: 50px;
    top: 55px;
}

.list {
    margin-top: 10px;
}

.list-view .list {
    margin-top: 0px;
}

.list .list-item {
    cursor: pointer;
    padding-bottom: 5px;
}

.list .list-item .project-status {
    font-size: 10pt;
    float: left;
}

.list .list-item:hover {
    background-color: var(--light);
}

.list-view .list .list-item:hover {
    background-color: transparent;
    color: var(--primary);
}

.profile-projects .list .list-item:hover {
    background-color: transparent;
}

.list-view .li-name {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding-right: 20px!important;
}

.list .list-item .li-meta {
    font-size: 9pt;
    color: var(--light-text);
}

.inline-align {
    display: inline-block;
}

.inline-align:last-child {
    float: right;
}

.custom-dropdown {
    position: relative;
    display: inline-block;
    width: auto;
    line-height: 50px;
    height: 50px;
}

nav .project-roles-options .custom-dropdown {
    height: 50px;
    line-height: 50px!important;
}

body .custom-dropdown i {
    line-height: 56px!important;
    margin-left: 0px!important;
}

body .custom-dropdown .cd-handle i {
    line-height: 50px!important;
    margin-left: 5px!important;
}

.cd-list {
    position: absolute;
    left: 0px;
    min-width: 270px;
    bottom: 0px;
    z-index: 9999;
    box-shadow: 0px 1px 4px var(--shadow);
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
}

#selectTodoList, #selectTaskList {
    left: unset;
    right: 0px;
    user-select: none;
    min-width: 200px;
}

.project-roles-options .cd-list {
    right: 0px;
    top: 0px;
    left: unset;
    bottom: unset;
}

.footer-panel .project-roles-options .cd-list {
    top: unset!important;
    bottom: 0px;
    right: unset;
    left: 0px;
}

.my-task-list .cd-list {
    min-width: 150px;
}

.my-task-list .cd-list .cd-list-item {
    background-color: var(--xwhite);
}

.cd-list-item {
    padding: 0px 20px;
    background-color: var(--white);
    color: var(--black);
    height: 50px;
    line-height: 50px;
    cursor: pointer;
    position: relative;
    font-size: 13px;
}

html body .cd-list-item .lever {
    position: absolute!important;
    right: 0px;
    top: 20px;
}

.cd-list-item:hover {
    background-color: var(--hover-item);
    color: var(--primary);
}

.cd-handle {
    cursor: pointer;
}

.cd-handle:hover, .custom-dropdown .cd-handle:hover i {
    color: var(--primary)!important;
}

.link {
    cursor: pointer;
}

.link:hover {
    text-decoration: underline;
    color: var(--primary);
}

.activity-header {
    font-size: 10.5pt;
    margin-bottom: 10px;
}

.card .activity-header {
    margin-bottom: 15px;
}

.bottom20 {
    padding-bottom: 20px;
}

.row.margin-bottom-20, .margin-bottom-20 {
    margin-bottom: 20px!important;
}

.text-align-center {
    text-align: center;
}

.relative {
    position: relative;
}

.clear-input i {line-height: 45px;vertical-align: middle;display: inline-block;}

.ten .core-list-item .m3 {
    width: 28%!important;
}

.nine .core-list-item .m3 {
    width: 30%!important;
}

.eight .core-list-item .m3 {
    width: 38%!important;
}

.seven .core-list-item .m3 {
    width: 40%!important;
}

.six .core-list-item .m3 {
    width: 45%!important;
}

.five .core-list-item .m3, .four .core-list-item .m3, .three .core-list-item .m3, .two .core-list-item .m3 {
    width: 50%!important;
}

.one .core-list-item .m3 {
    width: 100%!important;
}

.text-field .switch label {
    display: inline-block;
    width: auto;
    float: right;
}

.w780 {
    max-width: 780px;
}

.top20 {
    padding-top: 20px!important;
}

.top40 {
    padding-top: 40px;
}

html body .right10 {
    padding-right: 10px!important;
}

html body .left10 {
    padding-left: 10px!important;
}

.text-field .dropdown-content li {
    line-height: 50px!important;
    color: var(--black);
    padding: 0px 15px;
}

.text-field .dropdown-content li a {
    padding-left: 0px;
    padding-right: 0px;
    color: var(--black);
}

.text-field #statuses .dropdown-content li a {
    color: initial!important;
}

.overview-meta .text-field #statuses.dropdown-content li a {
    color: unset;
}

.dropdown-content input[type="text"] {
    background-color: transparent!important;
    /* border-bottom: 1px solid var(--border)!important; */
    border-radius: 0px!important;
}

.dropdown-content li:hover input[type="text"] {
    background-color: var(--white)!important;
}

.dropdown-search-input input {
    height: 50px!important;
    line-height: 50px!important;
}

.dropdown-content li.user-searcher:hover input[type="text"] {
    background-color: var(--xwhite)!important;
}

.dropdown-content input[type="text"]:focus {
    border-bottom: 1px solid var(--black)!important;
}

html body .dropdown-content input[type="text"]:focus {
    border-bottom: 1px solid var(--veryvery-light)!important;
}

.dropdown-content .add-new {
    color: var(--primary)!important;
    text-transform: uppercase;
}

.valign-middle {
    display: table-cell;
}

.line-clamp {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.svg-icon img {
    vertical-align: middle;
}.mention-user {
    height: 45px;
    line-height: 45px;
    padding-left: 15px;
    padding-right: 15px;
    vertical-align: middle;
    cursor: pointer;
}

html body .light-text {
    color: var(--light-text)!important;
}

html body .light-text.good {
    color: var(--good)!important;
}

.svg-image {
    min-width: 150px;
}

.widget-header {
    font-size: 11pt;
    margin-bottom: 10px;
}

.extra-light-text {
    color: var(--light-text);
}

.font11 {
    font-size: 11pt;
}

.nav-widget-header {
    padding: 30px 30px 0px;
}

.nav-widget-header .btn.selected {
    border-bottom: none!important;
}

.inlineb {
    display: inline-block;
}

.width100 {
    width: 100%;
}

.primarycolor {
    color: var(--primary);
}

.top10 {
    padding-top: 10px;
}

.user-searcher i {
    position: absolute;
    right: 0px;
    top: 0px;
    padding-right: 20px;
}

body .user-searcher input[type="text"] {
    background-color: var(--xwhite)!important;
    margin-top: 0px!important;
    height: 50px;
    line-height: 50px;
    border-bottom: none!important;
}

.public-users {
    border-radius: 5px;
}

.ralign {
    text-align: right;
}

.collection-body {
    max-height: calc(100dvh - 322px);
    overflow-y: auto;
    border-radius: 0px 0px 10px 10px;
    background-color: var(--white);
    margin-left: -40px;
    padding-left: 40px;
    margin-right: -40px;
    padding-right: 40px;
}.cli-editor .a-collection .collection-body {
    margin: 0px;
    padding: 0px;
    border-radius: 0px 0px 5px 5px;
}

.dropdown-search-creator ul.dropdown-content {
    -webkit-mask-image: inherit;
}

.taright {
    text-align: right;
}

.the-profile-body-container {
    display: inline-block;
    float: right;
    width: calc(100% - 288px)!important;
    overflow-y: auto!important;
    height: calc(100dvh - 64px);
}

.primary {color: var(--primary);}

.strong {
    font-weight: 500;
}

.left15, .left15.col {
    padding-left: 15px!important;
}

.dropdown-content .loading-message {
    height: 50px!important;
    text-align: center;
    position: relative;
    display: inline-block;
    width: 100%;
}

.dropdown-content .loading-message i {
    float: none!important;
    margin: 0px auto;
    display: block;
    position: relative!important;
}

.full-width-override {width: 100%!important;}

.spec-body {width: calc(100% - 300px);float: right!important;height: calc(100dvh - 64px);}

.projects-sidebar.sidebar {height: calc(100dvh - 64px);margin-top: 0px;position: relative;width: 260px;float: left;display: block;/* transition: all .7s ease-in-out; */}

.full-screen .projects-sidebar.sidebar {
    left: -19%!important;
}

.component-toggle {width: 100%;clear: both;display: inline-block;border-radius: 5px;overflow: hidden;padding-left: 30px;padding-right: 30px;margin-bottom: 10px;}

.component-toggle .toggle-option {display: inline-block;width: 50%;float: left;text-align: center;padding: 0px;line-height: 40px;height: 40px;background-color: var(--background-color);font-size: 10pt;user-select: none;}

.component-toggle .toggle-option:last-child {
    border-radius: 0px 5px 5px 0px;
}

.full.component-toggle .toggle-option {width: 100%!important;border-right: none!important;}

.component-toggle .toggle-option:first-child {border-right: 1px solid var(--light);border-radius: 5px 0px 0px 5px;}

.toggle-option.selected {
    background-color: var(--primary);
    color: var(--awhite)!important;
    box-shadow: 0px 1px 3px var(--shadow);
    }

.component-toggle .toggle-option:hover {color: var(--primary);/* background-color: var(--light); */cursor: pointer;}

.dark-img img {opacity: .4!important;transition: opacity .5s ease-in-out;}

.dark-img img:hover {
    opacity: 1!important;
}

.dark-img img:hover, .dark-img .ssii:hover img {
    opacity: 1!important;
}

.dark img:hover {opacity: 1;}

.ta-left {text-align: left;}

.left5 {padding-left: 5px;}

.color-white, .color-white i {color: var(--black)!important;}

.color-black, .color-black i {
    color: var(--black)!important;
}

input[type=range] {
    height: auto!important;
    outline: none!important;
    border: none!important;
    margin: 0px!important;
}

input[type=range]+.thumb {background-color: var(--primary)!important;display: none;}

input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
    background-color: var(--primary)!important;
    box-shadow: none!important;
}

input[type=range]:focus {
  outline: none!important;
}
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  cursor: pointer;
  box-shadow: none!important;
    background-color: var(--light-text)!important;
  border-radius: 1.3px;
  border: none!important;
    outline:none!important;
}
input[type=range]::-webkit-slider-thumb {
  box-shadow: 1px 1px 1px var(--black), 0px 0px 1px var(--black);
  border: 1px solid var(--black);
  height: 36px;
  width: 16px;
  border-radius: 3px;
  background: var(--primary);
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: -14px;
}
input[type=range]:focus::-webkit-slider-runnable-track {
  background: var(--primary);
}
input[type=range]::-moz-range-track {
  width: 100%;
  height: 8.4px;
  cursor: pointer;
  box-shadow: 1px 1px 1px var(--black), 0px 0px 1px var(--black);
  background: var(--primary);
  border-radius: 1.3px;
  border: 0.2px solid var(--black);
}
input[type=range]::-moz-range-thumb {
  box-shadow: 1px 1px 1px var(--black), 0px 0px 1px var(--black);
  border: 1px solid var(--black);
  height: 36px;
  width: 16px;
  border-radius: 3px;
  background: var(--border);
  cursor: pointer;
}
input[type=range]::-ms-track {
  width: 100%;
  height: 8.4px;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  border-width: 16px 0;
  color: transparent;
}
input[type=range]::-ms-fill-lower {
  background: var(--primary);
  border: 0.2px solid var(--black);
  border-radius: 2.6px;
  box-shadow: 1px 1px 1px var(--black), 0px 0px 1px var(--black);
}
input[type=range]::-ms-fill-upper {
  background: var(--primary);
  border: 0.2px solid var(--black);
  border-radius: 2.6px;
  box-shadow: 1px 1px 1px var(--black), 0px 0px 1px var(--black);
}
input[type=range]::-ms-thumb {
  box-shadow: 1px 1px 1px var(--black), 0px 0px 1px var(--black);
  border: 1px solid var(--black);
  height: 36px;
  width: 16px;
  border-radius: 3px;
  background: var(--primary);
  cursor: pointer;
}
input[type=range]:focus::-ms-fill-lower {
  background: var(--primary);
}
input[type=range]:focus::-ms-fill-upper {
  background: var(--primary);
}

.request-center {
    position: fixed;
    bottom: 30px;
    right: 15px;
    padding-right: 0px;
    padding-bottom: 0px;
    width: 50px;
}

.com-request img {
    width: 50px;
    height: 50px;
    border-radius: 50px;
    box-shadow: 0px 1px 3px var(--shadow);
    background-color: var(--primary);
}

.com-request .tiny-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    height: 25px;
    line-height: 25px;
    visibility: visible;
    opacity: 1;
}

.com-request .tiny-badge.remove {
    visibility: hidden;
    opacity: 0;
    transition: opacity .3s ease-in-out;
}

.com-request:hover .tiny-badge.remove {
    visibility: visible;
    opacity: 1;
}

.com-request .tiny-badge i {
    height: 20px;
    width: 20px;
    text-align: center;
    border-radius: 50px;
    line-height: 20px;
    font-size: 10pt;
    color: var(--awhite);
    background-color: var(--primary);
}

.com-request {
    line-height: 50px;
    display: grid;
    cursor: pointer;
    position: relative;
    margin-top: 7px;
    background-color: var(--primary);
    border-radius: 50px;
}

.communication-center {
    z-index: 99999999999999999999;
}

.color-warning {
    color: var(--warning);
}

.italic {
    font-style: italic;
}

.absolute {
    position: absolute;
}

.top0 {
    top: 0px;
}

.checkbox-selector {
    height: 35px;
    line-height: 35px;
    text-transform: capitalize;
    vertical-align: middle;
    cursor: pointer;
    white-space: nowrap;
}

.checkbox-selector i {vertical-align: middle;margin-right: 10px;height: 35px!important;line-height: 32px!important;color: var(--icon-color)!important;}

.strikethrough {
    text-decoration: line-through;
    color: var(--light-text);
}

.mobile-close-btn {
    position: absolute;
    top: -2px;
    right: 0px;
}

.section-tabs .btn-tab.active {color: var(--primary)!important;/* border-bottom: 1px solid var(--primary); */}

.section-tabs .btn-tab {border-radius: 0px!important;font-size: 10pt!important;font-weight: 400;border-bottom: 1px solid transparent;color: var(--black)!important;margin-bottom: -1px!important;}

.account .section-tabs .btn-tab {
    margin-left: -2px;
}

.section-tabs {
    /* padding-bottom: 5px; */
}

.space-settings-page .section-tabs {
    max-width: 1040px;
    margin: 0px auto!important;
    padding-bottom: 0;
}

.intelligence-settings .section-tabs {
    /* padding-bottom: 5px; */
    /* margin-top: -16px; */
}

.btn.btn-clear {
    position: absolute!important;
    right: 0px;
    top: 0px;
    width: 50px!important;
    height: 50px!important;
    text-align: center!important;
}

.btn.btn-clear i {
    line-height: 40px!important;
    position: relative!important;
}

.stabs {
    margin-top: 0px;
    margin-bottom: 5px;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    padding: 10px 30px!important;
    box-shadow: var(--box-shadow);
}

.inline-user-selector {
    position: absolute!important;
    right: 0px;
    top: 0px;
    z-index: 99999;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
}

.inline-user-selector .user-list {
    max-height: 40dvh;
    overflow-y: auto;
}

.user-viewer {
    position: relative;
    background-color: var(--background-color);
    padding: 30px;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.account .user-viewer {
    background-color: var(--white);
    padding: 40px;
}

.right20, .col.right20 {
    padding-right: 20px!important;
}

.project-menu-items a {
    color: var(--black)!important;
}

.embeded-spec-item-link {
    background-color: var(--extra-light)!important;
    padding: 1px 8px;
    border-radius: 50px;
    cursor: pointer;
    border: 1px solid var(--border);
}

.embeded-spec-item-link:hover {
    background-color: var(--primary)!important;
    color: var(--awhite)!important;
    border-color: var(--primary)!important;
}

.table-data-cell.col.m1 {
    padding-right: 20px!important;
}

.tdc-title {
    color: var(--black);
    height: 50px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.table-data-cell-subitem .btn.btn-transparent, .table-data-cell-subitem .ds-text {
    height: 50px;
    line-height: 50px;
    vertical-align: middle;
    font-size: 9pt;
    width: 100%;
    padding-left: 0px;
    text-transform: inherit;
    text-align: center;
}

.table-data-cell-subitem .text-field.with-dropdown .btn {
    padding-right: 0px!important;
    text-align: center;
}

.table-data-cell-subitem .btn.btn-transparent i {
    line-height: 51px;
    vertical-align: middle;
    width: auto;
    right: -10px;
    position: absolute;
    color: var(--light-text);
    opacity: 0;
    padding-left: 3px;
}

.table-data-cell-subitem .btn.btn-transparent:hover i {
    opacity: 1;
}

.project-tasks-body {
    height: calc(100dvh - 224px);
    background-color: var(--white);
    border-radius: 0px 0px 10px 10px;
    overflow-x: hidden;
}

.project-tasks .col-default {
    opacity: 0;
}

.project-tasks .col-default:hover {
    opacity: 1;
}

.outline-editor .project-item.outline-title input {
    font-size: 10pt!important;
    font-weight: 400!important;
    margin-bottom: 10px!important;
}

.outline-editor .project-item.is-pending input {
    opacity: 0.6;
}

.outline-editor .project-item .wrapper i.oe-drag-handle {
    position: absolute;
    left: -18px;
    top: 6px;
    font-size: 14px;
    color: var(--light-text);
    cursor: grab;
    opacity: 0;
    transition: opacity 0.15s;
    z-index: 2;
    user-select: none;
}

.outline-editor .project-item:hover .wrapper i.oe-drag-handle {
    opacity: 0.5;
}

.outline-editor .project-item .wrapper i.oe-drag-handle:hover {
    opacity: 1 !important;
    color: var(--primary);
}

.outline-editor .project-item .wrapper i.oe-drag-handle:active {
    cursor: grabbing;
}

.oe-sort-placeholder {
    border: 1px dashed var(--light-border);
    border-radius: 3px;
    margin-bottom: -7px;
    height: 32px !important;
    min-height: 0 !important;
    max-height: 32px !important;
    background: transparent;
    padding: 0 !important;
    margin-top: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
.oe-sort-placeholder * {
    display: none !important;
}

.outline-editor .indenting .wrapper::before {
	color: var(--status-color, var(--light-text));
}
.project-outline-item .title::before {
	color: var(--status-color, var(--orange));
}

.outline-editor .outline-delete-section {
    position: relative;
    padding: 0;
    /* margin-left: -5px; */
    /* margin-top: -5px; */
}

.outline-editor .outline-delete-section i {
    font-size: 19px;
    margin-right: 9px;
}

.outline-editor .outline-delete-section .inline-dialog {
    position: absolute;
    bottom: 100%;
    left: 0;
    z-index: 9999;
    margin-bottom: 4px;
}

.ellipsed {overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}

[contenteditable=true]:empty:not(:focus):before {
    content: 'Add replies. Use @ to mention.';
    color: var(--light-text);
    cursor: text;
    pointer-events: none;
}

.add-todo [contenteditable=true]:empty:not(:focus):before {
    content: 'Add todos. Use @ to assign and # to tag...';
}

[contenteditable=true] {
    outline: none!important;
}

.ticket-todos .add-todo [contenteditable=true] {
    min-height: 50px;
    border-bottom: 1px solid var(--border);
    padding: 15px 30px 0px 0px;
    max-height: 50dvh;
    overflow-y: auto;
    font-family: var(--body-font);
}

.edit-todo-body [contenteditable=true] {
    min-height: 90px;
    background-color: var(--background-color);
    padding: 15px;
    border-radius: 5px;
    font-size: 11pt;
}

.content-editable {
    background-color: var(--background-color)!important;
    padding: 15px;
    text-align: left;
    width: calc(100% - 0px)!important;
    min-height: 70px;
    float: right;
    border-radius: var(--border-radius-tiny);
    border: 1px solid var(--light-border);
    font-size: 10pt;
}

.image-annotations .leave-todo-comment .content-editable {
    width: calc(100% - 28px)!important;
}

.comment-comment-reply .content-editable {
    width: 100%!important;
    font-size: 10pt;
    line-height: 1.6;
}

.selected {
    color: var(--primary);
}

.user-menu.header-profile-menu img {
    max-width: 30px;
    max-height: 30px;
    border-radius: 5px;
    vertical-align: middle;
    margin-top: -1px;
}

.post-reactions .like-num {
    cursor: pointer;
    height: 20px;
    line-height: 20px;
    width: 20px!important;
    margin-top: 0px;
    margin-left: -3px;
}

.post-reactions .like-num:hover {
    background-color: var(--highlight);
    color: var(--ablack);
}

.post-reactions .show-who {
    padding-top: 5px;
    margin-bottom: 0px!important;
    padding-right: 35px!important;
}

.inline-dialog .btn {
    height: 20px;
    line-height: 20px;
    vertical-align: top;
    padding-right: 0px!important;
    position: absolute;
    top: 15px;
    right: 15px;
}

body .team-settings .inline-dialog .btn {
    position: relative!important;
    top: 0px;
    padding: 0px 5px!important;
    height: 45px!important;
    line-height: 45px;
    right: 0px;
    width: auto!important;
    margin-left: 10px;
}

.inline-dialog .btn i {
    font-size: 12pt;
}

.show-who .btn i {
    line-height: 20px;
    height: 20px;
    margin-top: -10px;
}

.selectable {
    cursor: pointer;
}

.add-existing-items {
    background-color: var(--veryvery-light);
    border-radius: 10px;
    box-shadow: 0px 1px 3px var(--shadow)!important;
    width: calc(100% + 30px);
    max-height: calc(50dvh);
    overflow-y: auto;
    z-index: 99999999999999999;
    margin-bottom: 6px;
    margin-left: -15px;
    margin-right: -15px;
    margin-top: 5px;
}

.add-existing-items .list-item {
    padding: 0px 15px;
    font-family: var(--body-font);
    color: var(--black);
    height: 50px;
    line-height: 50px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.list-title {
    padding: 5px 15px;
    text-transform: uppercase;
    font-size: 9pt;
    color: var(--primary);
}

html body ul li.dropdown-search-input input[type="text"] {
    margin-bottom: 0px!important;
    padding: 0px 20px!important;
    font-size: 9.5pt!important;
    border-bottom: none!important;
    color: var(--black);
}

html body ul li.dropdown-search-input input[type="text"]:focus {
    border-bottom: none!important;
}

.dropdown-search-input i {
    position: absolute;
    right: 0px;
    height: 45px;
    width: 45px;
    text-align: center;
    line-height: 46px;
    font-size: 12pt;
    color: var(--black);
}

.dropdown-search-input i:hover {
    color: var(--primary);
}

.overflow-menu.oe {
    /* height: 33dvh; */
}

.cke_autocomplete_panel {
    background-color: var(--white)!important;
}

.admin-settings-section h6 {
    font-size: 13pt!important;
    margin-bottom: 0;
    font-weight: 400!important;
}

.admin-settings .card, 
html .account.settings .card {
    padding: 0!important;
    background: none!important;
    border: none!important;
    box-shadow: none!important;
}

.account.settings .github .card {
    background-color: var(--white)!important;
    padding: 40px!important;
    box-shadow: var(--box-shadow)!important;
}

html .admin-settings .card, html .account.settings .card.card-enforced {
    padding: 40px!important;
    background-color: var(--white)!important;
    height: auto!important;
    box-shadow: var(--box-shadow)!important;
}

html .account.settings .settings-section .card {
    /* background-color: var(--white)!important; */
    /* padding: 40px!important; */
    margin-bottom: 5px!important;
    margin-top: 0!important;
    /* box-shadow: var(--box-shadow)!important; */
}

.settings-section .github .card {
    padding: 40px!important;
}

.sso-settings-page .card {}

html .account.settings .integration-editor.jira .integrations-body .card {
    padding: 0px!important;
    background-color: transparent!important;
    box-shadow: none!important;
    border-radius: 0!important;
}

html .account.settings .okr-editor .card {
    background-color: var(--white)!important;
    box-shadow: var(--box-shadow)!important;
    padding: 40px!important;
}

.list-commas::after {
    content: ', ';
}

.list-commas:last-child::after {
    content: '';
}

span.list-commas:last-child::after {
    content: '';
}

.sp-spec-list-title {
    margin-top: 30px;
    margin-bottom: 10px;
    text-transform: uppercase;
    max-width: 800px;
    margin: 0px auto 3px;
    color: var(--light-text);
    font-weight: 600;
}

.sps-body .sp-spec-list-title {
    margin-top: 20px;
    margin-bottom: 20px;
}

.sp-spec-list:first-child .sp-spec-list-title {
    margin-top: 0px!important;
}

.sp-spec-list {
    padding: 10px 0px 20px;
    max-width: 800px;
    margin: 0px auto 20px;
}

.sidebar-body .sp-spec-list:first-child {margin-top: 0px!important;padding-top: 0px!important;}

.full-screen {
    position: fixed!important;
    top: 0px!important;
    left: 0px!important;
    right: 0px!important;
    bottom: 0px!important;
    background-color: var(--xwhite)!important;
    z-index: 9999999999999999999!important;
    height: 100dvh!important;
    padding: 0px!important;
    display: inline-block!important;
    width: 100vw!important;
}

.row.component-sl-item {
    height: 50px;
    line-height: 50px;
    padding: 0px 20px;
    background-color: var(--extra-light);
    list-style: none;
    margin-bottom: 1px!important;
    vertical-align: top;
}

.dark .row.component-sl-item {
    margin-bottom: 2px!important;
}

.row.component-sl-item.integration-listing {
    background-color: var(--white)!important;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.meta-panel .row.component-sl-item.integration-listing {
    background-color: var(--background-color)!important;
}

body .row.integration-listing:hover {
    background-color: var(--extra-light)!important;
}

.jira-integration-project-link .component-sl-item {
    cursor: inherit!important;
    padding-right: 0px;
    padding-left: 20px!important;
    background-color: var(--white);
    margin: 0px!important;
}

.jira-integration-project-link .component-sl-item:first-child {
    border-bottom: 1px solid var(--border);
    margin-bottom: 0px!important;
    border-radius: var(--border-radius-tiny) var(--border-radius-tiny) 0px 0px;
    cursor: pointer!important;
}

.jira-integration-project-link .dropdown-selector:hover {
    background-color: var(--extra-light)!important;
}

.component-sl-item:last-child {
    margin-bottom: 0px;
}

.component-simple-list .component-sl-item a, 
.component-simple-list .component-sl-item {
    color: var(--black);
}

.component-simple-list .component-sl-item .num-of {
    height: 20px;
    width: 20px;
    border-radius: 5px;
    background-color: var(--primary);
    color: var(--awhite);
    text-align: center;
    line-height: 20px;
    margin-top: 16px;
    font-size: 9pt;
}

.component-simple-list .component-sl-item.add-new-item, .component-simple-list .component-sl-item.add-new-item:hover {
    background-color: var(--light)!important;
}

html body .jira-integration-project-link .component-simple-list .component-sl-item.add-new-item {
    padding-left: 0px!important;
    margin-bottom: 20px!important;
    border-radius: var(--border-radius-tiny)!important;
    height: 50px;
    line-height: 50px;
    background-color: var(--white)!important;
    box-shadow: var(--box-shadow);
}

.component-simple-list .component-sl-item.add-new-item, .component-simple-list .component-sl-item.add-new-item:last-child {
    margin-bottom: 1px!important;
}

.add-new-item .col {
    height: 50px;
    border-right: 1px solid var(--border);
}

.add-new-item .col:last-child {
    border-right: none!important;
}

html body .left20 {
    padding-left: 20px!important;
}

html body .left15 {
    padding-left: 15px!important;
}

.component-sl-item .btn {
    height: 50px;
}

.component-simple-list .component-sl-item:hover {
    cursor: pointer;
}

.jira-header-row:hover {
    background-color: var(--extra-light);
}

.jira-header-row:hover a {
    color: var(--primary)!important;
    text-decoration: none!important;
}

.jira-header-row:hover a.jira-open-in-external {
    color: var(--black)!important;
}

.jira-header-row:hover a.jira-open-in-external:hover {
    color: var(--primary)!important;
}

a.component-sli-text:hover, a.component-sli-text.sub-text:hover {
    color: var(--primary)!important;
}

li.component-sl-item a:hover {
    text-decoration: none;
}

li.component-sl-item i {
    line-height: 50px;
    height: 50px;
    vertical-align: middle;
    margin: 0px 6px;
    font-size: 13pt;
    cursor: pointer;
}

.jira-integration-project-link .component-sl-item i {font-size: 12pt;line-height: 49px;vertical-align: middle;/* margin-left: -33px!important; */right: 14px;cursor: pointer;}

.jira-integration-project-link .component-sl-item i:hover {
    color: var(--primary);
}

.jira-integration-project-link .component-sl-item .the-actions i {
    margin-left: unset!important;
}

.component-sli-text.sub-text {
    color: var(--light-text)!important;
    margin-bottom: 0px!important;
    padding-left: 3px;
}

.component-sli-text.sub-text.status-field {
    border-right: 1px solid var(--border);
}

.component-sli-text.sub-text .dropdown-content {
    max-width: 380px;
    width: 100%;
}

.component-sli-text .dropdown-selector i {
    line-height: 50px;
    width: 20px;
    margin-left: 2px;
    font-size: 13pt;
    text-align: center;
    position: absolute;
    right: 10px;
}

.inline-image img {
    display: inline-block!important;
    max-height: 17px!important;
    line-height: 40px!important;
    box-shadow: none!important;
    margin-right: 2px;
    vertical-align: middle;
    margin-top: -2px;
    margin-left: 5px;
    width: auto;
}

.component-sli-text .dropdown-selector {
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
    padding-right: 30px;
    padding-left: 20px;
    text-align: left;
    background-color: var(--white);
    vertical-align: top;
    height: 50px;
}

.component-sli-text.status-field .dropdown-selector {
    border-right: 1px solid var(--border);
}

.component-sli-sub-row .col.s6 .dropdown-selector {
    border-left: none!important;
    border-right: 1px solid var(--border);
    background-color: var(--white);
}

.jira-sub-row.component-sli-sub-row .col.s6 .dropdown-selector {
    border-bottom-left-radius: var(--border-radius-tiny);
}

.component-sli-text .dropdown-selector img {
    width: 18px;
    margin-top: 16px;
    margin-right: 8px;
    box-shadow: none;
}

.component-sli-text.s1 .dropdown-selector {
    padding: 0px!important;
    height: 50px;
    text-align: right;
    border-bottom-right-radius: var(--border-radius-tiny);
}

.component-sli-text.s1 .dropdown-selector i {
    text-align: center;
    right: 0px;
    width: 100%;
}

.component-sli-text .dropdown-selector:hover {background-color: var(--light);}

.component-sli-text:last-child {
    padding-right: 0px;
}

.component-sli-text.status-field {
    text-align: right;
}

.dropdown-content.single-item-dropdown {
    max-height: 50dvh!important;
    border-radius: var(--border-radius-smallish)!important;
}

.dropdown-content.single-item-dropdown li .user-image {
    max-width: 30px;
    max-height: 50px!important;
    line-height: 50px!important;
    vertical-align: middle;
    padding-right: 10px;
    float: left;
}

.component-sli-text input {
    font-size: 10pt!important;
    margin-bottom: 0px!important;
    height: 50px!important;
}

.dropdown-search-input-container {
    padding-left: 0px!important;
    padding-right: 0px!important;
}

.dropdown-search-input-container input {
    padding-left: 20px!important;
    padding-right: 20px!important;
}

.component-simple-list {
    border-radius: 5px;
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}

.rotate {
    animation: rotation 1.4s infinite linear;
}

.wrap-overflow-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body .as-icon {
    position: absolute;
    font-size: 10pt;
    background-color: var(--white);
    height: 26px;
    width: 26px;
    text-align: center;
    vertical-align: middle;
    line-height: 24px!important;
    border-radius: 50px;
    margin-top: 12px;
    cursor: default;
    user-select: none;
    font-size: 12pt!important;
    border: 1px solid var(--border);
    transform: rotate(90deg);
    color: var(--good)!important;
}

html body .row.component-sli-sub-row {
    vertical-align: top;
}

.row.component-sli-sub-row.jira-sub-row {
    height: 50px;
    line-height: 50px;
    border: none;
    background-color: transparent;
    margin-top: 0px!important;
}

.component-sli-sub-row:last-child {border-radius: 0px 0px var(--border-radius-tiny) var(--border-radius-tiny);}

.row.component-sli-sub-row .option-title {
    display: inline-block;
    width: 100%;
    color: var(--light-text);
}

.jira-quick-view .row .option-title {
    font-weight: 400;
    color: var(--black);
    margin-top: -10px;
}

.jira-quick-view .option-title {
    font-size: 15px;
}

.row.component-sli-sub-row .content-editable {
    background-color: var(--background-color)!important;
    font-size: 14px;
    padding-left: 90px;
}

.dark .row.component-sli-sub-row .content-editable {
    background-color: var(--light)!important;
}

html body .no-r-padding {
    padding-right: 0px!important;
}

.row.component-sli-top-row {
    height: 30px;
    line-height: 30px;
    vertical-align: top;
}

.dropdown-search-creator .dropdown-content .user-image img {
    margin-right: 0px!important;
}

.cke_panel_listItem > a {
    padding: 10px!important;
}

html body .cke_panel_listItem a {
    height: 50px!important;
    line-height: 50px!important;
    padding: 0px 15px!important;
    border: none!important;
    outline: none!important;
}

html body .cke_panel_listItem a h1,
html body .cke_panel_listItem a h2,
html body .cke_panel_listItem a h3,
html body .cke_panel_listItem a h4,
html body .cke_panel_listItem a h5,
html body .cke_panel_listItem a h6,
html body .cke_panel_listItem a p,
html body .cke_panel_listItem a div {
    font-family: var(--body-font)!important;
}

.cke_combopanel {
    width: 200px!important;
}

.cke.cke_combopanel {
    box-shadow: 0px 1px 5px var(--shadow);
    border-radius: 5px;
    background-color: var(--white)!important;
}

.cke_panel_grouptitle {
    display: none!important;
}

.cke_dialog_ui_checkbox label::before {
    height: 15px!important;
    width: 7px!important;
}

.cke_dialog_contents .cke_dialog_ui_checkbox label::before {
    width: 15px!important;
    height: 15px!important;
    line-height: 15px!important;
    vertical-align: middle!important;
    cursor: pointer;
}

.cke_dialog_contents .cke_dialog_ui_checkbox:hover label::before {
    border-color: var(--black)!important;
}

.cke_dialog_contents [type="checkbox"]:checked+label::before {
    width: 6px!important;
    margin-left: 4px;
    height: 17px!important;
    margin-top: 2px;
    border-left-color: transparent!important;
    border-top-color: transparent!important;
}

.cke_dialog .cke_tpl_item td span {
    font-family: var(--body-font);
}

.cke_dialog .cke_tpl_item td span.cke_tpl_title {
    font-family: var(--body-font);
    font-size: 10pt;
    margin-bottom: 2px!important;
    display: inline-block;
    width: 100%;
    color: var(--black)!important;
}

.cke_dialog_contents_body .cke_tpl_list > a:first-child {
    border-radius: 5px 5px 0px 0px!important;
    overflow: hidden;
}

.cke_dialog_contents_body .cke_tpl_list > a:last-child {
    border-radius: 0px 0px 5px 5px!important;
}

.spec-item .cke_contents .cke_wysiwyg_div pre {
    overflow: auto!important;
    white-space: break-spaces;
}

html .linked-comment, .open-in-new-container .linked-comment {
    background-color: var(--primary);
    color: var(--white);
    transition: all .25s ease-in;
}

.state-comments .linked-comment a,
.open-in-new-container .linked-comment a {
    color: var(--white);
    text-decoration: underline;
}

.state-comments .my-private-comment.linked-comment.private,
.open-in-new-container .my-private-comment.linked-comment.private  {
    background-color: var(--primary)!important;
    color: var(--white)!important;
    cursor: pointer!important;
}

.state-comments .linked-comment:hover, 
.state-comments .my-private-comment.linked-comment.private:hover,
.open-in-new-container .linked-comment:hover, 
.open-in-new-container .my-private-comment.linked-comment.private:hover {
    background-color: var(--good)!important;
}

.state-comments .linked-comment.selected, 
body .linked-comment.selected,
.open-in-new-container .linked-comment.selected {
    background-color: var(--good)!important;
    color: var(--ablack)!important;
}

.state-comments .linked-comment.private.selected, 
.state-comments .linked-comment.private, 
body .linked-comment.private.selected, 
body .linked-comment.private {
    background-color: transparent!important;
    color: var(--black)!important;
    cursor: text!important;
}

.state-comments .my-private-comment.linked-comment.private.selected, 
body .my-private-comment.linked-comment.private.selected {
    background-color: var(--good)!important;
    color: var(--ablack)!important;
    cursor: pointer!important;
}

.linked-todo:hover, .linked-comment:hover {
    cursor: pointer;
    background-color: var(--primary);
    color: var(--awhite);
}

.todo-selected-text .linked-comment {
    background-color: var(--good);
    color: var(--ablack);
}

.the-project-boards {
    max-height: calc(100dvh - 64px);
}

.btn.btn-new2023 {
    border-radius: 5px!important;
    margin-right: 2px;
    font-size: 9pt;
}

.btn.toggle-btn {
    background-color: var(--white);
    color: var(--black);
}

.btn.toggle-btn.selected {
    background-color: var(--primary);
    color: var(--awhite);
}

.set-post-privacy .chip {
    font-size: 9pt;
    color: var(--light-text);
    height: 25px;
    line-height: 25px;
    margin-top: -1px;
    margin-right: 0px!important;
    border: none;
}

.set-post-privacy .chip:hover {
    background-color: var(--extra-light);
}

.set-post-privacy .chip i {
    font-size: 9pt;
    margin-right: 6px;
    margin-left: -2px;
    float: left;
    line-height: 26px;
}

.jira-icon {
    width: 16px;
    margin-right: 10px;
    vertical-align: middle;
    box-sizing: border-box;
    max-height: 50px;
}

.jira-icon img {
    box-shadow: none!important;
    width: 18px!important;
}

.jira-header-row .jira-icon img {
    vertical-align: middle;
    margin-top: -4px;
}

.notes-page {
    height: calc(100dvh - 64px);
    overflow-y: auto;
    padding-top: 50px!important;
    padding-bottom: 50px;
}

body .cke_dialog_body .cke_tpl_preview {
    margin-left: 0px!important;
    padding-left: 0px!important;
    margin-right: 0px!important;
    padding-right: 0px!important;
    width: 100%!important;
}

body .cke_dialog_body .cke_tpl_preview td span {
    font-family: var(--body-font)!important;
    text-decoration: none!important;
    color: var(--light-text)!important;
}

body .cke_dialog_body .cke_tpl_item {
    padding: 10px 15px!important;
    margin-bottom: 1px!important;
}

.overview-fl {
    width: 110px!important;
    display: inline-block;
    padding-right: 10px;
}.complex-li-main {
    line-height: 20px;
    padding: 10px 0px;
    text-align: left;
    display: block;
    float: none;
    width: 100%;
}

.product-list-item.complex-li {
    padding: 0px 0px!important;
}

.complex-li-sub {padding: 0px!important;color: var(--light-text)!important;}

.circle-number {
    display: inline-block;
    min-width: 20px;
    height: 20px;
    background-color: var(--background-color);
    color: var(--black);
    text-align: center;
    border-radius: 20px;
    font-size: 8pt;
    line-height: 20px;
    padding: 0px 5px;
    user-select: none;
    cursor: pointer;
}

.section-header-row .circle-number {
    border-radius: 3px;
    padding: 0;
    height: 20px;
    line-height: 20px;
    margin-left: 10px;
}

.section-header-row .circle-number i {
    font-size: 12pt;
    line-height: 20px!important;
    color: var(--icon-color)!important;
}

nav .tasks .item .circle-number i {
    height: 20px;
    line-height: 20px;
    color: var(--black);
    font-size: 14pt;
}

.todos-project-header .circle-number {
    border-radius: 5px;
    background-color: var(--awhite);
    color: var(--primary);
    font-weight: 500;
    padding-right: 0px;
    min-width: 10px;
    display: inline-block;
    float: right;
}

.dark .todos-project-header .circle-number {
    background-color: var(--primary);
    color: var(--black);
}

.todos-project-header .circle-number {
    margin-top: 0px;
    padding-left: 0px;
}

.todos-project-header .circle-number {
    width: 20px;
    height: 20px;
    background-color: var(--white)!important;
    text-align: center;
    margin-left: 10px;
}

.todos-project-header .circle-number i {
    line-height: 20px;
    height: 20px;
    font-size: 15pt;
    color: var(--icon-color);
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
}

.todos-project-header .circle-number.opened i {
    transform: rotate(180deg)!important;
}

.right-contents .circle-number {
    right: 0px;
    top: 1px;
    line-height: 20px;
    height: 20px;
    width: 20px;
    text-align: center!important;
    padding: 0px!important;
    background-color: transparent;
    user-select: none;
    transform: rotate(-180deg);
    border-radius: 3px;
}

.tasks .right-contents .circle-number {
    right: 25px;
    top: 18px;
}

nav .tasks .right-contents .circle-number {
    top: 16.5px;
    right: 20px;
    margin-left: 10px;
    background-color: var(--white);
}

.right-contents .circle-number i {
    width: 20px;
    height: 20px;
    font-size: 15pt;
    line-height: 20px!important;
    color: var(--black);
    transform: rotate(0deg);
}

.dark .right-contents .circle-number {
    background-color: var(--extra-light);
}.todos-project-header .right-contents .circle-number.opened:hover {
    background-color: var(--primary)!important;
}

.todos-project-header .right-contents .circle-number.opened i {color: var(--icon-color);}

.todos-project-header .right-contents .circle-number i {
    line-height: 20px;
    height: 20px;
    font-size: 14pt;
    color: var(--icon-color);
}

html body .collapsed .right-contents .circle-number {
    transform: rotate(0deg) !important;
}

.circle-number:hover {
    background-color: var(--primary)!important;
    color: var(--awhite);
}

.tasks.profile-task-items .circle-number:hover i {
    color: var(--awhite)!important;
}

.circle-number:hover i {
    color: var(--awhite)!important;
}

.w90 {
    width: 90px!important;
}

.header-text {
    padding-bottom: 6px;
    font-family: var(--body-font);
    font-weight: 500;
    font-size: 10pt;
}

html .ui-grid {
    border: none!important;
    outline: none!important;
    box-shadow: none!important;
}

.specs .ui-grid, .specs .ui-grid-header-cell {
    background-color: transparent;
}

.specs .ui-grid {
    border-radius: 5px!important;
    max-height: calc(100dvh - 274px);
    background-color: var(--white);
    box-shadow: 0px 1px 3px var(--shadow)!important;
}

.water-bg .specs .ui-grid {background-color: rgb(17 17 17 / 80%);}

.specs .ui-grid {
    max-height: calc(100dvh - 183px)!important;
    height: calc(100dvh - 183px)!important;
    z-index: 2;
    position: relative;
}

.specs .full-screen .ui-grid {
    max-height: calc(100dvh - 268px);
}

html .ui-grid-header {
    border-color: var(--border);
    border-bottom: none;
}

html .ui-grid-header-cell {
    border-color: var(--light-border);
    color: var(--black);
    height: 60px;
    margin-top: 0px;
    line-height: 60px;
    font-size: 13px;
    vertical-align: middle;
}

html .ui-grid-header-cell [ui-grid-filter] {
    display: none;
}

html .ui-grid-header-cell:hover {
    border-color: transparent!important;
}

.ui-grid-header-cell:hover {
    border-right-color: var(--border)!important;
}

html .ui-grid-header-cell:hover {
    color: var(--primary);
}

html .ui-grid-header-cell:hover .ui-grid-column-resizer {
    background-color: var(--border);
}

html .ui-grid-header-cell .ui-grid-column-resizer.left {
    width: 0px!important;
}

html .ui-grid-header-cell .ui-grid-column-resizer.right {
    border-right: 1px solid var(--border);
    transition: all .1s ease-in-out;
    width: 5px;
    opacity: 0;
    background-color: transparent;
}

html .ui-grid-header-cell .ui-grid-column-resizer.right:hover {
    border-color: var(--primary);
}

html .ui-grid-header-cell:hover .ui-grid-column-resizer.right {
    opacity: 1;
}

html .ui-grid-top-panel {
    background-color: transparent;
    border-bottom: 1px solid var(--light-border);
    height: 60px;
}

html .ui-grid-cell {
    height: 50px!important;
    line-height: 50px;
    border-color: transparent;
}

html .ui-grid-cell .editable-cell:hover {
    background-color: var(--extra-light)!important;
}

.ui-grid-cell .btn.btn-transparent {
    opacity: 1!important;
    width: 50px;
    text-align: center;
    padding: 0px!important;
    height: 50px;
    vertical-align: top;
    line-height: 50px;
    margin: 0px!important;
    background-color: transparent!important;
    transition: none!important;
}

.clickable-cell .btn.btn-transparent.description-btn {
    position: absolute;
    right: 0px;
    top: 0px;
    height: 50px;
    line-height: 50px;
    width: 35px;
    opacity: 0!important;
    visibility: hidden!important;
}

.clickable-cell .btn.btn-transparent.description-btn i {
    width: auto;
    float: right;
    right: 0px;
}

.ui-grid-cell .btn.btn-transparent.selected {
    border: none!important;
}

.ui-grid-cell .btn.btn-transparent i {
    opacity: 1;
    color: var(--black);
}

html .ui-grid-cell input {
    border: none!important;
    height: 50px!important;
    line-height: 50px!important;
    padding-left: 20px!important;
    font-size: 10pt!important;
    background-color: var(--light)!important;
}

html .ui-grid-row:nth-child(even) .ui-grid-cell {
    background-color: var(--white)!important;
}

html .ui-grid-row:nth-child(odd) .ui-grid-cell {
    background-color: transparent!important;
}

html .portfolio.edit .ui-grid-row .ui-grid-cell:hover .ui-grid-cell-contents {
    background-color: var(--light);
    cursor: pointer;
}

html .view .ui-grid-row:hover .ui-grid-cell {
    background-color: var(--extra-light)!important;
}

.ui-grid .ui-grid-viewport {
--webkit-overflow-scrolling: touch!important;
}

.portfolio-list .ui-grid-viewport {
    height: calc(100dvh - 255px)!important;
}html .ui-grid-row .ui-grid-cell-contents {
    padding: 0px;
}

.actions-cell .ui-grid-cell-contents {
    padding: 0px!important;
    text-overflow: unset;
}

.ui-grid-cell-contents .size-description {
    font-size: 9pt;
    color: var(--light-text);
    padding-left: 5px;
}

html .ui-grid .ui-grid-cell-focus {
    background-color: transparent!important;
}

html .ui-grid .ui-grid-row-header-cell .ui-grid-cell-focus {
    background-color: transparent!important;
}

html .ui-grid .unclickable-cell .ui-grid-cell-focus, html .ui-grid .unclickable-cell.ui-grid-cell-focus {
    background-color: transparent!important;
}

.ui-grid-cell-contents-hidden {
    background-color: var(--primary);
}

html .ui-grid .ui-grid-row .ui-grid-selection-row-header-buttons:hover::before {
    color: var(--primary)!important;
    opacity: 1!important;
}

html body .ui-grid .ui-grid-row .actions-cell.ui-grid-cell-focus, html body .ui-grid .ui-grid-row .actions-cell .ui-grid-cell-focus, html body .ui-grid .ui-grid-row:hover .actions-cell.ui-grid-cell-focus {
    background-color: transparent!important;
}

html .ui-grid-header-cell-row .ui-grid-cell-contents, html .ui-grid-row .ui-grid-cell-contents {
    padding-left: 15px;
    padding-right: 15px;
}

html .ui-grid-header-cell-row .ui-grid-cell-contents, html .ui-grid-row .ui-grid-cell-contents:hover {
    color: var(--black);
}

html .ui-grid-row .ui-grid-cell-contents a:hover {
    text-decoration: none!important;
}

html .ui-grid-row .ui-grid-cell-contents a:hover span {
    text-decoration: underline;
}

html .ui-grid-row .ui-grid-cell-contents.ui-col-date .tiny-image-wrap, html .ui-grid-row .ui-grid-cell-contents.ui-col-date .tiny-image-fake-wrap {margin-right: 20px!important;}

html .ui-grid-row .project-name-cell .ui-grid-cell-contents {
    color: var(--black);
    font-size: 13px;
}

html .ui-grid-row .ui-grid-cell-focus.ui-grid-cell-contents-hidden + div input,
html .ui-grid-row .ui-grid-cell-focus.ui-grid-cell-contents-hidden + div select {
    background-color: var(--light)!important;
    color: var(--black)!important;
    padding-left: 15px!important;
    border: none!important;
    outline: none!important;
}

html .specs .ui-grid-row .ui-grid-cell-focus.ui-grid-cell-contents-hidden + div select {
    height: 50px!important;
    border-right: 15px solid transparent!important;
}

html .ui-grid-header-cell-row .ui-grid-header-cell:first-child .ui-grid-cell-contents, html .ui-grid-row .ui-grid-cell:first-child .ui-grid-cell-contents {
    padding-left: 0px;
}

html .ui-grid-render-container .ui-grid-header-cell-row .ui-grid-header-cell:first-child .ui-grid-cell-contents, html .ui-grid-render-container .ui-grid-row .ui-grid-cell:first-child .ui-grid-cell-contents {
    padding-left: 25px;
}

html .ui-grid-header-cell-row .ui-grid-cell-contents {
    white-space: unset!important;
    line-height: 1.2;
    vertical-align: middle;
    margin: auto!important;
    display: inline-flex;
    font-weight: 500;
}

.water-bg .sortable {
    background-color: rgb(17 17 17 / 80%) !important;
}

.ui-grid-header-cell .ui-grid-sort-priority-number {
    display: none;
}

html .ui-grid-header-cell-row [aria-sort="ascending"] .ui-grid-cell-contents, html .ui-grid-header-cell-row [aria-sort="descending"] .ui-grid-cell-contents {
    color: var(--primary);
}

html body .ui-grid-row {
    height: 50px!important;
    line-height: 50px;
}

html body .ui-grid-row:last-child {
    border-bottom: 1px solid var(--light-border);
}

html body .ui-grid-row:hover .ui-grid-cell {background-color: var(--subtle)!important;}

html body .the-grid-editor .ui-grid-row .ui-grid-cell {
    border: 1px solid var(--light-border);
    border-left: none;
    border-bottom: none;
}

.ui-grid-row.ui-grid-row-selected, html .ui-grid-row.ui-grid-row-selected:nth-child(even) .ui-grid-cell {
    background-color: var(--extra-light)!important;
}

html body .borders .ui-grid-row .ui-grid-cell {
    border-bottom: 1px solid var(--border);
}

html body .alternating-colors .ui-grid-row:nth-child(2n) .ui-grid-cell {
    background-color: var(--background-color)!important;
}

html.dark body .alternating-colors .ui-grid-row:nth-child(2n) .ui-grid-cell {
    background-color: var(--border)!important;
}

html .ui-grid-header-cell:last-child .ui-grid-column-resizer.right {
    border-color: var(--border);
    right: 0px;
    border-width: 1px;
    margin-right: 0px!important;
    border: none;
}

html .ui-grid-menu .ui-grid-menu-inner ul li .ui-grid-menu-item {
    padding: 0px 15px;
    height: 50px;
    background-color: transparent;
    color: var(--black);
    line-height: 50px;
    border: none!important;
    font-size: 13px;
}

html .ui-grid-menu .ui-grid-menu-inner ul li .ui-grid-menu-item:hover, html .ui-grid-menu .ui-grid-menu-inner ul li:hover .ui-grid-menu-item {
    background-color: var(--extra-light)!important;
}

html .ui-grid-menu .ui-grid-menu-inner {
    background-color: var(--xwhite);
    border: none;
    overflow: hidden auto!important;
    max-height: calc(100dvh - 330px);
}

html .ui-grid-menu .ui-grid-menu-inner ul li button.ui-grid-menu-item:hover, html .ui-grid-menu .ui-grid-menu-inner ul li button.ui-grid-menu-item:focus {
    background-color: var(--veryvery-light)!important;
    color: var(--primary)!important;
}

html .ui-grid-menu .ui-grid-menu-inner ul li button.ui-grid-menu-item.ui-grid-menu-item-active {
    background-color: transparent;
    color: var(--primary);
}

html .ui-grid-column-menu-button .ui-grid-icon-angle-down {
    vertical-align: middle;
    color: var(--light-text);
}

.padding40 {
    padding: 40px!important;
}

.settings-body .setting-group.col {
    padding-right: 40px!important;
}

.settings-body .setting-group.col:last-child {
    padding-right: 0px!important;
}

.setting-group .column-settings {
    padding-top: 20px;
}

.settings-body .setting-option.col {
    padding-right: 10px!important;
}

.settings-body .setting-option.col.s1 .btn {
    float: left;
    min-width: 50px;
}

html .edit .ui-grid-cell-focus {
    background-color: var(--light)!important;
}

html .edit .ui-grid-cell > div:last-child select {
    outline: none!important;
    border: none!important;
    border-radius: 0px!important;
    box-shadow: none!important;
    background-color: var(--primary);
    color: var(--awhite);
    text-transform: capitalize;
    padding-left: 10px;
    padding-right: 10px;
    cursor: pointer;
    height: 50px;
}

html .view .ui-grid-cell-focus {
    background-color: transparent;
}

html .ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-header-cell:last-child, html .ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-cell:last-child {
    border-right-color: var(--light-border)!important;
    border-right-width: 1px;
}

html body .ui-grid-pinned-container.ui-grid-pinned-container-left .ui-grid-header-cell:last-child {
    border-right-width: 1px;
}

.portfolio-grid {
    height: calc(100dvh - 168px)!important;
    box-shadow: none!important;
}

html, body {
    overscroll-behavior-x: none;
}

html .ui-grid-row:last-child .ui-grid-cell {
    border-bottom-color: transparent!important;
}

.Todocompleted-completed {
    text-decoration: line-through;
    color: var(--good);
}

.clickable-cell {
    cursor: pointer;
    position: relative;
}

.project-name-cell.clickable-cell:hover .btn.btn-transparent.description-btn {
    opacity: 1!important;
    visibility: visible!important;
}

.clickable-cell:hover i {
    opacity: 1;
}

.clickable-cell i {
    position: absolute;
    right: 10px;
    height: 50px;
    line-height: 50px;
    font-size: 11pt;
    color: var(--primary);
    opacity: 0;
    padding: 0px 5px;
    background-color: transparent;
}

.clickable-cell:hover, .clickable-cell:hover .ui-grid-cell-contents span {
    color: var(--primary);
}

.ui-grid-focuser {
    box-shadow: none!important;
}

.not-mine-inline {
    opacity: .45;
}

.flipped {
    transform: rotateY();
}

.flipped {
    transform: rotate(180deg);
}

.ui-grid-header-cell.movingColumn {
    background-color: var(--primary);
    color: var(--awhite)!important;
}

body div .input-field {
    position: relative;
}

.input-field.inline.pi-plan-create-input {
    height: unset!important;
    margin: unset;
    width: calc(100% - 140px);
}

body div .input-field .btn.clear {
    position: absolute;
    right: 0px;
    top: 0px;
}

.form-field.search-list .dropdown-content {
    display: block!important;
    opacity: 1;
}

.project-meta-settings .add-new-item {
    height: 50px!important;
    line-height: 50px;
    display: inline-block;
    width: 100%;
    padding: 0px 20px;
    cursor: pointer;
}

.project-meta-settings .add-new-item:hover {
    background-color: var(--border);
}

.search-filter .btn.clear {
    position: absolute;
    right: 0px;
    top: 0px;
    height: 50px;
    line-height: 50px;
}

html body .warning:hover, html body .warning:hover i {
    color: var(--warning)!important;
}

.wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}

.btn.btn-transparent.nav-btn {
    color: var(--black)!important;
}

.settings-group {
    padding-top: 5px;
}

.settings-group .setting-option:last-child {
    border-bottom: none!important;
}

.rounded-bg {
    padding: 20px;
    background-color: var(--background-color);
    border-radius: 5px;
}

.header-toggle {
    display: inline-block;
    height: 40px;
    line-height: 40px;
    border-radius: 5px;
    overflow: hidden;
    vertical-align: top;
    margin-right: 0px;
}

.header-toggle:last-child {
    margin-right: 0px;
}

.header-toggle:last-child .btn i {
    padding-right: 0px;
}

.header-toggle .btn {
    padding: 0px 20px!important;
}

.header-toggle .btn, .header-toggle .btn i {
    line-height: 40px!important;
    height: 40px!important;
}

html body .header-toggle .btn {
    padding-left: 20px!important;
    padding-right: 20px!important;
    border-right: 1px solid var(--border);
    float: left;
    text-transform: capitalize;
    font-size: 10pt!important;
    text-decoration: none!important;
}

html body .header-toggle.close .btn {
    border: none!important;
}

html body .header-toggle.the-views .btn {
    border-right: none!important;
    border-radius: 5px!important;
}

.header-toggle .btn:last-child {
    border-right: none;
}.top30 {
    padding-top: 30px!important;
}

.ui-grid-cell select {
    display: block!important;
    width: 100%;
}

.ui-grid-canvas {
    padding-top: 0px!important;
}

.warning {
    color: var(--warning)!important;
}

.status-indicator::after {
    height: 5px!important;
    max-width: 5px!important;
    display: inline-block;
    line-height: 0px;
    margin-top: -22px;
    padding-left: 0px;
    padding-right: 5px;
    border-radius: 25px;
    margin-right: 11px;
    font-size: 30pt;
    vertical-align: middle;
}

body .btn.btn-outlined {
    border: 1px solid var(--border)!important;
    border-radius: 5px!important;
    background-color: transparent;
    height: 40px;
    line-height: 40px;
    font-size: 9pt;
    line-height: 40px;
    text-transform: capitalize;
    padding: 0px 15px!important;
    color: var(--black);
    font-family: var(--body-font);
}

html body .btn.btn-outlined.delete:hover {
    border-color: var(--warning)!important;
 }

.project-peeps .btn.btn-outlined.add-new:hover i, .project-peeps .btn.btn-outlined.add-new:hover {
    color: var(--awhite)!important;
}

.dark body .btn.btn-outlined {
    border-color: var(--border)!important;
}

.dark body .btn.btn-outlined:hover {
    background-color: var(--primary);
    color: var(--awhite)!important;
}

.dark body .btn.btn-outlined:hover {
    border-color: var(--primary)!important;
}

body .a-dialog .btn.btn-outlined:hover {
    color: var(--awhite)!important;
    background-color: var(--primary)!important;
    text-decoration: none;
}

body .a-dialog .btn.btn-outlined {
    margin-left: 10px;
    border: 1px solid var(--black)!important;
}

body .btn.btn-outlined i {
    line-height: 40px;
    height: 40px;
    color: var(--primary);
}

body .btn.btn-outlined:hover, body .btn.btn-outlined:hover i {
    color: var(--awhite)!important;
}

.good {
    color: var(--good)!important;
}

.mini-image {
    max-width: 19px!important;
}

.tda-icon .mini-image {
    margin-top: 7px;
    margin-right: 6px;
    max-width: 20px!important;
    border-radius: 5px;
}

.table-data-cell-sub-item.editable:hover {
    background-color: var(--extra-light);
    cursor: pointer;
}

.tdc-visit:hover {
    color: var(--primary);
    cursor: pointer;
}

.tdc-editable:hover {
    background-color: var(--extra-light);
    cursor: pointer;
    border-radius: 5px;
}

.btn.add-new i {
    color: var(--icon-color);
}.nav-todos-list-container .todo-description-wrapper {
    padding-bottom: 0px;
}

.overview-meta .meta-title, .overview-meta .meta-data {
    vertical-align: middle;
    line-height: 23px;
    height: auto;
}

.overview-meta .meta-data {
    font-family: var(--body-font);
    font-size: 13px;
}

.overview-meta .meta-data .overview-meta-item:after {
    content: ', ';
    margin-right: 2px;
    padding-right: 0px!important;
}

.overview-meta .meta-data .overview-meta-item:last-child:after {
    content: '';
}

.overview-meta .meta-data > .meta-names img {
    float: left;
    max-width: 18px;
    margin-right: 7px;
    max-height: 18px;
    border-radius: 4px;
}

.overview-meta .meta-data > .meta-names {
    display: inline-block;
    padding: 0px 10px 0px 0px;
    line-height: 25px;
    height: 25px;
    width: 33.33%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-right: 0px;
    margin-bottom: 0px;
    color: var(--black);
}

.dynamic-overview .overview-meta .meta-data > .meta-names {
    width: 33%;
}

.overview-meta .meta-data > .meta-names .the-name {
    font-size: 9.5pt;
}

.overview-meta .meta-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 20px!important;
    font-weight: 300;
    color: var(--light-text);
    font-size: 13px;
}

body ul.multi-selector li, html body ul.multi-selector li i, body ul.multi-selector li, ul.multi-selector li span {
    line-height: 50px!important;
    height: 50px!important;
    vertical-align: top;
}

.comma-separated span::after {
    content: ', ';
    padding-right: 3px;
}

.comma-separated span:last-child::after {
    content: '';
}

.overview-section-data .google-chart.timeline-chart {/* height: 300px!important; *//* overflow-y: auto; *//* margin: 0px -30px; *//* width: calc(100% + 60px)!important; *//* min-height: inherit!important; *//* background-color: var(--extra-light); *//* border-radius: var(--border-radius-tiny); *//* border: 1px solid var(--border); *//* padding-top: 20px; */margin-bottom: 0px;display: flex;}.integration-overview-header {
    font-size: 12pt;
    padding-bottom: 10px;
    color: var(--primary-color);
}

.project-quick-todos .integration-overview-header {
    padding-top: 10px;
}

.inline-dialog .text-field.with-dropdown {
    display: inline-block;
    float: left;
    vertical-align: top;
}

.inline-dialog .text-field.with-dropdown ul li a {
    text-align: left!important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    float: left;
    user-select: none;
}

.inline-dialog .text-field.with-dropdown ul li:hover a {
    background-color: transparent;
}

.inline-dialog .text-field.with-dropdown ul {
    left: -80px!important;
    max-width: 300px;
    max-height: 60dvh!important;
    overflow-x: hidden;
    padding-left: 0px!important;
}

.link-dialogs .inline-dialog .text-field.with-dropdown ul {
    left: -50px!important;
}

.add-proj-dialogs ul {
    padding-left: 0px!important;
    left: 0px!important;
}

.inline-dialog .text-field.with-dropdown > .btn.dropdown-selector {
    left: 0px;
    top: 0px;
    height: 20px;
    line-height: 20px!important;
    vertical-align: middle;
    max-width: 140px;
}

.inline-dialog .text-field.with-dropdown > .btn.dropdown-selector:hover {
    background-color: transparent!important;
}

.inline-dialog .text-field.with-dropdown > .btn.dropdown-selector .ds-text, .inline-dialog .text-field.with-dropdown > .btn.dropdown-selector .ds-text i {
    line-height: inherit;
    text-transform: initial;
    color: var(--black);
}

.inline-dialog .text-field.with-dropdown > .btn.dropdown-selector:hover .ds-text, .inline-dialog .text-field.with-dropdown > .btn.dropdown-selector:hover .ds-text i {
    color: var(--primary);
}

.primary-views .dropdown-content > .btn {
    width: 100%;
    text-align: left;
    line-height: 50px;
    padding: 0px!important;
    display: flex;
    align-items: center;
    height: 50px!important;
    line-height: 50px!important;
    font-size: 13px;
    font-weight: 400;
    text-transform: lowercase;
}

.primary-views .dropdown-content > .btn.agents-btn svg {
    margin-right: 3px;
    max-width: 32px;
    margin-left: 9px;
}

.primary-views .dropdown-content > .btn svg {
    max-width: 24px;
    margin-left: 14px;
    margin-right: 10px;
}

.dof-actions .primary-views .btn {
    background-color: var(--xwhite);
    padding: 0px 20px!important;
    color: var(--black);
}

.primary-views .dropdown-content > .btn:hover {
    background-color: var(--extra-light)!important;
}

.primary-views .dropdown-content > .btn:hover svg .jt-ai-word, .primary-views .dropdown-content > .btn:hover svg .jt-ag-letter {
    fill: var(--primary);
}

.primary-views .dropdown-content > .btn:hover svg .jt-ag-ring {
    stroke: var(--primary);
}

.primary-views .dropdown-content > .btn i {
    padding-right: 0px;
    width: 30px;
    font-size: 14pt!important;
    line-height: 50px;
    font-variation-settings: 'FILL' 0;
    color: var(--icon-color);
}

.primary-views .dropdown-content {
    max-width: 200px;
    box-sizing: border-box;
}

.zj-specification-item-details .context-buttons {
    bottom: 0px;
    top: initial!important;
    height: 50px;
}

.zj-specification-item-details .context-buttons .btn i {
    margin-left: 0px!important;
}

.zj-specification-item-details .context-buttons .btn {
    height: 50px;
    line-height: 50px;
    text-align: center;
    min-width: 50px;
    background-color: transparent;
    color: var(--black);
    padding: 0px!important;
    margin-left: -3px;
}

.zj-specification-item-details .context-buttons .btn:hover {
    background-color: transparent!important;
}

.zj-specification-item-details .context-buttons .btn:hover i {
    color: var(--primary);
}

.btn.btn-transparent.spec-item-view-selector, .btn.btn-transparent.spec-item-view-selector span, .btn.btn-transparent.spec-item-view-selector i {
    padding-left: 0px!important;
    transition: all .2s ease-in, all .2s ease-out!important;
}

.btn.btn-transparent.spec-item-view-selector span {
    text-transform: lowercase;
}

.btn.btn-transparent.spec-item-view-selector span.ai-btn {
    display: flex;
    align-items: center;
}

.btn.btn-transparent.spec-item-view-selector span.ai-btn svg {
    max-width: 25px;
    margin-left: 15px;
    margin-right: 5px;
    margin-top: -3px;
}

.btn.btn-transparent.spec-item-view-selector {
    border-right: 1px solid var(--border);
    float: left;
    border-radius: 0px!important;
    width: auto;
    text-align: left;
    padding-right: 35px!important;
    font-size: 14px;
    font-weight: 300;
}

.btn.btn-transparent.spec-item-view-selector:hover span, .btn.btn-transparent.spec-item-view-selector:hover i {
    color: var(--primary)!important;
}

.primary-views .btn.btn-transparent.spec-item-view-selector i:first-child {
    transition: all .2s ease-in, all .2s ease-out!important;
}

.primary-views .btn.btn-transparent.spec-item-view-selector i {
    margin-right: -5px!important;
    margin-left: 0px!important;
    float: left;
}

.primary-views .btn.btn-transparent.spec-item-view-selector i.right {
    position: absolute;
    right: 13px;
    top: 0px;
    font-size: 17px!important;
}

.todo-items .show-hide-completed .dropdown-select {
    float: right;
    list-style: none;
    /* bottom: -5px!important; */
    color: var(--icon-color);
    position: relative;
}

.checklists .todo-items .show-hide-completed .dropdown-select {
    right: -30px;
}

html body .checklists .checklist .randomscrando .dropdown-select {
    right: -25px!important;
}

html body .spec-overview .todo-items .show-hide-completed li.dropdown-select i {
    margin-right: 0px!important;
    position: relative;
}

.todo-items .show-hide-completed .dropdown-select:hover {
    color: var(--primary);
}

.todo-items .show-hide-completed .dropdown-select i {
    font-size: 18px;
}

.checklist .todo-items .show-hide-completed .dropdown-select i {
    right: 15px;
}

.dropdown-selector i {
    color: var(--icon-color)!important;
}

.dropdown-selector i.tiny.right {
    margin-left: auto;
}

.embedded-item iframe {
    width: 100%;
    margin: 0px!important;
    border: none;
    outline: none;
    position: relative;
    top: unset;
    bottom: unset;
    background: none!important;
}

.role-selector {
    position: relative;
}

html body .right5 {
    padding-right: 5px!important;
}

html body .todo-items [contenteditable=true],
html body .todo-items .ql-editor {
    line-height: 23px!important;
}

.sortable[aria-sort="ascending"], .sortable[aria-sort="descending"] {
    color: var(--primary);
}

.btn.clear-search {
    line-height: 50px;
    height: 50px;
}

.wrapper-border1 {
    padding: 30px;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-smallish);
    background-color: var(--background-color);
}

.wrapper-border1 .island-container {
    box-shadow: 0px 1px 3px var(--shadow);
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
}

input::placeholder {
    color: var(--light-text);
}

.dim-it {
    opacity: .3;
}

.undim-it {
    opacity: 1!important;
}

.aimg {
    border-radius: 5px;
}

.bound-html {
    white-space: break-spaces;
}

.no-right-padding, html body .no-right-padding.btn {
    padding-right: 0px!important;
}

.ordered-roadmap-item > .col {
    height: 45px;
    line-height: 45px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 20px!important;
}

.ordered-roadmap-item > .col:last-child {
    padding-right: 0px!important;
    text-align: right;
}

.ori-header {
    font-weight: 400!important;
    padding: 35px 40px 0px;
}

.ordered-roadmap-items {
    padding: 0px 40px;
    height: calc(100dvh - 229px);
}

.full-screen .ordered-roadmap-items {
    height: calc(100dvh - 265px);
}

.list-mini-item {
    line-height: 20px;
    text-align: left;
    display: block;
    width: 100%;
}

.mini-list-container {
    padding: 15px 0px;
}

.list-mini-list {
    padding-bottom: 15px;
}

.list-mini-list:last-child {
    padding-bottom: 0px;
}

.top15 {
    padding-top: 15px!important;
}

i.indent-icons {
    width: 20px;
    margin: 0px!important;
    margin-right: 0px!important;
    padding: 0px!important;
}

.bottom0 {
    padding-bottom: 0px!important;
}

.project-outline .collapsed {
    opacity: 0;
    visibility: hidden;
    display: none!important;
}

html body .checklists .core-list-item .col label {
    padding-right: 10px!important;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: top;
    margin-bottom: 0px!important;
    padding-bottom: 0px!important;
    display: block!important;
    cursor: pointer;
    height: auto!important;
    font-size: 10pt;
}

html body .checklists .core-list-item .col {
    padding-top: 20px;
    padding-bottom: 21px;
    height: auto!important;
    vertical-align: top;
    display: block;
    cursor: pointer;
}

html body .checklists .core-list-item.row {
    cursor: pointer;
    height: auto;
}

html body .checklists .core-list-item.row .text-field label span:after {
    content: ', ';
}

html body .checklists .core-list-item.row .text-field label span:last-child:after {
    display: none;
}

.semi-bold {
    font-weight: 400!important;
}

.cursor {
    cursor: pointer;
}

.integrations-section .col {
    padding: 0px!important;
}

.integrations-section .col:nth-child(even) {
    padding-left: 15px!important;
}

.integrations-section .col.s12:nth-child(even) {
    padding-left: 0px!important;
    padding-right: 0px!important;
}

.ta-center {
    text-align: center!important;
}

.ui-grid-cell-contents .multi-roles {
    display: inherit;
    float: left;
    padding-right: 5px;
    cursor: pointer;
    position: relative;
}

.editable-cell .multi-roles.ui-grid-cell-focus {
    height: 40px;
}

.ui-grid-cell-contents .multi-roles img {
    max-width: 25px;
    margin-top: 13px;
}

.ui-grid-cell-contents .multi-roles:hover {
    color: var(--primary);
}

html .right0 {
    padding-right: 0px!important;
}

.lh50 {
    line-height: 50px!important;
}

.delete-item.btn:hover i {
    color: var(--warning)!important;
}

.ui-grid-header-viewport, .ui-grid-viewport {
    width: 100%!important;
}

.ui-grid-pinned-container-left .ui-grid-header-viewport {
    border-radius: 14px 0px 0px 0px!important;
}

.ui-grid-pinned-container-right .ui-grid-header-viewport {
    border-radius: 0px 14px 0px 0px!important;
}

.dblock {
    display: block!important;
}

.fs9 {
    font-size: 9pt!important;
}

.space-list {
    padding: 0px!important;
    display: block;
    width: 100%;
    height: calc(100dvh - 207px);
    overflow-y: auto;
    position: relative;
}

.space-list-item {
    color: var(--black)!important;
}

.space-list-item {
    padding: 0px 30px;
    height: 50px;
    line-height: 50px!important;
    line-height: 40px;
    cursor: pointer;
}

nav .space-list-item i {
    height: unset!important;
    line-height: unset!important;
    color: var(--icon-color);
    font-size: 16px;
}

.space-list-item.selected {
    background-color: var(--background-color);
}

.space-list-item:hover {
    background-color: var(--white);
}

.space-list-item:hover {
    color: var(--primary)!important;
    background-color: var(--background-color);
}

.center780 {
    max-width: 780px;
    margin-left: auto!important;
    margin-right: auto!important;
}

.mtop40 {
    margin-top: 40px!important;
}

.mbottom40 {
    margin-bottom: 40px!important;
}

.iconbg {
    background-color: var(--awhite);
    border-radius: 10px;
}

.right30, .right30.col {
    padding-right: 30px!important;
}

.integration .s1.right30 img {
    max-width: 30px;
    max-height: 30px;
}

.integration .s1.right30 {
    padding-right: 15px!important;
    text-align: center;
}

.top5 {
    padding-top: 5px!important;
}

.editable-cell.unclickable-cell {
    cursor: pointer;
}

.added {
    background-color: var(--added);
    color: var(--ablack)!important;
}

.removed {
    background-color: var(--removed)!important;
    color: var(--ablack);
}

.cke_panel.cke_menu_panel {
    border-radius: 15px;
}

.cke_dialog_ui_checkbox:hover, .cke_dialog_ui_checkbox:hover label {
    cursor: pointer!important;
}

.cke_dialog_contents [type="checkbox"]+label {
    padding-top: 2px;
}

.cke_dialog_ui_checkbox {
    margin-bottom: 5px!important;
}

.side-slider {
    position: absolute;
    right: 0px;
    top: 0px;
    bottom: 0px;
    width: 40%;
    max-width: 600px;
    background-color: var(--white);
    box-shadow: 0px 1px 3px var(--shadow);
    z-index: 999999999999999999;
    right: -40%;
    transition: right .4s ease-in-out!important;
}

.side-slider.open {
    right: 0px;
    visibility: visible;
    opacity: 1;
}

.dynamic-overview-footer {
    padding: 0px 40px 0px;
    height: 50px;
}

.dof-actions .btn.btn-transparent {
    height: 50px;
    line-height: 50px;
}

.dof-actions .btn.btn-transparent:hover span {
    transition: .2s ease-in-out all;
}

.dof-actions .btn.btn-transparent .selected {
    color: var(--black);
}

.dof-actions .btn.btn-transparent:hover .selected {
    color: var(--primary);
}

.dof-actions .btn.btn-transparent:first-child {
    margin-left: -20px;
    color: var(--black)!important;
}

.dof-actions .btn.btn-transparent:first-child:hover, .dof-actions .btn.btn-transparent:first-child:hover i {
    color: var(--primary)!important;
}

.dof-actions .btn.btn-transparent.selected {
    border-bottom: none!important;
}

.dof-actions .btn.btn-transparent i {
    color: var(--black);
    margin-right: 8px;
    line-height: 50px;
}

.dof-actions .btn.btn-transparent i.left {
    font-size: 12pt;
}

.dof-actions .btn.btn-transparent i.right {
    margin-left: 5px;
    line-height: 51px;
}

.bg-image {
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: var(--border-radius-xs);
}

.inline-author-image .bg-image {
    width: 40px;
    height: 40px;
}

.clickable:hover {
    text-decoration: underline!important;
}

.header-profile-image {
    width: 30px;
    height: 30px;
    display: inline-block;
    margin-top: 18px;
}

nav .header-profile-image .user-initials {
    color: var(--awhite)!important;
    font-weight: 400;
}

nav .user-menu.header-profile-menu .header-profile-image .user-initials {
    height: 28px;
    line-height: 28px;
    vertical-align: top;
    color: var(--primary)!important;
    font-family: var(--nothing)!important;
    font-size: 17px!important;
    font-weight: bold!important;
}

.bg-image.header-profile-image .user-initials:hover {
    color: var(--primary);
}

.cke_menu {
    box-shadow: 0px 1px 2px var(--shadow);
}

.tiny-img-wrap {
    width: 20px;
    height: 20px;
    display: inline-block;
    background-size: cover;
    background-position: center center;
    border-radius: 5px;
    margin-top: 16px;
}

.editable-cell .tiny-img-wrap {
    line-height: 20px;
}

.the-grid-editor .editable-cell .multi-roles .tiny-img-wrap:hover, .the-grid-editor .editable-cell .multi-roles .tiny-img-fake-wrap:hover {
    visibility: hidden;
    opacity: 0;
}

.the-grid-editor .editable-cell .multi-roles .delete-this-user {
    position: absolute;
    top: 16px;
    left: 0px;
    height: 20px;
    line-height: 20px;
    width: 20px;
    text-align: center;
    padding-top: 1px;
    visibility: hidden;
    opacity: 0;
}

.the-grid-editor .editable-cell .multi-roles:hover .delete-this-user {
    visibility: visible;
    opacity: 1;
}

.the-grid-editor .editable-cell .multi-roles:hover .tiny-img-wrap, .the-grid-editor .editable-cell .multi-roles:hover .tiny-img-fake-wrap {
    visibility: hidden;
    opacity: 0;
}

.the-grid-editor .editable-cell .multi-roles .delete-this-user i {
    font-size: 14pt;
    color: var(--warning);
}

.tiny-img-wrap:hover, .ui-grid-row:hover .tiny-img-wrap {
    opacity: 1;
}

.tiny-img-wrap:hover {
    box-shadow: 0px 1px 4px var(--shadow);
}

.tiny-img-fake-wrap {
    width: 21px;
    height: 20px;
    display: inline-block;
    line-height: 20px;
    margin-top: 16px;
    text-align: center;
    background-color: var(--subtle);
    border-radius: 5px;
    font-size: 8.5pt;
}

.ui-grid-cell .ui-col-date .tiny-img-wrap, .ui-grid-cell .ui-col-date .tiny-img-fake-wrap {
    margin-right: 10px;
}

.tiny-img-fake-wrap:hover {
    background-color: var(--primary)!important;
    color: var(--awhite);
}

.toast-profile-image {
    width: 50px;
    height: 50px;
    display: inline-block;
    float: left;
    margin-right: 10px;
    margin-left: -14px;
    background-size: cover;
    background-position: center;
    border-radius: 5px;
}

.ui-grid-selection-row-header-buttons {
    width: 35px;
    text-align: center;
    height: 50px!important;
    line-height: 50px;
    display: block!important;
    position: relative;
    margin-left: -19px;
}

.ui-grid-header-cell .ui-grid-selection-row-header-buttons {
    margin-left: -21px;
    height: 40px!important;
    line-height: 40px;
    padding: 0px!important;
}

.ui-grid-header-cell .ui-grid-selection-row-header-buttons:hover::before {
    color: var(--primary);
    opacity: 1;
}

.ui-grid-header-cell .ui-grid-selection-row-header-buttons.ui-grid-all-selected {
    color: var(--primary);
}

.ui-grid-row-header-cell {
    border: none!important;
    text-align: center;
}

.ui-grid-row-header-cell .clickable {
    text-decoration: none!important;
}

.ui-grid-row-header-cell ::before {
    border: none!important;
    outline: none!important;
}

.ui-grid-row-header-cell .ui-grid-row-selected::before {
    color: var(--primary);
}

.ui-grid .ui-grid-menu-button {
    height: 50px;
    width: 50px;
    background-color: transparent;
    border: none;
    line-height: 47.5px;
    text-align: center;
    top: -56.5px;
    right: 3px;
    display: none;
    z-index: 99999;
}

.ui-grid .ui-grid-menu-button .ui-grid-icon-container i {
    width: 50px!important;
    height: 50px!important;
    display: inline-block;
}

.edit-mode .ui-grid.the-grid-editor .ui-grid-menu-button {
    display: inline-block;
}

.ui-grid .ui-grid-menu-button:hover {
    color: var(--primary);
    cursor: pointer;
}

.ui-grid .ui-grid-menu-button i {
    font-size: 12pt;
}

.ui-grid .ui-grid-menu-button .ui-grid-icon-container {
    display: none;
}

.edit-mode .ui-grid .ui-grid-menu-button .ui-grid-icon-container {
    display: unset;
}

.ui-grid .ui-grid-menu-button .ui-grid-icon-container {
    margin: 0px;
    height: 50px;
    width: 50px;
}

.ui-grid-column-menu-button {
    border: none!important;
    background-color: var(--white)!important;
}

.water-bg .ui-grid-column-menu-button {
    background-color: rgb(17 17 17 / 80%)!important;
}

.ui-grid-render-container-right .ui-grid-viewport {
    border-radius: 0px 0px 25px 0px!important;
}

.ui-grid-render-container-left .ui-grid-viewport {
    border-radius: 0px 0px 0px 5px!important;
}

.ui-grid-menu {
    box-shadow: 0px 1px 3px var(--shadow)!important;
    padding: 0px!important;
    border-radius: 10px;
}

.edit-mode .ui-grid-menu {
    border-radius: var(--border-radius-tiny);
}

.bottom20 {
    padding-bottom: 20px!important;
}

.collection-dropdown-wrapper {
    display: inline-block;
    vertical-align: top;
    height: 40px;
    line-height: 40px;
    margin-top: 0px;
    float: left;
}

.the-grid-editor .editable-cell:hover, .the-grid-editor .editable-cell:hover > div {
    background-color: var(--extra-light)!important;
}

.dark .the-grid-editor .editable-cell:hover, .dark .the-grid-editor .editable-cell:hover > div {
    background-color: var(--background-color) !important;
}

.the-grid-editor .editable-cell {
    cursor: pointer;
    height: 100%;
    position: relative;
}

.editable-cell .add-new-option {
    display: none;
}

.the-grid-editor .editable-cell .add-new-option {
    display: inline-block;
    visibility: hidden;
    opacity: 0;
    user-select: none;
    text-align: center;
}

.the-grid-editor .editable-cell .add-new-option i {
    font-size: 15pt;
    color: var(--primary);
    margin-top: 16px;
    height: 20px;
    width: 20px;
}

.the-grid-editor .editable-cell .add-new-option i:hover {
    color: var(--good);
}

.the-grid-editor .editable-cell:hover .add-new-option {
    visibility: visible;
    opacity: 1;
}

.ui-grid .movingColumn {
    background-color: var(--primary)!important;
    color: var(--awhite)!important;
    cursor: grabbing;
}

.ui-grid-header-cell:hover .ui-grid-header-cell-label {
    color: var(--primary);
}

.grid-filter {
    padding: 15px 25px 15px 30px;
    cursor: pointer;
    text-align: left;
}

.grid-filter:hover .todo-filter-title {
    color: var(--primary)!important;
}

.grid-filter.hide-gf {
    padding: 14px 25px 15px 30px;
}

.hide-gf .gf-opts {
    visibility: hidden;
    opacity: 0;
    height: 0;
    display: none;
}

.grid-filter-options.switch {
    padding: 5px 0px;
    cursor: pointer;
    line-height: 22px;
    vertical-align: top;
    display: block;
}

.grid-filter-options.switch label i {
    line-height: 20px!important;
    float: left;
}

.grid-filter-options.switch.selected label {
    color: var(--black)!important;
}

.change-columns .grid-filter-options.switch.selected label {
    color: var(--black)!important;
    font-size: 9.5pt!important;
}

.change-columns .grid-filter-options.switch.selected:hover label {
    color: var(--primary)!important;
}

.grid-filter-options.switch:hover label {
    color: var(--primary);
    cursor: pointer;
}

.grid-filter-options.switch label .lever::after, .grid-filter-options.switch label .lever::before {
    margin-top: 1px;
    height: 18px;
    width: 18px;
    left: 1px;
    background-color: var(--icon-color);
}

.grid-filter-options.switch:hover label .lever::after, .grid-filter-options.switch:hover label .lever::before {
    background-color: var(--icon-color);
}

.grid-filter-options.switch .lever {
    margin-right: 0px;
    margin-top: 4px;
}.grid-filter-options:hover label {
    color: var(--primary)!important;
}

.project-item-description.ql-editor h2 {
    /* margin-top: 20px; */
}

.message-text h2 {
    margin: 20px 0 5px;
    font-size: 20pt!important;
}

.asset-totals {
    display: flex;
    width: auto;
    float: left;
    max-width: 250px;
    /* padding-left: 8px; */
    gap: 5px;
}

.right-collection-actions {
    display: inline-block;
    border-radius: var(--border-radius-tiny);
    height: 40px;
}

.ck-editor-custom-context-menu {
    position: absolute!important;
    bottom: 50px;
    z-index: 99999999;
    background-color: var(--xwhite)!important;
    border-radius: 20px;
    overflow: hidden;
}

.cke .cke_top .ck-editor-custom-context-menu ul {
    padding-left: 0px!important;
    margin: 0px!important;
}

.cke .cke_top .ck-editor-custom-context-menu ul li {
    color: var(--black);
    font-family: var(--body-font);
}

.ck-editor-custom-context-menu ul li {
    padding: 0px 25px!important;
    height: 50px;
    line-height: 50px;
    cursor: pointer;
}

.ck-editor-custom-context-menu ul li:hover {
    background-color: var(--extra-light)!important;
    color: var(--primary)!important;
}

.ck-editor-custom-context-menu li {
    list-style: none!important;
    padding: 0px!important;
}

html body .cke .cke_contents .ck-editor-custom-context-menu ul {
    padding-left: 0px!important;
}.position-relative {
    position: relative;
}

.uppercase {
    text-transform: uppercase;
}

html body i.primary {
    color: var(--primary)!important;
}

.selected {
    color: var(--primary)!important;
}

.profile-menu-item i {
    font-size: 14px;
    margin: 0;
}

.profile-menu-item:hover {
    background-color: var(--background-color);
}

.user-initials {
    text-align: center;
}

.todo-author-image .user-initials {
    width: 25px;
    height: 25px;
    display: block;
    line-height: 25px;
    font-size: 12px;
    font-weight: 500;
    background-color: var(--background-color);
    border-radius: 3px;
}

.timelog-day .user-initials {
    max-width: 50px;
    display: inline-block;
    float: left;
    margin-left: 10px;
}

.notifications-queue .linked-comment {
    display: inline;
    font-size: unset;
    padding: 0px;
}

.jtsyn {
    color: var(--primary);
}

.projects-right-sidebar-panel {
    max-width: 500px;
    float: right;
    box-shadow: 0px 1px 5px var(--shadow);
    z-index: 99999999999999;
    position: absolute;
    right: 0;
}

.projects-right-sidebar-panel > .close-project-creator {
    z-index: 99999;
    top: 97px;
    right: 15px;
}

.projects-right-sidebar-panel > .close-project-creator i {
    font-size: 16pt;
}

.project-quick-creator {
    position: relative;
    z-index: 0;
}

html body .project-quick-creator input, html body .project-quick-creator .dropdown-select {
    border-radius: 5px!important;
}

.team-quick-editor .card {
    padding: 10px 0px 0px!important;
    box-shadow: none!important;
}

.team-quick-editor .card .settings-header {
    display: none;
}

.team-quick-editor .card .project-peeps > .col {
    width: 100%!important;
}

.team-quick-editor .card .project-peeps > .col:last-child {
    padding-bottom: 0px;
}

#teamSettings .switch {
    height: 40px;
    line-height: 40px;
    text-align: left;
    font-size: 10pt;
}

#teamSettings .switch label {
    float: right;
}

#teamSettings .switch label .lever {
    margin-right: 0px;
}

.not-visible {
    visibility: hidden;
    opacity: 0;
}

.underline {
    text-decoration: underline;
}

.position-absolute {
    position: absolute!important;
}

.dropdown-search-input-container {
    position: relative;
}

.dropdown-search-input-container .btn.position-absolute {
    right: 0px!important;
    top: 0px!important;
    padding-right: 0px!important;
}

hr.dashed {
    border: none;
    border-bottom: 1px dashed var(--border);
}

.integrated-jira-issues {
    display: inline-block;
    max-width: 40px;
    max-height: 20px;
    line-height: 20px;
    margin-left: 6px;
}

.integrated-jira-issues img {
    max-width: 15px;
    line-height: 25px!important;
}

.component-sli-top-row .btn i {
    font-size: 12pt;
    line-height: 30px;
}

.primary-views li.btn.anno-hide .number-of {
    font-size: 8pt!important;
    line-height: 18px!important;
    position: absolute;
    top: 16.5px;
    margin-right: 10px!important;
}

.inline-container {
    position: absolute;
    top: 0px;
    padding: 20px;
    width: 100%;
    background-color: var(--xwhite);
    border-radius: 15px;
    box-shadow: 0px 1px 3px var(--shadow);
}

.ta-right .inline-container {
    right: 0px;
}

.body-overflow {
    height: calc(100dvh - 64px);
    overflow-y: auto;
}

body .strategy-settings .cke .cke_contents {
    line-height: 26px;
    font-size: 10.5pt;
    padding: 0px!important;
}

.no-margin-paragraphs p {
    margin: 0px;
}

.strategy-page p, .strategy-page li {
    margin-bottom: 0px;
    padding: 0px;
    margin-top: 0px;
}

#okrCycleFilter li a {display: flex;align-items: center;justify-content: start;}

#okrCycleFilter {
    right: 0px!important;
    left: unset!important;
}

#okrCycleFilter li a span {
    width: auto;
    margin-left: 5px;
    align-self: end;
    line-height: 25px;
    color: var(--primary);
}

.strategy-page > .row {display: block;}

.vision-editor .ckeditor-wrapper {
    /* background-color: var(--white); */
    /* border-radius: var(--border-radius-tiny); */
    /* box-shadow: var(--box-shadow); */
}

.linking-mode div:hover {
    cursor: pointer;
}

.inline-embedding.selected, li.inline-embedding.selected span {
    color: var(--highlight)!important;
}

.inline-embedding.selected span {
    color: var(--ablack)!important;
}

.footer-actions {
    position: absolute;
    text-align: right;
    z-index: 999999999999999999999999999999999999999;
    bottom: 0px;
    right: 0px;
    width: 100%;
    height: 50px;
    line-height: 50px;
    background-color: var(--white);
}

.footer-actions .btn {
    color: var(--icon-color)!important;
    height: 50px;
    line-height: 50px;
}

.larger-text {
    font-size: 10.5pt;
    line-height: 24px;
}

.user-menu .footer-items {
    position: fixed;
    bottom: 0px;
    right: 0px;
    left: 0px;
}

#usermenu .footer-items {
    position: absolute;
    bottom: 0px;
    right: 0px;
    left: 0px;
    height: 50px;
    border-top: 1px solid var(--light-border);
    width: 100%;
}

#usermenu .footer-items > div {
    display: inline-block;
    width: 50%;
    height: 50px;
    line-height: 50px;
}

.user-menu-user-details img {
    max-width: 40px;
    border-radius: 5px;
}

.user-menu-body-items {
    height: calc(100dvh - 194px - var(--usermenu-meter-h, 0px));
    overflow-y: auto;
    display: block!important;
}

.w960 {
    margin: 0px auto!important;
    max-width: 960px;
    display: block;
    float: none;
}.border1 {
    border: 1px solid var(--border);
}

.border1d {
    border: 1px dashed var(--border);
}

.p10 {
    padding: 10px!important;
}

.p20 {
    padding: 20px!important;
}

.p25 {
    padding: 25px!important;
}

.p30 {
    padding: 30px!important;
}

.p40 {
    padding: 40px!important;
}

.p50 {
    padding: 50px!important;
}

.br25 {
    border-radius: 25px!important;
}

.br20 {
    border-radius: 20px!important;
}

.br15 {
    border-radius: 15px!important;
}

.br10 {
    border-radius: 10px!important;
}

.br5 {
    border-radius: 5px!important;
}

.nav-sidebar {
    width: 500px;
    max-width: 100%;
    height: calc(100dvh - 64px);
    background-color: var(--light-white);
    position: fixed;
    top: 64px;
    right: 0px;
    transform: translateX(100%);
    box-shadow: 0px 3px 4px var(--shadow);
    transition: all .3s ease-in-out;
    z-index: 999999999;
    /* border-top: 1px solid var(--light-border); */
}

.nav-sidebar .questions-queue-header {
    background-color: var(--white);
}

.nav-sidebar .questions-queue-header .number-of {
    /* background-color: var(--background-color); */
    width: 20px;
    height: 20px;
    text-align: center;
    user-select: none;
    border-radius: var(--border-radius-xs);
}

.nav-sidebar i {
    line-height: unset!important;
}

.nav-sidebar.opened {
    transform: translate(0px);
}

.nav-sidebar.opened.chat-expanded {
    width: 100%;
}

.nav-sidebar.opened.chat-expanded .chat-messages {
    padding: 50px 0px 40px;
    margin: 0px auto;
}

.chat-expanded .chat-messages-container {
    max-width: 1500px;
    width: 100%;
    margin: 0px auto;
    padding: 0px 30px;
}

.nav-sidebar.opened.chat-expanded .chat-widget-content .chat-panel-container .chat-messages > div, .nav-sidebar.opened.chat-expanded .chat-widget-content .chat-panel-container .chat-input {
    max-width: 740px;
    margin: 0px auto;
    width: 100%;
}

.nav-sidebar.opened.chat-expanded .chat-widget-content .chat-panel-container .chat-input textarea {
    padding-left: 0px;
    padding-right: 0px;
}

.tasks-nav-slider, .todos-nav-slider, .notifications-li-wrapper {
  will-change: transform;
  transform: translateZ(0); /* Force GPU acceleration */
}

.opened .nav-sidebar {
    right: 0px;
    transform: translate(0px, 0px);
}

nav .opened i {
    color: var(--primary);
}

nav .opened .notification-alert {
    background-color: var(--white);
    color: var(--primary);
    font-weight: 500!important;
}

.dark nav .opened .notification-alert {
    background-color: var(--awhite);
}

.dropdown-content.public-users.active li a {
    background-color: var(--white);
}

.tasks-nav-slider.opened {
    background-color: var(--extra-light)!important;
}

.strategy-page .m3.ta-right .btn i {color: var(--black);}

.ui-grid-cell .indent-1 {
    padding-left: 20px;
}

.ui-grid-cell .indent-1::before, .ui-grid-cell .indent-2::before, .ui-grid-cell .indent-3::before, .ui-grid-cell .indent-4::before, .ui-grid-cell .indent-5::before {
    content: '• ';
    margin-right: 5px;
}

.ui-grid-cell .indent-2 {
    padding-left: 40px;
}

.ui-grid-cell .indent-3 {
    padding-left: 60px;
}

.ui-grid-cell .indent-4 {
    padding-left: 80px;
}

nav .notification-thread {
    z-index: 9;
}

nav .notification-meta-text i {
    line-height: 30px!important;
    height: 30px!important;
    color: var(--black);
}

.task-assignee-icon {
    margin-right: 10px;
}

.notifications-queue .task-assignee-icon {
    display: inline-block;
    float: left;
}

.task-assignee-icon i {
    color: var(--primary)!important;
    font-size: 16pt;
    height: 30px!important;
    line-height: 30px!important;
}

.plan-features {
    margin-top: -1px;
}

.plan-features:first-child {
    border-radius: 10px 10px 0px 0px;
}

.plan-features:last-child {
    border-radius: 0px 0px 10px 10px;
}

.plan-feature {
    color: var(--primary);
}

.account-info .row.container {
    background-color: var(--extra-light);
    width: 100%;
    padding: 30px;
    border-radius: 15px;
}

.account-info .row.container .col.s12:first-child label {font-size: 12pt!important;}

.list-wrap {
    padding: 40px;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    background-color: var(--background-color);
    height: 100%;
}

.account .list-wrap {
    background-color: var(--white);
}

.intelligence-current-plan.list-wrap {
    padding: 0;
    background-color: transparent;
    box-shadow: none;
}

.intelligence-current-plan.list-wrap .s3 span {
    color: var(--primary)!important;
}

.intelligence-current-plan .stats-grid {
    padding-top: 5px;
    gap: 5px;
}

.intelligence-current-plan.list-wrap .stat-item {
    background-color: var(--white)!important;
    box-shadow: var(--box-shadow)!important;
    border-color: var(--white)!important;
}

.plan-quick-ref.list-wrap {
    padding: 0;
    background: none;
    box-shadow: none;
}

.account-compare-page .plan-quick-ref.list-wrap {
    display: none!important;
}

.plan-quick-ref.list-wrap > .row {
    display: flex;
    gap: 5px;
}

.plan-quick-ref.list-wrap > .row::after {
    display: none;
}

.buy-credits-section.list-wrap {
    background: none;
    box-shadow: none;
    padding: 0;
    margin-top: 50px;
}

.account-plans .intelligence-cta.list-wrap {
    max-width: calc(50% - 5px);
    margin-right: 5px;
    float: left;
    width: 100%;
}

/* The CTA wears .ai-button (ring at rest, gradient fill when engaged). At rest its
   label needs a colour of its own: a.btn.btn-secondary has no background, and .btn
   text is white, so the label was white on the card. A button, so no link underline. */
.intelligence-cta .ai-button {
    color: var(--primary);
}

.intelligence-cta .ai-button:hover,
.intelligence-cta .ai-button:focus {
    text-decoration: none;
}

.account-plans .feature-comparison-link.list-wrap {
    max-width: 50%;
    display: inline-block;
    width: 100%;
}

.account .account-invoices-page .account-info.row {
    margin-bottom: 5px!important;
}

.intelligence-addons.list-wrap {
    margin-bottom: 50px;
}

.account-stats.list-wrap {
    padding: 0;
    background-color: transparent;
    box-shadow: none;
}

.account-stats.list-wrap .stat-item {
    border: none!important;
    box-shadow: var(--box-shadow);
}

.account-stats.list-wrap .stats-grid {
    gap: 5px;
}

.account-billing .account-stats.list-wrap {
    /* margin-bottom: 25px; */
    margin-top: 5px;
}

.account-plan.list-wrap {
    height: 100%;
}

.intelligence-plans .account-plan.list-wrap {
    margin: 5px 0;
}

.background-color {
    background-color: var(--background-color);
}

.open-sans-regular {
    font-family: var(--body-font);
}

.font-14px {
    font-size: 14px!important;
}

html body .list-editor {
    background-color: var(--background-color);
}

.padding-lg {
    padding: var(--padding-lg)!important;
}

.bg-bg {
    background-color: var(--background-color)!important;
}

.inner-box {
    box-shadow: 0px 1px 3px var(--shadow) inset!important;
}

.border-radius-tiny {
    border-radius: var(--border-radius-tiny)!important;
}

.island-container {
    box-shadow: 0px 1px 3px var(--shadow);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 20px;
}

.card-wrapper {
    background-color: var(--background-color);
    padding: 30px;
    border-radius: var(--border-radius-tiny);
    border: 1px solid var(--light-border);
}

.br1 {
    border-right: 1px solid var(--border);
}

.ask-ai {
    mask-image: url('/images/openai-logomark.svg');
    background-repeat: no-repeat;
    background-color: var(--black);
    -webkit-mask-image: url('/images/openai-logomark.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.ask-ai:hover {/* filter: invert(1); */}

.ask-ai-action .ask-ai {
    width: 20px !important;
    height: 20px;
    margin-top: 10px;
    margin-left: 11px;
}

.bgcolor {
    background-color: var(--background-color);
}

/* AI */
.embedding-status {
    padding: 10px;
    margin-bottom: 15px;
    border-radius: 5px;
}

.status-indicator {
    display: flex;
    align-items: center;
}

.embedding-ready {
    color: green;
    margin-right: 10px;
}

.embedding-missing {
    color: orange;
    margin-right: 10px;
}

.embedding-tools {
    margin-top: 20px;
}

.ai-tool-link {
    display: flex;
    align-items: center;
}

.ai-tool-link i {
    margin-right: 10px;
}

/* Search styles */
.embedding-search {
    padding: 20px;
}

.search-input {
    margin-bottom: 20px;
}

.search-input input {
    flex-grow: 1;
    margin-right: 10px;
}

.result-item {
    /* border: 1px solid #ddd; */
    /* border-radius: 5px; */
    padding: 10px 15px;
    margin-bottom: 0px;
    background-color: var(--background-color);
}

.strategy-detail-section:hover .result-item {
    background-color: var(--background-color);
}

.strategy-item-row .result-item {
    padding: 10px 15px!important;
    min-height: 50px;
    gap: 10px;
    font-size: 13px;
    /* height: 50px; */
    background-color: var(--background-color);
}

.strategy-item-row .result-item:first-child {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.strategy-item-row .result-item:last-child {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.result-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    margin-left: 1px;
    width: 100%;
}

.project-outline-item .result-header {
    margin-bottom: 0px;
}

.project-outline-item .result-header .title {
    line-height: 20px;
}

.similarity {
    padding: 3px 8px;
    border-radius: 10px;
    font-size: 12px;
}

.search-bar.ai-search-bar {
    position: relative;
}

.search-bar.ai-search-bar .search-icon {
    position: absolute;
    right: 0px;
    top: 0px;
    width: 50px;
    text-align: center;
    line-height: 50px;
    cursor: pointer;
}

.search-bar.ai-search-bar .search-icon i {
    font-size: 14pt;
    line-height: 47px;
}

.search-bar.ai-search-bar input {
    background-color: var(--background-color)!important;
    padding: 0px 50px 0px 15px!important;
    border-radius: var(--border-radius-tiny)!important;
    height: 50px!important;
}

.indented-item::before {
  content: "• ";
  position: absolute;
  margin-left: -14px;
}

.level-1::before { 
    content: "• "; 
}
.level-2::before { 
    content: "◦ "; 
}
.level-3::before { 
    content: "▪ "; 
}
.level-4::before { 
    content: "• "; 
}
.level-5::before { 
    content: "◦ "; 
}
.level-6::before { 
    content: "▪ "; 
}
.level-7::before { 
    content: "• "; 
}
.level-8::before { 
    content: "◦ "; 
}
.level-9::before { 
    content: "▪ "; 
}

.btn.btn-transparent.un-selectable {
    user-select: none;
    cursor: default;
}

.btn.btn-transparent.un-selectable:hover i {
    color: var(--icon-color)!important;
}

.todos-dropdown-container {
    display: inline-block;
    float: right;
    font-size: 11px;
    line-height: 20px;
    text-align: right;
}.todos-dropdown-container:hover i {
    color: var(--awhite);
}

.todos-dropdown-container > div {
    background-color: transparent!important;
}

.pproject .circle-number-text {
    padding-left: 2px;
    display: inline-block;
    color: var(--black);
}

nav ul a:hover {
    background-color: initial!important;
}

.search-input .ai-btn {
    position: absolute;
    right: 35px;
    height: 50px;
    width: 60px;
    cursor: pointer;
    padding: 0 5px;
    font-size: 12px;
    line-height: 50px;
    display: inline-flex;
    gap: 5px;
    user-select: none;
}

.ai-search-response {
    padding: 20px 40px;
    margin-bottom: 20px;
    overflow-y: auto;
    transition: all .5s ease-in-out;
    border-bottom: 1px solid var(--light-border);
    border-top: 1px solid var(--light-border);
}

.ai-search-response ul,
.ai-chat-panel ul {
    padding-left: 15px!important;
}

.ai-search-response h1, 
.ai-search-response h2, 
.ai-search-response h3, 
.ai-search-response h4,
.ai-chat-panel h1, 
.ai-chat-panel h2, 
.ai-chat-panel h3, 
.ai-chat-panel h4{
    font-size: 15px;
    font-weight: 500!important;
    font-family: var(--body-font)!important;
    margin-top: 20px!important;
    margin-bottom: 1px!important;
    line-height: 23px;
}

.ai-chat-panel .message-content {
    font-family: var(--body-font)!important;
    border: 1px solid transparent;
    border-radius: var(--border-radius-tiny);
    border: none!important;
    background-color: transparent;
    padding: 0px;
}

.expanded .ai-chat-panel .message-content {
    padding: 0 30px;
}

.dark .ai-chat-panel .message-content {border-color: var(--555);}

.chat-send button[disabled] i {
    color: var(--icon-color);
}

.chat-send button i {
    color: var(--awhite);
}

html h3 {
    font-size: 32px;
}

html h4 {
    font-size: 21px;
}

.top-user-nav.right > span > li {
    width: 50px;
    text-align: center;
}

.work-panel-header i, .work-panel-header .btn {
    height: 50px!important;
    line-height: 50px!important;
    vertical-align: top;
    color: var(--black)!important;
    margin: 0px!important;
    font-size: 17px!important;
}

.work-panel-header {
    line-height: 23px;
}.todos-nav-footer .custom-dropdown, .todos-nav-footer > .btn {
    height: 50px!important;
    line-height: 50px!important;
}

.todos-nav-footer > .btn {
    margin-right: 0px;
}

.todos-nav-footer .btn i {
    line-height: 50px!important;
    height: 50px!important;
    position: relative!important;
    bottom: 0px;
    margin-top: 0px;
}

.jtsyn-chat-widget-header .ta-right .btn {
    margin-right: 0px;
    padding-right: 0px!important;
    font-size: 9pt;
    height: 50px;
    line-height: 50px;
}

.jtsyn-chat-widget-header .chat-actions.right .btn {
    margin-top: 0px!important;
    margin-right: -10px;
    float: right!important;
    padding-left: 0px!important;
}

.popup-mode .jtsyn-chat-widget-header .chat-actions .full-screen-toggle {
    display: none;
}

.jtsyn-chat-widget-header .chat-actions.right .btn i {
    font-size: 16px!important;
    line-height: 50px!important;
    width: 50px!important;
    color: var(--icon-color);
}

.open-in-new-window .full-screen {
    display: none!important;
}

.popup-mode .new-window {
    display: none!important;
}

.popup-mode .open-in-new-window .full-screen {
    display: inline-block!important;
    position: relative!important;
}

.btn.at-btn {
    height: 51px!important;
}

.ai-btn .openai-logo {
    width: 16px;
    height: 16px;
    background-color: var(--black);
    -webkit-mask-image: url('/images/openai-logomark.svg');
    -webkit-mask-size: cover;
    mask-image: url('/images/openai-logomark.svg');
    mask-size: cover;
    margin-top: 10px;
}

.ai-btn.selected .openai-logo {
    background-color: var(--primary);
}

.btn.ai-btn.selected {
    background-color: var(--primary)!important;
}

.btn.ai-btn:hover {
    color: var(--primary)!important;
}

.btn.ai-btn:hover .openai-logo {
    background-color: var(--primary);
}

.jtsyn-chat-widget-header .ta-right {
    padding-right: 20px!important;
}

.chat-widget-trigger i, .work-widget-trigger i, .btn-timer i, .notifications > i {
    font-size: 20px!important;
}

.jtsyn-chat-widget-header i {
    font-size: 21px!important;
}

.jtsyn-chat-widget-header .btn:first-child i {
    font-size: 16px!important;
}

.contact-info-details {
    cursor: pointer;
    margin-top: 25px;
}

.right-side-container .contact-info-details {
    margin-top: 0px;
    padding-left: 5px;
}

.timelog-list-items {
    line-height: 50px;
    padding: 0;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    border: 1px solid var(--light-border);
    margin-bottom: 5px;
}.profile-info {
    line-height: 30px;
}

.row.category-item {
    margin-bottom: -5px!important;
}

.row.category-item .col {padding-right: 1px!important;}

.account-spaces .list-editor {
    padding: 30px!important;
    border: 1px solid var(--light-border)!important;
    border-radius: var(--border-radius-tiny);
}

.account .account-spaces .list-editor {
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    padding: 40px!important;
}

.account .account-spaces .list-editor input {
    background-color: var(--background-color)!important;
}

.mention-dropdown {
    position: absolute;
    bottom: 108px;
    background-color: var(--xwhite);
    padding: 0px;
}

.mention-dropdown .mention-item {
    height: 50px;
    display: flex;
    line-height: normal;
    align-items: center;
    gap: 15px;
    padding: 0px 20px;
    cursor: pointer;
}

.mention-dropdown .mention-item:hover {
    background-color: var(--extra-light);
}

.mention-dropdown .mention-avatar {max-width: 50px;float: left;}

html body b {
    font-weight: 600;
}

.todo-list .todo-summary-text:hover .todo-summary-text {text-decoration: underline!important;}

/* Notification System - Minimal additions */

/* Project notification dropdown */
.notification-dropdown-container {
  position: relative;
}

/* Notification tabs */
.notification-tabs {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.notification-tabs > .btn {
    width: 50px;
    position: relative;
}

.notification-tabs > .btn i {
    color: var(--icon-color) !important;
}

.notification-tabs > .btn .active i {
    color: var(--primary)!important;
}

/* Per-tab unread badge. Matches the bell's .notification-alert language
   (primary fill, 3px radius, awhite text) at a smaller footprint so five of
   them can sit in the footer without crowding the icons. */
.notification-tabs > .btn .tab-count {
    position: absolute;
    top: 4px;
    right: 4px;
    min-width: 16px;
    height: 16px;
    padding: 0 3px;
    line-height: 16px;
    border-radius: 3px;
    background-color: var(--primary);
    color: var(--awhite);
    font-size: 6.5pt;
    font-weight: 500;
    text-align: center;
    pointer-events: none;
}

.notification-tabs > .btn.selected .tab-count {
    background-color: var(--awhite);
    color: var(--primary);
}

.notification-tabs .tab {
  flex: 1;
  text-align: center;
}

.notification-tabs .tab a {
  display: block;
  padding: 0;
  height: 50px;
  line-height: 50px;
  color: var(--light-text);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
}

.notification-tabs .tab a.active {
  color: var(--primary);
  border-bottom-color: var(--primary);
}

.notification-tabs .tab a:hover {
  color: var(--primary);
}

/* `.notification-dropdown` (the project-overview notification panel) removed
   2026-08-23: the overview bell became a link to the full project
   notifications page, so the inline dropdown no longer exists. The
   `.notification-dropdown-container` rule above is still live — it styles the
   bell itself. */

/* Notification pagination styles */
.notification-pagination {
  text-align: center;
  border-radius: var(--border-radius-tiny);
  background-color: var(--background-color);
  font-size: 12px;
  cursor: pointer;
  margin-top: 0px;
}

.notification-pagination:hover {
    background-color: var(--extra-light);
}

.notification-pagination:hover button {
    color: var(--primary)!important;
}

.pagination-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--light-text);
    height: 50px!important;
}

.pagination-loading i {
  animation: rotation 1s infinite linear;
  font-size: 14px;
}

.pagination-load-more {
  display: flex;
  justify-content: center;
  background-color: var(--extra-light);
  color: var(--primary);
  border-radius: var(--border-radius-tiny);
}

.pagination-load-more:hover {
    background-color: var(--extra-light)!important;
}

.pagination-load-more:hover button.btn.btn-transparent {
    color: var(--primary)!important;
}

.pagination-load-more:hover button {
    color: var(--awhite)!important;
}

.pagination-load-more .btn {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  color: var(--black)!important;
  background-color: transparent;
  border-radius: 3px;
  transition: all 0.15s ease;
  cursor: pointer;
  text-decoration: none;
  line-height: unset;
  height: 50px;
  border: none!important;
}

.pagination-load-more .btn:hover {
  background-color: var(--primary);
  color: white;
  border-color: var(--primary);
}

.pagination-load-more .btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.pagination-load-more .btn i {
  font-size: 14px;
  line-height: 36px!important;
}

@keyframes rotation {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.favorite-active {
    color: var(--primary) !important;
    font-variation-settings: 'FILL' 1 !important;
}

/* Enhanced JIRA Permission Notification */
.jira-permission-notification {
    padding: 8px 0;
    min-width: 350px;
}

.jira-permission-notification .notification-content {
    margin-bottom: 8px;
    display: flex;
    align-items: flex-start;
}

.jira-permission-notification .notification-content i {
    margin-right: 8px;
    margin-top: 2px;
}

.jira-permission-notification .notification-actions {
    display: flex;
    gap: 4px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.jira-permission-notification .notification-actions .btn-flat {
    margin: 0 2px;
    padding: 0 8px;
    height: 28px;
    line-height: 28px;
    font-size: 12px;
    text-transform: none;
    color: #fff;
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.jira-permission-notification .notification-actions .btn-flat:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.jira-permission-notification .configure-btn {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

.jira-permission-notification .later-btn {
    background-color: #FF9800 !important;
    border-color: #FF9800 !important;
}

.jira-permission-notification .dismiss-btn {
    background-color: #757575 !important;
    border-color: #757575 !important;
}

.jira-notification-toast {
    background-color: #FF6F00 !important;
    color: #fff !important;
    border-radius: 4px !important;
    max-width: 400px !important;
}

.view-all-updates {
    width: 100%;
    text-align: center;
    height: 30px;
    line-height: 30px;
    background-color: var(--extra-light);
    margin-top: 3px;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    transition: none;
    font-size: 12px;
}

.view-all-updates:hover {
    background-color: var(--primary);
    color: var(--awhite);
}

.collection-dropdown-wrapper a i {
    font-size: 13pt;
    margin-right: 5px!important;
}

#projectViewSelector a i.rotate90 {
    height: 40px;
    line-height: 44px;
    margin-top: 7px;
}

.collection-dropdown-wrapper li a {
    padding: 0px 18px!important;
    height: 50px!important;
    line-height: 50px!important;
}

.btn.checklist-selector {
    position: absolute;
    right: 30px;
    top: 25px;
    left: unset!important;
    height: 50px;
    line-height: 50px;
    width: 50px;
}

.panel-viewer .btn.checklist-selector {
    right: -10px;
    top: -10px;
}

.project-quick-todos .btn.btn-transparent.checklist-selector {
    right: -16px;
    top: 0;
}

.empty-response {
    text-align: center;
    padding: 0px!important;
    margin: 30px 0 0px!important;
    vertical-align: top;
    color: var(--primary);
}

.chat-expanded .right-side-container {
    width: calc(100% - 310px);
    display: flex;
}

.chat-expanded .chat-widget {
    display: flex;
}

.smart-result:hover, .smart-result:hover > div {
    background-color: var(--background-color)!important;
}

.smart-result {
    padding: 10px 30px!important;
}

.project-outline-meta .search-result-actions {
    padding: 0 30px 30px;
}

.project-role-container .light-text.right {
    font-size: 12px;
    padding-left: 5px;
}

.todo-summary-text {
    width: 100%;
    font-weight: 400;
}

.todo-summary-text ol {padding: 0 0 0 5px;}

.todo-summary-text .todo-priority {
    display: flex;
    float: left;
}

.todo-summary-text .todo-priority i {
    height: unset;
    line-height: unset;
    font-size: 20px;
    margin-right: 5px;
}

.work-nav-item .nav-sidebar {
    width: 100%!important;
    max-width: 520px;
}

.edit-business-data-icon {
    margin-right: -15px;
    margin-top: -10px;
}

.full-centered-page {text-align: center;display: block;overflow-y: auto;height: calc(100dvh - 64px);}

.section-header-row {
    padding: 20px;
    line-height: normal;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.profile-page .section-header-row {
    padding: 30px;
}

.opened .section-header-row {
    background-color: var(--white);
}

.dark nav .opened .section-header-row {
    /* background-color: var(--extra-light); */
}

.flex-container {
    display: flex!important;
    align-items: normal;
    gap: 5px;
}

.flex-item {
    display: flex;
    flex: 1;
}

.upload-text {
    display: flex;
    flex-direction: column;
    padding-top: 10px;
    font-size: 15pt;
    font-weight: 200;
}

.upload-text .error-upload-message {
    font-size: 9pt;
    color: var(--awhite);
    margin-top: 3px;
    font-weight: 400;
}

.jtsyn-bg-water {
    position: fixed;
    width: 100%;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    display: flex;
    z-index: 0!important;
    pointer-events: none;
    user-select: none;
}

.jtsyn-bg-water::before,
.jtsyn-bg-water::after {
    content: '';
    position: absolute;
    width: 200%;
    height: 200%;
    top: -50%;
    left: -50%;
    z-index: 0!important;
    user-select: none;
    pointer-events: none;
}

.jtsyn-bg-water::before {
    background: 
        radial-gradient(circle at 30% 40%, rgba(25, 118, 210, 0.5) 0%, rgba(25, 118, 210, 0.2) 25%, transparent 50%),
        radial-gradient(circle at 70% 60%, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.3) 20%, transparent 45%),
        radial-gradient(circle at 50% 80%, rgba(66, 165, 245, 0.4) 0%, rgba(13, 71, 161, 0.2) 30%, transparent 48%),
        radial-gradient(circle at 85% 20%, rgba(0, 0, 0, 0.1) 0%, transparent 35%);
    animation: waterFlow1 12s ease-in-out infinite;
}

.jtsyn-bg-water::after {
    background: 
        radial-gradient(circle at 60% 30%, rgba(66, 165, 245, 0.45) 0%, rgba(66, 165, 245, 0.15) 28%, transparent 48%),
        radial-gradient(circle at 20% 70%, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.25) 22%, transparent 42%),
        radial-gradient(circle at 80% 50%, rgba(13, 71, 161, 0.35) 0%, transparent 46%),
        radial-gradient(circle at 15% 15%, rgba(0, 0, 0, 0.1) 0%, transparent 38%);
    animation: waterFlow2 15s ease-in-out infinite;
}

.dark .jtsyn-bg-water::before {
    background: 
        radial-gradient(circle at 30% 40%, rgba(25, 118, 210, 0.5) 0%, rgba(25, 118, 210, 0.2) 25%, transparent 50%),
        radial-gradient(circle at 70% 60%, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3) 20%, transparent 45%),
        radial-gradient(circle at 50% 80%, rgba(66, 165, 245, 0.4) 0%, rgba(13, 71, 161, 0.2) 30%, transparent 48%),
        radial-gradient(circle at 85% 20%, rgba(0, 0, 0, 0.5) 0%, transparent 35%);
    animation: waterFlow1 12s ease-in-out infinite;
}

.dark .jtsyn-bg-water::after {
    background: 
        radial-gradient(circle at 60% 30%, rgba(66, 165, 245, 0.45) 0%, rgba(66, 165, 245, 0.15) 28%, transparent 48%),
        radial-gradient(circle at 20% 70%, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.25) 22%, transparent 42%),
        radial-gradient(circle at 80% 50%, rgba(13, 71, 161, 0.35) 0%, transparent 46%),
        radial-gradient(circle at 15% 15%, rgba(0, 0, 0, 0.55) 0%, transparent 38%);
    animation: waterFlow2 15s ease-in-out infinite;
}

@keyframes waterFlow1 {
    0%, 100% {
        transform: translate(0%, 0%) rotate(0deg) scale(1);
    }
    25% {
        transform: translate(8%, -5%) rotate(3deg) scale(1.08);
    }
    50% {
        transform: translate(-6%, 7%) rotate(-4deg) scale(0.94);
    }
    75% {
        transform: translate(5%, 4%) rotate(2deg) scale(1.05);
    }
}

@keyframes waterFlow2 {
    0%, 100% {
        transform: translate(0%, 0%) rotate(0deg) scale(1);
    }
    30% {
        transform: translate(-7%, 6%) rotate(-3deg) scale(1.06);
    }
    60% {
        transform: translate(6%, -8%) rotate(4deg) scale(0.92);
    }
    80% {
        transform: translate(-4%, -3%) rotate(-2deg) scale(1.04);
    }
}

.water-background-nav-switch {
    cursor: pointer;
}

.strategy-page .centered-page > div {margin: 0px auto 60px;z-index: 9;/* position: relative; */height: 100%;width: 100%;}

.strategy\.focuses > .focus-settings {
    max-width: 1200px;
}

.strategy-bg-wrapper {
    position: absolute;
    top: 0px;
    bottom: 0px;
    /* right: 0px; */
    /* left: 0px; */
    height: 100dvh;
    width: stretch;
    background-size: cover;
    background-position: center;
    opacity: .5;
}

.initiatives-page {
    max-width: 1200px!important;
}

.programs-page {
    max-width: 1200px!important;
}

.okrs-page {
    width: 1200px!important;
    /* display: flex; */
    /* position: sticky!important; */
    /* top: 20px; */
}

.focus-settings > div {
    /* max-width: 900px!important; */
    margin: 0 auto 10px!important;
    display: block;
}

.pillar-detail, .focus-detail, .program-detail, .initiative-detail {
    margin: 0 auto;
    max-width: 800px;
}

.strategy-vision {
    max-width: 900px!important;
}

.project-peeps.row.list-item-editor {
    display: flex;
    gap: 5px;
}

.overview-section .project-peeps.row.list-item-editor {
    flex-direction: column;
}

.overview-section .project-peeps.row.list-item-editor .col.m6.s12 {
    padding: 0px!important;
    margin-bottom: 20px!important;
    width: 100%;
}

.overview-section .project-peeps.row.list-item-editor .col.m6.s12:last-child {
    margin-bottom: 0!important;
}

.flex-wrapr {
    display: flex;
    gap: 5px;
}

.admin-settings-section {
    padding: 50px;
    overflow-y: auto;
    height: calc(100dvh - 62px);
}

.admin-settings-section .card .dropdown-selector {
    background-color: var(--background-color);
}

.admin-settings-section > div {
    max-width: 1040px;
    margin: 0px auto;
    height: unset;
    overflow: unset;
}

.message-sender .lazy-image-wrapper {
    width: 25px;
    float: left;
    margin-right: 15px;
    margin-top: -4px;
    margin-bottom: -5px;
}

.message-sender .lazy-image-wrapper img {
    border-radius: 3px;
}

.project-doc {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: var(--white);
}

.admin-settings > .card {
    margin-top: 40px!important;
    margin-bottom: 40px!important;
}

.strategy-settings .card {
    max-width: 1040px;
    display: flex;
    flex-direction: column;
    margin: 0 auto 5px!important;
}

.admin-settings.vision-editor > div {
    max-width: 1040px;
}

.add-new-version {
    display: flex;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    padding-right: 0px;
    margin-bottom: 5px;
}

.add-new-version .add-new {
    height: 50px;
    width: 50px;
    text-align: center;
    line-height: 50px;
    padding: 0!important;
    float: right;
    display: flex;
    border-left: 1px solid var(--light-border);
    border-radius: 0!important;
}

.add-new-version .add-new i {margin: 0 auto!important;}

.version-item {
    display: flex;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    position: relative;
    margin-bottom: 1px;
}

.version-item .btn {
    height: 50px;
    line-height: 50px;
    width: 51px;
    border-radius: 0!important;
}

.version-item .btn.delete-version {
    border-left: 1px solid var(--light-border);
}

.version-item .btn:first-child {
    border-right: 1px solid var(--light-border);
}

.drag-handle {
    cursor: grabbing!important;
}

.version-item .btn:last-child {
    border-left: 1px solid var(--light-border);
    width: 51.5px!important;
}

.version-item .btn i {
    margin: 0;
    color: var(--icon-color);
}

.version-field-number {
    width: 120px;
    border-right: 1px solid var(--light-border);
}

.version-field-name {
    width: calc(100% - 152px);
}

html body .warning-btn:hover {
    color: var(--awhite)!important;
    background-color: var(--warning)!important;
}

.dropdown-content li.main-nav-dd i {
    margin-right: 0;
    padding-right: 0px!important;
    width: 50px;
    margin: 0!important;
    text-align: center;
    cursor: pointer;
}

.dropdown-content li.main-nav-dd i.right {
    font-size: 14pt;
    color: var(--icon-color);
}

.dropdown-content.top-nav-sub li.main-nav-dd i.active {
    transform: rotate( 180deg );
    color: var(--primary)!important;
}

.dropdown-content.top-nav-sub li.main-nav-dd i:hover {
    color: var(--primary)!important;
    cursor: pointer;
}

.dropdown-content li.main-nav-dd a {
    padding: 0 0 0 20px!important;
    height: 50px;
    line-height: 50px;
}

.dropdown-content.top-nav-sub.active > li > a, 
.dropdown-content.top-nav-sub.active > li > a i {
    color: var(--black)!important;
}

.date-header-wrapper {
    margin: 0px auto 5px;
    max-width: 720px;
}

ul.sub-section-menu {
    transition: all .3s ease-in-out;
}

.api-key-section {
    padding: 30px!important;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    margin-bottom: 5px!important;
    background-color: var(--background-color);
    border: none!important;
    /* max-width: calc(50% - 5px); */
    width: 100%;
    display: inline-block;
    margin-right: 5px;
    margin-bottom: 4px!important;
}

.api-key-section:nth-child(2n) {
    margin-right: 0;
}

.api-key-section img {
    max-width: 25px;
    margin-right: 10px;
}

/* AI Provider Logo Dark Mode Support */
.dark img[src*="openai-logomark"] {
    filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%)!important;
    border-radius: 0;
}

/* jtsyn Intelligence Logo Text */
.jtsyn-ai-logo {
    font-family: var(--nothing);
    color: var(--primary);
    display: inline-block;
    vertical-align: middle;
    font-size: 1em;
    vertical-align: top;
}

.jtsyn-ai-logo.sm {
    font-size: 14px;
    margin-right: 6px;
    margin-left: 5px;
}

.model-toggle-item .jtsyn-ai-logo.sm {
    font-size: 20px;
}

.jtsyn-ai-logo.md {
    font-size: 16px;
    margin-right: 8px;
}

#defaultModelDropdown .jtsyn-ai-logo {
    margin-left: 5px!important;
}

.jtsyn-ai-logo.lg {
    font-size: 24px;
    margin-right: 8px;
    margin-left: 9px;
}

.jtsyn-ai-logo.xl {
    font-size: 24px;
}

.new-card {
    padding: 40px;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.prompt-container .btn, .prompt-container .btn .ds-text {
    height: 30px;
    line-height: 30px!important;
    display: flex;
    align-items: center;
    justify-content: end;
}

.prompt-container .btn .list-text img {
    align-items: center;
}

.jt1 {
    font-family: var(--nothing);
}

.research-model-name .jt1 {
    margin-right: 5px;
    color: var(--primary);
    font-size: 18px;
}

.contact-info .jt1 {
    color: var(--primary);
}

.the-profile-image.intelligence-img.jt1 {
    font-size: 17pt;
    margin-top: -1px;
    margin-left: 5px;
}

.mention-menu {
    display: block;
    max-height: 300px;
    overflow: auto;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: var(--xwhite);
    border: 1px solid var(--border-color, rgba(0,0,0,0.12));
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    min-width: 260px;
  }

  .mention-menu .mention-header {
    padding: 6px 12px;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.06em;
    color: var(--light-text);
    text-transform: uppercase;
  }

  .mention-menu .mention-item {
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
  }

  .mention-menu .mention-item.active,
  .mention-menu .mention-item:hover {
    background: var(--background-color);
  }

  .mention-menu .mention-avatar {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 auto;
  }

  .mention-menu .mention-icon {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    object-fit: contain;
    flex: 0 0 auto;
    margin-top: 0px;
  }

  .mention-menu .mention-meta {
    min-width: 0;
    flex: 1;
  }

  .mention-menu .mention-title {
    font-size: 13px;
    font-weight: 400;
    color: var(--black);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
  }

  .mention-menu .mention-subtitle {
    font-size: 11px;
    color: var(--light-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 2px;
    line-height: 1.2;
  }

  .menu-highlighted {
    font-weight: 400!important;
  }

.private-ai-message .ai-model-indicator {
    margin-left: 0px!important;
}

button.visibility-toggle-btn {
    line-height: 20px;
    vertical-align: middle;
}

.oauth-btn-content {
    display: flex;
    gap: 6px;
    align-items: anchor-center;
    text-align: center;
}

.oauth-btn-content svg {
    width: 16px;
    height: 16px;
}

.apple-btn .oauth-btn-content svg {
    width: 24px;
    height: 24px;
}

.authenticate-me.oauth-buttons {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 40px;
    margin-bottom: 10px;
}

.authenticate-me.oauth-buttons.sso-enabled {
    margin-top: 20px;
}

.ai-convo svg, .ai-convo img {
    max-width: 100%;
}

.login-container {
    max-width: 400px!important;
    background-color: var(--white);
    padding: 80px 50px ;
    margin: 10dvh auto;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
}

.full-centered-page .login-container {
    /* max-width: 700px!important; */
}

.login-container.account-chooser-container {
    max-width: 380px;
    padding: 60px 50px;
    margin-bottom: 0;
}

.main-chat-panel .chat-input {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--white);
}

.chat-collapsed .main-chat-panel .chat-input {
    padding: 0 15px 15px;
    background-color: var(--light-white);
}

.chat-collapsed .main-chat-panel .chat-input-wrapper {
    border: 1px solid transparent;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    background-color: var(--white);
}

.dark .chat-collapsed .main-chat-panel .chat-input-wrapper {
    /* border-color: var(--border); */
}

.chat-collapsed .main-chat-panel .chat-input-divider {
    display: none;
}

.chat-expanded .main-chat-panel .chat-input {
    width: 100%;
    left: unset;
    right: unset;
    position: relative;
}

.chat-expanded .simple-chat .main-chat-panel .chat-input, .chat-expanded .intelligence-chat .main-chat-panel .chat-input {
    max-width: 800px;
    margin: 0 auto;
}

.chat-expanded .has-thread-sidebar .chat-input {
    width: 100%;
}

.value-text .cke {
    background-color: var(--background-color);
    padding: 20px;
    border-radius: var(--border-radius-tiny);
}

.vision-editor .vision-editor {
    max-width: 900px;
    margin: 0px auto;
}

.streaming-cursor {
    width: 5px!important;
    height: 5px!important;
    border-radius: var(--border-radius-tiny);
}

button.btn-flat.stop-streaming-btn {
    height: 25px;
    padding: 0!important;
    line-height: 25px!important;
    height: 25px!important;
    display: flex;
    align-items: anchor-center;
    text-transform: capitalize;
    font-size: 9pt;
    gap: 4px;
    color: var(--primary)!important;
}

button.btn-flat.stop-streaming-btn i {
    height: 25px;
    line-height: 25px;
}

button.btn-flat.stop-streaming-btn i {
    color: var(--primary)!important;
}

.project-docs > .card {
    max-width: 900px;
    margin: 50px auto;
    padding: 40px;
}

.project-docs > .card input {
    background-color: var(--background-color)!important;
    padding: 0px 15px!important;
    border-right: 1px solid var(--white)!important;
}

.text-field .sub-text a {
    display: inline-block;
    padding: 0;
    font-size: unset;
}

.provider-status-item {
    height: 40px;
    line-height: 40px;
    display: flex;
}

nav .provider-status-item > img {
    margin-top: 10px;
}

.ai-actions .ds-text img {
    max-width: 17px;
    width: 100%;
    margin-right: 7px;
    box-shadow: none;
    line-height: 40px;
}

.ai-settings .ai-icon.jt1 {
    color: var(--primary);
    font-size: 13pt!important;
    margin-right: 0px!important;
    margin-left: 0px;
    text-align: right;
    padding-right: 10px;
    padding-left: 10px;
    text-decoration: none!important;
}

.model-selector .ai-action .ai-icon.jt1 {
    margin-left: -7px;
    margin-right: 4px!important;
}

ai-chat .model-selector .ai-action .ai-icon.jt1 {
    margin-left: -3px!important;
}

.ai-icon.jt1.ai-icon-wrp {
    width: 24px!important;
    height: 25px!important;
    padding: 0;
}

.ai-chat .second-container.model-selector .ai-action {
    margin-left: 0!important;
}

.ai-action.the-model-selector .ai-icon-wrp {
    width: 28px!important;
    height: 28px!important;
    padding: 0!important;
}

.ai-action.the-model-selector {
    padding-right: 55px;
    display: flex;
    align-items: start!important;
}

.ai-action.the-model-selector.the-agent-selector {
    display: flex;
    line-height: normal;
    height: fit-content;
    padding: 10px 20px;
}

.ai-action.the-model-selector .ai-icon-wrp {
    width: 32px;
}

.ai-action.the-model-selector > span > *:last-child {}

.ai-action.the-model-selector i {
    height: 50px;
    line-height: 50px;
}

.admin-card {
    background-color: var(--white);
    padding: 40px;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    margin-bottom: 5px;
}

.admin-card .text-field input, .admin-card .text-field .dropdown-selector {
    background-color: var(--background-color)!important;
}

.feature-toggles {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    box-sizing: border-box;
}

.feature-toggle-title {
    font-weight: 400;
}

.intelligence-settings .sub-text {
    margin-bottom: 0px!important;
    font-size: 12px;
}

.flex-between {
    display: flex!important;
    justify-content: space-between!important;
    align-content: flex-start;
}

.project-intelligence-convo-header {
    margin-top: 20px;
    margin-bottom: 5px;
}

.ideas-detail-footer-actions {gap: 20px;vertical-align: top;align-items: center;}

.ideas-detail-footer-actions .btn.btn-transparent {
    font-size: 13px;
    font-weight: 400;
    vertical-align: middle;
}

.integration-section > .flex-between .switch .lever {
    background-color: var(--background-color)!important;
}

html body .locked i, html body i.locked {
    color: var(--orange)!important;
}

.user-meta-actions .btn.btn-icon {
    height: 20px!important;
    line-height: 20px!important;
}

.user-meta-actions {
    display: flex;
    padding-top: 10px;
}

.jt1-logo-bg .jt1 {
    font-size: 16pt;
}

.jt1-logo-bg .jt1 {
    margin-left: 5px;
    color: var(--primary);
    margin-right: 5px;
}

.byok-user-selector input {
    background-color: var(--white)!important;
    padding: 0px 20px!important;
    font-size: 13px!important;
}

.model-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--bgc);
    border: 1px solid var(--light-border);
    padding: 15px 30px;
    border-radius: var(--border-radius-tiny);
    margin-bottom: 5px;
}

.integration-actions i {
    color: var(--primary)!important;
}

.sli-header {
    text-transform: uppercase;
    color: var(--light-text);
    font-size: 9pt;
}

.profile-menu .sli-header {
    margin-top: 10px;
}

.profile-sidebar-collapsed .sli-header {
    display: none;
}

.sli-header.mt-16 {
    margin-top: 32px;
    margin-bottom: 5px;
}

.fwf {
    /* display: flex; */
    /* width: 100%; */
}

.strategy-sidebar-list .sli-header {
    /* color: var(--primary); */
    /* margin-top: 20px; */
    /* margin-bottom: 5px; */
}

.focus-item .cke {
    background-color: var(--background-color);
    padding: 25px;
    border-radius: var(--border-radius-tiny);
}

.focus-item .cke_top {
    margin-bottom: 10px;
}

.initiatives-editor {
    padding: 0 50px;
}

.value-text .cke_top {
    margin-bottom: 10px;
}

.linked-goals-toggle {
    background-color: var(--background-color);
    height: 50px;
    line-height: 50px;
    padding: 0px 10px;
    border-radius: var(--border-radius-tiny);
}

.goal-selector-panel {
    padding: 30px;
    background-color: var(--background-color);
    color: var(--light-text);
    margin-bottom: 5px;
    border-radius: var(--border-radius-tiny);
}

.goal-selector-label {
    margin-bottom: 5px;
}

.goal-chip {
    display: flex;
    align-items: anchor-center;
    gap: 10px;
    cursor: pointer;
}

.goal-chip, .goal-chip i {
    color: var(--icon-color)!important;
    user-select: none;
}

.goal-chip:hover, .goal-chip:hover i {
    color: var(--primary)!important;
}

.user .project-editor {
    padding: 40px;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.profile-page .user .project-editor {
    padding: 0;
    box-shadow: none;
    background-color: transparent;
}

.initiatives-list.col {
    background-color: var(--white);
    padding: 40px!important;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
}

.memory-item-meta-right {
    display: flex;
    justify-content: space-between;
    margin-left: auto;
    gap: 5px;
    line-height: 22px;
}

li.dropdown-section-header i, li.dropdown-section-header {
    line-height: 50px;
    font-size: 13px;
}

li.dropdown-section-header {
    border-bottom: 1px solid var(--border);
    text-transform: uppercase!important;
    font-size: 11px;
    font-weight: 400;
    color: var(--light-text)!important;
}

.user.team-user.profile-page {
    padding: 40px;
    background-color: var(--white);
    box-shadow: var(--box-shadow);
}

.user-name-meta .user-name {
    font-weight: 400;
    font-size: 15px;
}

.users-table {
    margin-top: 8px;
}

.admin-spaces-page .users-table {
    background-color: var(--white);
    padding: 25px 40px 40px;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.profile-header-container {
    padding: 0 3px;
    margin-bottom: 5px;
}

.bceo-title {
    font-weight: 400;
}

.chooser-footer-actions .btn {
    font-size: 13px;
    color: var(--light-text)!important;
    padding: 0!important;
    height: 30px;
    line-height: 30px;
    width: 30px;
}

.chooser-footer-actions .btn i, .chooser-footer-actions .btn {
    color: var(--icon-color)!important;
}

.chooser-footer-actions .btn:hover i, .chooser-footer-actions .btn:hover {
    color: var(--primary)!important;
}

.user-info-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0px;
    padding-top: 15px;
    padding-bottom: 0px;
    border-radius: var(--border-radius-tiny);
    justify-content: center;
    width: auto;
}

.user-info-wrapper .user-provider span {
    font-size: 11px!important;
}

.user-info-content {
    text-align: left;
}

button.btn.btn-text.cancel-switch {
    color: var(--primary)!important;
    margin: 0 auto;
}

.shimmer-text {
	position: relative;
	display: inline-block;
	color: var( --light-text);
	

	/* Slight base polish */
	/* text-shadow: 0 1px 0 rgba( 0, 0, 0, 0.15 ); */
}

/* Shimmer overlay */
.shimmer-text::after {
	content: attr( data-text );
	position: absolute;
	inset: 0;

	/* Pure white highlight — blend does the magic */
	color: white;

	background: linear-gradient(
		110deg,
		transparent 0%,
		rgba( 255, 255, 255, 0.9 ) 12%,
		transparent 24%
	);

	background-size: 200% 100%;
	background-position: -120% 0;

	/* Clip gradient to text */
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;

	/* Lighten instead of replace */
	mix-blend-mode: screen;
	pointer-events: none;

	animation: shimmer-sweep 1s linear infinite;
}

@keyframes shimmer-sweep {
	0% {
		background-position: -120% 0;
	}
	100% {
		background-position: 120% 0;
	}
}

.shimmer-overlay {
	--shimmer-highlight: white;
	background: linear-gradient(
  110deg,
  currentColor 0%,
  currentColor 50%,
  var( --shimmer-highlight ) 50%,
  currentColor 60%,
  currentColor 100%
 );
	background-size: 200% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: shimmer-overlay-sweep 1.5s ease-in-out infinite;
}

.dark .shimmer-overlay {
	--shimmer-highlight: rgba( 255, 255, 255, 0.9 );
}

@keyframes shimmer-overlay-sweep {
	0% {
		background-position: 100% 0;
	}
	100% {
		background-position: -100% 0;
	}
}

.user-info-content-wrapper {
    display: flex;
    gap: 14px;
    /* border: 1px solid var(--light-border); */
    padding: 5px;
    border-radius: 3px;
    max-width: 420px;
    margin: 0 auto;
}

.chooser-footer-actions .btn i {
    font-size: 17px!important;
    color: var(--primary)!important;
    line-height: 16px!important;
}

.chooser-footer-actions {
    text-align: right;
    margin-left: auto;
    padding-top: 3px;
    display: flex;
    gap: 5px;
}

.alert i.material-icons {
    color: var(--warning);
}

.alert.alert-success i.material-icons {
    color: var(--good);
}

.status-display {
    padding: 20px;
    background-color: transparent!important;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
    margin-top: 20px;
    font-weight: 400;
}

.status-display i {
    float: left;
    margin-right: 10px;
    font-size: 15pt;
}

.admin-settings-body button {
    background-color: transparent!important;
    color: var(--primary);
}

.admin-settings-body button {
    font-size: 13px!important;
}

.plan-option .btn.btn-small {
    font-size: 13px!important;
    text-transform: uppercase;
    padding: 0!important;
    font-weight: 500;
}

.admin-settings-body button:first-of-type {
    padding-left: 0!important;
    font-size: 13px;
}

.admin-settings-body .plan-ref-card button:first-of-type {
    padding-right: 0!important;
}

.description button.btn.btn-secondary i {
    margin-right: 5px;
}

.security-settings .grouping button {
    height: 50px;
    line-height: 50px;
    width: 50px;
    text-align: center;
    padding: 0px!important;
    margin-left: -4px;
    background-color: var(--background-color)!important;
    border: none!important;
    border-radius: 0 5px 5px 0!important;
    margin-top: .5px;
}

.security-settings .grouping button:hover {
    background-color: var(--primary)!important;
}

.security-settings .grouping button.btn i {
    margin-right: 0px!important;
    height: 50px!important;
    line-height: 50px!important;
}

.admin-settings-body button:hover {
    background-color: transparent!important;
    text-decoration: underline;
}

.toggle-options .toggle-option {padding: 20px!important;background-color: var(--background-color);border-radius: var(--border-radius-tiny);width: calc(50% - 5px)!important;border: 1px solid var(--light-border);cursor: pointer;}

.toggle-options .toggle-option:hover {
    background-color: var(--extra-light);
}

.toggle-options {
    gap: 5px;
    display: flex!important;
    padding-bottom: 40px!important;
}

.toggle-option.active {
    /* background-color: var(--extra-light); */
    color: var(--primary);
    border: 1px solid var(--primary);
}

.toggle-option.active i {
    color: var(--primary);
}

.toggle-option-title {
    font-weight: 500;
}

.admin-pillars {
    margin: 40px 0;
}

.inline-warning-message {
    padding: 20px 30px!important;
    border-radius: var(--border-radius-tiny);
    line-height: 25px;
    border: 1px solid var(--light-border);
    color: var(--light-text)!important;
    background-color: var(--white)!important;
}

.inline-warning-message p {
    color: var(--black);
}

.inline-warning-message i {
    color: var(--orange);
    line-height: 25px;
    vertical-align: middle;
    margin-right: 10px;
    font-size: 22px;
}

.thread-reply .reply-sender .lazy-image-wrapper {
    padding-top: 7px;
}

.idp-config-settings .card .setting-option {
    padding-bottom: 0;
}

#newMappingRoleDropdown li a {
    padding: 0;
}

#newMappingRoleDropdown li {
    padding: 10px 20px;
}

.input-with-button {
    display: flex;
}

html body .input-with-button input {
    border-radius: 5px 0 0 5px!important;
}

.input-with-button button.btn {
    height: 50px!important;
    line-height: 50px!important;
    background-color: var(--background-color)!important;
    padding-right: 0px!important;
    width: 50px!important;
    border: none!important;
    margin-left: 1px;
    max-width: 50px!important;
    min-width: 50px!important;
    border-radius: 0 5px 5px 0!important;
    text-align: center;
}

html body .input-with-button button.btn i {
    margin: 0px auto!important;
    height: 50px;
    line-height: 50px!important;
    width: 50px;
    right: 0;
}

.feature-card-content .premium-badge .material-symbols-outlined {
    font-size: 17px!important;
}

.flex-row {
    display: flex!important;
    box-sizing: border-box;
}

/* html body {
    background:
	radial-gradient(
		120% 80% at 50% -20%,
		rgba(255, 255, 255, 0.9) 0%,
		rgba(245, 245, 245, 0.8) 40%,
		rgba(235, 235, 235, 0.9) 70%
	),
	linear-gradient(
		180deg,
		#f4f4f4 0%,
		#f1f1f1 60%,
		#ededed 100%
	);
} */

.addon-items .addon-item {
    padding: 30px;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    display: flex;
    flex: 1 0 calc(50% - 15px);
    border: 1px solid var(--white);
}

.storage-addons .addon-items .addon-item {
    flex: 1;
}

.addon-items .addon-item.selected {
    color: var(--black)!important;
    background-color: var(--xwhite);
}

.addon-items .addon-item {
    font-size: 14px!important;
}

.addon-category-header {
    color: var(--black);
    text-transform: uppercase;
    font-size: 12px;
    padding-bottom: 5px;
    padding-left: 5px;
    display: flex;
    align-items: center;
}

.addon-total-container {
    margin-top: 50px;
}

.addon-storage-badge {
    margin-left: auto;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 500;
    color: var(--light-text);
    background: var(--background);
    border-radius: 12px;
    text-transform: none;
    display: flex;
    align-items: center;
    gap: 4px;
    letter-spacing: 0;
}

.addon-storage-badge i {
    font-size: 13px !important;
    color: var(--light-text) !important;
    margin-right: 0 !important;
}

.plan-limit-usage {
    font-size: 11px;
    color: var(--light-text);
    /* margin-left: auto; */
}

/* Billing Summary (settings page) */
.billing-summary-lines {
    padding: 0;
    padding-top: 10px;
}

.billing-summary-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0 3px;
}

.billing-summary-line:first-child {
    padding-top: 0;
}

.billing-summary-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--black);
}

.billing-summary-label i {
    font-size: 16px !important;
    color: var(--primary);
}

.billing-summary-value {
    font-size: 13px;
    font-weight: 500;
    color: var(--black);
    white-space: nowrap;
}

.billing-summary-sub {
    font-size: 12px;
    color: var(--light-text);
    padding: 0 0 13px 24px;
    margin-top: -4px;
    border-bottom: 1px solid var(--light-border);
}

.billing-summary-category-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0 0px 24px;
    font-size: 12px;
    color: var(--light-text)!important;
}

.billing-summary-category-label {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--black);
}

.billing-summary-category-label i {
    height: 10px;
    line-height: 10px;
}

.billing-summary-category-label i {
    font-size: 14px !important;
    color: var(--light-text);
}

.billing-summary-category-cost {
    font-size: 13px;
    font-weight: 500;
    color: var(--black);
    white-space: nowrap;
}

.billing-summary-category-sub {
    font-size: 12px;
    color: var(--light-text);
    padding: 0 0 6px 44px;
}

/* Add-on line items on billing page */
.addon-billing-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--light-border);
}

.addon-billing-item:last-child {
    border-bottom: none;
}

.addon-billing-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.addon-billing-item .addon-billing-info > i {
    font-size: 20px;
    color: var(--light-text);
    vertical-align: top;
}

.addon-billing-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--black);
}

.addon-billing-price {
    font-size: 12px;
    color: var(--light-text);
    margin-top: 1px;
}

.addon-billing-total {
    font-size: 13px;
    font-weight: 500;
    color: var(--black);
    white-space: nowrap;
}

.billing-summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0 0;
    margin-top: 4px;
}

.addon-category-header i {
    vertical-align: middle;
    font-size: 17px!important;
}

.addon-category-header i {
    color: var(--primary);
}

.stat-operator {
    position: absolute;
    right: -20px;
    top: 51px;
    font-size: 18pt;
    background-color: var(--white);
    padding: 10px;
    z-index: 999;
    color: var(--black);
    border-radius: var(--border-radius-tiny);
    /* box-shadow: inset 0px 1px 3px var(--shadow); */
}

.add-on-header {
    margin-top: 20px;
    font-size: 12px;
    text-transform: uppercase;
    color: var(--light-text);
}

.add-on-header.top-border {
    /* border-top: 1px solid var(--light-border); */
    /* padding-top: 20px; */
    margin-top: 0px;
}

.bs-bold {
    font-weight: bold;
}

.addons-total-bar.list-wrap {
    margin-top: 0px!important;
    color: var(--primary);
    padding: 30px;
}

.strategy-setting {
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    padding: 30px;
    border-radius: var(--border-radius-tiny);
    flex: 1 0 calc(50% - 5px);
    cursor: pointer;
    flex-grow: inherit;
}

.strategy-setting:hover {
    background-color: var(--extra-light);
}

.dark .strategy-setting:hover {
    background-color: var(--xwhite);
}

.strategy-setting .btn {
    padding: 0!important;
}

.card .strategy-settings {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.strategy-setting-title {
    font-weight: 500;
    font-size: 15px;
    display: flex;
    align-items: center;
}

.alignment-gap-count-badge {
    font-size: 13px;
    margin-left: 10px;
    color: var(--orange);
}

.provider-models-section {
    margin-top: 40px!important;
}

.settings-wrapper-1 .text-field, .integration-section .setting-option .text-field {
    padding-bottom: 0!important;
}

.program-group {
    background-color: var(--light-glass);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 5px;
    padding: 40px;
    transition: background-color .3s ease-in-out;
}

.program-group:hover {
    background-color: var(--white);
}

.focus-group {
    /* background-color: var(--light-glass); */
    /* padding: 40px; */
    border-radius: var(--border-radius-tiny);
    /* box-shadow: var(--box-shadow); */
}

.nav-wrapp {position: relative;}

.pi-sidebar-footer {
    position: absolute;
    border: 0;
    left: 0;
    right: 0;
    width: 100%;
}

.pi-add-new-chat-btn {
    display: flex;
    height: 50px;
    line-height: 50px;
    align-items: center;
    padding: 0 30px;
    margin-bottom: 0px;
    color: var(--primary);
    cursor: pointer;
    font-weight: 400;
    width: 100%;
    float: left;
    font-size: 13px;
    margin-top: 10px;
}

.pi-add-new-chat-btn i {
    font-size: 20px;
    margin-left: -2px;
    margin-right: 10px;
    color: var(--primary);
    line-height: 50px;
}

.pi-add-new-chat-btn:hover {
    background-color: var(--primary);
    color: var(--awhite);
}

.pi-add-new-chat-btn:hover i {
    color: var(--awhite)!important;
}

.pi-add-new-chat-btn:hover i {
    color: var(--primary);
}

.chat-input-footer-wrapper {
    background-color: var(--background-color);
    position: absolute;
    bottom: 0;
    left: 10px;
    right: 10px;
    z-index: 1;
    height: 170px;
    top: unset;
}

.start-a-new-intelligence-session .chat-input-footer-wrapper {
    position: relative;
    /* margin-top: 20px; */
    left: 0;
    height: auto;
    display: flex;
    margin-top: 0px;
    background-color: transparent;
}

.second-container {
    max-height: 40dvh;
    overflow-y: auto;
    position: relative;
    bottom: 0px;
}

.second-container.agent-mode-selector .ai-action {
    width: auto;
}

.auto-mode span, 
.auto-mode i,
.btn-transparent.auto-mode span, 
.btn-transparent.auto-mode i,
.auto-mode:hover span, 
.auto-mode:hover i,
.btn-transparent.auto-mode:hover span, 
.btn-transparent.auto-mode:hover i {
    color: var(--orange)!important;
}

.collaborate-mode span, 
.collaborate-mode i,
.collaborate-mode:hover span, 
.collaborate-mode:hover i,
.btn-transparent.collaborate-mode span, 
.btn-transparent.collaborate-mode i,
.btn-transparent.collaborate-mode:hover span, 
.btn-transparent.collaborate-mode:hover i {
    color: var(--highlight)!important;
}

.plan-mode span, 
.plan-mode i,
.plan-mode:hover span, 
.plan-mode:hover i,
.btn-transparent.plan-mode span, 
.btn-transparent.plan-mode i,
.btn-transparent.plan-mode:hover span, 
.btn-transparent.plan-mode:hover i {
    color: #44b8c6 !important;
}

.auto-mode span.sub-text, .collaborate-mode span.sub-text, .plan-mode span.sub-text {
    color: var(--light-text)!important;
}

.set-agent-mode.plan-mode .ai-action-with-subtext span:first-child, .set-agent-mode.plan-mode i {
    color: var(--good);
}

.second-container .ai-action.justify-start .switch {
    width: 100%;
}

.second-container.agent-mode-selector {
    display: flex;
    flex-direction: column;
    /* max-width: 200px; */
}

.second-container.agent-mode-selector .ai-action-with-subtext {
    flex-direction: column;
}

.second-container.agent-mode-selector .ai-action-with-subtext > span:first-child {
    font-weight: 500;
}

.second-container.agent-mode-selector .ai-action, .second-container.grounding-selector .ai-action {
    height: unset!important;
    align-items: center!important;
    cursor: pointer;
    padding: 10px 20px!important;
}

.second-container.grounding-selector {
    display: flex;
    flex-direction: column;
    align-items: start;
}

.project-ai-list-composer .second-container {
    max-height: 40dvh;
}

.second-container.reasoning-depth-selector .ai-action {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
}

.reasoning-depth-selector .ai-action {
    flex-direction: column!important;
    display: flex!important;
    justify-content: start!important;
    text-align: left;
}

.ai-action.personality-selector {
    flex-direction: column;
    height: auto;
    line-height: unset;
    gap: 0!important;
    padding: 10px 20px;
}

.ai-action.personality-selector .sub-text {
    margin-left: 0!important;
    font-weight: 300;
}

.pi-chat-footer .sub-text {
    font-size: 12px;
}

.intel-convo-header .pi-chat-header {
    background-color: transparent!important;
    box-shadow: none!important;
    padding-left: 0!important;
    font-size: 17px!important;
    font-weight: 400;
    gap: 6px!important;
    line-height: 30px;
    display: flex;
    align-items: anchor-center;
}

.intel-convo-header .pi-chat-header i {
    line-height: 28px;
    display: flex;
}

.intel-convo-header-right {
    display: flex;
    gap: 10px;
}

.intel-convo-header-right > div, .intel-convo-header-right > div i {
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    font-size: 20px;
    cursor: pointer;
}

.embedded-item .iframely-responsive {
    height: calc(100dvh - 114px)!important;
    overflow-y: auto;
    padding: 40px;
    box-sizing: border-box;
}

.message-group {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.all-contacts-section.display-current-project {
    height: calc(100dvh - 312px);
    overflow-y: auto;
}

.search-input .right-buttons {
    position: absolute;
    right: 0;
    top: 0;
    padding-right: 5px;
}

.search-input .right-buttons i {
    padding: 0 5px;
    cursor: pointer;
    user-select: none;
}

.search-input .right-buttons i:hover {
    color: var(--primary);
}

.highlighted-text em {
    background-color: var(--highlight);
    color: var(--ablack);
    font-style: normal!important;
}

.btn.btn-transparent.ask-intelligence-btn {
    width: 100%;
    height: 50px;
    line-height: 50px;
    border: 1px solid var(--light-border);
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 0 12px!important;
}

.btn.btn-transparent.ask-intelligence-btn svg {
    max-width: 30px;
    height: 40px;
    line-height: 45px;
}

.btn.btn-transparent.ask-intelligence-btn:hover .jt-ai-word, .btn.btn-transparent.ask-intelligence-btn:hover .jt-ai-spark {
    fill: var(--awhite);
}

.btn.btn-transparent.ask-intelligence-btn:hover {
    background-color: var(--primary)!important;
}

.btn.btn-transparent.ask-intelligence-btn:hover, .btn.btn-transparent.ask-intelligence-btn:hover i {
    color: var(--awhite)!important;
}

.initiative-item.row .text-field {
    padding-bottom: 0;
    padding-right: 5px!important;
}

.overview-zoom-controls {
    position: fixed;
    right: 10px;
    width: 100px;
    left: unset!important;
    top: 90px;
    padding-top: 20px!important;
    margin-right: 20px;
}

.editor-option-card {
    padding: 20px;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 5px;
    /* box-shadow: var(--box-shadow); */
    flex: 1;
    cursor: pointer;
    display: flex;
    gap: 10px;
    border: 1px solid var(--light-border);
}

.editor-option-card:hover {
    background-color: var(--extra-light);
}

.editor-option-card:hover .editor-option-card__icon i {
    color: var(--primary);
}

.editor-option-card.editor-option-card--active {
    border: 1px solid var(--primary);
}

.dark .editor-option-card.editor-option-card--active {
    background-color: var(--extra-light);
}

.editor-option-card.editor-option-card--active .editor-option-card__icon i {
    color: var(--primary);
}

.editor-option-cards {
    display: flex;
    gap: 5px;
}

.focus-group-group {
    padding-bottom: 30px;
}

.program-group-group .program-group-header {
    background-color: transparent!important;
}

.program-group-group {
    margin-bottom: 30px;
}

.sli-icon i {
    font-size: 21px;
    /* margin-top: 3px; */
}

.nested-node .nested-node-name {
    padding-right: 20px;
    min-width: 200px;
    line-height: normal;
}

.jtsyn-color-picker-wrapper {
    display: inline-block;
}

jtsyn-drag-handle-btn i {
    color: var(--light-text)!important;
}

.jtsyn-drag-handle-btn i.material-icons {
    color: var(--light-border);
}

.jtsyn-drag-handle-btn:hover i.material-icons {
    color: var(--primary);
}

.jtsyn-bubble-more-dropdown {
    display: flex;
    flex-direction: column;
    /* text-align: left; */
    align-items: flex-start;
    /* justify-content: center; */
    /* padding: 0 20px; */
    /* width: 100%; */
}

.jtsyn-bubble-more-dropdown button {
    display: flex;
    width: 100%;
    gap: 15px;
    justify-content: start;
    align-items: center;
    padding: 0 15px;
}

.alignment-gap-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 5px;
    margin-bottom: 20px;
}

.alignment-gap-header {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--black);
}

.alignment-gap-header i {
    font-size: 15px;
}

.alignment-gap-list .alignment-gap-item {
    height: 40px;
    line-height: 40px;
    padding: 0 20px;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    color: var(--black);
    width: 100%;
}

.alignment-gap-list .alignment-gap-item:hover {
    text-decoration: none!important;
    background-color: var(--white)!important;
}

.alignment-gap-section {
    min-height: 50px;
    line-height: 50px;
    padding: 0 15px;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 5px;
    /* box-shadow: var(--box-shadow); */
    cursor: pointer;
}

.account.settings .alignment-gap-section .text-field input, .account.settings .alignment-gap-section .text-field select, .account.settings .alignment-gap-section .text-field .dropdown-selector {
    background-color: var(--white)!important;
}

.alignment-gap-section:hover {
    background-color: var(--extra-light)!important;
}

.ml-auto {
    margin-left: auto!important;
}

.strategy-settings .admin-settings {
    padding: 40px!important;
}

.admin-strategy-content {
    max-width: 880px;
    margin: 40px auto;
    background-color: var(--white);
    padding: 40px;
}

.ai-panel .ai-convo-card .ai-convo-card-response {
    /* color: var(--light-text); */
    font-size: 13px;
}

.empty-text span {
    font-size: 13px;
}

.admin-section.admin-capacity-page {
    padding: 50px;
}

.admin-capacity-ooo-cell .btn {
    display: flex;
    gap: 5px;
    text-transform: uppercase;
}

input.myweek-task-est-input {
    margin-bottom: 0!important;
    height: 25px!important;
    width: 25px!important;
    border: none!important;
    background-color: var(--background-color)!important;
    border-radius: 3px!important;
    font-size: 11px!important;
}

.jtsyn-callout {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    justify-content: left;
    border-left: 2px solid var(--light-border);
    padding: 15px;
    background-color: var(--background-color);
    border-radius: 5px;
    margin: 5px 0;
}

.jtsyn-callout.jtsyn-callout--tip {
    border-color: var(--good);
}

.jtsyn-callout.jtsyn-callout--info {
    border-color: var(--primary);
}

.jtsyn-callout.jtsyn-callout--danger {
    border-color: var(--warning);
}

.jtsyn-callout.jtsyn-callout--warning {
    border-color: var(--highlight);
}

.usage-items .usage-item > div:first-child {}

.myweek-task-title-wrapper {
    display: flex;
    gap: 10px;
}

.myweek-task-title-wrapper .sub-text {
    font-size: 11px;
}

.myweek-task-title-wrapper i.myweek-task-type-icon {
    align-self: unset;
}

.nav-list {
    display: flex;
    gap: 0px;
    align-items: center;
    background-color: var(--white);
    height: 30px;
    border-radius: 5px;
    overflow: hidden;
    border: 1px solid var(--light-border);
}

.nav-list .dropdown-selector i {
    margin-right: 0!important;
}

.nav-list li {
    list-style: none;
    /* height: 30px; */
    /* line-height: 30px; */
    border-right: 1px solid var(--light-border);
    cursor: pointer;
    padding: 0 10px;
    font-size: 12px;
    display: flex;
    align-items: center;
    user-select: none;
}

.nav-list ul li {
    height: 50px!important;
    line-height: 50px!important;
}

.nav-list .dropdown-selector {
    border-right: none;
    padding: 0 11px!important;
}

.nav-list li:last-child {
    border-right: 0;
}

.settings jtsyn-editor {
    /* padding: 30px!important; */
    display: flex;
    flex-direction: column;
    margin: 5px 0;
    border-radius: var(--border-radius-tiny);
    background-color: var(--background-color);
    border: 1px solid var(--light-border);
}

.intelligence-setting-option jtsyn-editor {
    padding: 20px;
}

.settings .vision-editor jtsyn-editor {
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    border: none;
    padding: 40px;
}

.settings .integration-section jtsyn-editor {
    background-color: var(--background-color)!important;
    padding: 30px;
}

.settings .agents-editor .integration-section jtsyn-editor {
    padding: 30px!important;
}

.settings .focus-item jtsyn-editor {
    background-color: var(--background-color);
    position: relative;
    padding: 30px!important;
}

.settings .admin.admin-settings .focus-item jtsyn-editor {
    padding: 20px!important;
}

.values-editor jtsyn-editor {
    border: 1px solid var(--light-border);
    background-color: var(--background-color);
    margin: 0;
    padding: 25px;
}

.ckeditor-wrapper .values-editor jtsyn-editor {
    background-color: var(--white)!important;
}

.dark .values-editor jtsyn-editor {
}

.myweek-wh-inputs input.myweek-wh-time-input {
    margin-bottom: 0;
    background-color: var(--background-color);
    padding: 0 10px;
    border-bottom: none;
    border-radius: var(--border-radius-tiny);
    font-size: 12px;
}

.myweek-action-buttonz {
    display: flex;
}

.myweek-wh-total .flex-between {
    align-items: center;
}

.notifications-footer .inline-dialog.delete.delete-notifications {
    padding: 0 15px!important;
    bottom: 0px!important;
}

.notifications-footer .inline-dialog.delete.delete-notifications a {
    font-size: 13px;
}

.myweek-wh-save {
    background-color: var(--primary);
    border-radius: var(--border-radius-tiny);
}

.overview-page-header-center {
    width: 500px;
    flex: 3;
    width: 670px;
    flex: 2.01;
}

.overview-page-header-center .overview-search {
    /* background-color: var(--white)!important; */
    margin-bottom: 0;
}

.space-permissions-tab-content {
    background-color: var(--white);
    /* margin-top: 5px; */
    padding: 30px 40px;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    position: relative;
}

.space-permissions-tab-content.team-create-section {
    margin-bottom: 25px;
}

.space-permissions-tab-content table {
    /* display: flex; */
    /* flex-direction: column; */
    margin-top: 20px;
    margin-bottom: 20px;
}

.space-permissions-tab-content table td {
    font-size: 12px;
    padding: 10px 2.5px;
}

td.space-members-cell-role {
    display: flex;
}

td.space-members-cell-role .select-wrapper {
    width: 100%;
}

.space-permissions-tab-content table .user-name {
    font-size: 14px;
}

.space-permissions-tab-content table .status-chip.enabled span {
    background-color: var(--primary)!important;
}

.space-permissions-tab-content table .status-chip span {
    font-size: 12px!important;
    background-color: var(--background-color)!important;
    height: 50px!important;
    display: inline-flex;
    align-items: center;
    margin-top: 0px;
    padding: 0 5px;
    border-radius: var(--border-radius-tiny);
}

.space-permissions-tab-content table tr {
}

.space-permissions-tab-content td, .space-permissions-tab-content th {
    padding: 5px 0;
}

.space-permissions-tab-content td select {
    display: flex;
    max-width: 290px;
}

.space-permissions-tab-content th {
    font-weight: 600;
}

.thin-sidebar-icon {
    display: none;
}

.thin-sidebar .thin-sidebar-icon {
    display: inline-block;
    align-items: center;
    margin: 0 auto;
    height: 50px;
    line-height: 50px;
    margin-left: 25px;
}

.viewer-banner i {
    color: var(--orange);
    font-size: 16px;
    line-height: 23px;
    padding-left: 8px;
}

.thin-sidebar .the-sidebar-header.sidebar-header {
    visibility: hidden;
    opacity: 0;
    display: none;
}

a .material-symbols-outlined, i.material-symbols-outlined, span.material-symbols-outlined {
    text-decoration: none!important;
}

i.material-symbols-outlined.strategy-link-add-icon {
    font-size: 14px;
}

.card.visibility-card .select-wrapper {
    background-color: var(--background-color);
    padding: 0 15px;
    border-radius: var(--border-radius-tiny);
}

.project-users .empty-state.sub-text {
    padding: 20px;
    border: 1px solid var(--light-border);
    margin-top: 10px;
    border-radius: var(--border-radius-tiny);
    text-align: center;
    user-select: none;
}

ul#viewerTeamList {
    right: 40px;
}

.space-permissions-tab-content select {
    display: flex;
}

.card.visibility-card .select-wrapper input.select-dropdown {
    font-size: 13px;
}

.col.s12.thin-active-sidebar {
    width: calc(100% - 70px);
    float: right!important;
}

li.myweek-wh-toggle {
    min-width: auto!important;
}

li.myweek-wh-toggle span {}

ul#myweekOooPicker {min-width: 120px!important;width: 200px!important;}

.pr10 {
    padding-right: 10px;
}

.group-creation-modal-container {
    width: 100%;
    position: relative;
}

.group-creation-modal-container > div {
    width: 100%;
}

.group-creation-modal-container > div .modal-body {padding: 20px 40px;}

.badge-small {
    background-color: var(--light-white);
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    border-radius: var(--border-radius-tiny);
}

.ui-grid-render-container-left.ui-grid-render-container.left {
    border-radius: 5px 0 0 5px;
    border: none!important;
    box-shadow: none;
}

.ai-model-selector-container > span.ai-icon.jt1 {
    font-size: 18px!important;
    margin-top: -6px;
    width: 110%!important;
}

.rotate-180 {
    transform: rotate(180deg);
}

#rshStatusDropdown li a {
    padding: 0 15px;
    height: 50px;
    line-height: 50px;
}

#rshStatusDropdown li a i {
    font-size: 18px;
    margin: 0 5px 0 0;
}

.todo-comment-message-author {
    font-weight: 400;
    font-size: 12px;
    padding-bottom: 2px;
    margin-bottom: 0!important;
}

.flex {
    display: flex;
}

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

.ql-editor ol.flex.flex-col {
    flex-direction: column;
}

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

.just-initials {
    font-family: var(--nothing);
    font-size: 18px;
    width: 100%;
    height: 100%;
    line-height: 200%;
    text-align: center;
}

img.ai-icon {
    box-shadow: none!important;
    max-width: 65px!important;
}

svg.ai-icon {
    position: relative;
    height: 60px;
    width: 60px;
}

.ai-icon svg {
    font-family: var(--nothing);
    font-size: 30pt;
    line-height: 30px;
}

.ai-icon svg g {
    z-index: 0;
}

.ai-icon {
    position: relative;
    max-width: 60px;
    max-height: 60px;
    display: flex;
    align-items: center;
    margin: 0 auto;
    /* overflow: hidden; */
}

.empty-message .ai-icon {
    max-width: 40px;
    max-height: 40px;
    margin-bottom: 0px;
}

.ai-panel .empty-message .ai-icon {
    max-width: 50px;
    max-height: 50px;
}

.spec-item-agents-list .ai-icon {
    max-width: 70px!important;
    max-height: 50px!important;
}

.ai-icon.agent-glyph {
    font-family: var(--nothing);
    min-width: 13px;
    font-size: 12px;
    /* color: var(--primary); */
    margin-top: 2px;
    margin-right: 5px;
}

.ai-agent-picker .ai-icon.agent-glyph {
    height: 20px;
    line-height: 20px;
    min-width: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--light-white);
    border-radius: 5px;
    margin-right: 9px!important;
    margin-top: 0px;
    padding: 2px 1px 0 0!important;
    /* border: 1px solid var(--primary); */
    color: var(--primary);
    font-size: 13px;
}

.ai-icon.agent-glyph, .ai-icon.agent-glyph:hover {
    text-decoration: none!important;
}

.agents-btn > .ai-icon {
    max-height: 30px;
    max-width: 30px;
}

.btn.btn-transparent.spec-item-view-selector span.agents-btn {
    padding-left: 10px!important;
}

.btn.btn-transparent.spec-item-view-selector span.agents-btn svg {
    max-width: 32px;
}

.agents-btn {
    display: flex;
    align-items: center;
    gap: 5px;
}

.list-header h5 {
    font-family: var(--nothing);
    font-size: 23px;
}

.left5 {
}

.ql-editor textarea.cke_source {
    padding: 20px;
    width: 100%;
    box-sizing: border-box;
    background-color: var(--white);
}

.work-mt-2 {
    margin-top: 30px;
}

.integrations-body .card table.work-mt-2 tr td {
    padding: 15px;
}


nav .todos-nav-body .nav-todos-list-container {background-color: var(--light-white);}

.dropdown-content.dropdown-menu-right {
    right: 0!important;
    left: unset!important;
}

.double-column {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.pa-compose-section-container {
    position: sticky;
    top: 20px;
    z-index: 99;
}

.focus-mention-preview {
    font-weight: 400;
    font-size: 12px;
    line-height: 19px;
    padding-top: 0px;
    padding-bottom: 1px;
}

.invite-role-field .select-wrapper {
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    padding: 0 0 0 20px;
}

.integrations-body .card .card-content {
    padding: 0!important;
}

.integrations-body .card .card-action a.btn.btn-transparent {
    background-color: var(--background-color)!important;
}

.inline-flex-wrap {
    display: inline-flex;
    align-items: center;
}

.container-nospace {
    display: flex;
    align-items: center;
    gap: 5px;
}

.container-nospace .okr-cycle-badge {
    margin-top: 0px;
    margin-left: auto;
}

ul.top-user-nav.right > div i {
    line-height: normal!important;
    height: unset!important;
}

.nav-wrapper {
}

.warning > i {
    color: var(--warning);
}

.fir-rank-handle {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    left: -8px;
    top: -2px;
    background-color: var(--hover-item);
    cursor: grab;
}

.fir-rank-handle i {
    color: var(--icon-color);
}

.focus-item:hover .fir-rank-handle {
    opacity: 1;
    visibility: visible;
}

.account-users > .settings-section, .account-roles > .settings-section {
    max-width: 800px;
    /* margin: 0 auto; */
}

.grid-link {
    color: var(--primary);
    cursor: pointer;
}

.grid-link:hover {
    text-decoration: underline;
}

/* ── Invitation acceptance states (first-run audit 2026-09-01) ────────────────
   The accept-invite page used to show one spinner captioned "Loading your
   invitation..." across the whole five-round-trip acceptance, then a hardcoded
   2s delay. These classes back the real step progress, the success moment, and
   the wrong-account state. */

.invite-step {
    margin-top: 15px;
    color: var(--light-text);
    min-height: 1.2em;
}

/* The step caption used to animate a trailing "..." through ::after content.
   The caption is centred, so every dot that appeared re-centred the line and
   the words visibly jittered. A shimmer sweeps across the glyphs instead: the
   text never moves, and the motion still reads as "working". Guarded by
   @supports because background-clip:text needs transparent glyphs — without
   the guard an unsupporting browser would render the caption invisible. */
.invite-step-shimmer {
    display: inline-block;
    color: var(--light-text);
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    .invite-step-shimmer {
        --shimmer-base: var(--light-text, #747474);
        --shimmer-glow: #1f1f1f;
        background-color: var(--shimmer-base);
        background-image: linear-gradient(
            100deg,
            var(--shimmer-base) 35%,
            var(--shimmer-glow) 50%,
            var(--shimmer-base) 65%
        );
        background-size: 250% 100%;
        background-repeat: no-repeat;
        background-position: 150% 0;
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
        animation: inviteShimmer 2s ease-in-out infinite;
    }

    :root.dark .invite-step-shimmer {
        --shimmer-glow: #ededed;
    }
}

@keyframes inviteShimmer {
    to { background-position: -50% 0; }
}

.invite-success {
    padding: 36px 20px 28px;
    text-align: center;
}

.invite-success-mark {
    width: 56px;
    height: 56px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: var(--primary);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: invitePop 420ms cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.invite-success-mark i {
    font-size: 30px;
    line-height: 1;
}

@keyframes invitePop {
    0%   { transform: scale(0.4); opacity: 0; }
    100% { transform: scale(1);   opacity: 1; }
}

.invite-success-title {
    margin: 0 0 6px 0;
    color: var(--black);
}

.invite-success-sub {
    margin: 0;
    color: var(--light-text);
}

.invite-mismatch {
    padding: 30px 20px;
    text-align: center;
}

.invite-mismatch-detail {
    margin: 12px 0 22px 0;
    color: var(--light-text);
}

.invite-error-actions {
    margin-top: 22px;
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

@media (prefers-reduced-motion: reduce) {
    .invite-success-mark { animation: none; }
    .invite-step-shimmer {
        animation: none;
        background: none;
        color: var(--light-text, #747474);
        -webkit-text-fill-color: currentColor;
    }
}

/* ── o6: deep-link anchor highlight ────────────────────────────────────────
   A settings link can carry ?anchor=<element-id> (the hash-bang router owns
   the fragment, so a real #hash is unavailable). routing.js scrolls the
   matching element into view and flashes this class on it so the eye lands on
   the right control. Colors come from the theme variables — no hard-coded hex,
   and the flash is suppressed under prefers-reduced-motion. */
.anchor-target-flash {
    animation: anchorTargetFlash 1.8s ease-out 1;
    border-radius: 6px;
}

@keyframes anchorTargetFlash {
    0%   { box-shadow: 0 0 0 3px var(--primary-color, #2196f3); background-color: var(--hover-bg, rgba(33, 150, 243, 0.08)); }
    70%  { box-shadow: 0 0 0 3px var(--primary-color, #2196f3); background-color: var(--hover-bg, rgba(33, 150, 243, 0.08)); }
    100% { box-shadow: 0 0 0 0 transparent; background-color: transparent; }
}

@media (prefers-reduced-motion: reduce) {
    .anchor-target-flash { animation: none; outline: 2px solid var(--primary-color, #2196f3); outline-offset: 2px; }
}


.post-uploads {
    padding-bottom: 20px;
}
/* App Loading Overlay - Shows during authentication and initialization */

.app-loading-overlay {
	position: fixed!important;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999999999999999999;
	background-color: var(--black);

	/* Added: predictable stacking + prevents weird blend/stack behavior */
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

/* Dark mode support */
.dark .app-loading-overlay {
	background: var(--ablack);

	/* Option #1 (enabled): dark-mode tint that deepens everything without killing brand color */
	box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.45); /* tune 0.35–0.65 */
}

.app-loading-container {
	text-align: center;
	padding: 40px;

	/* Added: ensure content is always above the moving gradients */
	position: relative;
	z-index: 2;

}

.feature-loading-container.app-loading-container {
	height: 50px !important;
	padding: 0 !important;
}

.spec-description .feature-loading-container.app-loading-container {
    padding-top: calc(50dvh - 130px)!important;
}

/* Spinner Animation — used by feature-loading-container and task-field-spinner.
   Overlay no longer renders a spinner; the animated wordmark IS the motion. */
.app-loading-spinner {
	width: 40px;
	height: 40px;
	margin: 0 auto 20px;
	border: 2px solid var(--primary);
	border-top: 0px solid var(--primary);
	border-radius: 50%;
	animation: app-spinner-rotate 1s cubic-bezier(0.46, 0.19, 0.42, 0.85) infinite;
}

.search-result-actions .app-loading-spinner {
    height: 20px;
    width: 20px;
    margin: 10px auto;
}

body > .app-loading-spinner {
    border-color: var(--awhite);
}

.feature-loading-container .app-loading-spinner {
	margin: 0 auto !important;
}

@keyframes app-spinner-rotate {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

@keyframes app-message-pulse {
	0%   { opacity: 0.5; }
	50%  { opacity: 1; }
	100% { opacity: 0.5; }
}

/* Small inline variant for status/assignee buttons */
.task-field-spinner {
	width: 16px !important;
	height: 16px !important;
	border-width: 2px !important;
	margin: 0 !important;
	display: inline-block;
	vertical-align: middle;
	flex-shrink: 0;
	border-top: none;
}

/* Loading Message */
.app-loading-message {
	animation: app-message-pulse 2s ease-in-out infinite;
	margin-top: 13px;
	margin-bottom: 20px;
	color: var(--awhite);
	font-family: var(--body-font);
	opacity: .8;
}

/* Ensure pseudo elements are behind content and don't capture clicks */
.app-loading-overlay::before,
.ai-bg::before,
.app-loading-overlay::after,
.ai-bg::after{
	content: '';
	position: absolute;
	width: 200%;
	height: 200%;
	top: -50%;
	left: -50%;
	pointer-events: none;

	/* Added: lock gradients behind the content */
	z-index: 0;
}

/* Base (light mode) watery gradients */
.ai-bg::before,
.app-loading-overlay::before {
	background:
		radial-gradient(circle at 30% 40%, rgba(25, 118, 210, 0.5) 0%, rgba(25, 118, 210, 0.2) 25%, transparent 50%),
		radial-gradient(circle at 70% 60%, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3) 20%, transparent 45%),
		radial-gradient(circle at 50% 80%, rgba(66, 165, 245, 0.4) 0%, rgba(13, 71, 161, 0.2) 30%, transparent 48%),
		radial-gradient(circle at 85% 20%, rgba(0, 0, 0, 0.5) 0%, transparent 35%);
	animation: waterFlow1 12s ease-in-out infinite;
}

.app-loading-overlay::after,
.ai-bg::after{
	background:
		radial-gradient(circle at 60% 30%, rgba(66, 165, 245, 0.45) 0%, rgba(66, 165, 245, 0.15) 28%, transparent 48%),
		radial-gradient(circle at 20% 70%, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.25) 22%, transparent 42%),
		radial-gradient(circle at 80% 50%, rgba(13, 71, 161, 0.35) 0%, transparent 46%),
		radial-gradient(circle at 15% 15%, rgba(0, 0, 0, 0.55) 0%, transparent 38%);
	animation: waterFlow2 15s ease-in-out infinite;
}

/* Option #2 (enabled): dark-mode gradient tweaks (darker, still branded) */
.dark .app-loading-overlay::before,
.dark .ai-bg::before {
	background:
		radial-gradient(circle at 30% 40%,
			rgba(25, 118, 210, 0.38) 0%,
			rgba(25, 118, 210, 0.12) 25%,
			transparent 50%),
		radial-gradient(circle at 70% 60%,
			rgba(0, 0, 0, 0.78) 0%,
			rgba(0, 0, 0, 0.42) 20%,
			transparent 45%),
		radial-gradient(circle at 50% 80%,
			rgba(66, 165, 245, 0.20) 0%,
			rgba(13, 71, 161, 0.16) 30%,
			transparent 48%),
		radial-gradient(circle at 85% 20%,
			rgba(0, 0, 0, 0.72) 0%,
			transparent 35%);
}

.dark .app-loading-overlay::after,
.dark .ai-bg::after {
	background:
		radial-gradient(circle at 60% 30%,
			rgba(66, 165, 245, 0.18) 0%,
			rgba(66, 165, 245, 0.07) 28%,
			transparent 48%),
		radial-gradient(circle at 20% 70%,
			rgba(0, 0, 0, 0.82) 0%,
			rgba(0, 0, 0, 0.36) 22%,
			transparent 42%),
		radial-gradient(circle at 80% 50%,
			rgba(13, 71, 161, 0.18) 0%,
			transparent 46%),
		radial-gradient(circle at 15% 15%,
			rgba(0, 0, 0, 0.74) 0%,
			transparent 38%);
}

/* Option #3 (COMMENTED OUT): blend mode to sink highlights into the dark base
   Uncomment to test. If it looks muddy, comment it back out.
*/
.dark .app-loading-overlay::before,
.dark .app-loading-overlay::after,
.dark .ai-bg::before,
.dark .ai-bg::after{
	mix-blend-mode: lighten;
	opacity: .6;
}

@keyframes waterFlow1 {
	0%, 100% {
		transform: translate(0%, 0%) rotate(0deg) scale(1);
	}
	25% {
		transform: translate(8%, -5%) rotate(3deg) scale(1.08);
	}
	50% {
		transform: translate(-6%, 7%) rotate(-4deg) scale(0.94);
	}
	75% {
		transform: translate(5%, 4%) rotate(2deg) scale(1.05);
	}
}

@keyframes waterFlow2 {
	0%, 100% {
		transform: translate(0%, 0%) rotate(0deg) scale(1);
	}
	30% {
		transform: translate(-7%, 6%) rotate(-3deg) scale(1.06);
	}
	60% {
		transform: translate(6%, -8%) rotate(4deg) scale(0.92);
	}
	80% {
		transform: translate(-4%, -3%) rotate(-2deg) scale(1.04);
	}
}


.myweek-view-loading {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: calc(100dvh - 220px);
    background-color: var(--white);
    align-items: center;
    justify-content: center;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
}

/* ============================================================
   jtsyn loader v2 (Trista's design) — pure CSS, no JS.

   Choreography (7s cycle):
   1. 15 noise letters + 5 hero letters (j t s y n) tumble in from
      off-screen left as one moving mass, rolling rightward.
   2. Noise letters keep rolling all the way across and off-right.
   3. Hero letters settle upright in the center at ~25%, spelling
      "jtsyn", and hold through ~55%.
   4. The same forward spin then sweeps jtsyn off to the right.

   Tunables (Trista's settled values):
     --jtsyn-cycle: 7s
     --jtsyn-roll:  60   (deg of spin per em of rightward travel)
     --jtsyn-lane:  0.65 (multiplier on each noise letter's height lane)
     --jtsyn-shift: -0.5 (optical centering nudge for wordmark, em)
     --jtsyn-size:  clamp(56px, 6vw, 72px) — responsive around 60px
   Colors come from existing app vars: --primary (light) / --awhite (dark)
   ============================================================ */

.jtsyn-loader {
	--jtsyn-cycle: 5s;
	--jtsyn-roll:  60;
	--jtsyn-lane:  0.65;
	/* --jtsyn-shift nudges the wordmark horizontally to compensate for the
	   cursive font's visual mass leaning left (long j descender). Positive
	   = nudge right; negative = nudge left. Tune to taste. */
	--jtsyn-shift: 0.15;
	--jtsyn-size:  clamp(56px, 6vw, 72px);
	position: relative;
	width: 100vw;
	height: 5px;
	line-height: 1;
	font-family: var(--nothing);
	font-weight: 400;
	font-size: var(--jtsyn-size);
	color: var(--awhite);
	pointer-events: none;
}

/* Each letter anchors at the loader's center. `translate: -50% 0` is an
   *individual* transform property that composes with the animated
   `transform` property, so glyphs self-center regardless of width and
   the centering survives every keyframe.

   Custom props are UNITLESS so rotation can derive from horizontal
   position in plain calc() without dividing one length by another:
     --px  noise lane horizontal phase offset (em)
     --py  noise lane height offset            (em, negative = up)
     --pr  noise tumble phase offset           (deg)
     --ax  assembled x for the heroes          (em) */
.jtsyn-loader .letter {
	position: absolute;
	left: 50%;
	bottom: 50%;
	display: inline-block;
	transform-origin: 50% 100%;
	translate: -50% 0;
	backface-visibility: hidden;
	will-change: transform, opacity;
	opacity: 1;
}

.jtsyn-loader .letter.jtsyn {
    color: var(--awhite);
}

.jtsyn-loader .letter.pile {
	/* noise reads ~4px smaller than the hero wordmark for hierarchy */
	font-size: calc(var(--jtsyn-size) - 4px);
	animation: jtsyn-roll-across var(--jtsyn-cycle) infinite;
}

.jtsyn-loader .letter.jtsyn {
	animation: jtsyn-roll-and-stay var(--jtsyn-cycle) infinite;
}

/* True rolling, never backwards: rotation is tied to horizontal travel
   at --jtsyn-roll deg/em. Every letter enters at x ≈ -19em and exits at
   x ≈ +19em; the loop reset (+19 → -19) happens entirely off-screen. */
@keyframes jtsyn-roll-across {
	0% {
		transform: translate(calc((-19 + var(--px, 0)) * 1em), calc(var(--py, 0) * var(--jtsyn-lane, 1) * 1em))
		           rotate(calc(var(--pr, 0) * 1deg));
		animation-timing-function: cubic-bezier(0.1, 0, 0.5, 0.8);
	}
	25% {
		transform: translate(calc(var(--px, 0) * 1em), calc(var(--py, 0) * var(--jtsyn-lane, 1) * 1em))
		           rotate(calc(var(--pr, 0) * 1deg + 19 * var(--jtsyn-roll) * 1deg));
		animation-timing-function: cubic-bezier(0.5, 0.2, 0.7, 0.9);
	}
	50% {
		transform: translate(calc((19 + var(--px, 0)) * 1em), calc(var(--py, 0) * var(--jtsyn-lane, 1) * 1em))
		           rotate(calc(var(--pr, 0) * 1deg + 38 * var(--jtsyn-roll) * 1deg));
		animation-timing-function: linear;
	}
	100% {
		/* parked off-screen right — invisible until loop reset */
		transform: translate(calc((19 + var(--px, 0)) * 1em), calc(var(--py, 0) * var(--jtsyn-lane, 1) * 1em))
		           rotate(calc(var(--pr, 0) * 1deg + 38 * var(--jtsyn-roll) * 1deg));
	}
}

/* Hero letters share the noise letters' entry curve through 0→25% so
   the whole mass arrives at center together. The heroes then settle
   upright and HOLD through 55% while noise letters tumble off; the same
   forward spin carries jtsyn off after them (55→90%). */
@keyframes jtsyn-roll-and-stay {
	0% {
		transform: translate(calc((-19 + var(--ax) + var(--jtsyn-shift, 0)) * 1em), 0)
		           rotate(calc(-19 * var(--jtsyn-roll) * 1deg));
		animation-timing-function: cubic-bezier(0.2, 0, 0.4, 1);
	}
	25% {
		transform: translate(calc((var(--ax) + var(--jtsyn-shift, 0)) * 1em), 0)
		           rotate(0deg);
		animation-timing-function: linear;
	}
	55% {
		transform: translate(calc((var(--ax) + var(--jtsyn-shift, 0)) * 1em), 0)
		           rotate(0deg);
		animation-timing-function: cubic-bezier(0.4, 0, 0.65, 0.85);
	}
	90% {
		transform: translate(calc((19 + var(--ax) + var(--jtsyn-shift, 0)) * 1em), 0)
		           rotate(calc(19 * var(--jtsyn-roll) * 1deg));
		animation-timing-function: linear;
	}
	100% {
		/* parked off-screen right — empty beat before loop reset */
		transform: translate(calc((19 + var(--ax) + var(--jtsyn-shift, 0)) * 1em), 0)
		           rotate(calc(19 * var(--jtsyn-roll) * 1deg));
	}
}

/* Reduced motion: drop the tumble entirely and show the static wordmark. */
@media (prefers-reduced-motion: reduce) {
	.jtsyn-loader .letter.pile { display: none; }
	.jtsyn-loader .letter.jtsyn {
		animation: none;
		transform: translate(calc((var(--ax) + var(--jtsyn-shift, 0)) * 1em), 0) rotate(0deg);
		opacity: 1;
	}
}
/* Boot recovery (audit-051) — built by /third-party/js/boot-guard.js, never by Angular, so it
   works even when the app bundle didn't boot. "Slow" sits under the loader's wordmark with a
   way out; "failed" takes the whole screen. Colours are the loader's own (--ablack ground,
   --awhite text), which hold in light and dark. */
.boot-recovery {
	position: fixed;
	left: 0;
	right: 0;
	z-index: 2147483647;
	display: flex;
	justify-content: center;
	padding: 0 16px;
	font-family: var(--body-font);
	color: var(--awhite);
	pointer-events: none;
}

.boot-recovery[hidden] {
	display: none;
}

.boot-recovery.is-slow {
	bottom: calc(env(safe-area-inset-bottom, 0px) + 12vh);
	animation: boot-recovery-in .4s ease-out both;
}

.boot-recovery.is-failed {
	top: 0;
	bottom: 0;
	align-items: center;
	background: var(--ablack);
}

.boot-recovery-card {
	max-width: 420px;
	text-align: center;
	pointer-events: auto;
}

/* Under the loader's wordmark: a quiet dark card, legible on whatever is behind it. */
.boot-recovery.is-slow .boot-recovery-card {
	padding: 16px 20px 18px;
	border-radius: 14px;
	background: rgba(17, 17, 17, .72);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, .25);
}

.boot-recovery-title {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 600;
}

.boot-recovery.is-failed .boot-recovery-title {
	font-size: 22px;
	margin-bottom: 10px;
}

.boot-recovery-body {
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.5;
	opacity: .75;
}

.boot-recovery-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.boot-recovery-btn {
	min-height: 40px;
	padding: 0 18px;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 20px;
	background: transparent;
	color: var(--awhite);
	font: inherit;
	font-size: 14px;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease;
}

.boot-recovery-btn:hover {
	background: rgba(255, 255, 255, .1);
	border-color: rgba(255, 255, 255, .7);
}

.boot-recovery-btn:focus-visible {
	outline: 2px solid var(--awhite);
	outline-offset: 2px;
}

.boot-recovery-btn--primary {
	border-color: var(--awhite);
	background: var(--awhite);
	color: var(--ablack);
	font-weight: 600;
}

.boot-recovery-btn--primary:hover {
	background: rgba(255, 255, 255, .88);
	border-color: rgba(255, 255, 255, .88);
}

.boot-recovery-btn:disabled {
	opacity: .5;
	cursor: default;
}

@keyframes boot-recovery-in {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.boot-recovery.is-slow { animation: none; }
}

@media screen and (max-width: 1600px) {

    body .spec-item .cke .cke_contents {
        height: calc(100vh - 227px)!important;
    }

}

.spec-description-actions {
    text-align: right;
    padding-right: 0px !important;
    display: inline-block;
    float: right;
    width: 100%;
}

.zj-specification-description-edit {
    vertical-align: top;
    top: 0px;
    padding: 0px;
    display: inline-block;
    width: 100%;
    tab-size: 0!important;
    line-height: 1;
}

.spec-description-edit .btn-group {
    display: inline-block;
    float: left;
    height: 35px;
}

.spec-description-edit .btn-toolbar {
    display: inline-block;
    width: 100%;
    padding-left: 20px;
}

div#toolbarWC, #toolbarCC {
    background-color: transparent!important;
    display: inline-block;
    float: right;
    font-size: 8.5pt;
}

#toolbarCC {
    display: none!important;
}

.spec-description-edit .ta-text.ta-editor {
    border: none!important;
    box-shadow: none!important;
    height: calc(100vh - 228px);
    overflow: auto;
    vertical-align: top;
}

.spec-description-edit .ta-text.ta-editor .ta-bind {
    outline: none;
    padding: 10px 20px 20px;
    font-weight: 500;
    height: 100%;
}

.spec-description-actions .btn.save-btn {
    background-color: var(--primary);
    color: white;
    border-radius: 0px!important;
}

.spec-description-actions .btn.save-btn i {
    color: var(--awhite);
}

.spec-description-actions .btn.save-btn:hover {
    background-color: var(--primary)!important;
}

.spec-description-actions .btn.cancel-btn {
    color: #F44336;
    margin-right: -4px;
}

.spec-description-actions .btn.publish-btn {
    margin-right: -4px;
}

.spec-description-actions .btn.delete-item:hover i {
    color: var(--warning)!important;
}

.spec-description-actions .btn.cancel-btn:hover i {
    color: var(--primary)!important;
}

.spec-item {
    position: relative;
    left: 0px !important;
    height: calc(100vh - 64px);
    display: inline-block;
    background-color: var(--white);
    border-right: 1px solid var(--extra-light);
    float: left;
}

.meta-panel .spec-item {
    max-height: calc(100vh - 215px);
    margin-bottom: 0px!important;
    left: 0px!important;
}

.spec-item p {
    margin-top: 0px;
    margin-bottom: 0px;
}

.spec-description-actions .btn:hover, .spec-description-actions .btn:hover i {
    color: white;
}

.spec-item textarea.ta-editor {
    border: none;
    box-shadow: none;
    outline: none;
    padding: 20px;
    height: calc(100vh - 248px);
}

.view-notes {
    color: var(--icon-color);
    line-height: 1.2;
    padding-top: 8px;
    text-align: center;
}

body .spec-item-details .btn {
    height: 50px !important;
    min-width: 45px;
    line-height: 50px;
    display: inline-block;
    box-shadow: none;
    background-color: transparent;
    color: var(--black) !important;
    text-transform: initial;
    font-size: 9pt;
}

body .meta-panel .spec-item-details .btn.edit-description-button {
    position: fixed!important;
    bottom: 0px!important;
    right: 5px;
    z-index: 9999999999999;
    background-color: var(--white)!important;
}

.spec-item-details .btn:hover i, .spec-item-details .btn:hover {
    color: white;
}

.change-assignee-btn .assignee-photoURL {
    max-width: 28px;
    max-height: 45px;
    display: inline-block;
    line-height: 39px;
    float: left;
    padding: 8px 10px 8px 0px;
}

.change-assignee-btn > .assignee-photoURL img {
    width: 18px;
    max-width: 18px;
}

.change-assignee-btn > .assignee-name {
    text-align: left;
    display: inline-block;
    text-transform: initial;
}

.spec-item-details .btn i.right {
    margin-left: 7px;
    padding-top: 1px;
}

#changeAssignee input {
    padding-left: 10px;
    margin-bottom: 0px;
    border-bottom-color: var(--light-plus);
}

#changeAssignee .dropdown-menu .assignee-photoURL {
    max-width: 30px;
    display: inline-block;
    float: left;
    margin-right: 10px;
    margin-left: 10px;
    margin-top: 0px;
    margin-bottom: 0px;
}

.change-assignee li .assignee-photoURL {
    width: 30px;
    display: inline-block;
    float:left;
    margin-right: 10px;
    height: 45px;
    margin-bottom: 0px;
    padding-left: 10px;
    border-radius: 4px!important;
}

.change-assignee li .assignee-photoURL img {
    vertical-align: middle;
    border-radius: 4px;
}

.change-assignee li {
    line-height: 45px;
    list-style: none!important;
    padding: 5px 0px;
}

.change-assignee li:focus {
    box-shadow: none!important;
    border: none!important;
    outline: none!important;
    background-color: var(--background-color);
}

.spec-item .btn.sidebar-btn {
    padding: 0px !important;
    width: 45px !important;
    min-width: 20px;
    left: 0px;
    float: left;
}

.zj-specification-description-edit .text-angular-editor button {
    width: 35px!important;
    height: 35px!important;
    line-height: 30px;
    font-size: 10pt!important;
}

.drag-target {
    width: 0px;
}

.commentsActive .zj-specification-comments {
    padding: 0px!important;
}

.images-only .zj-specification-item-details.col {
    width: 100% !important;
    right: 0px !important;
}

.zj-specification-item-details.col {
    position: absolute;
    right: 0px !important;
    transition: width 0.9s ease;
    float: right !important;
    display: inline-block;
}

.zj-specification-item-details .font11 {
    font-size: 16px;
    font-weight: 400;
}

.meta-panel .zj-specification-item-details.col {
    display: none;
}

.full-screen-no-sidebar .zj-specification-item-details.col {
    width: 100% !important;
    transition: none !important;
}

.spec-description-action-bar > div > ul {
    max-height: calc(60vh);
    bottom: 0px;
    top: inherit!important;
    overflow: hidden;
}

.spec-description-action-bar > div > ul .assignee-list {
    overflow-y: auto;
    max-height: calc(60vh - 45px);
    margin-bottom: 45px;
}

.btn.btn-attach {
    float: left;
}

.zj-body .zj-specification ol.a li {
    list-style-type: decimal;
}

.zj-body .zj-specification ul li {
    list-style-type: disc;
    margin-left: 0px;
    position: relative;
}

body .zj-sl-section-epic a.epicItem {
    color: var(--black)!important;
}

ul.version-selector.dropdown-content li a {
    background-color: transparent !important;
    text-align: right;
    display: inline-block;
    width: 100%;
    padding: 0px !important;
}

.non-editable-outline ul li {
    list-style-type: none!important;
}

.spec-item .zj-specification-details ng-quill-editor ul li {
    list-style-type: inherit;
}

ol {
    padding-left: 40px;
    margin-top: 1em;
    margin-bottom: 1em;
}

#attachmentz .menu-item.active {
    background-color: #507294;
}

#attachmentz .menu-item.active a {
    color: white!important;
    text-decoration: none;
    user-select: none;
}

.counting-timer {
    line-height: 66px;
    font-size: 8.5pt;
    margin-right: 5px;
}

.current-status i {
    font-size: 18pt;
}

#attachmentz li i {
    margin-right: 0px;
}

.ticket-todos .todo-items {
    max-width: 720px;
    margin: 0px auto;
    position: relative;
}

.overview-section.project-checklist .todo-items.spec-todos {
    margin: 0px -40px;
}

.the-spec-timeline {
    
    
    
    
    
    
    
    
    padding-top: 40px;
    padding-bottom: 40px;
    height: calc(100vh - 64px);
    overflow-y: auto;
}

.the-spec-timeline .timeline-item {
    border-bottom: 1px solid var(--border);
    padding-bottom: 20px;
    /* border-radius: var(--border-radius-tiny)!important; */
}

.spec-item-main-body .the-spec-timeline .timeline-item {
    padding: 30px;
    border: none;
}

html.dark .spec-item-main-body .the-spec-timeline .timeline-item {
    margin-bottom: 2px !important;
}

.spec-item-main-body .the-spec-timeline .activity-card .timeline-item {
    padding: 20px;
    margin-left: -18px;
    margin-right: 0px !important;
    margin-bottom: 0!important;
    width: 100%;
    max-width: 100%;
    box-shadow: var(--box-shadow);
    border-bottom: 1px solid var(--light-border);
    /* flex-direction: column; */
    display: flex;
    border-radius: 0;
}

.spec-item-main-body .the-spec-timeline .timeline-item:hover {
    background-color: var(--extra-light)!important;
}

.zj-specification-item-details .zj-section .the-spec-timeline {
    height: calc(100vh - 114px);
    overflow-y: auto;
    padding: 40px 40px 0px;
}

.distraction-free.zj-specification-item-details .zj-section .the-spec-timeline {
    height: calc(100vh - 50px);
}

.the-spec-timeline ul > li .row {
    background-color: transparent;
    padding: 0px 0px;
    
    border-radius: 0px;
    
    vertical-align: top;
}

.the-spec-timeline ul > li .row.removed {
    background-color: transparent!important;
}

.the-spec-timeline ul > li .row.attached, .the-spec-timeline ul > li .row.created {
    border-color: #8BC34A;
}

.the-spec-timeline ul > li .row.deleted {
    border-color: #F44336;
}

.the-spec-timeline ul > li .row.deleted .timeline-item-type-icon i {
    color: #F44336;
}

.the-spec-timeline ul > li .row.completed {
    border-color: #ff9800;
}

.the-spec-timeline ul > li .row.completed .the-timeline-meta {
    color: var(--good);
}

.the-spec-timeline ul > li {
    background-color: var(--white);
    margin-bottom: 20px!important;
    list-style: none!important;
    border-radius: 0px;
}

.timeline-time {
    text-align: left;
    font-size: 8.5pt;
    font-weight: 500;
    padding: 3px 10px;
    line-height: 1.5;
}

.attachment-count {
    position: absolute;
    right: 7px;
    top: 7px;
    background-color: #16a4d2;
    width: 17px;
    height: 17px;
    line-height: 17px;
    color: white;
    border-radius: 50%;
    font-size: 7pt;
    display: inline-block;
}

.btn.attachments-btn i.right {
    margin-left: 0px;
}

.the-timeline-meta {
    color: var(--light-text);
    font-size: 9.5pt;
    margin-bottom: 2px;
    display: inline-block;
    width: 100%;
    float: left;
    line-height: 18px;
}

.added .the-timeline-meta {
    color: var(--good);
}

.task-activity .the-timeline-meta {
    width: 100%;
}

.deleted .the-timeline-meta {
    color: #f44236;
}

.row.completed .timeline-item-type-icon i {
    background-color: #ffffff!important;
    color: #ff9800!important;
}

.row.created .timeline-item-type-icon i, .row.attached .timeline-item-type-icon i {
    color: #8ac349;
}

.row.updated .timeline-item-type-icon i {
    color: #16a3d1;
    border-radius: 2px;
    margin-right: 0px;
}

.timeline-item-type-icon.type-attachment i {
    transform: rotate(90deg);
}

text-angular ul li > span {
    margin: 0px!important;
}

.the-timeline-content {
    display: inline-block;
    padding: 0px !important;
    width: 100%;
    line-height: 24px !important;
    font-size: 10pt !important;
}

.the-timeline-content.ql-editor {
    position: relative;
    right: 0px;
}

.the-timeline-content.ql-editor:hover rich-text-diff {
    border: 1px solid var(--primary)!important;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
}

.the-timeline-content.ql-editor rich-text-diff {
    border: 1px solid var(--border)!important;
}

.btn.more-btn {
    padding: 0px!important;
    text-align: center;
}

.spec-upload-items {
    position: absolute;
    top: 20px;
    bottom: 20px;
    right: 20px;
    left: 20px;
    width: calc(100% - 40px);
    height: calc(100vh - 105px);
    z-index: 999;
    background-color: var(--primary);
    color: white;
    font-size: 16pt;
    transition: opacity .2s ease-in-out;
}

.distraction-free .spec-upload-items {
    height: calc(100vh - 90px);
}

.meta-panel .spec-upload-items {
    height: calc(100vh - 250px);
}

.spec-upload-items .upload-frame {
    position: absolute;
    top: 0px;
    bottom: 0px;
    right: 0px;
    left: 0px;
    padding-top: calc(50vh - 130px);
    display: none;
}

.reference-project .spec-upload-items .upload-frame {
    padding-top: 10px;
}

.hovered .spec-upload-items .upload-frame {
    display: block;
}

.ng-invalid-max-size {
    background-color: var(--warning);
}

.ng-invalid-max-size .default-upload-message {
    display: none;
}

.ng-invalid-max-size .error-upload-message {
    display: block;
}

.zj-specification-assets.hovered .spec-upload-items {
    visibility: visible!important;
    opacity: 1!important;
}

.image-upload {
    background-color: white;
    width: 70%;
    margin: 10px auto;
    border-radius: 50px;
    font-size: 10pt;
    color: #18add6;
}

.upload-icon i {
    font-size: 50pt!important;
    color: var(--awhite);
    padding: 0 10px;
}

.upload-icon {
    margin-bottom: -20px;
    padding: 0px!important;
}

#attachmentz {
    margin-bottom: 0px;
    background-color: var(--white)!important;
    display: flex;
    flex-direction: column;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    overflow: hidden;
}

.spec-comments-header-section {
    
    
    
    
    margin-bottom: 20px;
    border: 1px solid var(--extra-light);
    padding: 0px;
    background-color: var(--white);
    border-radius: 0px;
}

.zj-comment {
    text-align: left;
    width: 100%;
    padding: 20px 25px;
    border: 1px solid var(--extra-light);
    border-radius: 2px;
    border-top-left-radius: 0px;
    background-color: white;
}

.spec-comments-wrapper {
    max-width: 780px;
    margin: 0px auto;
}

.zj-comment-time {
    font-size: 10pt;
    color: var(--icon-color);
    padding-left: 5px;
}

.zj-comment-text p:last-child:empty {
    display: none;
}

.spec-attachments {
    
    
    
    width: 100%;
    max-width: 860px;
    margin: 0px auto;
}

.spec-attachment-tabs {
    display: inline-block;
    width: 100%;
    margin-bottom: -2px;
}

#attachmentz li {
    padding: 0px 20px;
    /* margin-bottom: 1px !important; */
    /* height: 50px; */
    /* line-height: 50px; */
    text-align: left;
    width: 100%;
    display: inline-flex;
    align-items: center;
    float: left;
    user-select: none;
    cursor: pointer;
    /* background-color: var(--white); */
    /* box-shadow: var(--box-shadow); */
    border-radius: 0;
    border-bottom: 1px solid var(--light-border);
}

#attachmentz li a {
    display: inline-flex;
}

#attachmentz li a {
    color: var(--black);
}

.favicon-image.left {
    padding: 10px 0;
}

#attachmentz li:first-child {
    border-radius: 5px 5px 0 0!important;
}

#attachmentz li:last-child {
    border-radius: 0 0 5px 5px;
}

.dark #attachmentz li {
}

.file-uploads li:hover {
    background-color: var(--extra-light);
}

#attachmentz li:hover a {
    color: var(--primary)!important;
}

#attachmentz li:hover {
    background-color: var(--extra-light);
}

#attachmentz li a .col {
    text-decoration: none;
    color: var(--black);
    font-size: 10pt;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.link-favicon {
    width: 30px !important;
    max-height: 20px;
    /* line-height: 50px; */
    padding-right: 15px;
    display: inline-flex;
    vertical-align: top;
    padding-top: 3px;
}

.link-favicon img {
    line-height: 50px;
}

#attachmentz li i {
    line-height: 50px;
    text-align: center;
    /* padding-right: 10px; */
    font-size: 16px;
    align-self: start;
}

#attachmentz li i:not(.file-type-icon):hover {
    color: var(--primary);
}

/* File-type icon colours — one rule per `fti-*` class emitted by fileTypeIcons
   (services.js), one token per rule in variables.css. The `i.` prefix is load-
   bearing: it beats the global i.material-symbols-outlined { color: var(--icon-color) }. */
i.material-symbols-outlined.file-type-icon.fti-pdf { color: var(--file-pdf); }
i.material-symbols-outlined.file-type-icon.fti-doc { color: var(--file-doc); }
i.material-symbols-outlined.file-type-icon.fti-sheet { color: var(--file-sheet); }
i.material-symbols-outlined.file-type-icon.fti-slide { color: var(--file-slide); }
i.material-symbols-outlined.file-type-icon.fti-image { color: var(--file-image); }
i.material-symbols-outlined.file-type-icon.fti-video { color: var(--file-video); }
i.material-symbols-outlined.file-type-icon.fti-audio { color: var(--file-audio); }
i.material-symbols-outlined.file-type-icon.fti-archive { color: var(--file-archive); }
i.material-symbols-outlined.file-type-icon.fti-code { color: var(--file-code); }
i.material-symbols-outlined.file-type-icon.fti-data { color: var(--file-data); }
i.material-symbols-outlined.file-type-icon.fti-text { color: var(--file-text); }
i.material-symbols-outlined.file-type-icon.fti-link { color: var(--file-link); }
i.material-symbols-outlined.file-type-icon.fti-3d { color: var(--file-3d); }
i.material-symbols-outlined.file-type-icon.fti-design { color: var(--file-design); }
i.material-symbols-outlined.file-type-icon.fti-font { color: var(--file-font); }
i.material-symbols-outlined.file-type-icon.fti-mail { color: var(--file-mail); }
i.material-symbols-outlined.file-type-icon.fti-calendar { color: var(--file-calendar); }
i.material-symbols-outlined.file-type-icon.fti-security { color: var(--file-security); }
i.material-symbols-outlined.file-type-icon.fti-package { color: var(--file-package); }
i.material-symbols-outlined.file-type-icon.fti-unknown { color: var(--file-unknown); }

#attachmentz li i.open-in-external {
    font-size: 12pt;
    margin-left: 4px;
    vertical-align: middle;
    float: right;
}

.spec-attachments.has-file-list {
    max-width: 1000px;
}

/* =============================================================================================
   FILES TAB v2 (Files Program P3) — views/pages/task/spec.item.files.html
   A table with explicit ARIA roles, laid out as a 32px · 1fr · auto grid: two-line rows at EVERY
   width (name, then size · uploader · date), actions always visible (never hover-reveal).
   Replaces the #attachmentz.file-list columns, whose meta line only existed under 720px.
   ============================================================================================= */

.files-v2 .file-table {
    display: block;
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-radius: var(--border-radius-tiny);
    background-color: var(--white);
    box-shadow: var(--box-shadow);
}

.files-v2 .file-table thead,
.files-v2 .file-table tbody {
    display: block;
    border-bottom: none;
}

.files-v2 .file-table tr {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 12px;
    min-height: 60px;
    padding: 8px 16px 8px 16px;
    box-sizing: border-box;
    border-bottom: 1px solid var(--light-border);
}

.files-v2 .file-table tbody tr:last-child {
    border-bottom: none;
}

.files-v2 .file-table th,
.files-v2 .file-table td {
    display: block;
    min-width: 0;
    padding: 0;
    border-radius: 0;
    text-align: left;
    font-weight: 400;
}

.files-v2 .file-table .fl-head {
    min-height: 44px;
    border-radius: var(--border-radius-tiny) var(--border-radius-tiny) 0 0;
    background-color: var(--veryvery-light);
}

.files-v2 .file-table .fl-head .fl-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4px 12px;
}

.files-v2 .fl-count {
    color: var(--light-text);
    font-size: 12px;
}

.files-v2 .fl-sort {
    display: inline-flex;
    gap: 2px;
}

.files-v2 .fl-sort-btn {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    min-height: 28px;
    padding: 0 8px;
    border: none;
    border-radius: var(--border-radius-xs);
    background: transparent;
    color: var(--light-text);
    font-family: inherit;
    font-size: 12px;
    cursor: pointer;
}

.files-v2 .fl-sort-btn:hover {
    background-color: var(--hover-light);
}

.files-v2 .fl-sort-btn.is-sorted {
    color: var(--primary);
}

.files-v2 .fl-sort-btn .fl-sort-dir.material-symbols-outlined {
    font-size: 16px;
    color: inherit;
}

/* Lead: thumbnail or type glyph */
.files-v2 .file-table .fl-lead {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
}

.files-v2 .fl-thumb {
    display: block;
    width: 32px;
    height: 32px;
    border-radius: var(--border-radius-xs);
    background-color: var(--extra-light);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.files-v2 .fl-lead i.material-symbols-outlined {
    font-size: 16px;
    line-height: 1;
}

/* Name + meta */
.files-v2 .fl-line {
    display: flex;
    align-items: center;
    min-width: 0;
}

.files-v2 .fl-name-btn {
    display: block;
    max-width: 100%;
    min-height: 22px;
    padding: 0;
    border: none;
    border-radius: var(--border-radius-xs);
    background: transparent;
    color: var(--black);
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}

.files-v2 .fl-name-btn:hover {
    color: var(--primary);
}

.files-v2 .fl-name-text {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--black);
    font-size: 13px;
    line-height: 1.4;
    font-weight: 400;
}

.files-v2 .fl-name-btn:hover .fl-name-text {
    color: var(--primary);
}

.files-v2 .file-name-input {
    flex: 1;
    min-width: 0;
    height: 28px;
    margin: 0;
    padding: 0 6px;
    border: none;
    border-bottom: 1px solid var(--primary);
    box-shadow: none;
    background: transparent;
    color: var(--black);
    font-size: 13px;
    line-height: 28px;
}

.files-v2 .file-name-input:focus {
    border-bottom: 1px solid var(--primary);
    box-shadow: none;
}

.files-v2 .fl-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 8px;
    margin-top: -4px;
    color: var(--light-text);
    font-size: 11px;
    line-height: 1.5;
    font-weight: 300;
}

.files-v2 .fl-meta-item:not(:last-child)::after {
    content: "·";
    margin-left: 8px;
    color: var(--light-text);
}

.files-v2 .fl-person {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.files-v2 .fl-person-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.files-v2 .fl-avatar {
    display: inline-block;
    flex-shrink: 0;
    width: 13px;
    height: 13px;
    border-radius: var(--border-radius-xs);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.files-v2 .fl-avatar-initials {
    font-size: 7px;
    line-height: 16px;
    text-align: center;
    background-color: var(--extra-light);
    color: var(--icon-color);
}

/* Actions — always visible, every target >= 24x24 (WCAG 2.2 2.5.8) */
.files-v2 .file-table .fl-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
}

.files-v2 .fl-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    border-radius: var(--border-radius-xs);
    background: transparent;
    color: var(--icon-color);
    cursor: pointer;
    text-decoration: none;
}

.files-v2 .fl-icon-btn i.material-symbols-outlined {
    font-size: 15px;
    color: inherit;
}

.files-v2 .fl-icon-btn:hover,
.files-v2 .is-menu-open .fl-menu-wrap > .fl-icon-btn {
    background-color: var(--hover-light);
    color: var(--black);
}

.files-v2 .fl-text-btn {
    min-width: 24px;
    min-height: 32px;
    padding: 0 10px;
    border: none;
    border-radius: var(--border-radius-xs);
    background: transparent;
    color: var(--black);
    font-family: inherit;
    font-size: 13px;
    cursor: pointer;
}

.files-v2 .fl-text-btn:hover {
    background-color: var(--hover-light);
}

/* materialize.min.css paints every focused <button> with the primary colour. */
.files-v2 .fl-icon-btn:focus,
.files-v2 .fl-text-btn:focus,
.files-v2 .fl-name-btn:focus,
.files-v2 .fl-sort-btn:focus {
    background-color: transparent;
}

.files-v2 .fl-icon-btn:focus-visible,
.files-v2 .fl-text-btn:focus-visible,
.files-v2 .fl-name-btn:focus-visible,
.files-v2 .fl-sort-btn:focus-visible,
.files-v2 .fl-menu-item:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 1px;
}

/* ⋮ menu */
.files-v2 .fl-menu-wrap {
    position: relative;
    display: inline-flex;
}

.files-v2 .fl-menu {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 30;
    display: flex;
    flex-direction: column;
    min-width: 180px;
    padding: 0;
    border-radius: var(--border-radius-tiny);
    background-color: var(--white);
    box-shadow: var(--box-shadow-extra);
}

.files-v2 .fl-menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 40px;
    padding: 0 14px;
    border: none;
    background: transparent;
    color: var(--black);
    font-family: inherit;
    font-size: 13px;
    text-align: left;
    white-space: nowrap;
    cursor: pointer;
}

.files-v2 .fl-menu-item i.material-symbols-outlined {
    font-size: 18px;
    color: var(--icon-color);
}

.files-v2 .fl-menu-item:hover,
.files-v2 .fl-menu-item:focus {
    background-color: var(--hover-light);
}

.files-v2 .fl-menu-item.is-danger,
.files-v2 .fl-menu-item.is-danger i.material-symbols-outlined {
    color: var(--warning);
}

/* Uploading and failed rows */
.files-v2 .fl-upload-icon.material-symbols-outlined {
    font-size: 22px;
    color: var(--primary);
}

.files-v2 .fl-upload-row.is-failed .fl-upload-icon.material-symbols-outlined {
    color: var(--warning);
}

.files-v2 .fl-failed-text {
    display: block;
    color: var(--black);
    font-size: 13px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.files-v2 .fl-progress-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.files-v2 progress.fl-progress {
    width: 120px;
    height: 6px;
    accent-color: var(--primary);
}

/* Inline preview under a row */
.files-v2 .file-table .fl-preview-row {
    display: block;
    min-height: 0;
    padding: 0 16px 12px 60px;
}

.files-v2 .fl-preview-media {
    display: block;
    max-width: 100%;
    max-height: 360px;
    border-radius: var(--border-radius-xs);
}

.files-v2 audio.fl-preview-media {
    width: 100%;
}

/* Show all */
.files-v2 .file-table .fl-more-row {
    display: flex;
    justify-content: center;
    min-height: 44px;
}

/* The listener's bound was reached — older files exist that were not fetched */
.files-v2 .file-table .fl-limit-row {
    align-items: center;
    min-height: 36px;
}

.files-v2 .fl-limit-note {
    color: var(--light-text);
    font-size: 12px;
}

/* Loading / empty / failure */
.files-v2 .files-skeleton {
    border-radius: var(--border-radius-tiny);
    background-color: var(--white);
    box-shadow: var(--box-shadow);
}

.files-v2 .files-skeleton-row {
    display: grid;
    grid-template-columns: 32px 1fr;
    align-items: center;
    column-gap: 12px;
    min-height: 56px;
    padding: 8px 16px;
    border-bottom: 1px solid var(--light-border);
}

.files-v2 .files-skeleton-row:last-child {
    border-bottom: none;
}

.files-v2 .files-skeleton-lead,
.files-v2 .files-skeleton-line {
    display: block;
    border-radius: var(--border-radius-xs);
    background-color: var(--extra-light);
    animation: files-skeleton-pulse 1.2s ease-in-out infinite;
}

.files-v2 .files-skeleton-lead {
    width: 32px;
    height: 32px;
}

.files-v2 .files-skeleton-lines {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.files-v2 .files-skeleton-line {
    width: 55%;
    height: 10px;
}

.files-v2 .files-skeleton-line.is-short {
    width: 30%;
}

@keyframes files-skeleton-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.45; }
}

@media (prefers-reduced-motion: reduce) {
    .files-v2 .files-skeleton-lead,
    .files-v2 .files-skeleton-line {
        animation: none;
    }
}

.files-v2 .files-state {
    padding: 32px 16px;
    /* border-radius: var(--border-radius-tiny); */
    /* background-color: var(--white); */
    /* box-shadow: var(--box-shadow); */
}

.files-v2 .zj-empty-message.files-state {
    margin-top: calc(50dvh - 290px);
}

.files-v2 .files-state .get-started-icon i.material-symbols-outlined {
    font-size: 36px;
    color: var(--icon-color);
}

.files-v2 .files-state-error .get-started-icon i.material-symbols-outlined {
    color: var(--warning);
}

.files-v2 .files-state-reason {
    margin: 4px 0 16px;
    color: var(--light-text);
    font-size: 13px;
    overflow-wrap: anywhere;
}

.files-v2 .files-state-button {
    display: inline-flex;
    align-items: center;
}

.files-v2 .zj-empty-message .files-state-button {
    background-color: var(--white)!important;
}

.files-v2 .files-state-button:hover {
    background-color: var(--primary)!important;
    border-color: var(--primary)!important;
}

/* Recycle bin (Firestore) — the shared .recycle-bin-* layout, with real buttons */
.files-v2 .files-bin .recycle-bin-toggle {
    width: auto;
    border: none;
    border-radius: var(--border-radius-xs);
    background: transparent;
    font-family: inherit;
    color: var(--light-text);
}

.files-v2 .files-bin .recycle-bin-toggle:hover,
.files-v2 .files-bin .recycle-bin-toggle:focus {
    background-color: transparent;
    color: var(--black);
}

.files-v2 .files-bin .recycle-bin-empty {
    border: none;
    border-radius: var(--border-radius-xs);
    background: transparent;
    font-family: inherit;
    color: var(--warning) !important;
    cursor: pointer;
}

.files-v2 .files-bin .recycle-bin-empty:hover,
.files-v2 .files-bin .recycle-bin-empty:focus {
    background-color: var(--hover-light);
}

.files-v2 .files-bin .recycle-bin-title,
.files-v2 .files-bin .recycle-item-meta {
    color: var(--light-text);
}

.files-v2 .files-bin .recycle-item-name {
    color: var(--black);
}

.files-v2 .files-bin .recycle-item-actions {
    display: flex;
    align-items: center;
    gap: 2px;
}

.files-v2 .fl-icon-btn.is-danger {
    color: var(--warning);
}

.files-v2 .files-bin button[disabled] {
    opacity: 0.5;
    cursor: default;
}

.files-v2 .files-bin .recycle-bin-toggle:focus-visible,
.files-v2 .files-bin .recycle-bin-empty:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 1px;
}

/* Drag-over: a dashed inset ring — the list stays visible underneath (the old treatment filled
   the whole tab with the primary colour). `.hovered` keeps its name: ~12 jQuery call sites key on it. */
.files-v2.upload-container.hovered {
    background-color: transparent;
}

.files-v2.upload-container.hovered .upload-overlay {
    border: 2px dashed var(--primary);
    border-radius: var(--border-radius-tiny);
}

.files-v2 .upload-overlay .upload-frame {
    padding-top: 16px;
    color: var(--primary);
}

.files-v2 .upload-icon i {
    font-size: 28px!important;
    color: var(--primary);
}

.files-v2 .upload-icon {
    margin-bottom: 0;
}

@media screen and (max-width: 480px) {
    .files-v2 .file-table tr {
        column-gap: 10px;
        padding: 8px 8px 8px 12px;
    }

    .files-v2 .file-table .fl-preview-row {
        padding-left: 12px;
    }

    .files-v2 .fl-sort-btn {
        padding: 0 6px;
    }
}

.add-new-attachment:hover {
    background-color: #18a4d0;
}

.add-new-attachment a {
    color: #5e5e5e;
    text-decoration: none;
}

.add-new-attachment:hover a {
    color: white!important;
}

i.delete-attachment.material-icons.right {
    padding-right: 0px!important;
}

#deleteAttachment {
    max-width: 600px;
    border-top: 4px solid #F44336;
}

.add-comment-tooltip i {
    color: #009dcf;
}

.desc-version-author img {
    height: 25px;
    width: 25px;
    margin-top: 4px;
}

.desc-version-author {
    width: 50%;
    display: inline-block;
    float: left;
}

.desc-version-author .bg-image {
    width: 25px;
    height: 25px;
    margin-top: 13px;
    border-radius: var(--border-radius-tiny);
}

.desc-version-date {
    display: inline-block;
    width: 49%;
    float: right;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.spec-description-version {
    display: inline-block;
    width: 100%;
    /* margin-bottom: -5px; */
    cursor: pointer;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 13px;
    line-height: 50px;
    height: 50px;
    /* background-color: var(--white); */
    /* box-shadow: var(--box-shadow) !important; */
    border-bottom: 1px solid var(--light-border);
}

.spec-description-version:last-child {
    border-bottom: none;
}

.dark .spec-description-version {
    /* margin-bottom: -4px; */
}

.spec-description-version.selected {
    color: var(--awhite)!important;
    background-color: var(--primary)!important;
}

.spec-description-version:hover {
    background-color: var(--extra-light);
}

.desc-version-a-name {
    padding-left: 15px;
    display: inline-block;
}

.match{
  color: gray;
}

.ins{
  color: black;
  background: #bbffbb;
}

.del{
  color: black;
  background: #ffbbbb;
}

ins {
    text-decoration: none!important;
}

.spec-meta-item {
    font-size: 9.5pt;
    color: var(--icon-color);
    
    display: inline-block;
    margin-right: 10px;
    position: relative;
    width: 100%;
}

.spec-versions {
    position: relative;
    padding: 40px 40px 0px!important;
    height: calc(100vh - 113px);
    overflow-y: auto;
}

.distraction-free .spec-versions {
    height: calc(100vh - 50px);
    display: flex;
}

.spec-versions .title {
    margin: 0px auto 5px;
    max-width: 780px;
}

.spec-description-versions {
    margin: 20px -40px 0px;
    padding: 0px 40px 40px;
    border-radius: 10px;
}

.spec-description-versions .sdv-items {
    display: flex;
    flex-direction: column;
    gap: 0px;
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
}

.spec-description-versions .sdv-items > .btn {
    width: 100%;
    height: 50px;
    line-height: 50px;
    background-color: var(--background-color)!important;
}

.spec-description-versions .sdv-items > .btn:hover {
    background-color: var(--primary)!important;
    color: var(--awhite)!important;
}

.spec-description-versions .sdv-items > .btn i {
    float: left;
}

.distraction-free .spec-description-versions {
    height: calc(100vh - 252px);
}

.current-version-date {
    font-style: italic;
    margin-right: 10px;
}

.compare-spec-versions {
    display: inline-block;
    width: 100%;
    height: calc(100vh - 114px);
    overflow-y: hidden;
    position: relative;
}

.csv-description {
    height: auto;
    padding: 0px 20px 20px;
    max-height: calc(100vh - 233px);
    overflow-y: auto;
}

.csv-header {
    display: inline-block;
    width: 100%;
    height: 50px;
    line-height: 50px;
    background-color: var(--white);
    padding: 0px 0px 0px 20px;
    border-top: 1px solid var(--light-border);
    border-bottom: 1px solid var(--light-border);
    margin-bottom: 0px;
    position: absolute;
    bottom: 0px;
    left: 0px;
    z-index: 99999999999999;
}

.csv-header .btn:hover i {
    color: var(--primary);
}

.csv-header .btn {
    margin-left: 0px;
    background-color: transparent;
    height: 48px;
    line-height: 48px;
    margin-top: 0px;
}

.csv-header .btn:hover {
    background-color: transparent !important;
}

.csv-header .btn i {
    font-size: 15pt;
}

html body .csv-header .btn:hover {
    background-color: var(--background)!important;
    color: var(--primary)!important;
}

.csv-version-number {
    
    
    
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: break-word;
    white-space: nowrap;
    
}

rich-text-diff.compare-descriptions.ql-editor {
    display: inline-block;
    width: 100%;
    padding: 0px 30px 30px;
    height: auto;
    max-height: calc(100vh - 232px);
    overflow-y: auto;
}

html body .notification-thread .todo-summary rich-text-diff.ql-editor {
    padding: 20px;
    background-color: var(--xwhite);
    border-radius: 10px;
    margin-top: 10px;
}

.csv-created-by {
    font-size: 9pt;
}

.csv-view-changes.btn {
    font-size: 9pt!important;
}

.hide-epic {
    margin-top: 20px;
    z-index: 0;
}

.zj-specification-description-edit.ql-editor {
    padding: 0px;
    font-size: 11pt;
}

.zj-specification-description-edit jtsyn-editor .jtsyn-tiptap-toolbar button i {
    line-height: 33px;
    font-size: 20px;
    color: var(--light-text);
}

.view3 .spec-description-edit .cke_wysiwyg_div {
    padding-left: 30px!important;
    padding-right: 30px!important;
    padding-top: 10px!important;
}

.sa-title {
    line-height: 1.5;
    text-align: left;
    font-size: 19px;
    display: inline-block;
    width: auto;
    color: var(--black);
    font-weight: 400;
    font-family: var(--nothing);
    text-transform: lowercase;
}

.spec-attachments-header {
    
    
    
    
    
    width: 100%;
}

.spec-attachments-header .btn {
    line-height: 1.5;
    font-size: 10pt;
    
    color: var(--primary);
    background-color: transparent;
    
    
    
    text-transform: capitalize;
    position: absolute;
    top: 37px;
    right: 40px;
    padding-right: 0px!important;
}

.spec-attachments-header .btn i {
    color: var(--primary);
}

.spec-attachments-header .btn:hover {
    background-color: transparent!important;
    color: var(--primary);
    text-decoration: underline;
}

.show-more-stuff-section .spec-meta-item.btn.white-btn {
    vertical-align: top;
    border: 1px solid var(--extra-light);
}

.spec-item .cke {
    border: none;
}

.spec-item .cke .cke_inner .cke_contents iframe {
    height: calc(100vh - 228px)!important;
}

.spec-item .cke .cke_top {
    background-color: var(--white)!important;
    padding-left: 20px;
    padding-right: 20px;
}

html body .spec-item.distraction-free .fullWidth .cke .cke_top {
    padding-left: 30px!important;
    padding-right: 30px!important;
}

.spec-item.distraction-free .cke .cke_top {
    padding: 0px!important;
}

.view3 .spec-item.distraction-free .cke .cke_top {
    padding-left: 30px!important;
    padding-right: 30px!important;
}

.sp-spec-section .cke .cke_top {
    background-color: transparent!important;
    padding-left: 0px;
    padding-right: 0px;
}

.cke .cke_bottom {
    display: none;
}

.spec-item .cke .cke_contents {
    height: calc(100vh - 239px) !important;
    width: 100% !important;
    scrollbar-gutter: auto;
}

.distraction-free .spec-item .cke .cke_contents {
    height: calc(100vh - 180px) !important;
}

.distraction-free.dfFullWidth .cke .cke_contents {
    height: calc(100vh - 197px)!important;
}

.distraction-free.dfFullWidth .spec-item .cke .cke_contents {
    height: calc(100vh - 197px)!important;
}

.spec-item .distraction-free .cke .cke_contents {
    height: calc(100vh - 149px)!important;
}

.sp-spec-section .cke .cke_contents {
    height: auto!important;
    width: 100%!important;
    background-color: transparent!important;
}

.sp-spec-section .cke .cke_contents .cke_wysiwyg_div {
    background-color: transparent;
}

.sp-spec-section .spec-item .cke .cke_contents {
    height: unset!important;
}

.spec-item .cke a.cke_button_on {
    background-color: #e8e8e8;
    border: 1px solid transparent;
    border-radius: 3px;
}

.spec-item .cke_toolbar_break {
    display: none;
}

.spec-item .cke_contents .cke_wysiwyg_div {
    
    
    
    
    
    padding: 20px 30px 30px;
}

.spec-item.distraction-free .cke_contents .cke_wysiwyg_div {
    padding: 0px;
}

.spec-item.distraction-free .fullWidth .cke_contents .cke_wysiwyg_div {
    padding-left: 30px;
    padding-right: 30px;
}

.spec-summary .cke_contents {
    height: calc(100vh - 209px)!important;
    outline: none;
    border: none!important;
}

.spec-summary .cke_contents .cke_editable {
    padding: 20px 0px 0px;
    background-color: var(--white);
}

.editor-open .edit-spec-summary .cke_wysiwyg_div {
    max-height: calc(100vh - 280px);
    margin-left: -30px!important;
    margin-right: -30px!important;
    padding-left: 30px!important;
    padding-right: 30px!important;
}

body .edit-spec-summary ul {
    padding-left: 40px;
}

.edit-spec-summary .cke {
    border: none;
}

.spec-document .spec-doc-wrapper .page-editor {
    display: block;
    padding: 40px;
    height: calc(100vh - 93px);
    overflow-y: auto;
}

.spec-document .spec-doc-wrapper .page-contents {
    display: block;
    padding: 40px;
    height: calc(100vh - 40px);
    overflow-y: auto;
    position: relative;
}

a.zj-refresh-outline.btn:hover i {
    color: white;
}

.outline-todo .listing-item:hover a {
    text-decoration: underline;
}

.outline-main-nav {
    font-weight: 500;
}

.spec-cover .document-settings {
    height: calc(100vh - 64px);
    overflow-y: auto;
    padding-top: 40px;
    padding-bottom: 40px;
}

.document-settings .document-wrapper {
    padding: 40px;
    background-color: var(--white);
    box-shadow: 0px 1px 2px var(--shadow);
    margin: 0px auto;
    border-radius: 10px;
}

.row.setting-row {
    margin-bottom: 40px!important;
}

.row.setting-row .col.m6 {
    padding-right: 30px!important;
}

.row.setting-row .col.m6:last-child {
    padding-right: 0px!important;
}

.row.setting-row:last-child {
    margin-bottom: 0px!important;
}

.document-modal {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 999999999999999999999999999999999999;
    background-color: rgb(28 28 28 / 80%);
    padding: 0px!important;
    overflow-y: auto;
}

.zj-section .document-modal {
    position: absolute;
    padding-left: 40px!important;
    padding-right: 40px!important;
}

.task-attachments .document-modal.attachfile {
    position: absolute;
}

html .account.settings .document-modal .card.modal-card {
    max-width: 600px;
    margin: 80px auto;
    padding: 40px !important;
    background-color: var(--xwhite) !important;
}

.sidebar .document-modal .card.modal-card {
    max-width: 20%;
    padding: 30px!important;
    margin-top: 64px!important;
}

.sps-sidebar .document-modal .card.modal-card {
    padding: 20px;
    margin: 0px;
    border-radius: 0px;
    margin-top: -60px;
    height: calc(100vh - 64px);
}

.sps-sidebar .document-modal .card.modal-card .modal-buttons {
    height: 50px;
    line-height: 50px;
    padding: 0px 30px;
    position: absolute;
    border: 0px;
}

.sps-sidebar .document-modal .card.modal-card .modal-buttons .modal-button {
    margin-top: 0px;
}

.form-field .input-field {
    background-color: var(--background-color);
    display: inline-block;
    width: 100%;
    margin-top: 0px;
    border-radius: 5px;
    height: 50px;
    line-height: 50px;
}

.user-viewer .form-field .input-field {
    background-color: var(--white);
    color: var(--black)!important;
}

.project-details-label {
    font-size: 13px;
    font-weight: 400 !important;
}

.show-time-estimates .project-details-label {
    margin-bottom: 10px;
}

.show-time-estimates .form-field.text-field {
    margin-bottom: 0px!important;
}

.project-title input {
    margin-bottom: 5px!important;
}

.row.setting-row.org-settings .col.s6 {
    padding-right: 5px!important;
}

.row.setting-row.org-settings .col.s6:last-child {
    padding-right: 0px!important;
}

.form-field .input-field label {
    padding-left: 15px;
    color: var(--black);
    font-size: 14px;
    line-height: 45px;
    margin-top: 0px!important;
    top: 0px;
    cursor: pointer;
}

.project-user > div label {
    float: right;
    padding-left: 30px;
}

.project-perms .project-user > div label {
    padding: 0px!important;
    float: none;
    margin: 0px auto;
    display: block;
    width: 18px;
    line-height: 50px;
    height: 50px;
    vertical-align: middle;
}

.project-users .project-user > div label::before, .project-users .project-user > div label::after {
    top: 14px !important;
}

.project-users .project-user [type="checkbox"]:checked+label:before {
    top: 10px !important;
    left: 27px !important;
}

.project-users .project-user [type="checkbox"]:not(.filled-in)+label:after {
    border-color: var(--icon-color)!important;
}

.row.setting-row.delete-project {
    max-width: 960px;
    margin: 20px auto !important;
    width: 100%;
    display: block !important;
}

.row.setting-row.delete-project i {
    color: var(--warning);
    font-size: 14pt;
    margin-right: 10px;
}

.delete-project .delete-this-doc {
    cursor: pointer;
    color: var(--warning);
    display: inline-block;
}

.delete-project .delete-this-doc:hover {
    color: var(--warning-hover);
}

.btn.add-new-attachment i {
    vertical-align: middle;
    line-height: 1;
}

.todo-summary-text:hover span.assigned-to, .todo-summary-text:hover span.todo-author-name {
    text-decoration: none;
}

.todo-summary-text.openedup {
    padding-right: 34px;
}

.spec-item-notes {
    padding: 30px;
}

.sin-actions {
    text-align: right;
}

.sin-actions .btn:hover {
    background-color: transparent!important;
    color: var(--primary)!important;
}

.spec-item-details .bs-searchbox {
    position: absolute;
    bottom: 0px!important;
    left: 0px;
    right: 0px;
}

.status-and-assignees .bs-searchbox input {
    margin-bottom: 0px!important;
    padding-left: 10px;
}

.dropdown-content.change-assignee {
    overflow-y: hidden;
    bottom: 0px;
}

.dropdown-content.change-assignee .assignee-list {
    overflow-y: auto;
    padding-bottom: 45px;
    max-height: 100%!important;
    min-height: 100px;
    height: auto;
    bottom: 0px;
    vertical-align: bottom;
}

.comment-selector {
    display: inline-block;
}

.comments-action-bar {
    text-align: left;
}

.btn.change-comment-group {
    background-color: var(--white);
    color: var(--black);
    text-transform: capitalize;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.btn.change-comment-group:hover {
    background-color: transparent!important;
    color: var(--primary);
}

.selected-group {
    display: inline-block;
}

.spec-item-note-edit {
    padding: 30px;
}

.spec-item-note-edit .posts-create {
    padding: 20px 30px 10px;
    max-width: 840px;
    margin: 0px auto;
}

.spec-item-note-edit .post-title input, .spec-item-note-edit .post-title input:focus {
    border-bottom: none!important;
}

.spec-item-note-edit .post-creator .cke .cke_contents .cke_wysiwyg_div {
    max-height: calc(100vh - 370px);
    height: calc(100vh - 370px)!important;
}

.spec-item-note-edit .btn.change-project-btn {
    display: none!important;
}

.zj-specification-details-text.ql-editor {
    display: inline-block;
    width: 100%!important;
}

.toggle-spec-editor {
    width: 100%;
}

.iab-buttons {
    text-align: left;
}

.images-action-bar {
    margin-bottom: 6px!important;
    height: 36px;
    line-height: 36px;
}

.images-action-bar .images-header-title {
    font-size: 18px;
}

.edit-outline:hover {
    cursor: pointer;
    color: var(--primary);
}

.edit-outline-button {
    margin-right: 0px;
    margin-top: 10px!important;
    display: inline-block;
    width: 100%;
    line-height: 20px;
}

.edit-outline-button:hover i {
    text-decoration: underline;
}

.outline-editor.custom-dialog {
    position: absolute;
}

.outline-editor .project-items {
    padding: 0px 30px;
    overflow-y: auto;
    overflow-x: hidden;
    height: calc(100dvh - 231px);
    margin-left: -30px;
    margin-right: -30px;
    margin-bottom: 20px;
}

.distraction-free .outline-editor .project-items {
    height: calc(100vh - 177px);
}

.view2 .outline-editor .project-items {
    height: calc(100vh - 217px);
}

.outline-editor .project-items.expanded {
    height: calc(100vh - 340px)!important;
}

.add-new-project-item {
    color: var(--primary);
    cursor: pointer;
}

.add-new-project-items {
    margin-top: 10px;
    color: var(--primary);
    cursor: pointer;
    line-height: 25px;
}

.add-new-project-items:hover {
    color: var(--black);
}

.outline-editor .subtext {
    font-size: 9pt;
    color: var(--icon-color);
    margin-bottom: 10px;
}

.project-outline-item .title::before {
    content: ".";
    position: absolute;
    left: -3px;
    top: -3px;
    font-size: 40px;
    line-height: 7px;
}

.project-outline-item.smart-result .title::before {
    content: '';
}

.project-outline-item.smart-result .title {
    font-weight: 400;
    padding-bottom: 1px;
}

.outline-lg .project-outline-item .title::before {
    height: 38px;
    line-height: 38px;
    top: 2px;
}

.project-outline-item.backlog .title::before {
    color: var(--light-text);
}

.project-outline-item.deployedTicket .title::before {
    color: var(--black);
}

.project-outline-title {
    margin-bottom: 5px;
    font-weight: 600;
}

.project-outline-created {
    margin-top: 5px;
    font-size: 9pt;
}

.oe-buttons {
    text-align: right;
    margin-top: -8px;
    margin-right: -10px!important;
}

.outline-editor .oe-buttons {
    width: 118px!important;
}

.outline-editor .col.s7 {
    width: calc(100% - 118px);
}

.oe-buttons > .btn {
    width: 36px;
    overflow: hidden;
    padding: 0px!important;
    text-align: center!important;
    display: inline-block;
    color: var(--icon-color)!important;
}

.oe-buttons > .btn:last-child {
    padding: 0px !important;
}

.oe-buttons > .btn:hover {
    background-color: transparent!important;
    color: var(--black)!important;
}

.indent1 {
    padding-left: 15px!important;
}

.project-tasks-table .indent1 {
    padding-left: 20px !important;
}

.project-outline-title {
    font-size: 11pt!important;
    background-color: var(--extra-light)!important;
    padding-left: 0px!important;
    margin-bottom: 0px!important;
}

.outline-editor .project-outline-title {
    background-color: transparent!important;
    border-bottom: 1px solid var(--light);
}

body .li-sub-text {
    line-height: 1;
    display: block;
    width: 100%;
    font-size: 8pt!important;
    
    
    
    color: var(--black)!important;
}

.add-new-outline i {
    margin-right: 5px!important;
}

.select-outlines a {
    margin-bottom: 0px;
    line-height: 1.5!important;
}

.add-new-outline a {
    line-height: 1.5!important;
}

li.add-new-outline:hover {
    background-color: transparent!important;
}

.add-new-outline i {
    line-height: 22px!important;
}

.zj-search-bar .search-input i {
    line-height: 50px!important;
    font-size: 14pt!important;
    top: 0px;
    bottom: 0;
    right: 13px;
}

.search-input i.ask-history-btn {
    font-size: 15px!important;
}

i.material-symbols-outlined.search-mode-caret {
    font-size: 16px!important;
    margin-right: -7px;
}

.zj-search-bar .search-input i.material-symbols-outlined.ask-intelligence-icon {
    right: 45px;
}

.project-section-selector {
    width: 100%;
    margin-top: 0px;
    text-align: left;
    padding: 0px 30px !important;
    vertical-align: top;
    cursor: pointer;
}

.btn.project-section-selector:hover .selected-section {
    color: var(--primary);
}

.btn.project-section-selector:hover {
    background-color: transparent!important;
    text-decoration: none!important;
}

.project-header.row {
    display: block;
    
    
    
    
}

.project-header.row .goto-settings.btn {
    position: absolute;
    right: 0px;
    height: 65px;
    color: var(--icon-color);
    padding-right: 20px!important;
}

.project-header.row .goto-settings.btn:hover {
    background-color: transparent!important;
    color: var(--primary)!important;
}

#projectSection {
    width: 100% !important;
    height: calc(100vh - 64px);
    min-height: calc(100vh - 64px);
    max-height: calc(100vh - 64px);
    overflow-y: hidden;
}

.spec-summary .spec-title {
    color: var(--primary);
    font-size: 13pt;
    margin-bottom: 20px;
    margin-top: -5px;
}

.spec-title.edit-mode {
    margin-bottom: 5px;
}

.spec-summary .spec-title.edit-mode input {
    font-size: 13pt;
    margin-bottom: 5px;
    margin-top: -9px;
    max-width: calc(100% - 155px);
}

.todos-page.outline-container {
    height: calc(100vh - 145px);
    overflow-y: auto;
}

.edit-spec-title {
    padding-top: 18px;
    padding-bottom: 0px;
}

.open-editor.distraction-free .edit-spec-title, html body .open-editor.distraction-free .cke .cke_top, .open-editor.distraction-free .cke_contents .cke_wysiwyg_div {
    padding-left: 30px!important;
    padding-right: 30px!important;
}

.distraction-free .view3 .edit-spec-title {
    padding-left: 30px;
    padding-right: 30px;
}

.view2 .distraction-free .edit-spec-title {
    padding-left: 0px;
    padding-right: 0px;
}

.distraction-free .fullWidth .edit-spec-title {
    padding-left: 30px;
    padding-right: 30px;
}

.project-item-description {
    padding: 0px !important;
    line-height: 18pt;
    font-size: 15px;
}

.spec-item-embeddings-item .project-item-description.ql-editor.spec-item.oe {
    height: fit-content;
    overflow-y: hidden;
    border: none;
}

.dfFullWidth .spec-item-embeddings-item .spec-item {
    left: 0% !important;
}

.open-in-new-container .project-item-description.ql-editor.oe {
    height: calc(100vh - 180px);
    margin: 0px -30px;
    padding: 0px 30px 40px!important;
    left: 0px!important;
}

.distraction-free .open-in-new-container .project-item-description.ql-editor.oe {
    height: calc(100vh - 200px)!important;
}

.status-and-assignees {
    display: inline-block;
}

li.zj-sl-epic-ticket:last-child {
    margin-bottom: 8px;
}

.sii-comments-container {
    height: calc(100vh - 63px);
    background-color: var(--white);
}

.distraction-free .sii-comments-container {
    height: 100vh;
}

.sii-comments-container textarea {
    padding: 15px;
    min-height: 70px !important;
    background-color: var(--extra-light);
    border: none !important;
    outline: none;
    border-radius: 5px;
    width: 100% !important;
    font-size: 10pt;
}

.spec-item-image-container {
    padding: 40px !important;
    height: calc(100vh - 64px) !important;
    width: 80%;
    float: right;
    position: relative;
    background-color: var(--white);
    z-index: 99;
}

.distraction-free .spec-item-image-container {
    height: 100vh!important;
}

.spec-item-image-container .upload-container {
    height: 100%;
}

.spec-item-main-body {
    display: inline-block;
    width: calc(100% - 330px);
    vertical-align: top;
    z-index: 3;
    position: absolute;
    right: 0px;
    top: 0;
    bottom: 0px;
    overflow: visible;
}

.spec-item-main-body.project-intelligence {
    height: calc(100dvh - 64px);
    overflow: hidden;
    position: absolute!important;
    right: 0;
    left: unset;
}

.dark nav .spec-item-main-body.project-intelligence {
    background-color: var(--extra-light);
}

.project-intelligence {}

.sidebar-open .spec-item-main-body {
    width: 100%;
}

.full-screen-no-sidebar .spec-item-main-body {
    width: 100%;
}

.sidebar-closed .spec-item-main-body {
    width: 100%;
}

.distraction-free .spec-item-main-body {
    z-index: 9999;
    width: 80% !important;
}

.images-only .spec-item-main-body {
    z-index: 1;
}

.spec-item-image-comments {
    width: 20%;
    min-width: 260px;
    z-index: 9999;
    position: absolute;
    float: left;
}

.sii-title {
    font-size: 11pt;
    color: var(--primary);
}

.sii-close .btn {
    margin-right: -19px;
    margin-top: -8px;
}

.spec-item-image .r6o-editor {
    width: 151px;
}

.dropdown-content.version-selector li {
    line-height: 20px!important;
    min-height: auto;
    padding-top: 15px;
    padding-bottom: 15px;
    display: flow-root;
    width: 100%;
}

.dropdown-content.version-selector li .version-selected {
    padding-right: 10px;
    float: left;
}

.dropdown-content.version-selector li span {
    display: inline-block!important;
    padding: 0px;
    font-size: 10pt;
    color: var(--black);
    vertical-align: top;
    line-height: 1.5;
}

.dropdown-content.version-selector {
    max-width: 400px!important;
}

.settings-option .user-profile-image img {
    border-radius: var(--border-radius-tiny)!important;
}

.project-item .selectable.delete {
    margin-top: 40px;
    margin-bottom: 10px;
}

.project-item .selectable.delete, .project-item .selectable.delete i {
    color: var(--light-text)!important;
}

li .project-item .selectable.delete i {
    margin-right: -19px!important;
    padding-right: 12px;
    padding-left: 10px;
    background-color: var(--background-color);
    font-size: 15pt;
}

.dark li .project-item .selectable.delete i {
    background-color: var(--extra-light);
}

.project-item .selectable.delete:hover, .project-item .selectable.delete:hover i {
    color: var(--warning)!important;
}

.like-todo.btn.btn-transparent {
    text-transform: capitalize;
    color: var(--light-text)!important;
    transition: none;
}

.image-annotations .todo-quick-actions > .col .like-todo {
    margin-right: 0px !important;
}

.like-todo.btn.btn-transparent.selected {
    border-bottom: none!important;
    color: var(--highlight)!important;
    padding-right: 0px!important;
}

.like-todo.btn.btn-transparent.selected i {
    color: var(--highlight)!important;
}

.like-todo.btn.btn-transparent.selected span {
    filter: grayscale(0)!important;
    opacity: 1;
}

.like-todo.btn.btn-transparent span {
    
    
    
    padding-right: 5px;
    float: left;
}

.like-todo.btn.btn-transparent:hover i {
    color: var(--highlight)!important;
}

.like-todo.btn.btn-transparent:hover {
    color: var(--highlight)!important;
}

.like-todo.btn.btn-transparent i {
    font-size: 12pt;
    transition: none;
}

.image-annotations .like-todo.btn.btn-transparent i {
    padding-right: 6px;
    padding-left: 1px;
    transition: none;
}

.like-todo-wrapper {
    display: inline-block;
    position: relative;
    width: auto;
    
    
    
    
    cursor: pointer;
}

.checklist-editor-item .like-todo-wrapper, .checklist-editor-item .complete-todo {
    display: none;
}

.like-todo-wrapper .btn:hover {
    color: var(--highlight);
}

.like-todo-wrapper .show-who {
    position: absolute;
    right: 0px;
    top: 30px;
    text-align: right !important;
    background-color: var(--xwhite);
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0px 1px 2px var(--shadow);
}

.like-todo-wrapper .show-who .sw-who {
    font-size: 9pt;
}

.like-todo-wrapper .like-num:hover {
    background-color: var(--highlight)!important;
    color: var(--awhite);
    cursor: pointer;
}

.like-todo-wrapper > .btn {
    padding-right: 0px!important;
    padding-left: 0px!important;
}

.cke_autocomplete_selected, .cke_autocomplete_panel > li:hover {
    background-color: var(--white)!important;
}

.outline-selector li.selected {
    background-color: transparent!important;
    width: 100%!important;
}

.outline-selector li.selected:hover {
    background-color: var(--background-color)!important;
}

.outline-selector li.row .col span.default-list i {
    font-size: 11pt;
    color: var(--primary);
    padding-left: 7px;
    vertical-align: middle;
}

.integration-top-buttons {
    position: absolute;
    top: 0px;
    right: 5px;
}

.integration-top-buttons .btn {
    height: 30px;
    line-height: 30px;
    vertical-align: middle;
}

.integration-top-buttons .btn i {
    line-height: 30px;
    vertical-align: middle;
    color: var(--black);
}

.the-actions .btn.btn-transparent {
    vertical-align: top;
    padding: 0px !important;
    width: 100%;
    margin: 0px auto;
}

.add-new-item .s1 {
    border-radius: 0px !important;
    min-width: 50px;
    text-align: center;
}

.integration-listings.component-simple-list {
    margin-top: 20px;
}

.integration-listings.component-simple-list .inline-image img {
    background-color: var(--awhite);
}

.quick-list-item {
    height: 25px;
    line-height: 25px;
}

.stats-card .quick-list-item {
    height: 50px;
    line-height: 50px;
    background-color: var(--white);
    padding: 0px 17px;
    margin-bottom: 0px !important;
    border-radius: 0;
    box-shadow: var(--box-shadow);
    font-size: 13px;
}

.stats-card .quick-list-item:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.stats-card .quick-list-item:last-child {
    border-bottom-left-radius: var(--border-radius-tiny);
    border-bottom-right-radius: var(--border-radius-tiny);
}

.dark .stats-card .quick-list-item {
    margin-bottom: -4px!important;
}

.stats-card .quick-list-item .mini-img {
    margin-top: 13px;
    border-radius: 5px;
}

svg.a9s-annotationlayer {
    cursor: crosshair;
}

.prompt-w-input {
    padding-bottom: 30px;
    background-color: var(--background-color);
}

.ai-panel .prompt-w-input {
    padding-bottom: 0px;
    background-color: transparent;
}

.spec-item-notifications {
    padding: 40px;
    height: calc(100vh - 114px);
    overflow-y: auto;
}

.spec-item-main-body .btn.btn-transparent.ai-settings.ai-actions {
    height: 40px;
    vertical-align: top;
    bottom: 0px;
    right: 0px;
    margin-right: 0px !important;
    text-align: right;
}

.spec-item-main-body .btn.btn-transparent.ai-settings.ai-actions span {
    font-size: 9pt!important;
}

.spec-item-main-body .btn.btn-transparent.ai-settings.ai-actions span {
    font-size: 9.5pt;
}

.description-preview {
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    color: var(--light-text);
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 14px;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 15px;
    line-height: 20px;
}

.jira-quick-view {
    margin-top: -40px;
}

.jira-quick-view .card {
    margin-bottom: 5px!important;
}

.jira-quick-view .card:last-child {
    margin-bottom: 0px!important;
}

.btn.btn-transparent.show-more-less {
    padding-left: 0px!important;
    padding-right: 0px!important;
    float: none;
    margin: 0px auto!important;
}

.btn.btn-transparent.show-more-less:hover {
    text-decoration: underline;
}

.ai-icon.jt1 {
    width: 30px!important;
}

.ai-icon.jt1 {
    color: var(--primary);
    font-size: 17px;
    margin-left: 5px;
    margin-right: 5px;
    width: auto!important;
    text-decoration: none!important;
}

.ai-icon.jt1:hover {
    text-decoration: none!important;
}

.pi-chat-header .ai-icon.jt1 {
    font-size: 20px;
}

.ai-icon.jt1 .jt1 {
    font-size: 14pt;
    margin-left: 5px;
}

/* Recycle Bin */
/* §v6 RUN ATTACHMENTS — files/images sent into an agent run on this task.
   Same collapsible grammar as the recycle bin below (both are "extra buckets"
   that sit under the real list) so the tab reads as one surface. */
.run-attachments-section {
    margin-top: 20px;
    border-top: 1px solid var(--light-border);
    padding-top: 10px;
}

.run-attachments-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    padding: 8px 12px;
    color: var(--light-text);
    font-size: 13px;
    transition: color 0.2s;
}

.run-attachments-toggle:hover { color: var(--black); }
.run-attachments-toggle i { font-size: 18px; }

.run-attachments-content { padding: 0 12px 12px; }

.run-attachments-header {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 10px;
}

.run-attachments-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--light-text);
}

.run-attachments-list { margin: 0; }

.run-attachments-list .menu-item {
    display: flex;
    align-items: center;
    margin: 0;
    min-height: 38px;
}

.run-attachments-list .run-att-name { font-size: 13px; }
.run-attachments-list .run-att-thread { margin-left: 6px; }
.run-attachments-list .run-att-nolink { pointer-events: none; opacity: 0.7; }

.run-attachments-more {
    margin-top: 8px;
    font-size: 12px;
    color: var(--primary);
    cursor: pointer;
    display: inline-block;
}

.run-attachments-more:hover { text-decoration: underline; }

.run-att-saved {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 12px;
    color: var(--good);
}

.run-att-saved i { font-size: 15px; }

/* Images tab: thumbnail grid instead of rows */
.run-attachment-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.run-attachment-thumb {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    width: 96px;
}

.run-attachment-thumb img {
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: var(--border-radius-tiny);
    border: 1px solid var(--light-border);
    display: block;
}

.run-attachment-thumb .btn { font-size: 11px !important; padding: 0 6px !important; }

.recycle-bin-section {
    margin-top: 20px;
    border-top: 1px solid var(--borderColorLight);
    padding-top: 10px;
}

.recycle-bin-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    padding: 8px 12px;
    color: var(--textSecondary, #888);
    font-size: 13px;
    transition: color 0.2s;
}

.recycle-bin-toggle:hover {
    color: var(--textPrimary, #444);
}

.recycle-bin-toggle i {
    font-size: 18px;
}

.recycle-bin-content {
    padding: 0;
}

.recycle-bin-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    font-weight: 300;
}

.recycle-bin-title {
    font-size: 13px;
    font-weight: 500;
    color: var(--textSecondary, #888);
}

.recycle-bin-empty {
    font-size: 12px !important;
    color: var(--error, #e53935) !important;
    display: flex !important;
    align-items: center;
    gap: 4px;
    padding: 0 8px !important;
    height: 28px !important;
    line-height: 28px !important;
}

.recycle-bin-empty i {
    font-size: 16px;
    color: var(--warning);
}

.recycle-bin-empty-message {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px;
    color: var(--textSecondary, #aaa);
    font-size: 13px;
}

.recycle-bin-empty-message i {
    font-size: 20px;
    opacity: 0.5;
}

.recycle-bin-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.recycle-bin-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 10px 10px 15px;
    border-bottom: 1px solid var(--borderColorLight);
    transition: background-color 0.15s;
    background-color: var(--extra-light);
}

.recycle-bin-item:last-child {
    border-bottom: none;
}

.recycle-bin-item:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.recycle-bin-item:hover {
    background-color: var(--white);
}

.recycle-item-info {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}

.recycle-item-info > i {
    font-size: 20px;
    color: var(--textSecondary, #888);
    flex-shrink: 0;
}

.recycle-item-info > i.file-type-icon {
    color: var(--file-unknown);
}

.recycle-item-details {
    min-width: 0;
}

.recycle-item-name {
    font-size: 13px;
    color: var(--textPrimary, #333);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.recycle-item-meta {
    font-size: 11px;
    color: var(--textSecondary, #aaa);
}

.recycle-item-actions {
    flex-shrink: 0;
}

.recycle-item-actions .btn {
    color: var(--error, #e53935) !important;
    padding: 0 6px !important;
    height: 28px !important;
    line-height: 28px !important;
}

.recycle-item-actions .btn i {
    font-size: 18px;
}

/* Host pane for the migrated <ai-chat> on the spec-item AI detail view. The
   component is a flex-fill column that needs a sized pane (its scroll area +
   absolutely-positioned input bar resolve against this height). Tune the
   subtracted px to the spec-item page chrome if the pane looks off. */
.spec-item-ai-host {
    display: flex;
    flex-direction: column;
    height: calc(100dvh - 114px);
    min-height: 0;
    /* padding: 30px; */
    border: none;
}

/* Back-to-conversations bar above the mounted <ai-chat>. flex:0 0 auto so the
   component (flex:1 1 auto) fills the remaining height. */
.spec-item-ai-topbar {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    /* margin-bottom: 8px; */
    position: absolute;
    bottom: -40px;
    left: unset;
    z-index: 99999999;
    right: 50px;
}
.spec-item-ai-back {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    color: var(--light-text);
    font-size: 15px;
    padding: 4px 8px;
    border-radius: var(--border-radius-tiny);
}

.spec-item-ai-back i {
    font-size: 21px!important;
}
.spec-item-ai-back:hover {
    color: var(--black);
    background-color: var(--hover-item);
}
.spec-item-ai-back i {
    font-size: 18px;
    color: var(--icon-color)!important;
}

/* Who is working this thread, and on what. The bar is right-anchored, so the label grows
   leftwards from the back button. Truncates rather than pushing the button off-screen. */
.spec-item-agent-name {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 46vw;
    min-width: 0;
    margin-right: 6px;
    font-size: 12px;
    color: var(--light-text);
    white-space: nowrap;
    overflow: hidden;
}
.spec-item-agent-name .siat-agent { color: var(--black); font-weight: 600; }
.spec-item-agent-name .siat-sep { opacity: 0.5; }
.spec-item-agent-name .siat-task { overflow: hidden; text-overflow: ellipsis; }

/* ── Pre-start card ──────────────────────────────────────────────────────────
   Holds the page for the seconds between "assign" and "the run exists". It shows the
   person their own words back, so the wait never looks like their request was lost. */
.agents-prestart {
    flex: 1 1 auto;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 48px 24px;
    overflow-y: auto;
}
.agents-prestart-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    width: 100%;
    max-width: 620px;
    padding: 18px 20px;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius);
    background-color: var(--white);
}
.agents-prestart-avatar {
    position: relative;
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--background-color);
    color: var(--primary-color);
    font-weight: 600;
}
.agents-prestart-avatar img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; }
.agents-prestart-dot {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--primary);
    box-shadow: 0 0 0 2px var(--white, #fff);
    animation: jtAgentPulse 1.6s ease-in-out infinite;
}
.agents-prestart-body { flex: 1 1 auto; min-width: 0; }
.agents-prestart-line { font-size: 15px; color: var(--black); margin-bottom: 8px; }
.agents-prestart-shimmer {
    height: 4px;
    border-radius: 2px;
    background-color: var(--extra-light);
    overflow: hidden;
    margin-bottom: 12px;
}
.agents-prestart-shimmer span {
    display: block;
    width: 38%;
    height: 100%;
    border-radius: 2px;
    background-color: var(--primary);
    animation: jtAgentTrack 1.5s ease-in-out infinite;
}
@keyframes jtAgentTrack {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(340%); }
}
.agents-prestart-prompt {
    font-size: 13px;
    color: var(--black);
    background-color: var(--extra-light);
    border-radius: var(--border-radius-tiny);
    padding: 8px 10px;
    margin-bottom: 8px;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 180px;
    overflow-y: auto;
}
.agents-prestart-task { font-size: 12px; }
.agents-prestart-actions { flex: 0 0 auto; }
/* The neutral "opening this run" state — no avatar, no claim about what is about to happen.
   Used when the thread doc hasn't arrived but the run is NOT pre-start (e.g. opening a run
   that finished last week from the runs list). */
.agents-prestart-quiet .agents-prestart-card { opacity: 0.65; }

@media (prefers-reduced-motion: reduce) {
    .agents-prestart-dot,
    .agents-prestart-shimmer span { animation: none; }
    .agents-prestart-shimmer span { width: 100%; opacity: 0.4; }
}

/* ── Task overview dashboard ─────────────────────────────────────────────── */
.spec-item-overview {
    padding: 40px;
    height: calc(100dvh - 114px);
    overflow-y: auto;
}
.spec-item-overview-head {
    margin-bottom: 16px;
}
.spec-item-overview-title {
    font-size: 20px;
    color: var(--black);
    font-family: var(--nothing);
}
.spec-item-overview-grid {
    display: grid;
    /* grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); */
    gap: 5px;
}
.spec-item-overview-card {
    display: flex;
    flex-direction: row;
    align-items: start;
    /* gap: 10px; */
    padding: 15px 20px;
    /* padding-bottom: 10px; */
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    background-color: var(--light-white);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    /* box-shadow: var(--box-shadow); */
    border: 1px solid var(--light-border);
    margin-bottom: 0px;
}

.spec-item-overview-card:hover {
    background-color: var(--hover-item);
}

.spec-item-overview-card > * {
    /* margin-top: -30px; */
    /* background-color: var(--background-color); */
    padding: 0 5px;
}
.spec-item-overview-card:hover {
    /* border-color: var(--border); */
    /* box-shadow: var(--box-shadow); */
    /* background-color: var(--extra-light); */
}
.spec-item-overview-card-icon {
    font-size: 15px;
    line-height: 20px;
    /* color: var(--primary)!important; */
}
.spec-item-overview-card-label {
    /* font-size: 21px; */
    /* font-weight: 500; */
    color: var(--light-text);
    /* font-family: var(--nothing); */
    text-transform: uppercase;
    font-size: 11px;
}
.spec-item-overview-card-count {
    font-size: 9px;
    font-weight: 400;
    color: var(--black);
    margin-left: auto;
    /* background-color: var(--white); */
    padding: 0;
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-tiny);
    text-align: center;
}
.spec-item-overview-card-count .spin {
    font-size: 14px;
    animation: spin 1s linear infinite;
}
.spec-item-overview-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 40px;
    color: var(--light-text);
}

/* List view = a flex column: the thread-list scroll area fills, the compose-only
   <ai-chat> sits at the bottom at its natural height. (Replaces the old absolutely-
   positioned composer; absolute positioning collapsed the wrapped <ai-chat> element.) */
.spec-item-ai-list {
    display: flex;
    /* flex-direction: column; */
    height: calc(100dvh - 115px);
    min-height: 0;
}

.spec-item-ai-list .response-container {
    margin-bottom: 115px!important;
}
/* Scroll area fills the remaining height (override the fixed calc height + the big
   bottom padding that reserved room for the old overlay composer). */
.spec-item-ai-list > #aiPanel,
.spec-item-ai-list > .task-ai.oe {
    /* flex: 1 1 auto; */
    /* min-height: 0; */
    /* height: auto; */
}
.spec-item-main-body .spec-item-ai-list > .task-ai.oe {
    /* height: auto; */
    padding-bottom: 30px;
}
/* The composer: natural height at the bottom of the column. Pull the component +
   its absolutely-positioned (bottom:0) prompt bar into normal block flow. */
ai-chat.spec-item-list-composer {
    flex: 0 0 auto;
    display: flex;
    position: absolute;
    bottom: 0px;
    left: 10px;
    right: 10px;
    top: unset!important;
    padding-bottom: 30px;
    padding-left: 20px;
    padding-right: 20px;
    background-color: var(--background-color);
    z-index: 99999;
}
ai-chat.spec-item-list-composer .ai-chat.ai-chat-compose-only {
    display: block;
    height: auto;
    min-height: 0;
    overflow: visible;
    background-color: transparent;
    max-width: 761px;
}
ai-chat.spec-item-list-composer .prompt-container.ai-chat-prompt {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    margin: 0;
    padding: 10px 6px;
}

.spec-item-card-header {
    display: flex!important;
    align-items: center;
}

.attachment-title {
    word-wrap: anywhere;
    padding: 10px 0;
}
.oe, .cke_contents, .cke_wysiwyg_div, .sidebar-body {
  scrollbar-width: var(--scrollbar-width);
  scrollbar-color: var(--scrollbar-color) var(--scrollbar-track-color);
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  mask-image: linear-gradient(to top, transparent, black),
    linear-gradient(to left, transparent 10px, black 10px);
  mask-size: 100% 20000px;
  -webkit-mask-size: 100% 20000px;
  /* transition: mask-position 0.3s, -webkit-mask-position 0.3s; */
  overflow-y: auto;
  overflow-y: overlay;
  z-index: 0;
  overflow-x: hidden;
}
.oe:hover, 
.cke_contents:hover,
.cke_wysiwyg_div:hover,
.sidebar-body:hover,
.dropdown-content:hover {
  -webkit-mask-position: left top;
}
.oe::-webkit-scrollbar,
.cke_contents::-webkit-scrollbar,
.cke_wysiwyg_div::-webkit-scrollbar,
.sidebar-body::-webkit-scrollbar,
.dropdown-content::-webkit-scrollbar {
  height: var(--scrollbar-size);
  width: var(--scrollbar-size);
}
.oe::-webkit-scrollbar-track,
.cke_contents::-webkit-scrollbar-track,
.cke_wysiwyg_div::-webkit-scrollbar-track,
.sidebar-body::-webkit-scrollbar-track,
.dropdown-content::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track-color);
}
.oe::-webkit-scrollbar-thumb,
.cke_contents::-webkit-scrollbar-thumb,
.cke_wysiwyg_div::-webkit-scrollbar-thumb,
.sidebar-body::-webkit-scrollbar-thumb,
.dropdown-content::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-color);
  border-radius: 10px;
  cursor: grab;
  /* Add :hover, :active as needed */
}
.oe::-webkit-scrollbar-thumb:hover, 
.cke_contents::-webkit-scrollbar-thumb:hover,
.cke_wysiwyg_div::-webkit-scrollbar-thumb:hover,
.sidebar-body::-webkit-scrollbar-thumb:hover,
.dropdown-content::-webkit-scrollbar-thumb:hover {
    background-color: var(--scrollbar-hover);
}
.oe::-webkit-scrollbar-thumb:vertical,
.cke_contents::-webkit-scrollbar-thumb:vertical,
.cke_wysiwyg_div::-webkit-scrollbar-thumb:vertical,
.sidebar-body::-webkit-scrollbar-thumb:vertical,
.dropdown-content::-webkit-scrollbar-thumb:vertical {
  min-height: var(--scrollbar-minlength);
}
.oe::-webkit-scrollbar-thumb:horizontal,
.cke_contents::-webkit-scrollbar-thumb:horizontal,
.cke_wysiwyg_div::-webkit-scrollbar-thumb:horizontal,
.sidebar-body::-webkit-scrollbar-thumb:horizontal,
.dropdown-content::-webkit-scrollbar-thumb:horizontal {
  min-width: var(--scrollbar-minlength);
}
.layout-scrollbar-obtrusive .layout-scrollbar::-webkit-scrollbar {
  height: var(--scrollbar-size);
  width: var(--scrollbar-size);
}
/* Main */
img {
    width: 100%;
    max-width: 100%;
}
button {
    border: none;
}
.success-button {
    display: inline-block;
    width: 100%;
}
table, form {
    width: 100%;
    position: relative;
}
th {
    font-size: 9pt;
    color: var(--white);
    cursor: pointer;
    padding: 2px 4px;
    background-image: url('/images/rubber_grip.png');
}
tr {
    height: 30px;
    width: 100%;
}
td {
    padding: 3px;
    font-size: 10.5pt;
}
#js-legend tr:nth-of-type(2n) {
    background-color: transparent;
    border-left: 1px solid black;
}
a {
    color: black;
    text-decoration: none;
    cursor: pointer;
}
a:hover {
    text-decoration: underline;
}
.zj-body h1, .zj-body h2, .zj-body h3, .zj-body h4, .zj-body h5 {
    margin-top: 0px;
    margin-bottom: 5px;
    color: var(--black);
    font-weight: 300;
}
.settings-header h5 {
    font-size: 16pt;
}
/*
.pagination
{
	width: 100%;
	padding: 10px 0px;
	height: 10%;
	font-size: 10pt;
	font-weight: bold;
	text-align: right;
}*/
body {
    padding-top: 0px!important;
    padding-bottom: 0px!important;
    overflow: hidden;
    height: 100%;
    background-color: var(--background-color);
    bottom: 0px!important;
    width: 100%;
}
html body {
    font-size: 13px;
    line-height: 21px;
    font-family: var(--body-font), sans-serif;
    min-width: 360px!important;
    font-weight: 300;
}
table thead tr th {
    color: var(--white)!important;
    font-size: 10pt;
}
.zen-green {
    background-color: #76a100;
    color: var(--white);
}
.zen-green-stroke {
    border: 1px solid #76a100;
}
.zen-green-text {
    color: #76a100;
}
.jira-blue {
    background-color: #507294;
    color: var(--white);
}
.jira-blue-stroke {
    border: 1px solid #55afe7;
}
.jira-blue-text {
    color: #316AA4;
}
.navbar-nav-right {
    padding-right: 5px;
}
.navbar-brand .jira-blue {
    padding-top: 3px;
    padding-right: 3px;
    padding-bottom: 3px;
    padding-left: 1px;
}
.navbar-brand .zen-green {
    padding-top: 3px;
    padding-left: 3px;
    padding-bottom: 3px;
    padding-right: 1px;
}
.zj-footer {
    position: fixed;
    display: none;
    bottom: 0px;
    text-align: left;
    width: 100%;
    max-width: 100%;
    padding: 10px 20px;
    color: #eaeaea;
    border-top: 1px solid rgb(98, 97, 97);
}
.info-section {
    width: 100%;
    height: 10%;
    font-size: 10.5pt;
}
#zd-view {
    width: 100%;
    /*height: 80%;
	overflow-y: overlay;*/
    position: relative;
}
#zd-view td, #zd-view th {
    padding: 10px;
}
#zd-view thead {
    width: 100%;
}
.form-field label, .form-field input {
    width: 100%;
}
.form-field input {
    padding: 5px;
}
.login-form.lfpopup, .register {
    display: block;
    background-color: var(--xwhite);
    max-width: 420px;
    margin: 64px auto;
    margin-top: calc(64px + 50dvh - 240px);
    padding: 40px 40px 40px;
    border-radius: 0px;
    text-align: center;
    border-radius: 25px;
    box-shadow: 0px 1px 2px var(--shadow);
}
/* SINGLE TICKET VIEW */
.zj-search {
    padding: 20px;
    background-color: var(--white);
}
.zj-zd-view-bar {
    display: block;
    background-color: var(--white);
    margin: 0px auto 20px;
    padding: 20px;
    border-bottom: 1px solid rgb(226, 226, 226);
    border-radius: 0px;
    box-shadow: 0px 2px 3px rgba(0, 0, 0, .05);
    position: relative;
}
.zj-zd-view-bar select {
    width: 100%;
}
.zj-ticket-full {
    height: 100%;
    display: block;
    width: 100%;
    position: relative;
    background-image: url(http://subtlepatterns.com/patterns/checkered_pattern.png);
}
.zj-zd-comments {
    padding: 20px;
    margin-bottom: 20px;
    background-color: var(--white);
    display: inline-block;
    width: 100%;
}
.zj-zd-comment-public-false .zj-zd-c-false {
    background-color: rgb(252, 252, 217);
    border: 1px solid rgb(244, 233, 142);
    border-radius: 4px;
    display: inline-block;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
}
.zj-zd-ticket-comments .zj-zd-ticket-meta {
    font-size: 11.5pt;
}
.zj-zd-comment-time {
    font-style: italic;
}
.zj-zd-ticket-description {
    background-color: var(--white);
    display: inline-block;
    width: 50%;
    float: left;
}
.zj-jira-ticket-meta.zj-jira-description {
    display: inline-block;
    width: 50%;
    background-color: var(--white);
    white-space: pre-line;
    padding: 20px;
}
.zj-zd-comment-author-image {
    max-width: 40px;
    display: inline-block;
    float: left;
    margin-right: 10px;
}
.zj-zd-comment-author-image img {
    width: 100%;
}
.zj-zd-comment-author-details {
    width: auto;
    display: inline-block;
}
.zj-zd-comment-author {
    font-weight: bold;
}
.zj-zd-ticket-menu {
    box-sizing: border-box;
    background-color: #f7f7f7;
    padding: 20px 20px 10px;
}
.zj-zd-ticket-body {
    position: absolute;
    width: 100%;
    right: 0;
    border-top: 1px solid rgb(222, 222, 222);
}
.zj-zd-ticket-summary {
    margin-bottom: 4px;
    font-weight: 900;
    font-size: 15pt;
    line-height: 1.75;
    margin-top: -5px;
}
/* TICKET VIEWS */
.zj-zd-view-select {
    margin-bottom: 20px;
}
.zj-table-data tbody {
    overflow-y: overlay;
}
.zj-intro {
    margin-bottom: 20px;
}
.zj-menu-item li, .zj-menu-item li a, .zj-menu-item a {
    outline: none!important;
}
.zj-zdview .row {
    margin: 0px;
}
.zj-zdview select, .zj-jira-collection select {
    padding: 6px;
    border: 1px solid rgb(236, 240, 241);
    height: 32px;
    border-radius: 0px;
    background-color: var(--white);
}
td.zd-description > div {
    display: inline-block;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    font-size: 10pt;
    line-height: 1.5;
}
li.dropdown {
    cursor: pointer;
}
.zj-zd-menu-container {
    position: relative;
    width: 100%;
}
.zd-table {
    padding: 20px;
    background-color: var(--white);
}
.zj-zd-comments:last-child {
    margin-bottom: 0px;
}
.zj-zd-ticket-menu .row:first-child {
    margin-bottom: 10px;
}
.zj-ticket-links {
    display: inline-block;
}
.zj-ticket-assignee {
    font-size: 10pt;
    text-align: right;
    margin-bottom: -10px;
    padding: 0px;
    font-style: italic;
    line-height: 1.2;
    margin-top: -5px;
}
.zj-ta-img {
    cursor: pointer;
}
.zj-ta-img img {
    width: 45px;
    border-radius: 3px;
    height: 45px;
}
.zj-zd-comment-actions {
    text-align: right;
    width: auto;
    display: inline-block;
    float: right;
}
.zj-zd-comment-wrapper {
    display: inline-block;
    width: 100%;
    border-bottom: 1px solid silver;
    border-bottom: 2px solid rgb(129, 181, 62);
    margin-bottom: 20px!important;
    padding-bottom: 20px;
}
.zj-zd-comment-body.row {
    margin-top: 20px;
    margin-left: 0px;
    margin-right: 0px;
}
.zj-description-requester-image {
    max-width: 55px;
    display: inline-block;
    max-height: 55px;
    box-sizing: border-box;
    border: 1px solid rgb(129, 181, 62);
    margin-right: 10px;
    padding: 5px!important;
}
.zj-description-requester-image img {
    width: 100%;
}
.zj-requster-meta {
    width: 90%;
    display: inline-block;
    font-size: 10.5pt;
    box-sizing: border-box;
}
.zj-zd-the-ticket-description {
    white-space: pre-line;
    width: 100%;
    word-wrap: break-word;
    border: 1px solid transparent;
}
.zj-requester-info {
    width: 100%;
    display: inline-block;
}
.zj-zd-the-comment-body {
    white-space: pre-line;
    display: inline-block;
    width: 100%;
    word-wrap: break-word;
    margin: 0px!important;
    box-sizing: border-box;
}
.zj-ta-text {
    text-align: right;
    display: inline-block;
    cursor: pointer;
}
.zj-zd-requster-meta div {
    margin-bottom: 2px;
}
.zj-zd-ticket-menu .action-buttons a.active .btn-default {
    background-color: black;
    border: none;
    color: #16a3d1;
}
textarea.zj-zd-edit-description {
    width: 100%;
    padding: 10px;
    min-height: 400px;
    border: 1px solid var(--lightgrey);
    margin-bottom: 20px;
}
.zj-zd-description-edit input {
    width: 300px;
    display: inline-block;
}
form.zj-zd-description-edit {
    display: inline-block;
}
.login-form.lfpopup {
    margin-top: 80px;
}
.zj-leave-comment {
    width: 50%;
    float: left;
    background-color: var(--white);
    position: absolute;
    left: 0;
    top: 0;
    border-right: 1px solid rgb(190, 190, 190);
}
.zj-reply-comments {
    width: 50%;
    float: right;
    overflow-y: overlay;
}
.zj-leave-comment textarea {
    width: 100%;
    border: 1px solid var(--lightgrey);
    min-height: 100px;
    margin-bottom: 10px;
    padding: 10px;
    max-width: 100%;
    min-width: 100%;
    max-height: 100px;
}
.zj-zd-ticket-comments {
    overflow-y: overlay;
    width: 50%;
    float: left;
}
.zj-zd-ticket-meta.zj-zd-description {
    overflow-y: overlay;
    padding: 20px;
}

.oe::-webkit-scrollbar-thumb:hover, 
.cke_contents::-webkit-scrollbar-thumb:hover,
.cke_wysiwyg_div::-webkit-scrollbar-thumb:hover,
.sidebar-body::-webkit-scrollbar-thumb:hover,
.dropdown-content::-webkit-scrollbar-thumb:hover {
    background-color: var(--scrollbar-hover);
}
.oe::-webkit-scrollbar-thumb:vertical,
.cke_contents::-webkit-scrollbar-thumb:vertical,
.cke_wysiwyg_div::-webkit-scrollbar-thumb:vertical,
.sidebar-body::-webkit-scrollbar-thumb:vertical,
.dropdown-content::-webkit-scrollbar-thumb:vertical {
  min-height: var(--scrollbar-minlength);
}
.oe::-webkit-scrollbar-thumb:horizontal,
.cke_contents::-webkit-scrollbar-thumb:horizontal,
.cke_wysiwyg_div::-webkit-scrollbar-thumb:horizontal,
.sidebar-body::-webkit-scrollbar-thumb:horizontal,
.dropdown-content::-webkit-scrollbar-thumb:horizontal {
  min-width: var(--scrollbar-minlength);
}
.layout-scrollbar-obtrusive .layout-scrollbar::-webkit-scrollbar {
  height: var(--scrollbar-size);
  width: var(--scrollbar-size);
}
/* Main */
img {
    width: 100%;
    max-width: 100%;
}
.dark .intelligence-chat .received .ai-btn img.ai-icon {
    /* filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%); */
}
button {
    border: none;
}
.success-button {
    display: inline-block;
    width: 100%;
}
table, form {
    width: 100%;
    position: relative;
}
th {
    font-size: 13px;
    font-weight: unset;
    color: var(--black);
    cursor: pointer;
    padding: 10px;
    background-image: none;
    /* border: 1px solid var(--border); */
    /* background-color: var(--background-color); */
}
tr {
    height: 30px;
    width: 100%;
}
td {
    padding: 3px;
    font-size: 10.5pt;
}

.integration-section table td {
    background-color: var(--background-color);
    border-right: 1px solid var(--white);
    border-bottom: 1px solid var(--white);
    font-size: 13px;
    padding: 10px 20px!important;
}
#js-legend tr:nth-of-type(2n) {
    background-color: transparent;
    border-left: 1px solid black;
}
a {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.ql-editor a {
    display: inline-block;
    padding: 0;
    color: var(--primary);
}
a:hover {
    text-decoration: underline;
}

a:hover i {
    text-decoration: none!important;
}
.zj-body h1, .zj-body h2, .zj-body h3, .zj-body h4, .zj-body h5 {
    margin-top: 0px;
    margin-bottom: 5px;
    color: var(--black);
    /* font-weight: 400; */
}

.zj-body .account h4 {
    font-family: var(--nothing);
}

.zj-body .account h5 {
    font-family: var(--nothing);
    font-size: 23px;
    margin-bottom: 0;
    text-transform: lowercase;
}
.settings-wrapper h5 {
    font-size: 16pt;
    margin-bottom: 0;
    font-family: var(--nothing);
}
.settings-header h5 {
    font-size: 16pt;
    font-weight: 400!important;
}

.project-settings .settings-header h5 {
    font-family: var(--nothing);
}
body {
    padding-top: 0px!important;
    padding-bottom: 0px!important;
    overflow: hidden;
    height: 100%;
    background-color: var(--background-color);
    bottom: 0px!important;
    top: 0px!important;
    width: 100%;
    position: absolute;
    /* top: 0!important; */
    /* right: 0; */
    /* left: 0; */
    bottom: 0!important;
}
html body {
    font-size: var(--font-size);
    line-height: 21px;
    font-family: var(--body-font), sans-serif;
    min-width: 360px!important;
    font-weight: 300;
     /* Required for some platforms */
    text-rendering: optimizelegibility;
    -webkit-font-smoothing: antialiased;
}
table thead tr th {
    color: var(--black)!important;
    font-size: 10pt;
}

.settings th {
    background: none;
}
.zen-green {
    background-color: #76a100;
    color: var(--white);
}
.zen-green-stroke {
    border: 1px solid #76a100;
}
.zen-green-text {
    color: #76a100;
}
.jira-blue {
    background-color: #507294;
    color: var(--white);
}
.jira-blue-stroke {
    border: 1px solid #55afe7;
}
.jira-blue-text {
    color: #316AA4;
}
.navbar-nav-right {
    padding-right: 5px;
}
.navbar-brand .jira-blue {
    padding-top: 3px;
    padding-right: 3px;
    padding-bottom: 3px;
    padding-left: 1px;
}
.navbar-brand .zen-green {
    padding-top: 3px;
    padding-left: 3px;
    padding-bottom: 3px;
    padding-right: 1px;
}
.zj-body {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: 64px;
}
.zj-footer {
    position: fixed;
    display: none;
    bottom: 0px;
    text-align: left;
    width: 100%;
    max-width: 100%;
    padding: 10px 20px;
    color: #eaeaea;
    border-top: 1px solid rgb(98, 97, 97);
}
.info-section {
    width: 100%;
    height: 10%;
    font-size: 10.5pt;
}
#zd-view {
    width: 100%;
    /*height: 80%;
	overflow-y: overlay;*/
    position: relative;
}
#zd-view td, #zd-view th {
    padding: 10px;
}
#zd-view thead {
    width: 100%;
}
.form-field label, .form-field input {
    width: 100%;
}
.form-field input {
    padding: 5px;
}
.login-form.lfpopup, .register {
    display: block;
    background-color: var(--xwhite);
    max-width: 480px;
    margin: 64px auto;
    margin-top: calc(64px + 50dvh - 240px);
    padding: 60px!important;
    border-radius: 0px;
    text-align: center;
    border-radius: var(--border-radius-tiny);
    box-shadow: 0px 1px 2px var(--shadow);
}
/* SINGLE TICKET VIEW */
.zj-search {
    padding: 20px;
    background-color: var(--white);
}
.zj-zd-view-bar {
    display: block;
    background-color: var(--white);
    margin: 0px auto 20px;
    padding: 20px;
    border-bottom: 1px solid rgb(226, 226, 226);
    border-radius: 0px;
    box-shadow: 0px 2px 3px rgba(0, 0, 0, .05);
    position: relative;
}
.zj-zd-view-bar select {
    width: 100%;
}
.zj-ticket-full {
    height: 100%;
    display: block;
    width: 100%;
    position: relative;
    background-image: url(http://subtlepatterns.com/patterns/checkered_pattern.png);
}
.zj-zd-comments {
    padding: 20px;
    margin-bottom: 20px;
    background-color: var(--white);
    display: inline-block;
    width: 100%;
}
.zj-zd-comment-public-false .zj-zd-c-false {
    background-color: rgb(252, 252, 217);
    border: 1px solid rgb(244, 233, 142);
    border-radius: 4px;
    display: inline-block;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
}
.zj-zd-ticket-comments .zj-zd-ticket-meta {
    font-size: 11.5pt;
}
.zj-zd-comment-time {
    font-style: italic;
}
.zj-zd-ticket-description {
    background-color: var(--white);
    display: inline-block;
    width: 50%;
    float: left;
}
.zj-jira-ticket-meta.zj-jira-description {
    display: inline-block;
    width: 50%;
    background-color: var(--white);
    white-space: pre-line;
    padding: 20px;
}
.zj-zd-comment-author-image {
    max-width: 40px;
    display: inline-block;
    float: left;
    margin-right: 10px;
}
.zj-zd-comment-author-image img {
    width: 100%;
}
.zj-zd-comment-author-details {
    width: auto;
    display: inline-block;
}
.zj-zd-comment-author {
    font-weight: bold;
}
.zj-zd-ticket-menu {
    box-sizing: border-box;
    background-color: #f7f7f7;
    padding: 20px 20px 10px;
}
.zj-zd-ticket-body {
    position: absolute;
    width: 100%;
    right: 0;
    border-top: 1px solid rgb(222, 222, 222);
}
.zj-zd-ticket-summary {
    margin-bottom: 4px;
    font-weight: 900;
    font-size: 15pt;
    line-height: 1.75;
    margin-top: -5px;
}
/* TICKET VIEWS */
.zj-zd-view-select {
    margin-bottom: 20px;
}
.zj-table-data tbody {
    overflow-y: overlay;
}
.zj-intro {
    margin-bottom: 20px;
}
.zj-menu-item li, .zj-menu-item li a, .zj-menu-item a {
    outline: none!important;
}
.zj-zdview .row {
    margin: 0px;
}
.zj-zdview select, .zj-jira-collection select {
    padding: 6px;
    border: 1px solid rgb(236, 240, 241);
    height: 32px;
    border-radius: 0px;
    background-color: var(--white);
}
td.zd-description > div {
    display: inline-block;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    font-size: 10pt;
    line-height: 1.5;
}
li.dropdown {
    cursor: pointer;
}
.zj-zd-menu-container {
    position: relative;
    width: 100%;
}
.zd-table {
    padding: 20px;
    background-color: var(--white);
}
.zj-zd-comments:last-child {
    margin-bottom: 0px;
}
.zj-zd-ticket-menu .row:first-child {
    margin-bottom: 10px;
}
.zj-ticket-links {
    display: inline-block;
}
.zj-ticket-assignee {
    font-size: 10pt;
    text-align: right;
    margin-bottom: -10px;
    padding: 0px;
    font-style: italic;
    line-height: 1.2;
    margin-top: -5px;
}
.zj-ta-img {
    cursor: pointer;
}
.zj-ta-img img {
    width: 45px;
    border-radius: 3px;
    height: 45px;
}
.zj-zd-comment-actions {
    text-align: right;
    width: auto;
    display: inline-block;
    float: right;
}
.zj-zd-comment-wrapper {
    display: inline-block;
    width: 100%;
    border-bottom: 1px solid silver;
    border-bottom: 2px solid rgb(129, 181, 62);
    margin-bottom: 20px!important;
    padding-bottom: 20px;
}
.zj-zd-comment-body.row {
    margin-top: 20px;
    margin-left: 0px;
    margin-right: 0px;
}
.zj-description-requester-image {
    max-width: 55px;
    display: inline-block;
    max-height: 55px;
    box-sizing: border-box;
    border: 1px solid rgb(129, 181, 62);
    margin-right: 10px;
    padding: 5px!important;
}
.zj-description-requester-image img {
    width: 100%;
}
.zj-requster-meta {
    width: 90%;
    display: inline-block;
    font-size: 10.5pt;
    box-sizing: border-box;
}
.zj-zd-the-ticket-description {
    white-space: pre-line;
    width: 100%;
    word-wrap: break-word;
    border: 1px solid transparent;
}
.zj-requester-info {
    width: 100%;
    display: inline-block;
}
.zj-zd-the-comment-body {
    white-space: pre-line;
    display: inline-block;
    width: 100%;
    word-wrap: break-word;
    margin: 0px!important;
    box-sizing: border-box;
}
.zj-ta-text {
    text-align: right;
    display: inline-block;
    cursor: pointer;
}
.zj-zd-requster-meta div {
    margin-bottom: 2px;
}
.zj-zd-ticket-menu .action-buttons a.active .btn-default {
    background-color: black;
    border: none;
    color: #16a3d1;
}
textarea.zj-zd-edit-description {
    width: 100%;
    padding: 10px;
    min-height: 400px;
    border: 1px solid var(--lightgrey);
    margin-bottom: 20px;
}
.zj-zd-description-edit input {
    width: 300px;
    display: inline-block;
}
form.zj-zd-description-edit {
    display: inline-block;
}
.login-form.lfpopup {
    margin-top: 80px;
}
.zj-leave-comment {
    width: 50%;
    float: left;
    background-color: var(--white);
    position: absolute;
    left: 0;
    top: 0;
    border-right: 1px solid rgb(190, 190, 190);
}
.zj-reply-comments {
    width: 50%;
    float: right;
    overflow-y: overlay;
}
.zj-leave-comment textarea {
    width: 100%;
    border: 1px solid var(--lightgrey);
    min-height: 100px;
    margin-bottom: 10px;
    padding: 10px;
    max-width: 100%;
    min-width: 100%;
    max-height: 100px;
}
.zj-zd-ticket-comments {
    overflow-y: overlay;
    width: 50%;
    float: left;
}
.zj-zd-ticket-meta.zj-zd-description {
    overflow-y: overlay;
    padding: 20px;
}
/* START UI VIEW ANIMATION */
/*.zj-ticket-container[ui-view]{
	height: 100%;	
}
.ui-view-container {
  position: relative;
}
[ui-view].ng-enter, [ui-view].ng-leave {
  position: absolute;
  left: 0;
  right: 0;
  -webkit-transition:all .5s ease-in-out;
	-moz-transition:all .5s ease-in-out;
	-o-transition:all .5s ease-in-out;
	transition:all .5s ease-in-out;
}
[ui-view].ng-enter {
  opacity: 0;
  -webkit-transform:scale3d(0.5, 0.5, 0.5);
  -moz-transform:scale3d(0.5, 0.5, 0.5);
  transform:scale3d(0.5, 0.5, 0.5);
  -webkit-transform:translate3d(-500px, 0, 0);
  -moz-transform:translate3d(-500px, 0, 0);
  transform:translate3d(-500px, 0, 0);
}
[ui-view].ng-enter-active {
  opacity: 1;
  -webkit-transform:scale3d(-300, 1, 1);
  -moz-transform:scale3d(1, 1, 1);
  transform:scale3d(1, 1, 1);
}
[ui-view].ng-leave {
  opacity: 1; 
  -webkit-transform:translate3d(0, 0, 0);
  -moz-transform:translate3d(0, 0, 0);
  transform:translate3d(0, 0, 0);
}
[ui-view].ng-leave-active {
  opacity: 0;
  -webkit-transform:translate3d(500px, 0, 0);
  -moz-transform:translate3d(500px, 0, 0);
  transform:translate3d(500px, 0, 0);
}*/
/* END ANIMATION */
.zj-zd-description-header, .zj-jira-description-header {
    padding: 20px;
    border-bottom: 1px solid rgb(204, 204, 204);
    height: 100px;
    display: inline-block;
    width: 100%;
}
.zj-zd-comment-actions input {
    margin-left: 10px;
}
#zj-login .input-group-addon i {
    width: 14px;
}
.navbar .navbar-default li.zj-menu-item a {
    color: var(--white);
}
li.zj-menu-item>a {
    color: rgb(48, 48, 48);
}
.zj-nav .container-fluid {
    padding: 0px;
}
.nav {
    border-bottom: 0px!important;
    z-index: 999999999;
    position: relative;
    color: var(--black);
    background-color: var(--xwhite);
    /* background-color: rgba(255, 255, 255, 0.72); */
    /* backdrop-filter: saturate(180%) blur(12px); */
    top: 0!important;
    box-shadow: var(--box-shadow);
}
.nav.ql-editor {
    z-index: unset;
    border-bottom: 1px!important;
}
.nav i {
    color: var(--icon-color);
}
nav.nav.main-nav.distraction-free {z-index: 0;}
.zj-nav.navbar-fixed-top {
    border-bottom: 1px solid rgb(110, 110, 110)!important;
    margin-bottom: 0px!important;
    z-index: 9;
    background-color: #0d283d;
    background-image: none;
}
.zj-footer a:hover {
    text-decoration: underline;
}
.zj-zd-ticket-dates {
    font-size: 10.5pt;
    margin-top: -8px;
    font-style: italic;
    color: rgb(114, 114, 114);
}
.zj-ticket-assignee {
    max-width: 300px!important;
    background-color: var(--white);
    margin-left: 10px;
}
.zj-zd-mini-ticket-description {
    display: inline-block;
    width: 100%;
    word-break: break-word;
    white-space: pre-wrap;
    overflow-y: overlay;
    padding: 20px;
}
.zj-zdview {
    background-color: var(--white);
}
.zj-logo a {
    border-right: 0px!important;
}
.action-buttons a:hover, .action-buttons a:active, .action-buttons a:focus {
    text-decoration: none!important;
}
.zj-zd-view-bar > div.col-md-4 {
    padding-right: 10px;
}
.zj-zd-ticket-meta.btn {
    border: 1px solid rgb(227, 227, 227);
}
.zj-requester-mini {
    padding-top: 0px;
    border-bottom: 1px solid var(--lightgrey);
    width: 100%;
    padding-bottom: 18px;
}
.zj-zd-comment-actions a .btn {
    padding: 9px 13px;
}

.zj-zd-ticket-meta button {
    border: 1px solid rgb(216, 216, 216);
}
input.form-control {
    height: 33px;
    border-radius: 0px;
}
.zj-description-requester-image img {
    border-radius: 4px;
}
.zj-ticket-assignee {
    width: 100%!important;
    cursor: pointer;
}
.zj-ticket-assignee:hover {
    background: #FFFFFF;
}
.zj-zd-ticket-meta button, .zj-zd-ticket-meta li a {
    text-transform: capitalize;
}
ul.dropdown-menu {
    padding: 0px;
    overflow-x: inherit;
}
#zd-view th, .zj-jira-project-list th {
    font-weight: bold;
    border-left: 1px solid rgb(152, 152, 152);
}
#zd-view th:hover {
    background-color: rgb(155, 155, 155);
}
#zd-view th:first-child {
    border-left: none;
}
.zj-table-sort {
    text-align: right;
    text-transform: capitalize;
}
.zj-table-actions.col-md-6 {
    padding-right: 0px;
}
.zd-table .zd-table-ticket-count {
    padding-left: 0px;
    padding-top: 3px;
}
.zd-table .zj-table-actions {
    padding-right: 0px;
}
.col-md-4.zj-collection-actions {
    padding-right: 0px!important;
}
.zj-extended-ticket-fields {
    width: 100%;
    margin-top: 5px;
}
.zd-table {
    width: 100%;
    padding: 20px;
}
.zj-table-header {
    display: inline-block;
    width: 100%;
    margin-bottom: 10px;
    padding: 0px 0px 10px 0px;
}
.zj-table-data {
    overflow-y: overlay;
}
.zj-special-value {
    color: var(--white);
    background-color: rgb(85, 175, 231);
    padding: 2px 7px;
    font-weight: bold;
}
.zj-zd-macros > button {
    width: auto!important ;
    float: right!important ;
}
.zj-zd-macros input.input-block-level.form-control {
    width: 100%;
    box-sizing: border-box;
    padding: 5px;
    margin-left: 0px;
}
ul.nav.navbar-nav .fa-gear {
    color: var(--white);
}
.nav a:focus {
    outline: none;
}
.row {
    display: inline-block;
    width: 100%;
    margin-top: 0px!important;
    margin-left: 0px!important;
    margin-right: 0px!important;
    margin-bottom: 0px!important;
}

.initiative-item-wrapper .initiative-item {
    display: flex;
}
.zj-jira-collection {
    background-color: #e0e0e0;
    width: 100%;
    height: 100%;
}
.zj-white {
    color: rgb(224, 224, 224);
}
.navbar-brand .zj-white {
    font-style: italic;
}
.ticket-body {
    background-color: var(--white);
}
.zj-jira-description {
    padding: 20px;
    overflow-y: overlay;
    word-break: break-word;
}
.zj-jira-description-reporter-image {
    display: inline-block;
    float: left;
    border: 1px solid rgba(81, 115, 150, 0.99);
    padding: 5px!important;
    box-sizing: border-box;
    max-width: 55px;
    max-height: 55px;
    margin-right: 10px;
}
.zj-zd-description-header {
    border-bottom: 2px solid #81B53E;
    border-radius: 0px;
}
.zj-jira-description-header {
    border: 2px solid rgba(81, 115, 150, 0.99);
    border-left: none;
    border-right: none;
    border-top: none;
}
.zj-jira-ticket-assignee .zj-jira-ticket-assignee {
    display: inline-block;
    width: auto;
    min-width: 250px;
    float: right;
    margin-left: 10px;
}
.zj-zd-ticket-assignee {
    display: inline-block;
    width: auto;
    min-width: 250px;
    height: 100%;
}
.zj-ta-name.dropdown-toggle .zj-ta-text span:hover {
    color: black;
}
.zj-ticket-assignees {
    text-align: right;
}
.zj-ta-text ul {
    font-style: normal;
}
.dropdown-menu li {
    font-style: normal;
    text-transform: none;
}
ul.dropdown-menu li a {
    padding: 7px 10px;
    border: none;
}
.zj-jira-ticket-assignee {
    display: inline-block;
    float: right;
    margin-left: 10px;
    min-width: 250px;
}
.zj-zd-ticket-assignee .caret {
    color: rgb(129, 181, 62);
    margin-left: 0px;
}
.zj-jira-ticket-assignee .caret {
    color: rgb(52, 152, 219);
    margin-left: 0px;
}
.zj-assignee-image-holder {
    display: inline-block;
    float: right;
    width: auto;
    margin-left: 5px;
}
.zj-assignee-ticket-names {
    display: inline-block;
    width: auto;
    margin-top: 2px;
}
.zj-zj-description-actions .btn-white, .zj-jira-description-actions .btn-white {
    background-color: var(--white);
}
.zj-jira-ticket-assignee-image {
    display: inline-block;
    width: auto;
}
.zj-zd-ticket-assignee-image {
    display: inline-block;
    width: auto;
}
.zj-zd-ticket-assignee-image img {
    border: 1px solid rgb(129, 181, 62);
}
.zj-jira-ticket-assignee-image img {
    border: 1px solid rgb(52, 152, 219);
}
.zj-zd-ticket-assignee-name {
    margin-bottom: 0px;
}
.zj-ticket-assignees ul.dropdown-menu {
    right: 0;
    left: inherit;
}
.zj-assignee-ticket-names .zj-ta-text {
    border-radius: 2px;
    margin-bottom: 4px;
}
.zj-jira-the-ticket-description {
    white-space: pre-line;
}
.zj-zd-comment-author-img:hover {
    border-color: rgb(126, 126, 126);
}
.zj-jira-summary {
    font-weight: bold;
}
.zj-zd-description-summary {
    font-weight: bold;
}
.zj-add-comment label {
    font-size: 10.5pt;
    cursor: pointer;
}
.zj-comment-actions button.btn-success {
    margin-left: 5px;
}
button.submit-zd-comment {
    margin-left: 5px;
}
.bs-searchbox {
    width: 100%;
    box-sizing: border-box;
    padding: 0px!important;
    border: 0px;
    z-index: 99999;
    background-color: var(--xwhite);
}
.bs-searchbox i.right {
    position: absolute;
    right: 5px;
    bottom: 14px;
    font-size: 15pt;
    color: #26a4d1;
    cursor: pointer;
}
.zj-comment-actions .bs-searchbox {
    padding: 10px 15px 5px;
}
.zj-zd-ticket-info-label {
    font-style: italic;
}
.zj-saved-filter-objects {
    border: 1px solid var(--lightgrey);
    width: 49%;
    float: left;
    margin-right: 1%;
    margin-bottom: 1%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    display: inline-block;
    min-width: 400px;
    padding: 20px;
    background-color: var(--white);
    box-shadow: 0px 1px 2px #CAC6C6;
}
.zj-saved-filter-objects:nth-child(even) {
    margin-right: 0px!important;
    width: 50%;
}
.zj-requster-meta a {
    color: orange;
}
.zj-jira-description-reporter-image img {
    width: 100%;
    max-width: 60px;
    border-radius: 5px;
}
.zj-zd-the-ticket-description a {
    color: rgba(127, 180, 59, 1);
}
.btn.btn-primary {
    background-color: var(--primary);
}

.btn.btn-primary i {
    color: var(--awhite);
}
.zj-zd-mini-ticket-description a {
    color: rgb(129, 181, 62);
}
.zj-comments-description .zj-requester-info {
    border-bottom: 2px solid rgb(129, 181, 62);
    padding: 20px!important;
}
.zj-assignee-ticket-names .label-success {
    color: var(--white)!important;
    border-radius: 0px;
    width: auto;
    display: inline-block;
    background-color: rgb(129, 181, 62);
    font-size: 10pt!important;
    font-weight: 100;
}
.zj-jira-ticket-assignee-name .label {
    color: #16a3d1;
}
.zj-add-comment {
    display: inline-block;
    width: 100%;
}
.zj-comment-form {
    padding: 20px;
}
.zj-comments-description .zj-description-requester-image {
    float: right;
}
.zj-zd-ticket-body a {
    color: rgba(81, 115, 150, 0.99);
}
.btn {
    border-radius: 0px!important;
}
.btn-white.btn-stroke {
    border: 1px solid rgb(190, 190, 190);
}
.zj-jira-ticket-comments {
    display: inline-block;
    width: 50%;
    overflow-y: overlay;
    overflow-x: hidden;
}
.zj-jira-comments {
    padding: 20px;
    background-color: var(--white);
    margin-bottom: 10px;
    width: 100%;
    position: relative;
    border-bottom: 1px solid var(--lightgrey);
}
.zj-jira-comment-actions {
    text-align: right;
}
.zj-jira-comment-author-image {
    display: inline-block;
    float: left;
    width: auto;
    margin-right: 10px;
    max-width: 40px;
}
.zj-jira-comment-author {
    font-weight: bold;
}
.zj-jira-comment-time {
    font-style: italic;
}
.zj-jira-comment-wrapper {
    line-height: 1.5;
}
.zj-jira-comments:last-child {
    margin-bottom: 0px;
}
.zj-comments-add .zj-ticket-comments {
    width: 100%;
}
.zj-comments-jira-logo {
    max-width: 55px;
    margin-left: 5px;
}
.zj-comment-actions .zj-comments-zd-logo {
    max-width: 55px;
    margin-left: 5px;
}
.zj-jira-comment-author-image img {
    width: 100%;
}
.zj-comment-label {
    display: inline-block;
    width: 100%;
    color: rgba(81, 115, 150, 0.99);
    font-weight: bold;
    text-align: right;
}
.zj-jira-comment-label {
    font-style: italic;
    font-weight: 100;
    color: rgba(81, 115, 150, 0.99);
    font-size: 8.5pt;
}
.zj-zd-comment-label {
    font-weight: 100;
    font-style: italic;
    color: rgb(129, 181, 62);
    font-size: 8.5pt;
}
.zj-comments-add .zj-zd-ticket-comments {
    float: right;
}
.zj-comments-description {
    display: inline-block;
    width: 100%;
}
.zj-leave-comment .zj-jira-description-reporter-image {
    float: right!important;
    margin-right: 0px;
}
.zj-leave-comment .zj-jira-reporter-info {
    display: inline-block;
    width: 100%;
    padding: 20px;
    border-bottom: 2px solid rgba(81, 115, 150, 0.99);
}
.zj-zj-description-actions .fa-link {
    color: var(--white);
}
.zj-jira-description-actions .fa-link {
    color: var(--white);
}
.zj-jirareply-the-ticket-description {
    padding: 20px;
    white-space: pre-line;
    overflow-y: overlay;
}
.zj-comment-actions {
    float: right;
}
.zj-leave-comment .zj-description-requester-image {
    margin-right: 0px;
}
#zj-register-registration .input-group .input-group-addon i {
    width: 13px;
}
.label-empty {
    background-color: var(--white);
    border: 1px solid rgb(224, 231, 232);
    color: rgb(105, 105, 105)!important;
}
.zj-ta-text button {
    display: inline-block;
    padding: 1px 5px;
    font-size: 9.5pt;
    text-align: left;
    width: auto!important;
    min-height: 24px;
    padding-right: 5px!important;
}
.zj-ta-text > div {
    width: auto!important;
}
.zj-assignee-label {
    float: left;
    padding: 4.25px;
}
.zj-ta-text .caret {
    position: relative!important;
    right: 0px!important;
}
.label.label-green {
    background-color: #5cb85c;
}
.label.label-yellow {
    background-color: #f0ad4e;
}
.label.label-blue {
    background-color: rgba(81, 115, 150, 0.99);
}
.btn-group.jirasavedfilters {
    width: 100%!important;
}
.jirasavedfilters button {
    text-align: left;
}
.zj-favorite-jira-filters {
    overflow-y: overlay;
    width: 100%;
    padding: 20px;
    background-color: #e0e0e0;
    z-index: 9;
    height: calc(100dvh - 125px)!important;
}
canvas#plinechart {
    padding: 0px 20px;
    max-height: 78dvh!important;
}
.zj-sf-name {
    display: inline-block;
    width: 66%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    font-weight: bold;
    cursor: pointer;
}
.zj-sf-header {
    width: 100%;
    margin-bottom: 20px;
    display: inline-block;
}
.zj-fav-filter-total {
    background-color: #507294;
    color: var(--white);
    padding: 2px 6px;
    margin-left: 5px;
    font-size: 11pt;
    margin-top: 0px;
    display: inline-block;
}
.zj-table-header .col-md-4 {
    padding: 0px;
}
.zj-table-action-items {
    text-align: right;
}
.zj-table-search {
    display: inline-block!important;
    width: 75%!important;
}
.zj-table-action-items a {
    display: inline-block;
}
.zj-view-tc-title {
    font-weight: bold;
    display: inline-block;
    float: left;
}
.zj-view-tc-description {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.zj-table-header .col-md-8 {
    padding: 0px;
}
.zj-sf-footer {
    padding-top: 5px;
    display: inline-block;
    width: 100%;
    margin-top: 10px;
}
.zj-jira-the-comment-body {
    word-wrap: break-word;
    white-space: pre-wrap;
    line-height: 1.5;
}
.zj-total-time {
    display: inline-block;
    margin-left: 4px;
    padding: 2px 6px;
    background-color: rgb(110, 120, 130);
    color: var(--white);
    font-size: 11pt;
}
.zj-view-ticket-stats {
    display: inline-block;
    width: 100%;
}
li.zj-jira-pl-project-item {
    list-style: none;
    margin: 0px;
    margin-bottom: -1px;
    padding: 10px;
    border-top: 1px solid var(--lightgrey);
}
.zj-jira-project-list ul {
    padding: 0px;
    overflow-y: overlay;
}
.zj-saved-filter-object canvas {
    min-width: 500px;
    cursor: pointer;
}
.zj-jira-widget {
    border: 1px solid var(--lightgrey);
    padding: 20px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}
.zj-sf-actions {
    display: inline-block;
    float: right;
    width: 33%;
    text-align: right;
}
li.dropdown.user.open ul, li.dropdown.notifications.open ul {
    left: auto;
    right: 0;
    display: block;
}
.zj-widget-settings {
    padding: 0px 20px 20px;
    width: 100%;
}
.zj-widget-settings textarea {
    width: 100%;
    padding: 10px;
    min-height: 150px;
    max-width: 100%;
}
.zj-widget-settings-helper-text {
    margin-bottom: 5px;
    font-style: italic;
}
.zj-sf-action a:hover {
    text-decoration: none;
}
.zj-sf-action {
    display: inline-block;
}
.zj-sf-add-to-page {
    max-width: 50px;
}
.zj-sf-add-to-page > .dropdown-menu {
    width: 300px;
    right: 0!important;
    left: -207px;
    z-index: 9999999!important;
}
.zj-jira-pi-actions {
    text-align: right;
}
.zj-jira-pli-name {
    font-size: 11.5pt;
    font-weight: 600;
    margin-top: 6px;
    display: inline-block;
    color: #507294;
}
.zj-jira-pli-key {
    display: inline-block;
    margin-right: 5px;
    color: #507294;
    font-size: 10pt;
}
.navbar-default .navbar-nav .open .dropdown-menu>li>a, .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus {
    border-top: none!important;
}
.zj-jira-pli-category {
    font-size: 10pt;
    font-style: italic;
}
.zj-full-width {
    width: 100%;
}
.zj-stat-number {
    font-size: 15pt;
    color: var(--white);
    font-weight: bold;
    text-shadow: 0px 0px 1px rgb(91, 119, 147);
    display: inline-block;
}
.zj-jira-pl-stat-name {
    font-size: 8pt;
    margin-top: -2px;
    font-style: italic;
}
.zj-jira-pl-stat {
    display: inline-block;
    padding: 5px 7px;
    background-color: #9AC3ED;
    border: 1px solid rgb(141, 179, 218);
}
li.zj-jira-pl-project-item:hover {
    background-color: rgb(249, 249, 249);
}
.zj-jira-project-list {
    padding: 0px 20px;
    overflow-y: overlay;
}
.btn-group.jirasavedprojects, .btn-group.jirasavedprojects .btn {
    width: 100%!important;
    text-align: left!important;
}
.zj-jira-pl-project-item td:last-child {
    text-align: right;
}
.zj-projects .zj-table-header {
    padding: 20px;
    margin-bottom: 0px;
}
.zj-view-tc-title {
    font-weight: bold;
}
.zj-search-clear {
    display: inline-block;
}
.zj-jira-pl-project-item td:nth-child(3):hover {
    text-decoration: underline;
}
.zj-jira-pl-stats .progress-bar {
    display: inline-block;
    width: 100%;
    min-width: 200px;
    height: 20px;
}
.zj-sf-footer > div {
    display: inline-block;
    margin-right: 5px;
}
.zj-sf-charttype {
    float: right;
}
.zj-loading-chart {
    text-align: center;
    max-width: 300px;
    margin: 3% auto;
}
.zj-loading-chart img {
    width: 66.66%;
    margin-top: 40px;
}
.zj-sf-chartdetail {
    float: right;
}
.zj-sf-chartdetail select {
    max-width: 300px;
}
.zj-this-ticket > div {
    display: inline-block;
    margin-right: 20px;
}
.zj-saved-filter-objects.fullscreen {
    position: absolute;
    width: 100%!important;
    height: 100%;
    top: 20px;
    left: 0;
    background-color: var(--white);
    z-index: 999999999;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    border: 0px;
}
.zj-sf-filter-navigation .btn {
    border-color: var(--lightgrey);
    background-color: rgb(110, 120, 130);
    color: var(--white);
}
.zj-pie-chart-legend {
    display: inline-block;
}
.zj-pie-chart {
    display: inline-block;
    width: 100%;
    box-sizing: border-box;
}
.zj-pie-chart-legend li {
    list-style: none;
    padding: 5px;
    width: auto;
}
.zj-pie-chart-canvas {
    margin: 0px auto;
    display: block;
    max-height: 420px;
}
.zj-jira-widget .zj-pie-chart-title {
    font-weight: bold;
    position: absolute;
    bottom: 46%;
    left: 46%;
}
.zj-pie-chart-title > span {
    background-color: var(--white);
    padding: 60px 15px;
    color: rgb(116, 116, 116);
    border-radius: 150px;
    box-shadow: inset 0px 2px 10px grey;
    font-weight: 300;
    font-size: 10.5pt;
}
.zj-canvas-container {
    margin: 0px auto;
    -moz-box-sizing: border-box;
    position: relative;
}
.zj-pie-chart-title {
    text-align: center;
}
a.zj-add-new-item {
    border-bottom: 1px dashed grey!important;
    margin-left: 10px;
    margin-right: 10px;
    box-sizing: border-box;
    padding-left: 0px!important;
    padding-right: 0px!important;
    padding-bottom: 10px!important;
    margin-bottom: 10px;
    padding-top: 10px!important;
}
.zj-fixed-dropselect-item .material-icons {
    width: auto;
    float: left;
    margin-right: 4px;
}
.btn-group.open .dropdown-toggle, .btn-group.open .dropdown-toggle:focus {
    border-bottom: 0px;
    margin-bottom: -3px!important;
    z-index: 9999999999999;
    box-shadow: none!important;
    outline: 0px!important;
}
.fullscreen .zj-sf-body canvas {
    max-width: 158dvh!important;
    display: block;
    margin: 0px auto;
    max-height: 75dvh;
}
.fullscreen .zj-sf-body {
    display: inline-block;
    width: 100%;
    position: relative;
}
.fullscreen .zj-sf-body iframe {
    width: 100%!important;
}
.zj-js-legend-container {
    position: absolute;
    top: 7px;
    padding: 15px 15px 15px;
    background-color: var(--white);
    box-shadow: 0px 1px 5px #989898;
    right: 0;
}
#js-legend {
    padding-left: 0px;
    max-height: 80dvh;
    overflow-y: scroll;
    overflow-x: hidden;
}
#js-legend ul li span {
    padding: 3px;
    display: inline-block;
    width: 100%;
    font-size: 10.5pt;
}
#js-legend li {
    opacity: 1!important;
    background-color: rgba(inherit, inherit, inherit, 1)!important;
}
#js-legend th, #js-legend td {
    padding: 10px;
    text-transform: capitalize;
}
#js-legend table {
    width: 100%;
}
#js-legend tbody {
    width: 100%;
}
.zj-actions-bar-title {
    display: inline-block;
    width: 100%;
}
.zj-actions-bar-buttons {
    position: relative;
    margin-bottom: 20px;
    margin-top: -20px;
    display: inline-block;
    width: 100%;
}
.core-list-item {
    display: inline-block;
    width: 100%;
    margin-bottom: 0px!important;
    box-sizing: border-box;
    vertical-align: top;
    overflow: hidden;
    height: 50px;
    line-height: 50px;
    margin-top: 0px!important;
    position: relative;
    background-color: var(--white);
    border-radius: 0px;
    padding-left: 40px;
    padding-right: 40px;
}
.cli-editor .core-list-item {
    padding: 0px;
}
.cli-editor .core-list-item.ui-sortable-placeholder {
    visibility: visible!important;
    border: 3px dashed var(--primary)!important;
}
.cli-editor .ui-sortable .core-list-item input[type="number"] {
    padding-left: 0px!important;
    border: none;
    text-align: center;
}
.cli-editor .ui-sortable .core-list-item input[type="number"]:focus {
    border-bottom-color: var(--primary)!important;
    box-shadow: none!important;
}
.cli-editor .ui-sortable .core-list-item .priority {
    padding-left: 0px!important;
    padding-right: 20px!important;
    max-width: 70px;
    cursor: text;
}
.cli-editor .ui-sortable .core-list-item .priority:hover {
    color: var(--primary);
}
.cli-editor .ui-sortable .core-list-item .priority > span {
    width: 100%;
    display: inline-block;
    text-align: center;
}
.resource-view .core-list-item, .resource-view .core-list-item .col {
    height: 100%;
    max-height: 100%!important;
}
.core-list-item.header-row {
    height: 50px;
}
.core-list-item.header-row {
    border-radius: 10px 10px 0px 0px;
}
.core-list-item .col {
    height: 50px;
    line-height: 50px;
}
.core-list-item .s1 {
    text-align: right;
}
.templates .core-list-item.row {
    padding: 0px;
}
.core-list-item:nth-child(3n) {
    margin-right: 0px!important;
}
.core-list-item:hover {
    background-color: var(--extra-light);
    cursor: pointer;
}
.ui-sortable li:hover {
    cursor: grab!important;
}
.ui-sortable li.ui-sortable-helper:hover {
    cursor: grabbing!important;
}
.zj-specification .zj-sl-name {
    font-size: 20px;
    font-weight: bold;
    font-style: normal;
    display: inline-block;
}
.core-list-item .zj-sl-name,
.listing-item .zj-sl-name {
    font-size: 12pt;
    font-weight: 600;
    font-style: normal;
    display: inline-block;
    margin-right: 10px;
    width: 100%;
}
.zj-sl-section-header {
    margin-top: 10px;
    font-weight: bold;
}
.zj-sl-updated span {
    margin-left: 2px;
}
.core-list-items .all-project-items {
    overflow-y: auto;
    overflow-y: overlay;
    height: calc(100vh - 63px);
    padding-right: 40px;
    padding-bottom: 40px;
    padding-top: 40px;
    padding-left: 40px;
    z-index: 1;
    position: relative;
    width: 100%;
    vertical-align: top;
    position: absolute;
    top: 0px!important;
    transition: none;
}
.core-list-items .all-project-items {padding: 0px;}

.full-screen .core-list-items .all-project-items {
    /* top: 64px!important; */
}
.full-screen .core-list-items {
    width: 100%!important;
    max-width: 100%!important;
    float: none;
}
.all-project-items.oe.full-screen {
    background-color: var(--background-color)!important;
    height: calc(100dvh - 64px)!important;
    max-height: 100dvh!important;
    overflow: hidden;
    margin-top: 64px;
    z-index: 999!important;
    padding: 40px!important;
}
.all-project-items.oe.full-screen > .all-specs {
    padding: 25px 40px 40px;
    background-color: var(--white);
    width: 100%;
    height: calc(100dvh - 144px);
    margin: 0px!important;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0px 1px 2px var(--shadow);
}
.zj-empty-message {
    text-align: center;
}
.all-specs .zj-empty-message {
    padding: 0px 10px 0px 20px!important;
    max-width: 475px;
    display: inline-block;
    line-height: 30px!important;
    vertical-align: middle;
    height: 30px;
    background-color: var(--white)!important;
}
html body .ui-grid .zj-empty-message {
    position: absolute;
    top: calc(50vh - 190px);
    margin-top: 0px;
    margin-bottom: 0px;
    right: calc(50% - 215px);
    display: flex;
    flex-direction: column;
}
.zj-empty-message-text {
    margin-bottom: 10px;
}
.right {
    float: right;
}
.zj-sl-section-body ul ul {
    padding-left: 20px!important;
}
.zj-sl-contributors span {
    width: 100%;
}
.zj-sl-contributors span:after {
    content: ', ';
}
.zj-sl-contributors span:last-child:after {
    content: '';
}
.zj-hide {
    display: none;
}
.zj-show {
    display: inline-block;
}
.zj-toggle {
    color: #428bca;
    margin-top: 5px;
    cursor: pointer;
}
.zj-sl-versions span:after {
    content: ', ';
}
.zj-sl-versions span:last-child:after {
    content: '';
}
.zj-selected {
    font-weight: bold;
}
.zj-specification-header {
    background-color: var(--white);
    border-bottom: 1px solid #e0e0e0;
    display: inline-block;
    width: 100%;
    vertical-align: top;
    line-height: 1.5;
    height: 45px;
}
.zj-specification .zj-specification-outline {
    width: 100%;
}
body .zj-search-bar {
    padding: 0px 30px 20px;
    position: relative;
    display: block;
    width: 100%;
    z-index: 9999;
}
body .dynamic-overview-view .zj-search-bar {
    padding: 0px 0px 20px;
}
body .sps-sidebar .zj-search-bar {
    padding-left: 0px;
    padding-right: 0px;
    margin-left: 30px!important;
    margin-right: 30px!important;
    box-sizing: border-box;
    width: calc(100% - 60px);
}
body .files-page .zj-specification-sidebar .zj-search-bar {
    padding: 0px;
}
.sidebar-closed.zj-specification-sidebar {
    left: -20%!important;
}
.zj-search-bar input {
    display: inline-block;
    width: 100%!important;
    border: none;
    padding: 0px 10px!important;
    height: 42px!important;
    border: none!important;
    outline: none!important;
    margin-bottom: 0px!important;
    box-sizing: border-box!important;
}
.zj-search-bar input::placeholder {
    color: var(--dark);
    font-size: 10pt;
}
.zj-epics-and-stories {
    padding: 3px 30px 0px;
    height: calc(100dvh - 267px);
    font-size: 11pt;
    overflow-x: hidden;
    width: 100%;
    vertical-align: top;
}
.dynamic-overview-view .zj-epics-and-stories {
    padding: 0px;
    height: auto!important;
}
.distraction-free .zj-epics-and-stories {
    height: calc(100dvh - 187px);
}
.view2.distraction-free .zj-epics-and-stories {
    height: calc(100dvh - 190px);
}
.zj-epics-and-stories.open {height: calc(100dvh - 483px);}
.zj-epics-and-stories .zj-sl-section-body > ul {
    margin-top: 0px;
}
.zj-epics-and-stories .zj-sl-section-header {
    margin-top: 0px;
}
.zj-sf-filter .dropdown-menu {
    padding: 0px;
    border: 1;
    border: none;
}
.zj-sf-filter .bs-searchbox {
    padding: 0px!important;
    margin: 0px!important;
}
.zj-sf-filter .bs-searchbox input {
    height: 40px;
    background-color: #fafafa;
    border: none;
    border-bottom: 1px solid #e0e0e0;
}
.zj-sidebar-filters {
    width: calc(100% - 45px);
    position: absolute;
    bottom: 0px;
    border-right: none!important;
    background-color: var(--white);
}
.zj-sidebar-filters .btn-group button {
    height: 45px;
    border: none;
    text-align: center;
    padding-left: 10px;
    text-overflow: ellipsis;
    overflow: hidden;
    font-size: 9pt!important;
    background-color: var(--white)!important;
    box-shadow: none;
    text-transform: none;
}
.zj-sf-filter {
    width: 100%!important;
    display: inline-block;
    float: left;
    box-sizing: border-box;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
    padding-left: 20px;
    cursor: pointer!important;
}
.zj-sf-filter label {
    cursor: pointer;
    color: var(--black);
    font-size: 10pt;
}
.zj-sf-filter a {
    color: var(--black)!important;
}
.zj-sf-filter:hover {
    background-color: var(--extra-light);
}
.zj-sidebar-filters > div:last-child {
    border-right: none;
}
.zj-sf-filter .btn-group {
    width: 100%!important;
}
.zj-specification-header > div > div {
    display: inline-block;
    font-size: 12px;
}
.zj-specification-header .zj-spec-action-buttons {
    font-style: normal;
    margin-right: 0px;
}
.zj-body-content.zj-specification {
    padding: 0px;
    width: 100%;
    vertical-align: top;
}
.zj-specification-details {
    width: 100%;
    }
.open-editor .zj-section.zj-specification-details {
    height: calc(100dvh - 58px)!important;
}
.distraction-free.open-editor .zj-section.zj-specification-details {
    height: calc(100dvh - 50px)!important;
    display: block;
}
.dark-mode .zj-specification-details, .dark-mode .spec-description-action-bar.row, .dark-mode .zj-specification-sidebar, .dark-mode .zj-specification-details-actions, .dark-mode .zj-section.zj-specification-assets, .dark-mode .zj-specification-details-actions .btn {
    background-color: #202124;
    color: var(--white);
}
.dark-mode .spec-description-action-bar.row .btn {
    color: var(--white)!important;
}
.spec-only .zj-specification-details {
    width: 100%;
}
.zj-specification-details:hover {
    overflow-y: overlay!important;
}
.zj-specification-assets {
    width: 100%;
    box-sizing: border-box;
    background-color: var(--background-color);
    height: calc(100dvh - 115px);
    z-index: 0;
}
.distraction-free .zj-specification-assets {
    height: calc(100dvh - 50px);
}
.spec-only .zj-specification-assets {
    width: 0px;
    opacity: 0;
}
.zj-specification-assets .zj-image-attachment:hover .zj-attachment-button.delete {
    opacity: 1;
    color: var(--warning)!important;
    text-align: center!important;
}
.zj-image-attachment .zj-attachment-button i {
    color: var(--primary)!important;
}
.zj-specification-assets img {
    width: auto;
    max-width: 100%;
    /* box-shadow: 0px 1px 3px var(--shadow); */
    display: inline-block;
    border-radius: 4px;
    height: auto;
    }

.fb-spec-images img {
    box-shadow: var(--box-shadow);
}

.zj-specification-assets .todo-description img {
    box-shadow: none;
    border: 1px solid var(--light-border);
    margin-top: 10px;
}

.zj-specification-assets .todo-summary-text img {
    box-shadow: none;
    border: 1px solid var(--light-border);
    margin-top: 10px;
}

.ai-action img {
    background-color: transparent!important;
    box-shadow: none;
}
.zj-specification-assets .link-favicon img {
    box-shadow: none;
}
.zj-specification-details-title {
    font-size: 18px;
    font-weight: bold;
    display: inline-block;
    width: 100%;
    vertical-align: top;
    min-height: 44px;
}
.zj-specification-details-title
 .spec-item-title {
    margin-right: 10px;
    width: 100%;
    padding-top: 10px;
    padding-left: 20px;
    padding-right: 20px;
}
.zj-spec-action-buttons .btn {
    border: 1px solid #e0e0e0;
    color: var(--white);
    background-color: #f0ad4e;
    border-color: #f0ad4e;
}
.zj-spec-action-buttons .btn:hover {
    background-color: #f3bc6d;
    border-color: #f0ad4e;
}
.zj-specification-body.sidebar-closed {
    width: 100%;
}
.zj-specification-body .product-posts-container {
    position: relative;
}
.the-body-section.sidebar-closed {
    width: 100%;
}
.zj-specification-item-container .zj-empty-message-text {
    margin-top: 50px;
    background-color: #ffffff;
    padding: 20px;
    border-radius: 2px;
    color: #555;
    max-width: 50%;
    margin: 20px auto;
    border: 1px solid #e0e0e0;
    box-shadow: 0px 1px 2px #a7a7a7;
}
.zj-spec-title {
    font-size: 24px;
    margin-top: 7px;
    color: var(--primary);
    display: inline-block;
}
.zj-spec-summary.ql-editor {
    text-align: left;
    padding: 0px;
}
.zj-spec-summary.ql-editor ul {
    margin-top: 1em;
    margin-bottom: 1em;
    padding-left: 40px;
}
.zj-spec-summary p {margin-bottom: 0px;}
.zj-section.zj-specification-assets ul {
    list-style: none;
    width: 100%;
    margin-top: 0px;
    min-width: 100%;
}
.zj-section .zj-comment ul li {
    list-style: disc;
}
.zj-section .zj-comment ol li {
    list-style: lower-alpha;
}
.zj-section.zj-specification-assets li {
    position: relative;
    /* border-radius: var(--border-radius-tiny); */
}

.zj-section.zj-specification-assets li:first-child {
    border-radius: var(--border-radius-tiny) var(--border-radius-tiny) 0 0!important;
}

.zj-section.zj-specification-assets li:last-child {
    border-radius: 0 0 var(--border-radius-tiny) var(--border-radius-tiny)!important;
}
.zj-section.zj-specification-assets .open-in-new-container li {
    font-size: inherit;
}
.image-annotations .todo-comments li {border-radius: 0px!important;}
body .dropdown-content li:hover, body .dropdown-content li.active, body .dropdown-content li.selected {
    background-color: var(--extra-light);
}
.zj-section.zj-specification-assets li:last-child {
    margin-bottom: 0px;
    border-bottom: none!important;
}
.todo-comments li:last-child .comment {border-bottom: none!important;margin-bottom: 0px;}
.attachment-details {
    font-style: italic;
    color: #777;
    font-size: 12px;
    display: none;
}
.sidebar-closed .zj-specification-details-actions .sidebar-btn {
    background-color: #507294!important;
    color: var(--white);
}
.zj-specification-details-info > div {
    display: inline-block;
    float: left;
}
.zj-specification-item-details ul
.spec-images .zj-specification-item-details ul {
    margin-bottom: 41px;
}
.zj-specification-details-actions {
    position: relative;
    width: 100%;
    background-color: var(--white);
    display: flex;
    border-top: 1px solid var(--light-border);
}
.full-screen-no-sidebar .zj-specification-details-actions {border-left: 1px solid var(--border);width: 100%;bottom: 0px;right: 0px;left: 0px;position: absolute;background-color: var(--white)!important;z-index: 9999999999999999999999;}
.full-screen-no-sidebar .zj-specification-details-actions .anno-hide {display: none;}
.zj-specification-details-actions .btn {
    background-color: transparent;
    color: var(--black);
    min-width: 46px;
    box-shadow: none;
    padding: 0px 25px!important;
    height: 50px;
    margin-right: 0px!important;
    vertical-align: top;
    line-height: 45px;
    transition: color 0s ease;
    text-transform: inherit;
    position: relative;
    text-align: center;
}
.zj-specification-details-actions .right.context-buttons .btn, 
.zj-specification-details-actions .right.context-buttons .btn:hover {
    border-bottom: none!important;
}
.zj-specification-details-actions .btn.selected i {
    color: var(--primary);
}
.zj-specification-details-actions .btn i {
    font-size: 15pt!important;
    line-height: 50px;
}
.zj-specification-details-actions .btn i:first-child {
    margin-right: 0px;
    width: 50px;
    text-align: center;
    font-size: 12pt!important;
}
.zj-specification-details-actions .btn span {
    line-height: 50px!important;
    height: 50px!important;
    color: var(--black)!important;
    margin: 0px!important;
    font-size: 13px;
}
.zj-specification-details-actions span.number-of {
    height: 18px!important;
    width: 18px!important;
    line-height: 18px!important;
    text-align: center!important;
    color: var(--awhite)!important;
    background-color: var(--primary);
    border-radius: 5px;
    font-size: 8.5pt;
    margin-top: 16px;
    margin-left: 6px;
    margin-right: 5px;
    display: inline-block;
}
.zj-specification-details-actions .spec-item-view-selector span.number-of {
    line-height: 18px!important;
}
.zj-specification-details-actions span.number-of {
    top: 0px;
    right: 10px;
    line-height: 19px!important;
    padding: 0px!important;
}
.number-of.number-of-comments.selected {
    background-color: transparent!important;
}
.comments-btn:hover .number-of.number-of-comments {
    background-color: var(--white);
    color: var(--primary)!important;
}
.btn.btn-todos .number-of {
    line-height: 15px!important;
}
.zj-specification-details-actions .dropdown-content .btn:hover span.number-of {
    color: var(--awhite);
}
.zj-specification-details-info {
    font-size: 12px;
}
.zj-specification-details-actions .btn:hover, .zj-specification-details-actions .btn.active, .zj-specification-details-actions .btn.activated {
    background-color: var(--white)!important;
    box-shadow: none!important;
    color: var(--primary)!important;
    margin-top: 0px;
    position: relative;
}

.zj-specification-details-actions .btn:hover i {
    fill: var(--primary)!important;
}
.zj-specification-details-actions .btn:hover i, .zj-specification-details-actions .btn:hover span {
    color: var(--primary);
}
.zj-specification-details-actions .btn:hover .number-of {color: var(--awhite);}
.zj-specification-details-actions .btn:hover i, .zj-specification-details-actions .btn.active i, .zj-specification-details-actions .btn.activated i {
    color: var(--primary);
}
.zj-specification-details-issuelinks ul {
    padding-left: 0px;
    padding-top: 10px;
    font-size: 12px;
    list-style: none;
}
li.zj-issuelinks {
    font-weight: bold;
}
.sidebar-closed.images-only .zj-specification-assets, .images-only .zj-specification-assets {
    width: 100%;
}
.images-only .zj-specification-assets ul li:nth-child(2n) {
    margin-right: 0px;
}
.images-only .spec-item {
    left: -50%!important;
    transition: left 0.9s ease;
}
.full-screen-no-sidebar .spec-item {opacity: 0;visibility: hidden;}
.zj-specification-details-issuelinks ul {
    margin-bottom: 0px;
    padding-bottom: 0px;
}
.zj-sl-section-epic > a {
    font-weight: bold;
}
.zj-sl-section-epic {
    vertical-align: top;
    position: relative;
    display: block;
}
.zj-sl-section-epic:nth-child(2) {
    margin-top: 0px!important;
}
.zj-sf-filter .bs-searchbox {
    min-width: 123px!important;
    width: 100%;
}
.zj-spec-cover-image {
    overflow: hidden;
    display: inline-block;
    width: 100%;
    height: 460px;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0px auto 20px;
    text-align: center;
    background-position-x: center;
    background-position-y: center;
}
.zj-spec-cover-image img {
    width: 100%;
    height: 100%;
}
.zj-specification-details-text {
    word-break: break-word;
    padding: 28px 35px 30px!important;
    font-size: 11pt;
    white-space: unset!important;
    height: auto!important;
    height: calc(100dvh - 114px)!important;
    overflow-y: overlay;
    overflow-x: auto;
    position: relative;
}
.distraction-free .zj-specification-details-text {
    height: calc(100dvh - 50px)!important;
}

.view2 .distraction-free .zj-specification-details-text, .view1 .distraction-free .zj-specification-details-text {
    background-color: var(--background-color);
}
.meta-panel .zj-specification-details-text {
    height: calc(100dvh - 215px)!important;
    padding-top: 0px!important;
}
html body .distraction-free .zj-specification-details-text.card {
    height: calc(100dvh - 131px)!important;
}
html body .distraction-free .spec-item-embeddings-item .zj-specification-details-text.card {
    height: calc(100dvh - 50px)!important;
    margin: 0px;
    width: 100%!important;
    max-width: 100%;
}
.open-in-new-container .zj-specification-details-text.oe {
    padding: 40px!important;
    height: calc(100dvh - 203px)!important;
    position: relative;
}
.distraction-free .open-in-new-container .zj-specification-details-text.oe {
    height: calc(100dvh - 139px)!important;
}
.view2 .distraction-free .zj-specification-details-text .spec-item-title, 
.view2 .distraction-free .zj-specification-details-text .spec-item-meta, 
.view2 .distraction-free .zj-specification-details-text .project-item-description {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
}

.view2 .distraction-free .zj-specification-details-text .project-item-description, .view1 .distraction-free .zj-specification-details-text .project-item-description {
    padding: 40px!important;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    margin-top: 7px;
    margin-bottom: 10px;
    box-shadow: var(--box-shadow);
}
.distraction-free.dfFullWidth .zj-specification-details-text > div {
    max-width: 900px;
}
.commentsActive .zj-specification-details-text, .commentsActive .zj-specification-description-edit {
    display: none;
}
.zj-specification-sidebar {
    max-width: 740px;
    width: 18%;
    opacity: 1;
    z-index: 2;
    background-color: var(--white);
    transition: all 1s ease-in-out!important;
    height: calc(100dvh - 64px);
    vertical-align: top;
    top: 64px;
    border-right: 1px solid var(--extra-light);
}
.zj-specification-sidebar.selected {
    box-shadow: 0px 2px 3px var(--shadow);
}
.zj-specification-sidebar.selected.expanded {
    width: 100%;
    max-width: 100%;
}
.zj-specification-title-bar {
    display: inline-block;
    width: 80%;
    padding: 10px 20px;
    border-bottom: 1px solid #e0e0e0;
}
.zj-sl-updated {
    display: inline-block;
    padding-left: 20px;
}
.spec-item .spec-description ul, .spec-item .spec-description-edit ul, .the-timeline-content ul {
    padding-left: 40px!important;
}
.ql-editor ul {
    padding-left: 40px!important;
    margin-top: 0.5em!important;
    margin-bottom: 1.25em!important;
}
nav .ql-editor ul {
    display: inline-block;
    width: 100%;
    margin-bottom: .5em!important;
}
.spec-item ul ul {
    padding-left: 0px;
    margin-top: 0px!important;
    margin-bottom: 0px!important;
}
.spec-item .spec-description .ql-editor ul ul, .the-timeline-content ul ul, .spec-item .spec-description .ql-editor ol ul, .the-timeline-content ol ul {
    margin-top: 0px!important;
    margin-bottom: 0px!important;
}
html body .ql-editor ul ul {
    margin-top: 0px!important;
    margin-bottom: 0px!important;
}
.spec-item .spec-description ul {
    padding-left: 40px;
}
.zj-specification-details-title i {
    color: #777;
    font-size: 15pt;
    vertical-align: sub;
    padding: 5px 0px;
}
.zj-specification-details-title i:hover {
    cursor: pointer;
}
.full-screen .zj-specification-item-details {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999;
    border-bottom: 1px solid #e0e0e0;
    height: 45px;
}
.full-screen .zj-specification-body {
    position: fixed;
    top: 45px;
    right: 0px;
    z-index: 9999;
    height: calc(100dvh - 45px);
    z-index: 0;
}
.full-screen .zj-specification-details {
    height: calc(100dvh - 45px);
}
.full-screen .zj-specification-assets {
    height: calc(100dvh - 45px);
}
.full-screen .zj-specification-title-bar {
    display: none;
}
.full-screen .zj-specification-sidebar {
    position: fixed;
    right: 0px;
    top: 45px;
    z-index: 9999;
}
.full-screen .zj-specification-outline {
    height: calc(100dvh - 45px);
}
.full-screen .zj-epics-and-stories {
    height: calc(100dvh - 136px);
}
.full-screen .full-screen-btn {
    background-color: #777;
    color: var(--white);
}
.core-list-item .zj-sl-updated {
    padding-left: 0px!important;
    color: #507294;
    font-size: 10pt;
}
.zj-sl-image {
    width: 50px;
    height: 27px;
    margin-top: 13px;
    margin-right: 20px;
    line-height: 55px;
    display: inline-block;
    float: left;
    background-color: #cccccc;
    background-position: top center;
    display: none;
}
.zj-sl-image > div {
    width: 100%;
    height: 100%;
}
.zj-sl-info {
    padding: 0px 20px 0px 20px;
    overflow: hidden;
    color: var(--black);
    vertical-align: top;
    height: 50px;
}
.zj-sl-info > .m6 {
    position: relative;
}
.zj-sl-image img {
    width: 100%;
}
.zj-sl-description {
    max-height: 190px;
    text-overflow: ellipsis;
    overflow: hidden;
    margin-top: 4px;
    max-height: 60px;
    display: none;
}
.zj-spec-search.input-search input {
    margin-bottom: 0px!important;
    height: 50px!important;
    line-height: 50px!important;
    box-sizing: border-box!important;
    background-color: var(--extra-light)!important;
    padding-left: 20px!important;
    border-bottom: none!important;
    box-shadow: 0px 1px 2px var(--light)!important;
    max-width: 440px;
    border-radius: 5px!important;
}
body input[type=text] {
    border-bottom-color: transparent!important;
    box-shadow: none!important;
}
.zj-spec-search.input-search input::placeholder {
    color: var(--black);
}
html {
    height: 100%;
    -moz-osx-font-smoothing: grayscale;
}
.zj-specification-item-container {
    width: 100%;
    position: relative;
}
.zj-actions-bar-title h2 {
    margin-bottom: 0px;
    line-height: 45px;
    font-weight: 500;
    font-size: 22pt;
}
.zj-spec-search.input-search {
    width: 100%;
    display: inline-block;
    position: relative;
}
.timelog-page .zj-spec-search.input-search {
    overflow: hidden;
}
.zj-actions-bar-buttons .btn {
    height: 50px;
    line-height: 50px;
    margin-top: 0px;
    padding: 0px!important;
    text-transform: uppercase;
    width: 50px;
    float: right;
    vertical-align: top;
    box-shadow: none;
    overflow: hidden;
    right: 4px;
    top: 0px;
}
.create-spec {
    height: calc(100dvh - 64px);
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
    overflow-y: overlay;
    width: 100%;
    background-color: var(--white);
    position: relative;
}
.create-spec ng-quill-editor {
    text-align: left;
}
.create-spec .card {
    padding: 40px 50px;
    margin-bottom: 40px;
    max-width: 800px;
}
.zj-spec-create-text {
    font-size: 20pt;
    font-weight: 100;
    margin-bottom: 40px;
}
.zj-spec-create-title {
    font-size: 16pt;
    font-weight: 100;
    font-weight: 300!important;
    margin-top: -50px;
    margin-bottom: 30px;
    text-align: left;
}
.zj-spec-create-form .dropdown {
    width: 100%!important;
    max-width: 760px;
}
.zj-spec-create-form .dropdown button {
    text-align: left;
    height: 45px;
    background-color: #f0efef;
    color: #777;
}
.material-inputs button.zj-submit-button {
    height: 45px;
    padding: 0px 30px;
    text-transform: uppercase;
    background-color: #507294;
    color: var(--white);
    border-radius: 2px;
    margin-bottom: 10px;
}
.zj-spec-create-form .dropdown input {
    height: 45px;
    font-size: 12pt;
    border: none;
    border-bottom: 1px solid #e0e0e0;
}
.dropdown-menu {
    padding: 0px!important;
    border: none!important;
}
.material-inputs textarea {
    width: 100%;
    min-height: 150px;
    border: 1px solid #e0e0e0;
    background-color: #fafafa;
    padding: 10px;
    margin-bottom: 10px;
    display: block;
}
.material-inputs > div {
    width: 100%;
    max-width: 1080px;
    margin: 0px auto;
}
.zj-create-spec-specname {
    font-size: 18pt;
    font-weight: 400;
    margin-bottom: 10px;
}
.material-inputs .btn-group button {
    text-align: left;
    height: 45px;
    background-color: #fafafa;
    border: 1px solid #e0e0e0;
}
.material-inputs .btn-group {
    width: 100%!important;
    margin-bottom: 10px;
    height: 45px;
}
.material-inputs .zj-input-field.two input, .material-inputs .zj-input-field.two .btn-group.dropdown {
    display: inline-block;
    width: calc(50% - 10px)!important;
    box-sizing: border-box;
    float: left;
    margin-right: 10px;
    line-height: 35px;
    margin-bottom: 10px;
}
.material-inputs .zj-input-field.two input:last-child, .material-inputs .zj-input-field.two .btn-group.dropdown:last-child {
    width: 50%!important;
    margin-right: 0px;
}
.zj-spec-create-form .zj-submit-button {
    margin-top: 10px;
}
.material-inputs .zj-input-field.two.spec-dates input {
    padding: 5px;
    background-color: #fafafa;
    border: 1px solid #e0e0e0;
    line-height: 35px;
}
.zj-sortable {
    border: 1px solid #e0e0e0;
    padding-left: 0px;
}
.as-sortable-drag {
    margin-top: -50px;
}
.zj-sortable li {
    width: 100%;
    text-align: left;
    height: 45px;
    line-height: 45px;
    padding: 0px 20px;
    border-bottom: 1px solid #e0e0e0;
    background-color: var(--white);
    color: #333;
}
.zj-sortable li:last-child {
    border-bottom: none;
}
.zj-sortable .bs-searchbox input {
    border: none;
    border-bottom: 1px solid #e0e0e0;
    padding: 0px 20px;
    font-size: 12pt;
}
.material-inputs .zj-available-epics, .material-inputs .zj-outline-epics {
    width: calc(50% - 10px);
    display: block;
    float: left;
    margin-right: 10px;
}
.material-inputs .zj-available-epics:last-child, .material-inputs .zj-outline-epics:last-child {
    width: 50%;
    margin-right: 0px;
}
.zj-outline-header-text {
    color: #333;
    font-weight: 500;
    margin-bottom: 4px;
}
.zj-outline-epics .zj-sortable {
    min-height: 135px;
}
.zj-sl-outline-buttons a:hover, .zj-sl-outline-buttons a.hcSelected, .zj-sl-outline-buttons a.selected {
    color: var(--white);
    text-decoration: none;
}
.zj-sl-outline-buttons .s4 .btn:last-child {
    right: -2px;
}
.zj-specification-outline .selectedTicket {
    color: var(--primary)!important;
    text-decoration: none;
}
.zj-sid-header-issue
.zj-specification-details-epic {
    margin-top: 10px;
}
.zj-specification-details-epic > div {
    font-weight: bold;
}
.zj-welcome-message {
    text-align: center;
}
.zj-welcome-message h1 {
    margin-bottom: 3px;
    font-weight: 300;
}
.zj-members-home {
    width: 100%;
    max-width: 600px;
    margin: 0px auto;
    padding-top: 40px;
}
.zj-members-menu.zj-jira-menu li {
    list-style: none;
    float: left;
    width: calc(33% - 2px);
    margin-bottom: 1px;
    margin-right: 1px;
}
.zj-members-menu.zj-jira-menu li a {
    padding: 27px;
    display: inline-block;
    background-color: #ffffff;
    width: 100%;
    text-align: center;
    margin-bottom: 0px;
    font-size: 13pt;
    text-transform: uppercase;
    color: #0d283d;
    text-decoration: none;
    border-radius: 2px;
}
.zj-members-menu.zj-jira-menu ul {
    padding: 0px;
}
.zj-members-menu.zj-jira-menu {
    margin-top: 20px;
}
.zj-members-menu.zj-jira-menu li a:hover {
    background-color: #17a4d0;
    color: var(--white);
}
table {
    background-color: var(--white)!important;
}
table.cke_dialog {
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
    box-shadow: var(--box-shadow-extra);
}
table.cke_dialog div {
    font-weight: 300;
}
.zj-table-title {
    font-size: 16pt;
    font-weight: 300;
}
.zj-jira-pl-project-item > td:first-child {
    color: #507294;
}
.btn.btn-warning.create-spec {
    background-color: #16a3d2;
    border: none;
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
}
.btn.btn-warning.create-spec:hover {
    background-color: #428bca;
}
button.btn.selectedFilter {
    background-color: #507294!important;
    color: var(--white);
}
i.fa.fa-times.closeFilter {
    position: absolute;
    top: 5px;
    right: 1px;
    cursor: pointer;
    padding: 10px;
    color: #e64a19;
}
.show-on-hover {
    padding-right: 10px;
    display: contents;
}
.show-on-hover a {
    color: var(--primary)!important;
}
.show-on-hover .show-this {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 0px;
    right: 25px;
    cursor: pointer;
}
.zj-sl-section-epic > .show-on-hover .show-this {
    top: 6px;
}
.zj-sl-section-epic .show-this:hover i {
    color: var(--primary);
}
.show-on-hover .show-this:last-child {
    right: 0px;
}
.zj-sl-section-body li:hover > .show-on-hover > .show-this {
    visibility: visible;
    opacity:1;
}
.zj-sl-section-epic .epicItem {
    font-family: var(--body-font)!important;
    margin-top: 7px!important;
    margin-bottom: 0px;
    display: inline-block;
    font-size: 10pt;
    padding-bottom: 5px;
    width: 100%;
}
.non-editable-outline a {
    color: var(--black)!important;
}
.non-editable-outline ul > li li a:hover, .non-editable-outline ul > li > span > a:hover {
    color: var(--primary)!important;
}
.zj-message-text {
    width: auto!important;
    padding: 5px 20px;
    border-radius: 61px;
    display: block;
    font-style: italic;
    color: grey;
    font-size: 10pt;
    margin-top: 10vh;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    max-width: 300px;
}
.zj-specification-comments ul {
    padding: 0px;
    list-style: none;
    margin-bottom: 0px;
    margin-top: 0px;
}
.zj-specification-comments .zj-spec-comments > ul > li {
    width: 100%!important;
    text-align: left;
    margin-bottom: 10px!important;
    display: flex;
    position: relative;
}
.zj-specification-comments .zj-spec-comments > ul > li:last-child {
    border-bottom: none;
}
.zj-comment-text {
    text-align: left!important;
}
.zj-comment-details {
    margin-top: 5px;
    font-weight: 400;
    font-size: 9pt;
}
.btn.comments-btn.tcActive {
    background-color: #507294!important;
    color: var(--white);
}
.zj-comment-author-image {
    margin-right: 20px;
    width: 100%;
    max-width: 42px;
}
.zj-comment-author-image img {
    box-shadow: none;
    width: 100%;
}
.zj-spec-comment-textarea textarea {
    width: 100%;
    min-height: 80px;
    margin-bottom: 0px;
    min-width: 100%;
    max-width: 100%;
    padding: 20px;
    left: 0px;
    text-align: left;
    display: block;
    outline: 0px;
    border: none;
    color: var(--black);
}
.zj-specification-comments {
    position: relative;
    display: inline-block;
    height: calc(100dvh - 109px);
    overflow-y: overlay;
    width: 100%;
    padding: 30px!important;
    background-color: var(--background-color);
    vertical-align: top;
    top: 0px;
}
.zj-spec-comment-textarea {
    width: 100%;
    text-align: right;
}
.zj-spec-comment-textarea button {
    height: 36px;
    line-height: 36px;
    border: none;
    padding: 0px 20px;
    background-color: transparent;
    color: var(--primary);
    font-size: 10pt;
    border-top: none;
    font-weight: 500;
    border-radius: 5px 0px 0px 0px;
    float: right;
}
.zj-spec-comment-textarea button:hover, .zj-spec-comment-textarea button:focus {
    color: var(--good);
    background-color: transparent;
}
.zj-comment-text ul {
    padding-left: 30px!important;
}
.zj-comment-text ul li {
    margin-bottom: 3px!important;
    list-style: disc;
}
i.zj-specificaiton-status-indicator {
    color: #d32f2f;
    font-size: 8pt;
    vertical-align: 0px;
    margin-right: 4px;
}
.zj-user-label {
    color: #598bca;
}
.zj-sl-epic-ticket {
    list-style: none;
    font-size: 10pt;
}
.zj-sl-epic-ticket:before {
    content: '\2022';
    color: #d32f2f;
    margin-right: 5px;
    margin-left: -15px;
    font-weight: bold;
    font-size: 16pt;
    vertical-align: top;
    line-height: 1;
}
.outline-main-nav .zj-sl-epic-ticket:before {
    color: black;
}
.zj-sl-epic-ticket.descriptionApproved:before {
    color: #55ab4b;
}
.zj-sl-epic-ticket.deployedTicket:before {
    color: var(--black);
}
.zj-specitem-status {
    color: #d32f2f;
    font-size: 8.5pt;
    font-weight: normal;
    display: inline-block;
    padding-right: 5px;
}
.zj-specitem-status.descriptionApproved, .zj-specitem-status.descriptionApproved i {
    color: #55ab4b;
}
.btn.btn-btn {
    padding: 0px;
    min-height: 34px;
    font-size: 14px;
}
.navi-btn.anno-show {display: none;}
.full-screen-no-sidebar .navi-btn.anno-show {display: inline-block;line-height: 51px;height: 51px;background-color: var(--white);}
.navi-btn.anno-show.disabled {opacity: .3;}
.btn.btn-btn button {
    padding: 0px;
    background-color: transparent;
}
.assignee-btn .special {
    color: #333333;
    padding: 10px 10px;
    border-bottom: 1px solid #aeaeae;
    font-weight: normal;
    background-color: #d3d3d3;
}
.assignee-btn .bs-searchbox input {
    min-height: 40px;
    background-color: var(--white);
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box;
}
.assignee-btn li.currentAssignee a {
    background-color: #d3d3d3!important;
    cursor: default!important;
}
.zj-specitem-status span {
    text-decoration: underline;
}
.btn.edit-btn.activeBtn {
    color: var(--primary)!important;
    background-color: var(--white)!important;
    text-align: center;
}
.btn.edit-btn.activeBtn:hover {
    color: var(--primary)!important;
}
.btn.edit-btn.activeBtn i {
    color: var(--black);
}
.zj-specification-description-edit textarea.description-textarea {
    width: 100%!important;
    max-width: 100%;
    min-width: 100%;
    height: calc(100dvh - 153px)!important;
    max-height: calc(100dvh - 153px)!important;
    border: none;
    font-family: var(--body-font);
    outline: 0px;
    background-color: #ffffff!important;
    padding-left: 20px;
    padding-right: 20px;
}
.zj-specification-description-edit button.btn {
    background-color: #ffffff;
    color: #666;
    box-shadow: none;
    width: 45px;
    height: 45px;
    padding: 0px!important;
    text-align: center;
}
button.btn.btn-default.ng-scope.active
.zj-specification-description-edit button i {
    font-size: 10pt;
    line-height: 36px;
}
.zj-specification-description-edit button:hover, .zj-specification-description-edit button.active {
    background-color: var(--background-color);
    color: var(--white);
    box-shadow: none;
    border-radius: 2px;
}
.zj-attachment-button {
    display: inline-block;
    cursor: pointer;
    float: left;
    user-select: none;
    background-color: rgba(255, 255, 255, .2);
    font-size: 9pt;
}
.zj-specification-assets li .zj-attachment-button:hover {
    background-color: var(--primary);
}
.zj-specification-assets li .zj-attachment-button.delete:hover {
    color: var(--warning);
}
.zj-specification-assets li .zj-attachment-button.delete:hover {
    background-color: var(--warning);
}
body .zj-sl-outline-buttons a {
    display: inline-block;
    background-color: transparent!important;
    color: var(--icon-color);
}
.zj-sl-outline-buttons a i {
    vertical-align: top;
}
.hideCompleted .deployedTicket {
    display: none;
}
.zj-sl-outline-buttons {
    background-color: var(--white);
    bottom: 0px!important;
    position: absolute;
    width: 100%;
    z-index: 1;
    /* border-top: 1px solid var(--light-border); */
}
.zj-section.zj-specification-assets .zj-jira-attachments li {
    line-height: 1;
    text-align: center;
    list-style-type: none;
}
.zj-section.zj-specification-assets .zj-jira-attachments .ui-sortable li {
    padding-bottom: 20px;
    padding-top: 20px;
    display: inline-block;
    max-width: 25%;
    padding: 30px!important;
    vertical-align: top;
    }
.fb-spec-images li {
    list-style-type: none!important;
}
.fb-spec-images li:last-child .zj-image-attachment
.zj-section.zj-specification-assets .zj-jira-attachments li.ui-sortable-helper {
    opacity: .9;
}
.zj-section.zj-specification-assets .image-comments li {
    margin-bottom: 0px;
    border: none!important;
    display: inline-block;
    width: 100%;
    border-bottom: 1px solid #e2e2e2!important;
}
.zj-section.zj-specification-assets .image-comments li:first-child {
    padding-top: 10px;
}
.zj-section.zj-specification-assets .zj-jira-attachments li:last-child {
    margin-bottom: 0px;
}
.zj-section.zj-specification-assets .zj-jira-attachments li:last-child {
    margin-bottom: 0px;
}
.zj-comment ol, .zj-comment ul {
    padding-top: 10px;
    padding-bottom: 10px;
}
.zj-underline {
    text-decoration: underline;
}
.zj-fix-versions {
    font-size: 8.5pt;
    display: inline-block;
}
.zj-fix-versions:after {
    content: ', ';
    margin-right: 4px;
}
.zj-fix-versions:last-child:after {
    content: ''!important;
    margin-right: 0px;
}
.zj-fix-versions-list {
    display: inline-block;
    width: auto;
    height: auto;
    list-style: none;
    padding: 0px;
    margin: 0px;
}
.zj-table-data img {
    width: 100%;
}
.zj-table-data td img {
    max-height: 20px;
    max-width: 20px;
}
.navbar-default .navbar-nav>li {
    border-right: 1px solid black!important;
}
.navbar-default .navbar-nav>li>a, .navbar-default .navbar-nav li a {
    font-weight: 600!important;
}
button.google {
    background-color: #db3236!important;
    color: var(--white)!important;
    border-radius: 3px!important;
    padding: 0px 20px;
    box-shadow: 0px 1px 2px #8c8c8c;
    margin-top: 10px;
    height: 41px;
    line-height: 41px;
    padding-left: 20px!important;
    padding-right: 20px!important;
}
button.btn.google:hover {
    background-color: #ea151a!important;
    transition: .1s ease-in-out background-color;
}
button.google i {
    display: inline-block;
    float: left;
    margin-right: 5px;
    margin-top: 0px;
    padding-top: 0px;
}
.settings .settings-section-wrapper.card {
    background-color: var(--white);
    padding: 40px;
    margin-top: 0px;
    box-shadow: 0px 1px 2px var(--shadow);
    margin-bottom: 0px;
    display: inline-block;
    margin: 0px auto;
}
.rounded-wrapper {
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
}

.rounded-wrapper, .rounded-wrapper .field-section-item {
    background-color: var(--white)!important;
}

.team-settings .rounded-wrapper .field-section-item:hover {
    background-color: var(--extra-light)!important;
}

.team-settings .rounded-wrapper {
    padding: 0;
    box-shadow: var(--box-shadow);
}
.settings .settings-section-wrapper.card h5, .strategy-settings h5 {/* margin-top: -10px; */height: 40px;line-height: 40px;margin-bottom: -5px;}
.settings .settings-section-wrapper.card > .col > .row {
    margin-bottom: -4px!important;
}
.settings .settings-section-wrapper.card > .col > .row i {
    color: var(--black);
}
html body .account.settings .settings-section.categories-admin .settings-section-wrapper.card {
    display: inline-block;
    width: 100%;
    padding: 0px!important;
    background-color: transparent!important;
    box-shadow: none!important;
}
.status-settings .settings-section-wrapper.card {
    padding-top: 30px;
}
.settings .settings-section-wrapper.card .col.s1:last-child .btn {
    float: right;
    margin-top: 0px;
    height: 50px;
    line-height: 50px;
    border-radius: 10px;
}
.settings-section .row.jira-settings {
    margin-bottom: 0px!important;
}
.settings-header {
    display: inline-block;
    width: 100%;
    margin-bottom: 20px!important;
    position: relative;
}

.admin-settings-section .settings-header, .admin-settings-section .settings-header .sub-text {
    margin-bottom: 0!important;
    margin-top: 0px;
}
.col {
    padding-left: 0px!important;
    padding-right: 0px!important;
}
.zj-body a {
    color: var(--primary);
}

a.value-title.node-title-link {
    color: var(--black);
}
.btn:hover, .btn-large:hover {
    background-color: var(--primary)!important;
}
.btn, .btn-large {
    background-color: var(--primary);
    box-shadow: none!important;
    padding-left: 15px!important;
    padding-right: 15px!important;
}
ol li, ol ol ol li, ol ol ol ol ol li, ol ol ol ol ol ol ol li, ol ol ol ol ol ol ol ol ol ol li {list-style-type: decimal!important;}
ol ol li, ol ol ol ol li, ol ol ol ol ol ol li, ol ol ol ol ol ol ol ol li {
    list-style-type: lower-alpha!important;
}
ol li li, ol li li li li, ol li li li li li li, ol li li li li li li li li li li, ol li li, ol li li li li, ol li li li li li li, ol li li li li li li li li {
    list-style: lower-alpha!important;
}
.toast.white {
    color: #0d283d;
}
.login-text {
    display: inline-block;
}
.login-text h3 {
    font-family: var(--nothing);
    color: var(--primary);
    font-size: 50px;
    margin-bottom: 13px;
}

.intelligence-img.jt1 {
    margin-left: 20px;
}

.account-chooser-container h3.intelligence-img.jt1 {
    color: var(--black);
}
.logo {
    width: 99px;
    height: 64px;padding-top: 2px;
    text-align: center;
}
#nav-mobile .logo {
    background-color: var(--ablack);
    margin-right: 0px;
    padding-right: 0px;
    width: 100%;
    line-height: 64px;
    height: 64px;
    position: relative;
}
#nav-mobile .logo a {
    width: 44%;
    height: 64px!important;
    line-height: 64px;
    padding-left: 20px;
    text-align: left;
    float: left;
    color: var(--primary)!important;
}
.user-image {
    line-height: 45px!important;
    height: 45px!important;
    padding-top: 0px!important;
    padding-bottom: 0px!important;
    padding-left: 0px!important;
    float: left;
    vertical-align: top;
}
.team-user .user-image {
    width: 40px;
    float: left;
    margin-top: -8px;
    padding-right: 0px;
    text-align: left;
}
.list-view .team-user .user-image {
    margin-top: 0px;
    margin-top: 0px!important;
    height: auto!important;
}
.team-user.with-meta .user-image {
    margin-top: -3px;
}
.team-user .user-image .the-profile-image {
    float: right;
}
.team-user .user-image .the-profile-image {
    max-height: 36px;
    max-width: 36px;
    line-height: 36px;
}
.the-profile-image.tp-initials {
    height: 36px!important;
    width: 36px!important;
    line-height: 36px;
    background-color: var(--extra-light)!important;
    color: var(--dark);
}
.team-profile .user-image {
    width: 30px;
    margin-right: 10px;
    line-height: 30px;
    height: 30px;
}
.jira-settings .user-image img {
    margin-left: 0px!important;
    max-width: 25px;
    margin-right: 10px;
}
.jira-settings .user-image {
    float: left;
    display: inline-block;
}.members-page .the-user-list .uls-team .user-image {
    height: unset!important;
    width: unset!important;
}

.members-page .the-user-list .uls-team .user-image > .jtsyn-user-image {
    height: unset!important;
    width: unset!important;
    max-height: unset!important;
    max-width: unset!important;
}
.members-page .teams .user-image .the-profile-image {width: 20px!important;height: 21px!important;}
.user-picker .user-image {
    background-color: transparent!important;
    min-width: 41px;
}
.user-picker .user-image.bg-image {
    width: 25px;
    min-width: 25px;
    height: 25px!important;
    border-radius: 5px!important;
    margin-right: 15px;
    margin-top: 13px;
}
.user-image img {
    width: 100%;
    display: inline-block;
    float: left;
    max-width: 37px;
    margin-right: 20px;
    margin-top: 10px;
    border-radius: 4px;
    margin-left: 20px;
}
.dropdown-content .user-image img {
    max-width: 25px!important;
    margin-top: 13px;
    margin-right: 15px!important;
    margin-left: 0px;
}
#usermenu.dropdown-content .user-image img {
    padding-top: 0px;
    padding-left: 10px;
    max-width: 40px!important;
    margin-top: 10px;
    float: right;
}
#usermenu.dropdown-content .user-image {
    padding-right: 0px;
    width: 100%;
    padding-left: 20px!important;
    vertical-align: top;
    height: auto;
    line-height: 1.5!important;
    padding-top: 20px!important;
    padding-bottom: 10px!important;
    text-decoration: none;
}
#usermenu.dropdown-content .user-image:hover .user-name {
    color: var(--primary);
}
a.user-image
.top-user-nav > li {
    min-width: 50px;
    height: 64px;
    text-align: center;
    cursor: pointer;
    padding-top: 3px;
    position: relative;
}
.members-page .user-name {
    display: inline-block;
    color: var(--primary);
    box-sizing: border-box;
    line-height: 15px;
}
.members-page .user-name {
    line-height: 25px;
    height: 25px;
}
.members-page .the-user-list .user-name {
    line-height: 50px;
    margin: 0px!important;
    vertical-align: top;
    height: 50px!important;
    font-size: 15px;
}
.members-page .the-user-list .uls-team .user-name {
    margin-top: 2px!important;
    height: 20px!important;
    line-height: 20px;
    vertical-align: top;
    color: var(--black);
    font-weight: 400;
    justify-content: left;
    display: flex;
}
.members-page .the-user-list .uls-team .user-name span {
    line-height: 20px!important;
    vertical-align: top;
    height: 20px!important;
    overflow: hidden;
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
    /* max-width: calc(100% - 20px); */
}
.members-page .teams .user-name {
    height: 15px;
    line-height: 15px;
}
.main-nav .dropdown-content.nav-dropdown {
    min-width: 350px!important;
    top: 64px!important;
    width: 100%!important;
    max-width: 500px;
    right: 0px!important;
    margin-right: 0px!important;
    left: initial!important;
    z-index: 999999999999999999999;
    user-select: none;
    background-color: var(--white)!important;
}
.main-nav .dropdown-content.nav-dropdown.timelog-container.active {
    max-width: 500px;
    line-height: 23px;
}

#usermenu li:first-child {
    height: 51px;
}

#usermenu li {display: flex;align-items: center;gap: 12px;padding: 0 30px;height: 50px;text-transform: lowercase;}

#usermenu li i {
    font-size: 16px;
    color: var(--icon-color);
    font-variation-settings: 'FILL' 0;
}

#usermenu li a {
    padding: 0;
}

#usermenu li.selected {
    /* background-color: transparent; */
}

#usermenu li.selected i {
    color: var(--primary);
}
nav ul li:hover a {
    text-decoration: none!important;
}

nav ul li.logo:hover {
    background-color: transparent;
}
#usermenu a {
    color: var(--black-nav);
    background-color: transparent;
    padding-left: 30px;
    padding-right: 30px;
}
#usermenu li:hover a {
    color: var(--black)!important;
}

.jira-settings .input-field label.active {
    color: #0f2a3f;
    font-size: 10pt;
}

.zj-sf-filter .btn {
    padding: 0px!important;
    width: 100%!important;
    border-radius: 0px!important;
    box-shadow: none!important;
    font-size: 10pt;
    background-color: transparent!important;
    color: var(--black);
    text-transform: capitalize;
    text-align: left!important;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 50px;
    line-height: 50px;
    position: relative;
}
.zj-sf-filter .btn i {
    right: 20px;
}
.zj-sf-filter:last-child .btn {
    width: 50px!important;
    text-align: right!important;
    padding-right: 23px!important;
}

ul.dropdown-content li a {
    color: var(--black);
    text-decoration: none!important;
    padding-left: 30px;
    padding-right: 30px;
    font-size: 13px!important;
}

.rsd-row ul.dropdown-content li a {
    padding-left: 20px;
    padding-right: 20px;
    font-size: 13px!important;
    cursor: pointer;
}

.rsd-row ul.dropdown-content li i {
    margin-right: 5px;
}

ul.dropdown-content li a:hover {
    background-color: transparent!important;
}
body .dropdown-content > ul > li {
    min-height: 45px!important;
    line-height: 45px!important;
    color: var(--black);
}
.specs-filters {
    background-color: transparent;
    position: relative;
    vertical-align: top;
    display: block;
    width: 100%;
    max-width: 1080px;
    margin: 0px auto;
    line-height: 50px;
}
.the-spec-timeline .timeline-filters {
    padding-top: 0px;
    padding-left: 0px;
}
.specs-filters:hover {
    overflow-y: overlay!important;
}
.specs-filters:hover {
    overflow-y: overlay;
}
.spec-key {
    font-size: 10pt;
}
.dropdown-content {
    min-width: 200px!important;
    max-height: calc(70dvh - 64px)!important;
    width: auto!important;
    background-color: var(--white)!important;
}
#timer input {
    border-bottom: none!important;
    font-size: 10pt!important;
    background-color: var(--background-color)!important;
    padding-left: 20px;
    padding-right: 20px;
    color: var(--black);
    margin-bottom: 1px!important;
    height: 50px;
    border-right: 1px solid var(--white);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 10px;
    vertical-align: top;
}
#timer.activetimer input {
    border-bottom: none!important;
}
#timer.activetimer input:focus {
    border-bottom: none!important;
    box-shadow: none!important;
}
.timer.active #timer input {
    padding-right: 105px;
}
#timer input::placeholder {
    color: var(--light-text)!important;
}
#timer .settings-option input {
    height: 45px;
    line-height: 45px;
    border-bottom: none!important;
    box-shadow: none!important;
    border-image: none!important;
    border-radius: 5px!important;
}
#timer input::placeholder {
    color: var(--black);
}
#timer .timer-times .timer-start input {
    padding-left: 40px!important;
    border-bottom: none!important;
    box-sizing: border-box;
    margin-bottom: 0px;
    line-height: 45px;
    box-shadow: none!important;
    color: #16a4d2;
    padding-bottom: 10px;
}
input:not([type]):focus:not([readonly])+label, input[type=text]:focus:not([readonly])+label, input[type=password]:focus:not([readonly])+label, input[type=email]:focus:not([readonly])+label, input[type=url]:focus:not([readonly])+label, input[type=time]:focus:not([readonly])+label, input[type=date]:focus:not([readonly])+label, input[type=datetime]:focus:not([readonly])+label, input[type=datetime-local]:focus:not([readonly])+label, input[type=tel]:focus:not([readonly])+label, input[type=number]:focus:not([readonly])+label, input[type=search]:focus:not([readonly])+label, textarea.materialize-textarea:focus:not([readonly])+label
#timer .timer {
    text-align: left;
    font-size: 10pt;
    overflow: hidden;
    position: relative;
}
.zj-specification-details-actions input {
    margin-bottom: 0px!important;
    padding-left: 20px!important;
    box-sizing: border-box!important;
}
.zj-sf-filter i {
    color: #777;
    padding-left: 0px;
}
.dropdown-menu.scrollable-menu {
    background-color: var(--white);
    box-shadow: 0px 2px 5px var(--shadow);
}
.dropdown-menu.scrollable-menu li {
    height: 45px;
}
.dropdown-menu.scrollable-menu li a {
    text-decoration: none;
}
.dropdown-menu.scrollable-menu li:hover, .dropdown-menu.scrollable-menu li.active {
    background-color: var(--extra-light);
}
.zj-mention-user.mention-user .bg-image {
    width: 30px;
    height: 30px;
    display: inline-block;
    margin-top: -4px;
    vertical-align: middle;
    margin-right: 10px;
}
.material-icons.closeFilter {
    position: absolute;
    right: 10px;
    top: 13px;
    cursor: pointer;
    font-size: 16pt;
}
.material-icons.ask-intelligence-icon {
    position: absolute;
    right: 38px;
    top: 13px;
    cursor: pointer;
    font-size: 16pt;
    color: var(--primary);
    opacity: 0.7;
    transition: opacity 0.15s ease;
}
.material-icons.ask-intelligence-icon:hover {
    opacity: 1;
}
.zj-specification-outline .search-input.has-search-text input {
    padding-right: 15px !important;
}
.sidebar-body .zj-search-bar {padding: 0px;}

.search-match-indicator {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    background: var(--extra-light);
    border-radius: 6px;
    font-size: 12px;
    color: var(--black);
    margin-bottom: 8px;
}

.match-nav-btn,
.match-dismiss-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 2px;
    border-radius: 4px;
    color: var(--grey);
    display: flex;
    align-items: center;
}

.match-nav-btn:hover,
.match-dismiss-btn:hover {
    background: var(--light);
    color: var(--primary);
}

.match-count {
    font-weight: 500;
    margin-right: 4px;
}

.search-snippet {
    font-size: 13px;
    color: var(--light-text);
    margin-top: 0px;
    /* white-space: nowrap; */
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    line-height: 23px;
    font-weight: 300;
}

.search-snippet em {
    background-color: var(--highlight);
    color: var(--ablack);
}

.search-snippet mark,
.search-match-highlight mark {
    background-color: var(--highlight);
    color: inherit;
    border-radius: 2px;
    padding: 0 1px;
}

.search-match-source {
    font-size: 10px;
    color: var(--light-text);
    margin-top: 1px;
    margin-bottom: 10px;
}
.spec-outline-filter i {
    position: absolute;
}
.zj-attachment-button i {
    font-size: 11pt;
    line-height: 50px;
    margin-right: 6px;
}
.show-on-hover .show-this i {
    font-size: 15pt;
    vertical-align: sub;
    color: var(--primary);
}
.core-list-items .message-text,
.listings .message-text {
    display: block;
    width: 500px;
    padding: 5px 20px;
    margin: 100px auto 10px;
    border-radius: 60px;
    text-align: center;
    color: grey;
}
.zj-specification-assets .zj-jira-attachments {
    height: calc(100dvh - 64px);
    overflow-y: overlay;
    padding: 40px!important;
    margin-top: 0px;
    position: relative;
    vertical-align: top;
}
.distraction-free .zj-specification-assets .zj-jira-attachments {
    height: calc(100dvh - 50px);
}
.zj-sf-filter .btn.selectedFilter, .zj-sf-filter .btn.selectedFilter i {
    color: var(--primary);
}
/* .zj-specification-description-edit {
    height: calc(100dvh - 110px);
} */
.zj-spec-comments {
    word-break: break-word;
    display: inline-block;
    width: 100%;
    padding-top: 10px;
}
.comment-selectors {
    width: 100%;
    display: inline-block;
    margin-bottom: -5px;
}
.comment-selectors button {
    padding: 5px 20px 0px;
    background-color: transparent;
    display: inline-block;
    float: left;
    margin-right: 0px;
    font-size: 10pt;
    border-radius: 0px;
    user-select: none;
}
.comment-selectors button.selected,
.comment-selectors button:focus {
    background-color: transparent;
    color: #15a3cf;
}
.create-new-issues .input-field.col label {
    left: 0px!important;
    margin-left: 0px;
}
body div .input-field {
    color: var(--black);
}
.prompt-container .input-field {
    margin-top: 0px!important;
    padding-bottom: 0px;
    position: relative;
    /* max-width: 820px; */
    width: 100%;
    margin: 0px auto;
}
.dynamic-overview-view .prompt-container .input-field {
    background-color: var(--extra-light);
}
.recently-viewed .spec-description {
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    line-height: 22px;     /* fallback */
    max-height: 225px;      /* fallback */
    -webkit-line-clamp: 5; /* number of lines to show */
    -webkit-box-orient: vertical;
    font-size: 14px;
}
.recently-viewed .spec-item-card {
    padding-right: 20px!important;
    cursor: pointer;
    margin-bottom: 20px;
    position: relative;
}
.recently-viewed .spec-item-card .card {
    margin: 0px;
    box-sizing: border-box;
    overflow: hidden;
    background: #ececec;
}
.recently-viewed .spec-item-card .card:hover {
    box-shadow: 0px 2px 8px #989898;
}
.recently-viewed .spec-item-card .card .name {
    font-size: 16px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.recently-viewed .card .image > div {
    height: 160px;
    width: 100%;
    margin-bottom: 10px;
}
.core-list-items h4,
.listings h4 {
    text-align: left;
}
.core-list-item .spec-description {
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    line-height: 20px;
    max-height: 225px;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-size: 14px;
}
.core-list-item .name,
.listing-item .name {
    display: inline-block;
    margin-right: 5px;
}
.core-list-items > h5,
.listings > h5 {
    margin-bottom: 20px;
}
.favorite-spec {
    display: inline-block;
    color: var(--primary);
    width: auto;
    user-select: none;
    text-align: center;
}
.board-selector .li-action.favorite-spec {
    width: 45px!important;
}
.favorite-spec i {
    color: var(--primary)!important;
}
.favorite-spec i {
    font-size: 15pt;
    vertical-align: sub;
}
.spec-actions .favorite-spec i {
    line-height: 52px;
}
.core-list-item .name, 
.core-list-items .name,
.listings .name {
    color: var(--black);
    max-width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
.core-list-item .name.selected, .core-list-items .name.selected, .listings .name.selected {
    color: var(--primary);
}
.all-specs .core-list-item .name {
    max-width: calc(100% - 40px);
    display: inline-block;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    font-size: 10pt;
}
#toast-container {
    left: 20px!important;
    right: unset!important;
    bottom: 20px!important;
    max-width: 540px!important;
    width: auto!important;
    top: unset!important;
}
#toast-container .toast {
	justify-content: unset!important;
	-webkit-box-pack: start;
	word-break: unset;
	font-size: 11pt;
	border-radius: var(--border-radius-tiny);
	z-index: 99999999999999999999999999999999999999999999;
	background-color: var(--ablack)!important;
	color: var(--awhite)!important;
	padding: 20px!important;
	display: block;
}

#toast-container .toast span {display: inline-flex;}
.dark #toast-container .toast {
	background-color: var(--hover-light)!important;
}
.toast .btn {
	background-color: transparent!important;
	padding: 0px!important;
}
.spec-cover-overview.card {
    padding: 20px;
}
.no-specs-message {
    text-align: center;
}
.spec-cover-overview {position: relative;z-index: 1;}
.confirm-dialog {
    position: fixed;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    z-index: 9999999999;
    background-color: rgba(0, 0, 0, .6);
}
.confirm-dialog .dialog-body {
    padding: 40px;
    background-color: var(--xwhite);
    width: 100%;
    max-width: 540px;
    margin: 20vh auto;
    box-shadow: 0px 2px 5px var(--shadow);
}
.confirm-dialog .dialog-body .title {
    font-size: 18pt;
}
.confirm-dialog .dialog-body .actions {
    margin-top: 20px;
    text-align: right;
}
.btn {
    position: relative;
    user-select: none;
    font-size: 10pt;
}
.btn-flat {
    color: var(--primary)!important;
}
.spec-image {
    height: 300px;
    width: 100%;
    background-size: cover;
}
#sidenav-overlay {
    z-index: 98!important;
}
.spec-details {
    padding: 20px;
    display: inline-block;
    vertical-align: top;
    padding-top: 5px;
    width: 100%;
}
.message {
    padding: 10px;
    text-align: center;
    color: var(--icon-color);
    transition: color .5s ease;
}
.delete-comment {
    cursor: pointer;
    position: absolute;
    right: 20px;
    bottom: 20px;
    display: none;
    width: 20px;
    height: 20px;
    z-index: 99999999;
    color: grey;
}
.listing-comment .delete-comment {
    bottom: initial;
    top: 0px;
}
i.material-icons
.todo-comments li .delete-comment {
    right: 20px!important;
    top: 2px;
    transition: opacity .4s ease-in-out;
}
.todo-comments li .delete-comment:hover i {
    color: var(--warning);
}
.team-comments li:hover .delete-comment, .image-comments li:hover .delete-comment {
    display: inline-block;
}
.zj-image-comment-textarea {
    background-color: var(--white);
    margin-top: 0px;
    display: inline-block;
    width: 100%;
    max-width: 100%;
}
.zj-image-comment-textarea textarea {
    border: none;
    outline: none;
    max-width: 100%;
    min-width: 100%;
    min-height: 41px;
    max-height: 500px;
    width: 100%;
    transition: all .6s ease!important;
    overflow: hidden;
    display: inline-block;
}
.zj-image-comment-textarea button {
    background-color: #15a4d0;
    color: var(--white);
    font-weight: bold;
    text-transform: uppercase;
    padding: 7px 20px;
    float: right;
    border-radius: 5px 0px 0px 0px;
}
.image-comments .zj-comment-author-image {
    float: left;
    margin-right: 10px;
    display: inline-block;
}
.image-comments {
    text-align: left;
    overflow-y: overlay;
    max-height: 420px;
}
.image-comments .zj-spec-comments li {
    margin-bottom: 20px!important;
    background-color: var(--white);
}
.image-comments .zj-spec-comments li:last-child {
    margin-bottom: 0px!important;
}
.image-comments li {
    padding: 10px;
    display: inline-block;
    width: 100%;
}
.image-comments .delete-comment {
    bottom: 7px;
    right: 5px;
}
.image-comments .delete-comment i {
    font-size: 15pt;
}
.attachment-actions {
    display: inline-block;
    width: 100%;
    background-color: var(--white);
    margin-top: -3px;
    transition: all .5s ease-in-out;
}
.zj-image-attachment {
    margin-bottom: 40px;
    /* padding-right: 30px; */
    display: flex;
}
.meta-panel .zj-image-attachment {
    padding-right: 0px;
    width: 100%;
}
.fb-spec-images li:last-child .zj-image-attachment {
    margin-bottom: 0px!important;
}
.image-editor .zj-image-attachment {
    display: inline-block;
    float: left;
    padding-right: 30px;
    padding-bottom: 30px;
    max-width: 300px;
}
.zj-image-attachment .img-wrappe img {
    border-radius: 5px;
    z-index: 0;
    cursor: pointer;
    display: block;
    margin: 0px auto;
    }
.zj-image-attachment .zj-attachment-button {
    background-color: var(--xwhite);
    padding: 0px 10px;
    color: var(--black);
    font-size: 15pt!important;
    height: 50px;
    line-height: 50px;
    width: 50px;
    text-align: center!important;
    padding: 0px!important;
}
.zj-image-attachment .zj-attachment-button i {
    font-size: 15pt;
    padding: 0px!important;
    margin-right: 0px!important;
}
.zj-image-attachment .zj-attachment-button:hover i {
    color: var(--awhite)!important;
}
.zj-image-attachment a {
    position: relative;
    box-shadow: 0px 1px 3px var(--shadow);
    z-index: 9;
border-radius: 5px;height: auto;}
.zj-attachment-button.delete {
    right: 0px;
    border-radius: 0 var(--border-radius-smallish) var(--border-radius-smallish) 0;
}
.zj-attachment-button.delete i {
    color: var(--warning)!important;
    margin: 0px;
}
.fb-spec-images li:hover .zj-attachment-button.delete {
    opacity: 1!important;
}
.zj-attachment-button.delete.commentsActive {
    bottom: 4px;
}
.image-comments-section {
    margin-top: -2px;
    box-shadow: 0px 1px 2px var(--shadow);
}
.comment-user-image {
    display: inline-block;
    width: 55px;
    float: left;
    padding: 10px;
}
.submit-comment {
    overflow: hidden;
    padding-top: 10px;
}
.zj-spec-comments li:hover
 .delete-comment {
    display: block;
}
.zj-attachment-button.comments {
    display: inline-block;
}
.zj-image-attachment:hover .zj-attachment-button.comments {
    opacity: 1;
    visibility: visible;
}
.attach-item {
    text-align: left;
    max-width: 740px;
}
iframe.iframe-iframe {
    border: none!important;
    box-shadow: none!important;
    height: calc(100dvh - 150px);
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
}
iframe.iframe-iframe:last-child {
    margin-bottom: 0px;
}
.comment-count {
    margin-left: 3px;
    background-color: #d3d3d3;
    padding: 0px 5px;
    border-radius: 2px;
    color: #333333;
}
.selected .comment-count {
    background-color: var(--white);
    color: #0f2a3f;
}
.comment-author-image {
    display: inline-block;
    float: left;
    max-width: 80px;
    margin-right: 20px;
}
.timeline-comment {
    background-color: var(--white);
    padding: 20px!important;
    display: inline-block;
    width: 100%;
    border-bottom: 1px solid var(--lightgrey);
    cursor: pointer;
}
.timeline {
    padding-top: 10px;
    height: calc(100dvh - 73px);
    overflow-y: overlay;
    width: 100%;
}
.timeline > .row {max-width: 1280px;margin: 0px auto!important;float: none!important;display: block;}
.timeline-item.row {
    margin-bottom: 0px;
}
.timeline-comment-title {
    font-weight: bold;
}
.iframe-attachment {
    position: relative;
}
.zj-spec-attachment {
    position: absolute;
    top: 45px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: #efefef;
}
.attachment-footer {
    position: absolute;
    bottom: 0px;
    height: 37px;
    width: 100%;
    max-width: 100%;
    left: 0px;
    right: 0px;
    text-align: left;
    box-sizing: border-box;
}
.attachment-footer .menu-item {
    display: inline-block;
    float: left;
    padding: 10px 25px;
    background-color: var(--white);
    margin-right: 0px;
    text-transform: capitalize;
    cursor: pointer;
    font-size: 9pt;
    line-height: 9pt;
}
.attachment-footer .menu-item:hover, .attachment-footer .menu-item.active {
    background-color: #507294;
    color: var(--white);
}
.btn-attach {
    padding-left: 15px!important;
    padding-right: 15px!important;
}
.btn-view-attach.active {
    background-color: #507294!important;
    color: var(--white)!important;
}
.attachment-footer .menu-items {
    display: inline-block;
    max-width: 93%;
}
i.delete-attachment {
    display: inline-flex;
    font-size: 12pt;
    float: right;
    margin-left: 10px;
    margin-right: -10px;
}
input {box-sizing: border-box!important;}
html body input:not([type]):focus:not([readonly]), html body input[type=text]:focus:not([readonly]), html body input[type=password]:focus:not([readonly]), html body input[type=email]:focus:not([readonly]), html body input[type=url]:focus:not([readonly]), html body input[type=time]:focus:not([readonly]), html body input[type=date]:focus:not([readonly]), html body input[type=datetime]:focus:not([readonly]), html body input[type=datetime-local]:focus:not([readonly]), html body input[type=tel]:focus:not([readonly]), html body input[type=number]:focus:not([readonly]), html body input[type=search]:focus:not([readonly]), html body textarea.materialize-textarea:focus:not([readonly]), html body input[type=text].selected {
    /* border-bottom: 1px solid var(--primary); */
    /* box-shadow: 0 1px 0 0 var(--primary); */
}
html body .search-input input[type=text]:focus:not([readonly]) {border-bottom: 0px!important;box-shadow: none;}
.spec-stats .stat {
    display: inline-block;
    float: left;
    width: 24%;
    padding: 20px;
    box-sizing: border-box;
    margin-right: 1.335%;
    border: 1px solid var(--lightgrey);
    text-align: center;
    line-height: 1.3;
}
.spec-stats .stat .stat-number {
    font-size: 23px;
}
.spec-stats .stat:last-child {
    margin-right: 0px;
}
.btn.btn-timer.activated.active {
    background-color: var(--white);
    color: var(--primary);
}
#timer .running {
    color: var(--good)!important;
    width: 45px;
    border-left: none;
}
#timer .stop-time.running:hover {
    background-color: var(--good)!important;
    color: #ffffff!important;
    border-left: none!important;
}
#timer .stop-time:hover {
    background-color: var(--primary)!important;
}
#timer .stop-time {
    height: 50px;
    line-height: 50px!important;
    color: var(--primary);
    background-color: transparent;
    box-shadow: none;
    padding: 0px!important;
    width: 50%;
    border-left: none!important;
    border-radius: 0px 5px 5px 0px!important;
    margin-top: 0px;
    margin-right: 0px;
}
.timelogs {
    font-size: 10pt;
    margin-bottom: 0px;
    width: 100%;
}
.timelogs.all-items {
    display: inline-block;
    margin-top: 30px;
}
.timelogs:hover .worklog-created-time, .timelogs:hover .the-wl-comment, .timelogs:hover .timelog-duration {
    color: var(--primary);
}
.timelogs.editing:hover {
    background-color: #ffffff!important;
}
.timelogs:last-child {
    margin-bottom: 0px;
    border-bottom: none;
}
.timelog-details h5 {
    width: 100%;
    text-align: left;
    padding: 10px;
    margin-bottom: 0px;
}
.timelog-details {
    width: 100%;
    display: inline-block;
    overflow-y: overlay;
    vertical-align: top;
    padding-bottom: 30px!important;
    padding: 0px 30px;
    height: calc(100dvh - 316px);
}
.activetimer .timelog-details {
    max-height: calc(100dvh - 219px);
}
.timelog-details {color: var(--black);}

.nav-timelog {
    display: flex;
    flex-direction: column;
}
.timelog-meta-details > div {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.timelogs .times > div {
    display: inline-block;
    margin-right: 15px;
}
.timelog-summary, .timelog-details .times {
    text-align: left;
    line-height: 1.4;
}
.timelogs .times {
    width: 100%;
    vertical-align: top;
    display: inline-block;
    font-size: 9pt;
    color: var(--black);
}
.timelog-summary {
    height: 20px;
    line-height: 20px;
    width: 100%;
    color: var(--black);
}
.user-timelog-image {
    float: left;
    display: none;
    height: 49px;
}
.timelogs .entry {
    display: flex;
    /* line-height: 1; */
    /* overflow: hidden; */
}
.timelog-totals {
    padding: 0px 0px 0px 30px;
    text-align: left;
    line-height: 56px;
    font-size: 9.5pt;
    color: var(--black);
    display: block;
    width: 100%;
    height: 56px;
    margin-bottom: 0px;
    position: absolute;
    bottom: 0px;
    background-color: var(--white);
    border-top: 1px solid var(--light-border);
}
.timelog-totals i {
    line-height: 60px!important;
    height: auto!important;
    cursor: pointer;
    color: #777;
}
.timelog-totals i:hover {
    color: #4f7194;
}
.timelogs .times i {
    font-size: 9pt;
    vertical-align: -2px;
    height: auto!important;
    line-height: 1.5;
    display: inline-block;
}
.timelogs button.btn.submit {
    width: 100%;
}
.timelogs button.btn {
    max-width: 100%;
    background-color: #16a3d1!important;
    color: var(--white);
    border-radius: 2px;
    margin-top: 10px!important;
    margin-bottom: 0px;
    width: 100%;
    margin-left: -1px!important;
    box-shadow: none;
}
.timelog-edit-item .btn.cancel {padding-left: 0px!important;text-transform: initial;color: var(--black)!important;}
.timelog-edit-item .btn.cancel:hover {
    color: var(--primary)!important;
}
.timelogs .timelog-edit-item .row .col {
    border-right: 5px solid white;
    margin-bottom: 0px;
}
.timelogs .timelog-edit-item .row .col:last-child {
    border-right: none;
}
.timelogs .timelog-edit-item .row:last-child {
    padding-right: 0px!important;
}
.col.s4
.timelog-edit-item input {
    background-color: #eeeeef!important;
}
.timelog-edit-item {
    padding: 30px;
}
.timelog-edit-item .sub-text {
    margin-bottom: 30px!important;
}
.timelog-edit-item h5 {
    line-height: 40px;
    color: var(--black)!important;
}
.timelog-edit-item > .row {
    padding-bottom: 1px!important;
}
html body .timelog-edit-item input {
    padding-left: 10px!important;
    padding-right: 10px!important;
    border-bottom: none!important;
    box-shadow: none!important;
}
.timelog-item {cursor: pointer;padding: 15px;font-size: 9pt;margin-bottom: 2px;border-radius: 5px;background-color: var(--background-color);}

nav .timelog-item {
    /* background-color: var(--white); */
}
.timelog-item:hover {
    background-color: var(--light);
}
.timelogs input.updatedTime {
    display: inline-block;
}
.time-entries > input, .time-entries
 label {
    display: inline-block;
    float: left;
    max-width: 21%;
}
.time-entries
 label {
    font-size: 9pt;
    padding-left: 3px;
    margin-right: 10px;
}
.time-entries
 label:last-child {
    margin-right: 0px;
}
.timelogs .picker__date-display {
    background-color: #16a4d1;
}
.timelogs .picker__weekday-display {
    background-color: #1d8eb2;
}
.timelogs .picker__day--selected, .timelogs .picker__day--selected:hover, .timelogs .picker--focused .picker__day--selected {
    background-color: #16a4d2;
}
.timelogs .picker__box {
    border: none;
}
.timelogs .picker__nav--prev:hover, .timelogs .picker__nav--next:hover {
    background-color: #16a4d2;
}
.timelogs button.picker__today:focus, .timelogs button.picker__clear:focus, button.picker__close:focus {
    background-color: #16a4d2;
    color: var(--white)!important;
}
.picker__nav--prev:hover:before, .picker__nav--next:hover:before {
    border-left-color: var(--white)!important;
}
.picker__nav--prev:hover:before, .picker__nav--next:hover:before {
    border-right-color: var(--white)!important;
}
.timelogs .picker__day.picker__day--today {
    color: #17a4d0;
}
.timelogs.editing {
    position: absolute;
    left: 0px;
    top: 0px;
    bottom: 0px;
    right: 0px;
    background-color: var(--white);
}
.timer-times .input-field {
    margin-top: 0px!important;
    color: #16a4d2;
    line-height: 45px;
}
.time-description textarea {
    line-height: 1.3!important;
    margin-bottom: 0px!important;
    padding-bottom: 5px!important;
}
.timelog-details .time-desc-update textarea {
    margin-bottom: 0px;
    padding-bottom: 10px;
    line-height: 1.5rem;
}
.timelog-edit-item h5 {
    color: #16a3d2;
    margin-bottom: 5px;
    margin-top: 0px;
    display: inline;
    width: 100%;
}
.assign-a-user .public-users {
    max-height: 30vh;
    min-height: 150px;
    overflow-y: overlay;
    vertical-align: top;
    margin-top: 0px!important;
    display: inline-block;
    width: 100%;
}
.assign-a-user .public-users .row {
    margin-bottom: 0px;
    border-bottom: 1px solid #eeeeef;
    cursor: pointer;
    display: block;
}
.assign-a-user .public-users .row.selected:hover, .assign-a-user .public-users .row:hover, .assign-a-user .public-users .row.selected {
    background-color: #eeeeef;
}
.assign-a-user .public-users .row:hover {
    background-color: #eeeeef;
    color: #333;
}
.assign-a-user {
    background-color: #ffffff;
    padding: 0px!important;
    border: 1px solid var(--lightgrey);
    box-shadow: 0px 3px 5px var(--lightgrey);
    margin-top: 0px!important;
    line-height: 1;
    z-index: 9;
}
.edit-todo-item {min-height: 300px;}
.checklist-editor-item .edit-todo-item {min-height: auto;}
.edit-todo-item .todo-summary .profile-name {
    font-size: 13pt;
    padding-left: 0px!important;
}
.edit-todo-item .todo-summary .profile-name p {
    float: left;
}
.edit-todo-item .todo-summary .profile-image img {
    border-radius: 50%;
    margin-top: 2px;
}
.edit-todo-item .edit-tools {
    position: relative;
}
.edit-todo-item .close {
    border-left: none;
}
.todo-items input, .todo-items input:focus {
    border-bottom: 1px solid var(--lightgrey)!important;
    font-size: 10pt!important;
}
.image-annotations .todo-items .input-field input
.todo-items input:focus {
    background-color: var(--white)!important;
    transition: background-color .2s ease;
}
.edit-tools .delete-todo.btn {
    background-color: #ffffff!important;
    color: var(--warning)!important;
    margin-left: 0px!important;
    border-left: none;
}
.edit-tools .delete-todo.btn:hover {
    background-color: #d32f2f!important;
    color: var(--white)!important;
}
.edit-tools .save-changes.btn {
    width: 100%;
    max-width: 100%;
    margin-top: 10px;
    margin-left: 0px!important;
    background-color: #15a4d2!important;
    color: var(--white);
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
}
.edit-todo-item .delete-todo {
    border-left: none;
    margin-left: 0px!important;
}
.todo-items .edit-todo-item .delete-todo.btn {
    background-color: transparent!important;
    color: var(--warning)!important;
    margin-right: 9px;
    float: left;
    padding-left: 0px!important;
    height: 40px;
    line-height: 40px;
    width: 40px!important;
}
.todo-items .edit-todo-item .delete-todo.btn i {color: var(--black)!important;}
.todo-items .edit-todo-item .delete-todo.btn:hover i {
    color: var(--warning)!important;
}
.edit-tools .bs-searchbox.row {
    margin-bottom: 0px;
}
.edit-tools textarea, 
.modal-body textarea {
    padding: 15px;
    outline: none!important;
    border: none;
    min-height: 90px;
    max-height: calc(100dvh - 490px);
    min-width: 100%;
    max-width: 100%;
    overflow-y: overlay;
    background-color: var(--extra-light)!important;
    color: var(--black);
    transition: background-color .2s ease;
    font-size: 10.5pt;
    line-height: 1.5;
    border-radius: 5px;
}
.edit-tools .leave-comment .materialize-textarea {
    background-color: transparent!important;
    min-height: 70px;
    height: auto!important;
    width: calc(100% - 60px)!important;
    min-width: auto;
    font-size: 13px;
    padding: 0px;
    float: right;
    }
.edit-tools .leave-comment .materialize-textarea {margin-bottom: 5px;background-color: var(--background-color)!important;padding: 15px;border-radius: 3px;width: 100%!important;padding-left: 70px;min-height: 75px;}
.image-annotations .edit-tools .leave-comment .materialize-textarea {
    width: 100%!important;
    padding-left: 20px;
}
.edit-tools .leave-comment textarea.materialize-textarea:focus {border: none!important;box-shadow: none!important;background-color: var(--light)!important;}
.image-annotations .edit-tools .leave-comment textarea {width: calc(100% - 35px)!important;max-width: calc(100% - 65px)!important;float: right;background-color: transparent!important;border-radius: 0px;min-height: 27px!important;height: 20px;background-color: var(--extra-light)!important;padding: 15px;border-radius: 5px;}
.image-annotations .edit-tools .leave-comment textarea::placeholder {color: var(--light-text);}
.edit-tools textarea:focus {
    background-color: var(--white);
}
.edit-todo-header {padding: 40px 40px 15px;}
.image-annotations .edit-todo-header {
    padding: 0px;
}
.todo-items .edit-todo-header .btn {
    background-color: transparent!important;
    color: var(--black);
    box-shadow: none;
    display: inline-block;
    height: 40px;
    line-height: 40px;
    width: 40px;
    padding: 0px!important;
}
.todo-items .edit-todo-header .btn i {width: 40px;}
.image-annotations .todo-items .edit-todo-header .btn
.todo-items .edit-todo-header .btn:hover i {
    color: var(--primary);
}
.todo-items .edit-todo-header .btn.complete-todo:hover {
    background-color: #8BC34A!important;
}
.todo-items .edit-todo-header .btn.complete-todo {
    color: #8BC34A;
}
.todo-items .edit-todo-header .btn.completed {
    color: #8BC34A;
}
.todo-items .edit-todo-header .btn:hover i {color: var(--primary);}
.edit-tools .row.current-assignee {
    border: 1px solid var(--lightgrey);
    height: 45px;
    cursor: pointer;
    position: relative;
}
.edit-tools .row.current-assignee .profile-name p {
    line-height: 1.6;
}
.todo-items .btn.dropdown-icon {
    height: 45px;
    line-height: 45px;
    pointer-events: none;
    position: absolute;
    right: -1px;
    top: -1px;
    background-color: #16a4d2;
    box-shadow: none;
}
.todo-option {
    display: inline-block;
    width: 100%;
}
.edit-todo-item .option-title {
    display: inline-block;
    margin-bottom: 2px;
    margin-top: 15px;
    font-size: 9.5pt;
    line-height: 1.5;
    color: var(--light-text);
}
.todo-items .todo-option .row.todo-priority select {
    border-radius: 0px!important;
    border-bottom-left-radius: 0px!important;
    border-top-left-radius: 0px!important;
    border: none;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    background-color: #eeeeef;
    line-height: 1rem!important;
    padding-left: 10px;
    outline: none;
}
.btn-todos .number-of {
    background-color: var(--primary);
    border-radius: 50%;
    color: var(--awhite);
    font-weight: 500!important;
    font-size: 7pt;
    width: 17px;
    height: 17px;
    padding: 2px;
    display: inline-block;
    vertical-align: middle;
    line-height: 11px;
    position: absolute;
    top: 3px;
    right: 6px;
}
.btn-todos:hover .number-of, .btn-todos.active .number-of {
    color: var(--white);
}
.todo-assignee .ta-image {
    max-width: 40px;
    display: inline-block;
    float: left;
    margin-right: 10px;
    margin-bottom: -3px;
}
.todo-assignee .ta-name {
    display: inline-block;
}
.todo-assignee {
    display: inline-block;
    width: 100%;
    float: left;
    color: var(--light-text);
}
.todo-assignees, .spec-assignees {
    display: inline-block;
    float: left;
    width: 50%;
    margin-bottom: 20px;
    padding-right: 20px;
}
.todo-assignees h6, .spec-assignees h6 {
    font-family: var(--body-font);
    font-weight: 500;
    margin-top: 0px;
}
.read-aloud-spec-description {
    width: 45px;
    height: 45px;
    line-height: 45px;
    padding: 0px!important;
    background-color: var(--white)!important;
    color: #0f2b3f!important;
    box-shadow: none!important;
    z-index: 1;
}
.read-aloud-spec-description:hover {
    color: var(--white)!important;
}
.zj-specification-details:hover .read-aloud-spec-description {
    opacity: 1;
}
.zj-spec-attachment-overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background-color: #efefef;
    display: inline-block;
}
.zj-spec-attachment-overlay .text {
    margin-top: 20vh;
    display: inline-block;
    color: #777;
}
.zj-spec-attachment-overlay i {
    font-size: 60pt;
    color: #0e2b3f;
    margin-top: 21%;
}
.todo-option .btn.fixed-dropdown-icon.right {
    position: absolute;
    right: 0px;
    top: 0px;
    height: 45px;
    line-height: 45px;
    pointer-events: none;
    box-shadow: none;
    background-color: transparent;
    color: black;
}
.todo-option .todo-priority {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 100%;
}
.edit-tools .row.todo-options {
    background-color: var(--white);
    border-top: 0px;
    padding-bottom: 35px;
}
.todo-comments-component .leave-comment .btn {
    width: 100%;
    background-color: #16a4d2!important;
    color: var(--white);
    max-width: 100%;
    margin-left: 0px!important;
    height: 30px;
    line-height: 30px;
    margin-top: -5px;
    border: 1px solid var(--lightgrey);
}
.todo-comments-component .leave-comment .btn:hover {
    background-color: #15a4d2!important;
    color: var(--white)!important;
}
.todo-tool-options .btn {
    max-width: 50%;
    width: 100%;
    margin-left: 0px!important;
    border-right: 1px solid white;
    display: inline-block;
    float: left;
    background-color: #eeeeef!important;
    height: 40px;
    line-height: 40px;
}
.todo-tool-options .btn:hover {
    background-color: var(--white)!important;
    color: #0f2b3f;
}
.todo-tool-options .btn {
    background-color: var(--white)!important;
    border: none;
    font-size: 10pt;
    box-shadow: none!important;
    color: #333;
}
.todo-tool-options {
    margin-bottom: 10px!important;
    display: inline-block;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
}
.todo-edit-sections.todo-fields {
    position: relative;
}
.image-annotations .todo-edit-sections.todo-fields .todo-contain {
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 25px;
}
.todo-edit-sections.todo-comments-component .leave-comment
 textarea {
    max-height: 100px!important;
    min-height: 100px!important;
    height: 100px!important;
}
.todo-comments .author-image {
    display: inline-block;
    max-width: 50px;
    width: 100%;
    float: left;
    padding-right: 10px;
    margin-top: 2px;
    min-height: 40px;
}
.todo-items .author-image .bg-image {
    width: 35px;
    height: 35px;
    display: inline-block!important;
    border-radius: 3px;
}
.leave-todo-comment .author-image .bg-image {
    width: 30px;
    height: 30px;
    display: inline-block;
}
.todo-comments .comment-text {
    display: block;
    white-space: pre-wrap;
    color: var(--black);
    padding: 2px 0px 0px;
    width: 100%;
    word-break: break-word;
    font-family: var(--body-font);
    font-size: 13px;
    line-height: 22px;
    }
.todo-comments .comment {
    display: inline-block;
    width: calc(100% - 80px);
    padding-left: 0px;
    position: relative;
    }
.todo-comments li {
    position: relative;
    list-style: none!important;
}
.todo-comments li:hover .delete-comment {
    display: block;
    width: 30px;
    height: 30px;
    line-height: 40px;
    text-align: center;
    right: 10px;
    top: 8px;
    opacity: 1;
}
.todo-comments li:hover .delete-comment i {
    font-size: 14pt;
    color: var(--black);
}
.todo-comments .comment-details {
    color: var(--light-text);
    font-size: 9pt;
    line-height: 13pt;
    }
.todo-item:hover .assign-user img, .todo-item:hover .assign-user .todo-comment-count {
    display: none;
}
.todo-item.completed:hover .assign-user img, .todo-item.completed:hover .assign-user .todo-comment-count {
    display: block;
}
.todo-item:hover .assign-user .edit-todo-pencil {
    display: block;
    width: 37px;
}
.todo-item .assign-user .edit-todo-pencil {
    display: none;
    line-height: 1.5;
    background-color: #ffffff!important;
    color: #0f2c3f;
    border: none!important;
    height: 34px;
    width: 37px;
    transition: opacity .4s ease;
}
.iframe-wrapper {
    position: relative;
}
.dropdown-content.ticket-todos {
    overflow-y: hidden;
    right: 0px!important;
    left: inherit!important;
    height: calc(100dvh - 102px)!important;
    width: 520px!important;
    max-height: 100dvh;
}
#timer {}
.todo-items .edit-todo-body {
    display: inline-block;
    width: 100%;
    background-color: var(--white);
    box-shadow: 0px 1px 3px var(--lightgrey);
    position: relative;
    border-radius: var(--border-radius-tiny)!important;
}

.edit-todo-body.todo-completed {
    background-color: var(--extra-light);
}
.todo-comment-count {position: absolute;right: 23px;width: 20px;height: 20px;top: 19px;line-height: 1.8;background-color: #16a4d1;color: #ffffff;border-radius: 50%;display: inline-block;font-family: var(--body-font);z-index: 9;}
.todo-comment-count:empty {
    display: none;
}
.edit-todo-item .save-changes.btn {
    width: 100%!important;
    display: inline-block;
    max-width: 100%!important;
    background-color: #16a4d1!important;
    color: var(--white);
    margin-left: -1px!important;
    position: absolute;
    bottom: 0px;
    left: 0px;
    box-shadow: none;
}
.todo-action-buttons {
    text-align: right;
    display: inline-block;
    float: right;
    margin-right: -10px;
    position: relative;
    margin-top: -10px;
}
.image-annotations .edit-todo-item .todo-action-buttons {vertical-align: top;margin-right: -5px;padding-top: 2px;}
.image-annotations .editing-todo .todo-action-buttons {text-align: right;}
body .todo-action-buttons .btn:last-child {
    padding-right: 0px!important;
}

body .image-annotations .todo-action-buttons .btn:last-child {
    margin-right: -10px;
}
body .image-annotations .todo-action-buttons .btn:last-child
.edit-tools .todo-comments {
    padding-bottom: 10px;
}
.editable-comments .todo-comments ul {/* padding-bottom: 15px; */margin-bottom: 10px;}
.editable-comments .todo-comments li {
    padding-bottom: 10px;
    border-radius: 3px;
    margin-bottom: 5px;
    /* background-color: var(--background-color); */
}

.dark .editable-comments .todo-comments li {
    background-color: transparent;
}

.editable-comments .todo-comments li:last-child {
    border-bottom: none;
}
.btn.btn-flat {
    background-color: transparent!important;
}
.recently-viewed.row {
    padding: 20px 0px 5px 20px;
    background-color: #ffffff;
}
.zj-sl-info.spec-info .total-todos {
    position: absolute;
    right: 0px;
    bottom: 0px;
    padding: 5px 10px;
    background-color: #f1f1f1;
    color: #15a1cf;
    z-index: 999;
    font-size: 9pt;
    user-select: none;
}
html body .pi-meta > .spec-actions {
    text-align: right;
    width: 120px!important;
    min-width: 100px;
    position: absolute;
    right: 7px;
    top: 0px;
    opacity: 0;
}
html body .core-list-item:hover .spec-actions {
    opacity: 1;
}
.spec-actions > div {
    width: 45px;
    text-align: center;
    background-color: var(--extra-light);
}
.spec-actions > div > div {
    display: inline-block;
}
.spec-assignee > div {
    display: inline-block;
}
.spec-assignee .sa-number {
    float: right;
    padding-right: 10px;
}
.todo-stats .spec-assignee .sa-number {
    padding-right: 0px;
}
.spec-assignees .spec-assignee {
    color: #16a4d1;
    cursor: pointer;
}
.message-text-icon, .message-text {
    color: var(--black);
    text-align: left;
    margin: 0px;
    line-height: 1.5;
    display: block;
}
.message-text-icon {
    height: 40px;
    margin-bottom: 10px;
    margin-top: 0px!important;
}

.page-notifications .notifications-queue .message-text-icon {
    margin-bottom: -10px;
}
.questions-queue.empty {
    padding: 0px 20px 20px;
    position: absolute;
    top: calc( 50% - 40px);
    width: 100%;
}
.questions-queue .question {
    color: #333;
    line-height: 1.5;
    border-bottom: 1px solid #e9e9e9;
    padding: 20px 10px;
}
.questions-queue .question .issuetype {
    padding: 13px 10px!important;
    box-sizing: border-box;
    text-align: center;
    line-height: 1;
    padding-top: 2px!important;
}
.questions-queue .question .summary, .questions-queue .question .updated {
    line-height: 1.5;
}
.questions-queue .question .summary {
    font-size: 10.5pt;
}
.questions-queue .question .summary-section {
    padding: 0px 10px!important;
}
.questions-queue .question .issuetype img {display: block;max-width: 25px;margin: 0px auto!important;}
.chat-widget-content h5 {
    margin-bottom: 0px;
    font-size: 15pt;
    font-weight: 300;
    height: 50px;
    line-height: 50px;
    width: auto;
    display: inline-block;
    color: var(--primary);
    cursor: pointer;
    font-family: var(--nothing);
    text-transform: lowercase;
}
.questions-count {
    position: absolute;
    bottom: 10px;
    right: 10px;
    font-size: 10pt;
}
.questions-queue-header {
    position: relative;
    padding: 18px 30px 20px;
    line-height: 20px;
    box-shadow: var(--box-shadow);
    z-index: 99;
    display: flex;
    gap: 0;
    flex-direction: column;
    justify-content: space-between;
    /* border-bottom: 1px solid var(--light-border); */
}

.work-panel-header .questions-queue-header {
    display: flex;
    flex-direction: column;
    /* border-bottom: 1px solid var(--border); */
    padding: 0 30px;
    height: 90px;
    gap: 0;
    justify-content: center!important;
}
.questions-queue-header .btn.right {
    padding-right: 0px!important;
    margin-left: 5px;
}
.questions-queue-header h5 {
    width: 100%!important;
    font-size: 15pt;
    font-weight: 300;
    color: var(--primary);
    font-family: var(--nothing);
    cursor: pointer;
}
.questions-queue-header h5.left {
    width: 50%!important;
}
.summary-subsection > div {
    display: inline-block;
}
.summary-subsection {
    font-weight: bold;
    font-size: 9.5pt;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 5px;
    margin-bottom: 0px;
}
.ticket-description {
    padding: 20px!important;
    border-right: 1px solid var(--lightgrey);
}
.ticket-meta {
    display: inline-block;
    font-size: 9pt;
}
.search-filter .search-todos input {
    color: var(--dark);
    margin-bottom: 0px!important;
}
.search-todos input::placeholder {
    color: var(--dark);
}
.todos .items .item {
    padding: 23px 25px 25px!important;
    position: relative;
    list-style: none;
    cursor: initial;
    margin-top: 0px;
    cursor: pointer;
    background-color: var(--white)!important;
    border-radius: var(--border-radius-tiny);
    margin-bottom: 3px;
    box-shadow: var(--box-shadow);
}
nav .todos .items .item {
    width: 100%!important;
    margin: 0 0 2px;
    padding: 20px!important;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
}

.dark nav .todos .items .item {
    margin-bottom: 3px;
    /* background-color: var(--background-color)!important; */
}
.profile-projects .todos .items .item {padding-left: 0px;padding-right: 0px;background-color: transparent;}
.todos .items .item:last-child {
    border-bottom: none;
}
.todos-widget .items .item:first-child {
    margin-top: 0px;
}
.todos-widget .items .item {
    margin-left: 0px;
    margin-right: 0px;
    width: 100%!important;
}
.todos-widget .items .item:last-child {
    margin-bottom: 0px!important;
}
.todos .items .item:hover .todo-author-image {
    opacity: 0;
    visibility: hidden;
}
.profile-todo-items .todos .items .item:hover .todo-author-image {
    opacity: 1;
    visibility: visible;
}
.todos-widget .items .item:last-child {
    margin-bottom: 0px;
}
.todos .items li.item:hover {background-color: var(--extra-light)!important;/* box-shadow: var(--box-shadow)!important; */}

.dark .todos .items li.item:hover {
    background-color: var(--extra-light)!important;
}

.dark .todos .items li.item:hover .the-todos-selectedtext {
    background-color: var(--background-color);
}

.dark .profile-page .todos .items li.item:hover {
    background-color: var(--xwhite)!important;
}
.profile-todo-items .todos .items li.item:hover {
    background-color: transparent;
}
.todos-widget .item .todo-key, .todos-widget .item .todo-created, .todos .item
 .todo-spec-item-name {width: auto!important;display: inline-block!important;}
.todos .item-section i {
    vertical-align: top;
    line-height: 20px;
    width: 19px;
    height: 19px;
    font-size: 19px;
    color: #16a4d1;
    border-radius: 2px;
    margin-left: 0px;
    padding: 3px;
    max-height: 19px;
    position: absolute;
    top: 14px;
    right: 20px;
    display: none;
}
.todos .item-section i.high-priority {
    color: #e5493a;
}
.todos .item-section i.low-priority {
    color: rgb(129, 181, 62);
}
.main-nav h5 {
    margin: 0px;
    text-transform: lowercase;
}
.todos-widget .todo-summary {
    vertical-align: top;
    line-height: 1.7;
    width: 100%!important;
    display: inline-block;
padding-bottom: 0px!important;}
.todos-widget .items {
    max-height: calc(100dvh - 127px);
    overflow-y: auto;
    overflow-y: overlay;
    border: none;
}
.todos-widget .items.todo-items {
    box-shadow: none;
}
.items
.search-todos {
    line-height: 1;
    border-bottom: none;
}
body .search-todos input {
    color: var(--black)!important;
    background-color: var(--extra-light)!important;
}
.zj-jira-description-actions {
    display: inline-block;
}
.action-buttons .btn, .ticket-meta .btn {
    background-color: #ffffff!important;
    color: black;
    border: none;
}
.priority-btn {
    width: 100%!important;
    max-width: 100%!important;
    text-align: left!important;
}
.todo-tool-options .btn.active {
    background-color: var(--white)!important;
    border-bottom: 3px solid #16a4d2;
    color: #16a4d2;
}
.ticket-summary {
    font-size: 15pt;
}
.ticket-dates {
    margin-bottom: 10px;
}
.ticket-comments, .ticket-description {
    overflow-y: overlay;
    height: calc(100dvh - 205px);
}
i.outline-search {
    position: absolute;
    height: 43px;
    line-height: 43px;
    background-color: transparent;
    right: 10px;
}
.search-bar i.outline-search {
    right: 20px;
    padding-top: 4px;
    color: #777;
}
.outline-spec-title {
    margin-top: 10px;
    font-size: 10pt;
    margin-bottom: -10px;
    color: #16a4d1;
    font-weight: 500;
}
.spec-outline-title .project-title {
    font-size: 12pt;
    color: var(--primary);
    cursor: pointer;
    width: 100%;
    padding-right: 30px;
    display: table;
    text-align: left;
    line-height: 15pt;
    width: 100%!important;
    vertical-align: middle;
}
.spec-outline-title {
    color: var(--primary);
    cursor: pointer;
    font-size: 12pt;
}
.spec-outline-title i.right:hover {
    color: var(--primary);
}
.spec-settings .actions h6 {
    margin-top: 0px;
    margin-bottom: 5px;
}
.spec-title-tabs ul {
    background-color: transparent;
    text-align: right;
}
.spec-title-tabs ul.tabs li a {
    color: var(--black)!important;
    text-decoration: none;
    font-size: 10pt;
    padding-left: 15px;
    padding-right: 15px;
}
.spec-title-tabs ul.tabs li a i {
    padding-top: 12px;
}
.spec-title-tabs li.tab a.active {
    color: var(--primary)!important;
}
.tabs .indicator {
    background-color: #16a4d1!important;
}
.spec-cover-overview .card {
    border: 1px solid #e7e7e7;
    margin-top: 0px;
    margin-bottom: 0px;
    border: none;
    box-shadow: 0px 1px 2px var(--shadow);
    background-color: var(--white);
    /* background-image: linear-gradient(to bottom, var(--white), var(--extra-light)); */
    border-radius: 0px;
}
.the-spec-overview-description .card {
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
}
.page-editor .btn-group {
    display: inline-block;
    float: left;
    background-color: #ffffff;
    border-right: 1px solid var(--lightgrey);
}
.page-editor #toolbarWC, .page-editor #toolbarCC {
    float: right;
    background-color: transparent!important;
    display: none!important;
}
.page-editor textarea {
    display: inline-block;
    width: 100%!important;
}
.page-editor .ta-scroll-window.form-control {
    display: inline-block;
    width: 100%!important;
    padding: 0px!important;
    height: calc(100dvh - 152px)!important;
    background-color: transparent;
    margin-top: 37px;
}
.page-editor .page-editor-editor .btn-group
 button {
    background-color: transparent!important;
    box-shadow: none;
    color: #616161!important;
    padding-left: 13px;
    padding-right: 13px;
    transition: all .2s ease-in-out;
    font-size: 10pt!important;
}
.page-editor .page-editor-editor .btn-group button i {
    font-size: 12pt;
}
.page-editor .page-editor-editor .btn-group button:hover, .page-editor .page-editor-editor .btn-group button.active {
    background-color: #dfdfdf!important;
}
.page-editor .ta-editor {box-shadow: none!important;background-color: var(--white);padding: 0px 20px!important;outline: none!important;box-shadow: none!important;}
#taTextElement9165380110980340 {
    padding: 0px!important;
    outline: none!important;
    box-shadow: none!important;
    vertical-align: top;
}
button[name="redo"], 
button[name="undo"], 
button[name="pre"], 
button[name="clear"], 
button[name="undo"] {
    display: none;
}
.page-editor .ta-bind {
    box-shadow: none;
    outline: none;
    padding: 15px 20px!important;
    border: none;
    max-height: calc(100dvh - 152px)!important;
    min-height: calc(100dvh - 152px)!important;
}
.page-editor textarea.ta-bind {
    margin-top: 37px;
}
.spec-document p {
    line-height: 1.5;
    -webkit-margin-before: 0px;
}
.spec-document b {
    font-weight: 500!important;
}
.spec-document ul li {
    list-style-type: initial!important;
    line-height: 1.8;
}
.spec-document ol li {
    list-style-type: decimal!important;
}
.spec-document ol > ul li {
    list-style-type: lower-alpha!important;
}
.spec-document ol > ul > ul li {
    list-style-type: decimal!important;
}
.spec-document ol > ul > ul > ul > li {
    list-style-type: lower-alpha!important;
}
.spec-document ul, .spec-document ol {
    padding-left: 40px!important;
    line-height: 2;
}
.page-editor .ta-toolbar.btn-toolbar {
    opacity: 1!important;
    border-bottom: 1px solid var(--lightgrey)!important;
    display: inline-block;
    width: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 9;
}
.page-editor-editor {
    position: relative;
}
.spec-cover-overview .enable-editor {
    position: absolute;
    right: 0px;
    top: 0px;
    background-color: transparent!important;
    color: #616161;
    z-index: 10;
    height: 45px;
    line-height: 45px;
}
.spec-document:hover .spec-cover-overview .btn.enable-editor {
    display: block!important;
}
.spec-document {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    overflow-y: overlay;
    background-color: var(--background-color);
    height: 100dvh;
    z-index: 9999;
}
.btn.update-document {
    position: absolute;
    right: 40px;
    top: 0px;
    box-shadow: none!important;
    font-size: 10pt;
}
.spec-document p {
    margin-top: 0px!important;
    margin-bottom: 5px!important;
}
.spec-document p:empty, .spec-document p span:empty {
    display: none!important;
}
.spec-document li p {
    margin-bottom: 0px;
}
.features-list {
    padding: 20px;
}
.page-contents img {
    max-width: 100%!important;
}
.feature-editor:hover .enable-editor {
    background-color: #16a3d1!important;
    color: var(--white)!important;
}
.spec-cover-overview .spec-document .enable-editor {
    background-color: #16a3d1!important;
    color: var(--white);
}
.spec-overview-header .edit.btn,
.spec-cover .edit.btn {
    background-color: transparent!important;
    color: #616161;
    opacity: 0;
    box-shadow: none;
}
.spec-overview-header .spec-name:hover .edit.btn,
.spec-cover .spec-summary:hover .edit.btn {
    opacity: 1;
}
.spec-cover .edit.btn:hover, .spec-cover .edit.btn.save {
    color: #16a3d1!important;
    color: var(--white);
    opacity: 1;
}
.spec-cover .edit.btn:hover i, .spec-cover .edit.btn.save i {
    color: var(--primary);
}
.edit-spec-summary textarea {
    width: 100%!important;
    max-width: 100%;
    border: none;
    outline: none;
    min-height: 260px;
    padding: 20px;
    background-color: #f4f4f4;
}
.spec-summary {
    position: relative;
    padding: 40px!important;
    height: calc(100dvh - 64px);
    font-size: 11pt;
}
.the-spec-overview-description .spec-summary {
    max-height: calc(100dvh - 124px);
    padding-bottom: 0px!important;
    overflow-y: hidden;
}

.water-bg .the-spec-overview-description .card, .water-bg .overview-project-details .overview-section {background-color: rgb(17 17 17 / 80%);}
.spec-summary.editor-open {
    overflow: hidden;
}
.spec-action-buttons {
    text-align: right;
}
.spec-action-button.btn {
    font-size: 10pt;
    margin-top: 5px;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}
.spec-docs-header {
    margin-bottom: 20px!important;
    margin-top: 5px;
}
.spec-docs-header input {
    margin-bottom: 0px!important;
    height: 40px!important;
    padding-left: 35px!important;
    border-bottom: none!important;
    background-color: var(--white)!important;
    box-shadow: 0px 1px 1px var(--lightgrey)!important;
}
.zj-body h6 {
    font-size: 16px;
    margin-top: 0px;
    font-weight: 500;
}

.zj-body .sso-settings-page h6 {
    margin-bottom: 0px;
    user-select: text!important;
    font-size: 14px;
}

/* SSO Audit Log Styles */
.sso-settings-page .result-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    text-transform: capitalize;
}

.sso-settings-page .result-badge.success {
    background: rgba(76, 175, 80, 0.15);
    color: #4caf50;
}

.sso-settings-page .result-badge.failure {
    background: rgba(244, 67, 54, 0.15);
    color: #f44336;
    cursor: pointer;
}

.sso-settings-page .clickable-row {
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.sso-settings-page .clickable-row:hover {
    background-color: var(--background-color);
}

.sso-settings-page .error-details-row td {
    padding: 12px 16px !important;
}

.strategy-page h6 {
    margin-bottom: 2px;
    font-family: var(--nothing);
    font-size: 25px;
    color: var(--black);
    width: fit-content;
    /* background-color: var(--light-glass); */
    display: flex;
    padding: 3px 5px;
    border-radius: 3px;
    box-sizing: border-box;
    /* box-shadow: var(--box-shadow); */
    text-transform: lowercase;
}

.strategy-page h6 .btn-transparent {
    margin-left: 10px;
}

.strategy-page h6 .btn-transparent i {
    /* color: var(--primary); */
}

.strategy-page .m3.ta-right .btn {
    background-color: var(--light-glass)!important;
}
.spec-doc-editor-buttons {
    text-align: right;
    padding-top: 0px!important;
    padding-right: 0px!important;
}
.spec-document .doc-header {
    height: 40px;
    vertical-align: top;
    margin-top: 0px;
    background-color: var(--white);
    position: relative;
}
.spec-document .doc-header input {
    margin-bottom: 0px;
    padding-left: 20px;
    font-size: 18pt;
    box-shadow: none!important;
    border: none!important;
    font-family: var(--body-font);
    height: 40px;
}
.spec-document .doc-header input:focus {
    border-bottom: 0px!important;
    box-shadow: none!important;
}
.spec-doc {
    padding: 10px 0px;
    background-color: var(--white);
    display: inline-block;
    margin-bottom: -6px!important;
    width: 100%;
    cursor: pointer;
    font-size: 10.5pt;
}
.spec-doc:hover {
    color: var(--primary);
}
.spec-doc-table-head > div:first-child {
    padding-left: 20px!important;
}
.spec-doc-table-head {
    padding-bottom: 5px;
    display: inline-block;
    font-weight: 400;
}
.spec-doc > div:first-child {
    padding-left: 20px!important;
}
.spec-doc > div {vertical-align: middle;line-height: 33px;}
.spec-document .page-contents {
    display: inline-block;
    width: 100%;
    padding: 20px;
    margin-bottom: 0px!important;
    height: calc(100dvh - 40px);
    overflow-y: overlay;
}
.spec-document .page-contents.iframe {
    padding: 0px;
}
.spec-document .page-contents.iframe iframe {
    width: 100%;
    height: calc(100dvh - 40px);
    border: none;
}
.spec-doc-editor-buttons .btn {
    background-color: transparent!important;
    color: black;
    height: 40px!important;
    line-height: 40px;
    margin-left: -4px!important;
    border-left: none!important;
    box-shadow: none;
    margin-top: 0px;
}
.spec-doc-editor-buttons .btn:hover {
    background-color: #16a3d1!important;
    color: var(--white);
}
.spec-doc .sd-actions {
    text-align: right;
    padding-right: 20px!important;
}
.spec-doc-table-head .sd-actions {
    text-align: right;
    padding-right: 20px!important;
}
.message i {
    display: inline-block;
    vertical-align: middle;
}
.document-data-message .message {
    margin-top: 25vh;
    cursor: pointer;
}
.document-data-message .message:hover {
    background-color: #dddddd;
}
.spec-docs .search i {
    position: absolute;
    top: 7px;
    left: 4px;
    color: grey;
}
.spec-docs .search {
    position: relative;
}
.btn i.left {
    margin-right: 5px;
}
.message.add-new-spec-message {
    padding: 40px;
    max-width: 420px;
    margin: 10vh auto;
    margin-top: calc(50vh - 110px);
    text-align: center;
    font-size: 10pt;
    line-height: 10pt;
}
.btn.exit-editor-btn {
    position: absolute;
    right: 50px;
    top: 0px;
    z-index: 10;
    background-color: transparent!important;
    color: black;
    height: 45px;
    line-height: 45px;
}
.page-contents:hover .message {color: grey;}
.spec-overview .edit-image.btn {
    position: absolute;
    right: 20px;
    top: 20px;
    background-color: transparent!important;
    color: grey;
    opacity: 0;
    box-shadow: none;
}
.spec-overview .spec-image:hover .edit-image.btn {
    opacity: 1;
    transition: opacity .5s ease;
}
.spec-overview .edit-image.btn:hover, .spec-overview .edit-image.btn.save {
    background-color: #16a3d1!important;
    color: var(--white);
    opacity: 1;
}
.spec-cover-overview .edit-name.btn {
    background-color: transparent!important;
    color: grey;
    vertical-align: bottom;
    opacity: 0;
    position: absolute;
    right: 0px;
    top: 7px;
    box-shadow: none;
    height: 45px;
    line-height: 45px;
}
.spec-cover-overview .spec-name:hover .edit-name.btn {
    background-color: #16a4cf!important;
    color: var(--white)!important;
}
.spec-cover-overview .spec-name:hover .edit-name.btn, .spec-cover-overview .spec-name .edit-name.save.btn {
    opacity: 1;
}
.spec-cover-overview .edit-name.btn:hover, .spec-cover-overview .edit-name.btn.save {
    background-color: #16a3d1!important;
    color: var(--white);
}
.spec-name input {
    width: 100%!important;
    display: inline-block;
    float: left;
    border: none!important;
    box-shadow: none!important;
    font-size: 24px!important;
    color: #16a4d1;
    font-weight: 100!important;
    font-family: var(--body-font);
    padding-right: 60px!important;
    z-index: 9;
}
.spec-cover  .spec-name input:focus {
    border: none!important;
    box-shadow: none!important;
}
.spec-name {
    position: relative;
}
.spec-overview .card .spec-name {
    padding-left: 40px;
    padding-top: 30px;
    padding-right: 40px;
    position: unset;
}
.presentation .btn.add-presentation-btn {
    position: absolute;
    right: 0px;
    top: 0px;
    z-index: 9;
    height: 45px;
    line-height: 45px;
    background-color: rgba(255, 255, 255, 0.3)!important;
    color: black;
}
.presentation .btn.add-presentation-btn:hover {
    background-color: #16a4d1!important;
    color: var(--white);
}
.presentation {
    position: relative;
}
.presentation-overlay {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    background-color: rgba(0, 0, 0, .5);
    z-index: 9;
    display: inline-block;
    height: calc(100dvh - 122px);
}
.presentation .presentation-options {
    padding: 20px;
    background-color: var(--white);
    max-width: 50%;
    margin: 10vh auto;
}
.presentation iframe {
    width: 100%;
    height: calc(100dvh - 152px);
    background-color: var(--white);
    border: none;
    padding: 0px!important;
}
iframe.presentation-item.card {
    padding: 0px!important;
}
.presentation-empty-message .message {
    cursor: pointer;
    padding: 10px;
    text-align: center;
    max-width: 30%;
    border-radius: 50px;
    margin: 10vh auto;
    background-color: transparent!important;
}
.presentation-empty-message .message:hover {
    background-color: var(--white);
}
.spec-doc .sd-actions .btn {
    background-color: transparent!important;
    color: grey;
    box-shadow: none;
}
.spec-doc .btn:hover {
    background-color: transparent!important;
    color: #15a3d2;
}
.confirm-dialog .button-action {
    display: inline-block;
    width: calc(33% - 15px);
    margin-right: 20px;
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
    border-radius: 2px;
    box-shadow: 0px 1px 3px var(--lightgrey);
    background-color: var(--white);
    font-family: var(--body-font);
    cursor: pointer;
}
.confirm-dialog .button-action:hover, .confirm-dialog .button-action:hover i {
    background-color: var(--primary);
    color: var(--awhite)!important;
}
.confirm-dialog .button-action:nth-child(3n) {
    margin-right: 0px;
}
.confirm-dialog .button-action i {
    width: 100%;
    text-align: center;
    font-size: 30pt;
    color: var(--primary);
}
.confirm-dialog .text {
    margin-bottom: 20px;
}
.confirm-dialog .button-actions {
    display: inline-block;
    width: 100%;
    background-color: var(--extra-light);
    padding: 20px;
}
.cancel-btn.btn {
    background-color: var(--white)!important;
    color: var(--primary);
    box-shadow: none;
}
.spec-doc .sd-name i {
    margin-top: 5px;
    color: #808080;
}
.spec-statistics .card {
    margin-bottom: 15px!important;
}
.spec-statistics .card {
    margin-right: 20px;
    padding: 20px!important;
}
.page-editor .btn {
    box-shadow: none;
}
.settings .actions h6 {
    margin-top: 0px;
    margin-bottom: 10px;
}
.comfirm-dialog .actions cancel.btn {
    background-color: var(--white)!important;
    color: #16a3d2;
    box-shadow: none;
}
.spec-doc-table-head > div:hover {
    color: var(--primary);
    cursor: pointer;
    user-select: none;
}
.spec-doc-table-head > div:last-child:hover {
    color: black;
}
weekly-scheduler.scheduler.card {
    width: 100%;
    padding: 40px!important;
    margin-top: 0px;
    border: none;
    color: var(--black);
}
.add-new-schedule .dropdown-content li.pick-user {
    padding: 0px;
    margin-bottom: 0px!important;
    line-height: 60px;
    height: 60px;
    border-bottom: 1px solid var(--light);
}
.add-new-schedule .dropdown-content li.pick-user .image {
    padding: 10px!important;
    vertical-align: top;
    display: inline-block;
}
.add-new-schedule .dropdown-content li.pick-user .image img {
    max-height: 100%;
    width: 40px;
}
.settings > .actions {
    margin-bottom: 50px;
}
.schedule-item {
    display: inline-block;
    background-color: var(--white);
    padding: 20px;
    margin-bottom: -4px!important;
    box-shadow: 0px 1px 3px var(--lightgrey);
    width: 100%;
    cursor: pointer;
}
.schedule-item:hover {
    background-color: #dddddd;
}
.schedule-item {
    font-size: 11pt;
}
.schedule-item.card {
    width: 100%;
    cursor: pointer;
    padding: 10px 20px!important;
    margin-bottom: 0px;
    border-bottom: 1px solid #f4f4f4;
}
.ta-right {
    text-align: right;
}
.schedule-name {
    color: #16a3d1;
    display: inline-block;
    line-height: 31px;
}
.float-left {
    float: left;
}
.delete-btn {
    background-color: transparent!important;
    box-shadow: none!important;
    color: #dd4b39!important;
}
.delete-btn:hover {
    background-color: #dd4b39!important;
    color: var(--white)!important;
}
.schedule-item .delete-btn {
    position: absolute;
    right: 20px;
    width: 40px;
    padding: 0px!important;
}
.spec-overview-header {
    padding: 10px 20px 10px;
    display: block;
    display: none;
}
.padding20 {
    padding: 20px;
}
.spec-documents {
    height: calc(100dvh - 64px);
}
.schedule {
    padding: 20px!important;
    box-sizing: border-box;
}
.spec-statistics {
    padding: 20px;
}
.spec-cover .settings {
    padding: 10px 20px!important;
}
.spec-docs-body {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0px 1px 2px var(--shadow);
}
.schedule-item .edit-btn.btn {
    position: absolute;
    right: 60px;
    width: 40px!important;
    box-shadow: none;
    color: grey;
    background-color: transparent!important;
    padding: 0px!important;
}
.schedule-item .edit-btn.btn:hover {
    background-color: #16a3d1!important;
    color: var(--white);
}
.schedule-item .schedule-type {
    line-height: 31px;
}
.scheduleItem {
    padding: 5px;
    border: 1px solid var(--lightgrey);
    margin-bottom: 10px;
}
.scheduleItem.card {
    width: 100%;
    padding: 0px 15px!important;
    margin-top: 0px;
    margin-bottom: 1px;
    position: relative;
    height: 50px;
    line-height: 50px;
    cursor: default;
    border-radius: var(--border-radius-tiny);
    border: none;
    background-color: var(--white);
}

.scheduleItem.card img, .scheduleItem.card i {
    line-height: 50px;
}

.scheduleItem.card .si-delete-row {
    float: right;
    margin-right: -10px;
    height: 50px!important;
    margin-top: 0px!important;
}
.project-section .schedule-items {
    padding: 12px 20px 10px;
    background-color: #ffffff;
    cursor: pointer;
}
.settings .actions i
.schedule-items .si-delete-row.btn {
    position: absolute;
    right: 0px;
    top: 0px;
    height: 44px;
    line-height: 44px;
    box-shadow: none;
    background-color: transparent!important;
    color: grey;
}
.schedule-items .si-delete-row.btn:hover i {
    color: var(--warning)!important;
}
.add-new-schedule-item .add-resource .btn:first-child {
    margin-top: 0px;
    height: 50px;
    border-radius: 5px 5px 0px 0px!important;
    box-shadow: none;
    background-color: var(--background-color)!important;
    width: 100%;
    color: var(--black)!important;
    text-transform: initial;
    border: 1px solid var(--light-border);
    border-bottom: none;
}
.add-new-schedule-item .add-resource .btn:first-child .ds-text {
    padding-left: 20px;
}
.schedule-items .as-sortable-hidden, .schedule-items .as-sortable-placeholder {
    border-radius: 0px!important;
}
.btn.dropdown-button.schedule-type-button {
    box-shadow: none!important;
    background-color: #eeeeef!important;
    color: #323232;
}
.add-new-schedule-item input, .add-new-schedule-item input[type=text]:focus {
    background-color: var(--white)!important;
    padding-left: 15px!important;
    margin-bottom: 0px!important;
    box-shadow: none!important;
    border-bottom: none!important;
}
.add-new-schedule.confirm-dialog .dialog-body {
    margin-top: 100px;
    max-height: calc(100dvh - 80px);
}
.schedule-item-list {
    max-height: calc(100dvh - 360px);
    overflow-y: overlay;
    overflow-x: hidden;
    padding: 20px;
    background-color: var(--background-color);
    border-radius: 0px 0px 5px 5px;
    border: 1px solid var(--light-border);
    margin-top: -6px;
    border-top: 1px solid var(--white);
}
.scheduler .remove i {
    font-size: 14pt;
    vertical-align: sub;
}
.scheduler multi-slider weekly-slot:not(.disable) .remove {
    margin-right: 15px!important;
    margin-top: 0.24px;
    padding-top: 0px;
    padding-left: 10px!important;
    border-radius: 0px;
    padding-right: 10px!important;
    width: 50px;
    height: 36px;
    opacity: 1;
    border-radius: 0px 4px 4px 0px!important;
    line-height: 38px;
}
.schedule-tabs .schedule-tab {
    display: inline-block;
    background-color: var(--white);
    text-align: center;
    border-right: 1px solid var(--extra-light);
    border-top: 1px solid var(--extra-light);
    cursor: pointer;
    background-color: var(--extra-light);
    color: var(--icon-color);
    position: relative;
    user-select: none;
}

.schedule-tabs .schedule-tab:hover, .schedule-tabs .schedule-tab.active {
    color: var(--primary);
    background-color: var(--white);
}
.schedule-tabs .schedule-tab:first-child {
    box-shadow: 0px 2px 2px var(--shadow);
}
.schedule-tabs .schedule-tab:hover {
    background-color: var(--white);
}
.schedule-tabs {
    display: inline-block;
}
.schedule-rows
.overview-meta .labels .schedule-rows .srow {
    font-size: 8pt!important;
}
.scheduler weekly-slot.slot {
    text-overflow: ellipsis;
    height: 36px;
    line-height: 36px;
    margin-top: 1px;
}
.scheduler weekly-slot.slot .remove {
    border-radius: 5px!important;
    margin-left: 5px!important;
}
.scheduler .schedule-item-label {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow-y: hidden;
}
.scheduler-header .settings-actions {
    display: inline-block;
    float: right;
    width: auto;
    text-align: right;
}
.schedule-tab > div {
    display: inline-block;
    vertical-align: text-top;
}
.schedule-tab > .delete-tab {
    display: none;
}
.schedule-tab:hover > .delete-tab {
    display: inline-block;
    position: absolute;
    top: 10px;
    right: 10px;
}
.schedule-tab > .delete-tab i {
    font-size: 16pt!important;
    margin-left: 5px;
}
.spec-doc .sd-name {
    overflow: hidden;
    white-space: inherit;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    padding-right: 20px;
}
.spec-doc .sd-icon i {
    padding-top: 4px;
}
.edit-spec-title-input {
    padding-left: 30px!important;
    font-size: 18px!important;
    color: var(--primary);
    margin-bottom: 0px!important;
    border-bottom: 0px!important;
}
.distraction-free .edit-spec-title-input {
    padding: 0px!important;
}
.dark-mode .edit-spec-title-input {
    color: var(--white);
}
.edit-spec-title input.edit-spec-title-input:focus {
    border: none!important;
    box-shadow: none!important;
}
.schedule-items .add-resource {
    background-color: var(--white);
    position: relative;
}
.add-resource .dropdown-button {
    padding: 11px 15px!important;
}
.add-resource #scheduleResources {
    width: 100%!important;
}
li.pick-user
.add-resource li .name {
    display: inline-block;
}
.add-new-schedule .dropdown-button.schedule-type-button {
    padding: 10px;
    border-bottom: 1px solid #9e9e9e;
    margin-bottom: 20px;
    cursor: pointer;
    user-select: none;
}
.add-new-schedule label.active {
    left: 0px!important;
}
.schedule-name-input {
    margin-top: 14px!important;
}
.add-new-schedule .schedule-type.existing {
    padding-top: 15px;
    font-style: italic!important;
    font-size: 10pt;
    text-align: right;
}
.resources.schedule-item-list .si-row-image {
    max-width: 24px;
    display: inline-block;
    padding-top: 7px;
    height: 50px;
}
.resources.schedule-item-list .si-row-image img {
    height: 25px;
    width: 25px;
    border-radius: 5px;
}
.resources.schedule-item-list .si-row-name {
    display: inline-block;
    vertical-align: top;
    padding-left: 10px;
}
.dropdown-content li>a>i {
    margin-right: 15px;
}
#__lpform_input_idx_0 {
    display: none;
}
.schedule-tabs .tab-name {
    padding: 10px 40px;
}
.spec-name .edit.edit-name.btn {
    margin-top: 7px;
    top: 0px;
    position: absolute;
    right: 0px;
    background-color: transparent!important;
    z-index: 99;
}
.spec-name .edit.edit-name.btn.save {
    opacity: 1;
}
.spec-name .edit.edit-name.btn.save {
    background-color: #18a2d2!important;
    color: var(--white)!important;
}
.zj-specification-comments .missing-items.message {font-size: 10pt;background-color: transparent;}
.zj-jira-attachments .sketch-file {
    max-width: 140px;
    padding: 20px;
    box-shadow: 0px 2px 4px #bebebe;
    background-color: var(--white);
    cursor: pointer;
}
.zj-jira-attachments .sketch-file img {
    box-shadow: none;
    max-width: 50px;
}
.todo-items .todo-item {
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 10px!important;
    padding-bottom: 0px;
    display: block;
}
.checklist .todo-items .todo-item {
    padding-left: 30px;
    padding-right: 30px;
}
.meta-panel .todo-items .todo-item {
    padding-left: 0px;
    padding-right: 0px;
}
.project-quick-todos .todo-items .todo-item {padding-left: 0px;padding-right: 0px;}
.item-section.todos-icons {
    margin-right: 15px;
    width: 25px!important;
    float: left;
    line-height: 1;
    margin-top: 1px;
}
.todos .item-section:last-child {
    overflow: hidden;
}
.item-section.user-img {
    text-align: right;
}
.schedules-page {
    padding: 40px;
}
.weekly-schedule-row {
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 20px;
}
.weekly-schedule-row i {
    float: right;
    font-size: 14pt;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    display: none;
}
.weekly-schedule-row span:hover {
    color: #16a4d1;
    text-decoration: underline;
}
.weekly-schedule-row i:hover {
    color: #16a4d1;
}
.weekly-schedule-row:hover i {
    display: block!important;
}
.project-section-header {
    line-height: 13pt;
    font-size: 11pt;
    color: var(--primary);
    padding: 0px 30px;
    cursor: pointer;
}
.project-section-header i:hover {
    color: var(--primary);
}
.my-schedule-header .tab a {
    color: #16a3d1!important;
}
nav .notification-alert {
    position: absolute;
    top: 9px;
    right: 2px;
    background-color: var(--primary);
    height: 20px!important;
    width: 20px!important;
    line-height: 19px;
    border-radius: 3px!important;
    font-size: 7pt;
    font-weight: 400;
    color: var(--awhite)!important;
    border: 1px solid var(--white);
}

nav .right-nav-item.selected .notification-alert {
    border-color: var(--white);
}

nav li.active .notification-alert {
    background-color: var(--awhite);
    color: var(--primary);
}
.zj-attachment-button.image-notes {
    display: inline-block;
    padding: 0px 10px;
    border-radius: 50px 0px 0px 50px;
}
.zj-attachment-button.image-notes:last-child {
    border-radius: 0px 50px 50px 0px!important;
}
.zj-image-attachment:hover
 .zj-attachment-button.image-notes {
    opacity: 1;
}
.image-notes-section.write-notes textarea {
    outline: none;
    border: none;
    background-color: var(--white);
    padding: 8px 10px;
    text-align: center;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    float: left;
    height: 32px;
    min-height: 53px;
    vertical-align: top;
    line-height: 18px;
    border-radius: 0px 0px 10px 10px;
}
.image-notes-section .small-submit-button {
    background-color: var(--background-color);
    color: var(--black);
    padding: 5px 0px;
    width: auto;
    line-height: 50px;
    min-width: 50px;
    height: 50px;
    float: right;
    cursor: pointer;
    text-align: center;
    display: inline-block;
    }
.image-notes-section .small-submit-button i {
    font-size: 14pt;
    color: var(--primary);
}
.spec-overview .image-notes-section .small-submit-button {
    padding: 5px 20px;
    text-align: center;
}
span.circle-badge {
    background-color: #16a3d2;
    color: var(--white);
    border-radius: 50%;
    width: 20px;
    height: 20px;
    line-height: 20px;
    display: inline-block;
    margin-left: 5px;
}
span.todo-text.ng-binding
.timeline-user-image img {
    width: 40px!important;
    border-radius: 5px;
    box-shadow: none;
}
.timeline-item.card {
    display: inline-block;
    width: 100%;
    padding: 20px;
    cursor: pointer;
    margin-top: 0px;
    margin-bottom: 0px;
    border-bottom: 1px solid #ececec;
}
.timeline-item.card:hover {
    box-shadow: 0px 2px 4px grey;
    background-color: #fafafa;
}
.timeline-item-type i {
    vertical-align: middle;
    font-size: 22pt;
    margin-right: 10px;
    margin-top: -3px;
}
.timeline-item-type {
    /* text-align: left; */
    /* color: #494949; */
    /* user-select: none; */
    /* z-index: 999999; */
}
.timeline-item-type-name {
    font-size: 10pt;
    /* line-height: 26px; */
    /* display: table; */
    line-height: 1.4;
    /* font-weight: 500; */
    text-transform: capitalize;
    color: var(--light-text);
}

.timeline-item-action {
    text-transform: lowercase;
}
.timeline-item-type-icon {
    display: inline-block;
    float: left;
    vertical-align: middle;
    width: 40px;
}
.timeline-item-type-icon.created {
    color: #8BC34A;
}
.timeline-item-type-icon.deleted {
    color: #F44336;
}
.timeline-system-message {color: #9a9a9a;line-height: 18px;display: inline-block;text-align: left;margin-bottom: 0px;width: 100%;float: right;}
.timeline-system-message.ta-right {
    text-align: right;
    font-size: 9pt;
}
html body .timeline-content .timeline-content {
    text-overflow: ellipsis;
    /* white-space: nowrap; */
}
.timeline-content {
    padding: 10px 0px;
    margin-top: 10px;
    position: relative;
    line-height: 1.4em;
    font-size: 9.5pt;
    text-align: left;
}
.task-activity .timeline-content {
    padding: 0px;
    margin: 0px;
    padding-left: 10px!important;
    line-height: 39px;
}
.the-spec-timeline .timeline-content {
    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 10px;
    font-size: 10pt;
    width: 100%;
}
.the-spec-timeline .timeline-content > div.the-timeline-meta {
    display: inline-block;
    width: 100%;
    line-height: normal;
}
.the-spec-timeline .timeline-content > .timeline-content {
    padding-top: 5px!important;
    padding-bottom: 0px!important;
    padding: 0px!important;
    border-radius: 5px;
    display: inline-block;
    width: auto;
    line-height: 21px;
}
.the-spec-timeline .timeline-content.image > .timeline-content {
    padding: 0px!important;
    background-color: transparent!important;
}
.timeline-item-icon-wrapper {
    display: block;
    margin: 0px auto;
    margin-top: 0px;
}
.timeline-item-icon-wrapper > div > i {
    position: absolute;
    left: 8px;
    top: 14px;
    background: transparent;
    border-radius: 50%;
    padding: 5px;
    font-size: 23pt;
}
.timeline-item-type-icon.updated {
    color: #16a3d1;
}
ul#notifications {
    min-width: 420px!important;
}
body nav.main-nav .top-user-nav ul.nav-dropdown {
    right: -500px!important;
    transition: all .3s ease-in-out!important;
    position: absolute!important;
    display: block!important;
    height: calc(100dvh - 64px)!important;
    max-height: calc(100dvh - 64px)!important;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    border-radius: 0px;
}
body nav.main-nav .top-user-nav ul.nav-dropdown.active {
    right: 0px!important;
    opacity: 1!important;
    visibility: visible;
}

nav.main-nav ul .bottom-items {
    /* position: absolute; */
    bottom: 50px;
    left: 0px;
    right: 0px;
}
.top-user-nav > .row {
    display: block;
}

.row.dblock {
    /* padding-bottom: 20px; */
    padding-top: 0px;
}

#usermenu .row.dblock {
    border-bottom: 1px solid var(--light-border);
    cursor: pointer;
}

#usermenu .row.dblock:hover i {
    color: var(--primary);
}

.row.dblock.selected {
    background-color: var(--background-color);
}

.dark .row.dblock.selected {
    background-color: var(--extra-light);
}

.row.dblock.selected .s2 i {
    transform: rotate(180deg);
    margin-top: -15px;
}
#usermenu .dblock:hover .user-menu-user-details {
    cursor: pointer;
    color: var(--primary)!important;
}

#usermenu .row.dblock .user-menu-user-name {
    height: 80px;
}
.input-field.search-timelines {
    margin-top: 0px;
}
.input-field.search-timelines input {
    padding-left: 20px;
    margin-bottom: 0px;
    background-color: #ffffff;
    border-bottom: none;
}
.timeline-page .timeline-items {
    height: calc(100dvh - 64px);
    overflow-y: overlay;
    padding-top: 40px!important;
    padding-bottom: 40px!important;
}
.spec-cover .the-spec-timeline .timeline-items {
    max-width: 780px;
    margin: 0px auto;
    border-radius: 10px;
    }
.timeline .sidebar {
    height: calc(100dvh - 79px);
    position: relative;
}
.timeline-item-type-icon.completed {
    color: #FF9800;
}
.timeline .sidebar .date-filter {
    text-align: center;
    user-select: none;
    color: #16a4d2;
    padding: 20px;
}
.timeline .sidebar .date-filter > div:hover {
    color: #16a3d1;
}
.capitalize {
    text-transform: capitalize;
}
.timeline-item-type-icon.assigned {
    color: #18a2d2;
}
.timeline .sidebar .type-filter {
    padding: 20px;
    vertical-align: top;
    display: inline-block;
    width: 100%;
    padding-top: 0px;
}
.todo-text .authored-by {
    display: inline-block;
    font-size: 8pt;
    font-weight: bold;
}
.inline-block {
    display: inline-block;
}
.picker__date-display {
    background-color: #16a4d1!important;
}
.picker__weekday-display {
    background-color: #16a4d1!important;
    border-bottom: 1px solid #68c8e8;
}
.row.todo-options
 .todo-option.s6:first-child {
    padding: 10px!important;
}
.picker__day--selected, .picker__day--selected:hover, .picker--focused .picker__day--selected {
    background-color: #16a3d2!important;
}
.picker__day.picker__day--today {
    color: #16a3d2!important;
}
.picker__day.picker__day--today.picker__day--selected {
    color: var(--white)!important;
}
.zj-specification-item-details #changeAssignee ul li {
    min-height: 30px;
    padding: 8px 5px;
}
.zj-specification-item-details #changeAssignee ul li.currentAssignee {
    background-color: #eeeeef;
}
#changeAssignee > .assignee-photoURL {
    display: inline-block;
    float: left;
    max-width: 25px;
    max-height: 25px;
    margin-right: 10px;
    margin-left: 10px;
    line-height: 40px;
}
#changeAssignee
 li a {
    padding: 0px 20px;
    line-height: 45px;
    min-width: 240px!important;
}
.todo-inline-comments {
    font-size: 9pt;
    margin-top: 0px!important;
    display: block;
    vertical-align: top;
    transition: all 1s ease;
    opacity: 1;
}
.todo-comments-section .todo-inline-comments {
    margin-bottom: 15px;
}

.todo-comments-section .todo-inline-comments li::before {
    content: ' ';
    width: 1px;
    height: 100%;
    background-color: var(--border);
    position: absolute;
    left: 15px;
    z-index: 0;
}
.todo-edit-sections .todo-inline-comments ul {
    padding-left: 0px!important;
    margin-bottom: 0px;
padding-top: 10px;}
.todo-inline-comments li {
    list-style: none!important;
}
.todo-inline-comments ul {
    padding-left: 0px!important;
}
.todo-inline-comments.ng-hide {
    opacity: 0;
}
.ng-hide.ng-hide-animate {
    display: none!important;
}
li.zj-mention-user {
    background-color: var(--white)!important;
}
li.zj-mention-user.active {
    background-color: var(--extra-light)!important;
}
.todo-table .static-header {background-color: var(--white);}
.timeline .timeline-time {
    font-size: 9.5pt;
    color: #b7b6b6;
    font-family: var(--body-font);
}
.color-blue {
    color: var(--primary);
}
#toast-container .toast-action {
    cursor: pointer;
    display: inline-block;
    padding-right: 20px;
    color: var(--primary);
}

#toast-container .toast-action {
    /* height: 40px; */
    margin-left: 0px;
    /* margin-top: 10px; */
    font-size: 14px!important;
    text-transform: unset;
    width: auto!important;
    cursor: pointer!important;
    padding-left: 10px;
}
#toast-container .btn.remove-toast {
    box-shadow: none;
    border: none;
    background-color: var(--extra-light)!important;
    color: var(--primary);
}
.toast.update-notification, .toast.navy {
    background-color: var(--black);
}
.dark .toast.update-notification, .dark .toast.navy {
    background-color: var(--white)!important;
    background-color: var(--xwhite)!important;
}
.dark .toast.update-notification, .dark .toast.navy {
    background-color: var(--xwhite);
}
.core-list-items .spec-item-card .image {
    max-width: 100%;
    display: inline-block;
    float: right;
    width: 100%;
    margin-left: 0px;
}
.core-list-items.specs {
    width: calc(100% - 260px);
    max-width: calc(100% - 240px)!important;
    right: 0px;
    position: absolute;
    top: 0px;
    /* transition: all .4s ease-in-out; */
}

.core-list-items.specs.active-thin-sidebar {
    max-width: calc(100% - 70px)!important;
    width: calc(100% - 70px)!important;
}
.full-screen .core-list-items.specs {
    width: 100%;
    max-width: 100%!important;
}
.core-list-items.specs.cli-editor {
    width: calc(100% + 80px);
    margin-left: -40px!important;
    margin-right: -40px!important;
    float: none!important;
}
.feedback .listings {
    width: 100%;
}
.core-list-items h5,
.listings h5 {
    color: #16a4d1;
}
.todo-filter.total-result-count.ng-binding
.search-filter {
    position: relative;
}
#projectNavSettings .search-filter {
    margin-left: -30px;
    padding-left: 30px!important;
    margin-right: -30px;
    padding-right: 30px!important;
    width: calc(100% + 60px);
    height: calc(100dvh - 240px);
}
.form-field.search-list .search-filter {
    padding: 0px 20px!important;
}
.form-field.search-list .search-filter input {
    margin-bottom: 0px!important;
    font-size: 10pt;
    height: 50px;
    line-height: 50px;
}
.selected-projects .search-filter {
    padding: 0px 20px;
    border-bottom: 1px solid var(--border);
    background-color: var(--border);
    border-radius: 15px 15px 0px 0px;
}
.selected-projects .search-filter input {
    font-size: 10pt!important;
    margin-bottom: 0px!important;
}
.projects-sidebar .search-filter {padding: 0px;}
.zj-specification-sidebar .search-filter {
    padding-left: 20px;
    padding-right: 20px;
}
.outline-container .search-filter {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 0px;
}
.specs-filters .search-filter {
    padding-left: 30px;
    padding-right: 30px;
    margin-top: 10px;
    margin-bottom: 10px;
    padding-top: 0px;
    height: calc(100dvh - 206px);
}
.sidebar-body .specs-filters .search-filter {
    height: auto;
    padding-left: 0px;
    padding-right: 0px;
}
.the-timelogs-page .specs-filters .search-filter {
    padding-left: 0px;
    padding-right: 0px;
    margin-bottom: 0px!important;
    padding-bottom: 0px;
    margin-top: 0px;
    height: 50px;
    line-height: 50px;
    overflow: hidden;
}
.specs-filters .search-filter form {
    margin-left: -2px;
    margin-bottom: 20px;
}
.specs-filters .search-filter p {
    margin-top: 0px;
    margin-bottom: 1px;
}
.specs-filters .search-filter p label {
    color: var(--icon-color);
}
.search-filter label {
    color: var(--light-text);
    font-size: 10pt!important;
    display: inline-block;
    width: 100%;
}
.grid-filter-options.switch .lever::after {
    border-radius: 20px!important;
}
.the-spec-timeline .search-filter {
    max-height: calc(100dvh - 218px);
}
.todo-data .search-filter {
    background-color: transparent;
    box-shadow: none;
    padding-top: 0px;
    padding-bottom: 30px;
    max-height: calc(100dvh - 146px);
    overflow-y: overlay;
    padding-left: 30px;
    padding-right: 30px;
}
.date-pickerr {
    user-select: none;
}
.date-pickerr i {
    line-height: 50px;
    color: var(--black);
}
.timeline-item {
    padding: 0px 0px 0px 40px;
    background-color: var(--white);
    padding: 30px;
    border-radius: 10px;
}
.timeline-item {
    margin-bottom: 20px;
    margin: 0px auto 5px;
    max-width: 800px;
    padding: 30px;
    background-color: var(--white)!important;
    /* border-radius: var(--border-radius-tiny); */
    box-shadow: var(--box-shadow);
}
.timeline-item:last-child {margin-bottom: 0px;}
.timeline-mid-row > span {
    display: inline-block;
    font-size: 9pt;
}
body .switch label .lever {
    background-color: var(--extra-light)!important;
}

body .feature-switch .switch label input[type=checkbox]+.lever, .dark body .feature-switch .switch label input[type=checkbox]+.lever {
    background-color: var(--background-color)!important;
    margin-right: 0;
}

.dark body .card .border-outline .switch label .lever {
    background-color: var(--light-white)!important;
}

html.dark body .border-outline .switch label .lever {
    background-color: var(--extra-light)!important;
}

.dark body .notification-settings-container .switch label .lever {
    background-color: var(--background-color)!important;
}

body .switch label input[type=checkbox].lever {
    background-color: var(--light)!important;
}
body .switch label input[type=checkbox]:checked+.lever:after {
    background-color: var(--primary);
}
.vertical-tabs .tab {
    width: 100%;
    background-color: var(--xwhite);
    padding: 10px 20px;
    cursor: pointer;
    color: var(--black);
}
.vertical-tabs .tab.active:hover {
    background-color: var(--primary);
    color: var(--white);
}
.vertical-tabs .tab.active {
    background-color: var(--primary);
    color: var(--awhite);
}
.vertical-tabs .tab:hover {
    background-color: var(--extra-light);
}
.vertical-tabs {
    margin-top: 0px!important;
    box-shadow: 0px 1px 1px #e1e2e1!important;
}
.input-field label {position: relative!important;}
.prompt-actions label::before, .prompt-actions label::after {
    top: -9px!important;
}
.btn.delete-worklog {
    border-left: none;
    height: 45px;
    box-shadow: none!important;
    padding-left: 0px!important;
    text-transform: initial;
    color: var(--black)!important;
}
.btn.delete-worklog:hover {
    color: var(--warning)!important;
}
.btn.delete-worklog:hover {background-color: transparent!important;}
.btn.delete-worklog i {
    line-height: 45px;
}
.timelog-author {
    width: 100%;
    margin-bottom: 0px;
    font-family: var(--body-font);
    font-size: 8.5pt;
    line-height: 1.1;
    color: var(--light-text);
}
.timelog-author.timelog-spec-meta span {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    padding-right: 10px!important;
}
.timelog-author span {
    padding-bottom: 3px!important;
    display: inline-block;
}
body .timelog-spec-meta span {
    padding-bottom: 0px!important;
    margin-bottom: 0px!important;
    display: inline-block;
    width: 100%;
    padding-right: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%!important;
}
body .timelog-spec-meta .col > .row > span {
    width: auto!important;
}
body .timelog-spec-meta .col > .row > span:last-child {
    padding-left: 4px!important;
}
input:not([type]):focus:not([readonly])+label, input[type=text]:focus:not([readonly])+label, input[type=password]:focus:not([readonly])+label, input[type=email]:focus:not([readonly])+label, input[type=url]:focus:not([readonly])+label, input[type=time]:focus:not([readonly])+label, input[type=date]:focus:not([readonly])+label, input[type=datetime]:focus:not([readonly])+label, input[type=datetime-local]:focus:not([readonly])+label, input[type=tel]:focus:not([readonly])+label, input[type=number]:focus:not([readonly])+label, input[type=search]:focus:not([readonly])+label, textarea.materialize-textarea:focus:not([readonly])+label {
    color: var(--primary)!important;
}
.timelog-time.right {
    margin-right: 0px!important;
    padding-right: 0px;
}
.timer .timer-times {
    float: left;
    position: relative;
    margin-right: 3px;
}
.timer .elapsed-time {
    display: inline-block;
    padding-right: 0px;
    padding-left: 0px;
    width: 90px;
    float: none!important;
    position: relative;
}
.activetimer .timer .elapsed-time {margin-bottom: 0px;}
.activetimer .timer .elapsed-time .left {
    position: absolute;
    left: -120px;
}
.activeTimer .timer .elapsed-time
.timelog-container {
    line-height: 1;
}
.notification {
    padding: 20px;
}
.notifications-li-wrapper .notifications, .chat-widget-trigger {
    width: 50px;
    text-align: center;
    cursor: pointer;
    position: relative;
}
.timeline-card, .activity-card {
    right: 0px;
    margin-bottom: 0px;
    max-width: 780px!important;
    margin: 0px auto 0px 18px;
    box-shadow: none;
    background-color: transparent;
    min-width: auto;
}
.spec-description-actions .btn {
    height: 50px;
    width: 50px;
    line-height: 50px;
    box-shadow: none!important;
    background-color: transparent;
    color: var(--black)!important;
    display: inline-block;
    text-align: center;
    padding-left: 0px!important;
    padding-right: 0px!important;
    vertical-align: top;
}
.spec-item .zj-section.zj-specification-details:hover .btn.edit-btn.edit-description-button {
    visibility: visible;
}
.small-text {
    font-size: 9pt;
}

.empty-state-message .small-text {
    color: var(--light-text);
    line-height: 1.4;
}
.small-text .section-total {
    color: var(--light-text);
    padding-left: 5px;
}
.dropdown-content .small-text {
    padding-left: 10px;
}
.spec-item-details {
    width: 100%;
    display: inline-block;
    float: left;
    max-height: 50px;
    line-height: 50px;
}
.distraction-free .spec-item-details {
    margin: 0px auto!important;
    float: none!important;
    display: block;
}

.dfFullWidth .spec-item-details {
    max-width: 900px;
}
.meta-panel .panel-viewer .spec-description-action-bar.row {
    display: none;
}
.spec-description-action-bar.row {
    height: 51px;
    line-height: 51px;
    background-color: var(--white);
    position: absolute;
    bottom: -1px;
    /* border-top: 1px solid var(--light-border) !important; */
}
.meta-panel .spec-description-action-bar.row {
    bottom: unset!important;
    top: 0px;
    padding-left: 30px!important;
    padding-right: 30px;
}
.meta-panel .open-editor .spec-description-action-bar.row {
    bottom: 0px!important;
    top: unset!important;
    position: relative;
    right: 0px;
    height: 50px!important;
    line-height: 50px;
    padding-left: 0px!important;
    padding-right: 0px!important;
}
.dark-mode .spec-description-action-bar.row
.spec-item-title {
    padding: 0px 0px 15px!important;
    font-size: 18px;
}
.spec-item-embeddings-item .spec-item-title {
    padding-right: 110px!important;
}
.meta-panel .spec-item-title {
    display: none;
}
.compare-spec-versions .spec-item-title {
    padding-left: 30px!important;
    padding-right: 30px!important;
    padding-top: 28px!important;
}
.show-more-stuff-section .spec-item-title {
    padding-left: 0px!important;
    padding-right: 0px!important;
}
.spec-item .spec-description {
    top: 0px;
    font-size: 11pt;
}
.distraction-free .spec-description .oe > div {
    margin: 0px auto;
}
.meta-panel .spec-item.m6 {width: 100%!important;max-width: 100%!important;}
.spec-description-actions.col.s12.m4
b, strong {
    font-weight: 500;
}
body .btn.disabled, body .disabled.btn-large, body .btn-floating.disabled, body .btn-large.disabled, body .btn-flat.disabled, body .btn:disabled, body .btn-large:disabled, body .btn-floating:disabled, body .btn-large:disabled, body .btn-flat:disabled, body .btn[disabled], body [disabled].btn-large, body .btn-floating[disabled], body .btn-large[disabled], body .btn-flat[disabled] {
    background-color: transparent!important;
    color: var(-light-text)!important;
    border-color: transparent;
}
.popover-content .btn:last-child {
    width: auto;
    padding: 0px 10px!important;
    min-width: 45px;
    display: none;
}
.popover-content {
    line-height: 45px!important;
    padding: 0px!important;
}
.popover-content a {
    max-width: 330px!important;
}
.popover {
    border-radius: 0px!important;
    border: none!important;
    padding: 0px!important;
}
.top-user-nav .btn-timer {
    display: inline-block;
    float: left;
    height: 64px;
    line-height: 64px;
    margin-top: 0px;
    box-shadow: none!important;
    background-color: transparent;
    padding: 0;
    border-radius: 0!important;
}
.top-user-nav .btn-timer i {
    padding-left: 2px!important;
    margin-left: 0px;
    font-size: 18pt;
}
.top-user-nav .btn.active, .top-user-nav li.active, .top-user-nav .btn.active i, .top-user-nav li.active i {
    color: var(--primary);
}
.time-tracker {
    display: inline-block;
    float: left;
}
.top-user-nav.right > li {
    width: 50px;
    padding: 0px!important;
}
.stop-time.btn > i {
    line-height: 50px!important;
    height: 50px;
    color: var(--primary);
}
.stop-time.btn.running > i {
    color: var(--good);
}
.stop-time.btn:hover > i {
    color: var(--awhite);
}
.spec-stat .op-blue {
    color: var(--white);
}
.spec-stat {background-color: #15a3d2;width: 20px!important;height: 20px!important;line-height: 20px!important;display: inline-block;text-align: center;border-radius: 50%;}
.material-inputs .input-field {
    margin-top: 20px;
    text-align: left;
}
.material-inputs .dropdown-select.input-field {
    height: 50px;
    line-height: 50px!important;
    border-bottom: 1px solid var(--lightgrey);
    cursor: pointer;
}
.create-spec .dropdown-content li {
    height: 50px;
    line-height: 50px!important;
}
.create-spec .dropdown-content .add-new-item i {
    float: left!important;
    margin-left: -4px!important;
    padding-left: 0px!important;
    width: auto;
    padding-right: 10px;
}
.create-spec i
.create-spec .form-field i {
    line-height: 50px;
}
.create-spec .form-field.multi-select i {
    line-height: 35px;
}
.create-spec .form-field.multi-select .li-actions i {
    line-height: 45px;
}
.create-spec .dropdown-content
.create-spec .input-field button {
    width: 100%;
    background-color: #16a4d1;
    border-radius: 5px!important;
    padding: 0px 60px!important;
    margin-top: 10px;
}
.create-spec .input-field input {
    margin-bottom: 0px!important;
    padding-left: 0px!important;
    box-shadow: none!important;
    border-color: var(--light)!important;
    vertical-align: top;
    margin-top: -15px!important;
}
.create-spec .input-field input.error {
    border-color: var(--warning);
}
.create-spec .input-field input:focus {
    box-shadow: none!important;
}
.create-spec .input-field textarea {
    min-height: 22px!important;
    border-color: var(--lightgrey);
    margin-bottom: 0px!important;
    box-shadow: none!important;
    min-height: 0px!important;
    padding-bottom: 0px;
}
.create-spec .input-field label {
    line-height: 55px;
    top: -10px;
    user-select: none;
    cursor: pointer;
    left: 0px!important;
    color: var(--dark);
    font-weight: bold;
}
.create-spec .dropdown-option .dropdown-select label {
    padding-left: 20px;
}
.create-spec .input-field label.active {
    transform: translateY(-47%);
    margin-left: 0px;
}
.create-spec .dropdown-option {
    max-width: 100%;
    box-sizing: border-box;
    position: relative;
    cursor: pointer;
}
.back-one-day {
    text-align: left;
    padding-left: 15px!important;
    cursor: pointer;
    border-radius: 5px;
}

.back-one-day:hover i, .forward-one-day:hover i {
    color: var(--primary);
}
#timer h5 {
    color: #999;
    font-size: 12pt;
    padding-left: 0px;
}
.edit-settings-btn.active i {
    color: var(--primary);
    user-select: none;
}
.timelog-totals i {
    /* font-size: 14pt!important; */
}
.timer-title {
    color: var(--primary);
    font-size: 13pt;
    cursor: pointer;
    font-weight: 100;
}
.settings-section-header {
    color: var(--dark);
}

.settings-section-header.billing-header {
    display: flex;
    gap: 10px;
    line-height: 31px;
}

.user-viewer .settings-section-header {
    font-weight: 500!important;
}
.no-time-entries .empty-message-image {
    max-width: 25%;
    margin: 0px auto 20px;
}
.no-time-entries .empty-message {
    color: #828282;
    text-align: center;
    font-size: 10.5pt;
}
.no-time-entries .empty-message-title {
    color: #595959;
    text-align: center;
    font-size: 16pt;
    margin-bottom: 5px;
}
.no-time-entries {
    width: 100%;
    padding: 20px;
    overflow-y: overlay;
}
ng-quill-editor > div > .ql-container {
    border: none!important;
}
ng-quill-editor > div > .ql-container .ql-editor {
    padding: 20px;
    font-size: 11.5pt;
    background-color: var(--white);
}
.create-spec ng-quill-editor > div > .ql-container .ql-editor {
    max-height: 60vh;
    overflow-y: overlay;
}
.create-spec .ql-editor.ql-blank::before {
    left: 20px;
}
ng-quill-editor .ql-toolbar {
    border: none!important;
    border-bottom: 1px solid #ffffff!important;
    padding-top: 0px!important;
    padding-bottom: 0px!important;
}
.posts-create ng-quill-editor .ql-toolbar {
    border: none!important;
    user-select: none!important;
    padding-left: 0px;
    padding-right: 0px;
}
ng-quill-editor .ql-toolbar .ql-formats {
    margin-right: 0px!important;
    vertical-align: top;
}
.ql-editor ng-quill-editor .ql-snow.ql-toolbar button, .ql-editor ng-quill-editor .ql-snow.ql-toolbar .ql-picker-label {
    width: 40px;
    height: 40px;
    padding: 11px;
    padding-left: 11px!important;
    outline: none;
}
.ql-editor p:empty {
    /* display: none!important; */
    /* opacity: 0; */
    /* visibility: hidden; */
    margin-bottom: 20px;
}
.settings-body .vertical-tabs {
    margin-top: 0px;
}
button.side-btn.btn {
    width: 55px;
    height: 55px;
    text-align: center;
    z-index: 99;
    position: absolute;
    top: 0px;
    right: 0px;
}
button.side-btn.btn i {
    margin: 0px;
}
.input-side-btn {
    position: relative;
}
.input-side-btn .select-wrapper {
    width: calc(100% - 55px);
}
.select-wrapper .caret {
    width: 45px;
    text-align: center;
    color: var(--icon-color)!important;
    font-size: 7px!important;
}
.select-wrapper i {
    position: absolute;
    right: 0px;
    top: 0px;
}
.input-side-btn .input-field i {
    right: 55px;
    line-height: 55px;
    position: absolute;
    user-select: none;
    pointer-events: none;
}
body .btn, body .btn-large {
    background-color: var(--primary);
    text-align: center;
    letter-spacing: normal;
    border-radius: 3px!important;
    text-transform: capitalize;
    font-size: 13px;
}
body .dropdown-content li>a, body .dropdown-content li>span {
    color: var(--black);
    font-size: 14px;
}
.select-wrapper input {
    border: none!important;
    margin-bottom: 0px!important;
}

.filter-bar .select-wrapper input {
    font-size: 13px;
}
.select-wrapper i.material-icons {
    position: absolute;
    right: 0px;
    top: 0px;
}
.input-field.multi-selector i {
    position: absolute;
    right: 0px;
    top: 0px;
    line-height: 45px;
    width: 45px;
    height: 45px;
    text-align: center;
    margin: 0px!important;
}
.input-field.multi-selector {
    position: relative;
    display: inline-block;
    width: 100%;
}
.dropdown-user-image {
    max-width: 45px;
    max-height: 45px;
    display: inline-block;
    float: left;
    margin-bottom: 1px;
}
.dropdown-user-name {
    display: inline-block;
    padding-left: 10px;
    padding-right: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dropdown-content ul li.add-new-item {
    padding: 0px 10px;
    position: relative;
    line-height: 45px;
    height: 45px;
    background-color: var(--white);
    color: #16a3d3;
    border-bottom: 1px solid #16a3d3;
}
.dropdown-content ul li.add-new-item i {
    line-height: 45px;
}
.dropdown-content li.search-item input {
    display: inline-block;
    margin-bottom: 0px;
    padding-left: 20px;
    background-color: var(--white);
    color: var(--black);
    height: 50px;
}
#searchViewers {
    background-color: transparent!important;
    padding: 0px 15px!important;
}
.dropdown-content li.search-item {
    position: relative;
    padding-top: 0px;
}
.dropdown-content li.search-item i {
    position: absolute;
    right: 0px;
    top: 0px;
    line-height: 50px;
    width: 50px;
    text-align: center;
}
.modal .input-field.col label {
    left: 0px!important;
}
i.material-icons {
    user-select: none;
}
.teams .multi-selector {
    padding: 20px 0px;
    background-color: var(--white);
}
#teams li > div {
    padding-left: 20px;
}
.project-details .dropdown-select {
    display: inline-block;
    width: 100%;
    /* height: 45px; */
    /* line-height: 45px; */
    margin-top: 0px;
    margin-bottom: 0px!important;
}
.project-details .dropdown-select label {
    top: 0px;
    padding-left: 15px;
    padding-right: 30px!important;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    color: var(--dark);
    font-size: 10pt;
}
.project-details .dropdown-select label span.small-text {
    padding-right: 45px;
}
ul.vertical-tabs {
    margin-top: 0px;
}
.teams .card {
    margin-top: 0px;
    padding: 20px;
}
.project-details-label {
    text-align: left;
    font-weight: bold;
    width: auto;
    display: inline-block;
}
.project-role-settings .project-details-label {
    font-size: 11pt;
    font-weight: 400!important;
}
.teams .actions {
    margin-top: 20px;
}
li.add-new-item {
    padding-left: 10px;
    color: var(--black)!important;
    line-height: 50px!important;
    border-bottom: 1px solid var(--border);
}
li.add-new-item i {
    line-height: 50px;
    width: 50px;
    text-align: center;
    margin-right: 0px;
}
i.select-caret {
    position: absolute;
    right: 0px;
    top: 0px;
    line-height: 45px;
    width: 45px;
    text-align: center;
}
.dropdown-select i {
    line-height: 50px;
    width: 50px;
    text-align: center;
    position: absolute;
    right: 0px;
    font-size: 15pt;
}
.project-details .dropdown-select.input-field {
    background-color: var(--background-color);
    /* border-right: 1px solid var(--light); */
    border-radius: 5px;
}
.project-details .form-field.col.m6:first-child {
    padding-right: 20px!important;
}
.project-details .multi-select-header i {
    line-height: 35px;
}
.project-details .form-field {
    margin-bottom: 20px;
}
.project-details .small-text {
    color: #aaa;
    float: right;
    padding-left: 20px!important;
}
.settings .card {
    padding: 40px;
    background-color: var(--white);
    margin-top: 10vh;
    border-radius: var(--border-radius-tiny);
    margin: 40px auto;
    /* max-width: 960px; */
}
.integrations-section.settings-section.card {
    margin-top: 40px;
}
.checklist.card {
    margin-top: 0px;
    background-color: var(--white);
}
.admin-settings-section .card {
    margin: 5px auto 0px;
    border-radius: var(--border-radius-tiny);
}

.admin-settings-section .card .setting-option:last-child, .admin-settings-section .card .setting-option:last-child .text-field {
    padding-bottom: 0px;
}

.setting-option.theme.code-theme .select-wrapper {
    background-color: var(--background-color);
    padding: 0 20px;
    border-radius: var(--border-radius-tiny);
    margin-bottom: 10px;
}

.setting-option.editor-preference {
    padding-top: 20px;
}

.core-list-items .favorite-specs,
.listings .favorites {
    margin-bottom: 20px!important;
}
.settings-include .settings {
    padding: 0px!important;
    height: auto!important;
    overflow: unset;
}
.settings-include .settings .card {
    box-shadow: none;
    padding: 0px!important;
}
.multi-select-header .btn {
    width: 50px;
    height: 35px;
    position: absolute;
    right: 0px;
    top: 0px;
    background-color: transparent;
    color: #15a3d2;
    cursor: pointer;
    text-align: center;
    padding: 0px!important;
}
.multi-select-header .btn:hover {
    color: var(--white);
}
.multi-select-header .btn i {
    margin: 0px;
}
.multi-select-header {
    position: relative;
    height: 35px;
    line-height: 35px;
}
.multi-select-header label {
    font-size: 11pt;
    color: black;
}
.multi-select-list .ms-li .li-actions {
    text-align: right;
}
.multi-select-list .ms-li .li-actions .btn {
    margin-top: -2px;
    height: 45px!important;
}
.multi-select-list .ms-li {
    height: 45px;
    line-height: 45px;
    box-shadow: 0px 1px 2px var(--lightgrey);
    display: inline-block;
    background-color: var(--white);
    width: 100%;
    margin-bottom: -5px!important;
    padding-left: 15px;
    text-align: left;
}
.multi-select-list {
    padding: 10px;
    background-color: var(--extra-light);
}
.ms-li .li-name {
    font-size: 10pt;
}
.multi-select li.add-new-item {
    padding-left: 0px;
    text-align: left;
}
.multi-select li.add-new-item, .multi-select li.add-new-item i {
    line-height: 55px!important;
}
.multi-select li.add-new-item i {
    margin-right: 0px;
}
.create-spec .form-field.multi-select {
    margin-bottom: 20px;
    margin-top: 20px;
}
.form-field {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0px 0px 20px!important;
}

.project-meta-settings .form-field:last-child {margin-bottom: 15px!important;}
.create-spec .form-field {
    padding-top: 20px!important;
    padding-right: 20px!important;
}
.create-spec .form-field:last-child {
    padding-right: 0px!important;
}
#sizes li a span.small-text {
    padding-left: 20px;
    color: #aaa;
}
.form-field label {
    text-align: left;
    padding-left: 20px;
}
.spec-item li {
    user-select: text;
}
.specs .section-actions {
    text-align: right;
}
.specs .section-actions .btn {
    background-color: var(--white);
    color: #15a3d2;
    height: 45px;
    line-height: 45px;
    width: 78px;
    padding: 0px;
}
.specs .section-actions .btn:hover {
    color: var(--white);
}
.create-spec .form-field label {
    padding-left: 0px;
    color: var(--dark);
    cursor: pointer;
}
.create-spec .size-and-jira .form-field .dropdown-select {
    border-bottom: 1px solid var(--lightgrey);
}
.row.size-and-jira > div {
    padding-right: 20px!important;
}
.row.size-and-jira > div:last-child {
    padding-right: 0px!important;
}
.create-spec .input-field textarea:focus, .create-spec .input-field textarea.ng-not-empty {
    padding-bottom: 20px;
}
.li-actions .btn i {
    line-height: 45px;
}
#notifications .summary-section .summary {
    line-height: 1.5;
    font-size: 10.5pt;
}
.spec-outline-more-filters {
    z-index: 00;
}
.zj-sl-section-body li {
    position: relative;
}
.zj-sl-section-body li a {
    color: var(--black)!important;
}
#specnav {
    top: 64px!important;
}
.specnav i {
    margin-left: 5px!important;
}
.show-more-stuff-section {
    padding: 0px 20px 20px;
    height: calc(100dvh - 155px);
    overflow-y: overlay;
}
.schedules-page .page-body {
    height: calc(100dvh - 157px);
    overflow-y: overlay;
    width: 100%;
    padding: 0px!important;
}
.modal a {
    color: var(--black)!important;
    text-decoration: none;
    text-transform: initial;
}
.modal.warning h4 {
    color: #F44336;
}
.warning.modal a.forward-action {
    background-color: #F44336;
    color: var(--white)!important;
}
.presentation-empty-message {
    padding: 20px;
}
.spec-overview-images {
    overflow-y: overlay;
    height: calc(100dvh - 64px);
    display: inline-block;
    position: relative;
    z-index: 0;
}
.edit-spec-summary .ql-container {
    overflow-y: overlay;
    height: calc(100dvh - 232px)!important;
}
.notification-thread li.item {
    padding: 20px;
    position: relative;
    background-color: var(--white);
    margin-top: 0px;
    border-radius: var(--border-radius-tiny);
    margin-bottom: 5px;
    width: 100%;
    transition: all .25s ease-in-out;
    box-shadow: var(--box-shadow);
    /* border: 1px solid var(--light-border); */
}

nav .notification-thread li.item {
    /* background-color: var(--background-color); */
}

.dark nav .notification-thread li.item {
    /* background-color: var(--extra-light); */
}

nav .notification-thread li.item .notification-enhancement {
    /* background-color: var(--white); */
}
.profile-notifications .notification-thread li.item {list-style: none;}
.notification-thread li.item:first-child {
    margin-top: 0px;
}
.notification-thread li.item:last-child {
    margin-bottom: 0px;
}
.dark .notification-thread li.item:hover {
    background-color: var(--extra-light);
}
.notification-thread li.item:hover {
    background-color: var(--light-plus);
    border-color: var(--light-plus);
}
.dark .notification-thread li.item:hover {
    background-color: var(--xwhite);
    border-color: var(--extra-light);
}
.dark .notification-thread li.item:hover .Todocompleted-completed {
    opacity: 1;
}
.dark .profile-notifications .notification-thread li.item:hover {background-color: var(--hover-item);}
.notification-thread li.item:hover .todo-summary-message-content {
    background-color: var(--white);
}
.dark .notification-thread li.item:hover .todo-summary-message-content {
    background-color: var(--extra-light);
}
.notification-thread .todo-key {
    display: inline-block;
    float: left;
}
html body .notification-thread .todo-summary {
    font-size: 9.5pt;
    line-height: 1.4;
    margin-top: 0px;
    width: 100%!important;
    vertical-align: top;
}
html body .notification-thread .todo-summary.compare-spec-versions {
    height: auto;
}
html body .notification-thread .todo-summary .ql-editor {
    font-size: 9.5pt!important;
    line-height: 23px;
    -webkit-mask-image: none!important;
    max-height: 200px;
    overflow-y: auto;
    width: 100%;
    max-width: 100%;
    word-wrap: break-word;
    text-align: left;
}
html body .notification-thread .todo-summary .ql-editor p, html body .notification-thread .todo-summary .ql-editor div, html body .notification-thread .todo-summary .ql-editor span {
    font-size: 9.5pt!important;
}
html body .notification-thread .todo-summary .ql-editor span {
    padding: 0px;
    line-height: inherit;
}
html body .notification-thread .todo-summary .ql-editor.spec-itemm {
    white-space: initial!important;
}
html body .notification-thread .todo-summary .ql-editor:hover
.notification-thread .item-section:last-child {
    line-height: 1.5;
    overflow: hidden;
    text-overflow: hidden;
}
.notification-thread .todo-widget-meta {
    display: block;
    width: 100%;
    margin-bottom: 1px!important;
}
.notification-thread .todo-widget-meta li {
    color: var(--black);
}
.item-section .dismiss-notification {
    position: absolute;
    top: 2px;
    right: 0px;
    width: 25px!important;
    height: 25px;
    line-height: 25px;
    cursor: pointer;
    display: none;
    padding-left: 4px;
    /* background-color: var(--background-color); */
    transition: all .3s ease-in-out;
}
.profile-notifications .item-section .dismiss-notification {top: 10px;right: 10px;width: 30px!important;height: 30px!important;left: unset;/* background-color: var(--extra-light); */z-index: 9999;border-radius: var(--brxs);}

.profile-notifications .item-section .dismiss-notification i {
    color: var(--warning)!important;
}
.notification-thread li:hover .item-section .dismiss-notification {
    display: block;
}

.notification-thread li .item-section .dismiss-notification:hover i {
    color: var(--warning)!important;
}
.item-section .dismiss-notification i {
    font-size: 15px;
    line-height: 30px;
    height: 30px;
    color: var(--icon-color)!important;
}

li.item:hover .item-section .dismiss-notification i {
    color: var(--icon-color)!important;
}

li.item:hover .item-section .dismiss-notification i:hover {
    color: var(--warning)!important;
}

.item-section .dismiss-notification i:hover {
    color: var(--warning)!important;
}
.item-section .dismiss-notification:hover i {
    color: var(--primary)!important;
}
.notifications-queue {
    height: calc(100dvh - 192px);
/* Notification date headers */
    overflow-y: auto;
    overflow-y: overlay;
    padding: 0px 30px 30px!important;
    padding-top: 0px;
    margin-bottom: -2px;
    background-color: var(--light-white);
}

nav .notifications-queue {
    /* background-color: var(--white)!important; */
}

.dark .notifications-queue {
    /* background-color: var(--background-color); */
}
.notifications-queue .message .message-text {
    margin: 20px auto!important;
    float: none!important;
    padding: 10px 20px;
    background-color: var(--extra-light);
    border-radius: 50px;
    max-width: calc(100% - 60px);
    width: auto;
    display: table;
}
.notifications-queue .message .message-text i.btn {
    height: auto!important;
    line-height: 20px!important;
    padding-right: 5px!important;
    padding-left: 5px!important;
    font-size: 14pt;
}
.notifications-queue .message {
    display: inline-block;
    width: 100%;
}
.profile-notifications .notifications-queue {max-height: unset!important;width: 100%;background: transparent;}
.ql-editor strong {
    /* letter-spacing: -0.2px; */
    font-weight: 700!important;
}
.ql-editor button.ql-bold.ql-active {
    background-color: #16a3d1;
}
.ql-editor button.ql-bold.ql-active .ql-stroke, 
.ql-editor .ql-toolbar .ql-formats button:hover .ql-stroke {
    stroke: #ffffff!important;
}
.ql-editor .ql-toolbar .ql-formats button:hover .ql-fill {
    fill: white!important;
}
.ql-editor .ql-toolbar .ql-formats button:hover, .ql-editor .ql-toolbar .ql-formats .ql-picker:hover {
    background-color: #16a3d1!important;
}
.ql-editor .ql-snow .ql-color-picker, .ql-editor .ql-snow .ql-icon-picker {
    width: 40px!important;
    height: 40px;
    outline: none!important;
}
.ql-editor .ql-color.ql-picker.ql-expanded {
    background-color: #16a3d1;
    color: var(--white);
}
.ql-editor .ql-size.ql-picker, 
.ql-editor .ql-size .ql-picker-label,
.ql-editor .ql-header.ql-picker, 
.ql-editor .ql-header .ql-picker-label,
.ql-editor .ql-font.ql-picker, 
.ql-editor .ql-font .ql-picker-label {
    width: 100px!important;
    border: none!important;
    line-height: 40px;
    padding: 0px 5px!important;
    padding-top: 0px!important;
}
.ql-editor .ql-size.ql-picker,
.ql-editor .ql-header.ql-picker,
.ql-editor .ql-font.ql-picker {
    height: 40px;
}
.ql-editor .ql-size.ql-picker .ql-picker-label.ql-active,
.ql-editor .ql-header.ql-picker .ql-picker-label.ql-active,
.ql-editor .ql-font.ql-picker .ql-picker-label.ql-active {
    color: #16a4d2!important;
}
.ql-editor .ql-snow .ql-picker-item {
    width: 38px;
    height: 34px;
    padding: 10px;
}
.spec-doc-wrapper .page-contents .document-data, .spec-doc-editor.ql-editor {
    padding: 50px;
    max-width: 900px;
    margin: 0px auto;
    background-color: var(--white);
    box-shadow: 0px 1px 3px var(--lightgrey);
}
.spec-doc-editor.ql-editor .cke_contents {
    height: 100%!important;
}
.ql-editor .ql-snow .ql-picker-label::before {
    line-height: 40px!important;
    vertical-align: top;
}
html body .ql-editor {
    font-size: 14px;
    line-height: 24px;
    font-family: var(--body-font);
    /* letter-spacing: -0.1px; */
}

.jtsyn-tiptap-editor.oe.ql-editor {
    position: relative;
}

.ql-editor mark {
    background-color: var(--highlight);
}

html body .ideas-detail-description .ql-editor {
    line-height: 25px!important;
    /* color: var(--light-text); */
}
html body .todo-summary .ql-editor {
    font-size: 14px;
    padding: 0px;
}
html body .nav-todos-list-container .todo-summary .ql-editor {
    font-size: 13px;
    line-height: 20px;
}
body .panel-body .ql-editor {
    padding: 0px;
    word-break: break-word;
}
body .panel-body .ql-editor ul {
    padding-left: 40px;
}
html body .ql-editor ul li {
    list-style-type: disc;
    font-size: inherit;
    user-select: auto!important;
    cursor: unset!important;
    line-height: 24px;
    width: 100%;
}
nav .ql-editor ul ul {
    margin-top: 0px!important;
    margin-bottom: 0px!important;
}
body .zj-body ul li.ql-indent-1 {
    margin-left: 40px;
}
body .zj-body ul li.ql-indent-2 {
    margin-left: 80px;
}
body .zj-body ul li.ql-indent-3 {
    margin-left: 120px;
}
body .zj-body ul li.ql-indent-4 {
    margin-left: 160px;
}
body .zj-body ul li.ql-indent-5 {
    margin-left: 200px;
}
body .zj-body ul li.ql-indent-6 {
    margin-left: 240px;
}
.core-list-item .status,
.listing-item .status {
    display: inline-block;
    height: 50px;
    padding: 0px;
    text-align: left;
    border-radius: 3px;
    padding-left: 5px;
    padding-right: 5px;
}
.core-list-item .status[title="In Progress"], .core-list-item .status[title="Spec Writing"] {
    color: var(--inprogress);
}
.core-list-item .status[title="In Review"] {
    color: var(--review);
}
.core-list-item .status[title="Completed"] {
    color: black;
}
.core-list-item .status[title="Ready for Dev"],
.core-list-item .status[title="In Dev"] {
    color: var(--inprogress);
}
.core-list-item .status[title="Backlog"] {
    color: var(--backlog);
}
.core-list-item .status[title="Prioritized"] {
    color: var(--prioritized);
}
.core-list-item .status[title="On Hold"] {
    color: #F44336;
}
.core-list-item .status[title="Archived"],
.core-list-item .status[title="Closed"] {
    color: var(--closed);
}
.add-comment-tooltip {
    position: absolute;
    top: 0px;
    right: -20px;
    cursor: pointer;
}
.ql-editor p, .ql-editor li {
    margin-top: 0px;
    padding-bottom: 1px;
    padding-top: 1px;
    /* margin-bottom: 0; */
}
nav .ql-editor p {
    /* margin-bottom: 0px!important; */
    line-height: 23px;
}
.card.medium-card {
    max-width: 900px;
    margin: 0px auto;
    padding: 40px;
    background-color: var(--white);
}
.support-page {
    padding-top: 40px;
    padding-bottom: 40px;
    height: calc(100dvh - 66px);
    overflow-y: overlay;
    width: 100%;
}
.support-page h5 {
    max-width: 860px;
    margin: 0px auto 10px;
    font-family: var(--nothing);
}
.support-page .card.medium-card {
    max-width: 860px;
    background: transparent;
    box-shadow: none!important;
    padding: 0;
}
.btn.white-btn {
    background-color: var(--white);
    border: none;
    color: var(--icon-color);
}
.btn.white-btn:hover {
    background-color: var(--primary)!important;
    color: var(--white);
}
del {
    text-decoration: none;
}
.product-dashboard.page {
    padding: 20px;
}
.card.dashboard-widget {margin-bottom: 0px;}
.project-type-selector .project-type {
    display: inline-block;
    width: calc(50% - 30px);
    cursor: pointer;
    transition: all .2s ease-in-out;
    padding: 50px 0px;
    border: none;
    border-radius: 10px;
    margin-right: 10px;
    vertical-align: top;
    background-color: var(--xwhite);
}
.project-type-selector .project-type.main {
    width: 200px;
    height: 150px;
    margin-right: 20px;
}
.project-type-selector .project-type.main:nth-child(2n) {
    margin-right: 0px!important;
}
.project-type-selector .project-type:hover {
    background-color: var(--primary);
    color: white;
}
.project-type-selector .project-type:hover i {
    color: var(--awhite);
}
.project-type-selector .project-type i {
    transition: color .2s ease-in-out;
}
.project-type {
    width: 170px;
}
.project-type-selector .project-type:last-child {
    margin-right: 0px;
}
.project-type i {
    line-height: .8;
}
.project-type.selected:first-child i {
    color: var(--white);
}
.project-type:first-child i {
    color: var(--primary);
}
.project-type .project-type-title {
    font-weight: bold;
    font-size: 10pt;
}
.project-type-selector .project-type img {
    max-width: 50px;
}
.project-type-selector .project-type.selected {
    background-color: #02b6df;
    color: var(--white);
}
.project-type.selected .project-type-title {
    color: var(--awhite);
}
.project-type-selector {
    margin-top: 20px;
    margin-bottom: 40px;
}
.jira-type-selector .project-type {
    display: inline-block;
    margin-right: 20px;
    padding: 20px 30px;
    border: 1px solid var(--lightgrey);
    cursor: pointer;
    transition: all .2s ease-in-out;
}
.jira-type-selector .project-type:last-child {
    margin-right: 0px!important;
}
.jira-type-selector .project-type.selected {
    background-color: #02aeda;
    border-color: #02aeda;
}
.project-type img {
    max-width: 50px;
}
.jira-type-selector {
    margin-top: 20px;
}
.input-field #spec_name[type=text]:disabled {color: #333;}
.search-for-project .btn {
    width: auto!important;
    position: absolute;
    right: 0px;
    bottom: 0px;
    height: 55px;
    width: 55px!important;
    line-height: 55px;
    text-align: center;
}
.search-for-project {
    position: relative;
}
.pick-a-project .dropdown-content {
    display: block;
    opacity: 1;
}
.select-project-type > div {
    width: 200px;
    display: inline-block;
    padding: 20px;
    border: 1px solid var(--lightgrey);
    margin-right: 7px;
    font-weight: bold;
    cursor: pointer;
}
.select-project-type > div.selected {
    background-color: #00b8e3;
    color: var(--white);
}
.select-project-type > div:last-child {
    margin-right: 0px;
}
.pick-an-epic .dropdown-content {
    display: block;
    opacity: 1;
    max-height: 400px;
}
.zj-spec-create-form .loading-message {max-width: 50px;margin: 20px auto 0px;}
.btn.btn-white {
    background-color: var(--white)!important;
    color: #16add6;
    border: 1px solid var(--lightgrey);
}
.pick-an-epic button.btn.btn-white.btn-large {
    width: calc(100% - 20px);
    float: left;
}
.nav-buttons button.btn.btn-white {
    width: calc(100% - 20px);
    float: left;
}
.create-spec .row.nav-buttons {
    margin-top: 10px!important;
}
.pick-a-project.search-for-project {
    margin-top: 0px;
}
.search-for-project button.btn.right {
    background-color: transparent;
    color: #16add6;
}
.search-for-project button.btn.right:hover {
    background-color: #16a4d1;
    color: var(--white);
}
.project-details .input-field input {
    border-bottom: 0px;
    background-color: var(--light);
    box-shadow: none!important;
    border-bottom: none!important;
}
.specs .project-actions, .page-actions {
    text-align: right;
}
.clear-search {
    position: absolute;
    right: 0px;
    top: 0px;
}
.btn.btn-white.clear-search:hover {
    background-color: #16add6!important;
    color: var(--white);
}
.btn-transparent {
    background-color: transparent!important;
    color: var(--black)!important;
    cursor: pointer;
    align-items: center;
}

.btn-transparent:hover {
    color: var(--primary)!important;
}

.btn.warning {
    color: var(--warning)!important;
}
.btn-transparent:hover {
    background-color: transparent!important;
    color: var(--primary)!important;
}
.btn-transparent:hover i {
    color: var(--primary)!important;
}
.zj-specification-details-actions .btn:hover i.color-highlight {
    color: var(--highlight)!important;
}
.projects-header, .page-header {
    padding-bottom: 0px!important;
    padding-top: 0px!important;
    padding-right: 20px;
    padding-left: 20px;
    max-width: 960px;
    margin: 0px auto!important;
    display: block;
}
.projects-header h5 {
    margin-bottom: 0px;
    line-height: 31px;
    color: black;
}
.project-actions .btn {
    margin-right: -4px;
    width: 45px;
    border-radius: 3px!important;
    padding: 0px!important;
}
.color-grey {
    color: #777!important;
}
.project-actions .btn:last-child {
    margin-right: 0px;
}
.date-picker-wrapper {
    /* bottom: 0px; */
    /* position: absolute; */
    width: 100%;
    /* padding-left: 10px; */
    /* padding-right: 10px; */
    height: 50px;
    /* background-color: var(--white); */
}

.timeline-items .date-picker-wrapper {
    max-width: 780px;
    margin: -10px auto 5px;
}
.the-timelogs-page .date-picker-wrapper {
    position: relative;
}
.create-new-issue {
    position: fixed;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    z-index: 9999999999999999999999999999999;
}
.create-new-issue .dialog-overlay {
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background-color: black;
    opacity: .5;
    z-index: 999999;
}
.create-new-issue .dialog-content {
    background-color: var(--white);
    position: absolute;
    top: 80px;
    bottom: unset;
    overflow-y: overlay;
    left: 20%;
    right: 0px;
    max-width: 60%;
    padding: 40px;
    z-index: 9999999;
}
.create-spec-buttons {
    text-align: right;
    text-decoration: none!important;
}
.create-spec-buttons .forward-action {
    background-color: #00a5d5!important;
    color: var(--white)!important;
    text-decoration: none;
}
.create-spec-buttons .forward-action:hover {
    box-shadow: 0px 1px 2px #8d8d8d;
}
.new-spec-summary.ql-editor ng-quill-editor .ql-editor {
    max-height: calc(100dvh - 400px);
    overflow-y: overlay;
    padding-left: 0px;
    padding-right: 0px;
}
.new-spec-summary.ql-editor ng-quill-editor .ql-editor::before {
    padding-left: 0px;
    left: 0px;
}
.create-new-issue .input-field.col label {
    left: 0px!important;
}
.outline-message {
    font-style: italic;
    margin-bottom: 10px;
}
.zj-sl-epics .zj-sl-section-body > div > ul {
    margin-top: 0px;
    margin-bottom: 0px;
}
.spec-cover .spec-overview {
    padding-bottom: 0px!important;
    position: relative;
}
.all-project-items .small-header-message {
    font-size: 8.5pt;
    padding-left: 20px;
    text-transform: initial;
}
.mobile-spec-item .mobile-spec-body .mobile-spec-description {
    height: calc(100dvh - 125px);
    overflow-y: overlay;
    border-bottom: 1px solid var(--lightgrey);
    background-color: var(--white);
    padding-bottom: 20px!important;
}
.mobile-spec-item .mobile-spec-body .mobile-spec-description .mobile-specification-details-text {
    overflow-y: hidden!important;
    height: initial!important;
}
.mobile-specification-details-actions {
    position: fixed;
    display: block;
    border: 0px!important;
    height: 64px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: var(--white);
}
.mobile-specification-details-actions .btn {
    width: 16.6666%;
    height: 64px;
    line-height: 64px;
    float: left;
    background-color: var(--white);
    color: #0d3048;
    text-align: center;
    margin-left: 0px!important;
}
.show-on-small.mobile-projects-title {
    margin-bottom: 15px!important;
    padding-left: 20px;
}
.show-on-small {
    display: none!important;
}
.zj-sl-section-body .loading-message {
    width: 50px;
    margin: 0px auto;
}
.zj-sl-outline-buttons a.more-filters.btn {
    float: right;
}
.all-specs .zj-empty-message-text {
    margin-top: 10px;
    margin-bottom: 15px;
    margin: 0px!important;
    font-size: 10pt;
    color: var(--light-text);
    display: inline-block;
    line-height: 23px!important;
    vertical-align: top;
}
.all-specs .zj-empty-message .get-started-icon i {
    font-size: 40pt;
    color: #777;
}
.edit-spec-summary .ql-editor {
    padding-left: 40px!important;
    padding-right: 40px!important;
}
.edit-spec-summary .ql-toolbar {
    padding-left: 32px!important;
    border-bottom: none!important;
}
.spec-attachment-tabs
.product-posts-header {
    padding-top: 40px;
    max-width: 1200px;
    background-color: var(--white);
}
.post-creator.ql-editor {
    padding: 0px;
    position: relative;
    z-index: 2;
}
.post-creator.ql-editor .ql-toolbar button {
    user-select: none!important;
}
.post-creator.ql-editor ng-quill-editor .ql-snow.ql-toolbar button {
    width: 37px;
    height: 37px;
}
.post-creator.ql-editor .ql-container .ql-editor {
    max-height: calc(100dvh - 270px);
    overflow-y: overlay;
    min-height: 70px;
    padding-left: 0px;
    padding-right: 0px;
}
.product-posts .post-title input, .post-view .post-title input {
    font-size: 13pt;
    margin-bottom: 0px;
    background-color: var(--white);
    border-bottom: none!important;
    color: var(--black);
}
.product-posts .post-title input:focus, .post-view .post-title input:focus {
    border-bottom: none!important;
}
.product-posts .post-title input:focus {
    border-bottom: 0px!important;
}
.post-bottom-bar {
    position: relative;
    z-index: 3;
    width: 100%;
    box-sizing: border-box;
}
.sp-spec-section .post-bottom-bar {
    background-color: transparent!important;
}
.posts-create .post-title {
    margin-top: 0px;
    position: relative;
    z-index: 0;
}
.product-posts.container .posts-create {
    max-width: 760px;
}
.post-meta .btn {
    background-color: transparent;
    color: #333;
}
.post-creator .ql-editor.ql-blank::before {
    font-style: normal;
    color: #ccc;
    left: 0px;
}
.posts-create {
    display: block;
    background-color: var(--white);
    padding: 25px 40px;
    margin-bottom: 30px;
    border-radius: 10px;
}
.product-posts .product-posts {
    margin: 0px auto;
}
.post-meta .dropdown-content input {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 0px;
    border-bottom-color: var(--white);
}
.product-posts .listings .page-header {
    padding-right: 0px;
    display: block;
}
.post-bottom-bar .post-meta .btn {
    color: var(--icon-color)!important;
    position: relative;
    display: inline-block;
    float: left;
    text-transform: initial;
    padding-left: 0px!important;
    margin-right: 15px;
    padding-right: 10px!important;
}
.post-bottom-bar .post-meta .btn > div {
    max-width: 160px;
    overflow: hidden;
    word-break: break-word;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 20px!important;
}
.post-bottom-bar .post-meta .btn i.right {
    position: absolute;
    right: 10px;
    top: 0;
}
.post-bottom-bar .post-meta .btn i.left {
    font-size: 11pt;
}
.post-bottom-bar .post-meta .btn:hover {
    background-color: transparent!important;
    color: var(--primary)!important;
}
.create-new-post .btn.right:hover {
    background-color: transparent!important;
}
.show-more-listing {
    font-size: 10pt;
    color: #16acd8;
    cursor: pointer;
    margin-top: 10px;
}
.show-on-small.btn.add-spec-btn {
    position: absolute;
    top: 20px;
    right: 20px;
}
.listing-title.vert-middle {height: 47px;}
.listing-title .title {
    margin-bottom: 3px;
    color: var(--black);
}
.listing-created-date {
    color: var(--light-text);
    line-height: 14pt;
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.listing-created-date .post-badge {
    padding: 1px 5px;
}
.ai-convo .listing-created-date .post-badge {
    border-color: transparent;
    background-color: var(--white);
}
.project-todos .listing-created-date {
    display: inline-block;
    float: right;
}
.delete-item.modal {
    max-width: 640px;
}
.ql-font, 
.ql-size, 
.ql-blockquote,
.ql-header,
.ql-script,
.ql-direction,
.ql-clean {
    display: none!important;
}
.ql-editor pre.ql-syntax {
    background-color: #ececec;
    padding: 10px;
}
.post-bottom-bar .btn {
    height: 45px!important;
    line-height: 45px;
    display: block!important;
    vertical-align: top;
    font-size: 9pt;
}
.post-bottom-bar .btn.focus-visible {
    background-color: transparent;
    color: var(--good);
}
.like-details span {
    display: inline-block;
}
.like-details span.like-name {
    padding-right: 4px;
    margin-right: 5px;
    position: relative;
}
.like-details span.like-name:after {
    content: ', ';
    position: absolute;
    bottom: 0px;
    right: 0px;
}
.like-details span.like-name:last-child:after {
    content: '';
}
.posts-search {
    margin-top: 20px;
    margin-bottom: 0px;
}
.posts-sidebar {
    padding-right: 18px!important;
    padding-left: 20px!important;
    min-width: 250px;
    text-align: right;
    vertical-align: top;
    overflow-x: hidden;
    position: absolute;
    top: 0px;
    left: 0px;
    overflow-y: overlay;
    height: 100%;
    max-height: calc(100dvh - 132px);
    z-index: 999;
}
.posts-container {display: block;width: 100%;}
.posts-sidebar-container {
    max-width: 250px;
    text-align: left;
    margin-left: auto;
}
.post-categories li {
    list-style: none!important;
}
.post-categories li {
    padding: 5px 18px;
    cursor: pointer;
}
.post-categories li.selected {
    color: #00a5d5;
}
.post-categories li:hover {
    color: #18a2d2;
}
.posts-create.post-edit {
    margin: 20px auto;
    max-width: 780px;
}
.create-new-post .btn {
    background-color: transparent;
    color: var(--primary);
    text-transform: initial;
}
.image-annotations .create-new-post .leave-comment .btn {margin-right: 0px;padding-left: 10px!important;padding-right: 10px!important;width: auto;display: none;}
.create-new-post .btn:hover {
    color: #8BC34A;
}
.comments-text-editor .btn {width: 100%!important;margin-top: -6px;}
.comments-text-editor textarea {
    font-size: 10pt!important;
}
.post-creator .ql-editor.ql-blank::before {
    font-family: var(--body-font);
    font-size: 11pt;
    color: #dadada;
}
.post-images {
    margin-top: 20px;
    text-align: left;
}
.post-images .post-upload-item {
    width: 33%;
}
.post-upload-file .puf-name {
    overflow: hidden;
    word-break: break-word;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.post-upload-file .puf-type {
    display: inline-block;
    float: left;
    text-transform: capitalize;
    margin-right: 5px;
}
a.post-upload-file {
    padding: 10px 20px;
    width: 100%;
    display: block;
    text-decoration: none!important;
    font-size: 12px;
    background-color: var(--light-white);
    position: relative;
    margin-top: 1px;
    user-select: none;
}
a.post-upload-file i {
    height: 10px;
    display: inline-block;
    top: 0px;
    vertical-align: top;
    margin-top: 0px;
    position: absolute;
    right: 10px;
    height: 38px;
    width: 38px;
    text-align: center;
    line-height: 38px;
    font-size: 15px;
}

a.post-upload-file:hover i {
    color: var(--awhite)!important;
}
a.post-upload-file:hover {
    background-color: var(--primary);
    color: var(--awhite);
    box-shadow: var(--box-shadow);
}
.post-upload-item.image {
    display: inline-block;
    vertical-align: top;
}
.post-upload-item.image.item1 {
    width: 100%;
}
.toto-footer {
    margin-top: 20px!important;
    font-size: 8.5pt;
    display: flex;
}
.item-section.todo-meta-item.todo-meta-times
.spec-doc-editor ng-quill-editor .ql-container {
    max-width: 890px;
    height: calc(100dvh - 167px);
    overflow-y: overlay;
    margin: 20px auto 0px;
    box-shadow: 0px 1px 2px var(--lightgrey);
    padding: 20px;
    background-color: var(--white);
}
.spec-doc-editor .ql-toolbar {
    background-color: var(--white);
}
.empty-results {
    text-align: center;
    font-size: 9.5pt;
}
.zj-sl-outline-buttons .btn {
    height: 50px!important;
    line-height: 50px!important;
    text-align: center;
    z-index: 9;
}
.mobile-spec-body .ql-editor .ql-editor {
    padding: 20px!important;
    height: calc(100dvh - 253px);
}
.mobile-spec-body .mobile-spec-description .ql-editor ul, .mobile-spec-item .ql-editor ul {
    margin-top: 1em;
    margin-bottom: 1em;
}
.mobile-spec-more {
    padding: 20px;
}
.mobile-spec-more .btn {
    width: 100%!important;
    padding: 10px 20px!important;
    height: auto!important;
    margin-bottom: 10px;
    background-color: #e6e6e6;
    color: black;
}
.release-notes {
    text-align: left;
    position: relative;
    margin-bottom: 80px!important;
}
.release-number {
    width: 10%;
    float: left;
}
.the-release-notes {
    width: 90%;
    float: right;
}
li.release {
    display: inline-block;
    width: 100%;
    margin-bottom: var(--border-radius-tiny);
    padding: 30px;
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    vertical-align: top;
}
li.release.current-version {
    background-color: var(--primary);
    color: var(--awhite);
}

li.release.current-version .release-date {
    color: var(--awhite)!important;
}
li.release:last-child {
    margin-bottom: 0px;
}
.form-submission .btn
.listing-actions-meta.total-post-comments, .listing-actions-meta.total-post-comments i {
    color: #16a4d1;
    margin-top: 0px;
    user-select: none;
}
.listing-actions-meta.total-post-comments i {
    vertical-align: middle;
}
i.material-icons {
    color: var(--icon-color);
}

.btn i.material-icons {
    color: var(--icon-color);
}

.sso-signin-btn i {
    color: var(--awhite)!important;
}

.btn.btn-primary i.material-icons {
    color: var(--awhite);
}
nav i.material-icons {
    color: var(--awhite);
}
.nav #archivedProjects {
    top: 65px!important;
}
.spec-actions .reopen-project {
    font-size: 10pt;
    padding-left: 20px;
    padding-right: 20px;
    color: #18a2d2;
}
.spec-actions .reopen-project:hover {
    background-color: #18a2d2;
    color: var(--white);
}
.todos-button-wrapper {
    display: inline-block;
    height: 64px;
    line-height: 64px;
    float: left;
    position: relative;
}
.projects-menu-item {
    display: inline-block;
    padding-right: 40px;
    font-size: 11.5pt;
    margin-top: 10px;
    text-transform: uppercase;
    cursor: pointer;
}
.projects-menu-item:hover,
.projects-menu-item.selected {
    color: var(--primary);
}
nav .ql-editor li {
    min-height: auto!important;
}
.nav.main-nav ul ul li:hover a {
    color: var(--black)!important;
}
.nav.main-nav ul li:hover .ql-editor a {
    color: var(--primary)!important;
}
.nav.main-nav ul ul li:nth-child(3) {
  animation-delay: .2s;
}
.nav.main-nav ul ul li:nth-child(4) {
  animation-delay: .3s;
}
.nav.main-nav ul ul li:nth-child(5) {
  animation-delay: .4s;
}
.nav.main-nav ul ul li:nth-child(6) {
  animation-delay: .5s;
}
.nav.main-nav ul ul li:nth-child(7) {
  animation-delay: .6s;
}
.nav.main-nav ul ul li:nth-child(8) {
  animation-delay: .7s;
}
.nav.main-nav ul ul li:nth-child(9) {
  animation-delay: .8s;
}
.nav.main-nav ul ul li:nth-child(10) {
  animation-delay: .9s;
}
.nav.main-nav ul ul li:nth-child(11) {
  animation-delay: 1s;
}
@keyframes fadeIn {
  0% {
    opacity: 0.0;
  }
  100% {
    opacity: 1.0;
  }
}
.nav.main-nav li {
    box-sizing: border-box;
    position: relative;
    cursor: pointer;
    user-select: none;
    }

li.main-nav-dd {
    color: var(--black-nav);
}
.nav.main-nav span > li {
    line-height: 64px;
    height: 64px;
}

.nav.main-nav li.right-nav-item.selected, .nav.main-nav li.right-nav-item.active {
    background-color: var(--white)!important;
}

.nav.main-nav li.right-nav-item.active .user-initials {
    color: var(--primary)!important;
}

li.chat-widget-trigger.selected i {
    color: var(--primary)!important;
}
.nav.main-nav .main-nav-dd:hover a {
    color: var(--primary)!important;
    background-color: transparent;
}
.nav.main-nav li:hover .todo-summary-message-content a {
    color: var(--primary)!important;
}
.nav.main-nav li > a {
    padding-left: 20px;
    padding-right: 20px;
    font-size: 13.5px;
    color: var(--black-nav);
    user-select: none;
    font-weight: 500;
    }

nav li.main-nav-dd > a {
    text-transform: lowercase;
}

.nav.main-nav .dropdown-content li > a {
    font-weight: 400;
}
.nav.main-nav .logo a {
    height: 64px;
    line-height: 64px;
    margin-top: -3.5px!important;
    font-family: var(--nothing);
    font-size: 17pt;
    color: var(--primary);
    user-select: none;
    width: 117px;
    margin-right: 0px!important;
}

.nav.main-nav .dropdown-contentt li > a {
    background-color: var(--light)!important;
    transition: none;
}
.nav.main-nav .dropdown-content li > a {
    transition: none;
    color: var(--black-nav);
}

.nav.main-nav .dropdown-contentt li > a {
    padding-left: 15px;
    padding-right: 15px;
    font-size: 9pt!important;
}
.nav.main-nav .dropdown-content li > a:hover {
    /* background-color: var(--extra-light)!important; */
}
.nav.main-nav .ql-editor li > a {
    padding-left: 0px;
    padding-right: 0px;
    color: var(--primary);
    display: inline-flex;
}

nav.nav.main-nav .ql-editor li i {
    line-height: normal!important;
    height: unset;
}
.nav.main-nav li:hover a, .nav.main-nav li a.mentioned-user, .nav.main-nav ul ul li:hover a, .nav.main-nav li a.mentioned-user, .nav.main-nav ul ul li:hover i {color: var(--primary)!important;}
.nav.main-nav li.selected a {
    color: var(--primary);
}
.nav.main-nav li.logo a img {
    padding-top: 19px;
    margin-bottom: 0px;
    max-width: 70px;
    line-height: 64px;
float: left;}
.nav.main-nav li a:after {
    content: ' ';
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    border: 2px solid transparent;
}
.nav.main-nav li.selected a:after {
    border: 2px solid transparent;
}
.all-specs > ul {
    margin-top: 0px;
}
.timeline-main-content {
    padding-left: 20px!important;
    font-size: 10pt;
    overflow: hidden;
}
.timeline-item-name {
    margin-bottom: 10px;
    color: var(--primary);
    width: auto;
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.timeline-item-name:hover {
    text-decoration: underline;
}
.edit.btn.edit-overview-button {
    top: -1px;
    right: -10px;
}
.spec-overview .left-overview-column:hover .edit.btn.edit-overview-button {
    opacity: 1;
}
.edit-spec-summary {
    padding-top: 0px;
    padding-bottom: 0px;
}
.edit-spec-summary input.spec-overview-title {
    margin-top: -10px;
    margin-bottom: 16px;
    font-size: 14pt;
    padding-left: 40px;
    padding-right: 40px;
    border-bottom: 1px solid transparent!important;
}
.edit-spec-summary input[type=text]:focus:not([readonly]) {
    border-bottom: 1px solid transparent!important;
}
.spec-summary .ql-picker {height: 30px!important;width: 30px!important;}
.upload-overlay {
    position: absolute;
    z-index: 999;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    text-align: center;
    transition: all .3s ease-in-out;
    opacity: 0;
    visibility: hidden;
    border: 2px dashed white;
}
.upload-container.hovered .upload-overlay {
    opacity: 1;
    visibility: visible;
}
.upload-overlay .upload-frame {
    height: 100%;
    padding-top: 30vh;
    color: var(--awhite);
}
.spec-overview-images ul li {
    margin-bottom: 50px;
}
.spec-overview-images ul li img {
    box-shadow: 0px 1px 2px #b3b3b3;
}
.hovered .fb-spec-images {
    visibility: hidden;
    opacity: 0;
}
.fb-spec-images {
    width: 100%;
    /* padding: 30px 0px 30px 30px!important; */
}

.fb-spec-images > ul {
    margin-bottom: 0!important;
    padding-bottom: 0!important;
}

.fb-spec-images > ul li:last-child div.zj-image-attachment {
    margin-bottom: 0px!important;
}
.meta-panel .fb-spec-images {
    padding: 0px 20px!important;
    height: calc(100dvh - 233px);
    overflow-y: auto;
    margin-left: 0px;
    margin-right: 0px;
    width: 100%;
}
.fb-spec-images > .message {
    line-height: calc(100dvh - 232px);
    transition: opacity 1s ease-in-out;
    opacity: 1;
    user-select: none;
    font-size: 13px;
    text-align: center;
}
.spec-overview .fb-spec-images ul {
    margin-top: 0px!important;
}
.left-overview-column {
    position: relative;
}
.upload-container.hovered {
    background-color: var(--primary);
    height: calc(100dvh - 109px);
}
.spec-overview .image-notes-section {
    text-align: center;
}
.upload-container {
    position: absolute;
    top: 0px!important;
    right: 0px!important;
    bottom: 0px!important;
    left: 0px!important;
    width: 100%;
    transition: all .3s ease-in-out;
    z-index: 99;
    height: calc(100dvh - 115px);
    line-height: normal;
}
.distraction-free .upload-container {height: calc(100dvh - 50px);}
.task-attachments.upload-container {
    padding: 40px;
    box-sizing: border-box;
    position: unset!important;
    }
.spec-documents .spec-docs {
    position: relative;
    height: calc(100dvh - 64px);
width: 100%;}
.upload-container.hovered .upload-under {
    visibility: hidden;
    opacity: 0;
}
.upload-container .upload-under {
    visibility: visible;
    opacity: 1;
    transition: all .2s ease-in-out;
    padding: 10px;
}
.project-details .form-field .input-field {
    margin-top: 0px;
}
.category-editor {
    max-width: 540px;
    text-align: left;
}
.category-editor {
    padding: 30px!important;
}
.categories-admin .category-editor {
    padding: 0px!important;
    max-width: 100%;
}
.categories-admin .category-editor .text-field {
    margin-bottom: 15px;
}
.category-editor .text-field input {
    margin-bottom: 20px!important;
}
.category-editor .text-field input {
    background-color: var(--background-color)!important;
    border-radius: 5px!important;
}
.category-editor .the-footer {
    text-align: right;
}
.dropdown-select {
    cursor: pointer;
    user-select: none;
}
.delete.btn {
    background-color: var(--white);
    color: var(--warning)!important;
    border-color: var(--warning)!important;
}
.project-size:hover .delete.btn {
    opacity: 1;
}
.delete, .delete i, .delete.btn i {
    color: var(--warning)!important;
}
.delete.btn:hover {
    background-color: #F44336!important;
    color: var(--white);
}
.edit-spec-settings i {
    width: 40px;
    text-align: center;
    height: 100%;
    vertical-align: top;
    color: #909090;
    line-height: 54px;
    cursor: pointer;
}
.custom-dialog {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: rgba(0, 0, 0, .6);
    z-index: 999999999999999999999999999999999999999999999999;
    padding-top: 0px;
}
.custom-dialog .setting-name {
    font-size: 14pt;
    color: var(--primary);
}
.custom-dialog .project-details .form-field {
    padding-right: 20px!important;
}
.custom-dialog .project-details .form-field:last-child {
    padding-right: 0px!important;
}
.create-spec .quill-editt {
    border: none;
    margin-top: 5px;
    box-shadow: none;
}
.create-spec .ql-snow .ql-picker {
    width: 30px;
    height: 30px;
}
.create-spec .fake-label {
    text-align: left;
    margin-top: 30px;
    font-weight: bold;
    font-size: 11pt;
}
.project-details .actions {
    text-align: right;
}
.todo-comments-section {
    padding: 0px 0px 20px;
    border-radius: 10px;
}
.image-annotations .todo-comments-section {margin-left: -30px;margin-bottom: 0px;}
.project-todos .todo-comments-section {
    margin-bottom: 0px;
    margin-top: 0px;
    position: relative;
padding-bottom: 0px;}
.sidebar-contents.pinned {
    max-width: 100%;
}
.timeline-top-row > span {
    display: inline-block;
}
.timeline-top-row .timeline-item-name {
    width: 100%;
    font-weight: 500;
}
.timeline-top-row .timeline-item-name:hover {
    color: #16a3d0;
}
.timeline-item-time {
    text-align: right;
    font-size: 9pt;
}
.timeline-user-image {/* float: left; */width: 36px;}

.timeline-user-image {
    max-width: 40px;
}

.timeline-user-image img {
    border-radius: var(--border-radius-tiny);
}
.timeline-mid-row {
    margin-top: -3px!important;
    vertical-align: top;
    margin-bottom: 10px!important;
}
.timeline-top-row {
    vertical-align: top;
}
.timeline-item-fromname {
    float: right;
}
.project-item-name {
    font-size: 13pt;
    margin-bottom: 10px;
    cursor: pointer;
}
.project-todos .project-item-name:hover {
    color: #16a3d0;
}
.project-todos .project-item {
    max-width: 720px;
    margin: 0px auto;
    padding-bottom: 40px;
}
.project-todos .listing-author-img {
    float: left;
    margin-left: 0px;
    width: 100%;
}
.project-todos .listing-author-img img {
    max-width: 100%;
    border-radius: 4px;
}
.project-todo-assignee {
    width: 30px;
    display: inline-block;
    float: left;
    margin-right: 20px!important;
    vertical-align: top;
}
.project-todo-description {
    overflow: hidden;
    font-size: 10.5pt;
}
.project-todos .listings .listing-author-info {
    text-align: left;
    width: 100%;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    margin-bottom: 10px;
}
.project-todos .listings .listing-author-info .todo-author-image {
    width: 35px;
    height: 35px;
    background-position: center!important;
    background-size: cover!important;
}
.project-todos .listings .listing-created-date {
    line-height: 20px;
    text-align: right;
}
.project-todos .listings .listing-author-info.completed {
    margin-top: 10px;
    color: var(--good)!important;
}
.listings .listing-author-info.completed .listing-author-title {
    color: var(--good)!important;
}
.project-todos .listing-author-title {
    display: inline-block;
    margin-top: 0px;
    margin-bottom: 2px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding-right: 20px!important;
    line-height: 20px;
    color: var(--light-text);
}
.project-todos .listing-author-title .bold {
    color: var(--black);
}
.project-todos .listings .listing-item {
    border-radius: var(--border-radius-tiny);
    padding: 40px!important;
}
.project-todos .listings .listing-item.completed-todo {
    box-shadow: none;
    opacity: .7;
}
.project-todos .listings .listing-item.completed-todo:hover {
    opacity: 1;
}
.project-todos .listings .listing-item:hover .hover-complete-todo, .project-todos .listings .listing-item.completed-todo .hover-complete-todo {
    opacity: 1;
    visibility: visible;
}
.project-todos .listings .listing-item .hover-complete-todo {
    visibility: hidden;
    opacity: 0;
    transition: all .4s ease-in-out;
    display: none;
}
.project-todos .listings .listing-item .listing-author-img {
    opacity: 1;
    visibility: visible;
    transition: all .4s ease-in-out;
    vertical-align: top;
    margin-top: 0px!important;
}
.project-todos .page-actions {
    max-width: 700px;
    margin: 0px auto;
}
.project-todos .specs-filters {
    position: absolute;
    height: calc(100dvh - 132px);
    overflow-y: overlay;
}
.project-todos .zj-actions-bar {
    position: relative;
}
.todo-inline-comments ul {
    margin-top: -3px;
}
.enhanced
.hover-complete-todo [type="checkbox"]+label:before, .hover-complete-todo [type="checkbox"]:not(.filled-in)+label:after {
    height: 20px;
    width: 20px;
    margin-left: 5px;
    margin-top: 6px;
    border-color: #16a3d1;
}
.nav-todos-list-container .hover-complete-todo [type="checkbox"]+label:before, .nav-todos-list-container .hover-complete-todo [type="checkbox"]:not(.filled-in)+label:after {
    margin-left: -3px;
}
.nav-todos-list-container .hover-complete-todo [type="checkbox"]+label:before {margin-left: 0px;margin-top: 2px;}
.profile-projects .hover-complete-todo [type="checkbox"]+label:before, .profile-projects .hover-complete-todo [type="checkbox"]:not(.filled-in)+label:after {
    margin-left: 13px;
}

.profile-page .profile-projects .hover-complete-todo [type="checkbox"]+label:before, .profile-page .profile-projects .hover-complete-todo [type="checkbox"]:not(.filled-in)+label:after {
    margin-left: 9px;
    top: 5px;
}
.project-todos .listing-item .listing-action {
    margin-left: 0px;
    color: var(--primary);
}
.project-todos .listing-item .listing-action.left {
    margin-left: 0px;
    margin-right: 10px;
}
.project-todos .search-filter {
    max-height: calc(100dvh - 219px);
}
.project-todos .search-filter label {
    font-size: 10pt;
    color: var(--dark);
}
.todo-option .input-field {
    background-color: #efefef!important;
    margin-top: 0px;
    padding-left: 10px;
}
.todo-option .todo-assignee .input-field {
    padding-left: 6px;
}
.todo-option .input-field:hover {
    background-color: var(--lightgrey);
}
.special-note {
    font-size: 9pt;
    text-align: center;
    font-style: italic;
    color: grey;
    margin-top: 20px;
}
.nav-wrapper .todo-spec {font-size: 9pt;cursor: pointer;}
.product-posts .posts-container {
    position: relative;
    height: calc(100dvh - 66px);
    overflow-y: auto;
    overflow-y: overlay;
}
.project-posts.product-posts .posts-container {
    height: calc(100dvh - 62px);
}
.todo-summary .todo-key {
    width: auto;
    float: none;
    max-width: 50%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.todo-notification-specitem .todo-key:hover, .todo-notification-specitem .todo-spec:hover {
    text-decoration: underline;
}
.todo-notification-specitem {
    color: #979797!important;
}
.todo-notification-specitem {
    display: block;
    width: 100%;
}
.cbox.disabled {
    opacity: 50%;
    display: none;
}
nav .todo-summary-text {
    vertical-align: top;
    margin-bottom: 1px;
}
.todo-summary-text.task-assignee {
    padding-top: 0px;
    display: inline-block!important;
    padding-left: 0px;
}
.notifications-queue .task-assigned .todo-summary-text {
    max-width: calc(100% - 33px);
}
.todo-summary.task-assigned {
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    padding: 10px;
}
nav .todo-summary-summary:hover .the-todos-selectedtext {
    text-decoration: none;
}
.todo-summary-text > span:last-child {white-space: pre-wrap;}
.todo-summary-text > .todo-author-name {
    padding-top: 2px;
    font-size: 9pt;
    line-height: 18px;
    margin-bottom: 4px!important;
    color: var(--light-text);
    display: block;
    font-weight: 300;
}
.todo-item:hover .todo-summary-text > .todo-author-name {
    opacity: 1;
    transition: opacity .3s ease-in-out;
}
.todo-summary-text > .todo-author-name > span.good {
    display: block;
}
.todo-summary-text > div:hover {
    cursor: pointer;
}
.new-outline-message button {
    margin: 0px auto;
    display: block!important;
    width: 100%;
    background-color: transparent;
    color: #19a3d0;
    border: 1px solid var(--lightgrey);
    font-weight: 500;
    font-size: 9pt;
}
.new-outline-message button:hover {
    color: var(--white);
}
.selected-text::selection, 
.selected-text a::selection,
.selected-text {
    background-color: var(--light);
    color: var(--black);
}
.dark .selected-text::selection, 
.dark .selected-text a::selection,
.dark .selected-text {
    background-color: var(--light-text);
    color: var(--black);
}
.dark .the-selected-text .selected-text {
    background-color: var(--primary);
    color: var(--ablack);
}
.add-text-action {
    position: absolute;
    top: -42px;
    left: 0px;
    height: 40px;
    width: auto;
    min-width: 126px;
    line-height: 34px;
    font-size: 40px;
    box-shadow: 0px 1px 4px var(--shadow);
    text-align: center;
    border-radius: 4px;
    color: var(--primary);
    display: block;
    cursor: pointer;
    padding: 0px!important;
    background-color: var(--extra-light);
}
.add-text-action > .ta {
    height: 40px;
    width: 42px;
    display: inline-block;
    background-color: var(--background-color);
    float: left;
    user-select: none;
}

.add-text-action > .ta svg.jt-ai {
    height: 33px;
    width: 33px;
}

.add-text-action > .ta:hover svg .jt-ai-spark {
    height: 34px;
    width: 34px;
    fill: var(--awhite);
}

.add-text-action .add-text-comment i {}
.add-text-action .ta i {
    color: var(--black);
    font-size: 20px;
}
.add-text-action > .ta:first-child {
    border-radius: 4px 0px 0px 4px;
}
.add-text-action > .ta:last-child {
    border-radius: 0px 4px 4px 0px;
}
.add-text-action > .ta:hover {
    background-color: var(--primary);
    color: var(--white);
}

.add-text-action > .ta:hover .jt-ai-word {
    fill: var(--awhite);
}
.add-text-action > .add-text-embedded-link:hover {
    background-color: var(--white);
}
.add-text-action > .add-text-embedded-link:hover i {
    color: var(--primary)!important;
}
.add-text-action > .ta.add-file-link:hover {
    background-color: #e0f2f7;
}
.add-text-action > .ta.add-image:hover {
    background-color: #e4f0f9;
}
.add-text-action > .ta:hover i {
    color: var(--awhite);
}
.selected-text {
    position: relative;
}
.add-text-action i.material-icons {
    font-size: 16pt;
}
.todo-comments-component .leave-comment {
    padding: 0px 20px;
}
.editable-comments {
    padding: 0px 40px 35px;
    display: inline-block;
    width: 100%;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    }
.checklist-editor-item .editable-comments {
    display: none;
}
.image-annotations .editable-comments {padding-top: 20px;padding-left: 0px;padding-right: 0px;margin-top: 0px;}
.image-annotations .edit-tools .editable-comments {
    padding: 20px 30px;
}
.image-annotations .edit-tools .todo-meta {
    margin-bottom: 10px;
    text-align: left;
    width: 100%;
    display: inline-block;
    float: left;
}
.leave-comment .btn {
    width: calc(100% - 35px);
    float: right;
    margin-top: -5px;
    height: 25px;
    line-height: 25px;
    font-size: 9pt;
background-color: var(--light);color: var(--primary);border-bottom-right-radius: 5px!important;border-bottom-left-radius: 5px!important;}
.leave-comment .btn:hover {color: var(--awhite);}
.todo-description {
    padding: 0px 40px 0px;
    /* background-color: var(--white); */
    display: inline-block;
    width: 100%;
    margin-bottom: 0px;
}
.editing-todo .todo-description {
    margin-bottom: 25px;
}

.editing-todo .todo-description > div:last-child {
    padding-bottom: 10px;
}
.image-annotations .todo-description {padding-left: 0px;padding-right: 0px;padding-bottom: 0px!important;margin-bottom: 0px!important;background-color: transparent;padding-top: 10px;}
.image-annotations .editing-todo .todo-description {
    padding-top: 10px;
}
.editable-comments .option-title {
    margin-bottom: 20px;
    margin-top: 0px;
    color: var(--light-text);
    font-weight: 500;
    font-weight: 100;
    font-size: 10pt;
    display: none;
}
.show-hide-completed .todo-header-title {
    padding-top: 0px;
    font-size: 13px;
    color: var(--light-text);
    }
.image-annotations .show-hide-completed .todo-header-title {font-size: 8.5pt;padding-top: 5px;}
.todo-list {
    display: inline-block;
    width: 100%;
    overflow-y: overlay;
    padding-top: 0px;
    margin-top: 5px;
}

.spec-todos .todo-list.oe {height: calc(100dvh - 280px);margin-top: 0;margin-bottom: 0px;}

.spec-item-main-body .spec-todos .todo-list.oe {
}
.project-checklist .todo-list {
    height: calc(100dvh - 310px)!important;
}
.overview-section.project-checklist .todo-list.oe {
    max-height: 50vh!important;
}
.distraction-free .todo-list {
    height: calc(100dvh - 290px);
}
.meta-panel .todo-list {
    height: calc(100dvh - 330px)!important;
    margin-left: -30px;
    margin-right: -30px;
    width: calc(100% + 60px);
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 50px;
    position: relative;
}
.project-quick-todos .todo-list {height: auto!important;min-height: 200px;max-height: calc(100dvh - 310px);padding-bottom: 40px;overflow: auto;}
.public-users .user-image-pic {
    width: 25px;
    display: inline-block;
    float: left;
    margin-right: 14px;
    line-height: 50px;
    height: 50px;
    vertical-align: middle;
}
.user-image-pic .bg-image {
    width: 25px;
    height: 25px;
    margin-top: 12px;
}
.public-users .user-image-pic img {
    line-height: 50px;
    vertical-align: middle;
    border-radius: 3px;
}

.todo-description ul li a img {
    margin-top: 0!important;
}
ul.public-users li {
    padding: 0px 13px;
    margin-bottom: 0px;
    line-height: 50px;
}
ul.public-users li a {
    padding-left: 0px;
    padding-right: 0px;
    padding: 0px;
    line-height: 50px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
ul.public-users {
    max-height: 50vh!important;
    -webkit-mask-position: inherit!important;
}
.todo-option .input-field {
    background: var(--background-color)!important;
    color: var(--black);
    height: 50px;
    line-height: 50px;
    border-radius: 5px;
}
.todo-option .input-field.date-pick {
    padding: 0px 20px;
}
.todo-option .input-field label {
    left: 10px;
    color: var(--black);
    width: 100%;
    cursor: pointer;
    font-size: 10pt;
}
.todo-assignee label .user-image-pic {
    max-width: 35px;
    width: 100%;
    float: left;
    padding-right: 10px;
    padding-top: 0px;
    vertical-align: middle;
    height: 50px;
}
.todo-assignee label .user-image-pic img {
    margin-top: 12px;
    border-radius: 3px;
}
.todo-assignee label .user-image img {
    line-height: 50px;
    height: 25px;
}
.linked-todo, .linked-todo::selection {
    background-color: var(--highlight);
    color: var(--ablack);
    cursor: pointer;
}
.linked-todo:hover {
    background-color: var(--good)!important;
}
.todo-description .linked-todo::selection, .todo-description .linked-todo {
    background-color: var(--good)!important;
    color: var(--ablack);
}
.linked-todo.highlight {
    background-color: var(--good);
    color: var(--awhite);
}
.linked-todo.selected, .linked-todo.selected::selection {
    background-color: var(--good);
    color: var(--black)!important;
    color: var(--ablack);
    user-select: none;
}
.dark .linked-todo.selected, .dark .linked-todo.selected::selection, .dark .linked-todo.selected a {
    color: var(--white);
}
.dark .linked-todo.selected a {
    text-decoration: underline;
}
.linked-todo.completed {
    background-color: transparent!important;
    cursor: text;
    color: unset;
}
.linked-todo.completed.highlight {
    background-color: var(--selected-highlight);
}
.linked-todo.completed::selection {
    background-color: var(--highlight);
    cursor: text;
}
.cke_dialog tr:hover {
    background-color: transparent;
    color: initial;
}
.cke_dialog tr {
    background-color: transparent;
}
.cke_dialog tr label {
    font-weight: 300;
    font-size: 10pt;
    color: var(--black);
}
.cke_dialog a.cke_dialog_ui_button_ok {
    background-color: var(--primary)!important;
    border: 1px solid transparent!important;
}
.cke_dialog a.cke_dialog_ui_button_ok
.cke_maximized .cke_wysiwyg_div {
    padding: 30px 40px;
}
.cke .cke_toolbar_break {
    display: none;
}
.cke p {
    margin-top: 0px;
    margin-bottom: 0px;
}
.cke ul li ul li
.sos-total-spec-items {
    color: var(--light-text);
    font-size: 8.5pt;
    line-height: 44px;
    padding-right: 15px;
}
.todo-enhancement {
    font-size: 11pt;
}
.edit-spec-summary .cke_top {
    background-color: var(--white);
    padding: 15px 15px 0px;
    border-bottom: 0px;
}
.cke
.cke textarea.cke_source {
    padding: 20px;
    font-size: 12pt;
    line-height: 1.3;
    box-sizing: border-box;
    font-family: var(--body-font);
    background-color: transparent;
    min-height: 50vh;
}
li.tdcomment {
    list-style-type: none!important;
}
.cke a.cke_combo_button:hover, .cke a.cke_button_off:hover, .cke a.cke_button_off:focus, .cke a.cke_button_off:active {
    border-color: transparent;
    cursor: pointer;
}
.post-creator .cke {
    border: none;
}
.post-creator .cke .cke_top {
    border-bottom: none;
    padding: 0px;
}
.panel-comments .post-creator .cke .cke_top {
    margin-left: -8px;
    margin-right: -8px;
    margin-top: -8px;
}
.post-creator .cke .cke_contents {
    padding: 10px 0px;
    background-color: var(--background-color);
}
.panel-viewer .post-creator .cke .cke_contents {
    padding: 0px 20px;
}
.post-creator .cke .cke_contents .cke_wysiwyg_div {
    padding: 0px;
    min-height: 100px;
    max-height: calc(100dvh - 300px);
    overflow-y: overlay;
}
.comment-editor .cke .cke_contents .cke_wysiwyg_div {
    height: calc(100dvh - 420px)!important;
}
.todo-comment-stats-total {
    color: #26a4d1;
    font-size: 8pt;
    line-height: 1.3;
    margin-top: 7px;
}
.todo-created {
    text-align: right;
}
.todo-items .todo-comment-stats-author {
    margin-bottom: 2px;
    width: auto!important;
    display: inline-block;
}
.todo-widget-meta {
    margin-bottom: 0px;
    width: 100%;
    vertical-align: top;
}

nav .todo-widget-meta {
    padding-bottom: 5px;
}
.todo-items .todo-widget-meta {
    margin-bottom: 4px!important;
    line-height: 14px;
    display: block;
}
.todo-author-image img {
    border-radius: 4px!important;
}
.todo-summary:hover .todo-summary-summary
.todo-notification-actions .tna {
    display: inline-block;
    font-size: 11.5px;
    line-height: 13pt;
    margin-right: 20px;
    color: #9b9b9b;
}
.todo-notification-actions .tna.priority, .todo-notification-actions .tna.due {
    color: #8BC34A;
}
.todo-notification-actions .tna.comment {
    margin-right: 0px;
    cursor: pointer;
}
.todo-notification-actions .tna:hover {
    text-decoration: underline;
}
.todo-notification-actions .tna:hover i, .todo-notification-actions .tna:hover {
    color: #26a3d2!important;
}
.todo-notification-actions {
    line-height: 10pt;
    margin-top: 0px;
    vertical-align: top;
}
.todo-widget-sub-meta {
    display: inline-block;
    width: auto;
    vertical-align: top;
    font-size: 12px;
    color: #24a4d1;
    line-height: 14px;
}
.todo-widget-sub-meta .priority.high {
    color: #F44336;
}
.todo-widget-sub-meta > div {
    display: inline-block;
    margin-right: 10px;
}
.todo-widget-sub-meta > div:last-child {
    margin-right: 0px;
}
.todo-author-image.tda-mini-image {
    height: 20px;
    width: 20px;
    background-size: cover;
    background-position: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: var(--border-radius-xs);
    /* 2026-08-16: this rule used to hardcode a background-image pointing at a real
       person's profile photo in ontraport-product Firebase Storage, complete with a
       live download token — so every notification/todo row in the app fetched an
       asset from an OFF-LIMITS project, and the token shipped in plain CSS.
       The lazy-bg directive sets the real avatar inline, so the default here only
       ever needs to be a neutral surface. */
    background-color: var(--extra-light, var(--white));
}
.todo-items .hover-complete-todo {
    opacity: 0;
    position: absolute;
    top: 19px;
    left: 20px;
    z-index: 9999;
    /* transition: all .4s ease-in-out; */
}
nav .todo-items .hover-complete-todo label:hover::before {
    color: red;
}
.todos .items .item:hover .hover-complete-todo {
    opacity: 1;
}

.todos .items .item:hover .hover-complete-todo:hover label::before {
    border-color: var(--good);
}
.todos-widget .todo-notification-actions .tna-left {
    width: 70%;
}
.item-section.todo-right-container {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    vertical-align: top;
}
nav .todo-inline-comments li {
    border-radius: 1px;
    margin-bottom: 3px;
    cursor: initial;
}
nav .leave-todo-comment textarea {
    border: 1px solid #e3e3e3;
    background-color: #eeeef0;
    padding: 10px;
    vertical-align: top;
    line-height: 10pt;
    outline: none!important;
    font-size: 10pt;
    width: 100%!important;
}
nav .leave-todo-comment .btn {
    font-size: 9pt;
    width: 100%;
    height: 25px;
    line-height: 25px;
    vertical-align: top;
    display: block;
}
nav li.todos-widget-trigger.active i, nav .notifications.active i {
    color: var(--primary);
}
.leave-todo-comment {vertical-align: top;display: inline-block;width: 100%;text-align: right;}
.todo-comments-section .leave-todo-comment {
    padding-bottom: 15px;
}
.todo-comments-section .leave-todo-comment {
    width: calc(100% - 50px);
    float: right;
}
.listing-comments.todo-comments-section .leave-todo-comment {
    width: 100%!important;
    padding: 10px 0px 0px!important;
}
.listing-comments.todo-comments-section .leave-todo-comment .input-field {
    width: 100%!important;
    max-width: 100%!important;
}
.todo-comments-section .leave-todo-comment .author-image {
    display: inline-block;
    position: absolute;
    left: -10px;
}
.project-todos .todo-comments-section .leave-todo-comment .author-image {
    left: -50px!important;
}
.leave-todo-comment .content-editable {
    font-size: 10pt;
}
.todo-comments-component .leave-todo-comment {
    padding: 30px 10px 10px!important;
}
body .todo-comments-section .leave-todo-comment .btn:hover {background-color: var(--primary)!important;color: var(--awhite);}
.leave-todo-comment .author-image {
    max-width: 40px;
    margin-left: 10px;
    margin-right: 10px;
    display: inline-block;
    float: left;
}
.image-annotations .leave-todo-comment .author-image {display: none;}
.create-spec .cke .cke_wysiwyg_div {
    padding: 10px;
    height: 100%!important;
    min-height: 200px;
    max-height: calc(100dvh - 200px)!important;
    border: 1px solid var(--light)!important;
    padding: 20px;
}
.new-spec-summary textarea {
    outline: none;
    border: 1px solid var(--extra-light);
    background-color: var(--extra-light);
    color: var(--black);
    padding: 10px;
    min-height: 150px;
}
.todo-widget-meta .todo-created {
    padding-left: 3px;
    float: right;
}
.inline-author-image {
    display: inline-block;
    line-height: 20px;
    vertical-align: middle;
    float: left;
    width: 40px;
    height: 40px;
    min-width: 25px;
    margin-top: 0px;
    margin-right: 15px;
}
.a-todo-item .inline-author-image i {
    line-height: 40px;
    height: 40px;
    padding-top: 0px;
}
.inline-author-image .the-profile-image {
    height: 40px;
    width: 40px;
    line-height: 40px;
    background-color: var(--light)!important;
    color: var(--black);
    max-height: 40px;
}
.inline-author-image.checklist-img i {
    font-size: 23pt;
    color: var(--light-text);
}
.todos-widget .inline-author-image.checklist-img i {
    margin-top: -20px;
}
.image-annotations .inline-author-image {float: left;width: 35px;margin-top: 0px;}
.inline-author-image img {
    margin-right: 0px!important;
    margin-left: 2px;
}
.todo-priority.priority {
    margin-left: 10px;
}
.todo-priority.priority.high {
    color: #F44336;
}
.todo-priority label.high {
    color: #F44336;
}
.sidebar-outline {
    position: relative;
}
.reference-component {
    padding: 30px 0px;
    box-sizing: border-box;
    overflow-y: overlay;
    height: calc(100dvh - 64px);
}
.sidebar-outline .search-bar {
    padding: 20px;
    position: relative;
}
.sidebar-outline .search-bar .closeFilter {
    top: 43px;
    right: 20px;
}
.sidebar-outline .search-bar input {
    margin-bottom: 0px;
}
.reference-component .add-pages {
    padding: 0px 20px 20px;
}
.cke_dialog select.cke_dialog_ui_input_select {
    display: block;
    height: 45px!important;
    border-radius: 5px!important;
    background-color: var(--background-color)!important;
    color: var(--black);
    border: none!important;
    padding-left: 15px!important;
    padding-right: 15px!important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 10pt;
    font-family: var(--body-font);
    cursor: pointer;
}
.cke_dialog .cke_dialog_title {
    background-color: transparent!important;
    border-bottom: none;
    font-size: 20px;
    padding: 0px 10px 10px;
    color: #17a4d0;
}
.cke_dialog .cke_dialog_footer {
    background-color: transparent!important;
    border-top: none;
}
.cke_dialog .cke_resizer {
    display: none;
}
.cke_dialog .cke_dialog_body {
    padding: 40px;
}
.cke_dialog .cke_dialog_body {
    max-height: calc(100dvh - 200px);
    overflow-y: overlay;
    background-color: var(--white)!important;
    box-shadow: 0px 1px 3px var(--shadow);
}
.cke_dialog input {
    border: none!important;
    background-color: var(--background-color)!important;
    padding-left: 10px!important;
    padding-right: 10px!important;
    color: var(--black);
    font-family: var(--body-font);
}
.cke_dialog .cke_dialog_ui_input_select {
    width: calc(100%);
}
.cke_dialog .cke_dialog_ui_vbox_child {
    padding: 0px;
}
.cke_dialog .cke_dialog_ui_input_text input {
    margin-bottom: 0px!important;
    background-color: var(--background-color)!important;
    color: var(--black)!important;
    border-radius: 5px!important;
    padding: 0px 15px!important;
}
.cke_dialog .cke_dialog_ui_labeled_content {
    margin-bottom: 10px;
}
.cke_dialog a.cke_dialog_ui_button {
    height: 45px;
    line-height: 45px;
    width: 84px;
    padding: 0px;
    background-color: var(--white);
    color: var(--black);
    outline: none!important;
    border: none!important;
    border-radius: var(--border-radius-tiny);
    box-shadow: none!important;
}
.cke_dialog a.cke_dialog_ui_button:focus {
    padding: 0px;
}
.cke_dialog a.cke_dialog_ui_button:hover {
    background-color: transparent;
}
.cke_dialog a.cke_dialog_ui_button.cke_dialog_ui_button_ok {
    color: var(--awhite)!important;
}
.cke_dialog a.cke_dialog_ui_button_ok:hover {
    box-shadow: 0px 1px 3px #757575;
}
.cke_dialog a.cke_dialog_ui_button span {
    font-size: 14px!important;
    color: var(--black);
    font-weight: 400!important;
}
.cke_dialog a.cke_dialog_ui_button_ok:hover {
    background-color: #19a3d0;
}
.cke_dialog .cke_ltr a.cke_dialog_close_button {
    right: 20px!important;
}
.cke_dialog_body a.cke_dialog_close_button {
    right: 27px;
    top: 23px;
}
.cke .cke_button__source_label, .cke .cke_button__sourcedialog_label {
    display: none!important;
}
.todo-summary-text .todo-comment-spec {
    font-size: 9pt;
    color: #9a9a9a;
}
.user-searcher {
    background-color: var(--white)!important;
    padding-left: 0px!important;
    padding-right: 0px!important;
}
.user-searcher input {
    margin-bottom: 0px!important;
    padding-left: 13px!important;
    padding-right: 13px!important;
    color: var(--black);
}
.user-searcher input[type=text]:focus:not([readonly]) {
    border-bottom: none!important;
    box-shadow: none!important;
}
.user-searcher i.right {
    font-size: 14pt;
    line-height: 50px;
    color: #16a3d1;
}
.change-assignee li {
    padding-top: 0px!important;
    padding-bottom: 0px!important;
    line-height: 45px;
    height: 45px;
}
.todo-summary-text > span {
    cursor: pointer;
    white-space: unset!important;
    font-size: 14px;
}
.inline-todo-img.left {
    float: left;
}
.todo-summary-text .inline-todo-img i {font-size: 14pt!important;line-height: 22px;vertical-align: middle;padding-right: 4px;}
.timeline-system-message span {position: relative;}
.timeline-item:hover .timeline-system-message .clickable .btn {
    display: inline-block;
}
.timeline-system-message .clickable .btn {
    display: none;
    position: absolute;
    right: -42px;
    top: -9px;
    z-index: 999999999;
    padding: 0px 7px 0px 7px!important;
    border-radius: 0px 5px 5px 0px!important;
}
.timeline-system-message .clickable .btn i {
    font-size: 10pt;
    color: var(--black);
}
.timeline-system-message .clickable:hover {
    color: var(--primary)!important;
    text-decoration: none!important;
}
.todo-summary-message-content {
    padding: 10px!important;
    border-radius: 10px;
    margin-top: 5px;
    color: var(--black);
    max-height: 400px;
    overflow-y: overlay;
    word-break: break-all;
}
.todo-summary-message-content li, .todo-summary-message-content li li {
    line-height: 1.4!important;
    min-height: auto!important;
    background-color: transparent!important;
}
.todo-comment-system-message {
    /* margin-top: 5px; */
    color: var(--light-text);
    line-height: 1.5;
    font-size: 12px;
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: start;
}

.the-profile-body .todo-comment-system-message {
    font-size: 13px;
    margin-top: 2px;
    margin-bottom: 4px;
    font-weight: 400;
    color: var(--black);
}

.the-profile-body .todo-summary-text .todo-comment-system-message {
    color: var(--light-text);
    font-weight: 300;
    font-size: 12px;
}

.profile-todo-items .todo-comment-system-message {
    margin-top: 0;
}
.nav-sidebar .todo-comment-system-message {
    line-height: 16px;
    font-weight: 300;
    font-size: 12px;
}
.todos .todo-comment-system-message {
    float: none;
    /* line-height: 1.3; */
    margin-bottom: 0px;
    font-size: 12px!important;
    color: var(--light-text);
    padding-top: 1px;
    flex-direction: column;
}

nav .todos .todo-comment-system-message {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0px;
}

.todos .todo-comment-system-message span strong {
    font-weight: 500!important;
}

.todos .todo-comment-system-message span {
    display: flex;
    gap: 5px;
}

nav .todos .todo-comment-system-message span {
    /* display: inline-block; */
    /* float: left; */
}

.todos .todo-comment-system-message span span:last-child {
    margin-left: auto;
}

.todos .todo-comment-system-message span span {
    font-size: 11px;
}
.profile-todo-items .todos .todo-comment-system-message {
    color: var(--light-text);
}
.notification-todo-detail-content .todo-comment-spec {margin-bottom: 10px!important;display: inline-block;width: 100%;font-size: 8.5pt;}
.tna-right {
    text-align: right;
}
.todos .todo-notification-actions .tna.comment i {
    display: block;
    position: relative;
    width: auto;
    padding: 0px;
    left: inherit;
    top: inherit;
    right: inherit;
    bottom: inherit;
    font-size: 11pt;
    color: var(--icon-color);
    margin-right: 4px;
}
.todos-widget .item .todo-created {
    text-align: right;
    float: right;
}
.btn-text {
    background-color: transparent!important;
    color: var(--black)!important;
}
.btn-text:hover {
    color: var(--primary)!important;
    background-color: transparent!important;
}
.cke_colordialog_table {
    min-width: 240px;
}
.cke_colordialog_table td {
    border-radius: 0px!important;
    cursor: pointer;
}
.header-title h5 {
    color: var(--primary);
}
.label {
    margin-bottom: 4px;
    -webkit-font-smoothing: antialiased;
    font-weight: 600;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
.account-users .label {
    margin-bottom: 10px;
}
.sub-text {
    color: var(--light-text);
    font-size: 13px;
}

.sub-text.space-members-subcopy {
    margin-bottom: 20px;
}

.pi-sidebar-body .sidebar-heading.sub-text {
    padding: 20px 30px 3px;
    text-transform: uppercase;
    font-size: 10px;
}

.legal-text.sub-text {
    margin-top: 60px;
    /* font-size: 13px; */
    line-height: 17px;
}

.legal-text.sub-text.sso-enabled {
    margin-top: 50px;
}

.account-chooser-container .legal-text.sub-text {
    /* padding-bottom: 30px; */
    /* border-bottom: 1px solid var(--light-border); */
    margin-top: 40px;
    font-size: 9px;
    line-height: 15px;
}
.project-perms .sub-text {
    margin-bottom: 5px;
}
.admin-settings .sub-text {
    margin-bottom: 8px;
}
html body .admin-settings .btn.publish-toggle {
    padding-left: 0px!important;
    margin-bottom: 10px;
    margin-top: -10px;
    color: var(--primary)!important;
}
.admin-settings.values-editor .publish-toggle i {
    color: var(--primary)!important;
    padding: 0px;
    margin: 0px;
}
.board-column-body .sub-text {
    font-size: 9.5pt;
}
.modal-card .sub-text {
    margin-bottom: 20px;
}
.settings-section .card > .sub-text {margin-bottom: 20px;}
.text-field input, .text-field .dropdown-select {
    background-color: var(--background-color)!important;
    border-bottom: none!important;
    box-shadow: none!important;
    padding-left: 20px!important;
    padding-right: 20px!important;
    font-size: 10.5pt!important;
    color: var(--black)!important;
    margin-bottom: 0px!important;
    border-radius: 5px!important;
    height: 50px!important;
    line-height: 50px!important;
    overflow: hidden;
    text-overflow: ellipsis;
    position: relative;
    font-family: var(--body-font);
}

.account.settings .text-field input, .account.settings .text-field textarea, .account.settings .text-field .dropdown-selector {
    background-color: var(--background-color)!important;
}

html body input[type=range] {
    outline: none!important;
    border: none!important;
}

.account.settings .text-field input:disabled {
    color: var(--light-text)!important;
}

.account.settings .integration-setting .text-field .dropdown-selector span {
    margin-right: 30px!important;
}

.account.settings .text-field textarea {
    min-height: 120px;
}

html .account.settings .checklist.card .text-field textarea, html .account.settings .checklist.card .text-field input, html .account.settings .checklist.card .text-field .dropdown-selector {
    background-color: var(--white)!important;
}

.dialog-body .text-field input {
    font-family: inherit!important;
}
.text-field label {
    text-align: left;
}
html body .account .text-field .switch label input[type=checkbox]+.lever, html.dark body .account .text-field .switch label input[type=checkbox]+.lever {
    /* background-color: var(--light)!important; */
    margin-right: 7px;
}

body .account .program-item .text-field .switch label input[type=checkbox]+.lever {
    background-color: var(--background-color)!important;
}

.text-field input[type="number"] {
    padding-right: 15px!important;
}
.board-settings-wrapper .text-field input, .board-settings-wrapper .text-field textarea {
    margin-bottom: 0px;
}
.text-field.with-dropdown input {
    margin-bottom: 0px;
    padding-left: 15px!important;
}
.text-field input[type=text]:focus {
    border-bottom: none!important;
    box-shadow: none!important;
}
.textarea-field textarea {
    padding: 10px;
    background-color: var(--background-color);
    border: none;
    outline: none;
    max-width: 100%;
    min-width: 100%;
    min-height: 100px;
    font-size: 10.5pt!important;
}
.user .image {
    max-width: 27px;
    width: 100%;
    display: inline-block;
    vertical-align: top;
    margin-right: 15px;
    margin-bottom: -5px;
    float: left;
}
.project-ul .project-user.user .image img {
    line-height: 50px;
    vertical-align: middle;
    border: none;
}
.user .image img {
    border-radius: 4px;
}
/* Avatar fallback for a roster row with no picture — a federated seat whose
   avatar lives on photoURL rather than image, or a member who never uploaded
   one. Without it the tile rendered as a blank 27px hole. */
.user .image .just-initials {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    font-size: 9pt;
    font-weight: 500;
    color: var(--light-text);
    background-color: var(--background-color);
    border-radius: 4px;
}
.user .name {
    line-height: 30px;
    display: inline-block;
    vertical-align: top;
    font-size: 10pt;
    font-weight: 400;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--black);
}
.user .name i.right {
    line-height: 30px;
    margin-left: 0px;
    font-size: 14pt;
}
.user .user-actions {
    display: none;
    height: 30px;
    color: var(--icon-color);
    margin-left: 10px!important;
    cursor: pointer;
    float: right;
    padding-right: 10px;
    position: absolute;
    right: 0px;
    top: 3px;
}
.project-user-list .user .user-actions {
    top: 0px;
    right: 0px;
    position: absolute;
    float: right;
    padding-right: 0px;
    height: 50px;
    margin: 0px!important;
    text-align: right;
    width: auto!important;
    display: block;
    visibility: hidden;
    opacity: 0;
}
.user .delete:hover {
    color: var(--warning)!important;
}
.user .delete:hover {
    color: var(--primary);
}
.user:hover .delete {opacity: 1;display: inline-block;width: 50px;text-align: center;}
.project-users .user .delete {
    opacity: 1;
    position: relative;
    height: 50px!important;
    line-height: 50px!important;
    display: inline-block;
    width: 50px;
    text-align: center;
    right: -10px;
    user-select: none;
    float: right;
    position: absolute;
    right: 0px;
}
.project-users .project-user .project-user .delete {
    position: absolute;
    top: 0px;
}
.project-users .user .delete i {
    color: var(--black)!important;
    font-size: 12pt;
}
.project-users .user .delete:hover i {
    color: var(--warning)!important;
}
.project-users .user .delete i {
    height: 50px;
    line-height: 50px;
}
.project-users .project-user .user:hover .delete {
    height: 50px!important;
    line-height: 50px!important;
}
.user .delete i {
    line-height: 30px;
    font-size: 14pt;
}
.add-user {
    line-height: 25px;
    color: var(--primary);
    cursor: pointer;
    width: auto;
    /* margin-top: 17px; */
}

.project-permissions-editor .add-user.btn {
    margin-top: 0px;
    right: -5px;
    padding: 0 0px!important;
    display: flex;
    align-items: center;
}
.user-viewer .add-user {
    float: right;
    background-color: var(--primary);
    padding: 0 15px;
    height: 34px;
    line-height: 34px;
    border-radius: var(--border-radius-xs);
    box-shadow: var(--box-shadow);
    font-size: 13px;
    font-weight: 400;
}

.user-viewer .add-user:hover {
    box-shadow: var(--box-shadow-extra);
}

.user-viewer .add-user, .user-viewer .add-user i {
    color: var(--awhite)!important;
    line-height: 34px;
}

.user-viewer .add-user i {
    font-size: 17px;
}
.add-user:hover i {
    color: var(--primary);
}
.add-user i {
    color: var(--primary);
    margin-right: 5px!important;
}
.modal-buttons .modal-button {
    padding: 0px 0px 0px 20px!important;
    text-transform: uppercase;
    color: var(--black);
    width: auto;
    display: inline-block;
    float: right;
    margin-top: 20px;
    cursor: pointer;
}
.modal-buttons .modal-button:hover {
    color: var(--white);
}
.text-field {
    position: relative;
}
.select-board-type .text-field input {margin-bottom: 0px;}
.settings-section .text-field:last-child input {
    margin-bottom: 0px;
}

.security-settings .grouping .text-field input {
    border-radius: 5px 0 0 5px!important;
}
.settings-section .integration-settings .text-field input {
    background-color: var(--background-color)!important;
}
.settings-section .integration-helper .integration-settings .text-field input {
    color: var(--black);
}
.settings-section .integration-helper .integration-setting.pairings .col:first-child .text-field::after {
    content: '=';
    position: absolute;
    right: -20px;
    color: var(--light-text);
    top: 13px;
    font-size: 14pt;
    z-index: 9999999;
}
.integration-settings .text-field input {
    background-color: var(--background-color)!important;
    border-radius: 5px!important;
}
.settings-section .text-field input {
    background-color: var(--background-color)!important;
    margin-bottom: 0px!important;
}
.okr-editor .text-field input::placeholder {
    color: var(--black);
}
.account .settings-section-wrapper .text-field input {
    /* background-color: var(--white)!important; */
    /* font-family:
    var(--body-font); */
    border-radius: var(--border-radius-tiny)!important;
    margin-bottom: 0px!important;
    font-weight: 300;
}

.account .settings-section-wrapper .fs-container .text-field input {
    /* border-right: 1px solid var(--white); */
    /* background-color: var(--white)!important; */
    /* box-shadow: var(--box-shadow)!important; */
}

.account .tags-editor .fs-container .text-field input {
    background-color: var(--white)!important;
}

.account .settings-section-wrapper .focus-item .text-field input {
    background-color: var(--background-color)!important;
}

html body .account .admin-settings-body .settings-section-wrapper .account-info input {
    background-color: var(--background-color)!important;
}

.priority-row input {
    border-right: 1px solid var(--white)!important;
}
.account .settings-section-wrapper.card .text-field {
    border-radius: 0px!important;
    border-right: 0px;
    padding-bottom: 15px;
    padding-right: 5px!important;
}
.account .settings-section-wrapper.card .text-field.search-user-list {
    margin-bottom: 0px!important;
    padding-bottom: 0;
    padding-right: 0!important;
}
.account .settings-section-wrapper.card .text-field.search-user-list input {
    /* background-color: var(--white)!important; */
}
.settings .biz-data .edit-mode .title.text-field {
    padding-top: 20px;
    padding-bottom: 0px;
    border-right: none;
}
.program-item .text-field input {
    background-color: var(--white)!important;
}
.settings-section .text-field i {
    position: absolute;
    right: 10px;
    line-height: 50px!important;
    font-size: 14pt!important;
    cursor: pointer;
    bottom: 0px;
    top: 0;
}

.idp-guide-card i.material-symbols-outlined {
    position: relative;
    right: 0;
    line-height: unset;
    top: -1px;
    vertical-align: middle;
    font-size: 21px;
    color: var(--primary);
}
.text-field .user .image i {
    position: relative;
    right: 0px;
    line-height: 50px;
    padding: 0px 7px;
    margin-right: 0px;
}
.user-editor, 
.deangelis-dropdown {
    border: 1px solid var(--light);
    padding: 20px;
    position: relative;
    margin-top: 10px!important;
}
.user-editor > .col, 
.deangelis-dropdown > .col {
    position: relative;
}
.user-editor .user-list.search, 
.deangelis-dropdown .list.search {
    background-color: var(--xwhite);
    width: 100%;
    max-height: 208px;
    overflow-y: overlay;
    margin-top: 0px;
    z-index: 9;
}
.user-editor .text-field.search-input input,
.deangelis-dropdown .text-field.search-input input {
    background-color: transparent!important;
    margin-bottom: 0px!important;
    /* border-bottom: 1px solid var(--border)!important; */
    transition: none;
}
.user-editor .text-field.search-input > input {
    border-radius: 0px!important;
    cursor: text;
}
.user-editor .text-field.search-input input::placeholder,
.deangelis-dropdown .text-field.search-input input::placeholder {
    color: var(--icon-color);
}
.user-editor .text-field.search-input.selected input,
.deangelis-dropdown .text-field.search-input.selected input {
    background-color: var(--xwhite)!important;
    border-radius: 0px!important;
}
.user .remove-user, .deangelis-dropdown .remove {
    position: absolute;
    right: 0px;
    top: 0px;
    bottom: 0px;
    height: 50px;
    padding: 0px 0px 0px 15px;
    opacity: 0;
    font-size: 10pt;
}
.user:hover .remove-user,
.item:hover .remove {
    opacity: 1;
}
.user .remove-user i,
.item .remove i {
    line-height: 50px;
    font-size: 14pt;
}
.user-list .user,
.list .item {
    padding: 0px;
    background-color: var(--xwhite);
    cursor: pointer;
    position: relative;
    margin-bottom: 0px;
    width: 100%!important;
    height: 50px;
    line-height: 50px;
    display: block;
    color: var(--black);
}
.user-list.search .user {
    padding-left: 20px;
    padding-right: 20px;
}
.user-list.search .user:focus {
    background-color: var(--primary)!important;
    border: none!important;
    outline: none!important;
}
.full-screen-dialog .user-list.search .user {
    background-color: var(--xwhite);
}
.list .item {
    text-transform: capitalize;
    font-size: 10pt;
}
.user-list .user.focus-visible,
.list .item.focus-visible {
    box-shadow: none!important;
    outline: none;
    color: var(--primary);
    background-color: var(--extra-light);
}
.user-list .user:hover .remove-user,
.list .item:hover .remove {
    color: var(--warning);
}
.user-editor .search-input.selected,
.deangelis-dropdown .search-input.selected {
    box-shadow: 0px 2px 8px var(--shadow);
    z-index: 999;
    position: absolute;
    width: 100%;
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
    top: 0px;
}
.user-list .user:hover,
.list .item:hover {
    background-color: var(--hover-item);
    color: var(--primary);
}
.user-editor .user-list.selected-user-list,
.deangelis-dropdown .list {
    max-height: 40vh;
    min-height: 50px;
    overflow-y: auto;
    border-radius: 5px;
}
.user-editor .user-list.selected-user-list {
    background-color: var(--white);
    /* border: 1px solid var(--light-border); */
    border-radius: 0 0 var(--border-radius-tiny) var(--border-radius-tiny);
}
html body .project-peeps.list-item-editor .row.user-editor .user-list {
    padding: 0px!important;
}
.user-editor .user-list.selected-user-list .user {
    padding-left: 20px;
    padding-right: 20px;
    background-color: var(--background-color);
    border-bottom: 1px solid var(--white);
}

.user-editor .user-list.selected-user-list .user:last-child {
    border-bottom: none;
}

.full-screen-dialog .user-editor .user-list .user {
    background-color: var(--background-color);
}
.user-editor .user-list.selected-user-list .user:hover {
    background-color: var(--extra-light);
}
.user-editor .user-list.selected-user-list .user .remove-user {
    right: 13px;
}
.full-screen-dialog .user-editor .user-list.selected-user-list {
    max-height: unset;
    overflow: unset;
    border-radius: 5px;
    overflow: hidden;
}
.full-screen-dialog .user-list.selected-user-list.selected {
    margin-top: 0px;
}
.show-more-perms {
    cursor: pointer;
}
.more-col {
    width: auto;
}
.user .chkbox {
    display: inline-block;
    float: left;
    width: 30px;
}
.project-perms {
    border-radius: 5px;
    overflow-x: auto;
}
.project-perms .project-users .project-user {
    height: 50px;
    line-height: 50px;
    padding: 0px 0px;
    display: flex;
    width: 100%;
    margin-bottom: 1px!important;
    /* border-top: 1px solid var(--light-border); */
    text-align: left;
    position: relative;
    background-color: var(--white);
    padding: 0px 20px;
    /* border-radius: var(--border-radius-tiny); */
}
permission-checkbox {
    width: 80px;
    min-width: 80px;
    text-align: center;
}
permission-checkbox > div {
    height: 50px;
    line-height: 50px;
}
permission-checkbox label {
    height: 50px!important;
    line-height: 50px!important;
    width: 80px;
    float: right;
    padding: 0px!important;
}
permission-checkbox label::before {
    top: 14px!important;
    left: 30px!important;
}
.project-groups > .project-user > permission-checkbox {
    padding-top: 10px;
    padding-left: 20px;
}
.project-perms .project-users .project-user .project-user:hover .name, .project-perms .project-users .project-user .project-user:hover label::before {
    color: var(--primary)!important;
    border-color: var(--black);
}
.project-perms .project-users .project-user .project-user:hover .chkbox:hover label::before, .project-perms .project-users .project-user.project-group-teamname:hover .chkbox:hover label::before {
    border-color: var(--primary);
}
html body .project-perms .project-users .project-user .project-user chkbox:hover label::before {
    border-color: var(--primary)!important;
}
.project-perms .project-users .project-user .project-user:hover [type="checkbox"]:checked+label:before,
.project-perms .project-users .project-group-teamname:hover [type="checkbox"]:checked+label:before {
    border-top-color: transparent!important;
    border-left-color: transparent!important;
}
.project-perms .project-users .project-user.project-group-teamname {
    padding: 0px 20px!important;
    margin-bottom: 0px;
    border-radius: 0px;
}
.spec-item-main-body .project-perms .project-users .project-user.project-group-teamname {
    padding: 0px!important;
}
.project-perms .project-users .project-user.project-group-teamname > .name-col .name:hover {
    color: var(--primary)!important;
}
.project-perms .project-groups:last-child .project-user.project-group-teamname {
    border-bottom: none!important;
}
.project-perms .project-users .project-user.project-group-teamname.open {
    height: auto;
}
.project-perms .project-users .project-user.project-group-teamname .project-user.user .name-col .name {
    padding-left: 0px;
    color: var(--light-text);
}
.project-perms .project-users .project-user.project-group-teamname .project-user.user .name::before {
    content: '- ';
}
.all-users.project-perms .project-users .project-user {
    padding: 0px;
}
.all-users.project-perms .project-users .project-user .name {
    line-height: 50px;
}
.project-perms .project-users .project-user .image {
    padding-top: 7px;
    height: 50px;
}
.project-perms .project-users {
    padding: 0px;
}
.page-users .project-perms.all-users {
    padding: 0px!important;
}
.page-users .project-perms.all-users .project-users {
    padding: 0px;
    background-color: var(--white);
    /* border-radius: 2px; */
    /* border: 1px solid var(--light-border); */
}
.page-users .project-perms {
    padding: 30px!important;
    background-color: var(--white)!important;
    max-height: unset!important;
    height: auto!important;
    /* border-radius: var(--border-radius-tiny); */
}
.modal-button {
    display: inline-block;
    padding: 5px 15px;
}
.document-modal .modal-button {
    float: right;
    cursor: pointer;
}
.document-modal .modal-button:hover {
    color: var(--primary);
}
.total-todos {
    font-size: 10pt;
    margin-top: 10px;
    color: var(--icon-color);
}
body a.cke_button_on {
    border-color: var(--background-color);
}
.separator {
    margin-bottom: 10px;
    margin-top: 10px;
    border-bottom: 1px solid transparent;
}
body nav > ul {
    max-height: 64px;
}
.add-newpage .empty-text i {
    vertical-align: middle;
    line-height: 1px;
}
body .cke {
    border: none;
}
body .cke .cke_top {
    border-bottom: none;
    background-color: transparent;
    padding: 0px;
}
.listing-item
body .cke a.cke_button_on {
    background-color: var(--awhite);
    border: 1px solid var(--awhite);
    border-radius: 5px;
}
body .posts-create .cke a.cke_button_on {
    background-color: var(--extra-light);
}
.dark body .posts-create .cke a.cke_button_on {
    background-color: var(--awhite);
}
body .cke a.cke_button:hover {
    background-color: var(--awhite);
    border-color: var(--white);
    cursor: pointer;
    padding: 0px;
}
a.cke_button_disabled:hover, a.cke_button_disabled:focus, a.cke_button_disabled:active {
    border: 1px solid transparent!important;
}
body .panel-editor .cke a.cke_button_on {
    background-color: white;
    border: white;
}
body .cke {
    text-align: left;
    z-index: 99;
}
.cke .cke_inner, .cke .cke_wysiwyg_div {
    background-color: transparent;
}

.ideas-detail-description .cke .cke_editable {
    min-height: 150px;
    padding-top: 5px;
}
.deangelis-dropdown {min-height: 70px;}
.modal-buttons {
    display: inline-block;
    width: 100%;
}

.modal-buttons.left-button-dialog {
    display: inline-flex;
}
.sps-sidebar .modal-buttons {
    position: absolute;
    bottom: 0px;
    right: 0px;
    padding-right: 20px;
    padding-bottom: 20px;
}
.sidebar-outline {
    width: 100%;
    /* height: calc(100dvh - 128px) */
}
.spec-doc-wrapper .cktoolbarr {
    background-color: var(--white);
    padding: 10px;
    box-shadow: 0px 1px 5px var(--light-plus);
}
.spec-doc-editor .cke .cke_wysiwyg_div {
    min-height: 500px;
}
body .spec-doc-editor textarea {
    height: 100%!important;
    position: relative!important;
}
body .spec-doc-editor textarea.cke_editable {
    min-height: 100%!important;
}
.doc-read .doc-header h5 {
    line-height: 40px;
    margin-bottom: 0px;
    padding-left: 10px;
}
.doc-edit .doc-header {
    background-color: var(--white);
}
.doc-read .doc-header {
    background-color: var(--white);
    box-shadow: 0px 1px 5px var(--lightgrey);
    z-index: 9999999999;
}
.outline-todo {
    font-size: 9pt;
    margin-bottom: 10px;
    color: var(--primary);
    line-height: 1.4;
    cursor: pointer;
    font-family: var(--body-font);
}
.project-item ul {
    padding-left: 17px!important;
    margin-top: 0px!important;
}
.project-todo-header {
    text-transform: uppercase;
    margin-bottom: 5px;
    margin-top: 15px;
    color: var(--primary);
    font-weight: 600;
    font-size: 9pt;
    cursor: pointer;
    font-family: var(--body-font);
}
.project-todo-header:hover {
    text-decoration: underline;
}
.outline-todo .listing-item {
    font-size: 10pt;
}
.listing-item .assignee-name {
    font-weight: bold!important;
}
.listing-item .author-name {
    font-style: italic;
}
.image-notes-section.write-notes {
    background-color: transparent;
    box-shadow: none;
}
.ssii .image-notes-section.write-notes {padding-bottom: 50px;}
.image-notes-section {
    width: 100%;
    display: table;
    opacity: 1;
    visibility: visible;
}
.images-editor .image-notes-section {
    width: 100%;
    float: left;
}
.images-editor .image-notes-section .image-notes-section {
    width: 100%;
}
.images-editor .image-notes-section > .row {
    max-width: 100px;
    float: right;
    position: absolute;
    right: 0px;
    bottom: 1px;
    border-radius: 0px 0px 5px 0px!important;
    overflow: hidden;
}
.ssii > .image-notes-section {max-width: 50%;margin: 0px auto;}
.image-action-buttons {
    position: absolute;
    height: 50px;
    line-height: 50px;
    bottom: calc(50% - 20px);
    right: calc(50% - 50px);
    z-index: 999999;
    text-align: center;
    box-shadow: 0px 1px 5px var(--shadow);
    border-radius: 50px;
    box-sizing: border-box;
    width: 100px;
}
.image-action-buttons .btn {
    height: 50px;
    width: 50px;
    line-height: 50px;
    display: inline-block;
    float: right;
    background-color: var(--white)!important;
}
.image-action-buttons .btn.save {
    border-radius: 0px 50px 50px 0px!important;
}
.image-action-buttons .btn.save i {
    color: var(--good)!important;
}
.image-action-buttons .btn.save:hover i {
    color: var(--awhite)!important;
}
.image-action-buttons .btn.save:hover {
    background-color: var(--good)!important;
}
.image-action-buttons .btn:hover {
    background-color: var(--primary)!important;
}
.image-action-buttons .btn:hover i {
    color: var(--awhite)!important;
}
.image-action-buttons .inline-dialog {
    line-height: 1.5;
    bottom: 0px;
    right: -5px;
    width: 180px!important;
    border-radius: 50px;
    user-select: none;
}
.hide-image-buttons .image-action-buttons {
    display: none;
}
.zj-image-attachment:hover .image-action-buttons {
    opacity: 1;
}
.zj-image-attachment:hover .image-action-buttons > div {
    color: var(--primary)!important;
    text-align: center;
}
.zj-sl-outline-buttons .btn.spec-outline-filter {
    float: left;
    width: auto;
    padding: 0px 10px 0px 10px!important;
}
.zj-sl-outline-buttons .dropdown-content li a {
    width: 100%!important;
    max-width: 100%!important;
    text-align: left;
    padding: 0px 20px 0px!important;
    line-height: 45px;
}
.btn.outline-ticket-type {
    float: left;
    background-color: var(--white);
    color: var(--black);
    text-transform: capitalize;
    position: relative;
    text-align: left;
    width: 100%;
    padding-left: 30px!important;
    font-size: 13px;
    z-index: 9999;
}
.btn.outline-ticket-type i {
    color: var(--icon-color);
}
.btn.outline-ticket-type i {
    line-height: 50px;
    position: absolute;
}
.project-header .btn.outline-ticket-type {
    padding-left: 20px!important;
    font-size: 11pt;
}
.btn.outline-ticket-type span {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    color: var(--black);
    line-height: 50px;
    vertical-align: middle;
    float: left;
    padding-right: 5px;
}
.btn.outline-ticket-type:hover span {
    color: var(--primary);
    transition: color .3s ease-in-out;
}
.btn.outline-ticket-type:hover {
    color: var(--awhite);
}
.img-wrappe {position: relative;}
nav .todo-author-name {
    font-size: 8pt;
    font-style: normal!important;
    font-weight: bold;
    color: #c2c2c2;
    white-space: nowrap;
    margin-bottom: -1px!important;
    display: inline-block;
    padding-left: 0px!important;
    text-transform: none!important;
}
.the-todos-selectedtext {
    font-size: 12px;
    line-height: 20px!important;
    white-space: normal;
    padding: 10px;
    background-color: var(--background-color);
    border-radius: 5px;
    margin-top: 8px;
}
nav .the-todos-selectedtext {
    line-height: 26px;
    background-color: var(--extra-light);
}
nav .todo-summary-summary:hover .the-todos-selectedtext {
    text-decoration: none!important;
}
.todo-itemslabel
.todo-summary-text {
    color: var(--black);
    font-family: var(--body-font);
}
.todo-summary-text .mentioned-user img {
    margin-top: 0;
}
.openup-comments {
    display: inline-block;
    width: 20px;
    padding-left: 10px;
    padding-right: 10px;
    height: 20px;
    text-align: center;
    line-height: 20px;
    background-color: var(--primary);
    border-radius: 5px;
    color: var(--awhite)!important;
    margin: 0px;
    padding: 0px;
    text-align: center;
    font-weight: 500;
    }

.openup-comments:hover {
    background-color: var(--background-color)!important;
    color: var(--ablack)!important;
}

.dark .openup-comments:hover {
    background-color: var(--icon-color)!important;
}
.completed-todos .openup-comments {
    background-color: var(--extra-light);
    color: var(--black)!important;
}
.image-annotations .openup-comments
.openup-comments:hover {
    background-color: var(--primary);
    color: var(--awhite)!important;
}
.openup-comments i {line-height: 35px!important;}
.todo-assignee .dropdown-select {
    overflow: hidden;
}
.todo-assignee .dropdown-select label {
    padding-right: 40px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    line-height: 50px;
    top: 0px;
}
a.goto-settings.btn {
    margin-left: -4px;
    background-color: transparent;
    color: var(--icon-color);
    font-size: 15pt!important;
}
a.goto-settings.btn i {
    font-size: 12pt!important;
    line-height: 60px;
}
.document-actions {
    text-align: right;
}
.document-actions > div {
    display: inline-block;
    padding: 0px 10px;
    cursor: pointer;
    height: 37px;
    line-height: 37px;
    color: var(--icon-color);
    font-size: 10pt;
}
.document-actions .done:hover i {
    color: var(--white);
}
.document-actions > div i {
    line-height: 40px;
}
.document-actions > div:hover i {
    color: var(--primary)!important;
}

.integration-actions .btn.btn-transparent {
    font-weight: 500;
    opacity: 100%;
}
.document-settings .document-modal .row {
    margin-bottom: 0px!important;
}
.document-settings .row:last-child {
    margin-bottom: 0px!important;
}
.admin-card .col.m6:first-child {
    padding-right: 20px!important;
}
.document-settings .row.setting-row .project-perms.col.m6:last-child {
    padding-right: 30px!important;
}
.general-project-setttings.col.s12.m6 {padding-right: 30px!important;}

.document-settings .images .image-text {
    text-align: center;
    height: 188px;
    background-color: var(--background-color);
    line-height: 188px;
    font-style: italic;
    color: var(--icon-color);
}
.page-users .project-users {
    max-height: initial!important;
    overflow-y: hidden!important;
    overflow-x: auto;
    /* white-space: nowrap; */
    position: relative;
}
.project-users .add-user {
    padding-left: 3px;
}
.project-perms-header {
    font-size: 12px;
    line-height: 9pt;
    margin-bottom: 0px;
    margin-top: 0px;
    display: inline-flex;
    position: absolute;
    padding: 35px 0px 10px;
    background-color: var(--white);
    z-index: 999;
}

.project-permissions-editor .project-perms-header {
    position: relative;
}
.project-perms-header > div, .page-users .project-perms .project-user > div {
    width: 80px;
    display: inline-block;
    text-align: center;
    height: 50px!important;
}
.project-perms-header > div {
    width: 80px;
    margin-left: 0px!important;
}
.page-users .project-perms .project-user > div {
    float: none;
    line-height: 22px;
}
html body .page-users .project-perms .project-user > .team-users {
    width: auto!important;
    display: table!important;
    float: left;
    height: auto!important;
}
.page-users .project-perms .project-user > .delete i {
    line-height: 50px;
}
.page-users .project-perms .project-user > .more-col {
    width: 60px;
}
.page-users .project-perms .project-user > .img-col.image {
    float: left;
    width: 23px;
    padding-top: 0px;
}
.project-perms-header > .name-col, .page-users .project-perms .project-user > .name-col {
    width: 200px;
    text-align: left;
    font-weight: 400;
}
body .project-perms-header > .name-col {
    left: 35px;
}
.project-perms-header > .name-col {
    margin-left: 0px;
    padding-left: 20px;
}
.spec-item-main-body .project-perms-header > .name-col {
    padding-left: 0px!important;
}
.project-perms-header > div {
    height: 15px!important;
    display: inline-block;
    float: left;
}
.page-users .project-perms .project-user > .name-col {
    float: left;
    position: relative;
    min-width: 200px;
    width: 200px;
    padding-top: 0px;
}
.page-users .project-perms .project-user > .name-col .name i {
    line-height: 35px;
    vertical-align: middle;
    font-size: 13pt;
}
.project-perms .team-users .project-user > .name-col {
    width: 200px!important;
}
.project-perms-header > .img-col {
    width: 30px;
}
.document-settings .feature label {
    position: relative;
}
.document-settings .feature label {
    font-size: 10pt;
    color: var(--black);
}
.document-settings .delete {
    float: left;
    font-size: 11pt;
    cursor: pointer;
    position: absolute;
    right: 0px;
    display: inline-block;
}
.document-settings .delete:hover {
    color: var(--warning);
}
.document-settings .delete i {
    font-size: 15pt;
}
.document-settings .feature {
    padding-bottom: 10px;
    /* width: 50%; */
    cursor: pointer;
    transition: all .5s ease;
    flex: 1;
    min-width: 40%;
    max-width: 50%;
    flex-wrap: wrap;
    display: flex;
    box-sizing: border-box;
    margin: 0px;
}
.document-settings .feature:hover label {
    color: var(--primary)!important;
}

.document-settings .feature:hover .lever {
    background-color: var(--light)!important;
}
.project-users .project-user {
    margin-bottom: 1px;
    height: 50px;
    line-height: 50px!important;
    display: inline-block;
    white-space: nowrap;
    width: 100%;
    background-color: var(--background-color);
    padding: 0px 30px 0 15px;
    border-radius: var(--border-radius-tiny);
    position: relative;
}
.project-users .project-user > div {
    line-height: 50px;
    margin-bottom: 0px!important;
}
.project-users .project-user .project-user:hover {
    background-color: var(--background-color);
}
.project-perms .project-users .project-user .project-user:hover {
    background-color: var(--white);
}
.project-perms .project-users .project-user .project-user {
    display: flex;
}
.account-users .project-users .project-user {
    padding: 5px 0px;
}
.user-list .user .name {
    line-height: 50px;
}
.user-list .user .image img {
    vertical-align: middle;
}
.user .group-name {
    position: absolute;
    font-size: 8pt;
    bottom: -8px;
    display: none;
}
.project-groups .label {
    margin-top: 20px;
    margin-bottom: 10px;
    color: var(--primary);
    text-transform: uppercase;
    font-size: 8pt;
}
.project-groups {max-width: unset!important;width: 160%;display: flex;}
.project-groups:last-child {
    margin-bottom: 10px;
}
.project-groups .project-group-teamname.open {
    color: var(--primary);
}
.project-groups .project-group-teamname .name-col {
    cursor: pointer;
}
.project-groups .project-group-teamname .name-col .name {
    line-height: 50px;
    user-select: none;
}
.team-users {
    opacity: 0;
    visibility: hidden;
    height: 0px;
    top: 0px;
    padding-left: 20px;
    white-space: initial!important;
}
.team-users.open {
    opacity: 1;
    visibility: visible;
    height: 100%;
    margin-bottom: 20px;
    padding-left: 0px;
}
.project-groups-wrapper {
    /* max-height: calc(100dvh - 320px); */
    width: fit-content;
    overflow-y: overlay;
    overflow-x: hidden;
    /* padding: 75px 25px 25px; */
    z-index: 0;
}
.team-users .project-user .img-col
.project-groups .user > .img-col i {
    line-height: 30px;
    font-size: 14pt;
    margin-right: 0px!important;
}
.team-users .project-user.user .name {
    /* padding-left: 10px; */
    color: var(--light-text);
    font-weight: 300;
}
ol ol {
    margin-top: 0px;
    margin-bottom: 0px;
}
ol {
    margin-top: 1em;
    margin-bottom: 1em;
    padding-left: 40px;
}
.select-project.chkbox {
    display: inline-block;
    margin: 0px!important;
    float: left;
    line-height: 40px;
}
.select-project.chkbox label {
    margin-top: 16px!important;
}
.select-all-projects.chkbox {
    display: inline-block;
    float: left;
    margin-right: -20px;
    z-index: 99999;
    position: relative;
}
.edit-mode .select-all-projects.chkbox {
    position: absolute;
}
.edit-mode .section-title {
    width: calc(100% - 50px);
}
.edit-mode.manage-mode .section-title {
    width: 100%;
}
.select-all-projects.chkbox label {
    margin-top: 9px;
}
.btn.bulk-edit:hover i {
    color: var(--white);
}
.all-specs.row, .favorite-specs.row {
    float: none!important;
    margin: 0px auto 0px!important;
    display: block;
}
.all-specs.row.five {
    max-width: 1280px;
}
.all-specs.row.six {
    max-width: 1320px;
}
.all-specs.row.seven {
    max-width: 1420px;
}
.all-specs.row.roadmap {
    max-width: 100%!important;
    padding: 0px;
}
.all-specs.row.four {
    max-width: 1180px;
}
.all-specs.row.three {
    max-width: 1080px;
}
.all-specs.row.two {
    max-width: 980px;
}
.all-specs.row.two {
    max-width: 980px;
}
.all-specs.row {
    width: 100%;
}
.core-list-items .all-specs {
    padding: 30px 40px 35px;
    border-radius: 0px;
}
.core-list-items .all-specs .section-title {
    margin-bottom: 7px;
    margin-top: -5px;
}

.section-title.projects-grid-header-wrapper {
    display: flex;
}

.section-title.projects-grid-header-wrapper > div {
    flex: 1;
}

.section-title.projects-grid-header-wrapper .title-right {
    text-align: right;
}
.core-list-items .roadmap.all-specs .section-title {
    padding: 30px 40px 0px;
}
.all-specs.row.one {
    max-width: 920px;
}
.btn.add-spec-btn {
    color: var(--primary);
    width: 65px;
    padding: 0px 0px!important;
    border-radius: 4px!important;
    background-color: var(--white);
}
.btn.add-spec-btn:hover {
    color: var(--white);
}
.section-title .title-left, .section-title .title-right {
    display: inline-block;
}
.section-title .title-left {
    font-size: 15px!important;
    vertical-align: middle;
    height: 40px;
    float: left;
    width: auto;
}
.portfolio .section-title .title-left {
    padding-top: 3px;
    width: 25%;
}
.all-project-items .section-title .title-left {
    line-height: 40px;
    height: 40px;
    overflow: hidden;
    overflow-x: auto;
    max-width: calc(50% - 55px);
    min-width: 360px;
}
.full-screen .all-project-items .section-title .title-left {
    padding-left: 10px;
}
.section-title .title-left .special-release {
    width: 100%;
    display: block;
    line-height: 12pt;
}
.section-title .title-left .sub-title {
    margin: 0px;
    line-height: 18px;
    font-size: 10pt;
    color: var(--light-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.section-title .title-left .title-top {
    line-height: 17px;
    font-size: 16px;
    display: block;
    width: 100%;
}
.project-scoring-actions .section-title .title-left {
    padding-left: 0px;
}
.charts-container .section-title .title-left {
    padding-left: 0px;
}
.section-title .title-right {
    float: right;
}
.portfolio .section-title .title-right {
    width: 75%;
    text-align: right;
    position: relative;
}
.header-input-field.input-field {
    width: auto;
    height: 42px;
    min-width: 240px;
    display: inline-block;
    margin: -1px 20px 0px 0px!important;
    padding: 0px!important;
    vertical-align: top;
    line-height: 42px;
    vertical-align: top;
    border-radius: 5px;
    overflow: hidden;
    border: 1px solid var(--white);
}
.header-input-field.input-field:focus {
    background-color: var(--background-color)!important;
}
.title-right i {
    font-size: 12pt!important;
    line-height: 50px!important;
}
#projectNavSettings .btn i {
    margin-right: 10px!important;
    margin-top: 0px;
    line-height: 50px!important;
    height: 50px!important;
}
.portfolio .title-right .btn {padding: 0px 15px!important;text-align: center!important;}
.section-title .title-right .panel-buttons .btn {
    font-size: 9pt!important;
}
.bulk-actions {
    padding-right: 10px;
    display: block;
    float: right;
}
.bulk-actions > div:hover i {
    color: var(--primary);
}
.edit-spec-settings {
    display: inline-block;
    float: right;
}
.bulk-actions .edit-spec-settings {
    width: 50px;
    float: none;
    height: 50px;
    line-height: 50px;
    padding: 0px!important;
}
.features .feature {
    max-width: 50%;
    display: block;
    width: 100%;
    float: left;
}
.spec-perms-editor .settings {
    background-color: var(--white);
    height: 100dvh;
}
.spec-perms-editor .settings .project-details {
    padding: 100px 0px 40px;
    max-width: 1040px;
    margin: 0px auto!important;
}
.close-settings-modal.btn.right:hover {
    color: var(--white);
}
.todo-items.spec-todos {
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    /* overflow: hidden; */
    box-shadow: 0px 1px 2px var(--shadow);
    max-width: 780px;
    margin: 0px auto;
}

.spec-overview .todo-items.spec-todos {
    height: auto;
}
.checklist .todo-items.spec-todos {
    background-color: var(--background-color);
    border-radius: var(--border-radius-smallish);
}

.account.settings .checklist .todo-items.spec-todos {
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
}
.project-quick-todos .todo-items.spec-todos {box-shadow: none;position: relative;}
.overview-section.project-quick-todos .todo-items.spec-todos .todo-list.oe {
    margin: 0px -40px!important;
    padding: 0px 40px;
    width: calc(100% + 80px);
    z-index: 9999999;
}
.image-annotations .todo-items.spec-todos {box-shadow: none;}
.meta-panel .todo-items.spec-todos {
    border: none;
    box-shadow: none;
    padding: 25px 30px 0px;
    margin-top: 10px;
    border: 1px solid var(--light-border);
    position: relative;
}
.leave-comment .author-image {
    max-width: 50px;
    padding-right: 10px;
    display: inline-block;
    float: left;
    position: absolute;
    top: 15px;
    left: 20px;
    left: 0px;
}

.editable-comments .leave-comment .author-image {
    left: 15px;
}

.jira-quick-view .leave-comment .author-image {
    width: 50px!important;
    max-width: 50px!important;
    height: 50px;
    top: 15px;
    left: 20px;
}
.image-annotations .leave-comment .author-image {display: none;}
.project-details .text {
    margin-bottom: 50px;
}
.features > .row > .col.s12 {
    margin-bottom: 40px;
}
.release-date {
    font-size: 9pt;
    margin-top: 4px;
    color: var(--light-text);
}
.row.timer-container {
    padding: 20px 20px 0px;
}
.row.timer-container.active {
    padding-top: 0px;
}
.timer .button-container {
    height: 50px;
    width: auto;
    line-height: 50px;
    text-align: right;
    background-color: var(--bgc);
    display: inline-block;
    border-radius: 0px 5px 5px 0px;
}
.timer .button-container i {
    font-size: 15pt;
}
.button-container .elapsed-time span {
    color: var(--black)!important;
}
.timelog-started-date {
    margin-right: 0px!important;
    float: right;
}
span.total-time-oflog {
    margin-left: 5px;
    color: var(--icon-color);
}
.settings-section-header h6 {
    margin-top: 0px;
    margin-bottom: 0px;
    display: inline-block;
}
.timelog-edit-item .row .col.s6:first-child {
    padding-right: 10px!important;
}
.timelog-edit-item .row .col.s6:last-child {
    padding-left: 10px!important;
}
.create-new-project {
    padding-bottom: 40px;
    padding: 40px;
    border-radius: 10px;
    margin-bottom: 40px!important;
    width: auto;
    max-width: 560px!important;
}
.include-project-perms {
    text-align: left;
}
.include-project-perms .settings {
    height: 100%!important;
    overflow-y: hidden;
}
.include-project-perms .setting-details {
    display: none;
}
.include-project-perms .project-details {
    padding-top: 40px;
}
.create-spec .project-details .label {
    font-size: 11pt!important;
}
.create-spec .save-or-cancel {
    display: none;
}
.create-spec .zj-spec-create-form .input-field.col.m8 {
    padding-right: 20px!important;
}
.create-spec .form-field.col.s6:last-child {
    padding-right: 0px!important;
}
.create-spec .cke .cke_contents {
    height: 100%!important;
}
.team-settings .settings-section-wrapper {
    background-color: transparent;
    box-shadow: none;
}
.notes-wrapper {
    position: relative;
margin-top: -2px!important;}
.post-creator .cke .cke_contents textarea {
    padding-left: 0px;
    padding-right: 0px;
    height: calc(100dvh - 310px)!important;
}
.todo-stats {
    padding: 20px 30px!important;
    color: var(--icon-color);
    background-color: var(--white);
    line-height: 25px;
    border-radius: 10px;
}
.project-quick-todos .todo-stats {padding: 10px 0px 0px!important;}
.todo-stats > div > div {
    cursor: pointer;
}
.todo-stats > div > div.selected {
    color: var(--primary);
}
.todo-stats > div > div:hover div, .todo-stats > div > div:hover {
    text-decoration: underline;
}
.todo-stats .col {
    margin-bottom: 20px;
}
.todo-stats .col:last-child {
    margin-bottom: 0px;
}
.listings.specs .m4.s12 {
    position: relative;
}
.timer .timer-cancel, .timer .stop-time, .timer .elapsed-time {
    display: inline-block;
    vertical-align: top;
    text-align: center;
}
html body .timer .timer-cancel {
    color: var(--warning)!important;
    font-size: 15pt!important;
    line-height: 50px!important;
    height: 50px;
    text-align: center;
    padding-left: 0px!important;
    padding-right: 0px!important;
    cursor: pointer;
    border-radius: 0px 0px 0px 0px!important;
    background-color: transparent!important;
}
html body .timer .timer-cancel:hover i {
    color: var(--primary)!important;
}
.timer .timer-cancel i {
    line-height: 50px!important;
    height: 50px;
    color: var(--black);
}
.time-tracking .notifications {
    margin-top: 20px;
}

.admin-settings-section .time-tracking .notifications {
    margin-top: 0;
}
.settings-section .automatic-timer-options {margin-top: 20px;}
.settings-section .account-info.row {
    /* margin-bottom: 25px!important; */
    margin-top: 0px!important;
    display: flex;
    gap: 5px;
    align-items: stretch;
    flex-direction: row;
    box-sizing: border-box;
}

.settings-section .account-info.row::after {
    /* content: ''; */
    display: none;
}

.settings-section .account-info.row .col:last-child, .settings-section .account-preferences.row .col:last-child {
    /* margin-right: -5px!important; */
}

html body .setings-section .account-info.row .col.s6:last-child {
    /* margin-right: 0!important; */
}

.account-info.row.add-ons-section .col.s12 {
    margin-right: 0!important;
}

.account .settings-section .account-info.row {
    padding: 0px;
    border-radius: var(--border-radius-tiny);
}

html .account.settings .editors.invite-users-modal .card, html .account.settings .editors.user-profile-editor .card {
    background-color: var(--white)!important;
    padding: 50px!important;
    box-shadow: var(--box-shadow)!important;
}

.account-info.row.add-ons-section .plan-price {
    color: var(--primary);
    font-weight: 600;
}

.account-info.row.add-ons-section {
    margin: 5px 0!important;
}

.border-outline {
    padding: 40px!important;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.strategy-settings .border-outline {
    padding: 30px!important;
}

.strategy-settings .border-outline.row.bottom20 {
    background-color: transparent!important;
    box-shadow: none;
    padding: 0!important;
}

.categories-admin .border-outline,
.milestones .border-outline,
.priorities-editor .border-outline {
    background-color: var(--background-color);
}
.jira-settings .input-field label {
    pointer-events: none;
}
.jira-settings .input-field input {
    z-index: 1;
}
.text-field label, .tf-label {
    font-size: 9.5pt;
    line-height: 13pt;
    color: var(--black);
    margin-bottom: 5px!important;
    display: inline-block;
    width: 100%;
    font-weight: 400;
}

.setting-option .switch label .lever:after {
    background-color: var(--light-text);
}
.project-user-list {
    max-height: 45vh;
    background-color: var(--extra-light);
    overflow-y: overlay;
    -webkit-mask-image: none;
    mask-image: none;
    border-radius: 0px 0px 5px 5px;
}
.project-user-list .user-actions > div:hover i {
    color: var(--primary);
}
.project-user-list .image {
    line-height: 49px;
}
.project-user-list .user-actions > div {
    position: relative!important;
    height: 50px!important;
    width: 50px;
    padding: 0px!important;
    margin: 0px!important;
    text-align: center;
    vertical-align: top;
    float: none!important;
    /* background-color: var(--light); */
}
.project-user-list .user-actions > div.delete {margin-right: -4px!important;}
.project-user-list .user-actions > div i {
    vertical-align: middle;
    color: var(--warning);
    font-size: 15pt;
}
.team-users .project-user:hover {
    background-color: var(--extra-light)!important;
}
.project-ul .project-user.user {
    padding: 0px 20px 0px 20px;
    background-color: var(--extra-light);
    height: 50px;
    line-height: 50px!important;
    vertical-align: middle;
    cursor: pointer;
    position: relative;
    border-bottom: 1px solid var(--white);
}
.user-viewer .project-ul .project-user.user {
    background-color: var(--background-color);
}

.user-viewer .project-ul .project-user.user .just-initials {
    line-height: 50px;
    background-color: var(--black)!important;
    height: 50px;
}

.dark .user-viewer .project-ul .project-user.user {
    background-color: var(--background-color);
}
.project-ul .project-user.user:hover {
    background-color: var(--hover-item)!important;
}
.project-ul .project-user.user .name {
    line-height: 50px;
}
.project-ul .project-user.user:hover .user-actions {opacity: 1;visibility: visible;}
.project-user.user:hover > div .name, .project-user.user:hover permission-checkbox label::before {
    color: var(--primary);
    transition: none;
}
body .project-user.user:hover > div .name {
    color: var(--black)!important;
}
body .settings-section-wrapper .project-ul {
    margin-bottom: 0px!important;
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
    /* box-shadow: 0px 1px 2px var(--shadow); */
}
.the-spec-timeline .col.m9 {
    overflow-y: overlay;
    height: calc(100dvh - 152px);
    padding-left: 2px!important;
}
.user .user-actions > div {
    display: inline-block;
}
.user .delete {
    float: right;
    cursor: pointer;
    position: absolute;
    right: 10px;
    top: 0px;
    display: none;
    padding-top: 1px;
    opacity: 0;
}
.disable-enable-users {
    margin-top: 20px!important;
    margin-bottom: 10px!important;
}
.last-seen .text-input::first-letter {
    text-transform: uppercase;
}
.left-button-dialog .modal-button.left {
    margin-left: 0px!important;
    padding-left: 0px!important;
    margin-top: 10px;
}
.disabled-tag {
    margin-bottom: 10px;
    color: var(--warning);
}
.users-present {
    display: inline-block;
    float: left;
}
.users-present li {
    height: 64px!important;
    line-height: 64px!important;
    padding-left: 10px;
    /* padding-right: 30px; */
    display: inline-flex;
}

.user-present-widget {
    padding-right: 20px;
}
.users-present li:hover {
    background-color: transparent;
}
.users-present .user {
    display: inline-block;
    width: 33px;
    padding: 0px!important;
    height: 64px;
    line-height: 64px;
    margin-left: 10px;
    padding-top: 18px!important;
    cursor: pointer;
}
nav .user.user-with-card {position: relative;line-height: normal;padding-top: 0!important;display: flex;align-items: center;}

.row.social-btns.top10 {
    padding-top: 5px;
}
.user.user-with-card .user-card {position: absolute;top: 64px;padding: 20px 25px 20px;margin-top: 0px;left: -300px;min-width: 300px;max-width: 480px;border-top-right-radius: 0px;border-top-left-radius: 0px;border-bottom-left-radius: 5px;border-bottom-right-radius: 5px;background-color: var(--xwhite);box-shadow: 0px 1px 3px var(--shadow);}
.user.user-with-card .user-card .meta {color: var(--light-text);font-size: 9pt;line-height: 1.3;}
.user.user-with-card .user-card .name {font-size: 11pt;font-weight: 500!important;line-height: 11pt;margin-bottom: 0px;}
.user-card img {border-radius: 10px;}
.user-card .col.s8 {padding-left: 20px!important;line-height: 20px;}
.users-present .user-image {
    line-height: 64px!important;
    padding-top: 0px!important;
    height: 30px!important;
    width: 30px;
    background-size: cover;
    background-position: center;
    border-radius: var(--border-radius-xs);
    padding: 0 5px!important;
    background-color: var(--background-color);
    display: inline-flex;
}

.users-present .user-image .just-initials {/* display: flex; *//* align-items: center; *//* justify-content: center; */height: 30px;line-height: 30px;background-color: var(--black);border-radius: var(--border-radius-tiny);padding: 0;width: auto;font-size: 15px;}
.users-present .user-image img {width: 28px!important;height: 28px!important;}
.users-present .user .user-image img {
    width: 100%!important;
    padding: 0px!important;
    margin: 0px!important;
    line-height: 64px;
    border-radius: 5px;
    max-width: 32px;
    height: 32px;
    filter: grayscale(1);
    opacity: 0.8;
    }
.users-present .user img:hover {filter: grayscale(0);opacity: 1;}
.color-primary {
    color: var(--primary);
}
.loading-message img {
    max-width: 50px;
}
.edit-outline i {
    font-size: 14pt;
}
.modal-card.card {
    max-width: 740px;
    margin: 100px auto;
    padding: 40px;
}
.modal-card .sub-text {
    margin-bottom: 20px;
    margin-top: -5px;
}
body a.cke_button {
    color: var(--xwhite);
}
html body .card {
    box-shadow: 0px 2px 3px var(--shadow);
    background-color: var(--xwhite);
    border-radius: var(--border-radius-tiny);
    outline: none!important;
}
.modal-body {
    margin-top: 10px!important;
    position: relative;
}
.modal-card .modal-button:hover {
    color: var(--primary);
}
.modal-body.row > .col.m6 {
    padding-right: 20px!important;
}
.outline-edit {
    padding: 0px;
    width: 100%;
    background-color: var(--white);
}
.outline-edit .outline-editor {
    background-color: transparent;
    padding: 30px 20px 30px 30px!important;
    max-width: 640px;
    margin: 0px auto;
    position: relative;
    width: 100%;
    display: block;
}

.outline-edit .outline-editor .modal-body {
    padding: 0;
    margin-top: 0!important;
}
.outline-edit-expanded .outline-editor {
    /* background-color: var(--background-color)!important; */
    /* box-shadow: var(--box-shadow); */
    border-radius: var(--border-radius-smallish);
    margin-top: 30px;
    border: 1px solid var(--light-border);
    /* box-shadow: var(--box-shadow); */
}
.outline-edit .outline-editor h6 {
    line-height: 32px;
}
.modal-body .col.m4 {
    padding-right: 20px!important;
}
.checklist-item.row {
    display: block;
    width: calc(100% + 0px);
    padding: 30px 40px;
    cursor: pointer;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 1px!important;
    line-height: 26px;
    font-size: 10.5pt;
    margin-bottom: 4px!important;
    margin-top: 4px!important;
}

.dark .checklist-item.row {
    background-color: var(--white);
}

.dark .templates .checklist-item.row {
    margin: 0 0 1px 0!important;
    border-radius: var(--border-radius-tiny);
    box-shadow: 0px 1px 2px var(--extra-light);
}

.settings .checklists .checklist-item.row {
    background-color: var(--white);
    padding: 30px 40px;
    box-shadow: var(--box-shadow);
    margin-bottom: 1px!important;
    margin-top: 0px!important;
}

.dark .settings .checklists .checklist-item.row {
    box-shadow: 0px 1px 2px var(--extra-light);
}

.checklist-item .item-title {
    font-weight: 500;
}
.checklist-item.row:hover {
    background-color: var(--extra-light)!important;
}
.checklist-item.row .extra-meta {
    color: var(--light-text);
    margin-top: 0px;
    font-style: italic;
}
.checklist-item.row:hover {
    background-color: var(--light);
}
.checklists .row-header {
    display: inline-block;
    width: 100%;
    text-transform: uppercase;
    /* color: var(--light-text); */
    margin-top: 50px;
    margin-bottom: 0px;
    padding-right: 20px;
    /* padding-left: 40px; */
    font-weight: 500;
    vertical-align: middle;
}

.checklists .row-header:first-child {
    margin-top: 10px;
}
html body .dark .task-ai .empty-message .intelligence-img img {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%)!important;
}

html.dark .task-ai .empty-message .intelligence-img img {
    filter: none;
    box-shadow: none;
    width: 25px!important;
    height: 25px!important;
}
.add-link-container {
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    display: flex;
    box-shadow: var(--box-shadow);
    height: 50px;
    margin-bottom: 20px;
}

/* ── Invite dialog (Aug 2026 upgrade): role picker + bulk + message ────── */
.invite-users-modal .invite-field-hint, .invite-users-modal .sub-text {
    /* margin-top: 4px; */
    font-size: 12px;
}
.invite-users-modal .invite-role-field label {
    display: block;
    text-align: left;
    margin-bottom: 4px;
}
.invite-users-modal .text-field textarea {
    min-height: 80px;
    resize: vertical;
}
.invite-users-modal .invite-results {
    max-height: 180px;
    overflow-y: auto;
    text-align: left;
}
.invite-users-modal .invite-result {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
}
.invite-users-modal .invite-result-icon {
    font-size: 18px;
}
.invite-users-modal .invite-result-sent {
    color: var(--good);
}
.invite-users-modal .invite-result-failed {
    color: var(--warning);
}
.invite-users-modal .invite-result-pending {
    color: var(--light-text);
}
.invite-users-modal .invite-result-error {
    color: var(--warning);
}
.invite-users-modal .modal-button.invite-sending {
    opacity: 0.6;
    pointer-events: none;
}
/* Account > users — the seat-lifecycle dialogs (Disable / Enable / Remove).
   A .modal-button is a div, so ng-disabled is inert on it; .is-busy /
   .is-inactive are the same opacity + pointer-events pattern the invite modal
   already uses above. */
.document-modal .modal-button.is-busy,
.document-modal .modal-button.is-inactive {
    opacity: 0.5;
    pointer-events: none;
}
.document-modal .user-access-error {
    color: var(--warning);
    margin-top: 10px;
}
.document-modal .user-access-hint {
    color: var(--light-text);
    margin-top: 10px;
}
/* Remove sits beside Disable/Enable on the left of the edit-user dialog, where
   .left-button-dialog zeroes the shared padding — so it needs its own gap.
   Carried on the button itself, NOT on `.left + .left` adjacency: Disable and
   Enable are an ng-show/ng-hide pair and both are always in the DOM, so the
   adjacency rule also matched the visible Enable (preceded by the hidden
   Disable) and shifted the first left button 20px for a disabled member only. */
.left-button-dialog .modal-button.user-access-remove {
    margin-left: 20px!important;
    color: var(--warning);
}
.left-button-dialog .modal-button.user-access-remove:hover {
    color: var(--warning-hover);
}
.remove-user-dialog .dialog-setting {
    margin-top: 15px;
}
.project-outline-item {
    display: block;
    position: relative;
    padding-bottom: 1px;
    width: calc(100% + 0px);
    font-family: var(--body-font);
    font-size: 14px;
}

.tasks-grid-page .ui-grid-pager-container {
    /* float: left; */
    display: flex;
    align-items: center;
}

.tasks-grid .ui-grid-render-container {
    background-color: var(--white);
    /* box-shadow: var(--box-shadow); */
    /* border-radius: var(--border-radius-tiny); */
}

.project-outline-item.smart-result {
    padding: 10px 30px!important;
}

.project-outline-item.smart-result .description-preview {
    margin-bottom: 0;
    line-height: 20px;
    font-size: 12px;
}

.embedding-results {
    margin: 0px -30px;
}

.outline-lg .project-outline-item {
    height: 40px;
    line-height: 40px;
    width: 100%;
}

.outline-lg .project-outline-item .title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.outline-lg .project-outline-item:hover {
    background-color: var(--extra-light);
    border-radius: 5px;
}

.project-outline-item.collapsed-parent .open-close-items {
    opacity: 1;
    visibility: visible;
    display: block;
    transform: rotate(180deg);
}

.project-outline-item .open-close-items {
    position: absolute;
    right: 2px;
    top: 0px;
    height: 24px;
    line-height: 24px;
    width: 24px;
    text-align: center;
    margin: 0px!important;
    padding: 0px!important;
    background-color: var(--extra-light)!important;
    opacity: 0;
    visibility: hidden;
    border-radius: 5px!important;
    transition: opacity .3s ease-in-out .4s, background-color .3s ease-in-out .2s, color .3s ease-in-out .2s;
}

.project-outline-item:hover .open-close-items {
    opacity: 1;
    visibility: visible;
}

.inline-task-numbers.badge {
    position: absolute;
    right: 0px;
    z-index: 9999999;
    top: 0px;
    font-size: 8.5pt;
    padding-right: 3px;
    text-align: right;
    width: auto!important;
    margin-left: 0px!important;
    min-width: 30px;
    padding-left: 0px;
}

html body .project-outline-item:first-child {
    margin-top: 0px!important;
}

.project-outline-item.top {
    padding-left: 0px!important;
}

.project-outline-item.top {
    margin-top: 2px!important;
}

.search-results .project-outline-item.indent0.top {
    padding-bottom: 10px;
}

.search-results .project-outline-item.kb-selected .title {text-decoration: underline!important;color: var(--primary);}

.project-outline-item.top .title::before {
    padding-left: 0px!important;
    opacity: 0;
}

.project-outline-item.top .title {
    padding-left: 0px;
    margin-bottom: 0px;
    display: inline-block;
    padding-bottom: 2px;
    width: 100%;
    font-size: 14px;
}

.search-results .project-outline-item .title {
    /* font-size: 13px; */
}

.project-outline-item:hover, .project-outline-item:hover .description-preview, .project-outline-item:hover .search-snippet {
    cursor: pointer;
    /* color: var(--primary); */
}

.project-outline-item:hover .description-preview {
    color: var(--black);
}

.project-outline-item:hover .inline-task-numbers.badge, .project-outline-item .selected .inline-task-numbers.badge {
    color: var(--primary);
}

.project-outline-item .title {
    padding-left: 15px;
    position: relative;
    padding-bottom: 5px;
    font-size: 14px;
    line-height: 20px;
}

.project-outline-item:hover .title {
    color: var(--primary);
}

.outline-lg .project-outline-item .title {
    padding-top: 0px;
    padding-bottom: 0px;
}

.showing-task-numbers .project-outline-item .title {
    padding-right: 30px;
}

.project-outline-item .title.selected {
    color: var(--primary);
}

.outline-editor .project-item input {
    margin-bottom: 0px!important;
    height: 25px!important;
    position: relative;
    font-size: 10.5pt!important;
    border: none!important;
    padding-right: 25px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--body-font);
}

.outline-editor .indent0 .wrapper::before {
    display: none;
}

.outline-editor .indent0 {
    padding-left: 0px!important;
}

.outline-editor .indenting .wrapper {
    padding-left: 15px!important;
    position: relative;
}

.outline-editor .indenting.indent0 .wrapper {
    padding-left: 0px!important;
    padding-top: 7px;
}

.outline-editor .project-item .top .wrapper {
    padding-left: 0px!important;
}

.outline-editor .project-item .wrapper span {
    display: inline-block;
    position: absolute;
    right: 20px;
}

.outline-editor .project-item .top .wrapper::before {
    display: none;
}

.outline-editor .project-item:last-child input:focus {
    color: var(--black)!important;
}

.outline-editor .project-item input::before {height: 22px;width: 22px;}

.outline-editor .project-item input::placeholder {
    color: var(--primary);
}

.project-item input:focus, .project-item input[type=text]:focus:not([readonly]) {
    border-bottom-color: transparent!important;
    color: var(--primary);
    box-shadow: none!important;
}

.project-item .btn {
    height: 22px;
    opacity: 0;
    position: absolute;
    right: 0px;
    bottom: 0px;
    padding: 0px;
    vertical-align: middle;
    color: var(--warning)!important;
    background-color: transparent!important;
}

.project-item:hover .btn {
    opacity: 1;
}

.project-item .btn i {
    line-height: 22px;
    font-size: 12pt;
    vertical-align: top;
}

.outline-editor .project-item {
    margin-bottom: -7px!important;
    position: relative;
    padding-left: 0px;
    padding-right: 0px;
    z-index: 0;
    border-bottom: 1px solid transparent;
}

.outline-editor .project-item:hover {border-bottom: 1px solid var(--light-border);}

.outline-editor .project-item i {
    position: absolute;
    left: 12px;
    top: -1px;
    color: var(--primary);
}

.outline-editor .indenting .wrapper::before {content: ".";width: 30px;height: 24px;position: absolute;left: 0px;font-size: 19pt;line-height: 12px;color: var(--status-color, inherit);}

.outline-editor .project-item:hover {
    color: var(--primary);
}

.outline-editor .project-item:first-child {
    padding-top: 0px;
}

.outline-editor .project-item:last-child {
    padding-bottom: 20px;
}

.outline-editor .oe-sortable-zone  .project-item:last-child {
    padding-bottom: 0!important;
}

.outline-editor .project-item:last-child:hover {
    border-bottom-color: transparent!important;
}

body ul.dropdown-content.active {
    background-color: var(--xwhite)!important;
    box-shadow: 0px 2px 3px var(--shadow)!important;
    z-index: 999999999999999999;
    -webkit-mask: none;
    border-radius: var(--border-radius-tiny);
    z-index: 99999999999999999999;
}

#personalityDropdown li a {
    font-weight: 400;
    padding: 10px 5px;
    line-height: normal;
}

#personalityDropdown li a .sub-text {
    font-weight: 300;
}

#viewers.dropdown-content {
    min-width: unset!important;
    max-width: 100%!important;
    width: 100%!important;
    box-sizing: border-box;
    right: 30px!important;
    left: 0px!important;
}

body ul.dropdown-content.active li {
    list-style: none;
    line-height: 1.4;
}

#quickProjectsSelector li.quick-projects-search:hover {
    background-color: var(--white);
}

#quickProjectsSelector li.quick-projects-search {
    border-bottom: 1px solid var(--light-border);
    height: 45px;
    min-height: 45px;
}

#quickProjectsSelector li.quick-projects-search input {
    background-color: transparent!important;
    border: none!important;
    height: 100%!important;
    font-size: 13px!important;
}

li.listing-action i {
    height: 50px;
    line-height: 50px;
}

li.search-item:hover {
    background-color: unset!important;
    padding: 0px;
}

ul.public-users li.unassigned i {
    line-height: 50px;
    position: relative;
    right: unset!important;
    padding: 0px;
}

body ul.dropdown-content li {
    border-radius: 0px!important;
}

body ul.dropdown-content.single-item-dropdown li {
    height: 50px;
    line-height: 50px;
    padding: 0px 20px;
    color: var(--black);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dark body ul.dropdown-content {
    box-shadow: 0px 2px 3px var(--shadow)!important;
}

#projectNavSettings .settings-panel {top: 0px;position: relative;min-width: 210px;max-height: calc(100dvh - 200px);}

.settings-panel.filter-panel {
    max-width: 300px;
    padding-bottom: 0px!important;
}

.edit-mode .settings-panel.filter-panel {
    right: -50px;
}

#projectNavSettings > div, #projectNavSettings > div > div {
    width: 100%;
    display: block;
    text-align: left;
}

#projectNavSettings > div .btn, #projectNavSettings > .btn {
    padding-left: 20px!important;
    padding-right: 20px!important;
}

#projectNavSettings .settings-panel .btn.right {
    position: absolute;
    right: 0px;
    top: 14px;
    width: auto;
}

#projectNavSettings .panel-buttons .btn {
    padding-right: 0px!important;
    height: 25px;
    line-height: 25px;
}

html {
    color: var(--black)!important;
    width: 100%;
    max-width: 100%;
    min-width: 320px;
    overflow: hidden;
}

body a.cke_button {color: var(--xwhite);height: 30px;margin-right: 1px;padding: 0px;border-radius: 5px;border: 1px solid transparent;transition: all 0s ease-in-out;}

body .cke_button_arrow {
    margin-top: 14px;
    margin-right: 5px;
    margin-left: 0px;
}

html body .card {
    box-shadow: 0px 1px 2px var(--shadow)!important;
    background-color: var(--white);
}

.strategy-page .sub-text {/* margin-bottom: 5px; */line-height: 18px;font-weight: 300;font-size: 11px;}

.strategy-page .centered-page .sub-text {
    /* background-color: var(--white); */
    border-radius: 2px;
    display: inline-block;
    /* padding: 2px 6px; */
    color: var(--light-text);
    font-size: 12px;
    transition: all .3s ease-in-out;
    /* box-shadow: var(--box-shadow); */
}

.strategy-page .focus-group-items:hover .sub-text {
    background-color: var(--background-color);
}

span.okr-history-author.sub-text {
    margin-bottom: 0;
    font-size: 13px!important;
    color: var(--black)!important;
    font-weight: 500;
}

.strategy-page .strategy-detail-header:hover .strategy-detail-parent .sub-text {
    background-color: var(--background-color);
}

.program-sub-text.sub-text {
    color: var(--light-text)!important;
    padding: 5px 0 0!important;
    background-color: transparent!important;
}

.strategy-page .centered-page .sub-text .node-health-dot {
    /* height: 10px; */
    /* width: 10px; */
    display: inline-block;
    margin-left: 3px;
}

html body .portfolios-container .card {
    max-height: calc(100dvh - 146px);
    margin-bottom: 0px!important;
    margin-top: 0px;
    overflow: hidden;
    padding: 40px;
}

html body .portfolios-container .card.modal-card {
    height: auto;
    margin-top: 120px;
}

body #loading-bar .bar {
    background-color: var(--light);
}

.cke_toolgroup a.cke_button:last-child:after, .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after {
    border-color: var(--light)!important;
    display: none;
}

body .cke_toolbar_separator {
    display: none;
}

body .cke_toolbar .cke_combo+.cke_toolbar_end, body .cke_toolbar .cke_combo+.cke_toolgroup {
    display: none;
}

body .cke_combo:after {
    display: none;
}

.indent7 {
    padding-left: 135px!important;
}

.indent6 {
    padding-left: 115px!important;
}

.indent5 {
    padding-left: 95px!important;
}

.indent4 {
    padding-left: 75px!important;
}

.indent3 {
    padding-left: 55px!important;
}

.indent2 {
    padding-left: 35px!important;
}

.indent1 {
    padding-left: 10px!important;
}

.indenting.top {
    margin-top: 5px;
    font-weight: 500;
}

.project-outline-items {
    font-size: 10pt!important;
    padding-bottom: 10px;
}

.search-images-and-files.btn.btn-transparent {
    width: 100%;
    background-color: var(--bgc)!important;
    height: 45px;
    line-height: 45px;
    font-size: 12px;
}

.search-images-and-files.btn.btn-transparent:hover {
    background-color: var(--primary)!important;
    color: var(--awhite)!important;
}

body .search-input input {
    margin-bottom: 0px;
    padding-left: 20px;
    padding-right: 20px;
}

body li.search-input:hover {
    background-color: transparent;
}

li.select-outlines:hover {
    background-color: transparent!important;
}

.header-actions {
    text-align: right;
}

.zj-search-bar .search-input {
    position: relative;
}

.outline-container .zj-search-bar .search-input {
    border-radius: 5px;
    margin-bottom: 0px;
    border: 1px solid var(--light-border);
}

.dark .outline-container .zj-search-bar .search-input {
    border-color: var(--scrollbar-color);
}

.outline-container .zj-search-bar .search-input .right-buttons svg {
    max-width: 25px;
    height: 47px;
}

.outline-container .zj-search-bar .btn {
    background-color: transparent;
}

html body .zj-search-bar .search-input input {
    padding-left: 20px!important;
    padding-right: 40px!important;
    height: 50px!important;
    line-height: 50px!important;
    border-radius: 4px!important;
    background-color: var(--background-color)!important;
}

.selected-section {
    font-size: 9pt;
    line-height: 1.5;
    vertical-align: top;
    display: inline-block;
    font-family: var(--body-font);
    color: var(--black);
}

.project-section-selector i {
    vertical-align: top;
    line-height: 30px!important;
    height: 30px;
    position: absolute;
    right: 0px;
    top: 23px;
    font-size: 14pt;
    color: var(--icon-color);
    padding-top: 0px;
}

.project-section-header i {
    position: absolute;
    height: 30px;
    line-height: 30px;
    top: 22px;
    right: 28px;
    color: var(--black);
    font-size: 15pt;
    background-color: var(--xwhite);
}

.dropdown-content .project-section-header i {
    top: 25px;
    font-size: 14pt;
}

.spec-sidebar .dropdown-content .project-section-header i {
    top: 26px;
    background-color: transparent;
}

#projectSection li a {
    font-size: 10pt!important;
    text-transform: lowercase;
    font-weight: 400;
}

#projectSection li a[title="Discuss with AI"] svg {
    margin-right: 5px;
    margin-left: -3px;
}

.project-menu-items {
    overflow-y: auto;
    height: calc(100dvh - 145px);
    z-index: 9999999999;
}

.project-menu-items li a svg {
    max-width: 30px;
    max-height: 30px;
    margin-left: -5px;
    margin-right: 0px;
}

.project-menu-items li a i {
    font-size: 15px;
    margin-right: 5px;
}

.active .project-menu-items li a i {
    font-variation-settings: 'FILL' 0!important;
}

.active .project-menu-items li.selected a i {
    font-variation-settings: 'FILL' 1!important;
}

.distraction-free .project-menu-items {
    height: calc(100dvh - 60px);
}

.distraction-free .project-outline, .distraction-free .project-header .dropdown-content {
    height: 100dvh!important;
    max-height: 100dvh!important;
}

.project-menu-items .tab {
    margin-bottom: 0px!important;
}

ul #projectSection .project-menu-items li a {
    font-size: 12pt!important;
}

.todo-stats .spec-assignee {
    padding-left: 10px;

}

.the-timeline-content.ql-editor li {
    list-style-type: disc!important;
    margin-bottom: 0px!important;
}

.zj-actions-bar.projects-sidebar {
    width: 320px;
    float: left;
}

.projects-body {
    overflow: hidden;
    width: auto;
}

.projects-actions-bar {
    background-color: var(--white);
    padding: 0px 20px 0px;
    width: 100%;
    height: 60px;
    line-height: 60px;
}

.projects-actions-bar h6 {
    margin-bottom: 0px;
    line-height: 61px;
    font-family: var(--body-font);
    color: var(--primary);
}

.projects-actions-bar .zj-actions-bar-buttons {
    padding-bottom: 30px;
    margin-bottom: 0px;
}

.row.projects-header {
    margin-bottom: 0px!important;
    padding-bottom: 0px!important;
    z-index: 99999;
}

.mobile-projects-title {
    display: inline-block;
}

.projects-actions-bar .project-actions {
    display: inline-block;
    float: right;
}

.project-state {
    padding-bottom: 20px;
}

.section-title-header {
    display: inline-block;
    font-size: 12pt;
}

.btn.bulk-edit {
    line-height: 55px;
    height: 54px;
    background-color: transparent!important;
    color: var(--icon-color)!important;
}

.btn.bulk-edit:hover i {
    color: var(--primary)!important;
}

.zj-body .zj-specification ul li a.goto-versions {
    color: var(--black)!important;
}

.leave-todo-comment .input-field {
    width: calc(100% - 40px);
    min-width: calc(100% - 40px)!important;
    max-width: calc(100% - 40px)!important;
    display: inline-block;
    overflow-x: hidden;
    margin-top: 0px!important;
}

.listing-comments .leave-todo-comment .input-field {float: right;}

.listing-comments .leave-todo-comment .input-field .content-editable {
    width: 100%!important;
}

.listing-comments .leave-todo-comment .author-image {margin-left: 0px;}

.bottom-section-filters {
    height: calc(100dvh - 210px);
    overflow-y: overlay;
}

.spec-todos-wrapper .bottom-section-filters {
    height: calc(100dvh - 203px);
}

.authenticate-me.emailpw-auth {
    margin-top: 5px;
    color: var(--primary);
    cursor: pointer;
}

.authenticate-me.emailpw-auth:hover {
    text-decoration: underline;
}

.forgot-pw {
    text-align: left;
    display: inline-block;
    float: left;
    padding-top: 8px;
}

.authenticate-me.google-auth {
    margin-bottom: 0px;
    margin-top: 20px;
}

.authenticate-me.google-auth .btn {
    height: 46px;
}

.scroll-body {
    height: calc(100dvh - 66px);
    overflow-y: overlay;
    width: 100%;
}

.login-form input {
    padding-left: 20px!important;
    border-bottom: 1px solid var(--light)!important;
}

.login-form input:focus {
    border-bottom: 1px solid var(--primary)!important;
}

.login-form .input-field i {
    position: absolute;
    top: 10px;
    color: var(--icon-color);
}

.login-form .success-button .btn {
    line-height: 36px;
    height: 41px!important;
}

.auth-goog-or {
    width: 100%;
    display: block;
    margin-top: 5px;
    font-size: 10pt;
    color: var(--primary);
    cursor: pointer;
}

.register .input-field input {
    margin-bottom: 0px;
    border-bottom: 1px solid var(--extra-light);
}

.register .input-field input:focus {
    color: var(--primary);
}

.register-button {
    display: block;
    width: 100%;
    margin-top: 30px!important;
    text-align: center;
}

.register-button button {
    padding-left: 20px!important;
    padding-right: 20px!important;
    min-width: 60%;
    float: none;
    height: 41px;
    line-height: 41px;
}

.zj-image-attachment.shrink {
    max-width: 340px;
    max-height: 200px;
    margin: 0px auto 0px!important;
}

.zj-image-attachment.shrink .img-wrappe {
    max-height: 200px;
    overflow: hidden;
    border-radius: 10px;
}

.zj-image-attachment.shrink .image-action-buttons {
    display: none;
}

.zj-image-attachment.shrink .image-notes-section {
    display: none;
}

.clear-notifications {
    font-size: 12px!important;
    font-weight: 300;
    display: inline-block;
    margin-left: 20px;
    float: right;
    margin-right: 5px;
}

.clear-notifications:hover {color: var(--primary);cursor: pointer;}

.boards {
    padding: 0px;
    width: 100%;
}

.board-wrapper {
    margin: 0px auto;
}

.board-sidebar {
    background-color: var(--xwhite);
    padding: 20px!important;
}

.boards .board-sidebar {height: calc(100dvh - 64px);border-right: 1px solid var(--light-border);}

.the-support-page .board-sidebar {height: calc(100dvh - 64px);overflow-y: overlay;}

.boards .card {
    max-width: 740px;
    margin: 10px auto 0px;
    padding: 30px;
    border-radius: 5px;
}

.board-selector {
    padding: 16px 10px 16px 23px;
    cursor: pointer;
    background-color: var(--white);
}

.board-selector:hover {
    background-color: var(--extra-light);
}

.boards {
    vertical-align: top;
}

.board-sidebar h6 {
    cursor: pointer;
    margin-bottom: 20px!important;
    margin-bottom: 25px!important;
    text-transform: uppercase;
}

.board-wrapper {
    margin: 0px auto;
}

.board-header .board-title {
    display: inline-block;
    float: left;
    font-size: 14pt;
}

.board-header .board-actions {
    display: inline-block;
    float: right;
}

.btn.btn-border {
    background-color: transparent;
    border: 1px solid var(--primary);
    color: var(--primary);
}

.btn.btn-border:hover {
    background-color: var(--xwhite)!important;
    color: var(--primary);
}

.board {
    vertical-align: top;
}

.board-header {
    display: inline-block;
    width: 100%;
    float: none;
}

.boards-list {
    margin-bottom: 20px;
}

.board-list-item {cursor: pointer;margin-bottom: 5px;font-size: 10pt;}

.board-column {
    width: 320px;
    min-width: 300px;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    display: inline-block;
    padding: 20px 0px 40px;
    margin-right: 10px;
    vertical-align: top;
    
    /* MERGED HERE - MIGHT NEED THIS HEIGHT */
    position: relative;
    overflow: hidden;
    white-space: initial;
    /* border: 1px solid var(--xwhite); */
    box-shadow: var(--box-shadow);
}

.spec-cover .board-column {
    padding-bottom: 20px!important;
}

.board-column.editor {
    padding-bottom: 0px!important;
}

.board-column:last-child {
    margin-right: 0px;
}

.board-task {
    background-color: var(--background-color);
    border: 1px solid var(--light-border)!important;
    padding: 15px;
    border-radius: var(--border-radius-tiny);
    font-size: 10pt;
    position: relative;
    cursor: pointer;
    display: inline-block;
    width: 100%;
    margin-bottom: 0px;
    min-height: 40px;
    position: relative;
    border: 4px dashed var(--primary) inset;
    overflow: hidden;
    /* transition: all .14s ease-in-out, color .14s ease-in-out!important; */
    cursor: pointer;
}

/* A card whose status/move write is still in flight. The card moves
   optimistically, so without this an in-flight move looks exactly like a
   committed one — and a cold function start is long enough for that gap to
   read as "did that save?". Set by BoardController at the optimistic update,
   cleared in every then/catch of both branches. */
.board-task.is-moving {
    opacity: 0.72;
    pointer-events: none;
}

.board-task.is-moving::after {
    content: '';
    position: absolute;
    top: 8px;
    right: 8px;
    width: 12px;
    height: 12px;
    border: 2px solid var(--light-border);
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: board-task-spin 0.7s linear infinite;
}

@keyframes board-task-spin {
    to { transform: rotate(360deg); }
}

.board-task > div:last-child {
    padding-bottom: 0px;
}

.board-task > .row {
    display: block;
}

.board-task .board-task-image {
    /* max-width: 20px; */
    /* max-height: 20px; */
    display: inline-block;
    float: right;
    margin-left: 5px;
    margin-bottom: -8px;
    margin-top: -6px;
    padding-top: 3px;
    overflow: hidden;
}

.board-task .board-task-image img {
    margin-bottom: 0px!important;
    border-radius: 4px;
}

body .board-task:hover {
    background-color: var(--extra-light);
    color: var(--black);
    /* border-color: var(--primary)!important; */
}

body .board-task:hover .board-task-meta {
    color: var(--black)!important;
}

body .board-task:hover .board-task-status {
    color: var(--awhite);
}

.dark .board-task {
    background-color: var(--light);
}

.board-task.selected {
    background-color: var(--extra-light);
    /* color: var(--awhite)!important; */
    border-color: var(--primary)!important;
}

.board-task.selected .board-task-status {
    color: var(--awhite);
}

.board-task:active {
    cursor: grabbing!important;
}

.board-column-header {
    margin-bottom: 20px;
    /* padding-left: 20px; */
    /* padding-right: 20px; */
}

.board-column-header .number-of {
    color: var(--light-text);
    padding-left: 1px;
}

.board-task .edit-task {
    position: absolute;
    top: 10px;
    right: 10px;
    opacity: 0;
    transition: all .3s ease-in-out;
    cursor: pointer;
}

.board-task:hover .edit-task {
    opacity: 1;
}

.board-task .edit-task i {
    font-size: 13pt;
}

.board-body-container {
    padding-top: 30px;
}

.board-selector .board-name {
    /* font-size: 11pt; */
    /* color: var(--black); */
    display: inline-block;
}

.board-manager {
    max-width: 960px;
    margin: 40px auto 40px;
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
    box-shadow: 0px 1px 2px var(--shadow);
    /* padding: 10px 0px; */
    background-color: var(--xwhite);
}

.board-manager-wrapper {
    height: calc(100dvh - 64px);
    overflow-y: auto;
    overflow-y: overlay;
    overflow-x: hidden;
    position: relative;
    box-sizing: border-box;
    padding-top: 30px;
}

.boards .board-manager-wrapper {
    padding-top: 0px;
}

.inner-board-body {
    overflow-x: auto;
    /* overflow-x: overlay; */
    overflow-y: hidden!important;
    white-space: nowrap;
    grid-auto-flow: column;
    display: inline-grid;
    
    /* should, in theory, work without overflow-x */
    /* height: calc(100dvh - 102px); */
    padding-bottom: 23px;
    max-width: 100%;
    transition: all .4s ease-in-out;
    padding-right: 40px!important;
    padding: 40px;
}

.the-project-boards .inner-board-body {
    height: calc(100dvh - 64px)!important;
}

.board-tasks {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 0px;
    overflow-x: hidden!important;
    overflow-y: auto;
    overflow-y: overlay;
    height: calc(100dvh - 254px);
    min-height: 100px;
    position: relative;
}

.spec-cover .board-tasks {
    height: calc(100dvh - 234px);
}

.spec-cover .scrum-backlog-drawer .backlog-tasks.board-tasks {
    height: calc(100dvh - 800px)!important;
    max-height: 100%;
    min-height: auto;
}

.add-new-board-task {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background-color: var(--white);
}

.spec-cover .add-new-board-task {
    display: none;
}

.add-new-board-task input::placeholder {
    color: var(--dark);
}

.add-new-board-task input {
    margin-bottom: 0px!important;
    padding-left: 20px!important;
    padding-right: 20px!important;
    border-bottom: 1px solid transparent!important;
    box-shadow: none!important;
}

html body .add-new-board-task input:focus {
    border-bottom: none!important;
    box-shadow: none!important;
}

.board-settings-wrapper .m6:first-child .text-field {
    padding-right: 15px!important;
}

.board-settings-wrapper .text-field {
    margin-bottom: 20px;
}

.board-settings-wrapper .m6:last-child .text-field {
    padding-left: 15px!important;
}

.text-field textarea {
    background-color: var(--background-color)!important;
    border: none!important;
    box-shadow: none!important;
    padding-left: 20px!important;
    padding-right: 20px!important;
    box-sizing: border-box!important;
    padding-top: 20px!important;
    padding-bottom: 20px!important;
    width: 100%!important;
    outline: none!important;
    border-radius: var(--border-radius-tiny)!important;
    min-height: 100px;
}

.task-ai textarea {
    /* position: absolute; */
    bottom: 0px;
    /* right: 40px; */
}

.board-settings-wrapper .text-field textarea {
    min-height: 100px;
}

.edit-column {
    position: absolute;
    right: 15px;
    top: 20px;
    height: 22px;
    width: 28px;
    cursor: pointer;
    text-align: center;
    opacity: 0;
    transition: opacity .3s ease-in-out;
}

.edit-column.save i {
    font-size: 20px!important;
}

.edit-column:hover i {
    color: var(--primary);
}

.board-column:hover .edit-column {
    opacity: 1;
}

.edit-column i {
    font-size: 12pt;
}

.board-column-edit-title {
    margin-top: -11px;
    padding-left: 20px;
    padding-right: 20px;
}

.delete-board {
    color: var(--warning);
    padding-top: 30px;
    cursor: pointer;
    font-size: 11pt;
    /* position: absolute; */
    /* bottom: 10px; */
    /* padding-left: 20px; */
}

.board-body {
    /* display: inline-block; */
    /* width: 100%; */
    /* position: absolute; */
    /* right: 0px; */
    /* top: 0px; */
}

.panel-open.inner-board-body {max-width: calc(80.2v - 480px)!important;}

.board-updated {
    display: inline-block;
    /* float: right; */
    color: var(--light-text);
    font-size: 9pt;
}

.delete-board i {
    font-size: 15pt;
    line-height: 16pt;
}

html body .board-column input {
    border-bottom: none!important;
    /* background-color: var(--extra-light)!important; */
    box-shadow: none!important;
    font-size: 10pt;
}

html body .board-column .board-column-edit-title input {
    border-bottom: 1px solid var(--border)!important;
    margin-bottom: 0px;
}

.meta-panel {
    position: fixed;
    bottom: 0px;
    width: 600px;
    box-sizing: border-box;
    background-color: var(--white);
    z-index: 9999;
    overflow-y: overlay;
    height: calc(100dvh - 64px);
    right: -520px;
    transition: all .5s ease-in-out;
    visibility: hidden;
    max-width: 100%;
    box-shadow: 0px 1px 5px var(--shadow);
}

.panel-open.meta-panel {
    right: 0;
}

.panel-open .meta-panel {
    right: 0px;
    visibility: visible;
    opacity: 1;
}

.the-project-boards .panel-open .meta-panel .panel-top-part {
    overflow-y: hidden!important;
}

.images-only .panel-open .meta-panel {
    width: calc(100% - 18%);
}

.item-summary {font-size: 13pt;}

.meta-panel .item-summary {
    word-break: break-word;
    max-width: calc(100% - 30px)!important;
}

.panel-header .edit-item.btn {
    position: absolute;
    right: 0px;
    bottom: 0px;
}

.item-description {
    margin-bottom: 20px;
    font-family: var(--body-font);
}

.panel-body {
    font-size: 11pt;
    padding: 0px 30px 0px;
}

.panel-body p {
    margin: 0px;
}

.item-status {
    margin-bottom: 20px;
}

.text-field.with-dropdown .btn {
    padding-right: 35px!important;
    margin-bottom: 0px;
    padding-left: 10px!important;
    /* color: var(--primary)!important; */
}

.overview-meta .text-field.with-dropdown .btn {
    padding-left: 5px!important;
}

.meta-panel .text-field.with-dropdown .btn {
    padding-left: 0px!important;
    height: 50px;
    line-height: 50px;
}

.text-field.with-dropdown:first-child .btn {
    padding-left: 0px!important;
}

.capacity-dash .overview-page-header .btn.dropdown-selector {
    height: 35px;
    line-height: 34px;
    vertical-align: middle;
    display: flex;
    gap: 10px!important;
    padding-left: 10px!important;
}

.capacity-dash .overview-page-header .btn.dropdown-selector i {
    line-height: 34px;
}

.dropdown-searcher {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
}

.meta-panel .text-field.with-dropdown .dropdown-content {
    /* padding-top: 45px; */
    /* bottom: 45px; */
    /* min-height: 40vh; */
}

.panel-header {
    padding: 30px 30px 0px;
    /* position: relative; */
    z-index: 999;
}

.panel-footer {
    position: absolute;
    bottom: 0px;
    left: 0px;
    /* right: 0px; */
    width: 100%;
    padding-left: 0px;
    z-index: 9;
    background-color: var(--white);
    overflow: hidden;
}

.meta-panel .panel-footer {
    padding-left: 15px;
}

.panel-footer .text-field.with-dropdown:nth-child(2) .btn {
    padding-left: 0px!important;
}

.close-panel-btn {
    position: absolute;
    right: 0px;
    top: 0px;
}

.the-board-wrapp {
    width: 100%;
    transition: all .7s ease-in-out;
}

.the-board-wrapp.panel-open {
    width: calc(100% - 520px);
}

.panel-open .inner-board-body {
    max-width: calc(80.2vw - 466px);
}

.position-fixed {
    position: fixed;
}

.board-action i {
    margin-right: 0px!important;
    color: var(--icon-color);
}

.panel-wrapper .btn {
    height: 50px;
    line-height: 50px;
}

.board-task-assignee {
    /* width: 20px; */
    /* height: 20px; */
    /* display: none; */
    float: right;
    border-radius: 5px;
    overflow: hidden;
    position: absolute;
    right: 3px;
    opacity: 0.5;
    bottom: 1px;
    font-size: 7.5pt;
    font-weight: 500;
    transition: opacity .14s ease-in-out;
}

.board-task:hover .board-task-assignee {
    opacity: 1;
}

.board-task-title {
    display: table;
    word-break: break-word;
    line-height: 1.3;
    padding-top: 2px;
    /* font-size: 11pt; */
    font-weight: 400;
}

.board-task-title .right {
    display: none;
}

.fs-add-field input {
    margin-bottom: 0px!important;
    font-size: 10pt!important;
}

.fs-title {
    font-size: 12pt;
    font-weight: 400;
    /* margin-bottom: 10px; */
    height: 45px;
    line-height: 45px;
}

.fs-subtitle {
    font-size: 11pt;
    font-weight: 100;
    height: 45px;
    line-height: 45px;
}

.fs-title input {
    margin-bottom: 0px!important;
}

.fs-header .btn {
    position: absolute;
    top: 0px;
    height: 45px;
    line-height: 45px;
    right: -5px;
}

.fs-field {
    padding: 0px;
    background-color: var(--extra-light);
    margin-bottom: 2px;
    min-height: 50px;
    line-height: 50px;
    text-align: right;
    border-radius: 10px;
}

.account.settings .fs-field {
    background-color: var(--background-color);
    display: flex;
    justify-content: space-between;
    gap: 0;
}

.status-settings .fs-field {
    margin-bottom: 1px;
    border-radius: 0px;
}

.status-settings .ui-sortable {
    border-radius: var(--border-radius-tiny) var(--border-radius-tiny) 0px 0px!important;
    display: inline-block;
    width: 100%;
    overflow: hidden;
}

.fs-field > div {
    border-right: 1px solid var(--white);
}

.fs-field:hover .fs-action {
    opacity: 1;
}

.fs-add-field {
    /* margin-top: 5px; */
    line-height: 50px;
    height: 50px;
    background-color: var(--background-color);
    padding: 0px 17px;
    margin-top: -6px;
    border-radius: 0px 0px var(--border-radius-tiny) var(--border-radius-tiny)!important;
}

.status-settings .fs-add-field {
    border-radius: 10px;
}

.fs-add-field input::placeholder {
    color: var(--primary);
}

.meta-panel .btn {
    height: 50px;
    line-height: 50px;
}

.meta-panel .btn.archive-task, .meta-panel .btn.delete-task {
    padding-left: 0px!important;
    color: var(--icon-color)!important;
    font-size: 10pt;
}

.meta-panel .btn.archive-task i, .meta-panel .btn.delete-task i {
    font-size: 10pt;
}

.meta-panel .btn.archive-task:hover {
    color: var(--primary)!important;
    text-decoration: underline;
}

.meta-panel .btn.delete-task:hover {
    color: var(--warning)!important;
}

.meta-panel .btn.delete-task:hover i {
    color: var(--warning)!important;
}

.meta-panel .btn.delete-task:hover {
    text-decoration: underline;
}

.panel-wrapper .btn.close-panel-btn {
    top: 23px!important;
    right: 13px;
    height: 45px;
    width: 45px;
    text-align: center;
    z-index: 99999999!important;
    /* background-color: var(--white)!important; */
    padding: 0px!important;
    border-top-left-radius: 10px!important;
    border-bottom-left-radius: 10px!important;
}

.board-sidebar .btn.btn-transparent {
    padding-left: 0px!important;
}

.board-sidebar .btn.btn-transparent:hover {
    background-color: transparent!important;
    color: var(--primary)!important;
}

.board-sidebar .btn.btn-transparent i {
    /* color: var(--primary)!important; */
    padding-right: 10px;
}

.text-field .dropdown-selector {
    height: 50px;
    line-height: 50px;
    box-sizing: border-box;
    position: relative;
    cursor: pointer;
    border-radius: 5px;
    padding-left: 20px;
    cursor: pointer;
    background-color: var(--background-color);
}

.text-field .dropdown-selector:hover, .add-new-schedule-item .add-resource .btn:first-child:hover {
    background-color: var(--hover-item)!important;
}

.text-field .dropdown-selector label {
    cursor: pointer;
    user-select: auto;
}

.jira-settings .text-field .dropdown-selector label {
    width: auto;
}

.ds-text {
    line-height: 50px;
    font-size: 13px;
    text-align: left;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.user-picker .ds-text {
    padding-left: 0px;
}

.board-type .ds-text {
    text-transform: capitalize;
}

.select-board-type {
    width: auto;
    /* text-align: center; */
    margin: 20px auto!important;
    /* display: inline-block!important; */
    max-width: 420px;
    float: none;
    vertical-align: top;
    padding: 40px;
    background-color: var(--white);
    border-radius: 10px;
}

.button-selector .btn-select {
    display: inline-block;
    width: 180px;
    padding: 30px 10px;
    margin-top: 20px;
    margin-right: 5px;
    background-color: var(--white);
    color: var(--primary);
    border-radius: 5px;
    cursor: pointer;
}

.button-selector .btn-select:hover {
    background-color: var(--primary);
    color: white;
}

.button-selector .btn-select:last-child {
    margin-right: 0px;
}

.checklist .title {
    font-weight: 500;
}

.user.user-with-card .user-card .title {line-height: 1;margin-top: 0px;margin-bottom: 10px;color: var(--light-text);}

.user.user-with-card .user-card .title:empty {
    display: none;
}

.sub-title {
    margin-bottom: 20px;
}

.select-board-type .text-field:first-child {
    margin-top: 20px!important;
}

.btn.save-board {
    margin-top: 20px;
    width: 100%;
    height: 45px;
    line-height: 45px;
    border-radius: 5px!important;
}

.select-board-type .sub-text {margin-bottom: 20px;}

.delete-this-board {
    max-width: 740px;
    margin: 10px auto 40px;
}

.delete-this-board .btn {
    color: var(--warning)!important;
    padding-left: 30px!important;
}

.delete-this-board .btn:hover {
    background-color: transparent!important;
    color: var(--warning)!important;
    text-decoration: underline;
}

.cap {
    text-transform: capitalize;
}

.fs-action {
    display: inline-block;
    position: absolute;
    right: -36px;
    float: right;
    height: 40px;
    line-height: 40px;
    width: 40px;
    text-align: center;
    cursor: pointer;
    opacity: 0;
    transition: opacity .3s ease-in-out;
    border-right: none!important;
}

.fs-action:hover {
    color: var(--primary);
}

.fs-field .fs-action:last-child:hover {
    color: var(--warning);
}

.fs-action i {
    line-height: 50px;
    font-size: 14pt;
}

.fs-field-name {
    /* display: inline-block; */
    font-size: 10pt;
    padding-left: 0px;
    padding-right: 20px;
    border-right: none!important;
    width: 260px;
}

.fs-field-name:hover input {
    color: var(--primary);
}

.fs-field-name input {
    margin-bottom: 0px!important;
    height: 50px!important;
    line-height: 50px;
    padding-left: 0px!important;
    border-bottom: none!important;
    box-shadow: none!important;
    font-size: 10pt!important;
}

.user-picker li .dropdown-user-name {
    color: var(--black);
    line-height: 50px;
}

.user-picker li .dropdown-user-image {
    width: 35px;
    height: 35px;
    line-height: 50px;
    padding-top: 7px;
    padding-left: 10px;
    background-size: cover;
    background-position: center;
    border-radius: 5px;
}

.team-actions .user-picker li .dropdown-user-image {
    margin-top: 11px;
    width: 25px;
    height: 25px;
    margin-left: 15px;
}

.team-actions .user-picker li {
    display: flex;
}

.user-picker li .dropdown-user-image img {
    border-radius: 5px;
}

.user-picker li {
    /* padding-top: 10px; */
    /* padding-bottom: 10px; */
    line-height: 50px;
}

.add-user-dropdown {
    /* width: 100%; */
    padding-left: 0px!important;
    margin-bottom: 20px;
    margin-top: 5px;
}

.add-user-dropdown:hover {
    background-color: transparent!important;
    color: var(--primary)!important;
    text-decoration: underline;
}

.row.settings-buttons {
    text-align: right;
    margin-top: 20px!important;
}

.settings-buttons .btn.btn-transparent:hover {
    background-color: transparent!important;
    color: var(--primary)!important;
    text-decoration: underline;
}

.panel-editor {
    padding-left: 30px;
    padding-right: 30px;
}

.panel-editor .cke_wysiwyg_div {
    font-size: 11pt;
    padding: 10px;
    font-family: var(--body-font);
}

.panel-editor .text-field .cke {
    border: 1px solid var(--background-color);
}

.panel-top-part {
    height: calc(100dvh - 109px);
    /* padding-bottom: 45px; */
    overflow-y: overlay;
    z-index: 99;
}

.panel-top-part.editing-task {
    height: calc(100dvh - 64px)!important;
    margin-bottom: 0px!important;
    overflow-y: hidden!important;
}

.a-task .panel-top-part {
    height: auto;
} 

.panel-top-part .upload-container {
    height: calc(100dvh - 112px);
}

strong {
    font-weight: 600!important;
    font-family: var(--body-font);
}

.meta-panel .cke {
    border-radius: 10px;
    padding: 20px 0px;
}

.meta-panel .open-editor .cke {
    padding-top: 0px;
    padding-bottom: 0px;
}

.meta-panel .cke .cke_top {
    padding-left: 15px;
    padding-right: 15px;
}

body .panel-comments .cke {
    border: none!important;
}

.meta-panel .input-field label {
    margin-top: -7px!important;
    color: var(--label);
}

.meta-panel .input-field input {
    border-bottom: 1px solid var(--light)!important;
}

.meta-panel .input-field:first-child input {
    margin-top: -10px;
    font-family: var(--body-font);
    font-size: 13pt;
    padding-right: 30px;
    margin-bottom: 0px;
}

.meta-panel .input-field {
    /* margin-bottom: 30px!important; */
    display: inline-block;
    width: 100%;
    margin-top: 0px;
}

.meta-panel .input-field.comments-text-editor-textarea {
    width: calc(100% - 60px);
    margin-bottom: 0px!important;
}

.panel-footer .text-field.with-dropdown .btn {
    width: 100%;
    max-width: 190px;
    color: var(--black)!important;
}

.panel-footer .text-field.with-dropdown .btn:hover {
    color: var(--primary)!important;
}

.archiven-delete {
    padding-top: 10px;
    padding-bottom: 20px;
}

.text-field.with-dropdown .user-picker li a {
    /* display: table-cell; */
    padding-left: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
    /* vertical-align: middle; */
    font-size: 10pt!important;
}

.text-field.with-dropdown .user-picker li {
    /* padding-top: 10px; */
    /* padding-bottom: 10px; */
    /* padding-left: 10px; */
    padding: 0px!important;
    /* display: inline-block; */
    width: 100%;
    height: 50px;
    line-height: 50px!important;
    background-color: var(--xwhite);
    user-select: none;
}

.text-field.with-dropdown .user-picker li.assignee-agents-label {
    padding-left: 15px!important;
    color: var(--light-text);
    font-size: 10px;
    display: flex;
    align-items: end;
    line-height: normal!important;
}

li.assignee-agents-label {
    height: 50px;
    line-height: 50px;
    padding-left: 20px!important;
    display: flex;
}

.text-field.with-dropdown .user-picker li:hover {
    background-color: var(--background-color);
}

.meta-panel .text-field.with-dropdown .user-picker li {
    padding-left: 10px!important;
    padding-right: 10px!important;
}

.text-field.with-dropdown .user-picker li img {
    line-height: 50px!important;
    vertical-align: middle;
}

.add-resource li img {
    width: 25px!important;
    height: 25px!important;
    margin-left: 20px!important;
    margin-right: 0px!important;
}

.spec-item-details .text-field.with-dropdown .user-picker li:hover {
    background-color: var(--hover-item);
}

.text-field.with-dropdown .user-picker li.search-user-picker input {background-color: transparent!important;}

.text-field.with-dropdown .user-picker li:hover a {
    background-color: transparent;
}

.text-field.with-dropdown .user-picker li a {
    text-decoration: none;
    line-height: 50px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-left: 15px;
    padding-right: 15px;
    border: none!important;
    outline: none;
}

.text-field.with-dropdown .user-picker li a:focus {
    background-color: var(--light);
}

.text-field.with-dropdown .user-picker {
    margin-top: 0px!important;
    margin-bottom: 0px!important;
    bottom: 50px!important;
    top: unset!important;
    max-height: 50vh!important;
    border-radius: 15px 15px 0px 0px;
}

#resourcez.user-picker {
    bottom: unset!important;
    top: 0px!important;
}

.overview-meta .text-field.with-dropdown .user-picker {
    bottom: unset!important;
}

.search-user-picker input {
    background: var(--xwhite)!important;
}

.search-user-picker {
    padding-left: 0px!important;
    /* margin-bottom: -45px!important; */
    /* position: absolute; */
    /* width: 100%; */
    /* bottom: 0px; */
    padding-top: 0px!important;
    padding-bottom: 0px!important;
}

.meta-panel .the-user-picker .dropdown-content {
    top: unset!important;
    bottom: unset!important;
    background-color: var(--xwhite);
    height: auto!important;
}

.board-description {
    color: var(--label);
}

.search-user-picker i.clear-search {
    color: var(--black);
    width: 45px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 14pt;
}

.board-task-title span {
    float: none!important;
    display: inline-block;
    /* position: absolute; */
    padding-left: 10px;
}

.dropdown-content .sub-text {margin-bottom: 0px;line-height: 1.3;/* padding-left: 16px; */width: 100%;display: inline-block;/* margin-top: -5px; */}

.panel-header .dropdown-wrapper .with-dropdown {
    display: inline-block;
}

.panel-header .dropdown-wrapper .with-dropdown .ds-text {
    padding-left: 0px;
    text-transform: capitalize;
    /* color: var(--black); */
    font-size: 10pt;
}

.panel-header .dropdown-wrapper .with-dropdown:hover .ds-text {
    color: var(--primary);
}

.dropdown-selector-image {
    max-width: 25px;
    display: inline-block;
    float: left;
    padding-top: 7px;
    margin-right: 10px;
}

.dropdown-selector-image img {
    border-radius: 5px;
}

.panel-pickers {
    float: left;
}

.panel-picker.btn {
    color: var(--black)!important;
    padding-left: 0px!important;
    padding-right: 0px!important;
    width: 50px!important;
    text-align: center!important;
    line-height: 45px;
    vertical-align: middle;
    border-radius: 0px!important;
}

.panel-picker.btn i {
    margin-left: 0px!important;
    margin-right: 0px!important;
    float: none!important;
    text-align: center;
    font-size: 15pt;
}

.panel-picker.btn.selected {
    color: var(--primary)!important;
}

.meta-panel .description .cke .cke_wysiwyg_div {
    min-height: 150px;
    height: calc(100dvh - 321px);
    padding-bottom: 20px;
    margin-bottom: 105px;
    margin-left: 0px;
    margin-right: 0px;
    padding-left: 20px;
    padding-right: 20px;
}

.item-description.ql-editor {
    padding-top: 12px!important;
}

.tasks-sidebar.sidebar {
    background-color: var(--white);
}

.tasks-sidebar.sidebar {
    /* border-right: 1px solid var(--extra-light); */
    max-width: 260px;
}

.task-nav-item {
    padding: 0px 30px!important;
    margin-left: -30px!important;
    margin-right: -30px!important;
    cursor: pointer;
    font-size: 9.5pt;
    /* border-bottom: 1px solid var(--extra-light); */
    height: 34px;
    line-height: 34px;
    vertical-align: top;
    width: calc(100% + 60px);
}

.task-nav-item.row > div {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.task-nav-item.row > div:first-child {
    padding-right: 20px!important;
}

.task-nav-item.row > div:last-child {
    padding-left: 20px!important;
}

.task-nav-item.row .m2:first-child {
    display: none!important;
}

.task-nav-item.row > .status {
    text-align: right;
}

.task-nav-item.selected {
    /* background-color: var(--primary); */
    color: var(--primary);
    border-left: 5px solid var(--primary);
    padding-left: 15px!important;
}

.task-nav-item:hover {
    background-color: var(--hover-color);
}

.task-nav-item:hover {
    background-color: var(--hover-item);
    /* color: var(--primary); */
}

.tasks-sidebar .search-tasks input {
    margin-bottom: 20px;
}

.a-task {
    width: 50%;
    margin: 0px auto;
    /* padding: 30px; */
    background-color: var(--white);
    height: calc(100dvh - 64px);
    overflow-y: overlay;
    float: left;
    position: relative;
}

.tasks-body.body {
    height: calc(100dvh - 64px);
}

.settings .sidebar {
    height: calc(100dvh - 64px);
    background-color: var(--white);
    box-shadow: var(--box-shadow);
}

.sidebar {
    padding: 0px!important;
    background-color: var(--white);
    position: relative;
    box-shadow: var(--box-shadow);
    /* transition: all .4s ease-in-out; */
}

.board-sidebar.sidebar.col.s12.m2 {
}

.status-updates-sidebar.sidebar {
    height: calc(100dvh - 64px);
    max-width: 320px;
}

.sidebar-list-items {
    margin-top: 0px;
    margin-bottom: 0px;
    /* padding-top: 20px; */
}

.sidebar-list-items.work-sidebar-list {
    /* margin-top: 3px; */
}

.sidebar-list-items.plan-sidebar-list {
    padding-bottom: 50px;
}

.sidebar-list-items .sli-header {
    font-size: 9px;
    margin-top: 20px;
}

.fully-opened-sidebar .sidebar-list-items.strategy-sidebar-list .sli {
    height: unset;
    line-height: normal;
    text-align: left;
    justify-content: flex-start;
    align-items: start;
}

.sidebar-list-items.strategy-sidebar-list .sli {
    display: flex;
    /* gap: 15px; */
    margin: 0!important;
    padding: 15px 20px;
}

.thin-sidebar .sidebar-list-items.strategy-sidebar-list .sli {
    padding: 0;
}

.sli.sli-vision i {
    /* color: var(--highlight); */
}

.admin-settings-body .sidebar-list-items {
    margin-top: -30px;
}

.sidebar-list-items.ai-convos .sidebar-heading:first-child {
    padding-top: 10px;
}

.boards-list.sidebar-list-items {
    padding-top: 0px!important;
}

.boards-list.sidebar-list-items .zj-search-bar {
    padding-bottom: 20px;
}

.sidebar-list-items .sli {
    cursor: pointer!important;
    margin-bottom: 0px;
    margin-left: -30px;
    margin-right: -30px;
    padding: 0px 30px 0px 25px;
    height: 50px;
    line-height: 50px;
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
    user-select: none;
    position: relative;
    /* font-size: 14px; */
    font-weight: 500;
    display: flex;
    text-transform: lowercase;
    color: var(--black-nav);
}

.sidebar-list-items .sli svg, .sidebar-list-items .sli i {
    width: 30px;
    height: 50px;
    line-height: 50px;
    margin-right: 5px;
    font-size: 16px;
    text-align: center;
}

.sidebar-list-items .sli svg {
    padding-left: 3px;
}

.sidebar-list-items .sli.afix-to-bottom {
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    padding: 0 0 0 30px;
    box-sizing: border-box;
    width: 100%;
    margin: 0px;
    background-color: var(--white);
}

.sidebar-list-items .sli .lever {float: right;line-height: 50px;margin: 18px 0px;}

.ai-convos.sidebar-list-items .sli {
    height: 40px;
    line-height: 40px;
}

.sidebar-list-items .sli.sub-sli {
    padding-left: 67px;
}

.sidebar-list-items .sli.sub-sli::before {
    content: ".";
    position: absolute;
    left: 45px;
    top: 10px;
    font-size: 20px;
    line-height: 20px;
}

.todos-sidebar .sidebar-list-items .sli {
    height: auto;
    line-height: 30px;
    padding-bottom: 10px;
    padding-top: 20px;
    flex-direction: column;
}

.sidebar-list-items .sli:hover {
    background-color: var(--background-color);
}

.sidebar-list-items .sli:hover .sub-text {
    color: var(--black);
}

.sidebar-list-items .sli.selected {
    color: var(--primary);
}

.pi-session-list .sli.pi-session-item {
    padding: 0 30px;
    margin: 0;
    height: 50px;
    line-height: 50px;
    cursor: pointer;
}

.pi-session-list .sli.pi-session-item:hover {
    background-color: var(--background-color);
}

.pi-session-list .sli.pi-session-item.selected {
    background-color: var(--background-color);
}

.sidebar-list-items .sli.selected.warning {
    color: var(--warning)!important;
}

.sidebar-list-items .sli:hover {
    /* background-color: var(--extra-light); */
    /* color: var(--primary); */
}

.thin-sidebar .sidebar-list-items .sli:hover {
    background-color: transparent;
}

.sidebar-list-items .sli.active i {
    color: var(--primary);
}

.todos-sidebar .sidebar-list-items .sli:hover {
    background-color: transparent!important;
}

.sidebar-list-items .sli.active {
    color: var(--primary);
    background-color: var(--background-color);
}

.sli.sli-overview i {
    /* color: var(--primary); */
}

.dark .sidebar-list-items .sli.active {
    background-color: var(--extra-light);
}

.sidebar-list-items h6 {
    cursor: pointer;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.sidebar-top-actions {
    display: inline-block;
    text-align: right;
    width: 45px;
    height: 50px;
    line-height: 50px;
    float: right;
}

.sidebar-top-actions i {
    line-height: 50px!important;
}

.sidebar-body {
    padding: 0px 30px;
    height: calc(100dvh - 172px);
    overflow-y: auto;
    overflow-y: overlay;
    overflow-x: hidden;
    box-sizing: border-box;
    width: 100%;
}

.tasks-page .sidebar-body {
    padding: 0;
}

.thin-sidebar .sidebar-body {
    height: calc(100dvh - 114px);
    padding-top: 30px!important;
    padding: 0!important;
    padding-top: 20px!important;
}

.work-page .sidebar-body, .plan-page .sidebar-body {
    padding: 0;
}

.strategy-page .sidebar-body {
    /* height: calc(100dvh - 174px); */
    padding: 0;
    padding-top: 23px!important;
}

.timeline-page .sidebar-body {
    height: calc(100dvh - 122px);
}

.board-sidebar .sidebar-body {
    height: calc(100dvh - 175px);
}

.spec-sidebar .board-wrapper .board-sidebar {
    width: 100%!important;
}

.account.settings .sidebar-body {
    height: calc(100dvh - 122px);
}

.account.settings .sidebar-body > .account-list {
    margin-top: 0;
}

.project-timelogs .sidebar-body {
    height: calc(100dvh - 224px);
}

.schedules .sidebar-body {
    height: calc(100dvh - 250px);
}

.todos-sidebar .sidebar-body {height: calc(100dvh - 174px);width: 100%;}

.sidebar-body .the-schedules {padding-top: 0px;padding-bottom: 30px;}

.the-projects-page .sidebar-body {
    /* height: calc(100dvh - 122px); */
    padding: 0px;
}

.the-projects-page .sidebar-body .row-header {
    padding: 0px 30px;
    margin-bottom: 5px!important;
}

.sps-sidebar .sidebar-body {
    height: calc(100dvh - 267px)!important;
    padding-top: 20px!important;
    padding-bottom: 20px!important;
}

.project-outline .sidebar-body {
    padding-top: 0px;
    padding-bottom: 0px;
    height: calc(100dvh - 203px);
}

.project-outline .sidebar-body.pf-sidebar {
    height: calc(100dvh - 147px);
}

.files-page .project-outline .sidebar-body {
    height: calc(100dvh - 197px);
}

.project-outline .board-sidebar .sidebar-body {
    height: calc(100dvh - 197px);
}

.sidebar-action-btn {
    margin-right: 0px;
    height: 50px!important;
    line-height: 50px!important;
    width: 45px!important;
    padding: 0px!important;
    text-align: center!important;
    z-index: 999;
}

.sidebar-action-btn.selected i {
    color: var(--primary)!important;
}

html body .sidebar-action-btn, html body .sidebar-action-btn i {
    color: var(--icon-color)!important;
    padding-right: 6px!important;
}

.sidebar-action-btn i {
    margin: 0px!important;
    padding: 0px!important;
}

.sidebar-search {
    width: 100%;
    display: inline-block;
    float: left;
    position: absolute;
    left: 0px;
    /* z-index: 999999; */
    background-color: var(--white);
}

.sidebar-search input {
    margin-bottom: 0px!important;
    padding-left: 30px!important;
    padding-right: 90px!important;
    color: var(--black);
    height: 59px!important;
    font-size: 10pt!important;
}

.sidebar-search input[type="text"] {
    border-bottom-color: var(--border)!important;
}

.sidebar-footer {
    height: 50px;
    line-height: 50px;
    /* border-top: 1px solid var(--light-border); */
    /* position: absolute; */
    /* bottom: 0px; */
    width: 100%;
    display: flex;
    align-items: center;
    }

.projects-sidebar .sidebar-footer {
    position: absolute;
    bottom: 0;
    /* padding-right: 5px; */
}

.files-page .sidebar-actions {
    padding-right: 30px;
}

.the-timelogs-page .sidebar-footer {
    position: absolute;
    background-color: var(--white);
}

.boards .sidebar-footer {
    position: absolute;
}

.project-outline .pi-sidebar-footer.sidebar-footer {
    bottom: 0px;
    position: absolute;
    /* left: 0px; */
    width: 100%;
    padding: 0 20px;
}

.project-outline .pi-sidebar-footer.sidebar-footer .btn-transparent {
    height: 50px;
    line-height: 50px;
    display: flex;
    gap: 10px;
    align-items: anchor-center;
}

.project-outline .sidebar-footer .board-actions {text-align: right;}

.project-outline .sps-sidebar .sidebar-body {height: calc(100dvh - 253px);margin-top: 0px;padding-top: 0px!important;}

.board-actions {
    padding-left: 30px;
    height: 50px;
    line-height: 50px;
}

.board-actions .btn {
    height: 50px;
    line-height: 50px;
    text-transform: capitalize;
    font-size: 10pt;
}

.sidebar-footer .board-action .btn:first-child {
    padding-left: 0px!important;
    text-transform: uppercase;
    font-size: 10pt;
}

.sidebar-search .clear-search.btn {
    height: 50px!important;
    width: 45px!important;
    margin: 0px!important;
    padding: 0px!important;
    right: 45px;
}

.sidebar-search .clear-search.btn i {
    line-height: 50px;
    margin: 0px!important;
    padding: 0px!important;
}

.middle-message {
    text-align: center;
}

.tasks-body .middle-message {
    margin-top: 40vh;
}

.number-of {
    font-size: 11px;
    /* margin-left: 2px; */
    color: var(--icon-color);
    font-weight: 400;
}

.portfolio .number-of {
    color: var(--light-text);
    padding-left: 4px;
}

.filterz .number-of {
    float: right;
    padding-left: 3px;
    color: var(--primary);
}

.sidebar-actions .btn {
    height: 45px;
    min-width: 45px;
    padding: 0px!important;
    line-height: 45px!important;
    text-transform: initial;
    font-size: 10pt;
}

.board-action.btn {
    /* display: inline-block; */
    height: 45px;
    line-height: 45px;
    color: var(--icon-color)!important;
}

.board-action.btn i {
    transition: .2s ease-in-out;
    color: var(--icon-color);
}

.board-action.btn:hover {
    color: var(--primary)!important;
}

.my-task-list {
    color: var(--black);
}

.task-list-task {
    padding: 20px!important;
    line-height: 1.5;
    cursor: pointer;
}

.task-list-task:hover {
    background-color: var(--extra-light);
}

.fields-editor {
    padding: 10px 30px;
}

.admin-settings-body {
    max-height: calc(100dvh - 64px);
    height: calc(100dvh - 64px);
    position: relative;
    top: 0;
}

.board-task-type .ds-text {
    text-transform: capitalize;
}

.dropdown-content.on-bottom {top: unset!important;bottom: 45px!important;}

.dropdown-content li a.focus-visible {
    background-color: var(--primary);
    color: var(--awhite)!important;
    border-top: none!important;
    outline: none!important;
}

.sidebar-body .board-title {
    margin-bottom: 20px;
    font-size: 11pt;
    color: var(--primary);
    /* margin-top: -20px; */
}

.board-sidebar .sidebar-title {
    /* font-size: 11pt; */
    /* font-weight: 400; */
}

.input-wrap ul.dropdown-content {
    max-height: 300px;
}

.no-l-padding {
    padding-left: 0px!important;
}

.loading-wrapper-gif {
    max-width: 270px;
    margin: 30vh auto;
}

.ui-grid .loading-wrapper-gif {
    margin: 0px auto!important;
}

.add-new-section {
    display: inline-block;
    width: 100%;
    margin-top: 10px;
}

.field-settings-body > .field-section.m6:nth-child(2n) {margin-left: -1px!important;}

.field-section-item {
    padding: 0px 20px;
    height: 50px;
    line-height: 50px;
    width: 100%;
    background-color: var(--background-color);
    margin-bottom: 1px;
    cursor: pointer;
}

.status-settings .fs-container {
    background-color: var(--white)!important;
    box-shadow: var(--box-shadow);
}

.status-settings .fs-container .field-section-item {
    background-color: transparent;
}

.status-settings .fs-container .field-section-item:hover {
    background-color: var(--extra-light);
}

.field-section-item i {
    line-height: 50px;
    font-size: 15pt;
    margin-right: 10px!important;
}

.field-section-item .switch label {
    float: right;
}

html body .field-section-item .switch label input[type=checkbox]+.lever {
    background-color: var(--background-color)!important;
    margin-right: 5px;
}

html body .status-settings .field-section-item .switch label input[type=checkbox]+.lever {
    background-color: var(--white)!important;
}

.field-section-item:last-child {
    border-radius: 0px 0px 5px 5px!important;
}

.field-section-item:hover {
    /* color: var(--primary); */
    background-color: var(--extra-light);
}

.field-section-item.selected {
    color: var(--primary);
}

.fs-details {
    position: relative;
}

.ds-pairing .pairing-wrapper {
    padding: 0px 20px;
    background-color: var(--white);
    margin-bottom: 0px;
    height: 50px;
    line-height: 50px;
    position: relative;
    cursor: pointer;
}

.fields-section .ds-pairing .pairing-wrapper {
    background-color: var(--white);
}

.ds-pairing .pairing-wrapper:hover {
    background-color: var(--extra-light);
}

.ds-pairing .pairing-wrapper .meta-data:first-child {
    width: 74px;
    /* text-align: right; */
    /* border-right: 1px solid black; */
    color: var(--light-text);
}

.ds-pairing .pairing-wrapper .meta-data:first-child::after {content: ':';}

.ds-pairing:hover {
    background-color: var(--light);
}

.ds-pairing i {
    line-height: 50px;
    height: 50px;
    position: absolute;
    right: 20px;
    top: 0px;
}

body .field-settings-body.row {
    /* margin-top: 30px!important; */
    margin-bottom: 0px!important;
}

.default-statuses .ds-pairings {
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
    box-shadow: var(--box-shadow);
}

.top-separator {
    /* border-top: 1px dashed var(--border); */
    /* padding-top: 30px!important; */
    margin-top: 30px!important;
}

.ds-pairing {
    position: relative;
}

.ds-pairing:last-child .pairing-wrapper {
    border-radius: 0px 0px 5px 5px!important;
}

.ds-pairing .t-name {
    /* position: absolute; */
    /* right: 60px; */
    /* top: 0px; */
    line-height: 42px;
    /* font-size: 11pt; */
    /* color: var(--light-text); */
    /* border-left: 1px solid var(--very-light); */
    /* width: 100%; */
    /* max-width: 75%; */
    padding-left: 5px;
    text-align: right;
    padding-right: 15px;
}

.fs-details .fs-body-wrapper ul {
    /* max-height: 90vh; */
    margin-top: 0px;
    margin-bottom: 0px;
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    /* overflow: unset!important; */
}

.fs-details .fs-body-wrapper ul li {
    background-color: transparent!important;
}

.select-board-type .text-field {
    margin-bottom: 20px;
}

.meta-data {
    display: inline-block;
    line-height: 42px;
    height: 42px;
}

.project-quick-stat .meta-data {
    height: 30px;
    line-height: 30px;
    vertical-align: middle;
}

.sidebar-close-btn {
    position: absolute;
    top: 38px;
    left: 20px;
    text-align: center;
    width: 20px;
    z-index: 9999;
    cursor: pointer;
    color: var(--icon-color)!important;
    font-size: 8pt;
    /* font-style: italic; */
    color: var(--light-text);
    line-height: 1.3;
}

.sidebar-close-btn i {
    font-size: 10pt;
    color: var(--icon-color);
}

.board-actions .board-action:first-child {
    color: var(--primary)!important;
    text-transform: uppercase;
    font-size: 10pt;
}

.board-actions .board-action:hover .btn {
    text-decoration: underline;
}

.panel-header .dropdown-selector {
    color: var(--black)!important;
}

.bottom.panel-actions.right {
    position: absolute;
    right: 0px;
    bottom: 2px;
    z-index: 9999;
}

.add-new-board-task .awaiting-loading {
    position: absolute;
    right: 10px;
    bottom: 5px;
    max-width: 20px;
}

.placeholder {
    /* background-color: var(--primary)!important; */
    /* display: inline-block; */
}

.the-image-placeholder {
    background-color: transparent!important;
    border: 4px dashed var(--primary)!important;
}

.roadmap-wrapper {
    height: calc(100dvh - 66px);
    overflow-y: overlay;
    width: 100%;
    cursor: pointer;
}

.roadmap-wrapper img {
    width: auto;
    max-width: 100%;
}

.roadmap-wrapper.selected img {
    width: max-content;
    max-width: max-content;
}

.make-default {
    display: inline-block;
    width: 100%;
    margin-bottom: 30px;
    margin-top: 30px;
}

.make-default .lever {
    margin-left: 0px!important;
    margin-right: 0px!important;
    float: right;
}

.spec-actions .spec-author img {
    max-width: 100%;
    border-radius: 5px;
}

.spec-author {
    max-width: 25px;
    margin-top: 6px;
    margin-right: 5px;
}

body .tasks-component .zj-search-bar {
    padding: 0px;
}

.dialog-action-buttons {
    text-align: right;
}

.timelog-page .zj-actions-bar {
    height: calc(100dvh - 66px);
    padding: 30px 30px 20px!important;
}

.timelog-page .zj-actions-bar-buttons {
    padding: 0px;
}

.actions-wrap .btn {
    background-color: transparent;
    padding: 0px 20px!important;
    font-size: 9.5pt!important;
    display: inline-block;
    vertical-align: top;
    padding-left: 20px!important;
    text-transform: initial;
}

.image-annotations .actions-wrap .btn {margin-right: 15px!important;}

.actions-wrap .btn i {
    font-size: 11pt;
}

.actions-wrap .btn:hover {
    background-color: transparent!important;
    text-decoration: underline;
}

.edit-todo-item .btn.complete-todo {
    text-transform: inherit;
    letter-spacing: normal;
    padding-right: 0px!important;
    /* height: 40px; */
    /* line-height: 40px; */
    padding-left: 0px!important;
    width: auto;
    text-align: right;
    /* background-color: var(--extra-light)!important; */
    /* padding: 0px 15px!important; */
    margin-left: 15px;
    /* border-radius: 5px!important; */
    vertical-align: top;
    /* border: 1px solid var(--border); */
    }

body .edit-todo-item .actions-wrap .btn.complete-todo, body .edit-todo-item .actions-wrap .btn.delete-todo {
    padding: 0px 30px!important;
    height: 50px!important;
    line-height: 50px!important;
    background-color: var(--extra-light)!important;
    border: none!important;
    border-radius: 5px!important;
}

.edit-todo-item .btn.complete-todo span.tda-text {padding-right: 0px!important;min-width: 62px;}

.image-annotations .todo-quick-actions > .col .btn.complete-todo {float: left!important;margin-left: 0px;width: 100%;text-align: left;}

.image-annotations .edit-todo-item .btn.complete-todo i {color: var(--light-text)!important;}

.image-annotations .edit-todo-item .btn.complete-todo i {margin-right: 0px!important;padding-right: 8px;padding-left: 1px;}

.image-annotations .edit-todo-item .btn.complete-todo:hover i, .image-annotations .edit-todo-item .btn.complete-todo:hover {color: var(--good)!important;}

.edit-todo-item .actions-wrap .btn.complete-todo {
    opacity: 1;
    height: 30px!important;
    line-height: 30px;
    margin-right: 0px!important;
}

.edit-todo-item .btn.complete-todo:hover {
    opacity: 1;
}

.edit-todo-item .btn.complete-todo, .edit-todo-item .btn.complete-todo i {
    color: var(--light-text)!important;
    margin-right: 1px;
}

.edit-todo-item .btn.complete-todo i {
    font-size: 12pt;
}

.edit-todo-item .btn.complete-todo:hover, .edit-todo-item .btn.complete-todo:hover i {color: var(--good)!important;}

.actions-wrap .btn.complete-todo i {
    color: var(--good);
}

.actions-wrap {
    /* padding-right: 25px; */
    padding-top: 15px;
    padding-bottom: 20px;
    display: inline-block;
    width: 100%;
    text-align: right;
}

.todo-contain .actions-wrap {padding-bottom: 10px;}

.edit-todo-body .todo-contain .actions-wrap {
    padding-bottom: 0px;
}

.todo-more-actions {
    display: inline-block;
    overflow: hidden;
    /* width: 45px; */
    padding-top: 36px;
    float: right;
}

.image-annotations .todo-more-actions {width: 50px;}

.todo-more-actions .btn {
    height: 50px;
    line-height: 50px;
    width: 50px;
    background-color: var(--background-color)!important;
    text-align: center;
    padding-left: 0px!important;
    padding-right: 0px!important;
    /* margin-right: -3px; */
    border-radius: 5px!important;
}

.todo-more-actions .btn i {
    float: none;
    width: 45px;
    color: var(--black);
    text-align: center;
}

.todo-option.the-todo-assignee, .todo-option.the-todo-assignee:first-child {
    width: 100%;
    display: inline-block;
    float: left;
    padding-right: 0px!important;
}

.todo-comment-notification-project {
    display: inline-block;
    float: left;
    text-align: left;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 5px;
}

.todo-comment-notification-project > span {
    /* padding: 0px 5px; */
    text-decoration: none!important;
}

.todo-the-more-actions {
    padding-top: 5px;
}

.middle-separator {
    padding-left: 5px;
    padding-right: 5px;
}

.ImagePreviewBox td {
    color: var(--black)!important;
}

.cke_dialog_ui_html {
    color: var(--black)!important;
    font-family: var(--body-font)!important;
}

.cke_dialog_ui_input_text {
    width: 100%;
}

.a-dialog {position: absolute;top: 0px;left: 0px;right: 0px;bottom: 0px;background-color: rgba(0, 0, 0, .8);z-index: 99999999999999999999999999;padding: 80px 30px 0px;}

.notes-container .a-dialog {
    position: absolute;
}

.panel-viewer .a-dialog {
    position: absolute;
}

.view-status-update .a-dialog {
    position: absolute;
}

.a-dialog .dialog-wrapper {
    background-color: var(--extra-light);
    max-width: 740px;
    margin: 0px auto;
    padding: 40px;
    box-shadow: 0px 1px 20px black;
    border-radius: 10px;
}

h5.pum-name {
    display: inline-block;
    width: 70%;
    color: var(--primary);
    font-size: 22pt;
}

.spec-item-comments-container .panel-comments {
    padding: 40px;
    /* overflow-y: hidden; */
    /* overflow-x: hidden; */
    height: calc(100dvh - 114px);
    /* background-color: var(--extra-light); */
    position: relative;
}

.image-annotations .spec-item-comments-container .panel-comments {
    padding: 0px;
}

.image-annotations .spec-item-comments-container .panel-comments .posts-create {
    box-shadow: none;
    border-radius: 0px;
    border-bottom: 1px solid var(--border);
}

.distraction-free .spec-item-comments-container .panel-comments {
    height: calc(100dvh - 50px);
}

.panel-comments .page-header {
    /* min-width: 420px; */
    padding-right: 0px;
}

.panel-comments .posts-create {
    /* width: 460px!important; */
    /* width: 100%; */
    margin-left: 0px!important;
    margin-right: 0px;
    padding: 0px;
}

.meta-panel .panel-comments .posts-create {
    /* background-color: var(--xwhite); */
    border: 1px solid var(--light-border);
    display: inline-block;
    width: 100%;
    padding-bottom: 20px;
    margin-top: 10px;
    box-shadow: none;
    padding: 25px;
}

.meta-panel .panel-comments .posts-create .ql-editor {
    box-shadow: 1px solid var(--shadow);
    background-color: var(--extra-light);
}

.a-task .panel-comments .posts-create {
    width: 100%!important;
    min-width: 100%!important;
    max-width: 100%!important;
}

.zj-specification-item-details .panel-comments .posts-create {
    width: 100%!important;
    max-width: 720px!important;
    margin: 0px auto 30px!important;
    position: relative;
    padding: 40px 40px 30px;
    }

.zj-specification-item-details .image-annotations .panel-comments .posts-create {
    padding: 30px;
    margin-bottom: 0px!important;
}

.comments-text-editor {
    text-align: right;
    padding-top: 20px;
}

.panel-comments .post-creator .cke .cke_contents .cke_wysiwyg_div {
    min-height: 60px;
    padding-top: 5px;
    max-height: calc(100dvh - 395px);
}

.panel-viewer .ticket-todos {
    height: 100%;
}

.meta-panel .panel-viewer .ticket-todos {
    padding-top: 0px;
    padding-bottom: 0px;
    height: calc(100dvh - 211px);
    overflow: hidden!important;
    padding-left: 30px;
    padding-right: 30px;
}

.edit-post-actions a.dropdown-button {
    height: 40px;
    line-height: 40px;
    width: 40px;
    text-align: center;
    display: inline-block;
    vertical-align: top;
    color: var(--icon-color);
}

.edit-post-actions a.dropdown-button:hover {
    color: var(--primary);
}

.comment-comment-reply {
    padding-top: 10px;
    z-index: 9;
    position: relative;
}

.comment-comment-reply .input-field {
    margin-bottom: 10px!important;
}

.panel-comments .go-to-post {
    display: none;
}

.setting-option {
    padding-bottom: 20px;
    width: 100%;
    display: inline-block;
}

.setting-option.text-brightness .text-brightness-control {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}

.setting-option.text-brightness .text-brightness-label {
    flex: 0 0 auto;
    font-size: 11px;
    color: var(--light-text);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.setting-option.text-brightness .text-brightness-range {
    flex: 1 1 auto;
    margin: 0;
}

.setting-option.text-brightness .text-brightness-range input[type="range"] {
    width: 100%;
    margin: 0;
}

.setting-option.text-brightness .helper-text {
    margin-top: 8px;
}

.add-mapping-form .setting-option {
    padding-bottom: 0;
}

.setting-option.feature-toggle {
    padding: 25px;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    /* box-shadow: var(--box-shadow); */
    box-sizing: border-box;
}

.feature-toggles .feature-toggle {flex: 1 1 calc( 50% - 5px );}

.feature-toggle .sub-text {
    line-height: 20px;
    padding-top: 0px;
}

.feature-toggle .switch > span {
    font-weight: 400;
}

.setting-switch span strong, .feature-toggle span strong {
    font-weight: 500!important;
}

.setting-option.keyboard-shortcuts {
    border-radius: var(--border-radius-tiny);
    /* box-shadow: var(--box-shadow); */
    padding-bottom: 0px;
    height: 50px;
    display: flex;
    margin-bottom: 1px;
}

.setting-option.keyboard-shortcuts label {
    padding-left: 20px!important;
}

.setting-option.keyboard-shortcuts > .row {
    background-color: var(--background-color);
    height: 50px;
    line-height: 50px!important;
    padding: 0px!important;
    border-radius: var(--border-radius-tiny);
}

.setting-option.keyboard-shortcuts .col {
    line-height: 50px!important;
}

.integrations-body .setting-option .lever {
    margin-right: 16px!important;
}

.setting-option .list-items {
    background-color: var(--background-color);
    border-radius: 0px 0px 5px 5px;
    margin-top: -2px;
}

.dark .setting-option .list-items {
    background-color: var(--white);
}

.rounded-bg .setting-option {
    height: 50px;
    padding-bottom: 0px;
    line-height: 50px;
}

.rounded-bg .setting-option:last-child {
    padding-bottom: 0px;
}

.setting-option:hover .dropdown-selector {background-color: var(--hover-light);}

.checklist .setting-option:hover .dropdown-selector {
    background-color: var(--background-color);
}

.setting-option .btn {
    height: 45px;
    line-height: 45px;
    border-radius: 5px!important;
    min-width: 80px;
}

.settings .btn.btn-icon {
    padding: 0px 10px;
    height: 50px;
    line-height: 50px;
    /* margin-top: 3px; */
}

.settings .space-card .btn.btn-icon i {
    vertical-align: top;
    height: 30px!important;
    line-height: 30px;
}

.intelligence-settings .feature-toggle .btn-icon {height: 17px!important;line-height: 12px!important;padding-left: 5px!important;}

i.locked {
    color: var(--orange);
}

.intelligence-settings .btn-small.btn.btn-icon {
    line-height: 30px;
    height: 30px;
}

.intelligence-settings label .btn-small.btn.btn-icon {
    height: 17px;
    line-height: 12px;
    padding-left: 10px!important;
    padding-right: 0px!important;
    text-align: left;
}

.setting-option .list-items .btn {
    min-width: 45px;
    padding: 0px!important;
    margin-right: -20px;
    height: 50px;
    line-height: 50px;
}

.setting-option .list-items .btn i {
    font-size: 14pt;
}

.setting-option .switch label {float: right;}

label {
    font-size: 13px!important;
    font-weight: 400;
    color: var(--black)!important;
}

.model-item .switch label .lever:after, .setting-switch .switch label .lever:after {
    background-color: var(--light-text);
}

.toast a {
    color: var(--primary)!important;
}

.feedback-wrapper {
    max-width: 720px;
    margin: 0px auto;
}

.panel-viewer .panel-comments .all-specs.row {
    margin-bottom: 0px!important;
}

.ui-sortable-placeholder.board-task {
    background-color: transparent;
    border: 3px dashed var(--primary)!important;
}

.btn.board-filter.selected {
    color: var(--primary)!important;
}

.btn.board-filter {
    color: var(--black)!important;
}

.reaction-totals > span {
    padding-right: 10px;
}

.settings .text-field {
    padding-bottom: 20px;
}

.general-settings .title.text-field.row {
    display: flex;
    align-items: center;
    padding-bottom: 5px;
}

.list-settings .text-field {
    padding-bottom: 0px;
    /* margin-bottom: -5px; */
}

.column-settings .setting .text-field {
    padding-bottom: 0px!important;
}

.add-mapping-form .setting-option > .text-field {
    padding-bottom: 0;
}

.settings .checklists .text-field {
    border-right: none;
}

.strategy-settings .text-field .cke {
    background-color: var(--background-color)!important;
    border-radius: var(--border-radius-tiny);
}

.task-template .card .text-field {
    border-right: none;
}

.settings .okr-editor .text-field {
    border-right: none!important;
    /* overflow: hidden; */
    /* white-space: nowrap; */
    /* text-overflow: ellipsis; */
    padding-bottom: 5px;
    padding-right: 5px!important;
}

.okr-item .text-field {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.settings .okr-editor .text-field:last-child {
    padding-bottom: 0px;
}

.integrations-section .text-field {
    border-right: none!important;
}

.settings .jira .text-field {
    padding-bottom: 0px!important;
}

html body .spaces .program-item > .col {
    margin-right: 5px!important;
}

.categories-admin .fs-container .text-field .col.s1 .btn i {
    color: var(--black);
}

.user-profile-editor .text-field {
    padding-bottom: 15px!important;
}

.settings .user-viewer .text-field {
    padding-bottom: 0px;
}

.search-user-list {
    position: relative;
}

.search-user-list .btn.btn-clear {
    padding-right: 5px!important;
}

.settings .user-viewer .text-field input {
    border-radius: 5px 5px 0px 0px!important;
    height: 50px!important;
    line-height: 50px;
    margin-bottom: 0px!important;
    border-bottom: 1px solid var(--white)!important;
}

.integration-helper .integration-settings .text-field {
    padding-bottom: 0px;
}

.full-screen-dialog .text-field {
    padding-bottom: 0px!important;
}

.full-screen-dialog .user-editor .text-field.search-input.selected input {
    border-radius: 10px 10px 0px 0px!important;
    background-color: var(--background-color)!important;
}

li.item.system-notification {
    background-color: var(--white);
    margin-top: 30px!important;
}

li.item.system-notification .the-icon {
    display: inline-block;
    float: left;
    vertical-align: middle;
    /* width: 40px; */
    line-height: 20px;
    height: 22px;
    margin-left: 6px;
    margin-right: 5px;
}

li.item.system-notification .the-icon i {
    color: var(--warning);
    line-height: 24px;
}

.item.system-notification .the-text {
    overflow: hidden;
    padding-left: 20px;
    font-size: 10pt;
    line-height: 1.8;
    color: var(--black);
}

.nav.main-nav ul ul li.item .the-text a {
    padding: 0px;
    background-color: transparent;
    display: inline;
    color: var(--primary)!important;
}

.zj-section.zj-specification-details.distraction-free {
    max-width: 740px;
    margin: 10px auto;
}

.zj-specification-body .spec-item.distraction-free {
    position: fixed!important;
    top: 0px!important;
    left: 0px!important;
    bottom: 0px!important;
    z-index: 9999!important;
    margin: 0px!important;
    width: 50%!important;
    height: 100%!important;
    transition: width 1s ease!important;
    }

html body .view2.zj-specification-body .spec-item.distraction-free, html body .view3.zj-specification-body .spec-item.distraction-free {
    left: 20%!important;
    width: calc(100% - 20%)!important;
    transition: none!important;
}

html body .view3.zj-specification-body .spec-item.distraction-free {
    width: calc(100% - 60%)!important;
}

.zj-specification-body .spec-item.distraction-free.dfFullWidth {
    width: 100%!important;
    right: 0px!important;
    z-index: 9999999999999!important;
    transition: none!important;
}

.zj-specification-item-details.distraction-free {
    position: fixed!important;
    top: 0px!important;
    right: 0px!important;
    bottom: 0px!important;
    z-index: 9999999999999999!important;
    margin: 0px!important;
    width: 50%!important;
    height: 100%!important;
    transition: z-index 0s ease 1s, width 1s ease!important;
}

.view3 .zj-specification-item-details.distraction-free {
    width: 40%!important;
}

.view2 .zj-specification-item-details.distraction-free {
    display: none;
}

.zj-specification-item-details.distraction-free.dfFullWidth {
    /* opacity: 0; */
    /* visibility: hidden; */
    /* width: 0px!important; */
    z-index: 0!important;
    transition-delay: 0s!important;
}

.board-column-edit-option .ds-text {
    padding-left: 0px;
}

.board-column-edit-option .dropdown-selector {
    margin-top: -10px;
}

.board-column-body {
    height: calc(100dvh - 199px);
    padding: 20px 20px;
    overflow-y: overlay;
}

.column-note {
    position: absolute;
    top: 39px;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 8pt;
    /* font-style: italic; */
    width: 100%;
    /* text-align: center; */
    color: var(--primary);
    opacity: 0;
    transition: opacity .3s ease-in-out;
    z-index: 99;
    line-height: 1.1;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.board-column:hover .column-note {
    opacity: 1;
}

.board-column.special-column {
    border: 1px dashed var(--primary);
}

.board-column-edit-option {
    padding-bottom: 20px;
    padding: 20px;
    background-color: var(--background-color);
    border-color: var(--light-border);
    margin-bottom: 10px;
    border-radius: 5px;
}

.board-column-edit-option .btn.btn-outlined, .board-column-edit-option .text-field.with-dropdown:first-child .btn.btn-outlined {
    margin-top: 2px;
    padding-left: 10px!important;
    padding-right: 10px!important;
    /* border: 1px solid var(--light)!important; */
    width: 100%;
    text-align: left;
    background-color: var(--white);
    height: 50px;
    line-height: 50px;
    border: none!important;
}

.board-column-edit-option .btn.btn-outlined, .board-column-edit-option .text-field.with-dropdown:first-child .btn.btn-outlined i {
    line-height: 50px;
}

.board-column-edit-option input {
    background-color: var(--xwhite)!important;
}

.all-items .timelog-day {
    box-shadow: none;
    position: relative;
    color: var(--light-text);
    height: 50px;
    line-height: 50px;
    background-color: var(--background-color)!important;
    margin-bottom: -5px!important;
    border: 1px solid var(--light-border)!important;
}

.all-items .timelog-day, .all-items .timelog-day input {
    font-size: 13px!important;
}

html .timelog-day .bg-image.mini-img {
    margin-right: 0px!important;
    margin-left: 1px!important;
    margin-top: 10px;
    width: 30px!important;
    height: 30px!important;
    vertical-align: top;
    border-radius: 5px;
    background-size: cover;
}

.log-description > div > span {
    height: 50px;
    line-height: 50px;
    width: 100%;
    max-width: calc(100% - 40px);
    padding: 0px 15px;
    display: inline-flex;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

.timelog-day .log-description {
    white-space: nowrap;
    height: 50px;
}

.log-description:hover > div > span {
    background-color: var(--extra-light);
    cursor: text;
    color: var(--primary);
}

.all-items .timelog-day > div {
    border-right: 1px solid var(--border);
}

.all-items .timelog-day > .timelog-times {
    border-right: none;
}

.all-items .timelog-day > div:last-child {
    border-right: none;
}

#usermenu {
    /* max-width: 300px!important; */
    min-width: 300px!important;
    max-height: calc(100dvh - 64px)!important;
    overflow-y: hidden;
    width: 420px!important;
    vertical-align: top;
    /* border-top: 1px solid var(--light-border); */
}

.beta-users {
    margin-top: 40px!important;
}

.btn.edit-btn.distraction-free-button {
    width: auto;
    min-width: 50px;
    padding: 0;
    padding-left: 10px!important;
    padding-right: 10px!important;
    text-align: center;
    line-height: 50px;
    height: 50px!important;
    text-transform: initial;
    font-size: 9.5pt;
    vertical-align: top;
    color: var(--black)!important;
}

.btn.edit-btn.distraction-free-button:nth-child(2) {
    padding-right: 0px!important;
}

.btn.edit-btn.distraction-free-button:nth-child(2) span {
    padding-right: 1px;
}

.btn.edit-btn.distraction-free-button:last-child {
    padding-right: 0px!important;
}

.btn.edit-btn.distraction-free-button.w90 {
    padding: 0px 10px!important;
}

.btn.edit-btn.distraction-free-button span {
    display: inline-block!important;
    float: left;
    padding-right: 7px;
    font-weight: 300;
}

.btn.edit-btn.distraction-free-button:last-child {
    margin-right: 20px!important;
}

.image-priority input {
    margin-bottom: 0px!important;
}

.fb-spec-images .the-image-placeholder {
    min-height: 150px!important;
    max-width: 250px;
    margin: 0px auto 20px!important;
}

.create-new-post {
    width: 100%;
    display: inline-block;
}

.create-new-post i {
    color: var(--light-text)!important;
}

.create-new-post .edit-todo.btn i {
    color: var(--light-text)!important;
}

.create-new-post .edit-todo.btn:hover i {
    color: var(--primary)!important;
}

.spec-item-comments-container .todo-items .show-hide-completed label {
    margin-bottom: 3px;
}

.image-annotations .spec-item-comments-container .todo-items .show-hide-completed label {
    margin-bottom: 0px;
    font-size: 9.5pt;
    padding-left: 34px;
    vertical-align: top;
    line-height: 25px;
}

.spec-item-comments-container .todo-list {
    height: calc(100dvh - 347px);
    padding-top: 75px;
    /* z-index: 99999999; */
    padding-left: 30px;
    padding-right: 30px;
    /* width: calc(100% + 60px); */
    overflow-y: auto;
}

.image-annotations .spec-item-comments-container .todo-list {
    height: calc(100dvh - 265px)!important;
    max-height: unset;
    padding-top: 85px;
}

.distraction-free .spec-item-comments-container .todo-list {
    height: calc(100dvh - 310px);
}

.image-annotations .todo-list.oe .todo-item:first-child {
    padding-top: 0px!important;
}

.spec-item-comments-container .todo-items .show-hide-completed {
    padding: 0px 30px 0px;
    position: absolute;
    bottom: 2px;
    left: 0px;
    right: 0px;
    box-sizing: border-box;
    width: 100%;
    height: 50px;
    line-height: 50px;
}

.image-annotations .spec-item-comments-container .todo-items .show-hide-completed {
    margin-bottom: 0px;
    bottom: 7px;
    display: inline-block;
    position: absolute;
}

.image-annotations .todo-items .show-hide-completed .input-field:nth-child(2n) {
    margin-right: 0px!important;
    text-align: right;
}

.image-annotations .todo-items .show-hide-completed .input-field {
    width: 50%;
    display: block;
    float: left;
    margin-right: 0px!important;
    padding-right: 0px!important;
    height: 25px;
    line-height: 25px;
    vertical-align: top;
    padding: 0px!important;
}

.spec-item-comments-container .todo-items .show-hide-completed .input-field:last-child {
    display: none;
}

.spec-item-comments-container .add-todo .btn.add-ticket-todo {
    display: none;
}

.spec-item-comments-container .ticket-todos .add-todo {
    padding: 0px 30px;
    position: absolute;
    z-index: 999;
}

.spec-item-comments-container .ticket-todos .add-todo textarea {
    /* padding: 10px!important; */
    padding-left: 30px;
    min-height: 80px;
    padding: 15px;
    width: 100%!important;
    border: none!important;
}

.spec-item-comments-container .panel-comments .listings.specs {
    max-width: 780px;
    margin: 0px auto;
}

.mentioned-user {
    font-weight: 500;
    color: var(--primary);
    cursor: pointer;
}

.picker__box {
    background-color: var(--white)!important;
}

.picker__month {
    color: var(--black);
}

.picker__date-display {
    display: none;
}

.picker__table tr {
    background-color: transparent;
}

.picker__day.picker__day--infocus {
    background-color: transparent!important;
}

.picker__day.picker__day--infocus:hover {
    color: var(--primary);
}

body th.picker__weekday {
    background-color: transparent!important;
    background-image: none;
    color: var(--primary)!important;
    border-radius: 0px;
    padding-top: 10px!important;
    padding-bottom: 20px;
}

.picker__select--year.browser-default {
    background-color: var(--extra-light)!important;
    color: var(--black);
    border: none;
    cursor: pointer;
    padding-left: 6px;
}

.picker__day.picker__day--infocus.picker__day--selected.picker__day--highlighted {
    background-color: var(--primary)!important;
    color: var(--awhite)!important;
}

.picker__nav--prev:hover, .picker__nav--next:hover {
    background-color: var(--primary)!important;
    color: var(--awhite)!important;
}

body .picker__box {
    padding: 30px;
    border: none;
}

body .picker__frame {
    max-width: 360px;
    width: 360px;
    margin: 40px auto;
    border: none!important;
    box-shadow: 0px 1px 10px var(--shadow);
}

.picker__header {
    margin-bottom: 20px;
}

body .picker__calendar-container {
    padding: 0px;
}

.picker__nav--prev {
    left: 0px!important;
}

.picker__nav--next {
    right: 0px!important;
}

.picker__table {
    margin-bottom: 0px!important;
}

#timer .timer .time-desc-update input[type=text] {
    border-right: none!important;
}

.spec-cover .the-spec-timeline .sidebar {
    background-color: transparent;
}

.a-post.a-single-post {
    vertical-align: top;
    padding-top: 40px;
    padding-bottom: 40px;
    width: 100%;
    height: calc(100dvh - 66px);
}

.support-page .a-post.a-single-post {
    padding-top: 0px;
    padding-bottom: 0px;
}

.spec-overview-data .a-post.a-single-post {
    padding-top: 0px!important;
    padding-bottom: 0px!important;
    height: auto;
}

.spec-overview-data .a-post.a-single-post .listing-item {
    margin-bottom: 0px!important;
}

.tasks-page .panel-viewer .panel-viewer {
    height: calc(100dvh - 226px);
    overflow-y: overlay;
}

.panel-comments .page-header > ng-include {
    width: 100%;
}

.board-task-meta.board-task-status {
    font-size: 9pt;
    color: var(--light-text);
    /* margin-top: 3px; */
}

.board-action {
    cursor: pointer;
    font-size: 10.5pt;
    padding-bottom: 5px;
}

.board-action:hover, .board-action:hover .btn {
    text-decoration: underline!important;
}

.board-action.selected {
    color: var(--primary);
}

.board-column-edit-option input {
    margin-bottom: 0px!important;
}

.sp-spec {
    max-width: 800px;
    padding: 40px;
    margin: 0px auto;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 40px!important;
    /* margin-top: 20px!important; */
    position: relative;
    box-shadow: 0px 1px 2px var(--shadow);
}

.sp-spec .sp-spec-body {
    padding-bottom: 0px!important;
}

.sp-spec.epic {
    margin-top: 100px;
    /* padding: 0px!important; */
}

.sp-spec.epic .spec-item {
    background-color: transparent!important;
}

.sp-spec-header {
    height: 42px;
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background-color: var(--white);
    padding-left: 30px;
    padding-right: 30px;
}

.sp-spec-header .btn.btn-transparent:last-child {
    float: right;
}

.single-page-spec {
    margin-top: -2px!important;
}

.sp-spec-title {
    font-size: 14pt;
    margin-bottom: 5px;
    color: var(--black);
    cursor: pointer;
}

.sp-spec .spec-item {
    position: relative!important;
    border-right: none!important;
    height: initial!important;
    width: 100%;
}

.sps-search {
    display: inline-block;
}

.sp-spec-body.ql-editor hr, .sp-spec-body.ql-editor pre {
    overflow: hidden;
    max-width: 100%;
}

.sp-spec-body.ql-editor code {
    max-width: 100%;
    display: inline-block;
    white-space: normal;
}

.sp-specs {
    padding-top: 30px;
    padding-bottom: 30px;
    max-height: calc(100dvh - 64px);
    overflow-y: overlay;
}

.single-page-spec .board-action.btn.btn-transparent {
    padding-left: 0px!important;
    width: 45px;
    padding-right: 0px!important;
}

.highlightedText {
    background-color: var(--highlight)!important;
    color: black!important;
}

.view-single-page {
    margin-top: -10px;
    margin-bottom: 10px;
}

.view-single-page a {
    color: var(--black);
    font-size: 9pt;
}

.sps-sidebar li {
    list-style: none!important;
    font-size: 10.5pt;
    margin-bottom: 0px;
    cursor: pointer;
}

.sps-sidebar .indent1 {
    padding-left: 20px!important;
}

.sps-sidebar .indent1:before, 
.sps-sidebar .indent2:before, 
.sps-sidebar .indent3:before, 
.sps-sidebar .indent4:before,
.sps-sidebar .indent5:before,
.sps-sidebar .indent6:before,
.sps-sidebar .indent7:before,
.sps-sidebar .indent8:before,
.sps-sidebar .indent9:before {
    content: ".";
    position: absolute;
    left: 6px;
    font-size: 38px!important;
    line-height: 0px;
    color: var(--warning);
}

.sps-sidebar .indent2:before {
    left: 20px;
}

.sps-sidebar .indent3:before {
    left: 35px;
}

.sps-sidebar .indent4:before {
    left: 55px;
}

.sps-sidebar .indent6:before {
    left: 75px;
}

.sps-sidebar .indent7:before {
    left: 95px;
}

.sps-sidebar .indent5:before {
    left: 60px;
}

.sps-sidebar .indent5:before {
    left: 50px;
}

.sps-sidebar li.epic {
    margin-top: 10px;
    font-family: var(--body-font);
}

.sps-sidebar li:hover {
    color: var(--primary);
}

.sps-sidebar li.ticket {
    padding-left: 23px!important;
    list-style: disc!important;
}

.sps-sidebar li.ticket::before {
    content: ".";
    position: absolute;
    left: 8px;
    font-size: 22px;
    line-height: 15px;
}

.sps-sidebar li.selected {
    color: var(--primary);
}

.sps-sidebar .sidebar-body ul {
    margin-top: 0px;
    margin-bottom: 0px;
    vertical-align: top;
}

.sps-sidebar .sidebar-body ul li:first-child {
    margin-top: 0px;
}

.sp-spec-headline {
    color: var(--primary);
    font-size: 18pt;
    line-height: 24pt;
}

.sp-spec-header-area {
    max-width: 800px;
    margin: 0px auto 20px;
}

.modal-title h5 {
    /* color: var(--primary); */
    /* font-family: var(--body-font)!important; */
    /* font-size: 20px!important; */
    /* font-weight: 500; */
}

.modal-field {
    margin-bottom: 20px;
}

.modal-field:last-child {
    margin-bottom: 0px;
}

.modal-field input {
    background-color: var(--extra-light)!important;
    padding-left: 10px!important;
    border-bottom: 0px!important;
    box-shadow: none!important;
    margin-bottom: 0px!important;
}

.modal-field label {
    margin-bottom: 5px!important;
    font-weight: bold;
    display: inline-block;
    width: 100%;
}

.single-page-spec .cke .cke_wysiwyg_div, .sps-sidebar .cke .cke_wysiwyg_div {
    min-height: 120px;
    background-color: var(--extra-light);
    padding: 10px!important;
    overflow-y: overlay;
    max-height: calc(100dvh - 550px);
}

.sps-sidebar .cke .cke_wysiwyg_div {
    max-height: calc(100dvh - 480px);
}

.sps-sidebar .board-actions .btn:first-child {
    padding-left: 0px!important;
    text-align: left;
}

.btn.selectVersion {
    float: left;
}

.sps-sidebar .board-actions li {
    line-height: 1.5!important;
    height: 60px!important;
}

.sps-sidebar .board-actions .dropdown-content li {
    padding-left: 10px!important;
    padding-right: 10px!important;
    padding: 10px 20px!important;
}

.sps-sidebar .sp-version-name {
    color: var(--black);
    font-size: 10pt;
    display: inline-block;
    width: 100%;
    margin-bottom: -7px;
}

.sps-sidebar .sp-version-date {
    color: var(--light-text);
    font-size: 8.5pt;
    display: inline-block;
    width: auto;
}

li .badge {
    font-size: 9pt!important;
    line-height: 28px!important;
    color: var(--primary)!important;
}

.version-selector .badge {
    background-color: var(--extra-light);
    border-radius: 6px;
    height: 20px;
    width: 20px!important;
    max-width: 20px!important;
    min-width: 20px;
    font-size: 8pt!important;
    line-height: 20px!important;
    padding: 0px!important;
    margin-left: 0px!important;
    margin-top: -1px;
}

.btn.btn-transparent.selectVersion {
    max-width: calc(100% - 20px - 45px);
    font-size: 10pt;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    line-height: 45px;
    position: relative;
    height: 45px;
    border-bottom: none!important;
}

.btn.btn-transparent.selectVersion.selected, 
.btn.btn-transparent.selectVersion.selected i, 
.btn.btn-transparent.selectVersion.selected:hover i {
    color: var(--warning)!important;
}

.btn.btn-transparent.selectVersion i {
    position: absolute;
    right: -6px;
}

.view-release-notes:hover {
    color: var(--primary);
    cursor: pointer;
}

.view-release-notes {
    margin-right: 5px;
    margin-left: 5px;
}

.view-release-notes.selected {
    color: var(--primary);
}

.sp-spec-title .badge {
    background-color: var(--extra-light);
    width: 28px;
    height: 28px;
    line-height: 28px;
    text-align: center;
    padding: 0px!important;
    border-radius: 0px 10px 0px 10px;
    color: var(--primary);
    font-weight: 500;
    margin-left: 0px;
    position: absolute;
    right: 0px;
    top: 0px;
}

.spec-meta-item.warning {
    color: var(--warning);
    vertical-align: middle;
    cursor: pointer;
}

.spec-meta-item.warning:hover {
    text-decoration: underline;
}

.sp-spec-top-title {
    text-transform: uppercase;
    font-size: 9pt!important;
    color: var(--good);
}

.view-more-search-results {
    color: var(--black);
    cursor: pointer;
    text-align: center;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9.5pt;
    border-radius: var(--border-radius-tiny);
    background-color: var(--background-color);
    margin-top: 0px;
    margin-bottom: 20px;
    height: 40px;
    line-height: 40px;
    color: var(--primary);
}

.view-more-search-results:hover {
    background-color: var(--primary)!important;
    color: var(--awhite);
}

.view-more-search-results:hover i {
    color: var(--awhite);
}

.view-more-search-results i {
    margin-right: 5px;
    font-size: 15pt;
    color: var(--primary);
}

.panel-comments .see-more-posts.view-more-search-results {
    margin-bottom: 30px!important;
    margin-top: 0px;
}

.view-more-search-results:hover {
    text-decoration: none!important;
    background-color: var(--light);
}

.view-more-search-results:hover {
    text-decoration: underline;
}

.sidebar-title .s-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: top;
    font-size: 12pt;
    line-height: 30px;
}

.sidebar-title .s-back {
    font-size: 9pt;
    color: var(--black);
    line-height: 9px;
    font-weight: 100;
    margin-top: -4px;
}

.sp-view-diff:hover, .sp-view-diff.selected {
    color: var(--primary);
}

rich-text-diff.compare-descriptions.sp-spec-body.ql-editor {
    max-height: unset;
    padding: 15px 0px 0px;
}

.sp-mesesage {
    text-align: center;
    padding: 30px;
    width: auto;
    display: block;
    margin: 0px auto;
    font-size: 10pt;
}

.sp-version-name .badge {
    width: auto!important;
    min-width: 0px!important;
    margin-left: 0px!important;
    line-height: 22px!important;
    padding: 0px;
    padding-left: 5px;
}

.sp-change-synopsis > div {
    display: inline-block;
    padding-right: 10px;
}

.spec-item-actions {
    position: absolute;
    top: 0px;
    right: -45px;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity .4s ease-in-out;
    padding-bottom: 30px;
}

.spec-item-action {
    width: 45px;
    height: 45px;
    line-height: 45px;
    cursor: pointer;
}

.spec-item-action:hover i, .spec-item-action.selected i {
    color: var(--primary);
}

.spec-item-action:hover {
    color: var(--primary);
}

.spec-item-action i {
    line-height: 45px;
    font-size: 15pt;
}

.add-tags textarea {
    background-color: var(--extra-light);
    width: 100%;
    min-width: 100%!important;
    max-width: 100%!important;
    padding: 20px;
    border: none;
    outline: none!important;
    display: inline-block;
    margin-bottom: 0px!important;
    padding: 10px 20px!important;
    box-sizing: border-box!important;
    border-bottom: none!important;
}

.sp-spec-section {width: 100%;}

.add-tags input {
    margin-bottom: 0px!important;
    width: auto!important;
    min-width: 50px;
    border-bottom: none!important;
}

body .sp-spec-section .spec-item .cke .cke_contents {
    height: unset!important;
}

.sp-spec-section .posts-create {
    min-width: 100%;
    margin-top: 30px;
}

.zj-sl-outline-buttons a:hover i {
    color: var(--awhite);
}

.project-todo-description > .listing-actions.row {
    margin-top: 20px!important;
}

.zj-epics-and-stories .zj-search-bar {
    padding-left: 0px;
    padding-right: 0px;
}

.show-jira-options > .project-type {
    width: calc(33% - 13px);
    margin-right: 20px;
}

.color-primary, .color-primary i {
    color: var(--primary)!important;
}

.color-highlight, .color-highlight i {
    color: var(--highlight)!important;
}

.color-icon, .color-icon i {
    color: var(--icon-color)!important;
}

.search-result-item {
    font-size: 10pt;
}

.filterz {
    width: 100%;
    display: inline-block;
    margin-bottom: 0px;
    position: absolute;
    bottom: 0px;
    background-color: var(--white);
    padding-top: 15px;
    padding-bottom: 0px;
    left: 0px;
    right: 0px;
    border-top: 1px solid var(--light-border);
    z-index: 9999999999999;
}

.filterz .btn.selected {
    border-bottom: none!important;
}

.filterz h6 {
    padding-left: 20px;
    padding-top: 3px;
    padding-bottom: 7px;
    font-weight: 500;
    font-size: 10pt;
    width: auto;
}

.selected i {
    color: var(--primary);
}

.schedules .schedule-wrapper {
    padding: 40px;
}

.a-schedule-item {
    position: relative;
    line-height: 50px;
    height: 50px;
}

.a-schedule-item:hover, .a-schedule-item.selected {
    color: var(--primary);
}

.a-schedule-item .item-name {
    cursor: pointer;
}

.delete-list-item {
    position: absolute;
    right: 0px;
    top: 3px;
    cursor: pointer;
    opacity: 0;
    transition: opacity .4s ease-in-out;
}

.a-schedule-item:hover .delete-list-item {
    opacity: 1;
}

.delete-list-item i {
    font-size: 14pt;
}

.post-meta {
    font-size: 10pt;
    margin-top: 1px;
    margin-right: 6px;
    color: var(--light-text);
    cursor: pointer;
}

.post-meta:hover {
    color: var(--primary);
}

.post-meta-items {
    padding: 10px 0px 20px;
}

.todo-footer .post-meta-items {
    padding: 5px 0px 0px;
}

.spec-item-dw.dropdown-wrapper {
    display: inline-block;
    max-height: 50px;
    padding-left: 0px;
    vertical-align: bottom;
}

.spec-item-dw.dropdown-wrapper .ds-text {
    padding-left: 5px;
}

.meta-panel .spec-item-dw.dropdown-wrapper .ds-text {
    padding-left: 0px;
}

.spec-item-dw.dropdown-wrapper .text-field .btn.btn-transparent, .spec-item-dw.dropdown-wrapper .text-field .btn.btn-transparent i {
    color: var(--black)!important;
    vertical-align: middle;
}

.spec-item-dw.dropdown-wrapper .text-field .btn.btn-transparent:hover, 
.spec-item-dw.dropdown-wrapper .text-field .btn.btn-transparent:hover .ds-text, 
.spec-item-dw.dropdown-wrapper .text-field .btn.btn-transparent:hover .ds-text i {
    color: var(--primary)!important;
    background-color: transparent!important;
}

.spec-item-dw.dropdown-wrapper .text-field.with-dropdown {
    display: inline-block;
    height: 50px;
    line-height: 50px;
    vertical-align: top;
}

.spec-item-dw .search-user-picker {
    display: inline-block;
    bottom: 5px;
    z-index: 9999;
    position: absolute;
    min-width: 199px;
    left: 0px;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0px 1px 2px var(--shadow);
    height: 45px;
}

.spec-item-dw .dropdown-selector.active .search-user-picker {
    opacity: 1;
    visibility: visible;
}

.spec-item-dw ul#assignees {
    bottom: 45px!important;
    top: unset!important;
    -webkit-mask-position: inherit!important;
    height: 100%;
    min-height: 200px;
}

.filter-message {
    font-size: 9pt;
    color: var(--primary);
    margin-bottom: 15px;
}

.filter-message .mbutton {padding-right: 9px;}

.filter-message .mbutton i {
    font-size: 13pt;
    line-height: 6pt;
    vertical-align: middle;
    cursor: pointer;
}

.project-header #projectSection {
    left: -100%!important;
    transition: all .5s ease-in-out!important;
    display: block!important;
    position: absolute!important;
    top: 0px!important;
    }

.project-header #projectSection.active {
    left: 0px!important;
border-radius: 0px!important;}

.project-menu-items li {
    font-family: var(--body-font);
}

i.material-icons.spinner {
    animation: matspin 1s linear infinite;
    color: var(--primary);
}

@keyframes matspin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

#usermenu .selected a, #usermenu .selected:hover a {
    color: var(--primary)!important;
}

.nav-dropdown .timer-container {
    padding: 0px 30px 0px;
}

.time-desc-update {
    width: calc(100% - 50px);
    display: inline-block;
    float: left;
    background-color: var(--extra-light)!important;
    border-radius: 5px 0px 0px 5px!important;
    overflow: hidden;
    height: 50px;
    border-right: 1px solid var(--light-border);
}

.activetimer .time-desc-update {
    width: calc(100% - 140px);
}

#activeTimer .time-desc-update {
    width: calc(100% - 140px);
}

.activetimer .time-desc-update {
    width: calc(100% - 190px);
}

.timeractive .time-desc-update {
    width: calc(100% - 100px);
}

.ts-container .settings-section-header {
    margin-bottom: 30px;
}

.att-setting {
    margin-bottom: 20px;
    display: inline-block;
    width: 100%;
}

.att-setting:last-child {
    margin-bottom: 0px;
}

.ts-container h6 {
    font-size: 14pt;
    margin-bottom: 20px;
}

.att-settings {
    margin-bottom: 20px;
    display: inline-block;
    width: 100%;
}

body .modal {
    background-color: var(--white);
}

.modal .modal-footer a:hover {
    color: var(--primary)!important;
}

.the-timelogs-page .all-items {
    max-width: 1080px;
    margin: 0px auto;
}

.the-timelogs-page .page-body {
    height: calc(100dvh - 66px);
    overflow-y: overlay;
    padding-top: 30px!important;
    padding-bottom: 30px!important;
    padding: 30px 50px!important;
}

.the-timelog-meta-details.text-field .dropdown-option {
    margin-bottom: 1px;
    margin-top: -1px;
    user-select: unset!important;
}

.the-timelog-meta-details.text-field .dropdown-option:first-child {
    border-radius: 0px 0px 0px 10px!important;
    overflow: hidden;
}

.the-timelog-meta-details.text-field .dropdown-option:last-child {
    border-radius: 0px 0px 10px 0px;
    overflow: hidden;
}

.the-timelog-meta-details.text-field > .dropdown-option {
    display: inline-block;
    width: 50%;
    float: left;
    vertical-align: top;
    border-right: 1px solid transparent;
}

.the-timelog-meta-details.text-field > .dropdown-option:last-child {
    border-right: none;
}

.the-timelog-meta-details.text-field .dropdown-option .search {
    position: relative;
}

.the-timelog-meta-details.text-field .dropdown-option .selected {
    background-color: var(--light)!important;
    border-radius: 10px 10px 0px 0px;
}

.the-timelog-meta-details.text-field .dropdown-option .dropdown-contentt {
    border-radius: 0px 0px 10px 10px;
    box-shadow: 0px 1px 2px var(--shadow);
}

.the-timelog-meta-details.text-field .dropdown-option .dropdown-selector {
    /* background-color: var(--extra-light); */
    user-select: text!important;
    border-radius: 0px;
}

.the-timelog-day .title {
    margin-bottom: 10px;
    color: var(--black);
}

.add-new-timelog input {
    margin-bottom: 10px!important;
}

.timelog-descriptions {
    text-align: left!important;
}

html body .timelog-day > .col input, html body .timelog-day > .col .the-time {
    height: 50px!important;
    margin-bottom: 0px!important;
    line-height: 50px;
    padding: 0px 15px;
    display: inline-block;
    float: left;
}

html body .timelog-day > .col input:hover, html body .timelog-day > .col .the-time:hover {
    background-color: var(--extra-light)!important;
}

html body .timelog-day > .col .the-time {
    width: 100%;
}

.timelog-details h6 {
    margin-bottom: 15px;
    color: var(--primary);
}

.timelog-duration {
    float: right;
    margin-right: 0px!important;
    height: 20px;
    line-height: 22px;
}

.worklog-created-time {
    /* color: var(--light-text); */
    /* font-size: 8.5pt; */
    padding-left: 3px;
    float: right;
}

nav .timelog-summary {
    font-size: 9pt;
}

body .timelog-user-picker .btn.btn-transparent.add-user-dropdown {
    position: relative;
    width: 100%;
    text-align: left;
    padding-right: 0px!important;
    background: var(--background-color)!important;
    padding-left: 20px!important;
    color: var(--black)!important;
    text-transform: initial;
    height: 50px;
    line-height: 50px;
    padding-right: 20px!important;
    border-radius: 5px!important;
}

body .timelog-user-picker .btn.add-user-dropdown:hover {
    background-color: var(--light)!important;
    text-decoration: none;
}

.add-user-dropdown i.right {
    padding-right: 10px!important;
    text-align: right;
    margin-left: 0px;
    color: var(--black)!important;
}

nav .task-list-task {
    font-size: 10pt;
}

.the-task-metaa {
    font-size: 9pt;
    /* font-style: italic; */
    color: var(--light-text);
}

.task-status {
    text-align: right;
}

.task-list-wrapper {
    height: calc(100dvh - 188px);
    overflow-y: auto;
    overflow-y: overlay;
    max-width: 100%;
    overflow-x: hidden;
    padding: 0 0 20px!important;
    background-color: var(--light-white);
}

.dark .task-list-wrapper {
    /* background-color: var(--extra-light); */
}

.dark .task-list-wrapper {
    /* background-color: var(--white); */
}

.dialog-body {
    border-radius: 10px;
}

.add-resource .search-user-picker input {
    height: 50px;
}

.a-stat {
    padding: 10px 20px;
    background-color: var(--extra-light);
    margin-bottom: -5px;
    display: inline-block;
    width: 100%;
}

.astat-data.updated {
    color: var(--light-text);
    font-size: 10pt;
    float: left;
}

.astat-data {
    display: inline-block;
    padding-right: 20px;
    font-size: 10pt;
}

.stat-widget {
    max-width: 50%;
}

.astat-data.total.ng-binding {
    float: right;
}

.btn.edit-btn.more-things {
    float: left;
}

.favorite-spec-item .name {
    font-size: 10pt;
    /* padding-bottom: 10px; */
    cursor: pointer;
    padding: 1px 0px;
    /* background-color: var(--extra-light); */
    /* border: 1px solid var(--border); */
    /* border-radius: 5px; */
    /* margin-bottom: -9px; */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.favorite-spec-item:hover {background-color: var(--extra-light);cursor: pointer;color: var(--primary);}

.main-nav-dd i {
    margin-left: 5px!important;
    margin-right: -10px;
}

.main-nav-dd.selected i {
    color: var(--primary);
}

.btn.bulk-edit.btn-transparent.board-action {
    /* width: 45px; */
    /* float: right; */
    vertical-align: bottom;
    /* margin-right: 10px; */
    line-height: 50px;
    height: 50px;
    /* padding-right: 10px!important; */
    text-decoration: none!important;
}

.btn.bulk-edit.btn-transparent.board-action i {
    /* font-size: 12pt; */
    line-height: 50px;
    float: left;
    padding-right: 5px;
}

.btn.selected i {
    color: var(--primary);
}

.status[title="In QA"] {
    color: var(--review);
}

li.cs-picker {
    list-style: none;
    line-height: 50px;
    /* margin-bottom: 2px; */
}

.change-sort .cs-picker i {
    padding-left: 4px;
    margin-right: 5px;
}

li.cs-picker a {
    /* color: var(--black); */
    line-height: 50px;
    text-decoration: none;
    user-select: none;
    text-transform: uppercase;
}

li.cs-picker a i {
    line-height: 50px;
    margin-left: 3px!important;
}

.change-sort, .change-columns {
    vertical-align: bottom;
    display: inline-block;
}

.change-columns .settings-panel {max-width: 260px;}

.edit-mode .change-columns .settings-panel {
    margin-right: -50px;
}

.change-sort .btn {
    padding-right: 0px!important;
}

.favorite-spec-item {
    margin-left: -20px;
    margin-right: -20px;
    padding: 0px 30px!important;
    height: 50px!important;
    line-height: 50px!important;
    list-style: disc;
    margin-left: 0px;
    position: relative;
    width: 100%;
}

.favorite-spec-item .name span {
    color: var(--black)!important;
}

.favorite-spec-item:hover .name span {
    color: inherit!important;
}

.favorite-spec-item .status {
    font-size: 8pt;
    color: var(--light-text);
}

.favorite-spec-item::before {
    left: 30px;
    font-size: 21px;
    line-height: 40px;
    margin-top: 2px;
}

body .favorite-specs.row {
    margin-bottom: 30px!important;
    margin-top: 18px!important;
    padding-top: 0px;
}

.drop-placeholder {
    background-color: var(--primary);
}

.ui-sortable-placeholder {
    width: 100%;
    min-height: 50px;
    visibility: visible!important;
}

.the-spec-prioritty {
    padding-left: 10px;
    font-size: 8pt;
    color: var(--light-text);
    visibility: hidden;
}

.close-project-creator {
    position: fixed;
    right: 50px;
    top: 105px;
    cursor: pointer;
    width: 45px;
    height: 45px;
    line-height: 45px;
}

.project-quick-creator .close-project-creator {
    display: none;
}

.project-quick-creator .close-project-creator {
    right: 25px;
    top: 95px;
}

.project-quick-creator .close-project-creator i {
    font-size: 16pt;
}

.back-to-type-selector {
    position: fixed;
    left: 40px;
    top: 100px;
    cursor: pointer;
    width: 45px;
    height: 45px;
    line-height: 45px;
}

.back-to-type-selector:hover i, .close-project-creator:hover i {
    color: var(--primary);
}

.board-filter {
    padding: 10px 20px;
    margin-left: -20px;
    margin-right: -20px;
    font-size: 9pt;
    cursor: pointer;
}

.board-filter:hover {
    background-color: var(--extra-light);
}

.board-sidebar .s-title {
    padding-top: 1px;
}

.li-action.favorite-spec {
    float: right;
    display: inline-block;
}

.board-selector .test {
    display: inline-block;
    font-size: var(--font-size);
}

body nav ul li.btn {
    background-color: transparent!important;
}

nav ul li.btn:hover {
    background-color: transparent!important;
}

nav ul li:hover i {
    color: var(--primary)!important;
}

nav ul li:hover > span {
    /* background-color: var(--primary); */
    /* color: var(--awhite); */
}

nav ul li:hover span.bg-image, nav ul li.user-menu:hover span {
    background-color: transparent!important;
    color: var(--primary)!important;
}

.project-menu-items li.selected a {
    color: var(--primary)!important;
}

.project-menu-items li.selected a:hover {
    color: var(--black)!important;
}

.profile-user-meta i {
    color: var(--awhite);
}

.todo-summary-message-content ul {
    padding-left: 20px!important;
}

.notification-thread .item .todo-summary-message-content {
    background-color: var(--extra-light);
    /* white-space: break-spaces!important; */
    transition: background-color .3s ease-in-out;
    color: var(--black);
}

.dark .notification-thread .item .todo-summary-message-content {
    background-color: var(--extra-light);
}

.mail-notification-summary {
    padding-top: 3px;
}

.mail-notif-subject {
    font-weight: 500;
    color: var(--black);
    margin-bottom: 2px;
}

.mail-notif-preview {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--light-text);
    font-size: 11px;
    line-height: 1.5;
}

.text-field.with-dropdown[title="Version"] {
    padding-left: 10px;
}

.zj-sf-filter.archived {
    /* padding-top: 10px; */
    /* position: absolute; */
    /* left: 0px; */
    /* bottom: -25px; */
    /* width: auto!important; */
}

.zj-sf-filter.archived label span {
    cursor: pointer;
}

.zj-sf-filter.archived label span:hover {
    color: var(--primary);
}

.zj-sf-filter.archived label {
    font-size: 9.5pt;
    color: var(--black);
}

.todo-summary-message-content.ql-editor a:hover {
    background-color: transparent!important;
    text-decoration: underline!important;
}

.version-btn .current-version {
    /* display: inline-block; */
    /* width: 100%; */
    /* min-width: 100px; */
    max-width: 150px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    text-transform: none;
    line-height: 50px;
    font-size: 10pt;
}

.split-row .text-field:first-child {
    padding-right: 10px!important;
    border-right: 1px solid var(--light-border);
}

.create-new-item {
    font-size: 10pt;
    color: var(--primary);
    cursor: pointer;
    padding-bottom: 10px;
    padding-top: 5px;
}

.create-new-item:hover {
    text-decoration: underline;
}

.timeline-content a img {
    max-height: 320px;
    margin: 0px auto;
    display: block;
    width: auto;
}

.timeline-content.image.deleted img {opacity: .5;}

.zj-sl-epic-ticket a {
    padding: 2px 0px!important;
    display: inline-block;
    width: calc(100% - 10px);
}

.border-column-title {
    padding-left: 20px;
    padding-right: 20px;
    font-weight: 500;
}

li.zj-sl-epic-ticket {
    line-height: 18px;
    padding-bottom: 1px;
}

.csv-description.ql-editor {
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 0px;
    padding-bottom: 0px;
}

.export-csv {
    text-decoration: underline;
    padding-left: 5px;
    cursor: pointer;
}

.dnt {
    font-size: 10pt;
    color: var(--light-text);
    /* padding: 5px; */
    /* border: 1px solid var(--border); */
    padding-bottom: 3px;
    /* display: inline-block; */
}

.project-outline-meta {
    font-size: 14px!important;
    line-height: 25px;
}

.project-outline-meta .search-deeper {
    padding: 10px 30px;
}

.project-outline-meta .search-deeper .app-loading-spinner {
    width: 25px;
    height: 25px;
}

.advanced-search-options-wrapper {
    padding: 0 30px 30px;
    text-align: center;
    color: var(--light-text);
    font-size: 11px;
}

.project-outline-meta .advanced-search-options {
    margin-left: -30px;
    margin-right: -30px;
}

.ask-intelligence-row {display: flex;background-color: var(--bgc);border-radius: var(--border-radius-tiny);overflow: hidden;}

.advanced-search-option-or {
    margin-bottom: 10px;
    margin-top: 10px;
}

.ask-intelligence-row .btn {
    margin-bottom: 0!important;
    max-width: 50px;
    border: none!important;
    border-left: 1px solid var(--white)!important;
    border-radius: 0!important;
}

.ask-intelligence-row input {
    background-color: var(--bgc)!important;
    padding: 0 15px!important;
    color: var(--black);
    height: 50px!important;
    line-height: 50px!important;
}

.search-results-header {
    padding-left: 30px;
    font-size: 11px;
    text-transform: uppercase;
    margin-top: 40px;
    color: var(--light-text);
    border-top: 1px solid var(--light-border);
    padding-top: 20px;
}

.project-outline-items .search-results {
    margin: 0 -30px;
}

.search-results .search-images-and-files {
    height: 50px;
    text-align: center;
    padding: 0!important;
    line-height: 50px;
    border-top: 1px solid var(--light-border);
    border-bottom: 1px solid var(--light-border);
    margin-bottom: 40px;
    width: 100%;
    /* The page's text colour at rest; the .ai-button fill turns it white on hover. */
    color: var(--black)!important;
    cursor: pointer;
}

.search-results .search-images-and-files:hover {
    background-color: var(--hover-item)!important;
}

.project-outline-items .search-results .project-outline-item:hover .open-right {
    background-color: var(--background-color);
    top: 9px;
}

.project-outline-items .search-results .project-outline-item {
    padding: 10px 30px!important;
}

.project-outline-items .search-results .project-outline-item.selected {
    background-color: var(--bgc);
}

.project-outline-items .search-results .project-outline-item.selected .search-snippet {
    color: var(--black);
}

.project-outline-items .search-results .project-outline-item:hover {
    background-color: var(--bgc);
    color: var(--black)!important;
}

.project-outline-items .search-results .project-outline-item:hover > * {
    color: var(--black);
}

.indent0 {font-weight: 500;}

.sps-sidebar .indent0 {
    margin-top: 7px;
    margin-bottom: 0px;
}

.board-task-meta {
    color: var(--light-text);
    font-size: 9pt;
    transition: color .14s ease-in-out;
    padding-bottom: 0px;
    width: 100%;
    display: inline-block;
    padding-top: 0px;
    vertical-align: top;
    height: 20px;
    line-height: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.board-task-meta .meta-property {
    padding-right: 3px;
}

.board-task-meta img {
    max-width: 20px;
    padding-left: 2px;
    padding-right: 4px;
    margin-right: 4px;
    max-height: 20px;
    line-height: 20px;
    vertical-align: middle;
}

.selected .board-task-meta {
    /* color: var(--awhite); */
}

.board-closed-items .closed-items {
    max-width: 960px;
    margin: 0px auto;
    background-color: var(--xwhite);
    /* padding: 30px; */
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 10px;
    box-shadow: 0px 1px 2px var(--border);
}

.header-title {
    font-size: 14pt;
    padding-bottom: 10px;
    color: var(--primary);
    padding: 30px;
}

.closed-item {
    padding: 10px 20px;
    /* background-color: var(--extra-light); */
    cursor: pointer;
    font-size: 9.5pt;
}

.closed-item:hover {
    background-color: var(--hover-item);
}

.board-closed-items {
    padding-bottom: 30px;
}

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

.task-activity .timeline-item {
    padding: 10px 20px;
    margin-top: 1px;
    margin-bottom: 0px;
    box-shadow: none;
}

.panel-viewer .task-activity .timeline-item {
    background-color: var(--background-color)!important;
    border-radius: var(--border-radius-tiny);
}

.task-activity-header {
    text-transform: capitalize;
    margin-bottom: 5px;
    width: 100%;
    color: var(--light-text);
    text-transform: uppercase;
    font-size: 9pt;
    line-height: 15pt;
    padding-left: 30px;
    margin-top: 20px;
}

.task-meta-data {
    color: var(--light-text);
    padding-top: 2px;
}

li.sp-spec-listing {
    line-height: 24px;
    padding-top: 3px;
    padding-bottom: 3px;
}

ul#specVersions {
    max-width: 400px!important;
    left: 0px!important;
}

.menuu {
    z-index: 999;
    /* background-color: var(--white); */
    /* border-radius: 10px; */
    /* padding: 20px; */
    display: none;
    /* overflow: hidden; */
}

.menuu.open {
    display: block;
}

.menuu li {
    height: 45px;
    line-height: 45px;
    padding: 0px 20px;
    color: var(--black);
    cursor: pointer!important;
}

.menuu li:hover {
    background-color: var(--extra-light);
    text-decoration: none!important;
}

.menuu li:hover a {
    text-decoration: none;
}

.the-menuu {
    margin-top: 0px!important;
    margin-bottom: 0px!important;
    box-shadow: 0px 1px 3px var(--shadow)!important;
    background-color: var(--xwhite);
    border-radius: 10px!important;
    overflow-y: overlay;
    max-height: 40vh;
    font-size: 9.5pt;
}

.the-menuu.sub-menuu li:first-child {
    border-bottom: 1px solid var(--light);
}

.top-nav-sub {
    border-radius: 0px 0px 10px 10px;
}

.closed-items-header {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 10px;
    text-transform: uppercase;
    font-size: 10pt;
    color: var(--light-text);
}

.text-field.with-dropdown ul li.dropdown-searcherr input {
    padding-left: 20px!important;
}

.edit-profile-button .btn {padding-left: 0px!important;padding-top: 7px;margin-bottom: 15px;float: right;text-transform: inherit;letter-spacing: normal;}

.edit-profile .edit-profile-button .btn {
    margin-bottom: 0px;
    letter-spacing: normal;
}

.edit-profile .edit-profile-button .btn:first-child {
    padding-right: 0px!important;
}

.edit-profile-button .btn i {
    color: var(--primary);
}

html body .notification-enhancement {
    background-color: var(--background-color);
    padding: 10px!important;
    border-radius: var(--border-radius-tiny);
    max-height: 300px!important;
    overflow-y: overlay!important;
    /* margin-top: 3px; */
    /* margin-bottom: 3px; */
    text-align: left;
    }

nav #nav-mobile a.button-collapse {
    text-decoration: none;
}

.plsubnav-item {
    display: inline-block;
    float: left;
    width: 33%;
    margin: 0px;
    border-bottom: 1px solid var(--border);
    margin-right: 0px;
    /* background-color: var(--extra-light); */
    /* padding: 8px 0px; */
    height: 32px;
    line-height: 32px;
    text-align: center;
    cursor: pointer;
    font-size: 9.5pt;
}

.plsubnav-item:last-child {
    margin-right: 0px;
    /* border-radius: 0px 5px 5px 0px; */
}

.plsubnav-item:hover {
    /* background-color: var(--light); */
    color: var(--primary);
}

.plsubnav-item.selected {
    color: var(--primary);
    /* border-bottom: 1px solid var(--primary)!important; */
}

.plsubnav-item.selected:hover {
    color: var(--primary);
}

.project-list-subnav.show-on-small {
    /* margin-bottom: 24px; */
    margin-top: 2px;
    margin-left: 20px;
    margin-right: 20px;
    display: flex!important;
    width: calc(100% - 40px);
    /* border-radius: 130px; */
    /* overflow: hidden; */
}

.spec-outline-stats {
    padding-left: 0px;
    font-size: 12px;
    color: var(--light-text);
}

nav .todo-summary-summary {
    line-height: 22px;
}

.edit-profile .edit-profile-button {
    display: inline-block;
    float: right;
}

html body .dropdown-content .ql-editor li:hover {
    background-color: transparent!important;
}

.settings-sidebar .form-field .dropdown-select {
    background-color: var(--light)!important;
    display: inline-block;
    width: 100%;
    margin-top: 0px;
    cursor: pointer;
}

.settings-sidebar .form-field .dropdown-select label {
    color: var(--awhite);
    cursor: pointer;
    padding-left: 15px!important;
}

.settings-sidebar input {
    margin-bottom: 15px!important;
}

.sidebar-body.settings-sidebar {
    height: calc(100dvh - 124px);
    padding-bottom: 70px;
}

.project-perms .label {
    margin-bottom: 0px;
    font-size: 15px;
    font-weight: 500;
}

.general-settings .label {
    /* color: var(--primary); */
    /* text-transform: uppercase; */
}

.project-settings .card {
    padding: 40px;
    width: 100%;
    margin: 0;
}

.page-users.card .col.s3 .btn i {
    line-height: normal;
}

.card.visibility-card {
    margin-bottom: 5px;
}

.project-settings .card .card {
    padding: 0;
    box-shadow: none!important;
    /* border: 1px solid var(--light-border); */
}

.project-settings .card .card h5 {
    font-size: 17px;
    font-weight: 500;
}

.project-boards {
    position: absolute;
    top: 64px;
    right: 0px;
    width: 82%;
    padding-top: 20px;
    padding-bottom: 20px;
    height: calc(100dvh - 64px);
    overflow-y: overlay;
}

.the-body-section > .spec-cover > .boards {
    position: absolute;
    right: 0px;
    top: 64px;
    width: 82%;
}

.board-wrapper .loading-message {
    position: absolute;
    width: 82%;
    right: 0px;
    top: 64px;
}

.board-wrapper .loading-message {
    position: absolute;
    right: 0px;
    top: 64px;
    width: 82%;
    display: inline-block;
}

.boards .loading-message {
    width: 100%!important;
    position: absolute;
    right: 0px;
    top: 0px;
    text-align: center;
    /* height: calc(100dvh - 64px); */
    line-height: calc(100dvh - 64px);
}

.btn.btn-transparent.item-status.dropdown-selector {
    padding-left: 0px!important;
}

.item-status .task-field-spinner,
.item-assignee .task-field-spinner {
    opacity: 0.65;
}

.spec-item-dw.dropdown-wrapper .text-field .btn.btn-transparent.item-status .task-field-spinner,
.spec-item-dw.dropdown-wrapper .text-field .btn.btn-transparent.item-assignee .task-field-spinner {
    opacity: 1;
}

.bc-edit-column .btn.btn-transparent.dropdown-selector {
    font-size: 10pt;
}

.tasks-page-wrapper {
    margin-top: -2px!important;
}

.board-closed-items .header-title {
    max-width: 960px;
    margin: 0px auto;
    padding-top: 0px;
    padding-left: 20px;
    padding-bottom: 20px;
}

.board-closed-items .closed-items-header {
    max-width: 960px;
    margin: 0px auto!important;
    float: none!important;
    display: block;
}

nav .dropdown-content {
    -webkit-mask-image: none!important;
    mask-image: none!important;
}

.show-kickoff-todos {
    padding-top: 10px;
    padding-left: 30px;
}

.project-posts.product-posts {
    margin-top: -2px!important;
}

.schedules {
    margin-top: -2px!important;
}

.settings.account > .row {
    margin-top: -2px!important;
}

.timeline-page > .row {
    margin-top: -2px!important;
}

.settings > .row {
    margin-top: -2px!important;
}

nav .ql-editor ul p, nav .ql-editor ol p {
    margin-bottom: 0px!important;
    line-height: 1.5!important;
}

.the-todo-summary {
    /* white-space: inherit; */
    /* font-size: 12px!important; */
    /* line-height: 18px!important; */
    display: inline-block;
    /* padding: 10px 0 0!important; */
    width: 100%;
    font-size: 13px;
}

.the-todo-summary img {
    width: auto!important;
    margin-top: 10px;
    margin-bottom: 5px;
}

.profile-page .the-todo-summary {
    /* font-size: 14px; */
    /* font-weight: 400; */
    color: var(--light-text);
}

.profile-todo-items .the-todo-summary {
    padding-bottom: 0px!important;
    /* white-space: initial; */
    display: inline-block;
    width: 100%;
    /* font-size: 10pt; */
    /* line-height: 16pt; */
    color: var(--black);
    /* line-height: 18px; */
}

.profile-page .profile-todo-items .the-todo-summary {
    padding-top: 0px!important;
}

.nav-todos-list-container .the-todo-summary {
    padding-top: 0px!important;
    padding-bottom: 5px;
}

nav .profile-todo-items .the-todo-summary a {
    font-size: 12px;
    color: var(--primary);
    padding: 0px;
}

.profile-todo-items .the-project-item-name {
    font-size: 9pt;
    /* padding-left: 5px; */
    /* font-style: italic; */
    color: var(--light-text);
    margin-top: -2px;
    text-transform: uppercase;
    font-size: 10px;
}

nav .the-project-item-name {
    display: none;
}

.zj-sl-outline-buttons > .s4 {
    background-color: var(--white);
}

.spec-settings-editor .card {
    max-width: 620px;
    margin: 10vh auto 0vh;
}

.spec-settings-editor .card .form-field {
    padding-right: 0px!important;
}

.pi-meta .size {
    color: var(--light-text);
    font-size: 9pt;
}

.project-details .close-settings-modal.btn {
    padding-right: 0px!important;
    margin-right: 0px!important;
}

.projects-perms-dialog .project-details .close-settings-modal.btn {
    padding: 0px!important;
    width: 50px;
}

.component-add-new input {
    width: calc(100% - 90px)!important;
    display: inline-block;
    float: left;
    padding-left: 15px!important;
    padding-right: 15px!important;
    margin-bottom: 0px!important;
    box-shadow: none!important;
    border-bottom: none!important;
    background-color: transparent!important;
}

.component-add-new a {
    display: inline-block;
    width: 45px!important;
    margin: 0px!important;
    float: left;
    height: 45px;
    line-height: 45px;
    text-align: center;
    padding: 0px!important;
}

.component-add-new a i {
    text-align: center;
}

.component-add-new {
    background-color: var(--light)!important;
    display: inline-block;
    width: 100%;
}

.pi-meta > div {
    display: inline-block;
    font-size: 9pt;
    color: var(--light-text);
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    padding-left: 0px;
    padding-right: 0px;
    text-align: center;
    box-sizing: border-box;
    width: 110px;
    max-width: 120px;
    vertical-align: top;
}

.pi-meta > div {
    /* width: 16.25%!important; */
    padding-left: 5px!important;
    padding-right: 5px!important;
}

.four .pi-meta > div {
    width: 19.5%!important;
}

.three .pi-meta > div {
    width: 24%!important;
}

.two .pi-meta > div {
    width: 32%!important;
}

.pi-meta .status {
    /* width: 110px; */
    padding-left: 10px!important;
    padding-right: 10px;
    text-align: center;
}

.pi-meta > div {
    float: left!important;
}

.pi-meta .size, .pi-meta .program, .pi-meta .priority, .pi-meta .category {
    /* width: 90px; */
    /* padding-left: 10px!important; */
    /* padding-right: 10px; */
    /* text-align: center; */
}

.pi-meta {
    text-align: right;
    font-size: 9pt;
    color: var(--light-text);
}

.fs-field-status {
    /* display: inline-block; */
    /* float: right; */
    /* cursor: pointer; */
    /* font-size: 9pt; */
    float: right;
    padding-left: 0px;
    min-width: 130px;
    text-align: left;
    border-radius: 0px!important;
    border-right: none!important;
    cursor: pointer;
}

.fs-field-status:hover, .fs-field-status:hover i {
    color: var(--primary)!important;
}

.fs-field-status i {
    line-height: 50px;
    padding-top: 0px;
    padding-right: 15px;
    margin-left: 5px!important;
}

.fs-field-color {
    display: inline-block;
    float: left;
    height: 50px;
    padding-right: 0px;
    padding-left: 0px;
    line-height: 30px;
    padding-top: 10px;
    padding-right: 10px;
    padding-left: 20px;
    border-right: none!important;
}

.fs-field-color input {
    border-radius: 10px!important;
    height: 30px!important;
    width: 30px!important;
}

.fs-field-color input {
    cursor: pointer;
}

body input[type="color"] {
    border: none!important;
    background-color: transparent;
    padding: 0px 0px 0px!important;
    width: 30px;
    height: 30px;
    vertical-align: top;
    outline: none!important;
    border-image: none!important;
}

.bulk-actions i {
    /* color: var(--primary); */
    /* font-size: 12pt; */
    vertical-align: top;
    text-align: center;
    color: var(--icon-color);
}

#editSpecPerms .settings {
    overflow-y: auto;
    /* height: calc(100dvh - 64px); */
}

.five .pi-meta.col.m6:first-child {
    width: 40%;
    max-width: 40%;
}

.five .col.m6:last-child {
    /* width: 60%; */
    /* max-width: 60%; */
}

.five .col.m6 {
    width: 44%!important;
    max-width: 44%!important;
}

.fs-details .ui-sortable-placeholder {
    border: 4px dashed var(--primary);
}

.d-handle {
    display: inline-block;
    float: left;
    height: 50px;
    padding-left: 15px;
    padding-right: 15px;
    border-right: none!important;
}

.d-handle i {
    font-size: 14pt;
    color: var(--light-text);
    line-height: 50px;
    padding: 0px;
    margin: 0px;
}

.btn.add-new-item {
    border-radius: 5px!important;
    height: 50px;
    line-height: 50px;
    /* font-size: 8.5pt; */
}

.title-right .btn.add-new-item.btn-transparent.color-primary {
    background-color: transparent;
    border-radius: var(--border-radius-tiny)!important;
    color: var(--primary)!important;
    font-size: 15px!important;
    font-weight: 400;
    vertical-align: top;
}

.btn.add-new-item.btn-transparent.color-primary {}

.btn.add-new-item.btn-transparent.color-primary i {
    color: var(--awhite)!important;
}

.title-right .btn {
    color: var(--black)!important;
    height: 50px;
    line-height: 50px;
}

.title-right .btn.color-primary {
    color: var(--primary)!important;
}

.title-right .btn:hover {
    color: var(--primary)!important;
}

.modal-content {
    background-color: rgba(0, 0, 0, .6)!important;
    z-index: 99999999999999999999999999999999;
    height: 100dvh;
}

.btn.change-sort {
    height: 50px;
}

.btn i, .btn-large i {
    transition: .2s ease-in-out;
}

.attachfile label {
    margin-left: 0px!important;
    left: 0px!important;
}

.attachfile .input-field, .attachfile .input-field input {
    margin-top: 0px!important;
}

.spec-overview-data {
    /* height: calc(100dvh - 64px); */
    /* overflow-y: auto; */
    padding: 30px!important;
    /* position: relative; */
}

.view-status-update {
    /* background-color: var(--xwhite); */
    /* border-radius: 10px; */
    /* padding: 30px; */
}

.view-status-update .go-back {
    position: absolute;
    z-index: 9;
    right: 55px;
    top: 68px;
    color: var(--icon-color)!important;
}

.view-status-update .go-back {
    /* padding-bottom: 10px; */
    cursor: pointer;
    display: inline-block;
}

.view-status-update .go-back:hover {
    color: var(--primary);
    text-decoration: underline;
}

.spec-overview-data .overview-section {
    padding: 40px 40px;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 30px;
    box-shadow: 0px 1px 2px var(--shadow);
    position: relative;
    /* overflow: hidden; */
}

.overview-section .pi-widget-sessions {
    padding-bottom: 0!important;
    padding-top: 15px!important;
}

.project-activity .overview-meta .component-status-list {
    width: calc(100% + 80px);
    margin-left: -40px;
    margin-right: -40px;
    padding-left: 40px;
    padding-right: 40px;
}

.overview-section.status-updates {
    overflow: hidden;
}

.overview-section.project-activity.chart-widget {
    padding-bottom: 15px;
}

.spec-overview-data .overview-section:last-child {
    margin-bottom: 0px;
    padding-bottom: 30px;
    height: auto!important;
}

.overview-section-header {
    font-size: 15px;
    font-weight: 300;
    display: inline-block;
    width: 100%;
}

.overview-section-header .osh-title {
    font-size: 14px;
    /* color: var(--primary); */
    font-weight: 500;
}

.spec-overview .overview-section-header {
    /* margin-bottom: 20px; */
    padding-bottom: 10px;
    /* border-bottom: 1px dashed var(--light-border); */
}

.spec-overview .overview-section-header span.left, 
.spec-overview .overview-section-header div.left {
    /* font-family: var(--nothing); */
    font-size: 14px;
    font-weight: 500;
}

.project-quick-todos .overview-section-header {
    padding-bottom: 0;
}

.project-intelligence .overview-section-header {
    max-width: 740px;
    margin: 0px auto;
    display: none;
}

.overview-section-header > .row > .col:last-child .btn {
    margin-top: -10px;
}

.overview-section-header > .row .dropdown-content .btn {
    margin-top: 0px!important;
    background-color: var(--xwhite)!important;
}

.dynamic-overview .overview-section-header > .row {
    display: none;
}

.dynamic-overview .overview-section-header > .overview-meta {
    margin-top: -10px;
}

.side-slider .dynamic-overview .overview-section-header > .overview-meta {
    margin-top: 0px;
}

.ai-panel .btn.the-title {
    padding: 0px!important;
    margin-right: 5px!important;
}

.overview-section-header .overview-meta {
    /* max-width: 75%; */
    width: 100%;
    /* margin-top: -8px; */
}

.overview-section-header .overview-meta .dropdown-wrapper {
    padding-top: 5px;
    display: flex;
    margin-bottom: 5px;
}

.sidebar-home {
    cursor: pointer;
    padding-bottom: 5px;
    font-size: 14px;
    font-weight: 300;
}

.project-outline-meta .sidebar-home {
    margin-bottom: 0px;
    /* margin-top: -3px; */
    font-weight: 500;
    /* font-size: 15px; */
}

.sidebar-home:hover {
    color: var(--primary);
}

.overview-meta .text-field {
    /* display: table; */
    width: 100%;
    line-height: 25px;
}

.text-field.row.detail-progress {
    overflow: hidden;
}

.overview-meta > .leads {
    padding-bottom: 10px;
}

.overview-meta .text-field .overview-fl {
    color: var(--black);
    /* font-weight: 900; */
}

.overview-meta .dropdown-wrapper .text-field {
    width: auto;
    float: left;
    /* padding: 0px 20px; */
    /* background-color: var(--extra-light); */
}

.overview-meta .text-field.progress {
    width: calc(100% - 100px);
    display: inline-block;
    margin-bottom: 0px;
    /* margin-top: 0px; */
}

.component-project-details .overview-meta .text-field.progress {
    height: 4px;
    margin-bottom: 1.5px;
    /* width: calc(100% - 85px); */
}

.overview-meta .text-field .ds-text {
    padding-left: 0px!important;
    font-weight: 300;
    text-transform: none;
    letter-spacing: normal;
    line-height: 40px;
    color: var(--black);
}

.overview-meta .text-field .ds-text:hover {
    color: var(--primary);
}

.overview-meta .text-field .ds-text i {
    line-height: 40px;
}

.overview-meta .btn.btn-transparent.item-status.dropdown-selector, .overview-meta .btn.btn-transparent.item-assignee.dropdown-selector {
    margin-bottom: 10px;
    margin-top: -10px;
    /* border: 1px solid var(--border)!important; */
    height: 30px;
    line-height: 30px;
    padding: 0px 5px 0px 0px!important;
    margin-right: 10px;
}

.overview-meta .btn.btn-transparent.item-status.dropdown-selector i, 
.overview-meta .btn.btn-transparent.item-assignee.dropdown-selector i {
    display: inline-block!important;
    height: 40px;
    line-height: 40px;
    width: 20px;
    margin-left: 0px;
    position: relative;
}

.meta-names:last-child::after {
    content: none;
}

.meta-names:hover {
    color: var(--primary);
    cursor: pointer;
}

.sp-spec-body.ql-editor > ul {
    padding-left: 40px!important;
}

.todo-enhancement.ql-editor.oe {
    overflow-y: unset!important;
    white-space: pre-wrap;
    display: inline-block!important;
    width: 100%;
}

.overview-meta ul {margin-bottom: 0px;max-height: 50vh!important;}

.timeline-activity-item {
    /* list-style: none!important; */
    /* padding-bottom: 10px; */
    /* font-size: 10pt!important; */
    padding: 20px;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 2px;
    display: flex;
    position: relative;
}

.tac-meta {
    color: var(--light-text);
    padding-top: 0px;
    font-size: 11px;
    line-height: normal;
}

.the-timeline-content {
    /* position: absolute; */
    /* right: calc(55% + 15px); */
    /* width: auto!important; */
    /* top: 7px; */
}

.timeline-page .the-timeline-content {
    top: 0px;
}

.overview-meta weekly-scheduler.scheduler.card {
    padding: 0px!important;
    margin-top: 25px;
    box-shadow: none!important;
    border: 1px solid var(--border);
    border-radius: 10px;
}

.overview-meta .schedule-area-container .srow.timestamps:nth-child(2), .overview-meta .scheduler .labels .srow:nth-child(2) {
    display: none;
}

.overview-section-data {
    display: inline-block;
    width: 100%;
    height: 100%;
    /* padding: 10px; */
    /* border: 1px solid var(--border)!important; */
    /* padding: 25px; */
    border-radius: var(--border-radius-tiny);
    /* margin-bottom: 20px; */
}

.overview-meta .scheduler .labels .srow {
    font-size: 8.5pt!important;
}

.overview-meta .timeline-user-image img {
    /* border: 2px solid var(--light); */
    width: 100%!important;
    vertical-align: middle;
}

.overview-meta .timeline-user-image {
    /* width: 31px; */
    /* height: 31px; */
    /* overflow: hidden; */
    /* vertical-align: middle; */
    /* border-radius: 6px; */
}

.overview-meta .timeline-activity-item::before {/* content: ' '; *//* border-left: 1px solid var(--light-border); *//* height: 26px!important; *//* position: absolute; *//* left: calc(45% + 14px); *//* top: 31px; *//* z-index: 9; */}

.overview-meta .timeline-activity-item:last-child::before {
    display: none;
}

.timeline-activity-item .row.updated {
    /* position: relative; */
    /* z-index: 9999; */
    /* padding-left: 45%; */
}

.overview-section-header .btn.btn-transparent {
    /* margin-top: -10px; */
    color: var(--light-text)!important;
    border: none!important;
}

.overview-section-header .btn:last-child {
    margin-right: -15px;
}

.component-project-details .overview-section-header .btn:last-child {
    margin-right: 0px;
}

.overview-section-header .btn.btn-transparent i {
    color: var(--light-text)!important;
}

.overview-section-header .btn.btn-transparent i.primary {
    color: var(--primary)!important;
}

.overview-section-header .btn.btn-transparent:hover i {
    color: var(--primary)!important;
}

.overview-section-header .s4 > .btn.btn-transparent:last-child {
    padding-right: 0px!important;
}

.project-progress.overview-section .btn.btn-transparent {
    margin-top: -8px;
}

.overview-section-header .btn.btn-transparent:hover {
    color: var(--primary)!important;
    background-color: transparent!important;
}

.overview-meta .labels .schedule-animate {
    /* border-top: 1px solid var(--light); */
    /* margin-bottom: 0px; */
}

.overview-meta .timeline-chart {
    margin-top: 10px;
    margin-bottom: 10px;
    height: auto!important;
}

.google-chart li {
    list-style: none!important;
}

html.dark .timeline-chart svg > g > text {
    fill: var(--black);
    font-family: var(--body-font);
    font-size: 9.5pt;
}

.timeline-chart g path {/* outline: 1px solid var(--border); */fill: var(--primary);stroke: none;}

.google-chart g g rect {
    fill: var(--white);
}

#chart_div {
    width: 100%;
    min-height: 200px;
}

.roadmap #chart_div {
    /* width: calc(100% + 80px); */
    height: calc(100dvh - 152px);
    /* margin-left: -40px; */
    /* margin-right: -40px; */
    margin: 0px!important;
    /* padding-left: 40px; */
    /* padding-right: 40px; */
}

.edit-dates {
    cursor: pointer;
    color: var(--primary);
    text-align: right;
}

.dynamic-overview .edit-dates {
    display: none;
}

.ed-row.row .m6 {
    line-height: 50px;
}

.overview-meta .close-buttons {
    text-align: right;
}

.overview-meta .close-buttons .btn {
    padding-right: 0px!important;
}

.dark input.datepicker::-webkit-calendar-picker-indicator {filter: invert(1);}

.ed-row input {
    margin-bottom: 0px!important;
}

.editable-dates {
    padding-top: 20px;
    padding-bottom: 15px;
}

.zj-empty-message.empty-search {
    padding: 0px;
    background: none;
}

.zj-empty-message.empty-search .zj-empty-message-text {
    margin-bottom: 5px;
}

.zj-empty-message.empty-search .zj-empty-message-text strong {
    color: var(--primary);
}

.empty-search .btn:hover {
    text-decoration: underline;
}

.empty-search .zj-empty-message-button.btn.btn-transparent, .empty-search .zj-empty-message-button.btn.btn-transparent i {
    color: var(--primary);
}

.ed-row.row > .col:first-child, .ed-row.row > .col:last-child i {
    line-height: 42px;
    cursor: pointer;
    font-size: 15pt;
}

.ed-row.row > .col:last-child {
    text-align: right;
}

.ed-row.row > .col:last-child:hover i {
    color: var(--warning);
}

.ed-row .col.m3.s6 {
    padding-right: 10px!important;
    cursor: pointer;
}

.ed-row .col.m3.s6 input {
    cursor: pointer;
    font-size: 10pt;
}

.overview-meta .ed-row .btn.btn-transparent .ds-text {padding-left: 0px;}

.overview-meta .ed-row .btn.btn-transparent .ds-text i {
    margin-left: 5px;
}

.timeline-chart g text {
    fill: var(--black);
}

.timeline-chart g text[text-anchor="end"] {
    fill: var(--light-text);
    padding-left: 30px!important;
}

.timeline-chart rect {
    stroke: none!important;
    border: none!important;
    outline: none!important;
    border-image: none!important;
}

.timeline-chart text {
    cursor: pointer;
}

.timeline-chart g rect {
    margin-bottom: 30px!important;
    padding-bottom: 30px!important;
    cursor: pointer;
    background-color: var(--background-color)!important;
    color: var(--black)!important;
}

.timeline-chart text {
    font-family: var(--body-font) !important;
    background-color: var(--background-color)!important;
    color: var(--black)!important;
}

.comment-editor .posts-create {
    padding: 0px 0px!important;
    box-shadow: none;
    /* margin-top: 20px; */
    background-color: var(--white);
    margin-bottom: 0px;
    /* max-width: unset; */
    border-radius: 0px!important;
}

.overview-meta .set-post-privacy {
    display: none;
}

.leave-a-comment {
    /* text-align: right; */
    padding-top: 0px;
    padding-bottom: 10px;
    margin-top: -10px;
}

.dynamic-overview-body .project-quick-stats .leave-a-comment {
    /* display: none; */
    margin-top: 0px;
    padding-bottom: 0px;
    bottom: 0px;
    right: 0px;
    z-index: 9999999999999;
}

.status-comments .leave-a-comment {
    padding-left: 30px;
}

.comment-editor .leave-a-comment {
    /* display: inline-block; */
    position: absolute;
    bottom: 3px;
    right: 79px;
    float: right;
    /* margin-top: -10px; */
    /* margin-right: 100px; */
    z-index: 999999999999999999999999999999;
    padding-bottom: 3px;
}

.comment-editor {
    transition: all .2s ease-in-out;
}

.comment-editor.selected {
    position: relative;
    height: calc(100dvh - 124px);
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    padding: 30px 30px;
    background-color: var(--white);
    z-index: 99;
    border-left: 1px solid var(--border);
    border-radius: 10px;
}

.comment-quick-creator .comment-editor.selected {
    padding: 0px;
    border: none;
    height: auto!important;
    top: unset;
    bottom: unset;
}

.comment-editor .set-post-privacy.create-action {
    display: none;
}

.lac-text {
    z-index: 99;
    /* position: absolute; */
}

.delete-timeline-item {
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease-in-out;
    /* float: right; */
    position: absolute;
    right: 15px;
    top: 15px;
    font-size: 12pt;
    z-index: 999999;
    user-select: none;
    cursor: pointer;
    color: var(--warning);
}

.delete-timeline-item i {
    font-size: 13pt;
    cursor: pointer;
}

.delete-timeline-item:hover i.material-icons {
    color: var(--warning);
    cursor: pointer;
}

.delete-timeline-item i:hover {
    color: var(--warning)!important;
    cursor: pointer;
}

.timeline-activity-item:hover .delete-timeline-item {
    opacity: 1;
    visibility: visible;
}

.overview-meta .post-body-content {
    /* padding-left: 55px; */
    padding-top: 10px;
    /* padding-bottom: 20px; */
    /* display: -webkit-box; */
    /* -webkit-line-clamp: 1; */
    /* -webkit-box-orient: vertical; */
    /* overflow: hidden; */
    font-size: 10pt;
}

.overview-meta .show-more-less {
    padding-left: 52px!important;
}

.status-comment {
    padding-bottom: 10px;
    padding-top: 10px;
    /* cursor: pointer; */
    position: relative;
}

.dynamic-overview-body .status-comment {
    padding: 30px 0px;
    border-bottom: 1px dashed var(--border);
}

.dynamic-overview-body .status-comment:last-child {
    border-bottom: none;
}

.dynamic-overview-body .status-comment:last-child {
    padding-bottom: 0px;
}

.dynamic-overview-body .status-comment .listing-description {
    padding-top: 20px!important;
}

.overview-meta .status-comment {
    padding-top: 30px;
    padding-bottom: 25px;
    background-color: var(--background-color);
    margin-bottom: 2px;
    padding: 20px 25px;
    border-radius: var(--border-radius-tiny)!important;
    /* box-shadow: var(--box-shadow); */
}

.overview-meta .status-comment:first-child {
    border-radius: 5px 5px 0px 0px;
}

.overview-meta .status-comment:last-child {
    border-radius: 0px 0px 5px 5px;
}

.status-comment .open-in-external {
    position: absolute;
    right: 30px;
    top: 26px;
    padding-right: 0px!important;
}

.status-comment .open-in-external i {
    color: var(--icon-color);
}

.status-comment .open-in-external:hover i {
    color: var(--primary);
}

.overview-meta .status-comment:last-child {
    /* margin-bottom: 0px!important; */
    /* border: none; */
}

.overview-meta .status-comment:first-child {
    border-top: none;
}

.status-updates-page .status-comment {
    margin-bottom: 40px!important;
}

.status-comment:hover {
    /* background-color: var(--hover-item); */
    /* border-radius: 10px; */
}

.status-comment:hover .post-body-content {
    /* background-color: var(--xwhite); */
    /* color: var(--primary); */
}

.overview-meta.view-status-update {
    padding-top: 20px;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 99;
    background-color: var(--white);
    padding: 30px;
    border-left: 1px solid var(--border);
    height: calc(100dvh - 64px);
}

.overview-meta.view-status-update .status-update-actions {
    padding-top: 20px;
    text-align: right;
    position: absolute;
    bottom: 0px;
    padding-bottom: 10px;
    background-color: var(--white);
    width: 100%;
    left: 0px;
    padding-left: 10px;
    padding-right: 30px;
}

.overview-meta.view-status-update .status-update-actions .btn:last-child {
    padding-right: 0px!important;
}

.btn.btn-transparent.delete:hover {background-color: transparent!important;color: var(--warning)!important;}

.empty-results strong {
    color: var(--primary);
}

.project-outline-items .loading-message {
    margin-top: 20px;
    margin-bottom: 20px;
}

.spec-docs-section {
    padding: 30px!important;
    width: 100%;
}

.status-page .zj-search-bar {
    padding-left: 0px;
    padding-right: 0px;
}

.fixed-bottom {
    position: absolute;
    bottom: 0px;
    right: 0px;
    left: 0px;
    height: 50px;
    line-height: 50px;
    padding-left: 20px;
}

.project-header .fixed-bottom {
    background-color: var(--xwhite);
}

.project-header .fixed-bottom:hover {
    background-color: var(--hover);
}

.overview-right-side.spec-overview-data {
    height: calc(100dvh - 64px);
    position: relative;
    float: none!important;
}

.project-update-post .status-update-actions {
    text-align: right;
}

.project-update-post .status-update-actions .btn:first-child {
    padding-left: 0px!important;
}

.project-update-post .status-update-actions .btn:last-child {
    padding-right: 0px!important;
}

.status-updates-page {
    /* padding: 40px 0px; */
    height: calc(100dvh - 64px);
    width: 100%;
    margin-top: -2px!important;
}

.status-updates-page .status-comment {
    max-width: 740px;
    margin: 0px auto;
    background-color: var(--xwhite);
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0px 1px 2px var(--shadow);
}

.core-list-item.header-row .col:hover {
    color: var(--primary)!important;
}

.project-tasks .core-list-item.header-row .col:hover {
    color: inherit!important;
}

.core-list-item.header-row:hover {
    background-color: var(--white);
}

.core-list-item.header-row .name {
    font-weight: 500!important;
    font-size: 13px;
}

.core-list-item .priority {
    padding-left: 20px;
}

.core-list-item .priority.name {
    padding-left: 3px;
}

.core-list-item.header-row .name:hover {color: var(--primary);}

.core-list-item.header-row .pi-meta > div {
    color: var(--black)!important;
    opacity: 1;
    font-size: 8.5pt;
    float: right;
    position: relative;
    font-weight: 500;
    }

.core-list-item .pi-meta .m1 {
    width: 8.75%!important;
    max-width: 8.75%!important;
}

.ten .core-list-item .pi-meta .m1 {
    max-width: 8%!important;
}

.one .core-list-item .pi-meta .m1 {
    width: 0%!important;
    max-width: 0%!important;
}

.two .core-list-item .pi-meta .m1 {
    width: 50%!important;
    max-width: 50%!important;
}

.three .core-list-item .pi-meta .m1 {
    width: 25%!important;
    max-width: 25%!important;
}

.four .core-list-item .pi-meta .m1 {
    width: 17%!important;
    max-width: 16.5%!important;
}

.five .core-list-item .pi-meta .m1 {
    width: 12.5%!important;
    max-width: 12.5%!important;
}

.six .core-list-item .pi-meta .m1 {
    width: 11%!important;
    max-width: 11%!important;
}

.seven .core-list-item .pi-meta .m1 {
    width: 10%!important;
    max-width: 10%!important;
}

.seven .core-list-item .pi-meta .selected {
    color: var(--primary)!important;
}

.seven .core-list-item .pi-meta .span {
    display: inline-block;
}

.seven .core-list-item .pi-meta .m1:hover {
    color: var(--primary)!important;
}

.four .core-list-item .m6 {
    width: 44%!important;
    max-width: 44%!important;
}

.two .core-list-item .m6 {
    width: 50%!important;
    max-width: 50%!important;
}

.three .core-list-item .m6 {
    width: 44%!important;
    max-width: 44%!important;
}

.one .core-list-item .m6 {
    width: 67%!important;
    max-width: 67%!important;
}

.core-list-item.header-row .pi-meta > .spec-actions {
    padding-right: 20px;
    opacity: 0;
}

.members-page.oe {
    width: 100%;
    padding: 40px 0px;
    height: calc(100dvh - 64px);
    display: inline-block;
}

.members-page.oe .the-user-list {
    max-width: 1130px;
    margin: 0px auto;
    /* background-color: var(--white); */
    /* padding: 40px; */
    /* border-radius: 15px; */
    /* box-shadow: var(--box-shadow); */
}

.members-page.oe .the-profile-image {
    width: 20px;
    height: 20px;
    line-height: 34px;
    vertical-align: middle;
    margin-top: 7px;
}

.members-page.oe .the-user-list .the-profile-image {
    margin-top: 0px!important;
    line-height: 50px;
    vertical-align: middle;
    width: 50px!important;
    height: 50px!important;
}

.the-user-list .members-page.oe .the-profile-image {
    margin-top: 0px!important;
}

.members-page .user {
    /* padding-bottom: 5px; */
    /* padding-top: 5px; */
    height: 34px;
    line-height: 34px;
    /* width: 100%!important; */
    /* display: inline-block; */
}

.members-page .uls-team .user {
    background-color: var(--white);
    text-align: center;
    padding: 30px;
    /* height: 160px; */
    border-radius: 5px;
    vertical-align: top;
    margin-right: 5px;
    margin-bottom: 5px;
    box-shadow: var(--box-shadow);
    /* flex: 1 1 10%; */
    height: auto;
    float: left;
    width: calc(33.33333% - 3.4px);
    justify-content: flex-start!important;
    gap: 20px;
}

.members-page .uls-team .user:hover {
    background-color: var(--hover-item)!important;
}

.members-page .uls-team .user:nth-child(3n) {
    margin-right: 0!important;
}

.members-page .uls-team .user .user-meta-actions .btn:first-child {
    padding-left: 0!important;
}

.user-meta-text {
    display: flex;
    flex-direction: column;
}

.members-page .uls-team .user .the-profile-image {
    /* margin: 0px auto!important; */
    /* float: none; */
    /* width: 100%!important; */
    /* height: 50px!important; */
    /* width: 50px!important; */
    /* max-height: 150px; */
    line-height: 50px;
    color: var(--black);
    background-color: var(--extra-light)!important;
    max-width: 100px;
}

.members-page .uls-team .user .user-image img {
    margin: 0px auto!important;
    float: none!important;
    display: block!important;
    padding: 0px!important;
}

.the-user-list .user {
    padding: 0px 20px;
    background-color: var(--background-color);
    height: 50px;
    line-height: 50px;
    margin: 0px;
    margin-bottom: 0px;
}

.the-user-list .user .user-name span {
    line-height: 50px!important;
}

.members-page .user:hover {
    cursor: pointer;
    /* border-radius: 5px; */
    /* transition: all .2s ease-in-out; */
}

.members-page .user:hover .the-user-name {
    color: var(--primary);
}

.members-page .user:hover .user-image .the-profile-image {
    background-color: var(--white)!important;
    color: var(--primary);
}

.page-body {
    height: calc(100dvh - 64px);
    padding: 20px 30px!important;
}

.project-timelogs.page-body.oe {
    height: unset;
    padding: 40px!important;
}

.spec-item-main-body .project-timelogs.page-body.oe {
    height: calc(100vh - 115px)!important;
    overflow-y: auto!important;
}

.status-updates-page .board-sidebar.sidebar.oe {
    -webkit-mask-position: unset;
}

.su-project-title {
    position: absolute;
    top: -35px;
    font-size: 11pt;
}

.su-project {
    margin-top: 40px;
    margin-bottom: 80px!important;
}

.update-actions {
    padding-left: 41px;
}

.update-actions .btn {
    font-size: 9.5pt;
    text-transform: initial;
    margin-top: -5px;
}

.update-actions .btn:hover {
    text-decoration: underline;
}

.outline-bottom-buttons {
    position: absolute;
    bottom: 0px;
    right: 0px;
    /* left: 0px; */
    z-index: 9999;
}

.outline-bottom-buttons .btn {
    color: var(--icon-color)!important;
}

.refresh-filters {
    position: absolute;
    top: 19px;
    right: 20px;
    z-index: 999;
}

.refresh-filters i {
    font-size: 13pt;
    color: var(--primary);
}

.refresh-filters:hover i {
    color: var(--icon-color);
}

.status-updates-page .date-picker-wrapper {
    position: absolute!important;
    bottom: 5px;
    left: 0px;
    right: 0px;
}

.sp-spec-listing.deployedTicket::before {
    color: var(--black);
}

.fixed-labels-container {
    position: absolute;
    left: 0;
    top: 0;
    width: 200px; /* Adjust based on your label width */
    height: 100%;
    z-index: 10;
    background-color: inherit;
    pointer-events: none; 
}

.fixed-label {
    position: absolute;
    left: 0;
    width: 180px; /* Slightly less than container width */
    text-align: right;
    padding-right: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none; /* Allow clicks to pass through */
    fill: var(--black);
}

/* Ensure the Google Chart container has proper positioning */
.google-chart {
    position: relative !important;
}

.overview-meta .status-comments {
    margin-left: -40px;
    margin-right: -40px;
    /* margin-bottom: -45px; */
    /* overflow-y: auto; */
    /* overflow-y: hidden; */
    padding-left: 40px;
    padding-right: 40px;
}

.overview-meta .status-comments.expanded {
    max-height: 100%;
}

.timeline-activity-content {
    /* padding-left: 15px; */
    line-height: normal;
    vertical-align: top;
    margin-top: -4px;
}

.listing-meta-wrapper {
    padding-bottom: 0px!important;
}

.trends-chart-title {font-weight: 600;}

/* "Tracking since {date} (days in UTC)." under a trend chart (P2b) */
.trend-chart-note {
    font-size: 12px;
    color: var(--color-text-secondary, #999);
    padding-top: 4px;
}

.project-trends-overview > div {
    padding-bottom: 10px;
}

.project-trends-overview > .trend-chart {
    padding: 0px!important;
    /* border-bottom: 1px solid var(--light-border); */
    /* border-radius: var(--border-radius-tiny); */
    /* margin-top: -20px; */
    margin-bottom: -40px;
}

.project-stats-page .trend-chart {
    padding: 40px!important;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 40px;
    box-shadow: var(--box-shadow);
}

.project-posts .sps-sidebar .zj-search-bar {
    /* margin-left: 0px!important; */
    /* margin-right: 0px!important; */
    /* width: 100%; */
}

.status-page .sidebar-footer .btn {
    padding-left: 0px!important;
    vertical-align: top;
}

.status-updates-page-content {padding: 40px 0px;}

.status-updates-page-content .posts-create {
    margin-bottom: 50px;
}

.stats .chart {
    padding: 30px!important;
    background-color: var(--white);
    border-radius: 10px;
}

.the-spec-overview-description {
    padding: 30px 0px 30px 30px!important;
}

.spec-overview-actions {
    position: absolute;
    top: 32px;
    right: 25px;
    text-align: right;
    width: 200px!important;
    max-width: 200px!important;
}

.spec-summary.oe .zj-spec-summary {
    margin-left: -30px;
    margin-right: -30px;
    padding-left: 30px;
    padding-right: 30px;
    height: calc(100dvh - 198px);
}

.spec-summary .zj-spec-summary.ql-editor {
    margin-left: -40px;
    margin-right: -40px;
    padding-left: 40px;
    padding-right: 40px;
    overflow-y: auto;
    max-height: calc(100dvh - 205px);
    padding-bottom: 40px;
}

.trend-chart-container {margin: 0!important;}

.trend-chart-container:last-child {
    border-bottom: none;
    /* margin-bottom: -30px; */
}

body .progress .determinate {
    background-color: var(--primary);
    line-height: 20px;
}

.project-quick-stat-wrap .progress {
    height: 5px;
    border-radius: 2px!important;
}

body .progress .determinate.show-right {
    right: 0;
    left: unset;
}

.project-quick-stats {
    max-width: 100%;
    font-size: 10pt;
    padding-top: 20px;
    padding-bottom: 0px!important;
    /* padding: 10px 20px; */
    /* background-color: var(--extra-light); */
    /* border-radius: 5px; */
}

.overview-section.project-progress .project-quick-stats {
    padding-top: 0px;
}

.dynamic-overview .project-quick-stats {
    /* margin-left: -40px; */
    /* margin-right: -40px; */
    /* width: calc(100% + 80px); */
    /* max-width: calc(100% + 80px); */
    position: relative;
    padding-top: 0px;
}

.project-quick-stats #donutchart {
    padding: 0px;
}

.progress-label {
    display: inline-block;
    float: left;
    line-height: 20px;
}

.pqs-totals {
    /* text-align: right; */
    font-size: 8.5pt;
    padding-left: 10px!important;
    width: 80px;
    display: inline-block;
}

.dynamic-overview-body .pqs-totals.header-bar-insert {
    text-align: right;
    width: 100%;
    position: absolute;
    display: none;
    /* left: calc(50% - 45px); */
    right: 0px;
    top: 42px;
    font-size: 11pt;
    width: 90px;
    /* height: 50px; */
    line-height: 50px;
    /* border: 1px solid var(--border); */
    z-index: 999999;
    padding: 0px 0px!important;
    border-radius: var(--border-radius-sm);
    color: var(--primary);
}

.overview-section.project-progress .pqs-totals {
    line-height: 30px;
    height: 30px;
    vertical-align: top;
    text-align: right;
    float: right;
}

.overview-section.project-progress .pqs-totals.header-bar-insert {
    margin-top: -36px;
    margin-bottom: -5px;
    margin-left: 52px;
    font-size: 13px;
    width: 50px;
    text-align: right;
    color: var(--primary);
    font-weight: 500;
}

.project-quick-stat {
    display: inline-block;
    width: 100%;
    line-height: 25px;
    vertical-align: top;
}

.project-quick-stat.progress-stat.progress-total {
    margin-bottom: 20px!important;
}

.project-quick-stat .task-statuses {
    line-height: 25px;
    height: 25px;
    vertical-align: top;
    display: flex;
}

.project-quick-stat .task-statuses:hover .badge {
    color: var(--primary)!important;
}

.project-quick-stat .task-statuses .badge {
    background-color: var(--extra-light);
    width: 20px!important;
    min-width: 20px;
    display: inline-block;
    float: right;
    padding: 0px!important;
    margin-left: 0px;
    border-radius: 4px;
    color: var(--black);
    font-size: 9pt;
    margin-top: 2px;
}

.project-quick-stat .info-btn.btn.btn-transparent {
    color: var(--icon-color);
    font-size: 12pt!important;
    margin-top: 0px!important;
}

.btn.view-charts.btn-transparent.board-action i {
    padding-right: 5px;
}

.charts {
    /* max-width: 900px; */
    /* margin: 0px auto; */
    padding-top: 10px;
    padding-bottom: 10px;
    max-height: calc(100dvh - 64px);
}

.charts-container {
    /* max-width: 900px; */
    margin: 0px auto;
    padding-left: 30px;
    padding-right: 30px;
}

.new-chart {
    padding: 30px;
    background-color: var(--white);
    border-radius: 10px;
    max-width: 48%;
    cursor: pointer;
    margin-bottom: 30px;
    border: 3px solid var(--white);
}

.new-chart:hover {
    border-color: var(--primary);
}

.btn.view-roadmap i {
    padding-right: 5px;
    display: inline-block;
    vertical-align: bottom;
    margin-top: 2px;
    margin-right: 2px!important;
}

.projects-chart-container {
    padding: 0px 40px!important;
    background-color: var(--white);
    border-radius: var(--border-radius);
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    height: calc(100dvh - 182px);
    box-shadow: var(--box-shadow);
}

.roadmap .projects-chart-container {
    margin-left: 40px;
    margin-right: 40px;
    border-radius: var(--border-radius-tiny);
    padding: 20px!important;
}

.roadmap .projects-chart-container.list-view {
    padding: 20px 0px 0px!important;
    /* width: 100%; */
    overflow-x: auto;
    box-shadow: var(--box-shadow);
}

.roadmap .projects-chart-container {
    padding-top: 20px;
}

.full-screen .projects-chart-container {
    box-shadow: none;
}

.list-view.projects-chart-container {
    padding-bottom: 40px;
    padding-top: 30px;
    padding-left: 40px;
    padding-right: 40px;
}

.sp-spec-listing.overview.epic {
    margin-top: 0px;
}

.core-list-items .section-title .btn.btn-transparent {
    /* display: none; */
    font-size: 15px!important;
    font-weight: 400;
}

.section-title .title-right .btn.btn-transparent.dropdown-selector.settings-btn i {
    font-size: 14pt!important;
}

.all-specs .zj-empty-message-button.btn, .all-specs .zj-empty-message-button.btn i {
    line-height: 40px!important;
    height: auto!important;
    margin: 0px;
    vertical-align: top;
    font-size: 10pt;
}

.all-specs .zj-empty-message-button.btn i {
    padding-right: 5px;
}

.all-specs .zj-empty-message-button.btn {
    margin-top: 20px;
}

.ui-grid .btn.btn-outlined.btn-transparent {
    background-color: transparent!important;
    color: var(--primary)!important;
    border: 1px solid var(--border)!important;
    padding: 1px 20px!important;
}

.ui-grid .btn.btn-outlined.btn-transparent:hover {
    background-color: var(--primary)!important;
    color: var(--awhite)!important;
    border-color: var(--primary)!important;
}

.ui-grid .btn.btn-outlined.btn-transparent i {
    font-size: 13pt;
}

.ui-grid .btn.btn-outlined.btn-transparent:hover i {
    color: var(--awhite)!important;
}

.zj-empty-message-button.btn.btn-transparent {
    padding-right: 10px!important;
    padding-left: 10px!important;
}

.ui-grid .zj-empty-message-button.btn.btn-transparent {
    max-width: unset;
    /* width: 150px; */
    margin: 25px auto;
    background-color: var(--primary)!important;
    color: var(--awhite)!important;
}

.ui-grid .zj-empty-message-button.btn.btn-transparent i {
    color: var(--awhite);
}

.all-specs .title-right .btn, .all-specs .title-right .btn i {
    line-height: 50px!important;
    vertical-align: middle;
}

.section-title .title-right .btn.btn-transparent {
    border-radius: 0px!important;
    border: none;
    height: 40px;
    line-height: 40px!important;
    top: 0px;
}

.more-actions.btn.btn-transparent.show-on-small-only {
    display: none;
}

.section-title .title-right .btn.btn-transparent:hover i {color: var(--primary)!important;}

.section-title .title-right ul .btn.btn-transparent {
    height: 50px;
    line-height: 50px!important;
}

.edit-mode #projectNavSettings {
    right: -50px!important;
}

.section-title .title-right ul .btn.btn-transparent:hover {
    background-color: var(--extra-light)!important;
    color: var(--black)!important;
}

.section-title .title-right ul .btn.btn-transparent:hover i {
    color: var(--black);
}

.roadmap .section-title .title-right .btn.btn-transparent {
    margin-right: -15px;
}

.section-title .title-right .btn.btn-transparent i {
    height: 40px;
    line-height: 40px!important;
    font-size: 12pt!important;
    /* margin-top: 2px; */
    vertical-align: top;
    color: var(--black)!important;
    margin-right: 5px!important;
}

.section-title .title-right .btn.btn-transparent.cs-picker i, .section-title .title-right .btn.btn-transparent.filter-projects i {
    font-size: 16pt!important;
}

.section-title .title-right .settings-panel .btn.btn-transparent i {
    font-size: 13pt!important;
}

.section-title .title-right .btn.btn-transparent.add-new-item i {
    color: var(--primary)!important;
}

html body .portfolio-list .btn.btn-transparent {
    background-color: transparent!important;
}

.a-collection > ul {
    /* display: block; */
    /* vertical-align: top; */
    margin-top: 0px;
}

.btn.board-action i {
    padding-right: 5px;
}

.create-spec .form-field .dropdown-select.input-field {
    margin-top: 0px;
}

.portfolio .project-meta-settings .row {
    margin-bottom: 0px!important;
}

.project-leads {text-align: center;height: 50px;line-height: 50px;overflow: unset;text-overflow: unset;white-space: normal;/* display: table; */width: 100%;vertical-align: middle;}

.project-lead {
    /* max-width: 20px; */
    /* padding-right: 5px; */
    /* border-radius: 50px; */
    /* overflow: hidden; */
    /* line-height: 15px; */
    display: inline-block;
    /* margin-left: 1px; */
    /* transition: all .3s ease-in-out; */
    vertical-align: middle;
}

.resource-view .project-lead {
    width: 100%!important;
    text-align: left;
    display: block;
    line-height: 19px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.project-lead::after {content: ', ';margin-left: 0px;margin-right: 3px;}

.resource-view .project-lead::after {
    display: none;
}

.project-lead:last-child::after {
    content: none;
}

.project-lead img {
    /* line-height: 50px; */
    vertical-align: middle;
    border-radius: 50px;
    /* border: 2px solid var(--border); */
    filter: grayscale(100%);
    opacity: .5;
    transition: all .3s ease-in-out;
}

.project-lead img:hover {
    filter: none;
    opacity: 1;
    z-index: 9999;
}

.project-lead:hover {
    /* transform: scale(1.15); */
    color: var(--primary);
}

.pleads {
    text-align: center;
    /* font-size: 10pt; */
}

.resource-view .pleads, .resource-view .Progress {
    text-align: left!important;
}

.roadmap-settings .program-settings .setting label {
    display: inline-block;
    width: 50%;
    line-height: 50px!important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 10px;
}

.roadmap-settings .program-settings .setting input {
    display: inline-block;
    float: right;
    width: 50%;
    height: 35px;
    line-height: 35px;
}

.program-settings .setting {
    width: 100%;
    display: inline-block;
    padding-bottom: 0px;
}

.dark ::-webkit-calendar-picker-indicator {
    filter: invert(1);
    cursor: pointer;
}

body .todo-list-item-header div {
    font-size: 9pt!important;
}

body .todo-list-item-header .the-profile-image {
    border-radius: 5px;
    max-height: 30px;
}

body .todo-list-item-header .listing-author-img {
    max-width: 40px;
}

.post-meta a {
    color: var(--light-text);
}

.post-meta:hover a {
    color: var(--primary);
}

.go-to-todo {
    position: absolute;
    right: 20px;
    top: 30px;
    opacity: 0;
    transition: opacity .3s ease-in-out;
}

.item:hover .go-to-todo {
    opacity: 1;
}

html body .add-tags input[type=text]:focus:not([readonly]) {
    border-bottom: 0px!important;
    box-shadow: none!important;
}

.change-columns .dropdown-content {
    padding: 30px;
    border-radius: 10px;
}

.settings-panel-body label {
    font-size: 10pt!important;
}

.change-columns .settings-panel-body .row {
    line-height: 23px!important;
    /* height: 30px!important; */
    display: block;
    text-transform: capitalize;
}

.core-list-item .col.m6 {max-width: 40%!important;width: 40%!important;}

.project-tasks-header.core-list-item .col.m6 {
    width: 50%!important;
    max-width: 50%!important;
}

.full-screen-dialog .project-details-container {
    max-width: 1040px;
    margin: 0px auto;
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    padding: 50px;
    position: relative;
}

.full-screen-dialog .project-details {
    display: inline-block;
    width: 100%;
}

.full-screen-dialog .row.user-editor, .spec-cover .row.user-editor {
    margin-top: 0px!important;
    border: none;
    position: relative;
    box-sizing: border-box;
    padding: 0px!important;
    margin-bottom: 30px!important;
}

.list-item-editor .row.user-editor {
    /* border-top: 1px dashed var(--border); */
    padding-top: 5px!important;
    margin-top: 5px!important;
}

.full-screen-dialog .row.user-editor .btn {
    padding-left: 0px!important;
}

.full-screen-dialog .row.user-editor .btn {
    margin-top: 5px;
    /* padding-left: 0px!important; */
}

.projects-chart-container .loading-message {
    text-align: center;
    /* padding-top: 10px; */
    padding-bottom: 40px;
}

.projects-chart-container .loading-message i {
    display: block;
    margin: 0px auto;
}

.project-role-container {
    /* padding: 30px; */
    /* border: 1px solid var(--border); */
    border-radius: 10px;
    padding-bottom: 40px;
}

.m4 .project-role-container {
    padding: 20px 0 0;
}

.m4 .project-role-container .list-header {
    padding-left: 0;
}

.team-user .project-role-container {
    margin-bottom: 30px;
    padding-bottom: 0px;
}

.team-user .project-role-container:last-child {
    margin-bottom: 0px;
}

.team-user .project-role-container:first-child .list-header {
    padding-top: 0px;
}

.project-role-container:last-child {
    padding-bottom: 0px;
}

.project-roles-title {
    font-size: 16pt;
    /* margin-bottom: 20px; */
    /* margin-top: -5px; */
    display: inline-block;
    cursor: pointer;
    font-family: var(--nothing);
    text-transform: lowercase;
}

.user-list-section .sub-text {
    margin-bottom: 0px;
}

.project-roles-title .the-title {
    width: 100%!important;
    display: block;
    vertical-align: top;
    line-height: 15pt;
}

.list-view .project-roles-title .the-title {
    /* line-height: 34px; */
}

.user .project-roles-title {
    padding-left: 20px;
}

.user .project-roles-title .number-of {
    font-family: 'Sora', sans-serif;
}

.list-view .user .project-roles-title {
    padding-left: 10px;
    padding-bottom: 0px;
    line-height: 30px;
    font-size: 11pt;
    padding-right: 10px;
}

.user .project-roles-title .number-of {
    margin-left: 0px!important;
    color: var(--light-text);
    display: block;
    line-height: 16px;
    vertical-align: top;
    margin-bottom: 0px!important;
}

.nav-tasks-list .project-roles-title {
    font-size: 13pt;
    color: var(--primary);
    margin-top: -20px;
    cursor: pointer;
}

.profile-page .project-roles-item-title {
    /* color: var(--primary); */
    /* font-size: 11pt; */
    /* line-height: 10pt; */
    /* padding-bottom: 10px; */
    padding: 0px!important;
}

.project-roles-item-title.prit-tasks {
    cursor: pointer;
    text-transform: uppercase;
    font-size: 9pt;
    color: var(--light-text);
    line-height: 25px;
    margin-top: 0px;
    padding-left: 30px!important;
    padding-right: 5px!important;
    margin-bottom: 2px;
    /* margin-top: 40px; */
    width: 100%;
}

nav .project-roles-item-title.prit-tasks {
    padding-left: 20px!important;
}

.profile-projects .priority-task-list .project-roles-item-title.prit-tasks {
    padding-left: 20px;
    padding-right: 50px;
}

.my-task-list .project-roles-item-title.prit-tasks {
    padding-left: 50px!important;
}

.project-roles-item-title .prit-tasks {
    margin-bottom: -15px;
}

.post-synopsis {
    white-space: break-spaces;
}

.profile-project-section .project-status {
    /* text-align: right; */
    /* display: inline-block; */
    /* font-style: italic; */
    /* font-size: 8.5pt; */
    /* float: right; */
}

.project-meta {
    color: var(--light-text);
    font-size: 9pt;
}

.project-meta > span {
    padding-right: 3px;
}

.profile-project-section > .row {
    /* margin-bottom: -4px!important; */
    line-height: 14px;
}

.profile-project-section {
    /* padding-bottom: 5px!important; */
    /* padding-top: 5px!important; */
    cursor: pointer;
    height: 34px;
    line-height: 34px;
    padding-left: 40px;
    padding-right: 40px;
}

.profile-project-section .project-status {
    line-height: 34px;
    text-align: right;
    float: right;
    font-size: 9pt;
}

.profile-project-section:hover {
    /* background-color: var(--extra-light); */
    color: var(--primary);
}

.profile-project-section .m2 {
    text-align: center;
    font-size: 9pt;
    color: var(--light-text);
    line-height: 29px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-project-section .m2:last-child {
    text-align: right;
}

.profile-project-section .m2 span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    /* text-align: left; */
    width: 100%;
}

.profile-project-section:last-child {
    padding-bottom: 0px;
}

.profile-project-lead, .profile-project-contributor {/* float: right; */font-size: 9pt;color: var(--light-text);}

.link-hover:hover {
    /* color: var(--primary); */
    /* cursor: pointer; */
}

.profile-project-sections {
    padding-bottom: 20px;
    /* display: inline-block; */
    /* width: 100%; */
    /* line-height: 1.5; */
    /* padding-top: 20px; */
}

.profile-project-sections.pps {
    margin-top: 20px;
}

.profile-project-sections:last-child {
    padding-bottom: 0px;
}

.project-name .link-hover {
    /* max-width: 100%; */
    /* overflow: hidden; */
    /* display: inline-block; */
    text-overflow: ellipsis;
    /* white-space: nowrap; */
    /* line-height: 30px; */
    padding-right: 10px;
    font-weight: 300;
}

nav .the-project-task-items .m7 {
    width: 70%!important;
    max-width: 70%!important;
    float: left;
    height: 30px;
}

.todos-list-container {display: inline-block;width: 100%;}

.profile-todo-items .items .item {
    /* padding: 5px 0px; */
    background-color: transparent;
    /* border: 1px solid var(--border); */
    margin-bottom: 10px;
    border-radius: 10px;
    border: none;
    padding: 0px;
    margin-bottom: 6px!important;
    width: 100%;
    display: inline-block;
}

.profile-todo-items .items .item:first-child .profile-todos-project-name, .profile-todo-items .items .item:first-child .profile-todos-project-status {
    display: inline-block;
    /* width: 100%; */
}

.profile-todo-items .items .item:first-child .profile-todos-project-name .right {
    text-transform: initial;
}

.profile-todo-items .items .item .profile-todos-project-name {
    display: none;
    /* text-transform: uppercase; */
    cursor: pointer;
    color: var(--black);
}

.profile-todo-items .items .item .profile-todos-project-status {
    display: none;
    padding-bottom: 5px;
    font-size: 8.5pt;
    float: right;
}

.profile-todo-items .items .item .profile-todos-project-name:hover {
    color: var(--primary);
}

.profile-todo-items .todos .todo-summary {
    padding-top: 0px;
}

.profile-task-items .items > .item {
    display: inline-block!important;
    line-height: 50px;
    height: 50px;
    vertical-align: top;
    box-sizing: border-box;
    margin-left: 0;
    padding-left: 25px;
    padding-right: 25px;
    /* border-top: 1px solid var(--light-border); */
    margin-bottom: 0.5px!important;
    box-shadow: none;
    box-sizing: border-box;
    width: 100%;
    border-top: 1px solid var(--light-border);
}

.profile-page .profile-task-items .items > .item {
    padding: 0px 30px;
}

.profile-task-items .items > .item:hover {
    background-color: var(--light)!important;
}

.profile-task-items .items > .item.selected {
    background-color: var(--extra-light)!important;
    color: var(--black)!important;
}

.dark .profile-task-items .items > .item.selected {
    /* background-color: var(--veryvery-light)!important; */
}

nav .profile-task-items .items > .item {
    padding: 0px 20px;
    /* margin-left: -20px; */
    /* margin-right: -20px; */
    /* width: calc(100% + 40px); */
    border-radius: 0px;
    /* box-shadow: none; */
    /* border-top: 1px solid var(--light-border); */
    margin-bottom: 0px!important;
    border-top: none!important;
}

nav .profile-task-items .items > .item:last-child {
    margin-bottom: 0!important;
}

.profile-task-items .items > .item:hover {
    background-color: var(--very-light)!important;
    /* color: var(--primary); */
}

.dark .profile-task-items .items > .item:hover {
    background-color: var(--xwhite)!important;
}

.profile-task-items .items > .item .row .col {
    line-height: 50px!important;
    height: 50px!important;
    min-height: 1px!important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

nav .profile-task-items .items > .item .row .col.m1 {
    display: none;
}

.profile-task-items .items.task-items .item:first-child .profile-todos-project-name {
    display: inline-block;
    width: 100%!important;
    color: var(--black);
}

.profile-task-items .items.task-items .item:first-child .circle-number {
    display: inline-block;
    position: absolute;
    right: 20px;
    top: 20px;
    /* background-color: var(--white); */
}

.profile-task-items .items.task-items .item .circle-number {
    display: none;
}

.profile-task-items .items.task-items .item:first-child .profile-todos-project-name:hover {
    text-decoration: underline;
}

.profile-task-items .items.task-items .item:first-child .profile-todos-project-status {
    display: inline-block;
    width: 100%;
    margin-bottom: 15px;
}

.collapsed .profile-task-items .items.task-items .item:first-child .profile-todos-project-status {
    margin-bottom: 0px;
}

nav .profile-task-items .items.task-items .item:first-child .profile-todos-project-name {font-weight: 400;}

nav .profile-task-items .items.task-items .item:first-child .profile-todos-project-name .s9 {
    padding-right: 10px!important;
}

nav .profile-task-items .items.task-items .item:first-child .profile-todos-project-name .s9:hover {
    text-decoration: underline;
}

.profile-task-items .items.task-items .item .profile-todos-project-name {
    display: none;
    font-size: 14px!important;
    line-height: 14pt!important;
    cursor: pointer;
    padding-bottom: 0px;
}

.profile-task-items .items.task-items .item .profile-todos-project-status {
    display: none;
}

.profile-task-items .items.task-items .item .profile-todos-project-name:hover {
    /* color: var(--primary); */
    /* background-color: var(--extra-light); */
}

.profile-tasks-name {
    cursor: pointer;
}

.profile-tasks-name:hover {
    color: var(--primary);
}

.nav-tasks-list .task-list-container {
    padding-top: 0px;
    padding-bottom: 10px;
}

nav .profile-project-sections:first-child {
    /* margin-bottom: 30px; */
    margin-top: 20px;
}

.tboard-tasks .items.task-items {
    /* padding-bottom: 10px; */
    width: 100%;
    display: inline-block;
}

.items.task-items .item > .row {
    cursor: pointer;
    font-size: 13px;
    vertical-align: top;
}

.the-project-task-items .project-name {
    color: var(--light-text);
}

.item:hover .the-project-task-items .project-name {
    color: var(--black);
}

.item.selected .the-project-task-items .project-name {
    color: var(--primary);
}

.the-project-task-items .project-name::before {
    /* content: '·'; */
}

nav .the-project-task-items .m2 {
    display: none;
}

.items.task-items .item > .the-project-task-items.row:hover .project-name {
    /* background-color: var(--light); */
    /* color: var(--primary); */
    /* text-decoration: underline; */
}

.profile-projects .timelog {padding: 0px 0px 30px 0px!important;}

.profile-task-items .item > .row .col:last-child {
    text-align: right;
}

.tboard-tasks .profile-task-items .item > .profile-todos-project-name.row .col:last-child {
    text-align: left;
}

.task-items .col > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    width: 100%;
    padding-right: 10px!important;
    color: var(--light-text);
    font-size: 13px;
}

body .task-items .col > span.project-name {
    padding-right: 20px!important;
    color: var(--black);
    display: flex;
    align-items: center;
    gap: 5px;
}

.nav .task-items .col > span {font-size: 12px;}

.nav .tboard-tasks .task-items .profile-todos-project-name .col > span {
    font-size: 11pt;
    line-height: 14pt;
    margin-bottom: 5px;
}

.task-items .col > span:last-child {
    padding-right: 0px!important;
}

.profile-task-items .col {
    min-height: 0px!important;
}

.profile-todos-project-name .project-status {
    font-size: 9pt;
    text-transform: initial;
    text-align: right;
}

.profile-project-sections .profile-projects .tasks.profile-task-items .item {
    padding-bottom: 5px;
    /* background-color: var(--light); */
}

nav .profile-project-sections .profile-projects .tasks.profile-task-items .item {
    background-color: var(--white);
    border-top: 1px solid var(--light-border)!important;
}

.dark nav .profile-project-sections .profile-projects .tasks.profile-task-items .item {
    /* background-color: var(--background-color); */
}

.dark .profile-project-sections .profile-projects .tasks.profile-task-items .item:hover {
    background-color: var(--extra-light)!important;
}

.profile-project-sections .profile-projects .tasks.profile-task-items .item:hover {
    background-color: var(--extra-light)!important;
}

.dark .profile-project-sections .profile-projects .tasks.profile-task-items .item:hover {
    background-color: var(--extra-light)!important;
}

.nav-tasks-list.profile-projects {
    /* line-height: initial; */
    /* display: inline-block; */
    /* width: 100%; */
}

.profile-tasks .profile-projects .tasks {
    position: relative;
    /* padding: 20px 20px 0px!important; */
    background-color: var(--background-color);
    /* border: 1px solid var(--border); */
    /* padding: var(--padding-lg); */
    margin-bottom: 5px;
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
}

li.todos-widget-trigger {
    width: 50px;
    text-align: center;
}

.todos-widget .custom-dropdown .cd-handle, .todos-widget .custom-dropdown .cd-handle i {
    height: 40px;
    line-height: 40px!important;
}

.todos-widget .custom-dropdown .cd-handle i {
    font-size: 12pt;
}

nav .the-project-task-items .m3 {
    float: right;
    width: 30%!important;
}

.profile-page.-projects .project-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-page-projects .project-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: initial;
    line-height: 30px;
}

.tasks-body.body > .profile-projects {
    max-width: 1080px;
    margin: 40px auto;
}

.spec-item-tasks-button.show-on-small {
    display: none;
}

.pie-chart-data {
    display: block;
    width: 100%;
    padding-top: 10px;
    margin: 0px auto;
}

.pie-chart-data .list-item:first-child {
    color: var(--black);
    margin-bottom: 5px;
    font-size: 11pt;
}

.list-item {
    cursor: pointer;
    padding: 3px 0px;
}

.custom-field-editor .list-item {
    height: 50px;
    line-height: 50px;
}

.bullet-list {
    /* border: 1px solid var(--border); */
    /* padding: 20px; */
    /* border-radius: 5px; */
}

.bullet-list .text-field {
    margin-bottom: 2px!important;
    padding-bottom: 0px!important;
}

.bullet-list .list-item {
    position: relative;
    min-height: 50px;
    padding: 15px 20px;
    background-color: var(--background-color);
    border-radius: 5px;
    display: block;
    margin-bottom: 2px!important;
}

.bullet-list .list-item i:hover {
    color: var(--warning);
}

.bullet-list .list-item i {font-size: 15pt;top: 0px;}

.setting-option .list-item {
    padding: 0px 20px;
    height: 50px;
    line-height: 50px;
}

.list-item:hover {
    /* color: var(--primary); */
    background-color: var(--extra-light);
}

.the-profile-body #donutchart {
    /* border-radius: 10px; */
    /* overflow: hidden; */
    height: 400px!important;
    width: 700px!important;
}

.timelog-body-wrapper .google-chart {
    padding: 40px;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
}

.project-time-tracking.spec-body .timelog-body-wrapper {
    margin: 40px auto;
}

.the-profile-body .timelog-body-wrapper .google-chart {
    padding: 0px;
}

.google-chart .chart-title {font-size: 12pt;font-weight: 400;}

.sps-body.project-time-tracking {
    padding: 40px 0px!important;
    height: calc(100dvh - 64px)!important;
}

.profile-page .sps-body.project-time-tracking {
    height: unset!important;
}

.the-profile-body .project-time-tracking {
    padding: 0px!important;
}

.timelog-date.the-date-date {
    padding-right: 15px;
}

.project-timelogs .timelogs {
    font-size: 9.5pt!important;
}

.project-timelogs .google-chart {
    background-color: var(--white);
    margin-top: 10px;
    padding: 40px;
    /* border-radius: var(--border-radius-tiny); */
    /* box-shadow: var(--box-shadow); */
}

.project-timelogs .card input {
    font-size: 9.5pt!important;
    /* background-color: var(--white)!important; */
    /* box-shadow: var(--box-shadow)!important; */
    margin-bottom: 0px!important;
    margin-top: 5px!important;
}

.project-timelogs .user-image {
    display: inline-block;
    float: left;
}

.timelog-details-page .user-image {
    margin: 0px!important;
    padding: 0px!important;
    float: left!important;
    width: 20px;
    height: 20px;
    margin-right: 10px!important;
    padding-top: 10px!important;
    position: absolute;
}

.timelog-details-page .user-image img {
    width: 100%!important;
    border-radius: 5px;
    width: 25px!important;
    height: 25px!important;
    margin: 2px 0px 0px 9px!important;
    border: none;
}

.project-timelogs .timelog-date {
    display: inline-block;
    vertical-align: top;
    height: 50px;
    line-height: 50px;
    float: left;
    /* border-right: 1px solid var(--border); */
    position: relative;
    cursor: text;
}

.project-timelogs .timelog-date.timelog-end, .project-timelogs .timelog-date.timelog-end input {
    text-align: left;
}

.project-timelogs .timelog-date.timelog-start:after {
    content: '-';
    position: absolute;
    right: -2px;
    top: 0px;
    font-size: 7pt;
    height: 50px;
    line-height: 50px;
    color: var(--light-text);
    /* background-color: var(--border); */
}

.project-timelogs .timelog-date:last-child {
    border-right: none;
    border-radius: 0px 10px 10px 0px!important;
    overflow: hidden;
}

.project-timelogs .timelog-day .timelog-date {
    width: calc(33.3333% - 15px)!important;
}

.project-timelogs .timelog-day .timelog-date:first-child {
    border-right: none;
}

.project-timelogs .timelog-day .timelog-date:first-child .the-time {
    padding-right: 8px;
}

.project-timelogs .timelog-day .timelog-date:nth-child(2) .the-time {
    padding-left: 9px;
}

.project-timelogs .timelog-day .timelog-date input {
    width: 100%!important;
	text-align: right!important;
    padding-right: 15px!important;
}

.timelog-date.timelog-to-from-time.timelog-dash {
    width: 10px!important;
    text-align: center;
}

.project-timelogs .timelog-date .the-time:hover {
    color: var(--primary);
}

.project-timelogs .timelog-date input {
    width: 55px!important;
    text-align: right;
}

.project-timelogs .timelog-entry input {
    border-bottom: 0px!important;
    box-shadow: none!important;
    margin-bottom: 0px;
    height: 30px!important;
    line-height: 30px!important;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 20px!important;
}

.timelog-details-page .timelog-comment input {
    float: right;
    padding-left: 45px!important;
    border-radius: 10px 0px 0px 10px!important;
}

.project-timelogs .timelog-entry input.ta-right {
    padding-right: 0px!important;
}

.project-timelogs .timelog-entry .timelog-to-from-time input {
    padding-right: 0px!important;
    text-align: left;
}

.project-timelogs .timelog-entry input:hover {
    color: var(--primary);
}

.create-new-timelog .timelog-entry input {
    background-color: var(--background-color)!important;
    padding: 0px 15px!important;
    color: var(--black)!important;
    height: 50px!important;
    display: inline-block!important;
    width: 100%!important;
    text-align: left;
}

.create-new-timelog .timelog-entry input::placeholder {color: var(--light-text)!important;}

.pie-chart-data .list-item {
    width: 100%;
    padding: 0px 20px;
    background-color: var(--background-color);
    line-height: 50px;
    border-radius: var(--border-radius-tiny);
    margin-bottom: 1px;
    border: 1px solid var(--light-border);
}

.pie-chart-data .list-item .inline-align:first-child {
    max-width: calc(100% - 100px);
}

.m6:first-child .chart-data {
    padding-right: 15px;
}

.m6:last-child .chart-data {
    padding-left: 15px;
}

.chart-data-header {
    /* font-size: 11pt; */
    color: var(--primary);
    font-weight: 600;
}

.select-todo-list {
    font-size: 12px;
    /* line-height: 25px; */
    color: var(--dark);
    display: flex;
    align-items: center;
}

.select-todo-list.cd-handle {height: 35px;display: flex;align-items: center;vertical-align: middle;}

html body .select-todo-list.cd-handle i {
    line-height: 21px!important;
    height: 20px!important;
    font-size: 18px;
}

nav .select-todo-list.cd-handle {
    line-height: 50px;
    height: 50px;
}

body .select-todo-list i {
    line-height: 45px!important;
}

nav .select-todo-list.cd-handle {
    /* line-height: 36px; */
    float: left;
}

html body nav .select-todo-list.cd-handle i {
    /* margin-top: -6px; */
    font-size: 15pt;
    margin-left: 2px!important;
    line-height: 25px!important;
    height: 25px!important;
}

.my-task-list .select-todo-list {
    /* margin-right: -5px; */
    /* margin-top: 13px; */
    /* height: 20px; */
    /* line-height: 20px; */
    /* vertical-align: top; */
}

.my-task-list .select-todo-list i {
    font-size: 14pt;
}

.select-todo-list i {
    color: var(--icon-color)!important;
    margin-left: 5px!important;
}

.todos-list-container .profile-projects-container {
    padding: 0px 20px;
    line-height: initial;
}

.nav-todos-list-container .profile-projects-container {
    /* padding: 0px 30px; */
    /* line-height: initial; */
}

.nav-todos-list-container {
    height: calc(100dvh - 204px);
    width: 100%;
    padding-bottom: 30px;
    padding: 0px 30px 35px;
    background-color: var(--background-color);
}

nav .all.nav-todos-list-container {
    padding-top: 30px;
}

.checklist-items-only .nav-todos-list-container {
    height: calc(100dvh - 215px);
}

.dark .nav-todos-list-container {
    background-color: var(--extra-light);
}

.dark .nav-todos-list-container {
    background-color: var(--white);
}

.a-todo-item {
    padding: 20px 20px;
    cursor: pointer;
    margin-bottom: 0px;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
    transition: background-color .2s ease-in-out;
    border-top: 1px solid var(--vborder);
    /* font-size: 13px!important; */
    background-color: var(--white);
    width: 100%;
}

.dark nav .a-todo-item {
    /* background-color: var(--background-color); */
    border-top: 1px solid var(--vborder);
}

.dark nav .a-todo-item:hover {
    background: var(--extra-light)!important;
}

.dark nav .a-todo-item:hover {
    background-color: var(--extra-light);
}

.selected > .a-todo-item {
    background-color: var(--hover-item);
    color: var(--black);
}

.dark .selected > .a-todo-item {
    /* background-color: var(--background-color); */
}

.a-todo-item:hover {
    background-color: var(--background-color);
}

.dark .a-todo-item:hover {
    background-color: var(--extra-light);
}

.the-todo-item:last-child .a-todo-item {
    border-bottom: none;
}

.profile-page .a-todo-item {
    /* margin-left: -20px; */
    /* margin-right: -20px; */
    /* padding-left: 20px; */
    /* padding-right: 20px; */
    /* width: calc(100% + 40px)!important; */
    padding: 20px 30px;
    margin-bottom: 0px;
    border-top: 1px solid var(--light-border);
}

.todos-list-container .items.todo-items {
    padding-bottom: 0px;
}

.profile-todo-items .items.todo-items {padding-bottom: 0px;}

.project-roles-options.fixed {
    display: inline-block;
    float: left;
    /* margin-top: -10px!important; */
    /* position: absolute; */
    /* right: -46px; */
    top: 44px;
}

.project-roles-options .btn {
    width: 45px;
    text-align: center;
    height: 45px;
    display: inline-block;
    padding: 0px!important;
}

.project-roles-options .btn.todo-widget-settings i {
    /* line-height: 50px!important; */
    margin: 0 auto;
}

nav .project-roles-options {
    /* margin-top: -16px!important; */
    /* height: 35px; */
}

.profile-projects [type="checkbox"]+label {
    padding-left: 0px!important;
}

.inline-dialog {
    position: absolute;
    z-index: 9999999;
    min-width: 230px;
    /* width: calc(100% + 30px)!important; */
    margin-left: -15px!important;
    margin-right: -15px!important;
    margin-top: -15px;
    background-color: var(--xwhite);
    padding: 10px 15px!important;
    width: auto;
    border-radius: var(--border-radius-tiny);
    font-size: 10pt;
    box-shadow: 0px 2px 4px var(--shadow);
    user-select: none;
}

.spec-overview-actions .inline-dialog {
    padding: 0px 20px!important;
    min-height: 50px;
    line-height: 50px;
    margin-right: 0px!important;
    right: 10px;
    top: -30px;
    margin-top: 0px!important;
}

.spec-overview-actions .inline-dialog i, .spec-overview-actions .inline-dialog a {
    font-size: 13pt;
    line-height: 50px;
    display: block!important;
    padding: 0;
}

.spec-overview-actions .inline-dialog .btn {
    height: 50px!important;
    line-height: 50px!important;
    display: flex;
    align-items: center;
}

.spec-overview-actions .inline-dialog .btn i {
    height: 50px!important;
    line-height: 50px!important;
}

.inline-dialog input[type=text] {
    margin-bottom: 0px!important;
    font-size: 10pt!important;
    border-bottom: 1px solid var(--light-border)!important;
}

.add-proj-dialogs .inline-dialog {
    min-width: 290px;
    right: 20px;
    top: -25px!important;
}

.add-proj-dialogs .inline-dialog i {
    float: right!important;
    font-size: 12pt;
    color: var(--black);
    line-height: 21px;
}

.role-selector .add-proj-dialogs .inline-dialog {
    top: 10px!important;
    right: 0px;
}

.delete-all .inline-dialog {
    width: 250px!important;
    right: 14px;
    top: 10px;
}

.inline-dialog.show-above {
    bottom: 0px;
}

.outline-editor .wrapper .inline-dialog {
    right: 0px;
    top: 4px;
}

.inline-dialog.delete a {
    color: var(--warning)!important;
    box-shadow: none;
}

.inline-dialog a {
    display: inline-block!important;
    width: auto;
    float: right;
    padding-left: 10px;
}

.inline-dialog .id-text {
    display: inline-block!important;
    width: auto;
    float: left;
    position: relative!important;
    right: unset!important;
    color: var(--black)!important;
}

.inline-dialog > a {
    display: inline-block;
    float: right!important;
}

.outline-editor .modal-body .sub-text {
    /* margin-top: -15px; */
    margin-bottom: 10px;
    /* overflow: hidden; */
    /* white-space: nowrap; */
    /* font-size: 9.5pt; */
    /* text-overflow: ellipsis; */
}

.the-spec-timeline.oe .card {
    padding: 40px;
}

.activity-section-wrapper {
    min-width: unset;
    margin: 0px -40px;
    margin-bottom: 30px;
    margin-top: 20px;
    /* max-height: calc(100dvh - 209px); */
    overflow-y: auto;
    padding: 0px 40px 40px;
}

.distraction-free .activity-section-wrapper {
    max-height: calc(100dvh - 308px);
}

.activity-section-wrapper:last-child {
    margin-bottom: 0px;
}

.the-spec-timeline ul .mini-timeline-item {
    margin-bottom: 0px!important;
    padding: 20px;
    /* background-color: var(--extra-light); */
    /* border: 1px solid var(--border); */
    box-shadow: var(--box-shadow);
    border-bottom: 1px solid var(--light-border);
}

.the-spec-timeline ul .mini-timeline-item:last-child {
    margin-bottom: 0px!important;
    border-bottom: none!important;
}

.file-storage {
    /* padding: 0px 30px; */
    /* overflow: hidden; */
    background-color: var(--background-color);
    padding: 0px;
    border-radius: var(--border-radius-tiny);
    margin-top: 10px;
    /* border: 1px solid var(--border); */
    height: calc(100dvh - 330px);
    /* box-shadow: var(--box-shadow-inset); */
}

.file-uploads {
    /* display: inline-block; */
    /* width: 100%; */
    /* margin-top: 20px; */
    /* border-radius: var(--border-radius-tiny); */
    /* overflow: hidden; */
    padding-bottom: 40px;
}

.btn.btn-transparent.cs-picker i.right {
    margin-left: 0px;
}

a.cke_combo_button[title="Paragraph Format"] {
    /* max-width: 50px; */
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
    /* position: relative; */
}

body a.cke_combo_button, body a.cke_combo_arrow {
    height: 32px;
    line-height: 32px!important;
    
    border-radius: 5px;
    margin-right: 1px!important;
    
}

body a.cke_combo_button > span {
    margin-top: 4px;
    cursor: pointer!important;
}

body a.cke_combo_button:hover {
    background-color: var(--awhite)!important;
    border: 1px solid var(--white)!important;
}

a.cke_combo_button[title="Paragraph Format"]::before {
    content: 'H';
    background-color: var(--white);
    top: 0px!important;
    left: 0px!important;
    height: 28px;
    line-height: 28px;
    font-weight: 500;
    font-size: 10pt;
    color: var(--light-text);
    z-index: 99999999;
    vertical-align: top;
    display: inline-block;
    position: absolute;
    padding-left: 10px;
    padding-right: 10px;
    opacity: 0;
}

.header-row-item-arrow i {
    font-size: 11pt!important;
    display: inline-block;
    width: 12px;
    margin: 0px!important;
    height: 50px;
    line-height: 50px;
}

.todays-time {
    font-weight: 400;
}

.the-time-left {
    width: 100%;
    display: inline-block;
    color: var(--light-text);
    float: right;
    margin-left: auto;
}

.todo-widget-meta .the-time-left {
    /* margin-left: 5px; */
    margin-bottom: 0px;
    width: unset;
    min-width: 120px;
    font-size: 11px;
    padding-left: 10px;
    text-align: right;
    line-height: 14px;
}

button.btn.btn-transparent.submit-it {
    padding-right: 0px!important;
    text-transform: initial;
    color: var(--black)!important;
}

button.btn.btn-transparent.submit-it:hover {
    color: var(--primary)!important;
}

.the-wl-comment {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
}

.loading-message {
    text-align: center;
    height: 30px;
    line-height: 30px;
}

.ai-convo .loading-message {height: 80px!important;line-height: 60px;margin-top: -30px;margin-bottom: 20px;}

.ui-grid .loading-message {
    position: fixed;
    top: calc(50% - 30px);
    right: calc(50% - 20px);
}

.the-board-wrapp .loading-message {
    height: calc(100dvh - 64px);
    line-height: calc(100dvh - 64px);
    vertical-align: middle;
}

.timelog-day-section {
    padding: 30px;
    /* background-color: var(--white); */
    border-radius: 10px;
    margin-bottom: 30px;
}

.timelog-day-section:last-child {
    margin-bottom: 0px!important;
}

.timelog-day-time-sum {float: right;}

.csv-restore-version .inline-dialog {
    width: 260px!important;
    right: -130px;
    text-transform: initial;
}

.public-users .user-list-section {
    /* width: 50%; */
    /* display: inline-block; */
    border-radius: 5px;
    /* overflow: hidden; */
}

.public-users {
    /* display: inline-block; */
    width: 100%;
}

.public-users h5 {
    font-family: var(--nothing);
    font-size: 23px;
}

.uls-team {
    padding-bottom: 30px;
    display: flex;
    flex-direction: column;
}

.uls-team:last-child {
    padding-bottom: 0px;
}

.user-list-header {
    padding-bottom: 5px;
    color: var(--primary);
    font-weight: 400;
    margin-top: 30px;
}

.the-user-list .search-users input {
    margin-bottom: 0px;
    margin-top: 15px;
    border-radius: 5px;
    border-radius: 5px!important;
    background-color: var(--white)!important;
    box-shadow: var(--box-shadow)!important;
    display: flex;
}

.ulh-item {
    font-size: 12pt;
    color: var(--black);
}

.search-users.text-field i {
    position: absolute;
    right: 0px;
    top: 0px;
    height: 50px;
    width: 50px;
    text-align: center;
    line-height: 50px;
    font-size: 13pt;
}

.search-users.text-field i:hover {
    color: var(--primary);
    cursor: pointer;
}

html body .account .settings-section-wrapper .sizes-editor .project-size-header > .col.s12, html body .account .settings-section-wrapper .project-item-editor .project-item-header > .col.s12 {
    /* padding-right: 1px!important; */
    /* padding-left: 20px!important; */
}

html body .account .settings-section-wrapper .sizes-editor .project-size-header > .col.s12:last-child, html body .account .settings-section-wrapper .sizes-editor .project-size > .col.s12:last-child {
    padding-right: 0px!important;
}

.full-screen-dialog .project-peeps.row {
    padding-top: 20px;
}

.spec-settings-overview-text.ql-editor {
    padding-top: 0px;
    padding-bottom: 0px;
}

.text-field i.right {
    position: absolute;
    top: 0px;
    right: 0px;
    height: 50px;
    width: 45px;
    line-height: 50px;
    text-align: center;
    font-size: 15pt;
    cursor: pointer;
}

.btn.btn-transparent.selected {
    color: var(--primary)!important;
    background-color: var(--light-white)!important;
    /* border-bottom: 1px solid var(--primary); */
}

.portfolios-container .btn.btn-transparent.selected {
    border-bottom: none;
}

.portfolios-container .btn.btn-transparent:first-child {
    border-radius: 5px 0px 0px 5px!important;
}

.portfolios-container .title-right .btn.btn-transparent, .portfolios-container .title-right .btn.btn-transparent i {
    height: 40px!important;
    line-height: 40px!important;
}

html body .portfolios-container .title-right .btn.btn-transparent {
    /* background-color: var(--extra-light)!important; */
    font-size: 13px;
}

.portfolios-container .btn.btn-transparent:last-child {
    border-radius: 0px 5px 5px 0px!important;
}

.portfolios-container .settings-body .btn.btn-transparent {
    border-radius: 5px!important;
}

.sidebar-top-actions .btn.btn-transparent.selected {
    border-bottom: none;
}

.btn.btn-transparent.selected i, .btn.btn-transparent.selected span {
    color: var(--primary)!important;
}

.integration {
    display: inline-block;
    margin-bottom: 20px!important;
    padding: 25px 0px;
    /* border-radius: 10px; */
    vertical-align: top;
    border-top: 1px dashed var(--border);
}

.integration:first-child {padding-top: 10px;border-top: none;}

.integrations .integration {
    margin-bottom: 0.5px!important;
    padding: 40px 40px 30px!important;
    /* padding-bottom: 10px!important; */
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    border: none;
    box-shadow: var(--box-shadow);
    margin-bottom: 2px!important;
    line-height: 25px;
    box-sizing: border-box;
    width: calc(50% - 5px);
}

.integrations .integration:hover {
    background-color: var(--extra-light);
}

.settings .integrations .integration:nth-child(2n) {
    /* width: calc(49% - 30px); */
    /* margin-left: 30px!important; */
}

.integrations .integration:nth-child(2n) {
    /* width: calc(50% - 2px); */
    /* margin-left: 2px; */
    /* margin-left: 2px; */
}

.integration:last-child {/* border-bottom: 1px dashed var(--border); */padding-bottom: 0px;}

.integration.row > .s1 {
    padding-right: 30px!important;
}

.settings .integration.row > .s1 {
    padding: 0px 5px!important;
    margin-top: 5px;
}

.integration:nth-child(3n) {
    margin-right: 0px;
}

.integration .description {
    /* margin-bottom: 10px; */
    font-size: 13px;
    margin-top: 0px;
    vertical-align: top;
    margin-top: -9px!important;
    line-height: 23px;
    color: var(--light-text);
    max-width: calc(100% - 40px);
}

.integration .name {
    font-size: 14px;
    margin-bottom: 0px;
    font-weight: 400;
}

.integration .btn.btn-transparent {
    padding-right: 0px!important;
    float: left;
    /* margin-right: -15px; */
    padding-left: 0px!important;
    margin-top: -1px;
    margin-bottom: -5px;
    height: 30px;
    line-height: 30px;
    font-size: 14px;
    text-transform: uppercase;
    font-size: 9pt;
}

.integration .btn.btn-transparent i {
    color: var(--icon-color);
}

.team-settings-body {
    /* background-color: var(--extra-light)!important; */
    /* border-radius: 10px; */
}

.integration-settings {
            /* allows wrapping if needed */
            --gap: 30px;
            --cols: 2;
            display: flex;
            flex-wrap: wrap;
            gap: var(--gap);
            align-items: flex-start;
            justify-content: flex-start;
}

.integration-editor .integration-settings {
    /* margin-left: -10px!important; */
    /* margin-right: -10px!important; */
    /* width: calc(100% + 20px); */
    display: flex;
    gap: 30px;
    padding-top: 30px;
}

.settings.account .integration-editor .integration-settings {
    margin-left: 0px!important;
    margin-right: 0px!important;
    width: 100%!important;
}

.settings.account .integration-settings, .settings.account .integration-section {
    background-color: var(--white);
    padding: 40px;
    border-radius: var(--border-radius-sm);
    /* box-shadow: var(--box-shadow); */
    margin-bottom: 5px!important;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    border: none;
}

.integration-actions {
    text-align: right;
}

.integration-actions .btn:last-child {
    padding-right: 0px!important;
}

.settings-section-wrapper.card {
    /* max-width: 1040px; */
    /* margin: 0px auto; */
}

.spec-cover .settings-section-wrapper.card {
    padding: 40px;
    width: 100%;
}

.integrations-body .card {margin-top: 0px;/* background-color: var(--background-color); *//* border-radius: var(--border-radius-smallish); *//* border: 1px solid var(--light-border); */}

.integrations-hub .card {
    margin-bottom: 5px;
}

.text-field .switch > span {
    display: inline-block;
    float: left;
    margin-right: 0px!important;
}

.chat-settings-panel .settings-content {
    /* max-width: 1040px; */
    /* margin: 0px auto; */
    padding: 0px 25px;
    line-height: normal;
}

.chat-settings-panel .chat-settings-toggle-label {
    font-size: 10pt;
    margin-right: 100px;
}

.user-editor .btn.btn-transparent {
    padding-left: 0px!important;
    font-size: 10pt;
}

.general-project-setttings > .text, .feature-set > .text {
    padding-bottom: 20px;
}

.project-settings {
    margin: 0px auto;
    max-width: 1040px;
    width: 100%;
    display: block;
}

.project-settings .settings-header h5 {text-transform: lowercase;}

.project-settings.project-permissions-editor {
    max-width: calc(100% - 100px);
}

.project-settings.project-permissions-editor .setting-row {
    /* margin-bottom: 30px!important; */
    margin-top: 0px!important;
    display: flex;
    gap: 5px;
    margin-bottom: 5px;
}

.row.page-users.setting-row.project-perms {
    padding-bottom: 40px!important;
}

html body input[type=text]:disabled {
    color: var(--light-text)!important;
}

html body .timelog-day input[type=text]:disabled {
    color: var(--black);
}

.integration-setting {
    /* display: flex; */
    /* width: 50%; */
    /* padding-right: 10px!important; */
    /* padding-left: 10px!important; */
    /* position: relative; */
    /* margin-bottom: 10px!important; */
    float: none!important;
    margin: 0px;
    margin-left: 0px!important;
    box-sizing: border-box;
    flex: 0 0 48%;
}

.integration-setting.pairings {
    margin-bottom: 0px!important;
}

.integration-helper .integration-setting {
    padding-left: 0px!important;
    padding-right: 0px!important;
}

.integration-helper .integration-setting > .col:first-child {
    padding-right: 15px!important;
}

.integration-helper .integration-setting > .col:last-child {
    padding-left: 15px!important;
}

.feature-set {
    padding-left: 10px!important;
}

.overview-meta a:hover {
    color: var(--primary);
}

.project-outline {
    /* overflow-y: auto; */
    /* height: calc(100dvh - 64px)!important; */
    transition: none;
}

.project-outline .sps-sidebar.sidebar {
    width: 100%!important;
}

.project-title {height: 60px;display: table;padding-right: 30px;}

.spec-sidebar .project-title {
    margin-right: 0px!important;
    font-size: 17px;
    line-height: 18pt;
    letter-spacing: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
    height: 81px!important;
    font-weight: 300;
    display: flex;
    align-items: center;
}

.tf-button label {
    width: auto;
}

.button-container {
    display: inline-block;
    width: 100%;
}

.spec-item-integrations .card {
    padding: 40px;
}

.spec-item-integrations {
    padding: 40px;
}

.panel-viewer .spec-item-integrations {
    padding: 20px 30px;
}

.spec-item-integrations.oe {
    height: calc(100dvh - 115px);
    position: relative;
}

.spec-item-integrations.oe .document-modal {
    position: absolute;
}

.distraction-free .spec-item-integrations.oe {
    height: calc(100dvh - 50px)!important;
}

.spec-item-integrations .card {max-width: 780px;margin: 0px auto;}

.panel-viewer .spec-item-integrations .card {
    box-shadow: none!important;
    border: 1px solid var(--border);
}

html body .activity-card.card {
    background-color: var(--white)!important;
    padding: 30px!important;
    padding-bottom: 30px!important;
}

.jira-integration-project-link {
    /* color: var(--primary); */
    /* font-size: 9pt; */
    /* padding: 30px; */
    /* background-color: var(--white); */
    border-radius: 10px;
}

.item {
    vertical-align: top;
}

.todo-linkable-meta {
    display: block;
    width: 100%;
    font-size: 9pt!important;
    color: var(--light-text);
}

.compare-descriptions ul > ol {
    padding-left: 0px;
}

html body .mention-user img {
    /* margin-right: 10px; */
    /* max-width: 25px; */
    /* line-height: 45px!important; */
    /* border-radius: 5px; */
    /* vertical-align: middle; */
    /* margin-top: -4px!important; */
}

.project-tasks-container {
    /* max-width: 1280px; */
    margin: 0px auto;
    /* padding-top: 40px; */
    /* padding-bottom: 40px; */
    padding-right: 40px;
    padding-left: 40px;
    display: block;
    height: calc(100dvh - 135px);
    overflow: hidden;
}

.project-tasks-container .ui-grid {
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
    /* border: 1px solid var(--border)!important; */
    max-height: calc(100dvh - 160px);
    box-shadow: var(--box-shadow)!important;
}

.project-tasks-container .ui-grid .ui-grid-viewport {
    height: calc(100dvh - 222px)!important;
}

.project-tasks-header {
    /* font-size: 10pt; */
    padding-left: 20px;
    padding-right: 20px;
    font-weight: 500!important;
    font-size: 12px;
}

.project-task {
    background-color: var(--white);
    padding: 0px 20px;
    margin-bottom: -6px!important;
    cursor: pointer;
    font-size: 10pt;
    color: var(--light-text);
}

.project-task .m6 {
    font-size: 10pt!important;
    color: var(--black);
}

.project-tasks-items {
    border-radius: 15px;
    /* overflow: hidden; */
}

.project-tasks-items .table-header-sub-item, .project-tasks-items .table-data-cell-subitem {
    width: 16.2%;
    display: inline-block;
    padding-right: 15px;
    padding-left: 15px;
    text-align: center;
    box-sizing: border-box;
    height: 50px;
    line-height: 17px;
    vertical-align: top;
    position: relative;
    font-size: 9pt;
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
}

.project-tasks-header .table-header-sub-item {
    line-height: 50px;
}

.table-header-sub-item:hover, .table-header-sub-item.selected {
    color: var(--primary);
}

.table-data-cell-subitem .btn.btn-transparent {
    color: var(--light-text)!important;
}

.table-data-cell-subitem .btn.btn-transparent:hover {
    color: var(--primary)!important;
}

.project-tasks-items .table-data-cell-subitem .text-field.with-dropdown {
    text-align: left;
    width: 100%;
    padding-left: 0px;
}

.project-tasks-items .col > div:last-child {
    /* text-align: right; */
    padding-right: 0px;
}

.m3 .table-header-sub-item {
    text-align: left;
}

.create-new-timelog {
    margin-bottom: 0px!important;
    display: inline-block;
    width: 100%;
    padding-top: 10px;
}

.timelog-entry input::placeholder {
    color: var(--black)!important;
}

.create-new-timelog .timelog-day .col {
    padding-left: 1px!important;
}

.create-new-timelog .timelog-day .col:first-child {
    padding-left: 0px!important;
}

.save-timelog .btn {
    height: 50px;
    vertical-align: top;
    width: 100%;
    text-align: center;
    padding: 0px!important;
    color: var(--black)!important;
    line-height: 50px;
    border-radius: 0px 5px 5px 0px!important;
    background-color: var(--background-color)!important;
}

.save-timelog .btn:hover {
    color: var(--primary)!important;
    /* background-color: var(--primary)!important; */
}

.save-timelog .btn:hover i {
    color: var(--good)!important;
}

.create-new-timelog .timelog-entry {
    display: inline-block;
    width: 100%;
    height: 45px;
    margin-bottom: 0px;
}

.user-initials-box {
    height: 45px;
    width: 100%!important;
    line-height: 45px;
    text-align: center;
    background-color: var(--extra-light);
    border-radius: 5px 0px 0px 5px;
    padding-right: 5px;
    padding-left: 5px;
    cursor: pointer;
    font-size: 9pt;
}

.user-initials-box i.right {
    line-height: 45px;
    width: 11px;
    font-size: 12pt;
    margin-left: 0px!important;
}

.project-time-section {
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    padding: 40px;
    box-shadow: 0px 1px 2px var(--shadow);
}

.project-time-section .timelog-day-section {
    margin-bottom: 30px;
    padding: 0px;
}

.project-time-section .timelog-day-section:last-child {
    margin-bottom: 0px!important;
}

.project-time-section .timelog-day-section:last-child {
    margin-bottom: 0px!important;
}

.pts-header > div {
    display: block;
    width: 50%;
    float: left;
}

.pts-header > div:last-child {
    text-align: right;
    font-size: 9pt;
}

.pts-header {width: 100%;display: inline-block;margin-bottom: 7px;/* margin-top: 10px; *//* color: var(--primary); */}

.pts-logs .pts-header {
    margin-bottom: 15px;
}

.pts-total-time {
    /* display: inline-block; */
    /* width: 50%; */
    /* text-align: left; */
    /* font-size: 10pt; */
    /* color: var(--black); */
    /* line-height: 38px; */
    /* margin-top: 0px!important; */
    font-weight: 500;
    line-height: normal;
    padding-bottom: 4px;
}

.pts-logs {
    /* padding: 40px; */
    /* background-color: var(--white); */
    /* border-radius: var(--border-radius); */
}

.pts-logs .font11 {
    font-family: var(--nothing);
    text-transform: lowercase;
    font-size: 20px;
}

.project-stats-page .project-stats {
    max-width: 1040px;
    /* background-color: var(--white); */
    border-radius: 10px;
    /* padding: 40px; */
    margin: 40px auto;
}

.project-stats-page .project-stats .overview-section-header {
    height: 50px;
    align-items: anchor-center;
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.timelog-log-section {
    padding-top: 30px;
    /* height: calc(100dvh - 377px); */
    /* overflow-y: auto; */
    margin-left: -40px;
    margin-right: -40px;
    padding-left: 40px;
    padding-right: 40px;
    }

.distraction-free .timelog-log-section {
    height: calc(100dvh - 313px);
}

.timelog-spec-meta .col span {
    display: inline-block;
    width: auto!important;
}

.timelog-spec-meta {
    font-size: 13px;
    line-height: normal;
    /* height: 20px; */
    vertical-align: middle;
}

.timelog-project-name {
    color: var(--light-text);
}

.timelog-spec-meta > .col.s6 > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.timelog-spec-meta .col:last-child {
    text-align: right;
}

.timelog-actions {
    text-align: right;
    /* height: 45px; */
}

.project-item-activity.card {
    max-width: 720px;
    margin: 0px auto;
}

.spec-versions-card.card {
    padding: 40px;
    max-width: 720px;
    margin: 0px auto;
}

.attachments-card.card {
    max-width: 720px;
    padding: 40px;
    margin: 0px auto;
    height: calc(100dvh - 195px);
}

.distraction-free .attachments-card.card {
    height: calc(100dvh - 130px);
}

.deleteItems .the-time {
    display: inline-block;
}

.timelog-entry .the-time:hover {
    color: var(--primary);
}

.button-container .btn {
    display: inline-block;
    width: 50px!important;
    float: left!important;
}

.time-field-wrapp {
    display: inline-block;
    width: 100%;
    border-radius: 5px;
    overflow: hidden;
}

#timer .elapsed-time input[type="text"] {
    /* border-radius: 5px 0px 0px 5px!important; */
    border: none;
    color: var(--light-text);
}

#timer .elapsed-time input[type="text"]:hover {
    color: var(--black);
}

.timer-container .timer input:focus {
    border-bottom: none!important;
    box-shadow: none!important;
}

.timelog-spec-project-meta {
    color: var(--light-text);
    font-size: 8.5pt;
    line-height: 11pt;
}

.nav-widget-title {
    font-size: 15pt;
    margin-bottom: 0px;
    color: var(--primary-color);
    cursor: pointer;
    font-family: var(--nothing);
}

.timelog-header {
    display: none;
}

.timelog-header.show-header {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: 20px;
    color: var(--light-text);
    padding-bottom: 6px;
    border-radius: 5px;
    /* font-size: 9pt; */
    /* padding-left: 10px; */
    padding: 0px 14px 1px;
    line-height: normal;
    padding-bottom: 6px;
}

.timelog-header.show-header .left {
    font-weight: 500;
    color: var(--black);
}

.to-and-from-wrapper span {padding-right: 0px!important;font-size: 8pt;}

.timelogs .nav-timelog:first-child .timelog-header {
    margin-top: 5px!important;
}

.dark-mode-nav-switch {
    padding: 0;
    /* width: 100%; */
    color: var(--black);
    height: 50px;
    line-height: 50px;
    /* display: inline-block; */
    float: right;
    width: 50px;
}

.dark-mode-nav-switch .theme {
    width: 50px;
    float: right;
    cursor: pointer;
    text-align: center;
}

.dark-mode-nav-switch .lever {
    line-height: 50px!important;
    margin-bottom: 13px!important;
    margin-right: 3px!important;
    margin-left: 5px!important;
}

.dark-mode-nav-switch i {
    color: var(--icon-color);
    line-height: 50px!important;
    height: 50px!important;
    font-size: 13pt;
    margin-top: 0px;
}

.dark-mode-nav-switch i.active, .dark-mode-nav-switch:hover i {
    color: var(--primary);
}

.dark-mode-nav-switch i.active {
    /* transform: rotate(180deg); */
}

.dark-mode-nav-switch label {
    float: right;
}

.google-visualization-tooltip {
    border: none!important;
    border-radius: var(--border-radius-tiny)!important;
    padding: 10px!important;
    box-shadow: var(--box-shadow)!important;
    margin-top: -10px!important;
    background-color: var(--background-color)!important;
}

.google-visualization-tooltip * {
    font-family: var(--body-font)!important;
    background-color: var(--background-color)!important;
}

.dark .google-visualization-tooltip > ul > li > span {
    color: var(--black)!important;
    background-color: transparent!important;
}

.zj-spec-create-form .features {
    text-align: left;
}

.zj-spec-create-form .features label {
    font-size: 13p;
}

.ts-container {
    padding-top: 20px;
    line-height: normal;
}

.nav-timelogs-header {
    padding-top: 10px;
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding: 15px 32px;
    line-height: normal;
    font-weight: 500;
    color: var(--black);
    background-color: var(--light-white);
    border-top: 1px solid var(--light-border);
    /* border-radius: var(--border-radius-xs); */
    position: absolute;
    bottom: 50px;
    left: 0;
    right: 0;
    z-index: 9999;
}

.to-and-from-wrapper {
    color: var(--light-text);
}

.timelog-time-selector {
    display: inline-block;
    width: 100%;
    /* max-width: 50%; */
    border-radius: 5px;
    margin-bottom: 30px;
    color: var(--primary);
    margin: 0px auto 10px;
}

.project-roles .timelog-time-selector {
    margin: 0px auto;
    display: inline-block;
    margin-bottom: 20px!important;
    float: right;
    width: auto;
    margin-right: -10px;
}

.timelog-time-selector .tts:hover {
    color: var(--black);
}

.tts {
    display: inline-block;
    /* width: 110px; */
    margin: 0px;
    text-align: center;
    cursor: pointer;
    float: left;
    height: 45px;
    line-height: 45px;
    /* background-color: var(--extra-light); */
    color: var(--black);
    padding: 0px;
    border-radius: 5px;
    border: 1px solid var(--white);
    text-align: center;
    user-select: none;
    font-size: 13px;
}

.tts:hover {
    color: var(--primary)!important;
}

.tts i {
    line-height: 45px;
}

.tts:first-child {
    /* text-align: left; */
    width: 45px;
    padding: 0px!important;
}

.tts:last-child {
    /* text-align: right; */
    width: 45px;
    padding: 0px!important;
}

.todo-text-not-allowed {
    padding: 10px 0px 10px 0px;
    font-size: 10.5pt;
    word-break: break-word;
    white-space: break-spaces;
}

.todo-text-not-allowed.missing-text {
    color: var(--light-text);
}

.todo-description-assignee .user-image-pic {
    max-width: 25px;
    float: left;
    height: 30px;
    line-height: 30px;
    margin-right: 12px;
}

.todo-description-assignee {
    height: 36px;
    line-height: 36px;
    margin-top: 0px!important;
    margin-left: -2px;
    margin-right: 10px;
    color: var(--light-text);
    cursor: pointer;
    display: inline-block;
    width: auto;
    /* padding: 0px 11px 0px 17px; */
    /* border-radius: 5px; */
    /* border: 1px solid var(--border); */
    /* background-color: var(--white); */
}

.todo-description-assignee i {
    line-height: 32px;
    margin-right: 0px!important;
}

.todo-description-assignee > span {display: inline-block;float: left;/* line-height: 30px; */font-size: 13px;font-weight: 400;color: var(--black);}

.tda-text {overflow: hidden;white-space: nowrap;text-overflow: ellipsis;width: auto;max-width: calc(100% - 34px);padding-left: 4px;padding-right: 4px;}

.tda-icon:last-child {line-height: 30px;padding-left: 1px;}

.todo-description-assignee .span {display: grid;}

.todo-description-assignee span i {margin-top: 2px;}

.todo-description-assignee:hover {
    opacity: 1;
    border-color: var(--primary);
}

.todo-description-assignee i {
    color: var(--light-text)!important;
}

.todo-description-assignee:hover i {color: var(--primary);}

.todo-description-assignee:hover, .todo-description-assignee:hover i, .todo-description-assignee:hover .tda-text {
    color: var(--primary)!important;
}

.todo-description-assignee i {
    /* line-height: 19px; */
    vertical-align: middle;
    font-size: 15pt;
}

.editable-todo-text {
    margin-top: 5px;
    margin-bottom: 7px;
}

.todo-quick-actions {
    /* border-bottom: 1px solid var(--light-border); */
    /* border-top: 1px dashed var(--border); */
    padding-bottom: 0px;
    /* margin-top: 15px!important; */
    padding-top: 10px;
    /* padding-left: 3px; */
    /* padding: 1px 8px; */
}

.todo-quick-actions .btn {
    font-size: 13px!important;
}

.image-annotations .todo-quick-actions > .col:first-child {/* width: 60%!important; *//* text-align: left!important; *//* float: left!important; */height: 36px;}

.row.jira-settings .btn {
    padding-right: 0px!important;
}

.footer-buttons {
    text-align: right;
}

.footer-buttons .btn.btn-transparent {
    color: var(--black)!important;
    padding-left: 20px!important;
}

.footer-buttons .btn.btn-transparent:hover {
    color: var(--primary)!important;
}

.nwh-action-items {
    display: inline-block;
    float: right;
    position: absolute;
    right: 30px;
    top: 20px;
}

.nwh-action-items .btn {
    padding: 0px 12px!important;
    color: var(--black)!important;
    line-height: 36px;
    background-color: var(--background-color)!important;
    text-align: center;
}

.nwh-action-items .btn i {
    color: var(--black)!important;
}

.nwh-action-items .btn i {
    line-height: 36px;
    color: var(--primary);
}

ul.dropdown-contentt {
    z-index: 9999999999999;
    background-color: var(--xwhite);
    max-height: 50vh;
    overflow-y: auto;
    position: absolute;
    width: 100%;
}

html body #timer .search input {
    background-color: var(--light)!important;
    margin-bottom: 0px!important;
    margin: 0px!important;
    width: 100%;
    border: none!important;
}

.a-collection {
    position: relative;
    /* border-radius: 10px; */
    /* display: none; */
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    }

.full-screen .a-collection .collection-body {
    max-height: calc(100dvh - 232px)!important;
}

.a-collection > ul {
    margin-bottom: 0px!important;
    padding-bottom: 0px;
}

.timer-container.quick-timelog-editor .the-timelog-day {
    /* position: absolute; */
    /* z-index: 9999999999; */
    /* background-color: var(--xwhite); */
    /* padding: 10px 30px 30px; */
    /* margin: 0px -30px; */
    /* height: calc(100dvh - 200px); */
    /* width: 100%; */
}

.profile-task-items .items.task-items {
    padding-bottom: 0px;
    line-height: 14px;
    /* display: inline-block; */
    /* width: calc(100% + 50px); */
    /* margin-left: -10px; */
    /* display: block; */
}

nav .profile-task-items .items.task-items {
    /* display: inline-block; */
    width: 100%;
    margin-left: 0px;
    border-top: 1px solid var(--white);
}

.tboard-tasks .profile-task-items .item:last-child {
    margin-bottom: 15px;
}

.profile-projects .top-right-widget-actions .btn.btn-transparent i {
    color: var(--black);
}

.profile-projects .top-right-widget-actions .btn.btn-transparent:last-child {
    padding-right: 0px!important;
}

.toggle-auto-time {
    display: inline-block;
    width: auto;
    padding-right: 0px;
}

.toggle-auto-time label {
    font-size: 9pt!important;
}

.toggle-auto-time .lever {
    height: 12px!important;
    width: 30px!important;
}

.toggle-auto-time .lever::after {
    height: 17px!important;
    width: 17px!important;
}

.timelog-totals .edit-settings-btn.btn {
    height: 56px!important;
    line-height: 56px;
    text-align: center!important;
    padding: 0px!important;
    width: 50px;
    margin-right: 20px;
}

.timelog-totals .edit-settings-btn.btn i {
    color: var(--black);
}

/* Time uses the same persistent Work footer, with a compact status center. */
.time-work-panel {
    box-sizing: border-box;
    height: 100%;
    padding-bottom: 50px;
    background-color: var(--white);
}

.time-work-panel .nav-widget-header {
    background-color: var(--white);
    padding: 20px 30px 15px;
    line-height: normal;
}

.time-work-panel .timelog-totals.time-panel-footer {
    align-items: center;
    bottom: 0;
    display: flex;
    /* grid-template-columns: max-content minmax(0, 1fr) max-content; */
    height: 50px;
    left: 0;
    line-height: 50px;
    margin: 0;
    padding: 0 12px 0 0;
    position: absolute;
    right: 0;
    z-index: 2;
}

.time-work-panel .footer-nav-buttons {
    grid-column: 1;
}

.time-work-panel .time-panel-footer-total {
    color: var(--light-text);
    grid-column: 2;
    min-width: 0;
    overflow: hidden;
    padding: 0 12px;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.time-work-panel .time-panel-footer-total strong {
    color: var(--black);
    font-weight: 500;
}

.time-work-panel .time-panel-footer-actions {
    align-items: center;
    display: flex;
    grid-column: 3;
    height: 50px;
    white-space: nowrap;
}

.time-work-panel .toggle-auto-time {
    height: 50px;
    line-height: 50px;
    margin-right: 10px;
}

.toggle-auto-time .lever {
    margin-right: 0!important;
}

.time-work-panel .time-panel-footer .edit-settings-btn.btn {
    height: 50px!important;
    line-height: 50px;
    margin: 0;
    padding: 0!important;
    width: 50px;
}

.time-work-panel .time-panel-footer .edit-settings-btn.btn i {
    line-height: 50px!important;
}

.time-work-panel .timelog-details {
    box-sizing: border-box;
    padding-bottom: 60px!important;
}

@media only screen and (max-width: 480px) {
    .time-work-panel {
        padding-bottom: 100px;
    }

    .time-work-panel .timelog-totals.time-panel-footer {
        grid-template-columns: minmax(0, 1fr) max-content;
        grid-template-rows: 50px 50px;
        height: 100px;
    }

    .time-work-panel .time-panel-footer-total {
        grid-column: 1;
        grid-row: 1;
        text-align: left;
    }

    .time-work-panel .time-panel-footer-actions {
        grid-column: 2;
        grid-row: 1;
    }

    .time-work-panel .footer-nav-buttons {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .time-work-panel .time-panel-auto-label {
        display: none;
    }

    .time-work-panel .toggle-auto-time .lever {
        margin: 0 8px;
    }

    .time-work-panel .timelog-details {
        padding-bottom: 100px!important;
    }
}

.widget-actions {
    display: inline-block;
    width: auto;
    /* padding-right: 20px; */
    height: 44px;
    line-height: 44px;
}

#timer .the-timelog-meta-details.text-field > .project-selector:first-child .dropdown-selector {
    border-radius: 0px 0px 0px 0px!important;
    border-right: 0px;
    /* overflow: hidden; */
}

#timer .the-timelog-time-spent.text-field input {
    /* border-radius: 0px 0px 10px 0px!important; */
    border-right: 0px;
}

.collection-body .loading-message {
    margin-top: 30vh;
    margin-bottom: 30vh;
}

.add-new-meta-item {
    position: relative;
    margin-top: -17px;
}

body .setting-option .add-new-meta-item .btn.btn-transparent {
    position: absolute;
    top: 0px;
    right: 0px;
    margin: 0px!important;
    padding: 0px!important;
    width: 45px!important;
    min-width: 45px;
}

.log-hms input {
    padding-right: 0px!important;
}

.elapsed-time .sub-text.helper-text {
    margin-top: 0px;
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 0px;
    text-align: left;
    font-size: 7pt!important;
    padding-left: 20px;
}

.project-roles-options .custom-dropdown {
    display: inline-block;
    width: auto;
    text-align: left;
    vertical-align: top;
    height: unset!important;
    line-height: unset!important;
}

.project-roles-options .custom-dropdown .cd-handle i {
    height: 20px!important;
    line-height: 20px!important;
    font-size: 15px;
    margin-left: 3px!important;
}

.project-roles-options {
    /* text-align: right; */
    /* width: auto; */
    /* height: 36px; */
    /* line-height: 36px; */
    /* margin: 0px!important; */
    /* display: inline-block; */
    /* float: right; */
}

.profile-page .project-roles-options {
    display: flex;
    align-items: center;
    gap: 20px;
    float: right;
    /* margin-top: -5px; */
    position: relative;
}

nav .project-roles-options {
    float: left;
    padding-left: 30px;
}

.profile-notifications .project-roles-options {margin-top: 25px!important;}

.profile-todo-items .the-todo-item:first-child .profile-todos-project-name, .profile-todo-items .the-todo-item:first-child .profile-todos-project-status {
    display: inline-block;
    /* font-size: 11pt; */
    padding-bottom: 2px;
    margin-top: 0px!important;
}

.profile-todo-items .the-todo-item:first-child .profile-todos-project-name {
    width: 60%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 10px;
}

.profile-todo-items .the-todo-item:first-child .profile-todos-project-status {
    width: 40%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-left: 10px;
    text-align: right;
}

.profile-todo-items .the-todo-item:first-child .profile-todos-project-status {
    float: right;
}

.profile-todo-items .the-todo-item .profile-todos-project-name, .profile-todo-items .the-todo-item .profile-todos-project-status {
    display: none;
}

.todo-summary-summarya {
    /* padding-bottom: 2px; */
}

.item.the-todo-item {
    width: 100%;
}

.item.the-todo-item:hover {
    background-color: var(--extra-light)!important;
}

.item.the-todo-item:last-child .a-todo-item {
    border-bottom: none!important;
    margin-bottom: 0;
}

.todos-project-header {
    /* margin-left: -40px; */
    /* margin-right: -40px; */
    /* padding-left: 40px; */
    /* padding-right: 40px; */
    /* height: 36px; */
    line-height: normal;
    cursor: pointer;
    color: var(--primary);
    display: inline-block;
    width: 100%;
    position: relative;
    min-height: 30px;
    padding: 20px;
    background-color: var(--white);
}

.dark .todos-project-header {
    background-color: var(--background-color);
}

.dark .todos-project-header {
    background-color: var(--white);
}

.dark nav .todos-project-header {
    /* background-color: var(--extra-light); */
}

.profile-page .todos-project-header {
    padding: 25px 30px;
}

.todos-project-header .btn.btn-transparent {
    width: 50px;
    height: 36px!important;
    line-height: 36px;
    max-height: 36px!important;
    margin: 0px!important;
    text-align: center;
}

.todos-project-header .right-contents {
    /* position: absolute; */
    /* top: 2px; */
    /* right: 0px; */
    /* float: none!important; */
    /* width: auto!important; */
    /* margin-bottom: 0px!important; */
}

.todos-project-header .btn.btn-transparent i {
    height: 36px!important;
    line-height: 36px;
    color: var(--light-text);
}

.todos-project-header .btn.btn-transparent:hover i {
    color: var(--icon-color);
}

.todos-project-header > div {
    /* display: inline-block; */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.todos-project-header > div:first-child {
    width: 100%;
    padding-right: 10px;
    float: left;
}

.nav-todos-list-container .todos-project-header > div:first-child {
    font-size: 14px;
    font-weight: 400;
    max-width: calc(100% - 50px);
}

.todos-project-header > div:last-child {
    /* width: 100%; */
    /* text-align: left; */
    /* margin-bottom: 10px; */
}

.todos-project-header:hover .profile-todos-project-name {
    /* background-color: var(--extra-light); */
text-decoration: underline!important;}

.the-profile-project-section {
    padding-bottom: 30px;
    /* border: 1px solid var(--border); */
    border-radius: 5px;
    /* padding: 30px; */
    /* margin-bottom: 30px; */
    margin-top: 0px;
}

.the-profile-project-section .profile-project-section {
    padding: 0px;
}

.the-profile-project-section .profile-project-section > .row {
    position: relative;
}

.the-profile-project-section:last-child {
    padding-bottom: 0;
}

.chart-header-actions {
    display: inline-block;
    /* float: right; */
    position: absolute;
    top: -47px;
    right: 0px;
    z-index: 99999;
}

.roadmap .chart-header-actions {
    top: 68px;
    right: 60px;
}

.roadmap .chart-header-actions {
    top: 25px;
    right: 80px;
}

.chart-header-actions .btn, .chart-header-actions .btn i {
    /* line-height: unset!important; */
    /* height: unset!important; */
    font-size: 15pt;
}

.chart-header-actions .btn {
    font-size: 10pt!important;
    color: var(--icon-color)!important;
}

.profile-projects.pproject {
    width: 100%;
    vertical-align: top;
    line-height: 21px;
    padding: 0;
    margin-bottom: 20px;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: var(--box-shadow);
}

.profile-projects.pproject {
    background-color: var(--white);
    /* border: 1px solid var(--light-border); */
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
}

nav .profile-projects.pproject {
    /* background-color: var(--white)!important; */
    /* border: none; */
}

.dark .profile-projects.pproject {
    background-color: var(--background-color);
    box-shadow: 0px 1px 2px var(--extra-light);
}

.profile-projects.pproject.opened {
    background-color: var(--veryvery-light);
    margin-top: 0px;
    box-shadow: var(--box-shadow);
    /* border: none; */
    transition: all .5s ease-in-out;
}

.profile-projects.pproject.collapsed {
    /* padding: 15px!important; */
    margin-bottom: 2px;
    /* transition: all .3s ease-in-out; */
}

.profile-projects.pproject.collapsed .profile-todos-project-name, .profile-projects.pproject.collapsed .circle-number {
    padding-bottom: 0px;
    /* opacity: .6; */
}

.profile-projects.pproject.collapsed .circle-number.opened {
    opacity: 1;
}

.profile-projects.pproject.collapsed:hover {
    opacity: 1;
}

.profile-sidebar {
    display: inline-block;
    float: left;
    max-width: 288px;
    min-width: 288px;
    height: calc(100dvh - 64px);
    background-color: var(--white);
position: relative;}

.the-profile-body {
    max-width: 880px;
    margin: 40px auto;
    /* display: inline-block; */
    /* float: right; */
    /* width: calc(100% - 288px)!important; */
    /* overflow-y: auto; */
    /* height: calc(100dvh - 64px); */
    border-radius: 0!important;
}

.the-profile-body.profile\.id\.notifications {
    margin-top: 0;
}

.the-profile-body.profile\.id\.notifications li.item {
    padding: 30px;
}

.the-profile-body.profile\.id\.notifications .card {
    background: transparent;
    box-shadow: none!important;
}

.the-profile-body.profile\.id\.focus {
    max-width: 1140px;
}

.the-profile-body.profile\.id\.overview {
    max-width: unset;
    margin-top: 0;
    margin-bottom: 0;
}

.the-profile-body.profile\.id\.overview .profile-overview-page {
    padding: 35px 50px 50px;
}

.the-profile-body.profile\.id\.myweek {
    margin: 0;
    width: 100%!important;
    max-width: 100%;
    /* background-color: var(--white); */
    border-left: 1px solid var(--light-border);
}

.the-profile-body.mail-open {
    max-width: unset;
    margin-top: 0;
    margin-bottom: 0;
    height: calc(100dvh - 64px);
    border-left: 1px solid var(--border);
}

.list-view .the-profile-body {
    max-width: unset;
    padding: 0px 50px;
    margin-top: 30px;
}

.profile-sidebar-body {
    padding: 0px 30px;
    height: calc(100dvh - 64px - 331px);
}

.profile-sidebar-body {
    padding: 0;
}

.profile-todos-project-status {
    font-size: 12px;
    /* line-height: 11px; */
    margin-top: 0px;
}

.timelog-total-stat {
    padding-bottom: 0px;
    border-radius: 5px;
    display: inline-block;
    width: 50%;
    color: var(--primary);
    margin-top: 12px;
    font-size: 12pt;
    line-height: 30px!important;
}

.timelog-total-stat i {
    line-height: 30px!important;
    float: left;
    margin-right: 8px;
}

.timelog-total-stat > span {
    width: 100%;
    margin-bottom: 4px;
    display: inline-block;
}

.timelog-total-stat span span {
    padding-right: 5px;
}

.top-right-widget-actions .btn {
    display: inline-block;
    width: 45px;
    height: 45px;
    padding: 0px!important;
    line-height: 45px;
    text-align: center;
    border-radius: 5px!important;
    margin-left: -1px;
}

rect[fill="#4d4d4d"] {
    height: 100%!important;
    width: 1px!important;
    fill: var(--light-text)!important;
    user-select: none!important;
}

.the-timelog-comment.text-field input {
    border-right: 0px;
}

.project-details-input [type="date"] {
    background-color: var(--background-color)!important;
    border-bottom: none!important;
    box-shadow: none!important;
    padding: 0px 15px!important;
    border-radius: 5px!important;
    height: 50px!important;
    line-height: 50px!important;
}

.roadmap-dates .form-field {
    margin-bottom: 20px!important;
}

.full-screen-dialog .project-details .open-btn {
    position: absolute;
    top: 55px;
    right: 100px;
    color: var(--black);
}

.full-screen-dialog .project-details .open-btn i {
    color: var(--black);
}

.integration-preview a {padding: 10px 20px;background-color: var(--background-color);border: 1px solid var(--light-border);display: inline-block;width: auto;border-radius: var(--border-radius-tiny);}

.the-answer {
    white-space: break-spaces;
}

.account-activity-card {
    /* background-color: var(--white); */
    /* padding: 40px; */
    max-width: 780px;
    margin: 0px auto;
    /* border-radius: var(--border-radius-tiny); */
    /* box-shadow: var(--box-shadow); */
}

.account-activity-card .timeline-item {
    /* padding-left: 0px; */
    /* padding-right: 0px; */
}

.integration-section {
    /* padding: 30px; */
    /* border-top: 1px solid var(--border); */
    padding-top: 30px;
}

.integration-section-title {
    color: var(--primary);
    font-size: 12pt;
}

.todo-selected-text {
    margin-top: 4px!important;
    margin-top: 0px;
    padding-left: 1px;
    color: var(--dark);
    cursor: pointer;
    line-height: 15px;
}

.todo-selected-text .the-selected-text {
    display: block;
    width: 100%;
}

.todo-description .todo-selected-text .the-selected-text {
}

.todo-selected-text .the-selected-text span {
}

.the-selected-text .selected-text {
    display: table;
}

.nav-sidebar .todo-selected-text .the-selected-text {
    line-height: 18px!important;
}

.listings .notes-container .todo-selected-text {
    /* padding-left: 40px; */
    /* padding-right: 40px; */
}

.spec-versions-actions {
    position: fixed;
    bottom: 0px;
    right: 40px;
    z-index: 99999999999999999999999999999999999999999999999999999999999999999999999999999999;
}

.spec-versions-actions .btn {
    border: none!important;
}

.spec-versions-actions .btn {
    padding: 0px 10px!important;
}

.spec-versions-actions .btn i {
    color: var(--icon-color);
}

.spec-versions-actions .btn:hover i, .spec-versions-actions .btn.selected i {
    color: var(--primary);
}

.zj-empty-message-button.btn.btn-warning i {
    color: var(--primary);
}

li.search-user-picker {
    padding-right: 0px!important;
}

.dropdown-content.top-nav-sub {
    border-radius: 0px 0px 5px 5px!important;
}

.dropdown-content.top-nav-sub > li a {
    text-transform: lowercase;
}

.dropdown-content.top-nav-sub a {
    color: var(--black);
}

.overview-section-header-actions {
    display: inline-block;
    float: right;
    text-align: right;
}

.overview-section-header-actions .btn:last-child {
    padding-right: 0px!important;
}

.overview-section-header-actions .btn {
    padding: 0px!important;
    width: 50px;
    text-align: center;
    line-height: 40px;
}

.overview-section-header-actions .btn:last-child {
    padding-right: 0px!important;
    line-height: 28px;
    height: 24px;
}

.overview-section-header-actions .btn {
    /* opacity: 0; */
    transition: opacity .3s ease-in-out;
}

.overview-section:hover .overview-section-header-actions .btn {
    opacity: 1;
}

.spec-sidebar {width: 330px;height: calc(100dvh - 64px);background-color: var(--white);position: absolute;top: 0;padding-top: 2px;z-index: 2;opacity: 1;visibility: visible;/* transition: all 1s ease; */left: 0px;float: left;/* box-shadow: 0px 1px 2px var(--shadow); */z-index: 4;/* border-right: 1px solid var(--light-border); */box-shadow: var(--box-shadow);}

.text-field.outline-editor-description {
    display: flex;
}

.spec-sidebar .project-outline .project-header {
    height: auto!important;
    display: inline-block!important;
    width: 100%;
    max-height: 100%;
}

.spec-sidebar .project-outline .project-header.ng-hide {
    display: none!important;
}

.sidebar-open .spec-sidebar {
    left: 0px;
    visibility: visible;
    opacity: 1;
}

.spec-sidebar.expanded {
    width: 100%;
    z-index: 9;
}

.sidebar-closed .spec-sidebar {left: -18%;opacity: 0;visibility: hidden;}

.spec-item-main-body .spec-sidebar {top: 0px;width: 300px;}

.distraction-free .spec-sidebar {z-index: 1;display: none;}

.distraction-free.view2 .spec-sidebar, .distraction-free.view3 .spec-sidebar {
    display: block;
    position: fixed;
    top: 0px;
    height: 100%;
    border-right: 1px solid var(--border);
}

.images-only .spec-sidebar {z-index: 9999999999999999999999999999999!important;/* position: relative; */}

.full-screen-no-sidebar .spec-sidebar {z-index: 1!important;}

.selected-spec-item-image img {margin: 0px auto;display: block;border-radius: 5px;box-shadow: 0px 1px 2px var(--shadow);}

.ssii img {
   opacity: 0;
   -webkit-transition: all .3s ease;
   -moz-transition: all .3s ease;
   -ms-transition: all .3s ease;
   -o-transition: all .3s ease;
   transition: all .3s ease;
   }

.ssii img.loaded {opacity: 1;}

.dark .selected-spec-item-image > div:hover img {opacity: 1;}

.zj-body.distraction-free {z-index: 999999999999;}

.distraction-free .spec-description-edit {max-width: 880px;margin: 0px auto;height: calc(100dvh - 50px);padding: 0px 0px;box-sizing: border-box;overflow-y: hidden!important;}

.distraction-free .spec-description-edit.fullWidth {
    max-width: 100%;
    padding: 10px 0px;
}

.project-tasks {
    overflow-y: none;
    auto;
    height: calc(100dvh - 64px);
    }

.activity-sidebar {position: relative;}

.project-stats-page.zj-specification-body {height: calc(100dvh - 64px);vertical-align: top;overflow-y: auto;}

.a9s-annotation .a9s-inner, .a9s-selection .a9s-inner {stroke: var(--primary)!important;stroke-width: 2px!important;}

.a9s-annotation .a9s-inner:hover {
    fill: var(--primary) !important;
    fill-opacity: .2;
}

.a9s-handle .a9s-handle-inner {stroke: var(--primary)!important;fill: var(--primary)!important;}

body .a9s-annotation.editable .a9s-inner, .a9s-selection .a9s-inner {stroke: var(--warning)!important;}

body .a9s-annotation.selected .a9s-inner {stroke: var(--primary)!important;}

.a9s-annotation.editable .a9s-inner:hover {fill: var(--primary)!important;fill-opacity: .2;}

body .r6o-btn {background-color: var(--primary);border: 1px solid var(--primary);/* border-radius: 5px; */margin: 0px!important;margin-right: 0px!important;margin-left: 0px!important;}

body .r6o-btn:hover {background-color: var(--primary);color: var(--awhite)!important;}

body .r6o-btn.outline {border: 1px solid var(--border);color: var(--primary);background-color: transparent;}

.r6o-editor .r6o-editor-inner {background-color: var(--white)!important;border-radius: 10px!important;overflow: hidden;}

.r6o-widget.comment.editable {background-color: var(--white)!important;border: none!important;}

.r6o-editable-text {
    color: var(--black)!important;
    line-height: 18px;
    padding: 20px 20px 0px!important;
    min-height: 60px!important;
}

.r6o-widget.r6o-tag {background-color: var(--white)!important;border: none!important;display: none!important;}

.r6o-widget.r6o-tag input {padding-left: 17px!important;border-bottom: none!important;box-shadow: none!important;margin-bottom: 0px!important;height: 40px;line-height: 45px!important;color: var(--black)!important;}

.r6o-widget.comment {background-color: var(--white)!important;border-bottom: 1px solid var(--border)!important;}

.r6o-widget.comment .r6o-arrow-down {background-color: var(--white)!important;border: none!important;top: 19px!important;right: 20px!important;}

.r6o-widget.comment .r6o-arrow-down svg path {fill: var(--primary)!important;}

.r6o-footer.r6o-draggable {padding: 0px 20px 20px!important;}

.r6o-editor .r6o-footer .r6o-btn.delete-annotation {margin-left: 10px;}

.r6o-editor .r6o-footer .r6o-btn.delete-annotation:hover path {fill: var(--awhite)!important;}

.r6o-editor .r6o-footer .r6o-btn.delete-annotation path {fill: var(--warning);}

body .r6o-editor .r6o-arrow:after {background-color: var(--white)!important;}

.spec-item-image-comments-container .panel-comments {padding-left: 0px;padding-right: 0px;padding-top: 0px;}

.spec-item-image-comments-container {height: calc(100dvh - 221px);margin-left: -20px;margin-right: -20px;}

.spec-item-image-comments-container .listings .post-bottom-bar {position: absolute;bottom: 10px;right: 0px;left: 0px;padding-right: 20px;}

.spec-item-image-comments-container .panel-comments .posts-create {border: 1px solid var(--border);padding: 20px;background-color: var(--extra-light);}

.spec-item-image-comments-container .create-new-post {padding-left: 20px;padding-right: 20px;}

.spec-item-image-comments-container .create-new-post.create-action {padding-right: 0px;}

.spec-item-image-comments-container .listings .listing-item {border-radius: 0px;margin-bottom: 0px!important;border: none;border-top: 1px solid var(--light);}

.spec-item-image-comments-container .post-footer {padding-left: 20px;padding-right: 20px;}

.spec-item-image-comments-container .listing-item .listing-description {padding-left: 20px!important;padding-right: 20px!important;}

.spec-item-image-comments-container .listing-item-header {padding-left: 20px;padding-right: 20px;}

.edit-post-actions ul.dropdown-content {
    right: 0px!important;
    left: unset!important;
}

.selected-spec-item-image > div {display: block!important;width: auto;}

.ssii div {display: block!important;}

.image-annotations .ticket-todos {padding: 0px 0px!important;/* margin-left: -30px; *//* margin-right: -30px; */height: calc(100dvh - 64px)!important;/* border-top: 1px dashed var(--border); */overflow-x: hidden;}

.image-annotations .todo-items .todo-item {padding-left: 0px;padding-right: 4px;}

.image-annotations .edit-tools .todo-meta {padding-left: 0px;padding-top: 0px;/* margin-top: 5px; *//* margin-bottom: 5px; *//* padding-right: 25px; */height: 50px;}

.image-annotations .todo-items .profile-name {width: calc(100% - 90px);}

.image-annotations .todo-items .edit-todo-body {box-shadow: none;border: none;/* border-top: 1px dashed var(--light); */border-radius: 0px!important;/* padding-top: 10px; */height: calc(100dvh - 64px);}

.image-action-buttons .zj-attachment-button.comments {display: none;}

.image-annotations .show-hide-completed .todo-items input {display: none!important;}

.add-anno-helper {margin-left: 18%;position: absolute;right: -200px;bottom: 0px;}

.add-anno-helper .btn {/* text-transform: capitalize; */cursor: pointer;cursor: pointer;}

.spec-item-image .r6o-widget.comment.editable {display: none;}

.spec-item-image .r6o-footer.r6o-draggable {padding: 0px!important;background: transparent;text-align: left;width: 180px;}

.annotation-count {
    position: absolute; top: 0px;right: 0px;height: 25px;line-height: 25px;font-size: 9pt;width: 25px;font-weight: 500;z-index: 9999999;background-color: var(--warning);color: var(--awhite);border-radius: 0px 5px 0px 5px;cursor: pointer;text-align: center;box-shadow: 0px 0px 2px var(--shadow);}

.selected-spec-item-image {padding: 50px;height: calc(100dvh - 114px);min-height: calc(100dvh - 114px);background-color: var(--background-color);}

.version-selector .version-btn.btn span {padding-left: 5px;padding-right: 5px;}

.version-selector .version-btn.btn i.right {margin-left: 5px;margin-right: 10px;position: absolute;right: 0px;top: 0px;}

.card.team-selector {position: absolute;top: 0px;right: 0px;left: 0px;bottom: 0px;z-index: 99;margin: 0px;background-color: rgba(0, 0, 0, .7);}

.card.team-selector .inline-dialog {top: 50px;display: block;margin: 0px auto!important;position: relative;max-width: 700px;padding: 40px;}

.card.team-selector .inline-dialog h6 {margin-bottom: 20px!important;}

.card.team-selector .inline-dialog .dialog-footer {padding-top: 30px!important;display: inline-block;width: 100%;}

.dialog-footer {/* display: inline-block; */position: relative;text-align: right;}

.dialog-footer > .btn.btn-transparent {
    text-transform: uppercase;
    border: 1px solid var(--border);
}

.status-updates-page .sidebar {height: calc(100dvh - 64px);}

.zj-body-content .sidebar {/* height: calc(100dvh - 64px); */left: 0px!important;}

.project-posts .spec-sidebar {
    width: 20%!important;
}

.boards .boards-sidebar {height: calc(100dvh - 64px);}

.image-annotations .todo-contain {padding: 0px 0px 15px;/* border-top: 1px solid var(--border); *//* border-radius: 5px; */}

.image-annotations .editing-todo .todo-contain {padding: 30px;border: none;}

.image-annotations .leave-comment {padding-top: 5px;}

.sii-comments-leave-comment label {font-size: 9.5pt!important;}

.version-selector a {font-size: 9pt!important;line-height: 1.3!important;}

.version-selector a .sub-text {font-size: 9pt;}

.context-buttons.centered-buttons {margin: 0px auto;max-width: 230px;position: absolute;left: calc(50% - 115px);}

.context-buttons.right {display: block;width: auto;position: absolute;right: 0px;top: 0px;float: none!important;text-align: right;z-index: 0;}

.right.context-buttons .btn {
    color: var(--icon-color)!important;
}

.context-buttons.right .toggle-label {
    text-transform: capitalize;
    color: var(--light-text);
    line-height: 50px;
    display: inline-block;
    float: left;
    padding-right: 15px;
    font-size: 9pt;
}

#imageVersions li a {position: relative;}

#imageVersions li a .badge {position: absolute;top: 13px;right: 20px;background-color: var(--primary);color: var(--awhite)!important;border-radius: 5px;height: 24px;width: 24px!important;max-width: 24px!important;min-width: 24px;text-align: center;padding: 0px;line-height: 24px!important;}

#imageVersions li:hover a .badge {
    background-color: var(--primary)!important;
}

.request-invite-form .btn {padding: 3px 40px!important;height: auto;border-radius: 5px!important;}

.request-invite-form textarea {padding: 10px 20px!important;border-radius: 5px!important;max-height: 36vh!important;overflow-y: auto!important;border: none;min-height: 80px!important;}

.request-invite-form input {border: none!important;}

.request-invite-form {height: calc(100dvh - 64px);overflow-y: auto;width: 100%;}

.account-sidebar.sidebar {height: calc(100dvh - 64px);}

.the-support-page.row {margin-top: -2px!important;}

.social-btns .btn:first-child {padding-left: 0px!important;}

.social-btns .btn {
    padding: 0px!important;
    text-align: left;
}

nav .user .social-btns .btn {
    line-height: 25px!important;
    height: 25px;
}

.social-btns .btn-transparent i {color: var(--black)!important;opacity: 1;line-height: 36px;height: 36px;}

.user-card .social-btns .btn-transparent i {
    color: var(--primary)!important;
    line-height: 25px;
    height: 25px;
}

.social-btns .btn:hover i {color: var(--primary)!important;}

.social-btns .btn-transparent:hover i {color: var(--primary);}

.profile-actions .profile-action {display: inline-block;width: 50px;height: 50px;line-height: 50px;text-align: center;/* color: var(--light-text); */cursor: pointer;}

.profile-actions .profile-action i {
    font-size: 15pt;
    line-height: 50px;
}

.profile-actions .profile-action:hover {color: var(--primary);}

.profile-actions {/* padding-bottom: 20px; *//* padding: 10px 10px 10px; */position: absolute;bottom: 0px;left: 0px;right: 0px;height: 50px;padding-left: 20px;/* background-color: var(--veryvery-light); *//* border-top: 1px solid var(--light-border); */}

.jtsyn-chat .profile-actions {
    padding-left: 0px;
}

.profile-actions button {
    background-color: var(--primary);
    line-height: 30px;
}

.profile-actions button i {
    font-size: 15px!important;
    margin-top: 5px;
}

.project-images-body {max-height: calc(100dvh - 64px);overflow-y: auto;padding: 50px;}

.image-size-wrapper {max-width: 100%;display: inline-block;float: left;padding-right: 30px;padding-bottom: 30px;position: relative;}

.image-size-wrapper .annotation-count {
    margin-right: 30px;
    text-align: center;
}

.image-size-wrapper .image-name {
    color: var(--light-text);
    line-height: 1.2;
}

.image-size-wrapper img {border-radius: 5px;box-shadow: 0px 1px 2px var(--shadow);cursor: pointer;}

.image-size-wrapper img:hover {box-shadow: 0px 2px 10px var(--shadow);}

.project-images-spec-title {font-size: 13pt;cursor: pointer;padding-bottom: 3px;display: initial;}

.project-images-spec-title:hover {color: var(--primary);}

.project-images-spec-title.indent1 {padding-left: 30px!important;}

.images-row.row {padding-bottom: 50px;}

.images-row.row .row {margin-bottom: 10px!important;}

.project-images-spec-status {display: inline-block;/* padding-left: 10px; */font-size: 9pt;float: left;line-height: 15px;margin-bottom: 0px!important;vertical-align: top;}

.project-image-task-meta > div {display: inline-block;font-size: 9pt;color: var(--light-text);line-height: 15px;vertical-align: top;margin-left: 15px;float: left;vertical-align: top;}

.project-image-task-meta > div i {font-size: 12pt;line-height: 15px;vertical-align: top;user-select: none;}

.project-image-task-meta > div:first-child {margin-left: 0px;}

.sidebar-section-header {text-transform: uppercase;font-weight: 500;color: var(--primary);margin-bottom: 10px;}

.sidebar-setting {position: relative;padding-bottom: 20px;}

.sidebar-setting .lever {
    margin-right: 0px!important;
}

.version-selector li:hover .badge {
    background-color: var(--white)!important;
}

.version-name {
    /* display: inline-block; */
    text-align: left;
    float: left;
    padding: 0px!important;
}

.version-selector .version-name {
    max-width: calc(100% - 55px);
}

.version-selector > .btn {padding: 0px 35px 0px 0px!important;border-right: 1px solid var(--border);width: 160px;text-align: -webkit-left;}

.project-version-settings .row {
    margin-bottom: 10px!important;
}

.versions-editor {
    padding: 20px 0;
}

.versions-editor .col {
    padding-right: 10px!important;
}

.versions-editor .col i {
    line-height: 50px;
    cursor: pointer;
}

.versions-editor .col:first-child i:hover {
    cursor: grab;
}

.versions-editor .col i:hover {
    color: var(--primary);
}

.inline-todo-img {
    vertical-align: middle;
    line-height: 17px;
    float: left;
}

.user-editor .user-list .user:first-child {
    /* padding: 0px; */
    /* background-color: transparent!important; */
    /* border-top-left-radius: 5px; */
    /* border-top-right-radius: 5px; */
}

.user-editor .user-list .user:last-child {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.project-settings .user-editor .search-input {
    margin-bottom: 0px;
}

.project-settings .user-editor .search-input input {
    border-bottom: 1px solid var(--white)!important;
}

.cv-list::after {
    content: ', ';
}

.cv-list:last-of-type::after {
    content: none;
}

.version-selected i {
    font-size: 13pt!important;
    color: var(--black)!important;
    padding-right: 0px;
    vertical-align: middle;
    margin-left: -2px;
    margin-top: -1px;
}

.version-selected.color-primary i {
    color: var(--primary)!important;
}

.btn-top-right {
    position: absolute;
    top: 0px;
    right: 0px;
}

.list-item-editor .btn.btn-transparent.add-new.right {
    line-height: 20px;
    height: 25px;
    padding-right: 0px!important;
}

.list-item-editor .btn.btn-transparent.add-new.right i {
    font-size: 15pt;
    line-height: 26px!important;
}

.list-item-editor {
    position: relative;
}

.notifications-footer {
    padding-left: 0px;
    padding-right: 10px;
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    height: 50px;
    line-height: 50px;
    text-transform: capitalize;
    border-top: 1px solid var(--light-border);
    background-color: var(--white);
}

.notifications-footer .left {
    /* max-width: 80%; */
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
    /* color: var(--primary); */
}

.notifications-footer .btn, .notifications-footer .btn i {
    height: 47px!important;
    line-height: 47px;
    vertical-align: middle;
    color: var(--icon-color);
}

.notifications-footer .btn.selected i {
    font-variation-settings: 'FILL' 1;
}

.notifications-footer .btn {
    display: inline-block;
    font-size: 10pt;
    text-transform: capitalize;
    cursor: pointer;
    border-radius: 0px!important;
}

.btn.btn-transparent.agent-notifications-tab {
    max-width: 50px;
    max-height: 50px;
    padding: 0 7px!important;
}

.btn.btn-transparent.agent-notifications-tab.selected {}

.btn.btn-transparent.agent-notifications-tab svg {
    width: 100%;
    height: 100%;
}

/* Wears .ai-icon-button (css/components/ai-gradient.css): a rounded tile inside the
   square tab, like the chat footer's AI tab. */
.agent-notifications-tab.ai-icon-button {
    --ai-fill-inset: 6px;
    --ai-fill-radius: 10px;
}

.btn.btn-transparent.agent-notifications-tab.selected .jt-ag-ring {
    stroke: var(--primary);
}

.btn.btn-transparent.agent-notifications-tab.selected .jt-ag-letter {
    fill: var(--primary);
}

.btn.btn-transparent.agent-notifications-tab.selected .jt-ag-spark {
    fill: var(--black);
}

.notifications-footer .btn:first-child {
    /* padding-right: 0px!important; */
    /* margin-right: -10px; */
}

.notif-settings {
    position: absolute;
    z-index: 999999999;
    right: 0px;
    bottom: 49px;
    background-color: var(--white);
    max-width: 240px;
    padding: 30px;
    margin-left: 0px;
    margin-right: 0px;
    width: calc(100% - 60px);
    border: 1px solid var(--border);
    border-radius: 5px;
}

.notif-settings .sub-text {height: auto;line-height: 26px;margin-bottom: 5px;}

.programs-editor > .row .col {
    padding-right: 1px!important;
}

.programs-editor > .row .col:last-child {
    padding-right: 0px!important;
}

.spec-item-mobile-sidebar {
    position: absolute;
    right: 10px;
    top: 18px;
    z-index: 999;
}

.profile-page .spec-item-mobile-sidebar {
    top: 15px;
}

.toast a {
    padding-left: 5px;
    padding-right: 5px;
}

.user-viewer .project-user-list .col.s6:last-child {/* text-align: right; *//* padding-right: 20px!important; */}

.last-seen {
    text-align: right;
    padding-right: 20px;
    font-size: 12px;
    color: var(--light-text);
}

.document-modal.editors.user-profile-editor .card {
    max-width: 740px;
}

.project-item-activity .section-tabs {
    /* margin-top: 20px; */
    padding-bottom: 0px;
}

.spec-item-meta {
    margin-top: -15px;
    margin-bottom: 10px;
    font-size: 10pt;
}

.meta-panel .spec-item-meta {
    margin-top: 0px;
}

.the-timeline-content a {
    display: inline-block!important;
    width: 100%;
    float: none!important;
}

.project-tasks .section-title {
    padding-top: 10px;
    padding-left: 50px;
    padding-right: 40px;
}

.project-tasks .section-title .title-left {
    /* vertical-align: middle; */
    line-height: 50px;
}

.select-outlines span {
    font-size: 10.5pt!important;
}

.outline-selector li span {
    font-size: 10pt!important;
}

.outline-selector li {
    padding: 0px 20px;
    display: block;
    height: 50px;
    line-height: 50px!important;
    font-size: 9.5pt;
    color: var(--black)!important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.outline-selector li:hover, .outline-selector li:hover i {
    color: var(--primary)!important;
    z-index: 9999999;
}

.outline-selector li i {
    line-height: 50px!important;
    width: auto;
    margin-right: 10px;
    margin-left: -4px;
}

.zj-sf-f {
    display: inline-block;
    line-height: 50px;
    height: 50px;
}

.outline-selector .number-of {
    float: right;
    text-align: right;
    padding-right: 0px;
    font-size: 8pt!important;
}

.cke_dialog_tab {
    border-bottom: 1px solid var(--border)!important;
    border-radius: 0px!important;
    background: transparent!important;
    font-family: var(--body-font)!important;
    padding: 5px 10px!important;
}

.cke_dialog_tab.cke_dialog_tab_selected, a.cke_dialog_tab:focus {
    border: none!important;
    border-bottom: 1px solid var(--primary)!important;
    color: var(--primary)!important;
    outline: none!important;
    margin-top: 0px!important;
    cursor: pointer;
}

table.cke_dialog_contents {
    border-top: none;
}

.cke_dialog_tabs {margin-left: 19px!important;margin-top: 10px!important;}

.cke_contents table td, .ql-editor table td {
    border: 1px solid var(--light-border);
    padding: 10px!important;
    word-break: normal;
    vertical-align: top;
}

.cke_contents hr, .ql-editor hr {
    margin-top: 20px;
    margin-bottom: 20px;
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px dashed var(--border);
    padding: 0;
}

.outline-title-actions .btn {
    padding: 0px 0px!important;
    width: 45px;
    height: 50px;
    line-height: 50px;
    color: var(--black)!important;
}

.outline-title-actions {
    text-align: right;
    width: 100px!important;
}

.outline-title-actions .btn.btn-transparent {
    padding-right: 0px!important;
    text-align: right;
}

.outline-title-actions .btn:last-child {
    /* padding-right: 0px!important; */
    /* margin-right: -4px; */
}

.outline-title-text {
    font-size: 10pt;
    line-height: 50px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.outline-title input {
    height: 25px!important;
    line-height: 25px!important;
    margin-bottom: 0px!important;
    padding: 0px!important;
    font-size: 10pt!important;
}

.outline-title .inline-dialog {
    padding: 15px!important;
    margin-top: -25px;
    /* max-width: 93%; */
    left: 0px!important;
}

.outline-title.outline-title-editor.row {
    /* position: absolute; */
    bottom: 0px;
    left: 0px;
    right: 0px;
    padding: 0px 20px 0px 20px;
    height: 50px;
    line-height: 50px;
    max-width: 850px;
    margin: 0px auto!important;
    background-color: var(--white);
}

.outline-title.outline-title-editor.row .columnn:first-child {
    overflow: hidden;
    height: 50px;
    float: left;
    width: calc(100% - 100px);
}

.outline-title.outline-title-editor.row .col:first-child {
    overflow: hidden;
}

.outline-selector {
    max-width: 100%;
    width: 100%!important;
    display: flex;
    flex-direction: column;
    gap: 0;
    max-height: 60dvh!important;
}

.panel-comments .listings {
    width: 100%;
    padding: 0px 30px;
}

.meta-panel .panel-comments .listings {
    height: calc(100dvh - 220px);
    overflow-y: auto;
}

.user-menu.header-profile-menu {
    width: 64px!important;
    height: 64px;
    text-align: center;
}

/* ── Top-nav space chip + its switcher ─────────────────────────────────────────
   The "which space am I in?" marker: a 64px square sibling of the avatar showing the
   current space's own icon. It replaced the selector at the bottom of #usermenu,
   which was two clicks deep and told you nothing until you opened the menu.

   #spaceSwitcher is deliberately NOT .nav-dropdown. Inside .top-user-nav that class
   means "full-height slide-in panel pinned to the right edge" (style_cleaned2.css
   `body nav.main-nav .top-user-nav ul.nav-dropdown` + style_cleaned.css
   `.main-nav .dropdown-content.nav-dropdown`, both !important) — correct for
   #usermenu, wrong for a 240px list. Plain .dropdown-content lets Materialize
   position it under the chip. */
.space-chip.right-nav-item {
    height: 64px;
    text-align: center;
}

.space-chip.right-nav-item i.material-symbols-outlined {
    line-height: 64px;
    height: 64px;
    font-size: 20px!important;
}

.space-chip.right-nav-item:hover i.material-symbols-outlined,
.space-chip.right-nav-item.active i.material-symbols-outlined {
    color: var(--primary)!important;
}

#spaceSwitcher.dropdown-content {
    min-width: 320px!important;
    /* Not .nav-dropdown, so it misses mobile.css's full-width treatment. Materialize
       right-aligns it at `chip.left + chip.width - menu.width`, so an unclamped 320px
       menu under a chip 64px from the right edge computes a NEGATIVE left on a phone
       and clips. Its offscreen guard can't save us: the first branch already forces
       'right', so the branch that would flip alignment never runs. */
    max-width: 420px!important;
    padding: 0px;
    border-radius: 0;
    background-color: var(--white)!important;
    right: 0;
    left: unset!important;
    /* bottom: 0px!important; */
    /* top: 64px!important; */
    /* display: flex!important; */
    /* flex-direction: column; */
    max-height: calc(100dvh - 64px)!important;
}

#spaceSwitcher .space-switcher-header {
    min-height: 0px;
    padding: 15px 30px 5px 30px;
    color: var(--light-text);
    text-transform: uppercase;
    font-size: 10px;
    cursor: default;
}

#spaceSwitcher .space-switcher-header:hover {
    background-color: transparent;
}

#spaceSwitcher li.space-list-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0px 30px;
    font-size: 13px;
    overflow: hidden;
    transition: none;
}

#spaceSwitcher li.space-list-item i.material-symbols-outlined,
#spaceSwitcher .space-switcher-footer i.material-symbols-outlined {
    line-height: 50px!important;
    height: 50px!important;
    font-size: 16px;
    font-variation-settings: 'FILL' 0;
}

/* The name is a <div>, not a <span>, on purpose: Materialize styles
   `.dropdown-content li > span` with its own 14px/16px padding and a teal colour. */
#spaceSwitcher .space-switcher-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 400;
}

/* Hover deliberately sets NO background: style_cleaned.css's `body .dropdown-content
   li:hover` already gives it the themed --extra-light, which is distinct from the
   --background-color the selected row gets. Painting both the same (as the old
   .space-list panel did) left the hovered row reading as more selected than the
   selected one, since the only other cue was the icon's FILL 1. */
#spaceSwitcher li.space-list-item:hover {
    color: var(--primary)!important;
}

#spaceSwitcher li.space-list-item.selected {
    background-color: var(--background-color)!important;
}

#spaceSwitcher li.space-list-item.selected i.material-symbols-outlined,
#spaceSwitcher li.space-list-item:hover i.material-symbols-outlined {
    color: var(--primary);
}

/* The unambiguous "you are here" marker, the way Linear/Notion/Asana mark it. */
#spaceSwitcher .space-switcher-check {
    margin-left: auto;
}

#spaceSwitcher .space-switcher-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 50px;
    padding: 0px 30px;
    font-size: 13px;
    color: var(--light-text);
    border-top: 1px solid var(--light-border);
    cursor: pointer;
}

#spaceSwitcher .space-switcher-footer + .space-switcher-footer {
    border-top: none;
}

/* Same reasoning as the rows above: no background here either, so the whole menu
   hovers in one colour (--extra-light) and --background-color stays the selected cue. */
#spaceSwitcher .space-switcher-footer:hover {
    color: var(--primary)!important;
}

#spaceSwitcher .space-switcher-footer:hover i.material-symbols-outlined {
    color: var(--primary)!important;
}

.user-meta {
    font-size: 12px;
    line-height: 12px;
    color: var(--light-text);
    text-decoration: none!important;
}

#usermenu .user-meta {
    margin-top: 3px;
}

.team-profile .user {
    display: flex;
    width: 50%;
    gap: 5px;
    padding: 20px;
    background-color: var(--background-color);
    margin-bottom: 3px;
    border-radius: var(--border-radius-tiny);
}

.btn.deleteitem i {
    color: var(--warning);
}

.btn.deleteitem:hover i, .btn.deleteitem i:hover {
    color: var(--warning)!important;
}

.cke_dialog_contents_body .cke_tpl_list {
    background-color: var(--white);
    border-color: var(--border)!important;
    border: none!important;
    padding: 0px!important;
}

.outline-editor .project-item .selectable.delete i {
    position: relative;
    left: -5px;
    font-size: 14pt;
    vertical-align: middle;
    line-height: 20px;
    margin-right: -2px;
}

.add-image-btn i {
    font-size: 15pt;
    line-height: 30px;
}

.sp-spec-meta .spec-meta-item span {
    text-decoration: underline;
    cursor: pointer;
}

.sp-spec-meta .spec-meta-item span:hover {
    color: var(--primary);
}

.image-annotations .todo-quick-actions > .col {
    width: 100%!important;
    float: none!important;
    text-align: left;
}

.integration-back {
    /* position: absolute; */
    top: 0px;
    /* left: -17px; */
    padding-right: 5px!important;
    font-size: 10pt!important;
    height: 30px!important;
    line-height: 30px!important;
    text-align: center!important;
    margin-left: 0px;
    padding-left: 5px!important;
}

.integration-back i {
    color: var(--black);
}

body .integration-back i {
    line-height: 30px!important;
    vertical-align: top;
    font-size: 12pt;
}

.user-menu-user-details {
    line-height: 20px;
    padding-top: 20px;
    padding-left: 30px;
    padding-right: 20px;
    text-decoration: none!important;
    display: flex;
}

.the-comments.todo-comments li {
    display: inline-block;
    width: 100%;
    margin-bottom: 12px;
}

.the-comments.todo-comments li .comment {padding-left: 11px;}

.the-comments.todo-comments {
    display: inline-block;
    width: 100%;
    padding-top: 0px;
}

.the-comments.todo-comments li {
    background-color: var(--background-color);
    padding: 20px 20px;
    margin-bottom: 5px;
    border-radius: var(--border-radius-tiny);
    border: 1px solid var(--light-border);
}

.the-comments.todo-comments li:last-child {
    padding-bottom: 20px;
}

.the-comments.todo-comments img {
    box-shadow: none;
    width: 100%;
}

.meta-names.clickable {
    color: var(--primary);
}

.meta-names.clickable .the-name:hover {
    text-decoration: underline;
}

.cke_dialog_ui_input_textarea {
    background-color: var(--white)!important;
    color: var(--black)!important;
    font-family: var(--body-font)!important;
    font-size: 10pt!important;
    outline: none!important;
    margin-top: 3px!important;
}

.cke_dialog_ui_input_textarea textarea {
    border: 1px solid var(--border)!important;
    padding: 20px!important;
    background-color: var(--background-color)!important;
}

html body .listing-item .cke_wysiwyg_div {
    padding: 20px 20px 0px;
    background-color: var(--background-color)!important;
    border-radius: 10px;
    margin: 5px 0px 0px;
    min-height: 80px;
    /* max-height: calc(100dvh - 300px); */
}

.listing-item .listing-description.ql-editor.comment-wrapper .cke_wysiwyg_div {
    background-color: transparent!important;
    padding-left: 2px;
    padding-right: 0px;
    padding-top: 5px;
}

.linked-comment.selected {
    color: unset!important;
}

.panel-description-wrapper {
    border-radius: 10px;
    padding: 20px 0px 10px;
    background-color: var(--extra-light);
    margin-top: 30px;
    /* border: 1px solid var(--border); */
}

.meta-panel .panel-description-wrapper .cke .cke_top {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
}

.panel-description-wrapper .cke {
    padding-top: 5px;
    padding-bottom: 0px;
}

.panel-description-wrapper .input-field {
    padding-left: 20px;
    padding-right: 20px;
}

.panel-description-wrapper .input-field input {
    border-bottom: none!important;
}

.panel-viewer {
    position: relative;
    z-index: 999;
}

.meta-panel .task-activity {
    height: calc(100dvh - 220px);
    overflow-y: auto;
}

.the-timelog-comment.text-field {
    margin-bottom: 10px;
}

.quick-timelog-editor .the-timelog-comment.text-field {
    margin-bottom: 0px;
    border-radius: 10px 10px 0px 0px!important;
    overflow: hidden;
    /* max-width: 50%; */
}

.quick-timelog-editor .the-timelog-comment.text-field input {
    border-right: none!important;
}

.the-timelog-times.row {
    margin-bottom: 1px!important;
    /* max-width: 50%; */
}

.timeline-card {
    padding-left: 30px!important;
    padding-right: 30px!important;
}

.panel-viewer .timeline-card {
    margin: 0!important;
}

.activity-section-wrapper .timeline-card {
    padding-left: 0px!important;
    padding-right: 0px!important;
}

.timeline-card li {
    list-style: none!important;
}

.delete-this-li .project-item .selectable.delete {
    margin-top: 0px;
    margin-bottom: 0px;
    width: auto;
    right: 0px;
    position: absolute;
    visibility: hidden;
    opacity: 0;
    user-select: none;
}

li:hover .delete-this-li .project-item .selectable.delete {
    visibility: visible;
    opacity: 1;
}

.delete-this-li > .project-item {
    position: relative;
}

.delete-this-li .inline-dialog {
    box-shadow: none;
    background-color: var(--white);
    height: 50px!important;
    max-height: 50px;
    top: 0px;
    margin-top: 0px;
    line-height: 50px;
    margin-bottom: 0px;
    bottom: 0px;
    padding: 0px!important;
    border-radius: 0px;
    margin-left: -20px!important;
    margin-right: -20px!important;
    width: calc(100% + 40px)!important;
    padding-left: 20px!important;
    padding-right: 20px!important;
}

.delete-this-li .project-item .inline-dialog > span, .delete-this-li .project-item .inline-dialog > a {
    width: auto!important;
    display: inline-block!important;
}

.delete-this-li .project-item .inline-dialog > a {
    float: right;
}

.delete-this-li .project-item .inline-dialog a {
    padding-right: 0px!important;
    user-select: none;
}

.feedback-filters {
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    display: inline-block;
    width: 100%;
    margin-bottom: 30px;
    margin-top: 5px;
    border-radius: 5px;
    overflow: hidden;
}

.feedback-filters > .plsubnav-item {
    width: 20%;
    height: 40px;
    line-height: 40px;
    border-bottom: 1px solid transparent;
}

.feedback-header .right.ta-right {
    position: absolute;
    top: 0px;
    right: 0px;
}

.feedback-header {
    position: relative;
}

.status-meta {
    background-color: var(--extra-light);
    padding: 2px 10px;
    border-radius: 50px;
    font-size: 8pt;
    color: var(--light-text);
}

.listing-actions .status-meta {
    height: 25px;
    line-height: 25px;
    padding: 0px 15px;
    width: auto;
    display: inline-block;
}

.remove-selection i {
    font-size: 13pt;
    line-height: 20px;
    vertical-align: top;
}

.remove-selection {
    line-height: 20px;
    vertical-align: middle;
    color: var(--black);
    display: inline-block;
    padding-left: 10px;
    font-size: 9pt;
}

.remove-selection:hover {color: var(--warning);}

.board-task-info-wrapper > .board-task-meta:first-child {
    margin-top: 3px;
}

.reset-profile-image {
    position: absolute;
    display: none;
}

.project-roles .btn.btn-transparent {
    padding: 0px!important;
}

.project-roles .btn.btn-transparent.delete-item {
    width: 34px;
    height: 34px;
    text-align: center;
    padding: 0px!important;
    line-height: 30px;
    position: absolute;
    background-color: var(--white)!important;
    position: absolute;
    right: -36px;
    top: 0px;
    opacity: 0;
}

.the-profile-body .project-roles .btn.btn-transparent.delete-item {
    line-height: 26px;
}

.project-roles .list-item:hover .btn.btn-transparent.delete-item, .project-roles .row:hover .btn.btn-transparent.delete-item {
    opacity: 1;
}

.project-roles .btn.btn-transparent.delete-item i {color: var(--warning)!important;}

.pproject.collapsed .profile-todos-project-name, .profile-todos-project-name {
    color: var(--black);
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    user-select: none;
}

.profile-todos-project-name:hover {
    color: var(--primary)!important;
}

.pproject .profile-todos-project-name {
    color: var(--black);
    width: auto!important;
    font-size: 14px;
    font-weight: 500;
}

.hide-tweaks label {
    font-size: 9pt!important;
}

.card.contact-page {
    max-width: 440px;
    margin: 50px auto;
    padding: 50px;
    text-align: center;
}

.notification-todo-detail-content {
    /* border: 1px solid var(--border); */
    padding: 20px;
    margin: 2px 0px 5px;
    border-radius: 10px;
    background-color: var(--background-color);
}

.dark .notification-todo-detail-content {
    background-color: var(--extra-light);
}

.notification-todo-detail-content .author-image {
    display: inline-block;
    float: left;
    width: 20px;
    margin-right: 8px;
}

.notification-todo-detail-content .author-image img {
    border-radius: 3px;
}

.notification-todo-detail-content .todo-author-name {
    color: var(--black);
    font-size: 9pt;
    font-weight: 500;
}

.notification-todo-detail-content .todo-summary {
    padding-top: 0px;
    margin-top: 0px!important;
    margin-bottom: 15px;
    display: -webkit-box!important;
    -webkit-line-clamp: 10;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.notification-todo-detail-content .todo-summary a {
    word-break: break-all;
}

.notification-todo-detail-content .todo-selected-text {
    margin-bottom: 3px;
    margin-top: 3px!important;
    font-size: 12px;
    width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    border-color: var(--light-border);
}

.notification-comments-section .author-image {
    max-width: 20px;
    float: left;
    display: inline-block;
    margin-right: 10px;
}

.notification-comments-section .author-image img {
    border-radius: 3px;
}

.notification-comments-section {
    font-size: 9pt;
}

.notification-comments-section .comment-details {
    color: var(--light-text);
}

.ncs-title {
    display: inline-block;
    width: 100%;
    padding-bottom: 5px;
    margin-top: 10px;
}

.notification-previous-comment {
    padding-bottom: 10px;
}

.dark .selected.completed.linked-todo {
    color: var(--awhite);
}

.notification-comments-section .comment-text {
    display: table;
    width: auto;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.notification-previous-comment-length {
    display: inline-block;
    padding-bottom: 5px;
    text-align: center;
    float: right;
    margin-top: -23px;
    color: var(--light-text);
    font-size: 8.5pt;
}

.portfolios-container {
    padding: 35px;
}

.portfolios-container .number-of {
    color: var(--light-text);
    padding-left: 5px;
}

.project-scoring-container .number-of {
    padding-left: 5px;
    color: var(--light-text);
}

.project-scoring-container .card {
    padding: 0px;
    margin: 0px!important;
    background-color: var(--white);
    height: calc(100dvh - 158px);
    border-radius: 10px;
    overflow: hidden;
}

.project-scoring-actions {
    margin-bottom: 0px;
}

.project-scoring-item.row {
    height: 40px;
    line-height: 40px;
    padding-left: 30px;
    padding-right: 30px;
}

.project-scoring-item.row .psi-cell {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.settings-body .setting-group-header {
    font-weight: 500;
    font-size: 11pt;
}

.portfolio-settings.settings .settings-body {
    height: calc(100dvh - 205px);
    /* overflow-y: auto; */
    /* margin-left: -40px; */
    /* padding-left: 40px; */
    /* margin-right: -40px; */
    /* padding-right: 40px; */
    padding-top: 10px;
    padding: 50px;
}

.portfolio-settings.settings .settings-body .user-editor {
    padding: 0px;
    border: none;
}

.list-settings {
    padding-bottom: 30px;
}

.list-settings .col i {
    line-height: 45px;
    font-size: 12pt;
    width: 45px;
    text-align: center;
    cursor: pointer;
}

.list-settings .col:hover i {
    color: var(--warning);
}

.list-settings .row {
    margin-bottom: -4px!important;
}

.list-settings:last-child {
    padding-bottom: 0px;
}

.portfolios-list .core-list-item {
    padding-right: 20px;
    padding-left: 20px;
}

.portfolios-list .spec-info {
    padding-left: 0px;
    padding-right: 0px;
}

.selected-projects {
    background-color: var(--background-color);
    border-radius: 5px;
    margin-top: 15px;
}

.selected-projects .selected-project-list {
    height: calc(100dvh - 400px);
    overflow-y: auto;
    padding: 0px 0px!important;
    padding-right: 0px!important;
    width: 100%;
    position: relative;
}

.selected-projects .selected-project-list.show-search {
    height: calc(100dvh - 451px);
}

.selected-projects .row.selected-project {
    height: 50px;
    line-height: 50px;
    width: 100%;
    padding-right: 20px!important;
    padding-left: 20px;
    margin-bottom: -5px!important;
    position: relative;
}

.selected-projects .row.selected-project.sticky {
    /* position: absolute; */
    width: 100%;
    z-index: 999;
    background-color: var(--background-color)!important;
    font-weight: 500;
    font-size: 9pt;
    border-bottom: 1px solid var(--border);
    border-radius: 5px 5px 0px 0px;
}

.selected-projects .row.selected-project .col.m6 {
    padding-right: 20px!important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.selected-projects .row.selected-project.warning {
    color: var(--warning);
    padding-top: 10px;
}

.selected-projects .row.selected-project .col {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.selected-projects .row.selected-project .delete-project {
    position: absolute;
    right: 10px;
    padding-right: 10px;
    padding-left: 10px;
    line-height: 30px;
    vertical-align: middle;
    display: none;
}

.selected-projects .row.selected-project:hover .delete-project {
    display: inline-block;
    height: 50px;
    line-height: 50px;
}

.selected-projects .row.selected-project.sticky:hover .delete-project {
    display: none;
}

.selected-projects .row.selected-project .delete-project i {
    line-height: 30px;
    vertical-align: middle;
    color: var(--warning);
    font-size: 14pt;
}

.selected-projects .row.selected-project:hover {background-color: var(--border);cursor: pointer;}

.user.team-user {
    padding-bottom: 50px;
    /* padding: 50px; */
    /* border: 1px solid var(--border); */
    /* box-shadow: 0px 1px 2px var(--shadow); */
    border-radius: 15px;
    margin-bottom: 0px;
    margin-top: 20px;
    /* background-color: var(--white); */
    position: relative;
}

.teams .user.team-user {
    margin-top: 0px;
    margin-bottom: var(--border-radius-tiny);
    /* padding-top: 65px; */
    /* padding: 40px; */
    border-radius: var(--border-radius-tiny);
    /* border: 1px solid var(--light); */
}

.teams-page .teams .user.team-user {
    padding: 40px;
    background-color: var(--white);
    box-shadow: var(--box-shadow);
}

.list-view .teams .user.team-user {
    padding: 15px 15px!important;
    margin-bottom: 2px;
    border-radius: 0px;
}

.list-view .single-user  .teams .user.team-user {
    padding: 50px!important;
    border-radius: var(--border-radius-tiny)!important;
    background-color: var(--white);
}

.list-view .teams .user.team-user:first-child {border-radius: 10px 10px 0px 0px;}

.list-view .teams .user.team-user:last-child {
    border-radius: 0px 0px 10px 10px;
}

.list-view .teams .user > .row > .col {
    padding-right: 30px!important;
}

.list-view .teams .user > .row > .col.m4 {
    padding-right: 40px!important;
}

.list-view .teams .user > .row > .col:last-child {
    padding-right: 0px!important;
}

.list-view .teams .user > .row > .col .btn {
    padding: 0px!important;
    width: 40px;
    height: 40px;
    line-height: 40px;
}

.team-user .profile-projects {
    width: 100%;
    vertical-align: top;
}

.team-user .profile-projects .list {
    position: relative;
    margin: 0px;
    border-radius: var(--border-radius-tiny)!important;
    overflow: hidden;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.team-user .project-role-container .list > div:last-child {
    padding-bottom: 10px;
}

.currently-working-on.list {
    margin-top: 20px!important;
}

.team-user .list-item {
    width: 100%;
    position: relative;
}

.list-view .list-item {
    height: 25px;
    font-size: 10pt!important;
}

.list-view .list-item .small-text, .list-view .list-item .project-status {
    font-size: 10pt!important;
    padding-left: 5px;
}

.team-user .list-item .number-of {
    float: right;
}

.team-user .row {
    vertical-align: top;
}

.project-role-container .list-item {
    height: 50px;
    line-height: 50px;
    padding: 0px 25px;
    background-color: transparent;
    /* border-radius: var(--border-radius-tiny); */
    /* margin-bottom: 3px!important; */
    list-select: none;
    /* box-shadow: var(--box-shadow); */
    border-bottom: 1px solid var(--white);
}

.project-role-container .list-item:last-child {
    border-bottom: none;
}

.profile-page .project-role-container .list-item {
    background-color: var(--background-color);
}

.dark .profile-page .project-role-container .list-item {
    background-color: var(--extra-light);
}

.dark .profile-page .project-role-container .list-item:hover {
    background-color: var(--background-color)!important;
}

.project-role-container .list-item:hover {
    background-color: var(--extra-light)!important;
}

.the-user-list .user .user-team-name {
    display: inline-block;
    float: right;
}

.list-wrapper {
    border-radius: 5px;
    /* overflow: hidden; */
}

.uls-team .list-wrapper {
    /* display: flex; */
    /* flex-wrap: wrap; */
    /* gap: 5px; */
    border-radius: unset;
}

.header-input-field.input-field input {
    font-size: 13px!important;
    padding-left: 15px!important;
    padding-right: 15px!important;
    margin: 0px!important;
    height: 40px!important;
    /* box-shadow: 0px 1px 2px var(--shadow)!important; */
    vertical-align: top;
    /* background-color: var(--extra-light)!important; */
    border: 1px solid var(--border)!important;
    border-radius: 5px!important;
}

.header-input-field.input-field input:focus {
    background-color: var(--background-color);
}

.header-input-field.input-field input::placeholder {
    color: var(--light-text);
}

.selected-projects .form-field.search-list {
    margin-bottom: 0px!important;
}

.portfolio .project-meta-settings {
    padding-right: 40px;
    margin-top: 20px;
}

.portfolio .project-meta-settings .form-field {
    margin-bottom: 0px!important;
    border-bottom: 1px solid var(--border);
    background-color: var(--background-color);
    border-radius: 5px 5px 0px 0px;
}

.group-add {
    height: calc(100dvh - 401px);
    overflow-y: auto;
    vertical-align: top;
    margin-top: -4px;
    background-color: var(--background-color);
    border-radius: 0px 0px 5px 5px;
}

.project-meta-settings .dropdown-content {
    max-height: calc(100dvh - 360px)!important;
    width: 100%!important;
}

.project-meta-settings ul.dropdown-content li a {
    background-color: var(--background-color)!important;
}

.project-meta-settings ul.dropdown-content li a:hover {
    background-color: var(--extra-light)!important;
}

.portfolio .rounded-bg {
    padding: 5px 20px;
}

.special-release {
    /* padding-left: 10px; */
    /* padding-right: 10px; */
    /* margin-left: 10px; */
    font-size: 9pt;
    color: var(--light-text);
}

.delete-all {
    display: inline-block;
    position: relative;
}

.portfolios-header.table-header .section-title {
    padding-bottom: 10px;
}

.the-portfolio .ui-grid {
    border: 1px solid var(--border)!important;
    height: calc(100dvh - 275px)!important;
}

.btn.btn-warning {
    color: var(--warning)!important;
    background-color: var(--white)!important;
    border: 1px solid var(--warning);
    border-radius: 3px!important;
    text-transform: capitalize;
}

.btn.btn-warning:hover {
    background-color: var(--warning)!important;
    color: var(--awhite)!important;
}

.see-more-posts button {
    text-align: center;
    max-width: 730px;
    width: 100%;
    display: block;
    margin: 0px auto;
    background-color: var(--light)!important;
    border-radius: 50px!important;
    cursor: pointer;
    height: 50px;
    line-height: 50px;
    margin-bottom: 30px;
    text-transform: capitalize;
    font-size: 10pt;
}

.see-more-posts:hover button {
    color: var(--awhite)!important;
    background-color: var(--primary)!important;
}

.see-more-posts button {background-color: var(--white)!important;max-width: 670px;color: var(--black)!important;}

.todo-description .todo-text-not-allowed.ql-editor {
    padding-top: 0px;
    padding-bottom: 15px;
    font-size: 14px;
}

.image-annotations .edit-tools .todo-description .todo-text-not-allowed.ql-editor {
    padding: 0px 0px 10px;
}

.todo-contain.completed .todo-author-name {
    padding-top: 2px;
    font-size: 13px;
}

.todo-contain .todo-author-name {
    padding-top: 10px;
}

.sii-header.row {
    padding-top: 30px;
    padding-left: 30px;
    padding-right: 30px;
}

.outline-editor .label {
    font-size: 12pt;
    line-height: 15pt;
}

.todo-contain {
    padding-bottom: 0px;
}

/* .todo-contain::before {
    content: 'Todo';
    font-size: 7pt;
    text-transform: uppercase;
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    position: absolute;
    right: 0;
    padding: 3px 10px;
    background-color: var(--extra-light);
    border-radius: 0 5px 0 5px;
} */

.checklist-editor-item .edit-todo-item .todo-contain {
    padding-bottom: 15px;
}

.image-annotations .todo-inline-comments {
    padding-left: 30px;
}

.image-annotations .todo-comments .comment {
    width: calc(100% - 50px);
    padding-left: 5px;
}

.fs-body-wrapper {
    border-radius: 5px;
    overflow: hidden;
}

.inline-dialog.delete.delete-this-todo {
    max-width: 250px;
    width: 100%;
    min-width: 250px;
    right: 105px;
    top: 11px;
}

.image-annotations .inline-dialog.delete.delete-this-todo {
    right: 59px;
}

#dfViews.dropdown-content li, #dfViews.dropdown-content li i, #dfViews1.dropdown-content li, #dfViews1.dropdown-content li i {
    height: 50px!important;
    line-height: 50px!important;
}

#dfViews.dropdown-content li, #dfViews1.dropdown-content li {
    padding: 0px 20px;
    color: var(--black);
}

.spec-item-details .current-status {
    margin-right: 20px;
    width: auto;
}

.spec-item-details .current-status i:last-child {vertical-align: middle;}

#moreActions.dropdown-content {
    right: 0px!important;
    left: unset!important;
    max-width: 200px!important;
    min-width: 100px!important;
}

.empty-state-message {
    text-align: center;
    width: 100%;
    display: inline-block;
    padding: 40px 0px;
}

.task-list-wrapper .empty-state-message {
    margin-top: calc(50dvh - 220px);
    line-height: 20px;
}

.task-list-wrapper .empty-state-message .material-symbols-outlined {
    font-size: 30pt;
    margin-bottom: 10px;
    color: var(--icon-color);
}

.empty-state-message .message-content {
    width: auto;
    background-color: var(--extra-light);
    border-radius: 50px;
    padding: 5px 30px;
    max-width: calc(100% - 60px);
    margin: 0px auto;
    display: inline-block;
}

.fs-container {
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
    vertical-align: top;
    margin-top: -6px;
}

.fs-container.add-new-field {
    margin-bottom: 20px;
}

.fs-container.add-new-field > .row {
    background-color: var(--extra-light);
    border-radius: 10px!important;
    height: 50px;
    line-height: 50px;
    display: inline-block;
    width: 100%;
}

.priorities-editor .fs-container > .row {
    border-bottom: 1px solid var(--white)!important;
}

.priorities-editor .fs-container > .row i {
    color: var(--black);
}

.automatic-timer-options {
    padding-top: 30px;
}

.search-results-title {
    padding-bottom: 10px;
    font-weight: 500;
}

.embedding-results .search-results-title {
    padding-left: 30px;
    font-size: 11px;
    text-transform: uppercase;
    color: var(--light-text);
    font-weight: 300;
    border-top: 1px solid var(--light-border);
    padding-top: 20px;
    margin-top: 40px;
}

.list-item-editor .m6 .user-editor {
    background-color: var(--white);
    padding: 0px!important;
    border-radius: var(--border-radius-tiny);
}

.project-peeps.list-item-editor .row.user-editor {
    margin-bottom: 0px!important;
    margin-top: 5px!important;
    padding-top: 0px!important;
    background-color: var(--background-color);
    /* border: 1px solid var(--light-border); */
    border-radius: var(--border-radius-tiny);
}

.overview-section.project-quick-todos {
    /* padding-bottom: 15px; */
    padding-top: 0px!important;
}

.spec-overview .overview-section.project-quick-todos {
    padding-top: 30px!important;
}

.overview-section.project-quick-todos .title {
    font-size: 15px;
    line-height: 33px;
}

.tasks-table .overview-section.project-quick-todos {
    background-color: var(--white);
    padding: 30px;
    border-radius: 15px;
    max-width: calc(100% - 30px);
    max-height: calc(100dvh - 174px);
    overflow-y: auto;
}

.dropdown-button.btn.btn-transparent.the-views-btn {
    font-size: 9pt!important;
    vertical-align: middle;
    height: 40px!important;
    line-height: 40px!important;
}

.dropdown-button.btn.btn-transparent.the-views-btn:hover span, .dropdown-button.btn.btn-transparent.the-views-btn:hover i {
    color: var(--primary)!important;
    transition: none!important;
}

.dropdown-button.btn.btn-transparent.the-views-btn .comma-separated {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dropdown-button.btn.btn-transparent.the-views-btn i {
    margin-left: 4px;
    line-height: 40px!important;
    vertical-align: middle;
    font-size: 14pt!important;
}

.dropdown-button.btn.btn-transparent.the-views-btn span {
    line-height: 40px!important;
    vertical-align: middle!important;
    color: var(--black)!important;
    height: 40px!important;
    display: inline-block;
    vertical-align: top!important;
}

.multi-selector li span {
    display: inline-block!important;
    float: left;
    line-height: 50px!important;
    height: 50px;
    padding: 0px 20px!important;
}

.multi-selector li .text {
    padding: 0px!important;
    height: 50px;
    line-height: 50px!important;
    font-size: 10pt;
}

.overview-section .integration-level2.row {
    line-height: 23px!important;
    height: 23px;
    padding-left: 10px;
    vertical-align: top;
}

.overview-section .integration-level2.row:hover > div {
    cursor: pointer;
    text-decoration: underline!important;
}

.overview-section .integration-level1 {
    padding-bottom: 20px!important;
}

#todoActions {
    max-width: 300px;
    /* width: auto!important; */
    left: inherit!important;
    right: 0px!important;
    bottom: 0px!important;
    top: unset!important;
    /* height: 204px!important; */
    /* display: block!important; */
    /* flex-direction: column; */
}

#todoActions li label {font-size: 13px!important;}

.image-action-buttons .small-submit-button.cancel {
    border-radius: 50px 0px 0px 50px!important;
}

.task-item-embed.embedding .card .title, .task-item-embed.embedding .card .sub-text {
    display: none;
}

.task-item-embed.embedding .card .input-field {
    margin-top: 0px;
}

.task-item-embed.embedding .card .input-field input {
    border-radius: 0px!important;
    /* background-color: var(--extra-light)!important; */
    padding-right: 50px!important;
    box-shadow: none!important;
    border-top: 1px solid var(--light-border);
    padding-left: 0!important;
}

.task-item-embed.embedding .card .sub-text .input-field {
    margin: 0px!important;
}

.task-item-embed.embedding .card .sub-text .input-field input {
    margin: 0px!important;
}

.spec-item .task-item-embed {
    height: calc(100dvh - 120px)!important;
}

.task-item-embed {
    height: calc(100dvh - 114px);
}

.task-item-embed .embedded-item {
    height: 100%;
}

.task-item-embed .embed-item.card {
    margin: 0px auto;
    width: 100%;
    padding: 40px;
    box-sizing: border-box;
    border-radius: 0px!important;
    height: 100%;
    background-color: var(--background-color);
}

.task-item-embed .embed-item.card > div {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.task-item-embed .embed-item.card > div.title {
    font-family: var(--nothing);
    font-size: 18px;
    text-transform: lowercase;
}

.task-item-embed.embedding .embed-item.card {
    padding: 0px!important;
    z-index: 9999;
    width: calc(100% - 207px);
    right: 55px;
    position: absolute;
    background-color: var(--white);
    box-shadow: none!important;
}

.spec-item-image .left.primary-buttons, .spec-item-image .context-buttons.right {
    min-width: 165px;
}

.team-user-actions {
    text-align: right;
    margin-right: 0px;
    vertical-align: top;
    /* position: absolute; */
    /* opacity: 0; */
    transition: opacity .3s ease-in-out;
    width: auto;
    height: auto;
    /* top: 30px; */
    /* right: 40px; */
    display: flex;
    justify-content: end;
    gap: 0;
}

.project-list-wrapper .team-user-actions {
    gap: 0!important;
}

.team-user-actions .btn {
    height: 50px;
    line-height: 50px;
    margin-top: -10px;
}

.team-user-actions.editor-enabled {
    opacity: 1;
}

.editor-enabled .team-user-actions {
    opacity: 1;
}

.list-view .team-user-actions {
    top: -10px;
    right: 30px;
}

.team-user-actions .btn i {
    color: var(--black)!important;
}

.team-user-actions .btn:hover i {
    color: var(--primary)!important;
}

.team-user-actions .dropdown-content {
    right: 0px!important;
    margin-right: 0px!important;
    padding-left: 0px!important;
    min-width: 300px!important;
    float: right!important;
    max-height: 60vh!important;
}

.team-user-actions .dropdown-content li a {
    padding: 15px 20px;
}

.team-user-actions .dropdown-content li {
    min-height: auto;
}

.team-user-actions .dropdown-content input {
    padding-left: 20px!important;
    padding-right: 20px!important;
    height: 50px!important;
    line-height: 50px!important;
    margin-bottom: 0px!important;
    font-size: 10pt!important;
}

.team-user-actions .btn:last-child {
    padding-right: 0px!important;
    text-align: right!important;
}

.add-proj-dialogs.relative {
    max-width: 220px;
    position: absolute;
    right: 0px;
}

.team-user-actions > .btn.btn-transparent i {
    font-size: 15pt!important;
}

.checklists {
    padding: 40px 0px;
    max-width: 960px;
    margin: 0px auto;
}

.sh.row {
    margin-bottom: 10px!important;
}

.field-section-details {
    padding-left: 40px!important;
}

html body .checklist .body .row .col.m7 {
    padding-right: 30px!important;
}

.zj-spec-create-form {
    max-width: 480px;
    margin: 0px auto;
}

.create-new-project .row .col {
    width: 100%!important;
    padding-right: 0px!important;
    margin-right: 0px!important;
}

.create-new-project .text-field {
    margin-bottom: 15px;
}

html body .card .project-size.row {
    margin-bottom: -6px!important;
    position: relative;
}

html body .card .project-size.row input {
    /* background-color: transparent!important; */
    border-radius: 0!important;
}

html body .card .project-size.row {
    border-bottom: 1px solid var(--white);
    background-color: var(--background-color);
}

html body .card .project-size.row .text-field {
    padding-bottom: 0;
}

.project-size.row .text-field input {
    border-right: 1px solid var(--white);
}

html body .card .project-size.row .hover-warning.btn {
    height: 50px;
    line-height: 50px;
}

html body .card .project-size.row .hover-warning.btn i {
    color: var(--black);
}

.hover-warning:hover, .hover-warning:hover i {
    color: var(--warning)!important;
}

.project-size .inline-dialog.right {
    position: absolute!important;
    right: 20px;
    top: 4px;
    margin-top: 0px;
}

.card .program-item.row {
    margin-bottom: -2px!important;
}

.program-item.row > .col {
    padding-right: 5px!important;
    padding-bottom: 5px;
}

.program-item .switch label {
    line-height: 46px;
    margin-right: -15px;
}

.program-item.row input[disabled] {
    color: var(--black)!important;
}

.checklist-item:hover .text-field {
    color: var(--primary);
    cursor: pointer;
}

.checklists .core-list-item {
    margin-left: -40px!important;
    margin-right: -40px!important;
    padding-left: 40px;
    padding-right: 40px;
    width: calc(100% + 80px);
}

.fields-section .btn i.left {
    color: var(--primary)!important;
}

.fields-section .btn:hover i.left {
    color: var(--primary)!important;
}

.account .card .ta-right .btn.btn-transparent {
    /* height: 30px; */
    /* line-height: 30px; */
    /* width: 35px; */
    /* text-align: center; */
    padding: 0px!important;
    /* border-left: 1px solid var(--border); */
    /* margin-top: -15px; */
    /* margin-right: -15px; */
    margin-left: 20px;
    font-weight: 400;
    color: var(--primary)!important;
}

.account .card  .ta-right .btn.btn-transparent {
    margin-right: 0!important;
}

.account .card .ta-right .btn.btn-transparent i {
    color: var(--black);
}

.account .card .ta-right .btn.btn-transparent i {
    right: 0px;
    width: 50px;
    font-size: 13pt!important;
    font-weight: 500;
}

html body .randomcscrando .dropdown-select i {
    /* margin-right: 10px!important; */
    text-align: right;
    position: relative;
}

.project-checklist .header {
    max-width: 720px;
    margin: 40px auto 0px!important;
    display: block;
    position: relative;
}

.project-editor .text-field {
    padding-top: 20px;
}

.allocation-item.row {
    height: 50px;
    line-height: 50px;
    position: relative;
    background-color: var(--very-light);
    padding: 0px 0px 0px 20px;
    /* border-bottom: 1px solid var(--border); */
}

.allocation-item.row .s3 .text-field {
    width: calc(100% - 50px);
    float: left;
}

.allocation-item.row .text-field {
    padding-top: 0px;
    width: calc(100% - 50px);
    float: left;
}

.allocation-item.row .text-field input {
    background-color: var(--white)!important;
    height: 41px!important;
}

.allocation-item.row .text-field input {
    height: 49px!important;
    line-height: 50px!important;
    vertical-align: top!important;
    padding-right: 0px!important;
    border-radius: 0px!important;
    background-color: transparent!important;
    text-align: right;
    border-left: 1px solid var(--border);
    padding-right: 0px!important;
}

.text-field.setting-option.bottom-section {
    margin-top: 30px;
    border-top: 1px dashed var(--border);
    margin-bottom: 0px!important;
    padding-bottom: 5px;
}

.team-header-actions {
    margin-top: 25px;
    font-size: 9pt;
    color: var(--light-text);
    position: relative;
    display: flex;
    justify-content: end;
}

.the-profile-body .team-header-actions {
    margin-top: 10px;
}

.team-header-actions > .btn.dropdown-selector {
    padding-right: 5px!important;
    position: relative;
}

.team-header-actions > .btn.dropdown-selector .number-of {
    position: absolute;
    top: 0px;
    right: -5px;
    background-color: var(--primary);
    height: 16px;
    width: 16px;
    text-align: center;
    line-height: 16px;
    border-radius: 50px;
    box-shadow: 0px 1px 2px var(--shadow);
    color: var(--awhite);
}

ul#showSettings {
    right: 0px!important;
    top: -13px!important;
    left: unset!important;
    padding: 20px;
}

ul#showSettings .switch {
    padding-top: 20px;
}

ul#showSettings .switch:first-child {
    padding-top: 0px;
}

.project-allocations .list-header {
    text-transform: uppercase;
    color: var(--light-text);
    font-size: 9pt!important;
    padding-top: 30px;
    padding-bottom: 10px;
}

.project-editor .project-allocations .list-header {
    padding-top: 0px;
    margin-top: 0px;
}

.project-allocations .wrapper-border1 .list-header:first-child {
    padding-top: 0px;
    margin-top: 0px;
}

.project-admin-item .btn.btn-transparent {
    height: 50px;
    line-height: 50px;
    padding: 0px!important;
    width: 50px;
    text-align: center;
    float: right;
}

.project-admin-item .btn.btn-transparent i {
    color: var(--black);
    position: relative;
}

.project-admin-item .btn.btn-transparent:hover i {
    color: var(--primary);
}

.project-item-editor .col {
    padding-right: 10px!important;
}

.project-item-editor .col:last-child {
    padding-right: 0px!important;
}

html body .project-admin-item.row > .col, html body .account .project-admin-item.row > .col.m5 {
    padding-right: 1px!important;
}

html body .project-admin-item.row > .col:last-child {
    padding-right: 0px!important;
}

.card .project-admin-item.row {display: block;border-bottom: 1px solid var(--white);}

#addFromTemplate .li > a {
    padding-left: 0px!important;
    padding-right: 0px!important;
}

#addFromTemplate li > a {
    padding: 0;
    padding-left: 20px;
    padding-right: 0px;
    min-height: 50px;
    /* text-overflow: ellipsis; */
    min-width: 300px;
    display: flex;
    align-items: anchor-center;
    /* margin-bottom: -6px!important; */
    /* width: 100%; */
    /* height: auto!important; */
}

#addFromTemplate li li:first-child > a {padding-left: 0px;}

#addFromTemplate li > a .right .btn:hover i {
    /* border-left: 1px solid var(--border); */
    color: var(--primary);
}

#addFromTemplate li > a i {
    line-height: 50px;
    /* width: 50px!important; */
    text-align: center;
    height: 50px!important;
}

#addFromTemplate li > a .btn {
    height: 50px;
    line-height: 50px;
    text-align: center;
    margin-bottom: 0px!important;
    /* padding-left: 11px!important; */
    border-radius: 0px!important;
    margin-left: 0px;
}

#addFromTemplate > li {
    height: auto!important;
    display: flex;
    width: 100%;
}

#addFromTemplate > li:hover ul {
    background-color: var(--xwhite);
    overflow-y: auto;
    max-height: 380px!important;
}

#addFromTemplate ul li {
    height: auto!important;
    display: flex;
}

#addFromTemplate li li {
    padding: 7.5px 0px!important;
    height: unset!important;
    width: 100%;
    display: inline-block;
}

.btn-group li, .btn-group li i {
    height: 50px!important;
    line-height: 50px!important;
    color: var(--black)!important;
}

.list-view .m3 .project-role-container {
    width: 100%;
    display: inline-block;
    /* color: var(--light-text); */
    font-size: 9pt;
    padding-left: 30px;
}

.list-view .project-editor .text-field:first-child {
    padding-top: 0px;
}

.ordered-roadmap-item:hover {
    background-color: var(--extra-light);
    cursor: pointer;
}

.ordered-roadmap-item.row {
    margin-left: -40px!important;
    padding-left: 40px!important;
    margin-right: -40px!important;
    padding-right: 40px!important;
    width: calc(100% + 80px);
}

.ordered-roadmap-item .number-of.light-text {
    padding-left: 4px;
}

.roadmap-list-view {
    /* margin: -40px; */
    /* border: 1px solid var(--border); */
}

.full-screen .roadmap-list-view {
    margin: 0px;
}

.ori-today {
    height: 50px;
    line-height: 50px;
    text-align: left;
    color: var(--primary);
    position: relative;
    margin: 20px 0px;
}

.ori-today span {
    background-color: var(--white);
    z-index: 9999;
    position: relative;
    padding: 0px 20px 0px 0px;
    text-transform: uppercase;
    font-size: 9pt;
}

.ori-today:after {
    content: ' ';
    border-bottom: 1px dashed var(--border)!important;
    width: 100%!important;
    height: 1px;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 25px;
    z-index: 0;
}

ul#projectNavSettings {
    right: 0px!important;
    left: inherit!important;
    overflow: hidden;
    background-color: var(--xwhite)!important;
    /* margin-top: 40px; */
    top: 52px!important;
    /* min-height: 100px; */
    border-top-right-radius: var(--border-radius);
}

ul#projectNavSettings .btn.btn-transparent {
    height: 50px!important;
    line-height: 50px!important;
}

.roadmap ul#projectNavSettings {
    top: 83px!important;
    right: 40px!important;
}

.resource-view .project-team-members, .resource-view .project-leads {
    padding: 15px 0px;
}

.pl-title {
    line-height: 21px;
    text-align: left;
    text-transform: uppercase;
    font-size: 8pt;
    color: var(--black);
}

.toggle-option label {
    font-size: 10pt!important;
}

.end-setting-group {
    height: 1px;
    border-bottom: 1px dashed var(--border);
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-radius: 0px;
}

.checklist .end-setting-group {
    margin-top: -15px;
    margin-bottom: 15px!important;
}

ul#addFromTemplate {
    right: 0px!important;
    left: 0px!important;
    top: 0px!important;
    width: 100%!important;
    /* left: initial!important; */
    /* overflow: hidden; */
    overflow-y: auto;
    /* height: 300px!important; */
    /* max-height: 400px!important; */
    /* min-height: 250px!important; */
    /* max-width: 400px; */
    background-color: var(--xwhite)!important;
    box-shadow: 0px 2px 10px var(--shadow)!important;
}

ul#addFromTemplate li:first-child {
    border-bottom: 1px dashed var(--border);
    padding: 0px!important;
    height: 50px;
    line-height: 50px;
    padding: 0px 20px!important;
    color: var(--black);
}

.inline-author-image i {
    font-size: 26pt;
    padding-top: 4px;
    line-height: 26px;
}

.project-size-header.row .text-field {font-weight: 500;}

.btn-group.add-todos-from-template {
    position: absolute;
    top: 0px;
    right: 0px;
    opacity: 0;
    visibility: hidden;
    display: none;
}

.include-checklist-templates .btn-group.add-todos-from-template {
    opacity: 1;
    visibility: visible;
    display: block;
}

.project-checklist .btn-group.add-todos-from-template {
    top: 30px;
    right: 35px;
}

.overview-section .btn-group.add-todos-from-template {
    top: 13px;
    right: 0px;
    height: 50px;
    line-height: 50px;
    top: 0;
}

.btn-group.add-todos-from-template .btn {
    padding-right: 5px!important;
    /* float: right; */
    /* right: 0px; */
    /* position: absolute; */
}

.randomcscrando {
    /* width: 100%; */
    /* display: inline-block; */
}

#donutchart {
    padding: 30px 0px;
}

.todo-widget-settings i {
    line-height: 36px!important;
    height: 36px!important;
    color: var(--icon-color)!important;
}

.todo-widget-settings {
    padding-right: 10px!important;
}

#todoWidgetSettings {
    bottom: 0px!important;
    display: none!important;
    right: 30px;
    background-color: var(--white)!important;
    opacity: 0;
    padding: 20px;
    border-radius: 10px;
    vertical-align: top;
}

.profile-page #todoWidgetSettings {
    bottom: unset!important;
    right: 0!important;
}

#todoWidgetSettings .btn, #todoWidgetSettings .btn i {
    line-height: 23px!important;
    height: 23px;
    font-size: 14pt;
    padding-right: 0px!important;
}

#todoWidgetSettings .header {
    padding-bottom: 5px;
    vertical-align: top;
    line-height: 25px;
}

#todoWidgetSettings .header .col.s4 .btn {
    margin-left: auto;
    margin-right: 0!important;
}

#todoWidgetSettings .header .col.s4 .btn i {
    margin-right: 0!important;
    margin-left: auto;
}

#todoWidgetSettings.active {
    opacity: 1!important;
    display: inline-block!important;
    top: 0;
    right: -4px!important;
    min-width: 280px!important;
}

.number-of.warning.tww {
    line-height: 24px!important;
    height: 24px;
    margin-bottom: 0px;
    padding: 0px!important;
    font-size: 9pt;
    vertical-align: top;
}

.number-of.warning.tww i {
    font-size: 11pt;
    line-height: 24px!important;
    height: 24px!important;
    vertical-align: middle;
    cursor: pointer;
}

.btn.btn-transparent.todo-widget-settings {
    padding-right: 0px!important;
    text-align: right;
    height: 30px;
    line-height: normal;
    float: right;
}

.integration-editor .s8 .s1 {
    padding-right: 10px!important;
}

.ti-right-seconds.right {
    width: 100%;
}

.stats-container {
    max-height: calc(100dvh - 114px);
    overflow-y: auto;
}

.stats-card.card {
    margin: 0px!important;
    max-height: calc(100dvh - 195px);
}

#addFromTemplate li .col {
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
}

.project-outline-item .open-right i {
    line-height: unset!important;
    height: auto!important;
}

.open-right.display-on-hover {
    position: absolute;
    right: 0px;
    top: -4px;
    width: auto;
    z-index: 99999999999999999999;
    background-color: var(--white);
    text-align: center;
    height: 25px;
    line-height: 25px;
    opacity: 0;
    visibility: hidden;
    user-select: none;
}

.outline-lg .open-right.display-on-hover .btn {
    height: 40px;
    line-height: 40px;
    right: 0px;
}

.outline-lg .open-right.display-on-hover {
    background-color: var(--extra-light);
    height: 39px;
    border-radius: 5px;
}

.open-right.display-on-hover > .btn {
    width: 20px;
    height: 26px;
    padding: 0px!important;
    margin-left: 0px;
    display: inline-block;
    float: right;
    line-height: 26px;
}

.open-right.display-on-hover i {
    max-width: 30px;
    margin: 0px!important;
    display: inline-block;
    position: relative;
    color: var(--icon-color);
    font-size: 10pt;
    vertical-align: middle;
    opacity: 0;
    line-height: 25px!important;
    user-select: none;
}

.project-outline-item:hover .open-right.display-on-hover i, .project-outline-item:hover .open-right.display-on-hover {
    visibility: visible;
    opacity: 1;
}

.btn.btn-transparent.right.close-other {
    padding: 0px 5px!important;
    line-height: 40px;
    right: 30px;
    top: 23px;
    position: absolute;
    background-color: var(--white)!important;
}

.btn.btn-transparent.right.close-other i {
    font-size: 14pt;
    color: var(--black);
}

.open-in-new-container .zj-specification-details-text.card {
    height: calc(100dvh - 114px)!important;
    width: calc(100% - 1px);
    margin: 0px!important;
    overflow: hidden;
    padding: 30px!important;
    padding-top: 30px!important;
    max-width: 780px;
    border-radius: 0px;
    box-shadow: none!important;
    border-left: none;
}

.images-only .open-in-new-container .zj-specification-details-text.card {
    margin: 0px auto!important;
}

.team-user-actions .dropdown-content {
    left: unset!important;
}

.ui-grid-pinned-container.ui-grid-pinned-container-right .ui-grid-header-cell:first-child, .ui-grid-pinned-container.ui-grid-pinned-container-right .ui-grid-cell:first-child {
    border-left: 1px solid var(--border)!important;
}

.account-spaces .program-item .col {
    padding-right: 10px!important;
}

.account-menu-header-text {
    height: auto;
    line-height: initial!important;
    vertical-align: top;
    padding-left: 30px;
    color: var(--light-text);
    text-transform: uppercase;
    font-size: 12px;
    margin-bottom: 5px;
    /* margin-top: 10px; */
    display: flex;
    padding-top: 25px;
}

.account-menu-header-text i {
    position: absolute;
    right: 23px;
    top: 23px;
    font-size: 12pt;
    cursor: pointer;
    color: var(--light-text);
    height: 15px!important;
    line-height: 15px!important;
    width: 15px!important;
}

.account-menu-header-text:hover i {
    color: var(--primary);
}

.project-location-selector:hover, .project-location-selector:hover i {
    color: var(--primary)!important;
}

.project-location-selector {
    position: relative;
    width: auto;
    display: inline-block;
    float: left;
    padding-right: 10px;
    padding-left: 20px;
    margin-top: 0px;
}

.project-location-selector span.capitalize {
    margin-left: 3px;
    margin-right: 3px;
    font-family: var(--nothing);
    font-size: 21px;
    text-transform: lowercase;
}

.project-location-selector.dropdown-select i {
    position: relative;
    width: 20px;
    font-size: 12.5pt;
    line-height: 39px;
    margin-left: 0px;
    margin-right: 2px;
    height: 40px;
}

.projects-header-search-meta {
    display: inline-block;
    width: auto;
    height: 40px;
    line-height: 40px;
    /* margin-top: 4px; */
}

.projects-search-meta {
    /* background-color: var(--extra-light); */
    border: 1px solid var(--light-border);
    height: 38px;
    line-height: 36px;
    vertical-align: middle;
    padding: 0px 15px;
    border-radius: var(--border-radius-tiny);
    font-size: 9pt;
    display: inline-block;
    margin-top: -2px;
    user-select: none;
    margin-right: 0px;
    max-width: calc(50% - 40px);
}

.dark .projects-search-meta {
    border-color: var(--border);
}

.projects-search-meta .clickable::after {
    content: ', ';
}

.projects-search-meta .clickable:last-child::after {
    content: '';
}

.dark .projects-search-meta {
    border-color: var(--scrollbar-color)!important;
}

.projects-search-meta .filtered-by {
    text-transform: capitalize;
}

.projects-search-meta .filtered-by::after {
    content: ', ';
}

.projects-search-meta .filtered-by:last-child::after {
    content: '';
}

.projects-search-meta strong {
    color: var(--primary);
}

.projects-search-meta > div {
    display: inline-block;
}

.projects-search-meta > .btn {
    padding: 0px 0px 0px 0px!important;
    margin: 0px!important;
    height: 30px;
    line-height: 30px;
    margin-left: 10px!important;
}

.projects-search-meta > .btn i {
    font-size: 10pt;
    margin-right: -5px;
}

.task-ai.oe {
    /* height: calc(100dvh - 115px); */
    /* position: relative; */
}

#aiPanel .jt1 {
    /* overflow-y: auto; */
    font-size: 21px;
}

#aiPanel .ai-icon-wrp .jt1 {
    padding-left: 10px;
    padding-right: 0px;
    font-size: 15px;
}

.spec-item-main-body .task-ai.oe {
    /* padding: 30px 30px 165px; */
    /* height: calc(100dvh - 115px); */
}

.ai-panel .ai-panel .task-ai.oe {
    /* height: calc(100dvh - 116px); */
    padding: 30px;
}

.spec-item .ai-panel .ai-panel {
    height: calc(100dvh - 115px);
    overflow-y: hidden;
}

.project-intelligence.spec-item-main-body .task-ai.oe {
    padding: 30px 0px 100px!important;
    height: calc(100dvh - 64px);
}

.ai-panel .prompt-container {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 0px;
    padding-left: 2px;
    padding-right: 2px;
    padding-bottom: 30px;
    box-sizing: border-box;
    z-index: 99;
    background-color: var(--background-color);
}

.project-intelligence .ai-panel .prompt-container {
    padding-left: 0px;
    padding-right: 0px;
    bottom: 0px;
    background-color: var(--background-color);
}

.project-intelligence .ai-panel .prompt-container textarea {
    box-shadow: var(--box-shadow)!important;
}

.spec-overview .ai-panel .prompt-container {
    padding-left: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    bottom: unset!important;
    /* margin-top: -20px; */
    position: relative;
}

.dynamic-overview-view .ai-panel .prompt-container {
    /* padding: 0px; */
    bottom: 5px;
}

.zj-specification-item-details .ai-panel .prompt-container {
    padding-bottom: 30px;
    bottom: 39px;
}

.spec-item-main-body .zj-specification-item-details .ai-panel .prompt-container {
    bottom: 0px;
    padding-top: 0px;
    background-color: var(--background-color)!important;
}

.ai-panel .prompt-container textarea {
    padding: 20px 35px 0px 25px;
    border: none!important;
    min-height: 60px;
    width: 100%;
    max-height: calc(100dvh - 218px);
    margin: 0px auto!important;
    display: flex;
    overflow-y: auto;
    outline: none!important;
    color: var(--black);
    box-sizing: border-box;
    border-bottom: none!important;
    box-shadow: none!important;
    /* background-color: var(--white); */
    font-size: 14px;
}

.spec-item-main-body .ai-panel .prompt-container textarea {
    max-height: calc(100dvh - 186px);
}

.spec-overview .ai-panel .prompt-container textarea {
    background-color: var(--background-color)!important;
    font-family: var(--body-font);
    padding: 20px;
}

html body .spec-item-main-body .ai-panel textarea {
    /* background-color: var(--white)!important; */
    /* box-shadow: var(--box-shadow)!important; */
}

.task-ai .empty-message {
    text-align: center;
    margin-top: calc(50vh - 200px)!important;
    margin-left: auto;
    margin-right: auto;
}

.empty-message > svg {
    max-width: 60px;
}

.task-ai .empty-message .the-message-content {
    width: 100%;
    display: block;
}

.spec-overview .task-ai .empty-message {
    margin-top: 0px;
}

.dynamic-overview-view .task-ai .empty-message {
    margin-top: calc(50vh - 280px);
}

.ai-convo-card {
	padding: 40px;
	/* border-bottom: 1px solid var(--border); */
	cursor: pointer;
	border-radius: 0;
	box-shadow: var(--box-shadow);
	margin-bottom: 5px;
	transition: background 0.15s;
	background-color: var(--white);
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.spec-item-ai-list .ai-convo-card {
    max-width: 760px;
    margin: 0px auto 5px;
    position: relative;
    padding: 30px;
    border-radius: var(--border-radius-tiny);
}

.spec-item-ai-list .ai-convo-card:first-child {
    /* border-top-left-radius: var(--border-radius-tiny); */
    /* border-top-right-radius: var(--border-radius-tiny); */
}

.spec-item-ai-list .ai-convo-card:last-child {
    border-bottom-left-radius: var(--border-radius-tiny);
    border-bottom-right-radius: var(--border-radius-tiny);
    margin-bottom: 20px;
}

.spec-item-ai-list .ai-convo-card:last-child {
    border-bottom: none!important;
}

.spec-item-ai-list .ai-convo-card:last-child {
    border-bottom: none!important;
}

.dark .ai-convo-card:hover {
    background-color: var(--extra-light);
}

.ai-convo-card:hover {
	background: var(--hover-item);
}

.ai-convo-card-icon {
	flex-shrink: 0;
	width: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 1px;
	margin-right: 5px;
}

.flex-between .ai-convo-card-icon {}

.ai-convo-card-icon img {
    box-shadow: none!important;
}

.ai-convo-card-model-img {
	width: 18px;
	height: 18px;
	object-fit: contain;
	display: block;
}

.ai-convo-card-icon .ai-icon.jt1 {
	font-size: 20px;
	width: 18px;
	height: 23px;
	line-height: 23px;
	padding: 0 10px;
	color: var(--primary);
	margin-left: 15px;
	margin-top: -2px;
}

.ai-convo-card-icon .ai-icon.jt1 .good {
    display: none;
}

.ai-convo-card-content {
	flex: 1;
	min-width: 0;
}

.ai-convo-card-title {
	/* font-weight: 400; */
	color: var(--black);
	margin-bottom: 0px;
	font-size: 13px;
	/* white-space: nowrap; */
	/* overflow: hidden; */
	/* text-overflow: ellipsis; */
}

.ai-convo-card-meta {
	font-size: 12px;
	/* color: var(--light-text); */
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-top: 0;
	margin-bottom: 5px;
}

.ai-convo-card-meta > div:first-child {
    font-weight: 500;
}

.task-ai .message-content {
    display: block;
    width: 100%;
    background: none!important;
    padding-top: 0px;
    margin-top: 10px;
}

.empty-message .message-content {
    margin-top: 0;
}

.ai-panel .empty-message .message-content {
    padding-bottom: 10px;
    padding-top: 15px;
}

.empty-message .message-content .nothing.primary {
    font-size: 19px;
    text-transform: lowercase;
    line-height: normal;
}

.task-ai .empty-message i {
    margin: 0px auto;
    width: 50px;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    transition: background-image 0.5s;
    font-size: 32pt;
    user-select: none;
    color: var(--primary);
}

.ai-panel .response-container {/* padding: 0px 40px; *//* background-color: var(--white); *//* border-radius: var(--border-radius-tiny); *//* box-shadow: 0px 1px 2px var(--shadow); *//* max-width: 670px; *//* margin: 0px auto!important; *//* display: block; *//* overflow-x: hidden; *//* overflow: hidden; */}

.the-profile-image {
    /* height: 40px; */
    width: 40px;
    text-align: center;
    vertical-align: middle;
    line-height: 50px;
    background-color: transparent!important;
    color: var(
    --primary);
}

.ai-convo .the-profile-image {
    /* background-color: var(--awhite)!important; */
    border-radius: 5px;
    text-align: center;
    width: 30px!important;
    line-height: 40px;
    height: 36px;
    margin-right: 10px!important;
}

.the-profile-image.intelligence-img {
    padding-top: 0px;
}

.ai-convo .the-profile-image img {
    margin-left: 0px!important;
    max-width: 25px;
    max-height: 25px;
    margin: 0px auto!important;
    display: block;
    line-height: 40px;
    float: none;
    box-shadow: none;
}

.the-profile-image i.material-icons-outlined {
    background-clip: text; /* Clip the gradient within the text */
    -webkit-background-clip: text; /* For Safari */
    color: transparent; /* Make the original icon color transparent */
    background-image: linear-gradient(140deg, var(--primary), var(--good)); /* Replace the colors with your desired gradient */
    transition: background-image 0.5s;
    font-size: 28pt;
    margin-top: -1px;
}

.ai-convo.prompt {
    /* margin-bottom: 3px!important; */
    /* border-bottom-left-radius: 0px; */
    /* border-bottom-right-radius: 0px; */
    padding-bottom: 40px!important;
}

.ai-convo.card {
    max-width: 740px!important;
    margin: 10px auto 0;
    border: 1px solid var(--light-border);
}

html body .ai-convo.listing-item.single-item {
    margin-bottom: 35px!important;
    padding-bottom: 40px!important;
}

html body .ai-convo.listing-item.single-item:last-child {
    margin-bottom: 5px!important;
}

.ai-convo.response {
    /* border-top-left-radius: 0px; */
    /* border-top-right-radius: 0px; */
    padding-top: 10px!important;
    /* padding-bottom: 34px; */
    border-radius: var(--border-radius-tiny);
    box-shadow: none!important;
    border: none;
    background: transparent;
    margin-top: -4px!important;
    width: 100%;
    box-shadow: var(--box-shadow);
    display: flex;
    flex-direction: column;
}

.mail-intel-panel .ai-convo.response {
    background-color: transparent;
}

.dark .ai-convo.card.response {
    border: none;
}

.task-ai {
    width: 100%;
    scrollbar-gutter: unset;
    box-sizing: border-box;
}

.ai-panel.project-ai .task-ai {
    padding-bottom: 120px;
}

.spec-overview .ai-panel.project-ai .task-ai {
    height: auto!important;
    padding-bottom: 0px!important;
}

.dynamic-overview-view .ai-panel.project-ai .task-ai {
    height: calc(100dvh - 230px)!important;
    padding-bottom: 100px;
}

html body .embed-item input {
    background-color: var(--white)!important;
    box-shadow: 0px 1px 2px var(--shadow)!important;
    border-radius: 5px!important;
}

.chat-bar-arrow-buttons .btn.btn-transparent.go-back-btn {
    margin-left: auto;
    right: 8px;
}

.btn.btn-transparent.go-back-btn {
    padding-right: 7px!important;
}

.ai-convo .listing-item-header .col .btn:first-child {padding-right: 5px!important;}

.ai-convo.card.response .ai-chat-stop.btn {
    display: flex;
    align-items: center;
    justify-content: end;
    flex-direction: row;
    float: right;
    background-color: var(--white)!important;
    border: 1px solid var(--light-border)!important;
    color: var(--primary)!important;
    padding: 0px 10px!important;
    height: 30px!important;
}

.ai-convo.card.response .ai-chat-stop.btn,
.ai-convo.card.response .ai-chat-stop.btn i {
    transition: none;
}

.ai-convo.card.response .ai-chat-stop.btn:hover,
.ai-convo.card.response .ai-chat-stop.btn:hover i {
    color: var(--warning)!important;
    border-color: var(--warning)!important;
}

.ai-convo.card.response .ai-chat-stop.btn {
    font-size: 10px;
    margin-top: 8px;
}

.ai-convo.card.response .ai-chat-stop i {
    color: var(--primary);
    font-size: 12px;
}

.ai-convo .listing-item-header .col.s2 {
    text-align: right;
}

.ai-action label {
    padding: 0!important;
    font-weight: 300;
    font-size: 13px!important;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    transform: none;
}

.ai-action.justify-start label {
    justify-content: start;
}

.ai-action.justify-start .lever.right {
    margin-left: auto;
    left: 2px;
}

.tools-selector .ai-action .switch {width: stretch;}

.ai-action [type="checkbox"]:checked+label::before {
    top: 9px!important;
}

.spec-item-main-body .ai-action [type="checkbox"]:checked+label::before {
    top: -5px!important;
}

.spec-item .ai-action [type="checkbox"]:checked+label::before {
    top: -5px!important;
}

.ai-action {
    /* flex: 1; */
    width: 100%;
    height: 50px;
    line-height: 50px;
    /* font-size: 10pt; */
    cursor: pointer;
    user-select: none;
    /* color: var(--light-text); */
    padding-left: 20px;
    padding-right: 20px;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    /* white-space: nowrap; */
    /* font-size: 12px!important; */
    vertical-align: top;
}

.ai-action.ai-chat-context-search.ai-agent-search {
    border-bottom: 1px solid var(--light-border);
}

.ai-action.ai-chat-context-search.ai-agent-search input, .ai-action.ai-chat-context-search.ai-agent-search input:focus {
    height: 50px;
    border: none!important;
}

.ai-action .left5 {
    /* font-weight: 400; */
}

.ai-action > span {
    display: flex;
    align-items: center;
}

.reasoning-depth-selector .ai-action > span {
    line-height: 16px!important;
}

.reasoning-depth-selector .ai-action > span:last-child {
    font-weight: 300;
    font-size: 12px;
}

.reasoning-depth-selector .ai-action {
    text-align: left;
    align-items: start!important;
    font-size: 13px!important;
    font-weight: 400;
    justify-content: center!important;
}

.mail-intelligence-panel .ai-action {
    /* display: flex; */
    /* align-items: center; */
    /* flex-direction: row; */
}

.mail-intelligence-panel .ai-action .switch label .left {
    /* display: flex; */
    /* justify-content: center; */
    /* align-items: start; */
    /* text-align: left; */
    /* flex-direction: column; */
}

.mail-intelligence-panel .first-container .ai-action > span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.mail-intelligence-panel .ai-action label {
}

.ai-action img {
    max-width: 15px;
    line-height: 50px;
    vertical-align: middle;
    margin-right: 10px;
}

.ai-action.the-agent-selector img {
    max-width: 30px;
}

r {
    /* float: right; */
}

#aiSettings .ai-action, #aiSettings .ai-action label {
    font-size: 13px!important;
    font-weight: 300;
    /* display: flex; */
    /* justify-content: space-between; */
    /* gap: 10px!important; */
    transform: none;
    width: 100%;
}

.second-container .ai-action {
    display: flex;
    align-items: center;
    height: 50px;
    line-height: unset;
    padding: 0px 20px;
}

.ai-action .highlight {
    color: var(--highlight);
}

.second-container.tools-selector .ai-action {
    justify-content: center;
}

.second-container.model-selector .ai-action {
    flex-direction: row;
    padding: 0 20px;
}

.reasoning-container .ai-action {
    display: flex;
    flex-direction: column;
    height: auto!important;
    line-height: unset;
    padding: 10px 20px;
}

.personality-selector .ai-action {
    display: flex;
    flex-direction: column;
    gap: 1px;
    line-height: unset;
    justify-content: center;
}

.second-container .ai-action:first-child {
    display: inline-block;
    float: left;
    /* line-height: 50px; */
    /* position: sticky; */
    background-color: var(--xwhite);
    height: 50px;
    display: flex;
    flex-direction: row;
    align-items: center!important;
    flex-direction: row!important;
    justify-content: start!important;
    top: 0;
    text-align: left;
    z-index: 999;
}

.ai-action.the-model-selector.selected {
    background-color: var(--extra-light);
}

.ai-action.set-agent-mode i {
    line-height: 19px;
}

.second-container .ai-action .sub-text {
    font-size: 11px;
    white-space: normal;
    line-height: 16px;
}

.personality-selector .ai-action {
    flex-direction: column!important;
    align-items: start!important;
    line-height: normal;
    gap: 0!important;
    text-align: left;
    padding: 10px 20px!important;
}

.personality-selector .ai-action:first-child {
    flex-direction: row!important;
    align-items: center!important;
    height: 50px;
    line-height: 50px;
    padding-top: 0!important;
    padding-bottom: 0!important;
}

.personality-selector .ai-action .sub-text {
    margin-left: 0!important;
    font-weight: 300;
    font-size: 11px;
    line-height: 18px;
}

.second-container.model-selector .ai-action.subheader, .ai-action.subheader {
    text-transform: uppercase;
    color: var(--light-text);
    font-size: 10px!important;
    align-items: end!important;
    display: flex;
}

#aiSettings .ai-action .switch {
    height: 50px;
    line-height: 50px;
}

#aiSettings .ai-action.subheader {
    font-size: 11px!important;
    text-transform: uppercase!important;
    color: var(--light-text);
    user-select: none;
}

.ai-action .cost-tier,
.dropdown-content .cost-tier {
    font-size: 11px;
    color: var(--light-text);
    margin-left: auto;
    float: right;
    padding-left: 10px;
}

.ai-action .ai-icon.jt1,
.dropdown-content .ai-icon.jt1,
.dropdown-selector .ai-icon.jt1 {
    font-size: 11px;
    vertical-align: middle;
    margin-right: 4px;
}

.prompt-container .ai-icon.jt1,
.ds-text .ai-icon.jt1,
.the-model-selector .ai-icon.jt1,
.prompt-actions .ai-icon.jt1 {
    font-size: 12px;
    vertical-align: middle;
    margin-right: 4px;
}

.first-container .the-model-selector .ai-icon.jt1 {
    margin-right: 3px!important;
    float: left;
    padding-right: 15px;
    margin-top: 10px;
    margin-left: -6px;
}

.dropdown-content .model-group-header {
    font-weight: 300;
    opacity: 0.6;
    pointer-events: none;
    font-size: 10px;
    padding: 0px 15px!important;
    text-transform: uppercase;
}

.dropdown-content.model-selector {
    max-height: 300px;
    overflow-y: auto;
}

.dropdown-content.model-selector li {
    padding: 0 15px!important;
}

.model-selector a img {
    max-width: 20px;
    line-height: 50px;
    margin-right: 5px;
}

ul.model-selector li a {
    padding: 0 30px;
    height: 50px;
    line-height: 50px;
    display: flex;
    gap: 10px;
    font-size: 13px!important;
}

ul.model-selector li a .ai-icon.jt1 {
    margin-left: 10px;
    color: var(--primary)!important;
    width: auto!important;
    margin-right: 5px;
    font-size: 16px;
}

.dropdown-content li .provider-label {
    font-size: 11px;
    color: var(--light-text);
}

.ai-generated-image {
    max-width: 100%;
    border-radius: 8px;
    margin: 8px 0;
}

.revised-prompt {
    font-size: 12px;
    color: var(--light-text);
    margin-top: 4px;
}

.first-container .ai-action i {
    position: absolute;
    right: 17px;
    font-size: 16px;
}

.ai-chat-settings-menu .first-container span i.left {
    position: relative;
    right: 0;
    margin-right: 10px;
}

.first-container .ai-action i:first-child {
    right: unset;
    position: relative;
    left: -2px;
    font-size: 15px;
    margin-right: 11px;
}

#aiSettings .first-container .ai-action span {
}

.ai-action:hover {
    /* color: var(--primary); */
    background-color: var(--extra-light)!important;
}

.ai-action.subheader:hover {
    background: transparent!important;
    color: var(--light-text);
}

.ai-action i {
    line-height: 50px;
}

.ai-checkpoint-actions i {
    line-height: normal;
}

.second-container.agent-mode-selector .ai-action.ai-checkpoint-actions {
    padding-bottom: 20px!important;
}

.ai-action input {
    display: none;
}

ul#aiSettings {
    right: 0px!important;
    /* max-width: 300px; */
    /* overflow-y: hidden; */
    /* height: 100%; */
    /* min-height: 350px; */
    /* max-height: 100%!important; */
    bottom: 0px!important;
    top: unset!important;
    /* text-align: left; */
    max-height: 72dvh!important;
    max-width: 300px;
}

.integration.row .btn.btn-outlined {
    background-color: var(--white);
}

.dark .integration svg {
    color: var(--awhite)!important;
    fill: var(--awhite)!important;
    stroke: var(--awhite)!important;
    width: 100%;
    height: 100%;
}

#restoreOrder {
    max-height: 45vh!important;
}

.zj-specification-details-actions span.footer-number-of.number-of {
    left: 0px!important;
    right: 0px!important;
    position: relative;
    cursor: pointer;
    width: 50px!important;
    padding: 0px 10px;
    background-color: transparent;
    border: none!important;
    color: var(--light-text);
    border-radius: 0px!important;
    height: 50px!important;
    max-height: 50px!important;
    margin: 0px!important;
    line-height: 50px!important;
    float: left;
    user-select: none;
}

.zj-specification-details-actions .asset-totals .btn {
    height: 50px;
    width: 50px;
    min-width: 40px;
    text-align: center;
    display: inline-block;
    float: left;
    padding: 0px!important;
    margin: 0px;
    border: none;
}

.btn.link-selector-btn i {
    transform: rotate(
315deg);
}

.btn.btn-transparent.footer-number-of.number-of.number-of-agents svg {
    max-width: 34px;
    margin-top: 1px;
}

.btn.btn-transparent.footer-number-of.number-of:hover svg .jt-ag-ring, .btn.btn-transparent.footer-number-of.number-of.selected svg .jt-ag-ring {
    stroke: var(--primary);
}

.btn.btn-transparent.footer-number-of.number-of:hover svg .jt-ag-letter, .btn.btn-transparent.footer-number-of.number-of:hover svg .jt-ai-word, .btn.btn-transparent.footer-number-of.number-of.selected svg .jt-ag-letter, .btn.btn-transparent.footer-number-of.number-of.selected svg .jt-ai-word {
    fill: var(--primary)!important;
}

.zj-specification-details-actions .asset-totals .btn > svg {
    max-width: 30px;
    max-height: 50px;
    line-height: 50px;
    margin-right: -3px;
}

.zj-specification-details-actions .asset-totals .btn .the-num {
    font-size: 8pt;
    vertical-align: top;
}

/* On the AI fill (ai-gradient.css roles) the count is white like the mark; without
   this, `.btn.btn-transparent.selected span` paints it --primary on the gradient. */
.zj-specification-details-actions .asset-totals .btn.ai-button:is(:hover, .selected) .the-num {
    color: var(--awhite) !important;
}

.zj-specification-details-actions .asset-totals .btn i {
    margin: 0px;
    width: auto!important;
    font-size: 13pt!important;
    color: var(--icon-color);
}

.zj-specification-details-actions span.footer-number-of.number-of i {
    line-height: 50px!important;
}

.zj-specification-details-actions span.footer-number-of.number-of.number-of-comments {
    color: var(--light-text);
    border-color: transparent;
}

.zj-specification-details-actions span.footer-number-of.number-of.number-of-comments:hover {
    border-color: var(--primary);
}

.zj-specification-details-actions span.footer-number-of.number-of:hover {
    /* background-color: var(--primary); */
    color: var(--primary);
}

.zj-specification-details-actions span.footer-number-of.number-of i {
    font-size: 12pt;
    line-height: 20px;
    margin-right: 0px;
}

.btn.info-btn {
    padding-left: 5px!important;
    padding-right: 5px!important;
    height: auto!important;
    vertical-align: middle;
    line-height: unset;
}

.scheduler.card {
    padding: 50px;
    overflow-y: auto;
    max-height: calc(100dvh - 142px);
    margin: 0px!important;
}

.schedules-page weekly-scheduler.scheduler.card {
    max-height: calc(100dvh - 195px);
}

.diff-overview {
    display: inline-block;
    float: left;
    cursor: pointer;
}

.diff-overview-section {
    display: inline-block;
    float: none;
    width: 100%!important;
}

.diff-overview-section .diff-overview {
    padding: 2px 10px;
    /* border: 1px solid var(--border); */
    margin-right: 10px;
    border-radius: 5px;
    background-color: var(--extra-light);
}

.diff-overview-section .diff-overview.diff-added {
    background-color: var(--added)!important;
    color: var(--ablack);
}

.diff-overview:hover {
    opacity: .8;
}

.cke_menubutton {
    height: 50px!important;
    line-height: 50px!important;
}

.the-diff-text > span {
    margin: 0px!important;
    padding-right: 3px;
    padding-left: 3px;
    /* display: inline-block; */
    margin-right: -4px!important;
}

.portfolios-header .title-left {
    font-size: 12pt!important;
    padding-left: 3px;
}

.nothing {
    font-family: var(--nothing);
}

.portfolios-header .title-left .nothing {
    font-size: 23px;
    text-transform: lowercase;
}

.title-left {}

.project-post {
    height: calc(100dvh - 64px);
    overflow-y: auto;
    padding: 50px!important;
    width: 100%;
    display: block;
}

.project-post .listing-action {
    font-size: 9pt!important;
}

.portfolios-container .ui-grid.grid {
    width: 100%;
    background-color: var(--white);
    border-radius: 5px;
    overflow: hidden;
    height: auto!important;
    box-shadow: var(--box-shadow)!important;
}

.portfolios-container .the-portfolio .ui-grid.grid {
    height: calc(100dvh - 203px)!important;
}

.header-toggle.p-view-selector > .btn.btn-transparent {
    border-left: 1px solid var(--border);
}

.header-toggle.p-view-selector > .btn.btn-transparent:first-child {
    border-right: 0px;
    /* border-left: none; */
}

html body .header-toggle.p-view-selector > .btn.btn-transparent {
    background-color: transparent;
    border: none;
}

.portfolio-settings {
    /* padding: 40px; */
    /* background-color: var(--white); */
    /* border-radius: 15px; */
    /* height: calc(100dvh - 280px); */
    /* overflow-y: auto; */
}

.p-view-selector {
    margin-right: 15px;
}

.projects-inline-searchbar {
    display: inline-block;
    margin-right: 20px;
    margin-top: -5px;
    margin-bottom: 5px;
    position: relative;
    height: 45px!important;
    vertical-align: top;
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
}

.roadmap .projects-inline-searchbar {
    display: none!important;
}

.full-screen .projects-inline-searchbar {
    display: inline-block;
}

html body .all-specs .title-right .projects-inline-searchbar > .btn > i {
    height: 40px;
    line-height: 40px!important;
    vertical-align: top;
    font-size: 14pt!important;
}

body .projects-inline-searchbar input {
    margin-bottom: 0px!important;
    background-color: var(--white)!important;
    padding: 0px 20px!important;
    border-radius: 3px!important;
    width: 400px!important;
    max-width: 100%!important;
    height: fit-content;
    border-bottom: none!important;
    /* box-shadow: 0px 1px 2px var(--shadow)!important; */
    cursor: text;
    font-size: 13px!important;
    display: flex;
    align-items: center;
}

.dark .projects-inline-searchbar input[type=text] {
    background-color: var(--white)!important;
    /* border-bottom: none!important; */
    cursor: text;
    color: var(--black);
    box-shadow: none!important;
}

.dark .projects-inline-searchbar .quick-projects-search input[type=text], .dark .projects-inline-searchbar .quick-projects-search input[type=text]:hover {
    background-color: var(--white) !important;
}

html body .projects-inline-searchbar input[type=text]:focus {
    /* background-color: #f4f4f4!important; */
    /* box-shadow: 0px 1px 2px var(--shadow)!important; */
    /* border: none!important; */
}

.core-list-item .zj-sl-info.spec-info {
    padding-left: 0px;
    padding-right: 0px;
}

.core-list-item.header-row .zj-sl-info.spec-info > .col.m1 .priority {padding-left: 20px!important;}

.ai-panel {
    /* height: calc(100dvh - 64px); */
    position: relative;
}

.spec-item-main-body .ai-panel.project-ai {
    background-color: var(--white);
    max-width: 740px;
    margin: 0px auto;
    padding: 30px;
    border-radius: var(--border-radius-sm);
    box-shadow: var(--box-shadow);
}

.spec-overview .ai-panel.project-ai {
    height: auto;
    background-color: transparent;
    padding: 0px!important;
    margin: 0px;
    box-shadow: none;
}

.dynamic-overview-view .ai-panel {
    height: calc(100dvh - 225px);
    margin-left: -40px;
    margin-right: -40px;
    background-color: transparent;
}

.sidebar-actions .btn {display: inline-block!important;float: right;right: 0px;top: 0px;position: relative;height: 50px;width: auto;line-height: 50px!important;text-align: center!important;}

.sidebar-actions .btn i {
    float: none!important;
    margin: 0px auto;
    width: 100%;
    text-align: center;
    color: var(--black);
}

.ai-sidebar {
    padding: 0px 30px 0px;
    position: relative;
    height: calc(100dvh - 159px);
}

.prompt-actions {
    /* height: 40px; */
    /* line-height: 40px!important; */
    /* position: absolute; */
    /* bottom: -45px; */
    /* left: calc(50% - 360px); */
    /* max-width: 720px; */
    /* display: block; */
    /* width: 100%; */
    /* text-align: left; */
    /* padding-right: 20px; */
    /* padding-left: 25px; */
}

.prompt-actions li a i {
    margin-right: 10px!important;
}

.prompt-actions ul li a {
    padding: 0px 20px!important;
    height: 50px!important;
    line-height: 50px!important;
    font-size: 9.5pt!important;
}

.prompt-actions .ai-action {
    height: 50px!important;
    line-height: 50px!important;
    margin-bottom: 0px!important;
    vertical-align: top;
    max-width: 260px;
    float: right;
    text-align: left;
    background-color: transparent!important;
    color: var(--light-text)!important;
    /* font-size: 9pt!important; */
    width: 100%;
    max-width: 100%;
    /* padding-left: 5px!important; */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.prompt-actions .ai-action:hover {
    color: var(--primary)!important;
}

.prompt-actions .ai-action i {
    line-height: 27px;
    margin-left: 1px;
    color: var(--light-text)!important;
}

.prompt-actions .ai-action:hover i {
    color: var(--primary)!important;
}

.prompt-wrapper {
    padding-bottom: 0px;
}

.add-new-conversation.btn {
    padding-right: 0px!important;
    /* width: 120px; */
    text-transform: uppercase;
}

.add-new-conversation.btn i {
    float: left!important;
    width: 25px;
    color: var(--primary);
    text-align: left;
}

.ai-convos .sidebar-heading {
    padding-top: 5px;
    text-transform: uppercase;
    font-size: 9pt;
    cursor: pointer;
}

.portfolio-list {
    /* padding: 40px; */
    background-color: var(--background-color);
    /* border-radius: 25px; */
}

.ui-grid .ui-grid-menu-mid {
    /* overflow-y: auto!important; */
    /* z-index: 99999999999999999999999; */
    max-height: unset!important;
}

.the-projects-page {
    position: absolute!important;
    background-color: var(--background-color)!important;
    vertical-align: top;
    display: block!important;
    width: 100%!important;
    bottom: 0!important;
    left: unset!important;
    right: unset!important;
    z-index: 9!important;
    overflow: hidden;
    top: 0;
}

.description-btn i {
    font-size: 13pt!important;
}

.side-slider .dynamic-overview-header {
    padding: 40px 40px 0px;
    height: 90px;
    vertical-align: top;
    overflow: hidden;
}

.side-slider .dynamic-overview-header .spec-title {
    font-size: 13pt;
    color: var(--primary);
    max-width: calc(100% - 50px);
    display: inline-block;
    float: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.side-slider .dynamic-overview-header .spec-title:hover {
    text-decoration: underline;
}

.side-slider .dynamic-overview-body.oe {
    height: calc(100dvh - 204px);
    padding: 0px 40px 0px;
    overflow-y: auto;
    width: 100%;
}

.doh-actions {
    float: right;
    max-width: 50px;
    display: inline-block;
    height: 50px;
    margin-top: -4px;
}

.doh-actions .btn {
    color: var(--black)!important;
    width: 40px;
}

.doh-actions .btn:last-child {
    padding-right: 0px!important;
    margin-right: -4px;
}

html .ui-grid .ui-grid-cell-focus.project-name-cell.clickable-cell, html .ui-grid .ui-grid-cell-focus.project-name-cell.clickable-cell .ui-grid-cell-focus {
    background-color: transparent!important;
}

.users-present .user-card .user-card-image {
    width: 85px;
    height: 85px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: var(--border-radius-tiny);
}

.tda-mini-img {
    width: 25px;
    height: 25px;
    line-height: 25px;
    border-radius: 5px;
    margin-top: 4px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 5px;
    margin-left: 5px;
    float: left;
}

.tda-mini-img .the-profile-image {
    line-height: 25px;
    background-color: var(--extra-light)!important;
    color: var(--black);
    height: 25px;
    display: inline-block;
    float: left;
    font-size: 9pt;
}

.bg-image.mini-img {
    height: 25px;
    width: 25px!important;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}

.board-task-image .bg-image.mini-img {
    height: 25px!important;
    width: 25px!important;
    vertical-align: middle;
    background-position: center center;
    border-radius: 3px;
    margin-right: 0;
}

.quick-list-item .bg-image.mini-img {
    float: left;
    margin-right: 15px;
}

.meta-user-data .bg-image.mini-img {
    height: 25px!important;
    width: 25px!important;
    margin-right: 10px;
}

.timeline-user-image .bg-image.mini-img {
    width: 32px!important;
    height: 32px!important;
    border-radius: 3px!important;
}

.dynamic-overview #chart_div {
    /* border: 1px solid var(--border); */
    border-radius: var(--border-radius-tiny);
    /* padding: 20px; */
    margin: 0px;
    width: 100%;
}

.side-slider .dynamic-overview-view {
    border-radius: var(--border-radius-tiny);
}

.task-template .cke_contents .cke_editable {
    min-height: 250px;
    max-height: calc(100dvh - 200px);
    background-color: var(--background-color)!important;
    border-radius: 5px;
    padding: 20px;
}

.header-input-field input {
    margin-bottom: 0px!important;
    color: var(--black);
    font-size: 13pt!important;
    font-weight: 300;
}

.task-template .card {
    margin-top: 5px;
}

.templates-wrapper {
    max-width: 960px;
    margin: 40px auto;
    /* padding-left: 40px; */
    /* padding-right: 40px; */
}

.task-template {
    /* max-width: 900px; */
    margin: 0px auto;
}

.toast-profile {
    min-height: 50px;
    min-width: 200px;
}

.toast-profile-name {
    display: inline-block;
    text-align: left;
}

.toast-profile-name a {
    color: var(--awhite);
    padding: 0px;
    margin-top: 4px!important;
    display: inline-block;
}

.toast-profile-name a:hover {
    color: var(--primary);
}

.clear-search-meta-btn.btn.btn-transparent {
    margin-left: 0px!important;
}

.clear-search-meta-btn.btn.btn-transparent i {
    margin-left: 10px;
    line-height: 29px;
}

.sidebar .all-project-types {
    padding-top: 20px;
}

.zj-sidebar-section {
    padding: 20px 0px;
}

.dynamic-overview-body [type="checkbox"]:not(:checked), .dynamic-overview-body [type="checkbox"]:checked {
    position: relative;
}

.fs-field-showhide-tasks {
    display: inline-block;
    padding-right: 20px;
    padding-left: 20px;
    cursor: pointer;
    float: left;
    width: 140px;
    text-align: left;
    border-left: 1px solid var(--white);
}

.fs-field-showhide-tasks:hover, .fs-field-showhide-tasks:hover i {
    color: var(--primary)!important;
}

.fs-field-showhide-tasks i {
    line-height: 50px;
    margin-left: 0px!important;
    padding-right: 0px!important;
}

.project-view-selector.dropdown-select {
    line-height: 25px;
    position: relative;
    height: 25px;
    display: inline-block;
    margin-right: 10px;
}

.project-view-selector.dropdown-select:hover, .project-view-selector.dropdown-select:hover i {
    color: var(--primary);
}

.the-selected-view {
    display: inline-block;
    line-height: 25px;
    height: 25px;
    vertical-align: top;
    font-size: 14px;
    padding: 0px 30px 0px 20px;
    /* border-right: 1px solid var(--border); */
    margin-top: .5px;
    vertical-align: top;
    /* color: var(--light-text); */
    text-transform: lowercase;
    font-weight: 400;
}

.dark .the-selected-view {
    border-left-color: var(--light-text);
}

.the-selected-view:hover {
    color: var(--primary);
}

.the-selected-view i {
    position: relative;
    height: 25px!important;
    line-height: 25px!important;
    vertical-align: top;
    width: 20px;
    font-size: 15pt;
    margin-right: 4px!important;
}

.dropdown-select .the-selected-view i:first-child {
    font-size: 15px!important;
    margin-right: 1px;
}

.header-separator {
    height: 25px;
    line-height: 25px;
    margin-top: 10px;
    margin-right: -2px;
    padding-right: 30px;
    border-right: 1px solid var(--border);
}

.settings-panel .btn.btn-transparent.right {
    position: absolute;
    top: 12px;
    right: 15px;
}

.change-columns .settings-panel .btn.btn-transparent.right {
    right: 14px;
}

.settings-panel.filter-panel .btn.btn-transparent.right {
    padding-right: 10px!important;
}

.settings-panel.filter-panel .search-filter .sidebar-filters {
    max-height: calc(100dvh - 245px);
    overflow-y: auto;
    /* margin-left: -30px; */
    /* margin-right: -30px; */
    position: relative;
    position: relative;
}

.timelog-actions .btn {
    border-bottom: none!important;
    color: var(--icon-color)!important;
}

.timelog-actions .btn.selected {
    color: var(--primary)!important;
}

.overview-section .project-estimate, .overview-section .card-top-right-stat {
    font-size: 8pt;
    vertical-align: bottom;
    /* line-height: 25px; */
    color: var(--light-text);
    margin-left: 5px;
}

.project-progress .card-top-right-stat {
    /* color: var(--black); */
    /* line-height: 27px; */
}

.ui-grid-cell-contents.ui-grid-header-cell-primary-focus {
    height: 60px;
    line-height: 60px!important;
    padding: 0px;
}

.ui-grid-header-cell .sortable:active, .ui-grid-header-cell .sortable > div:active, .ui-grid-header-cell .sortable span:active {
    cursor: grabbing;
}

.ui-grid-user-selector {
    background-color: var(--xwhite);
    height: 30vh!important;
    z-index: 99999999999;
    display: inline-block;
    margin: 0px;
    position: absolute;
    border-radius: 10px;
    overflow-y: auto;
}

.ui-grid-user-selector li {
    padding: 0px 20px;
    cursor: pointer;
}

.ui-grid-user-selector ul {
    margin: 0px;
}

.ui-grid-user-selector li:hover {
    background-color: var(--extra-light);
}

.panel-line-stat {
    padding: 10px;
    text-align: center;
    /* border-bottom: 1px dashed var(--border); */
    margin-bottom: 10px;
    /* border-radius: 6px; */
    font-size: 11pt;
    color: var(--light-text);
}

.grid-filter-options.row.add-input {
    padding-left: 25px;
}

.grid-filter-options.row.add-input input {
    display: inline-block;
    text-align: center;
    margin: 0px;
    border: none;
    background-color: var(--background-color);
    border-radius: 5px;
    height: 30px;
    line-height: 30px;
    width: 50px;
    font-size: 9pt;
}

.grid-filter-options.row.add-input input:focus {
    border: none!important;
    box-shadow: none!important;
}

.status-comment .right.go-to {
    position: absolute;
    top: 35px;
    right: 0px;
    opacity: 1;
    visibility: visible;
}

.status-comment:hover .right.go-to {
    opacity: 1;
    visibility: visible;
}

.overview-section .status-comment .right.go-to {
    right: 20px;
    top: 25px;
    transition: all .3s ease-in-out;
}

.overview-section .status-comment .right.go-to:hover i {
    color: var(--primary);
}

.status-comment .right.go-to i {
    font-size: 13pt;
    user-select: none;
}

.status-comment .right.go-to:hover i {
    color: var(--primary);
    cursor: pointer;
}

.dynamic-overview .comment-quick-creator .btn-cancel {
    position: absolute;
    right: -15px;
    top: -40px;
}

.projects-view-selector .project-view-selector {
    padding: 40px;
    display: inline-block;
    background-color: var(--white);
    width: 150px;
    text-align: center;
    vertical-align: middle;
    border-radius: 25px;
    box-shadow: 0px 1px 2px var(--shadow);
    margin-right: 10px;
    cursor: pointer;
}

.projects-view-selector .project-view-selector:hover {
    color: var(--primary);
    box-shadow: 0px 1px 5px var(--shadow);
}

.projects-view-selector {
    text-align: center;
}

.projects-view-selector .sub-text {
    margin-bottom: 20px;
    margin-top: 50px;
}

.profile-todos-project-status {
    width: 100%;
    /* margin-bottom: 20px; */
    display: inline-block;
    padding-right: 5px;
    float: left;
    /* margin-top: -8px; */
}

.collapsed .profile-todos-project-status {
    margin-bottom: 0px;
    padding-right: 5px;
}

.project-allocations .wrapper-border1 {
    padding: var(--padding-lg);
    box-shadow: 0px 1px 3px var(--shadow) inset;
}

.projects-inline-searchbar ul {
    top: 0px!important;
    width: 100%!important;
    min-width: 250px!important;
    min-height: 50px;
    max-height: 60vh!important;
}

.omni-search .projects-inline-searchbar ul {
    max-height: 100%!important;
    box-shadow: none!important;
}

.projects-inline-searchbar ul li a {
    line-height: 18px;
    padding-left: 20px;
    padding-right: 20px;
}

.omni-search .projects-inline-searchbar ul li a {
    text-decoration: none !important;
    color: var(--dark);
    padding: 13px 30px!important;
    width: 100%;
    display: block;
}

.omni-search .projects-inline-searchbar ul li:focus a {
    background-color: var(--primary)!important;
}

.omni-search .projects-inline-searchbar ul li a:focus {
    background-color: var(--background-color)!important;
    outline: none!important;
}

.omni-search .projects-inline-searchbar ul li a:hover {
    background-color: var(--extra-light);
}

.omni-search .quick-projects-dropdown {
    max-width: 500px;
    width: 100%;
    margin: 0px auto;
    position: relative;
    display: inline-block;
    top: 0px!important;
}

.ai-convo-header {
    font-size: 13pt;
    margin-bottom: 3px!important;
}

.ai-panel .response-container .ai-convo-sub-text.sub-text {
    margin-bottom: 20px!important;
}

.ai-panel .response-container .ai-convo-sub-text.sub-text .ai-convo-meta {
    display: inline-block;
    margin-right: 10px;
}

.ai-panel .response-container .ai-convo-sub-text.sub-text, .ai-panel .response-container .ai-convo-header {
    max-width: 740px;
    margin: 0px auto;
}

.the-profile-image.assistant-image.user-image {
    width: 37px;
    margin-right: 12px;
}

.assistant-header {
    width: 100%;
    display: block!important;
    float: none;
    margin: 40px 0px 20px;
}

.assistant-title {
    font-weight: bold;
    padding-top: 5px;
}

.open-in-new-container {
    padding: 0px;
    border-bottom: 1px solid var(--light-border);
}

a .open-in-sp {
    position: absolute;
    right: -20px;
    top: 0px;
    line-height: 20px;
    vertical-align: middle;
}

a .open-in-sp i {
    font-size: 13pt;
}

.open-in-sidepanel-link {
    position: relative;
}

.open-in-sp {
    user-select: none;
}

.open-in-sp i {
    line-height: 19px;
    height: 20px;
    width: 16px;
    vertical-align: middle;
    font-size: 12pt;
    color: var(--primary);
    cursor: pointer;
    text-align: center;
    margin-left: 3px;
    margin-right: 0px;
    user-select: none;
}

.open-in-sp i:hover {
    color: var(--good);
}

html body .projects-inline-searchbar .quick-projects-search input, html body .quick-projects-search input[type=text]:focus {
    height: 50px!important;
    box-shadow: none!important;
    transition: none!important;
    background-color: var(--white)!important;
    border-bottom: 1px solid var(--border)!important;
}

.omni-search .quick-projects-search .btn.btn-transparent.clear-search i {
    line-height: 64px!important;
}

html body .quick-projects-search .btn.btn-transparent.clear-search {
    background-color: unset!important;
    height: 47px!important;
}

html body .omni-search .quick-projects-search .btn.btn-transparent.clear-search {
    margin-right: 10px;
    height: 64px!important;
    line-height: 64px;
}

html body .title-right .quick-projects-search .btn.btn-transparent.clear-search i {line-height: 50px!important;height: 50px;font-size: 13pt!important;}

html body .quick-projects-search .btn.btn-transparent.clear-search:hover {
    background-color: unset!important;
}

.leave-comment .typing-indicator {
    width: 100%;
    display: block;
    padding-left: 61px;
    font-size: 8.5pt;
    line-height: 10pt;
    /* position: absolute; */
    height: 15px;
}

.spec-item-view-selector {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--black)!important;
}

.list-wrapr {
    max-height: calc(100vh - 230px);
    overflow-y: auto;
    background-color: var(--white);
    border-radius: 0px 0px 5px 5px;
    margin-bottom: -5px;
    width: 100%!important;
}

.list-wrapr li:hover {
    background-color: var(--extra-light);
}

.list-wrapr > .small-text {
    padding: 20px 30px 0px;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--light-text);
}

.admin-settings-section .general-settings label {
    /* height: 50px; */
    /* line-height: 50px; */
    margin-bottom: 2px!important;
}

.admin-settings-section label.s9 {
    line-height: 50px;
}

.admin-settings-section input {
    margin-bottom: 0px!important;
}

.ui-grid-cell-contents.jira-link img {
    max-width: 20px;
    line-height: 40px;
    vertical-align: middle;
    margin-right: 3px;
}

.project-allocation {
    padding-right: 10px;
}

.context-buttons .btn.btn-transparent.show-archive i {
    padding: 0px!important;
    /* margin-right: -10px; */
    font-size: 12pt!important;
    margin-left: 0px;
}

.panel-comments-header.row i {
    height: 34px;
    line-height: 20px;
    vertical-align: top;
    color: var(--black);
    padding: 0px!important;
}

.panel-comments-header.row {
    padding: 0px 5px;
}

.panel-comments-header.row .btn {
    padding: 0px!important;
}

.notes-container {
    display: inline-block;
    width: 100%;
}

.btn.show-archive.selected, .btn.show-archive.selected:hover {
    background-color: var(--background-color)!important;
    border-radius: 0px!important;
}

.btn.show-archive.selected i {
    color: var(--primary);
}

.btn.show-archive.selected i {
    color: var(--primary)!important;
}

.btn.show-archive.selected:hover i {
    color: var(--awhite)!important;
}

.btn.show-archive.selected:hover {
    background-color: var(--primary)!important;
}

.ps-header.ta-right {
    display: inline-block;
    position: absolute;
    float: right;
    width: 100%;
    right: 40px;
    top: 53px;
}

.ps-header.ta-right i {
    font-size: 15pt;
}

.omni-search .quick-projects-search {/* display: inline-block; *//* width: 100%; *//* min-height: 64px; */}

.recent-wrapper {
    position: absolute;
    top: 130px;
    left: calc(50vw + 280px);
    text-align: left;
    list-style: none;
    max-width: 240px;
    width: 100%;
    max-height: calc(100vh - 190px);
}

.recent-wrapper > .small-text {
    padding-left: 10px;
}

.recent-wrapper li:hover a {
    background-color: var(--xwhite);
    /* color: var(--primary); */
}

.recent-wrapper li a {
    border-radius: 3px;
    padding: 20px!important;
    display: block;
    width: 100%;
    margin-bottom: 5px;
    color: var(--black);
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    font-size: 9pt;
    line-height: 18px;
}

.recent-wrapper li a span {
    font-size: 12px;
}

.recent-wrapper li a:hover {text-decoration: none;}

.integration img.left {
    max-width: 30px;
    margin-right: 10px;
    display: inline-block;
}

.integration .left-side.left {
    display: inline-block;
    width: 40px!important;
    padding-right: 10px!important;
}

.integration .right-side.row {
    display: inline-block;
    width: calc(100% - 40px);
    margin-top: -5px!important;
}

.integration .right-side {
    display: inline-block;
    width: calc(100% - 40px);
    padding-left: 10px;
    margin-top: -5px;
}

.component-simple-list .leave-comment {
    display: inline-block;
    width: 100%;
    position: relative;
}

.jira-quick-view .leave-comment {
    margin-top: 0px!important;
    /* margin-bottom: -2px; */
}

.component-project-team .text-field.row .meta-names {
    /* background-color: var(--extra-light); */
    /* border-radius: 25px; */
    display: inline-block;
    width: 100%;
    padding: 0px;
}

.component-project-team .text-field.row {
    /* padding-bottom: 10px; */
    padding-top: 10px;
    width: 50%!important;
    display: inline-block;
    float: left;
}

.integrations-body .text-field.setting-option {
    border-right: none!important;
}

.overview-body .team-user {
    width: 100%;
    /* display: inline-block; */
    padding-bottom: 10px;
    padding-top: 5px;
}

.overview-body .team-user:last-child {
    padding-bottom: 0px;
}

.component-project-team {
    display: inline-block;
    width: 100%;
}

.meta-user-data {
    width: 100%;
    padding-bottom: 7px;
    padding-top: 3px;
    /* font-size: 9pt; */
    line-height: 25px;
}

.team-user .meta-user-data {
    background-color: var(--background-color);
    padding: 0px 15px;
    height: 50px;
    line-height: 50px;
    margin-bottom: 1px!important;
    display: flex;
    width: 100%;
    font-family: var(--body-font);
    font-size: 13px;
    /* box-shadow: var(--box-shadow); */
    /* border: 1px solid var(--light-border); */
}

.dark .team-user .meta-user-data {
    /* margin-bottom: 0px!important; */
}

.meta-user-data .text-wrap {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    /* padding-left: 10px; */
    display: block;
    font-size: 12px;
    color: var(--light-text);
}

.meta-user-data .col:last-child {
    text-align: right;
}

.meta-user-data .col:first-child {
    text-align: left;
}

.team-user-stat i {
    font-size: 10pt;
    vertical-align: middle;
    padding-right: 2px;
    padding-left: 10px;
}

.cd-list-itema .switch {
    text-align: left;
    width: 100%;
    height: 40px;
    line-height: 40px;
}

.cd-list-itema .switch .lever {
    margin-right: 0px;
    padding-right: 0px;
}

.cd-list-itema .switch label {
    text-align: right;
    float: right;
}

.project-quick-creator .create-project-button {
    width: 100%!important;
}

#teamSettings {
    max-width: 240px;
    padding: 10px 25px;
    background-color: var(--xwhite)!important;
}

.right.btn.close-dialog {
    position: absolute;
    right: 30px;
    top: 100px;
}

.projects-perms-dialog .project-perms {
    padding: 30px!important;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    /* position: relative; */
    margin-bottom: 30px!important;
    margin-top: 0px!important;
    max-height: 50dvh;
}

.projects-perms-dialog .perms-users .project-perms .project-users {
    min-height: 50px;
    background-color: var(--veryvery-light);
    border-radius: 25px;
    /* border: 1px dashed var(--border); */
}

.projects-perms-dialog .project-perms.col.m6:first-child {
    width: calc(50% - 15px)!important;
    margin-right: 15px;
    margin-bottom: 15px;
}

.projects-perms-dialog .project-perms .btn {
    /* position: absolute; */
    /* top: 25px; */
    right: -12px;
    /* margin-top: 0px!important; */
    float: right!important;
    width: 50px;
    height: 36px!important;
    line-height: 36px!important;
    padding: 0px!important;
    text-align: center;
    margin-top: -5px;
}

.projects-perms-dialog .project-perms .btn i {
    float: none!important;
    margin: 0px!important;
}

.projects-perms-dialog .col.m6:last-child {
    margin-left: 15px;
    width: calc(50% - 15px)!important;
}

html body .dropdown-content.project-users {
    /* right: 30px!important; */
    left: unset!important;
}

ul#viewerList {
    right: 40px;
}

ul#ownerList {
    right: 30px;
}

ul#editorList {
    right: 30px;
}

html body .project-perms.col.m6 .dropdown-content {
    margin-left: -175px;
}

.project-users .user-list.search {
    max-height: 400px;
    overflow-y: auto;
}

.projects-perms-dialog .setting-details {
    margin-bottom: 20px!important;
}

.spec-item-main-body .modal-content {
    /* max-width: 1040px; */
    margin: -40px auto!important;
    padding: 30px;
}

.project-perms {
    padding: 40px!important;
    /* background-color: var(--white); */
    /* border-radius: var(--border-radius-tiny); */
    /* box-shadow: var(--box-shadow); */
    flex: 1;
    border: none!important;
}

.project-perms .add-user {
    margin-top: 0px;
    margin-right: -14px;
}

.project-perms .ta-right .dropdown-select.btn.btn-transparent {
    width: 50px!important;
    text-align: center;
}

.project-perms .ta-right .dropdown-select.btn.btn-transparent i {
    margin: 0px;
}

.profile-tasks .profile-projects {
    padding: 0;
    /* border-top: 1px dashed var(--border); */
    transition: all .5s ease-in-out;
}

.profile-projects.tboard-tasks .profile-task-items {
    padding-bottom: 0px!important;
}

.profile-tasks .profile-projects .profile-task-items {
    /* padding: 25px 20px 0px; */
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 2px;
    /* border: 1px solid var(--light-border); */
    display: block;
}

.dark .profile-tasks .profile-projects .profile-task-items {
    box-shadow: 0px 1px 2px var(--extra-light);
}

.profile-projects.opened .tasks.profile-task-items {
    box-shadow: var(--box-shadow);
    margin-bottom: 3px;
    background-color: var(--white)!important;
    /* margin-top: 10px; */
    /* border-color: var(--border); */
}

.tasks.profile-task-items .section-header-row {
    display: flex;
    gap: 0px;
    flex-direction: column;
    padding-bottom: 20px;
    margin-bottom: 0px;
    padding-top: 20px;
}

.profile-tasks .profile-projects .profile-task-items .right-contents {
    float: right;
    display: flex;
}

.profile-tasks .profile-projects .profile-task-items .right-contents .circle-number {
    margin-left: 10px;
    background-color: var(--white);
}

.profile-tasks .profile-projects .profile-task-items .right-contents .circle-number-text {
    font-size: 9pt;
    line-height: 20px;
}

nav .profile-tasks .profile-projects {
    padding: 0px 30px 0px;
    margin-bottom: 0px;
    overflow: hidden;
    transition: all .2s ease-in-out;
}

.profile-tasks .profile-projects.opened {
    margin-bottom: 20px;
    margin-top: 5px;
}

.all-task-list {
    padding-left: 40px;
    padding-right: 40px;
}

.meta-sub-text.sub-text {
    display: inline-block;
    width: 100%;
}

.overview-meta .meta-sub-text.sub-text {
    white-space: break-spaces;
}

.focus-item textarea {
    min-height: 150px;
    background-color: var(--background-color)!important;
    padding: 15px!important;
    border: none;
    border-radius: 5px;
    max-width: 100%;
    min-width: 100%;
    outline: none;
    line-height: 24px;
    font-size: 10pt;
}

.focus-item input {
    border-radius: 5px!important;
    font-weight: 300;
}

.focus-item.col.s12.m4 {
    width: 100%;
    margin-right: 25px;
    margin-bottom: 25px;
    padding: 25px 25px 15px!important;
    border: 1px solid var(--border);
    border-radius: 25px;
}

.focus-item.col.s12.m4:nth-child(2n) {
    margin-right: 0px;
}

.focus-item label {
    color: var(--light-text);
    font-weight: 400;
}

.small-sub-text.sub-text {
    font-size: 12px;
}

.project-peeps .ta-right .add-new {
    margin-right: -20px!important;
}

.footer-number-of.number-of.number-of-jira-tasks {text-decoration: none;height: 50px;line-height: 50px;display: block;z-index: 9;}

.jira-footer-item-wrapper:hover .jira-open-in-external {display: inline-block;top: 0px;right: -15px;z-index: 9999;}

.footer-number-of.number-of.number-of-jira-tasks + .jira-open-in-external i {
    font-size: 11pt;
    height: 50px;
    line-height: 51px;
    vertical-align: top;
    color: #2584ff!important;
}

.jira-footer-item-wrapper .jira-open-in-external {
    display: none;
    vertical-align: top;
    position: absolute;
    padding: 0px 10px;
    text-align: center;
    line-height: 50px;
    vertical-align: top;
    padding: 0px 5px;
    z-index: 999999999;
    text-decoration: none!important;
}

.jira-footer-item-wrapper:hover .jira-open-in-external {
    display: inline-block;
    right: -15px;
    margin-top: 0px;
}

.jira-footer-item-wrapper:hover .jira-open-in-external i {
    font-size: 10pt!important;
}

.footer-number-of.number-of.number-of-jira-tasks > span img {
    margin-top: 17px!important;
	max-width: 15px;
    filter: grayscale(1);
}

.footer-number-of.number-of.number-of-jira-tasks.selected > span img {
    filter: none;
}

.jira-footer-item-wrapper.btn:hover .number-of-jira-tasks img {
    filter: grayscale(0);
}

.jira-details-header > div {
    display: inline-block;
    float: left;
}

.jira-details-header, .jira-header-issue-subtitle {
    font-size: 9pt;
    min-height: 20px;
    line-height: 20px;
    vertical-align: top;
}

.jira-details-header-section a {
    color: var(--light-text);
}

.jira-details-header a:hover {
    color: var(--primary);
    text-decoration: underline;
}

.jira-details-section span {
    padding: 0px 5px;
}

.jira-details-header-section img {
    max-width: 15px;
    margin-right: 5px;
    padding-top: 3px;
    vertical-align: top;
    box-shadow: none;
}

.jira-header-issue-title {
    margin-bottom: 2px!important;
}

.jira-checklist-items label {
    font-size: 10pt!important;
    color: var(--black);
}

.integration-listing.component-sl-item .inline-image img {
    margin-right: 5px;
}

.row.jira-details-header.jira-details-header-section {margin-top: -7px!important;}

.jira-worklog.todo-item-wrapper {
    /* background-color: var(--white); */
    padding: 10px 0px;
    font-size: 9pt;
    margin-bottom: -4px!important;
    cursor: pointer;
    border-bottom: 1px dashed var(--border);
}

.jira-worklog.todo-item-wrapper:last-child {
    border-bottom: none;
}

.jira-worklog-author span {
    width: 100%;
    display: block;
}

body .focus-item {
    margin-bottom: var(--sm-item-margin)!important;
    padding: 30px!important;
    background-color: var(--light-glass);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    transition: all .5s ease-in-out;
}

.strategy\.pillars .focus-item {
    flex-direction: column;
    gap: 0;
    border: none;
}

body .focus-item:hover {
    background-color: var(--white);
}

body .focus-item .focus-item-title {/* font-weight: bold; *//* font-size: 11pt; */}

.focus-item:last-child {
    margin-bottom: 0px!important;
    /* padding-bottom: 0px!important; */
    /* border-bottom: none!important; */
}

.okr-editor input {
    border-radius: 5px!important;
    max-height: 50px;
}

.okr-item > .col {
    padding-right: 20px!important;
}

.okr-item > .col:last-child {
    padding-right: 0px!important;
}

.okr-item .a-list .bullet-item {
    list-style: disc;
    display: list-item;
    margin-left: 15px;
}

.okr-item.row {
    /* padding-top: 15px; */
    /* padding-bottom: 15px; */
    display: block;
    position: relative;
    cursor: pointer;
    /* height: 52px; */
    line-height: 52px;
    margin-left: -40px !important;
    padding-left: 40px;
    margin-right: -40px !important;
    padding-right: 40px;
    width: calc(100% + 80px);
}

.okr-item.row:hover {
    background-color: var(--extra-light);
}

.okr-item .btn.edit-btn {
    visibility: visible;
    opacity: 1;
    position: absolute;
    right: 10px;
    top: 0px;
    height: 52px;
    line-height: 52px;
}

.okr-item:hover .btn.edit-btn {
    visibility: visible;
    opacity: 1;
}

.okr-item:hover input {
    background-color: var(--white)!important;
}

.progress-container {
    height: 50px;
    line-height: 50px;
}

.progress-container .progress {
    width: calc(100% - 50px);
    float: left;
    height: 5px;
    margin-top: 23px;
}

.progress-container .progress-totals {
    float: right;
    width: 50px;
    padding-left: 10px;
    text-align: left;
}

.embedded-link {
    color: var(--primary)!important;
    cursor: pointer;
}

.embedded-link.selected {
    background-color: var(--highlight)!important;
    color: var(--ablack)!important;
    text-decoration: none!important;
}

.embedded-link:hover {text-decoration: underline;}

.spec-item-embeddings-item .card {
    height: calc(100dvh - 64px)!important;
    background-color: var(--white);
    overflow-y: auto;
    border-bottom: 1px solid var(--border);
}

.spec-item-embeddings-item .card-header h6 {
    color: var(--primary);
    font-size: 13pt;
    margin-top: -10px;
}

.spec-item-embeddings-item textarea {
    border-color: transparent;
    background-color: var(--background-color);
    padding: 15px;
    min-height: 80px;
    max-width: 100%;
    min-width: 100%;
    margin-bottom: 30px;
    border-radius: 5px;
    outline: none;
}

html body .spec-item-embeddings-item > .card {
    border-radius: 0px;
    margin: 0px;
    transition: all 1s ease-in-out;
    max-width: 780px;
    margin: 0px auto;
}

.spec-item-embeddings-item .spec-list {
    padding: 40px;
    height: calc(100dvh - 115px);
}

.spec-item-embeddings-item .spec-list .project-outline-items {
    padding-top: 10px;
    padding-left: 5px;
}

.mission-editor .cke {
    /* background-color: var(--extra-light)!important; */
    /* padding: 15px; */
    /* border-radius: 20px; */
}

.values-editor .ckeditor-wrapper {
    background-color: var(--white);
    /* padding: 20px; */
    min-height: 220px;
    border-radius: 15px;
    overflow: hidden;
    margin-top: 0px;
    margin-bottom: 20px;
    padding-top: 10px;
    position: relative;
}

.ckeditor-wrapper .btn {
    position: absolute;
    height: 45px;
    line-height: 45px;
    top: 10px;
    right: 10px;
}

.value-title input {
    margin-bottom: 0px!important;
    background-color: var(--white)!important;
    border-bottom: 1px solid var(--white)!important;
}

.values-editor .value-title input, .values-editor .value-text textarea {
    font-size: 10pt!important;
    line-height: 22px;
    font-weight: 300;
    background-color: var(--background-color)!important;
}

.values-editor .value-title {
    width: calc(100% - 61px)!important;
    display: inline-block;
    font-weight: 500;
    font-size: 14px;
}

.strategy\.values .value-title {
    display: flex;
    gap: 10px;
    align-items: center;
}

.strategy\.values .value-title i {
    font-size: 15px;
    line-height: inherit;
    color: var(--primary);
}

.values-editor .value-title.expanded {
    width: calc(100% - 120px)!important;
}

.ckeditor-wrapper .cke .cke_editable {/* max-height: calc(100dvh - 325px); */padding: 10px 40px 40px;line-height: 26px;}

.ckeditor-wrapper .cke_top {
    padding: 20px 20px 10px!important;
}

.vision-editor .ckeditor-wrapper .cke_top {
    padding: 30px 30px 10px!important;
}

.vision-editor .ql-editor p {
    margin-bottom: 0;
}

.vision-editor .btn.btn-transparent {
    color: var(--black)!important;
    font-size: 10pt;
}

.vision-editor .btn.btn-transparent:hover {
    color: var(--primary)!important;
}

.values-editor textarea {
    border: none;
    background-color: var(--white);
    padding: 20px;
    min-height: 60px;
    border-radius: 5px;
    outline: none;
    max-width: 100%;
    min-width: 100%;
    height: auto;
    margin-top: 2px;
    font-size: 11.5pt;
    line-height: 30px;
}

.value-item, .focus-item {
    margin-bottom: -6px!important;
}

.focus-item:last-child {
    /* padding-bottom: 0px!important; */
    /* border-bottom: none; */
}

.value-title {
    /* font-weight: 500; */
    /* font-size: 11pt; */
}

.value-item .button-set {
    float: right;
    vertical-align: top;
    margin-top: 22px;
}

.value-title label {
    width: 100%;
    display: inline-block;
    /* color: var(--black); */
}

.admin.focus-settings .focus-item {
    padding: 40px!important;
    border: none!important;
    float: none;
    margin: 0px auto 0px!important;
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 5px!important;
    flex-direction: column;
}

.admin.focus-settings .focus-item select {
    display: inline-flex;
    width: auto;
    border: none;
}

.admin.focus-settings .focus-item select.jtsyn-toolbar-heading-select {
    display: unset!important;
    width: unset!important;
    border: none!important;
    height: 28px;
    line-height: 28px;
    vertical-align: top;
    padding-right: 10px;
    margin-right: 10px;
    padding-left: 10px;
}

.focus-item .row:first-child .text-field {font-weight: 500;font-size: 11pt!important;
                                          border: none;}

.admin-pillars .text-field.col.s12 {
    padding-bottom: 0;
}

.value-item {
    border-left: transparent;
    border-right: transparent;
    border-top: none;
    padding: 40px!important;
    border-radius: 0px;
    /* background-color: var(--background-color); */
    margin-bottom: 5px!important;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    display: block;
    /* border: 1px solid var(--light-border); */
    margin-bottom: 5px;
    transition: all .5s ease-in-out;
}

.value-item:hover .node-stat-badge {
    background-color: var(--light-white)!important;
}

.strategy\.values .value-item {
    margin-bottom: 5px!important;
}

.dark .value-item {
    background-color: var(--light-glass);
}

.admin-settings .value-item {
    border: none;
}

.values-editor .value-item {padding: 40px!important;background-color: var(--white);transition: all .5s ease-in-out;}

.admin.values-editor .value-item {
    background-color: var(--white);
}

.values-editor .value-item:hover {
    background-color: var(--white);
}

.strategy-page .value-item .value-text {
    padding-top: 0px;
    color: var(--light-text);
    /* font-size: 13px; */
}

.value-item .initiative-item-row .value-text {
    padding-bottom: 10px!important;
}

.value-item:last-child {
    border-bottom: none;
}

.value-item:last-child {
    margin-bottom: 0px!important;
    padding-bottom: 0px;
}

.okrs-page .focus-group .value-item {
    background: var(--light-glass) !important;
    /* border: none!important; */
    /* box-shadow: none; */
    /* padding: 10px 0 0!important; */
    /* margin-bottom: 30px!important; */
    transition: all .5s ease-in-out;
}

.okrs-page .focus-group .value-item:hover {
    background-color: var(--white)!important;
}

.okrs-page .focus-group .value-item:last-child {
    margin-bottom: 0!important;
}

.value-item p {
    margin-top: 0px;
}

.value-item .btn {
    height: 50px;
    line-height: 50px;
    margin-top: -1px;
    /* margin-top: -10px; */
    /* margin-bottom: -10px; */
    display: inline-block;
    float: right;
    background-color: var(--white)!important;
    margin-left: 10px;
}

.strategy-vision p {
    margin-bottom: 0px;
}

.focus-item.card {
    padding: 40px!important;
    border-bottom: none;
    font-size: 11pt;
    line-height: 26px;
    margin: 0px 0px 10px!important;
}

.info-text.note {
    text-align: center;
    margin: -47px auto 10px;
    height: 40px;
    line-height: 40px;
    background-color: var(--primary);
    color: var(--awhite);
    padding: 0px 90px;
    border-radius: 10px;
    z-index: 9999999999999999999;
    position: fixed;
    right: 40px;
}

.info-text.note i {
    line-height: 40px;
    height: 40px;
    font-size: 15px;
    position: absolute;
    right: 10px;
    cursor: pointer;
}

.admin-settings h5 {
    margin-bottom: -5px!important;
    height: 40px;
    line-height: 40px;
}

.value-title input {
    padding: 0px 20px!important;
    border-radius: 5px!important;
    height: 50px!important;
    line-height: 50px!important;
}

.publish-toggle i {
    vertical-align: middle;
    padding-right: 10px!important;
}

.focus-item .btn.btn-transparent.delete:hover {
    background-color: var(--warning)!important;
}

.focus-item .btn.btn-transparent.delete:hover i {
    color: var(--awhite)!important;
}

.focus-item .btn.btn-transparent {
    background-color: var(--white)!important;
}

.strategy-page .extra-items {
    margin-top: 20px;
    max-width: 500px;
    text-align: center;
    margin: 0px auto 0px;
}

.strategy-page .extra-items .south-arrow {
    position: absolute;
    top: 291px;
    right: calc(50% - 130px);
    color: var(--primary);
    transform: rotate(180deg);
    font-size: 15pt;
}

.left-south-arrow.south-arrow {
    right: unset!important;
    left: calc(50% - 130px);
    top: 120px!important;
    transform: unset!important;
}

.strategy-page .extra-items .side-by-side .list-item {
    width: 150px!important;
    display: inline-block;
    margin: 0px 6px;
}

.strategy-page .extra-items .list-item {
    height: 50px;
    line-height: 50px;
    padding: 0px 10px;
    margin-bottom: 15px!important;
    border-radius: 3px;
    text-align: center;
    background-color: var(--background-color);
    font-size: 10pt;
    width: 160px;
    display: block;
    margin: 0px auto;
    position: relative;
    z-index: 99999;
}

.strategy-page .extra-items .side-by-side:first-child::after {
    content: ' ';
    border-left: 1px solid var(--light-border);
    height: 23px!important;
    position: absolute;
    right: calc(50% - 1px);
    top: 27px;
}

.strategy-page .extra-items .side-by-side:first-child::before {
    content: ' ';
    border-top: 1px solid var(--light-border);
    top: 26px;
    position: absolute;
    width: 50px;
    left: calc(50% - 25px);
}

.strategy-page .extra-items .list-item:hover {
    background-color: var(--primary);
    color: var(--awhite);
    border-color: var(--primary);
}

.strategy-page .extra-items .list-item:last-child {
    margin-bottom: 0px!important;
}

html body .cke .cke_toolbar .cke_button_icon {
      /* Set desired width */
     /* Set desired height */
      width: 32px!important;
      background-position-x: 8px!important;
      margin: 0px auto;
      margin-top: 6.5px;
      display: inline-block!important;
      position: relative;
      /* padding: 10px!important; */
      /* text-align: center; */
}

html.dark body .cke .cke_toolbar .cke_button_icon {
    filter: invert(1) brightness(.8);
}

html.dark body .cke .cke_toolbar .cke_button_icon:hover {
    filter: invert(1) brightness(0);
}

body .research-pane .cke .cke_toolbox {
    /* background-color: var(--white); */
    /* display: inline-block; */
    /* border-radius: 15px; */
    /* padding: 10px; */
    padding-top: 20px!important;
    display: flex;
    padding-left: 20px;
    padding-right: 20px;
}

.mail-app .cke_top {
    padding-left: 20px!important;
    padding-top: 20px!important;
    position: relative;
    z-index: 0;
}

body .cke_toolgroup {
    margin: 0px;
    padding: 0px;
}

.strategy-page .close-btn {
    /* position: absolute; */
    /* right: 50px; */
    /* top: 50px; */
    padding-right: 5px!important;
}

.strategy-page .close-btn i {
    color: var(--icon-color);
}

.strategy-page .close-btn .btn:hover i {
    color: var(--primary);
}

.programs-editor {
    padding: 40px!important;
    /* border: 1px solid var(--border); */
    border-radius: var(--border-radius-tiny);
    background-color: var(--white);
    box-shadow: var(--box-shadow);
}

.project-size-header .s1:last-child label {
    text-align: right;
}

.spec-item-embeddings.oe .panel-embeddings .spec-item-embeddings-item {
    z-index: 99999999999999999999999;
    height: 100dvh;
    /* max-height: calc(100dvh - 64px); */
}

.panel-embeddings {
    background-color: var(--white);
}

.user-profile-image.backgrounded {
    width: 36px!important;
    max-width: 36px!important;
    height: 36px!important;
    background-size: cover;
    vertical-align: middle;
    background-repeat: no-repeat;
    border-radius: 5px;
    margin-right: 15px;
}

.user-profile-image.backgrounded.sml {
    width: 25px!important;
    height: 25px!important;
    background-position: center center;
}

.project-user .user-profile-image.backgrounded.sml {
    margin-top: 11px;
}

.user-editor .user-profile-image.backgrounded {
    width: 30px;
    max-width: 30px;
    height: 30px;
    background-position: center center;
    margin-top: 10px;
}

.strategy-vision.body-overflow {
    /* padding-top: 40px; */
    /* padding-bottom: 40px; */
}

.project-peeps .sub-text {
    margin-bottom: 0px;
}

.centered-page {
    padding: 50px 0px!important;
}

.strategy-page .centered-page {
    height: calc(100dvh - 64px);
    max-width: 100%!important;
    /* width: 100%!important; */
    overflow-y: auto;
    display: flex !important;
    /* background-image: url('/images/road.jpg'); */
    background-size: cover;
    position: relative;*
    right: 0!important; */
;
    padding-left: 50px!important;
    padding-right: 50px!important;
}

.strategy-page .centered-page h6 + .sub-text {
    /* background-color: var(--light-glass); */
    padding: 0 3px;
}

.strategy-content.centered-page.oe.strategy\.map {
    padding: 0!important;
}

.centered-page.strategy\.vision .card.ql-editor {
    padding: 40px;
    /* font-size: 13px; */
}

.centered-page.strategy\.overview {
    padding: 0!important;
}

.strategy-page .centered-page::before {
    /* content: ' '; */
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    /* background-color: var(--background-color); */
    /* position: absolute; */
    /* opacity: .5; */
}

.strategy-page .centered-page.strategy\.focuses {
    /* background-image: url(/images/focuses.jpg); */
}

.strategy-page .centered-page.strategy\.pillars {
    /* background-image: url('/images/pillars1.jpg'); */
    /* filter: grayscale(1); */
    /* max-width: 1300px!important; */
    margin: 0 auto;
}

.strategy-page .centered-page.strategy\.pillars > .focus-settings {
    max-width: 1200px;
}

.strategy-page .centered-page.strategy\.pillars > .focus-settings .pillars-list {
    padding-bottom: 50px!important;
}

.strategy-page .centered-page.strategy\.pillars {}

.strategy-page .centered-page .card {
    /* max-width: 960px; */
    margin: 0px auto var(--item-margin);
    padding: 30px;
    border-radius: var(--border-radius-tiny);
    /* display: flex; */
    /* opacity: .9; */
    background-color: var(--white);
    /* border: var(--light-glass-border); */
    box-shadow: var(--box-shadow)!important;
    transition: all .5s ease-in-out;
}

.strategy-page .centered-page .card:hover {
    background-color: var(--white);
}

.strategy-page .btn.edit-btn i {
    color: var(--black)!important;
}

.strategy-page .btn.edit-btn:hover i {
    color: var(--primary)!important;
}

.dark .profile-projects.pproject {background-color: var(--light);}

.dark .profile-page .profile-projects.pproject {
    background-color: var(--white);
}

.number-of .btn.btn-transparent.right i {
    line-height: 36px;
    height: 36px;
    color: var(--black);
}

.number-of .btn.btn-transparent.right {
    margin-top: 0px;
    padding-right: 2px!important;
}

.sub-head-sub-text .sub-text {
    line-height: 25px;
    margin-bottom: 10px;
    margin-top: -5px;
}

.todos-sh .small-sub-text.sub-text {
    /* margin-top: -22px; */
    /* padding: 0px 30px; */
}

nav #usertasks .select-todo-list.cd-handle i {
    line-height: 22px!important;
}

.item .left-contents {
    display: inline-block;
    float: left;
}

.item .right-contents {
    display: inline-block;
    float: right;
}

.my-task-list .pop-into-header {
    height: 51px;
    line-height: 51px;
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 99999;
    width: 100%;
    text-align: left;
    border-top: 1px solid var(--light-border);
    background-color: var(--white);
}

.dropdown-content.public-users.active li {
    background-color: var(--xwhite);
    padding: 0 20px;
}

.dropdown-content.public-users.active li:hover {
    background-color: var(--extra-light);
}

.dropdown-content.public-users.active li a {
    background-color: transparent;
}

.work-panel-header .small-sub-text.sub-text {
    line-height: 15px;
    margin-top: 1px;
    margin-bottom: 0;
}

.description .plan-title {
    padding: 12px 0px 30px;
    font-weight: 600;
    color: var(--primary);
    /* border-bottom: 1px dashed var(--light-border); */
    margin-top: 10px;
}

.account-info .description .plan-title {
    margin-top: 0;
    margin-bottom: 10px;
}

.plan-description {
    border-radius: var(--border-radius-smallish);
}

.plan-name {
    font-size: 11pt;
}

.plan-title .plan-name {
    /* font-family: var(--nothing); */
    font-size: 15px!important;
    font-weight: 500!important;
}

.plan-title .plan-name, .plan-title .plan-price {
    /* font-size: 20px; */
    /* font-weight: 400; */
    text-transform: lowercase;
}

.account .settings-section-wrapper .col.s12.m6.company-details:nth-child(2n) {
    padding-right: 30px!important;
}

.plan-price {
    font-size: 10pt;
}

.business-data-title, .business-data-title-text {
    font-size: 14px;
}

.value-text {
    padding-top: 0px;
}

.listing-item .listing-description.ql-editor.comment-wrapper {
    padding: 20px 25px 25px!important;
    background-color: var(--background-color)!important;
    border-radius: var(--border-radius-tiny);
    margin-top: 10px;
    border: 1px solid var(--light-border);
}

.timeline-content rich-text-diff.nav.compare-descriptions.ql-editor {
    max-height: 200px;
    border-radius: var(--border-radius-tiny);
    margin-top: 5px;
    border: 1px solid var(--border);
}

.timeline-content:hover rich-text-diff.nav.compare-descriptions.ql-editor {
    /* background-color: var(--light); */
    cursor: pointer;
    border: 1px solid var(--primary)!important;
}

.card-section .quick-chart {
    height: 50vh;
}

.project-timelogs .timelog-nav {
    position: sticky;
    bottom: 30px;
    right: 60px;
}

.other-estimate.row {
    padding: 0px 15px;
    height: 50px;
    line-height: 50px;
    background-color: var(--background-color);
    margin-bottom: -4px!important;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.team-user .meta-title {
    padding: 0px 20px;
    /* font-weight: 400; */
    display: inline-block;
    width: 100%;
}

.project-peeps.row.list-item-editor .m6.col {
    background-color: var(--white);
    /* border-radius: var(--border-radius-tiny); */
    /* box-shadow: var(--box-shadow); */
    padding: 40px!important;
    margin: 0!important;
}

.jira-integration-project-link .component-sl-item-wrapper {
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 6px;
    /* border: 1px solid var(--border); */
    /* overflow: hidden; */
    position: relative;
    box-shadow: var(--box-shadow);
}

.add-link-container .col.s4, .add-link-container .col.s7 {
    padding-right: 1px!important;
}

.add-link-container .col.s4 input {
    border-radius: 5px 0px 0px 5px!important;
    background-color: var(--white)!important;
    border-right: 1px solid var(--light-border);
}

.add-link-container .col input {
    font-size: 13px!important;
}

.add-link-container .col.s8 input {
    border-radius: 0px!important;
    background-color: var(--white)!important;
}

.add-link-container .col.s8 input:focus {
    background-color: transparent!important;
}

.add-link-container .col.s1 {
    width: 50px!important;
}

.add-link-container .col.s1 .btn {
    height: 50px;
    min-width: 50px;
    line-height: 50px;
    background-color: var(--white)!important;
    border-radius: 0px 5px 5px 0px!important;
    margin-right: -5px!important;
    right: -3px;
    border-left: 1px solid var(--light-border);
}

.add-link-container .col.s1 .btn:hover {
    background-color: var(--primary)!important;
}

.add-link-container .col.s1 .btn:hover i {
    color: var(--awhite)!important;
}

.add-link-container .col.s11 {
    width: calc(100% - 53px)!important;
    padding-right: 1px!important;
}

.project-item-activity {
    max-width: 860px;
    margin: 0px auto;
    position: relative;
}

.spec-version-section {
    max-width: 860px;
    margin: 0px auto;
}

.task-integration-card {
    max-width: 780px;
    margin: 0px auto;
    position: relative;
}

.project-item-activity .stabs {
    /* position: absolute; */
    /* right: 0px; */
    /* top: 13px; */
    /* left: unset; */
    /* text-align: right; */
    /* width: 50%; */
    margin-top: 20px!important;
    border-radius: 5px 5px 0 0;
}

.the-spec-timeline .timeline-content > .timeline-content {
    overflow-wrap: break-word;
}

.the-spec-timeline .timeline-content > .timeline-content a {
    word-break: break-word;
}

.stats-card .google-chart {
    padding: 40px;
    background-color: var(--white);
    box-shadow: var(--box-shadow)!important;
    border-radius: var(--border-radius-tiny);
    display: inline-block;
    width: 100%;
    height: calc(100dvh - 190px);
}

.stats-card .quick-list {
    margin-left: -40px;
    margin-right: -40px;
    padding: 0px 40px 40px;
    /* overflow-y: auto; */
    /* max-height: calc(100dvh - 196px); */
    display: flex;
    flex-direction: column;
}

.stats-card .card-header-actions .btn i {
    color: var(--black);
}

.component-status-list {
    /* border: 1px solid var(--light-border); */
    /* border-radius: var(--border-radius-tiny); */
    /* margin-top: 10px; */
    overflow-y: auto;
    max-height: 50vh;
}

.overview-meta .status-comments .listing-description {
    /* visibility: hidden; */
    /* opacity: 0; */
    /* height: 0px; */
    transition: all .3s ease-in-out;
    /* display: none; */
}

.overview-meta .status-comments.expanded .listing-description {
    height: 100%;
    display: inline-block;
    opacity: 1;
    visibility: visible;
}

.ai-panel .osh-title {
    padding: 30px 30px 0px;
}

.overview-section .ai-panel .osh-title {
    padding: 0px;
}

.spec-overview .ai-panel .the-title img {
    background-color: var(--awhite);
    height: 20px!important;
    width: 20px!important;
    padding: 3px;
    border-radius: 5px;
    /* margin-top: 12px!important; */
    margin-right: 4px!important;
}

.project-quick-stat .meta-title {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding-right: 10px!important;
    cursor: pointer;
    user-select: none;
    font-weight: 400;
}

.project-quick-stat.user-data .meta-title {
    color: var(--light-text);
    font-weight: 300;
}

.project-quick-stat.user-data .meta-title:hover {
    color: var(--primary);
}

.meta-title .indented:hover {
    text-decoration: underline;
}

.overview-section-header .determinate {
    background-color: var(--light-text)!important;
    height: 3px;
}

.good i {
    color: var(--good)!important;
}

#theAiSettings {
    border-radius: var(--border-radius-smallish);
}

.ai-convos .sidebar-content .btn {
    text-align: left;
    padding-left: 30px!important;
    padding-right: 30px!important;
    margin-left: -30px;
    margin-right: -30px;
    width: calc(100% + 60px);
    height: 50px;
    line-height: 50px;
    color: var(--black)!important;
}

.task-integration-card .sa-title .inline-image {
    line-height: 28px;
    vertical-align: top;
}

.task-integration-card .sa-title .inline-image img {
    margin-top: -4px;
    margin-right: 4px;
}

.share-post-privacy i {
    font-size: 11pt;
    margin-right: 3px;
    vertical-align: middle;
    line-height: 30px;
    margin-top: -2px;
}

.ai-action .switch .lever {
    margin-right: 0px;
    margin-left: 0px;
    float: right!important;
    display: inline-block;
    margin-top: 0px;
}

.ai-action:hover .switch .lever {
    background-color: var(--white)!important;
}

.notification-date-header {
    height: 40px;
    display: flex;
    width: 100%;
    line-height: 55px;
    text-transform: uppercase;
    font-size: 11px;
    color: var(--light-text);
    padding-left: 25px;
    margin-top: 15px;
}

.inline-author-image.checklist-img {
    width: 20px;
    height: 25px;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    text-align: center;
}

.inline-author-image.checklist-img i {
    font-size: 13pt;
    line-height: 25px!important;
    color: var(--black);
    height: 25px;
}

.tasks .right-contents {
    float: right;
    display: flex;
    height: 20px;
    line-height: 20px;
}

.circle-number-text {
    font-size: 9pt;
    color: var(--black);
    display: inline-block;
    vertical-align: top;
    line-height: 20px;
}

.profile-projects.tboard-tasks .profile-task-items {
    padding-bottom: 15px;
}

.board-task-list-header {
    padding-bottom: 30px;
}

.outline-edit.outline-edit-expanded .outline-editor > .row > .col > input {
    border-bottom: 1px solid var(--light)!important;
}

.outline-edit .outline-editor > .row > .col > input {
    border-bottom: 1px solid var(--border)!important;
}

.listing-author-title .tiny-icon {
    font-size: 12pt!important;
    line-height: 10px!important;
    vertical-align: middle;
    height: 15px;
    padding-left: 3px;
}

.keyboard-shortcuts input.right {
    padding: 0px 5px!important;
    text-align: center;
    background-color: var(--extra-light)!important;
    border-radius: 0px 5px 5px 0px!important;
}

.ai-search-response a, .ai-search-response li a {
    color: var(--primary)!important;
}

.ai-search-response p {
    line-height: 23px;
}

/* Sources behind an AI answer — askAi's `citations`, matching the inline [N] markers.
   Computed and discarded until 2026-09-21. Uses existing tokens only; William owns the
   visual pass. */
.ai-response-citations {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid var(--border);
}

.ai-citations-label {
    font-size: 11px;
    text-transform: uppercase;
    color: var(--light-text);
    margin-bottom: 0px;
    margin-top: 10px;
}

.ai-citation {
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding: 3px 0;
    cursor: pointer;
    font-size: 13px;
    line-height: 18px;
}

.ai-citation:hover .ai-citation-name {
    color: var(--primary);
    text-decoration: underline;
}

.ai-citation-index {
    flex: 0 0 auto;
    min-width: 16px;
    color: var(--light-text);
    font-size: 11px;
}

.ai-citation-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: break-spaces;
}

.ai-btn.ai-response-header {
    display: flex;
    height: 30px;
    line-height: 30px;
    width: 100%;
    align-items: anchor-center;
    /* padding-bottom: 5px; */
    /* border-bottom: 1px solid var(--light); */
    /* margin-bottom: 11px; */
}

.ai-btn.ai-response-header svg {
    max-width: 30px;
    margin-right: 6px;
    margin-top: -4px;
}

.ai-btn.ai-response-header .right i {
    color: var(--primary)!important;
}

.ai-btn.ai-response-header i, .ai-btn.ai-response-header strong, .ai-btn.ai-response-header .btn {
    line-height: 30px;
}

.ai-btn.ai-response-header .btn {
    padding-right: 0px!important;
    margin-left: auto;
}

/* Chat Panel Styles */
.ai-chat-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100dvh - 64px)!important;
    background-color: var(--white);
    z-index: 10000;
    display: block;
    flex-direction: column;
    animation: slideIn 0.3s forwards;
    overflow: hidden;
}

.expanded .ai-chat-panel {
    background-color: var(--background-color);
}

@keyframes slideIn {
    from {transform: translateX(-400px);}
    to { transform: translateX(0); }
}

.chat-panel-header {
    padding: 15px 0px 15px 25px;
    border-bottom: 1px solid var(--light-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--white);
}

.chat-panel-title {
    display: flex;
    align-items: center;
    font-weight: 500;
}

.chat-panel-title svg {
    max-width: 30px;
    margin-top: -5px;
    margin-right: 5px;
}

.chat-panel-messages {
    overflow-y: auto;
    padding: 30px;
    height: calc(100dvh - 230px);
}

.dark .outline-container .chat-panel-messages {
    background-color: var(--light-white);
}

.expanded .chat-panel-messages.oe {
    height: calc(100dvh - 249px);
}

.expanded .chat-panel-messages {
    background-color: var(--background-color);
    /* box-shadow: var(--box-shadow-inset); */
}

.chat-panel-messages .chat-panel-messages-inner {
    max-width: 780px;
    margin: 0px auto;
}

.chat-message {
    margin-bottom: 20px;
    /* padding: 20px; */
    /* border-radius: 8px; */
    display: block;
    background-color: var(--light-white);
    width: auto;
}

.chat-messages .chat-message {
    margin-bottom: 0px;
    /* line-height: 20px; */
    padding: 0px;
    display: inline-block;
    width: 100%;
    vertical-align: top;
    position: relative;
}

.chat-messages .chat-message .message-sender-container {
    display: flex;
    align-items: center;
    width: 100%;
    line-height: normal;
}

.chat-message.private-ai-message {
    margin-left: 35px!important;
    max-width: 900px;
}

.mail-intel-main .mi-messages-container.oe .chat-message {
    background-color: transparent;
}

.chat-messages .chat-message.sent:first-child {
    margin-top: 10px!important;
}

.chat-message .message-content .ul {
    padding-left: 20px!important;
}

.user-message {
    background-color: var(--extra-light);
    margin-left: auto;
}

.ai-message {
    margin-right: auto;
}

.message-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}

.chat-message .message-header {
    display: inline-block;
    width: 100%;
    float: none;
    margin-bottom: 0px;
    line-height: 24px;
}

.chat-message .message-header .author-name {
    /* font-weight: 500; */
    color: var(--light-text);
    /* font-size: 13px; */
}

.chat-message .message-header i {
    height: 24px;
    line-height: 24px;
}

.message-author {
    display: flex;
    float: left;
    padding-right: 5px;
}

.author-image {
    width: 24px;
    height: 24px;
    margin-right: 0px;
}

.the-profile-image {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
}

.user-list-section.teams .the-profile-image {
    width: 30px;
    height: 30px;
    display: block;
}

.profile-page .user-list-section.teams .the-profile-image {
    width: 40px;
    height: 40px;
}

.intelligence-img {
    display: flex;
    align-items: center;
    justify-content: center;
}

.the-profile-image .intelligence-img.jt1 {
    font-size: 18pt!important;
    margin-left: 8px;
    margin-top: -2px;
}

.intelligence-img img {
    width: 16px;
    height: 16px;
}

.ai-panel .empty-message .intelligence-img img {
    width: 40px!important;
    height: 40px;
    box-shadow: none;
}

.message-content {
    line-height: 1.5;
    word-break: break-word;
    /* white-space: break-spaces; */
}

.chat-panel-input {
    padding: 0px 25px;
    border-top: 1px solid var(--light-border);
    box-sizing: border-box;
    /* border-right: 1px solid var(--border); */
    margin-right: -1px;
    border-bottom: none!important;
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    height: 100px;
    max-height: 100px;
}

.ai-chat-panel .chat-panel-input {
    padding: 0px;
}

.expanded .ai-chat-panel .chat-panel-input {
    max-width: 780px!important;
    margin: 0px auto;
    bottom: 20px;
    border: none;
}

.chat-panel-input textarea {
    /* flex: 1; */
    max-height: 120px;
    height: 100px!important;
    min-height: 50px!important;
    margin-bottom: 0px!important;
    border-bottom: none!important;
    font-size: 14px!important;
    padding-top: 20px!important;
    padding-bottom: 10px!important;
    outline: none;
    box-sizing: border-box!important;
    margin-left: -25px!important;
    margin-right: -25px!important;
    width: calc(100% + 50px)!important;
    padding-left: 25px!important;
    padding-right: 25px!important;
    overflow-y: auto!important;
    max-width: 100%;
    margin: 0px auto!important;
    display: block;
    /* max-width: 800px; */
    /* background-color: var(--light-white); */
}

.expanded .chat-panel-input textarea {
    /* max-width: 770px; */
    background-color: var(--white);
    bottom: 20px!important;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
}

.chat-panel-input textarea:focus {
    box-shadow: none!important;
    border-bottom: none!important;
}

.send-button {
    margin-left: 10px;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent!important;
}

button.send-button i {
    color: var(--primary)!important;
}

.chat-loading {
    display: flex;
    justify-content: center;
    margin: 20px 0;
}

.loading-indicator {
    display: flex;
    align-items: center;
    color: #666;
}

.loading-indicator .spinner {
    animation: spin 1s linear infinite;
    margin-right: 8px;
}

.ai-loading-state {
    background-color: var(--background-color);
    padding: 15px;
    border-radius: var(--border-radius-tiny);
    border: 1px solid var(--light-border);
    max-width: 100%;
    margin: 20px auto 0;
    position: relative;
}

.ai-loading-state svg {
    max-width: 25px;
}

/* ---------------------------------------------------------------------------------
   Project sidebar conversation panel (outline.project.html .ai-chat-panel).
   --------------------------------------------------------------------------------- */

/* The assistant's avatar: the Intelligence mark, the same one the panel header uses. */
.ai-chat-panel .chat-message .ai-author-mark {
    display: flex;
    align-items: center;
    width: 24px;
    height: 24px;
    margin-right: 5px;
}

.ai-chat-panel .chat-message .ai-author-mark span {
    display: flex;
}

.ai-chat-panel .chat-message .ai-author-mark .jt-ai {
    width: 24px;
}

/* Live progress in the bubble until the answer's first word (liveStep in
   EmbeddingSearchController). Indented to sit under the author's name. */
.ai-live-steps {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px 0 2px 29px;
    font-size: 13px;
    line-height: 20px;
}

.ai-live-step {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.ai-live-step.is-done {
    color: var(--light-text);
}

.ai-live-step .ai-live-step-check {
    font-size: 16px;
    color: var(--good);
}

.ai-live-step-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* The spinner at the far right of the step in progress. */
.ai-live-step .ai-live-step-spinner {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    margin: 0 0 0 auto;
}

/* An action the model wants to take, waiting on the user (the .ai-confirm-card design
   from ai-thinking.css), indented under the author like the live steps. */
.ai-live-confirms {
    padding: 8px 0 0 29px;
}

/* The model's reasoning, when the account shows it. Collapsed by default. */
.ai-live-reasoning {
    padding: 6px 0 0 29px;
    font-size: 12px;
    color: var(--light-text);
}

.ai-live-reasoning .ai-live-reasoning-toggle {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    cursor: pointer;
    user-select: none;
}

.ai-live-reasoning .ai-live-reasoning-toggle:hover {
    color: var(--primary);
}

.ai-live-reasoning .ai-live-reasoning-toggle i {
    font-size: 16px;
    color: inherit;
}

.ai-live-reasoning-text {
    margin-top: 6px;
    max-height: 180px;
    overflow-y: auto;
    padding-left: 10px;
    border-left: 2px solid var(--light-border);
    white-space: pre-wrap;
    line-height: 1.5;
}

/* Stop sits in the input bar while an answer is on its way: always in view, and it
   covers every phase (searching, the first answer, follow-ups). */
.ai-chat-panel .chat-panel-input.is-answering textarea {
    padding-right: 100px!important;
}

.ai-chat-panel .chat-panel-input .chat-panel-stop.btn.btn-transparent {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 32px;
    line-height: 32px;
    padding: 0 12px!important;
    border: 1px solid var(--light-border)!important;
    border-radius: var(--border-radius-xs)!important;
    background-color: var(
    --white)!important;
    color: var(
    --black)!important;
    font-size: 12px;
    text-transform: none;
}

.ai-chat-panel .chat-panel-input .chat-panel-stop.btn.btn-transparent i {
    color: var(--warning);
}

.ai-chat-panel .chat-panel-input .chat-panel-stop.btn.btn-transparent:hover {
    border-color: var(--warning)!important;
    color: var(--warning)!important;
}

.ai-chat-panel .chat-panel-input .chat-panel-stop i {
    font-size: 16px;
    line-height: 32px;
    color: inherit;
}

.chat-panel-actions .chat-panel-speak {
    margin-left: auto;
}

.chat-panel-actions .chat-panel-speak i {
    font-size: 15px;
}

/* Terminal states written into an assistant bubble by the controller. */
.ai-response-stopped {
    color: var(--light-text);
    font-style: italic;
    margin-top: 10px;
}

.ai-response-failed {
    color: var(--warning);
    margin-top: 10px;
}

/* ---------------------------------------------------------------------------------
   Project sidebar: ONE bar, two modes — search the project, or ask about it.
   [ mode ▾ ] | input | X / history. The mode switch only renders when AI is enabled
   (.has-mode-switch); without it the bar is exactly the plain search bar it was.
   --------------------------------------------------------------------------------- */
.zj-search-bar .search-input .search-mode-switch {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    height: 50px;
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid var(--white);
    border-radius: 5px 0 0 5px;
    cursor: pointer;
    user-select: none;
    transition: background-color .15s ease;
}

.zj-search-bar .search-input .search-mode-switch:hover {
    background-color: var(--hover-item);
}

.zj-search-bar .search-input .search-mode-switch:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: -2px;
}

/* Clears the switch. Must out-rank the base rule's !important padding. */
html body .zj-search-bar .search-input.has-mode-switch input {
    padding-left: 70px!important;
}

.search-mode-icons {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 24px;
}

.search-mode-icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    transition: opacity .2s ease, transform .3s cubic-bezier(.2, .8, .2, 1);
}

.search-mode-icon svg {
    max-width: 30px;
    height: 30px;
    margin-top: -5px;
}

/* The swap: the outgoing icon spins away as the incoming one spins in. */
.search-mode-icon.mode-icon-ask {
    opacity: 0;
    transform: rotate(-90deg) scale(.5);
}

.search-input.mode-ask .search-mode-icon.mode-icon-search {
    opacity: 0;
    transform: rotate(90deg) scale(.5);
}

.search-input.mode-ask .search-mode-icon.mode-icon-ask {
    opacity: 1;
    transform: none;
}

.search-mode-caret {
    font-size: 18px!important;
    margin-left: -2px;
    color: var(--light-text);
    transition: transform .3s ease;
}

.search-input.mode-ask .search-mode-caret {
    transform: rotate(180deg);
}

/* The two inputs share one slot. The inactive one is hidden with visibility (so it is
   also unfocusable and invisible to assistive tech) and slides out as the other slides in. */
.zj-search-bar .search-input .search-input-fields {
    position: relative;
}

.zj-search-bar .search-input .search-field {
    transition: opacity .18s ease, transform .22s ease, visibility .22s;
}

.zj-search-bar .search-input .search-field-ask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
}

.zj-search-bar .search-input.mode-ask .search-field-search {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
}

.zj-search-bar .search-input.mode-ask .search-field-ask {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .zj-search-bar .search-input .search-field,
    .search-mode-icon,
    .search-mode-caret {
        transition: none!important;
    }
}

/* "Ask AI" suggestion — the first row when the search text reads like a question. */
.project-outline-item.ask-ai-suggestion .title {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ask-ai-suggestion-icon svg {
    max-width: 20px;
    height: 20px;
}

.ask-ai-suggestion-label {
    color: var(--primary);
    white-space: nowrap;
}

.ask-ai-suggestion-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ask-ai-suggestion-enter {
    font-size: 16px!important;
    color: var(--light-text);
    opacity: 0;
    transition: opacity .15s ease;
}

.ask-ai-suggestion:hover .ask-ai-suggestion-enter,
.ask-ai-suggestion.kb-selected .ask-ai-suggestion-enter {
    opacity: 1;
}

/* Keyboard focus for EVERY row in the search list — the outline's own matches included.
   It used to be scoped to .search-results, so arrowing through the outline rows showed
   nothing until the selection reached the Algolia rows below them. */
.project-outline-items .project-outline-item.kb-selected .title {
    text-decoration: underline!important;
    color: var(--primary)!important;
}

/* A long file name with no spaces (JTSYN_FOUNDER_CONTEXT_EXPORT.md) wrapped whole onto the
   line below its icon. Let it break inside the name instead. */
.project-outline-item.smart-result .title {
    overflow-wrap: anywhere;
}

/* Marks a deeper-search row that is not a task: a file's text or a project overview. */
.result-type-icon {
    font-size: 15px;
    vertical-align: middle;
    margin-right: 4px;
    color: var(--light-text);
}

/* The mode switch wears .ai-gradient-bg (css/components/ai-gradient.css); a divider
   line on the gradient's edge would only cut into it. */
.zj-search-bar .search-input .search-mode-switch.ai-gradient-bg {
    border-right-color: transparent;
}

/* Asking: the animated .ai-gradient-ring takes over the bar's border, so the resting
   grey line must not show through at the corners. */
.dark .outline-container .zj-search-bar .search-input.ai-gradient-ring, .outline-container .zj-search-bar .search-input.ai-gradient-ring {
    border-color: transparent;
}

.embedding-results .ai-loading-state {
    max-width: calc(100% - 60px);
}

.embedding-results .ai-loading-state svg {
    max-width: 25px;
    max-height: 25px;
}

.dark .ai-loading-state {
    border-color: var(--555);
}

.ai-loading-state .spinner {
    margin: 0px!important;
    height: 23px!important;
    width: 23px!important;
    float: right!important;
    margin-top: 0px!important;
    color: var(--icon-color)!important;
    display: flex!important;
    justify-content: center;
    align-items: center;
}

.ai-loading-state i {
    width: 50px!important;
    font-size: 10pt!important;
    height: 50px!important;
    display: block!important;
}

.embedding-results .ai-loading-state i {
    font-size: 12pt!important;
    width: auto!important;
    height: auto!important;
    line-height: unset!important;
    margin-right: 10px;
}

.ai-loading-state span {
    color: var(--black)!important;
    text-align: right;
    display: inline-block;
    
    /* align-items: center; */
    /* justify-content: space-between; */
    vertical-align: top;
}

.ai-chat-panel .chat-message {
    margin-bottom: 30px;
    background-color: transparent;
}

.expanded .ai-chat-panel .chat-message {
    background-color: var(--white);
    padding: 30px;
    margin-bottom: 5px;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
}

.ai-chat-panel .chat-message .author-image {
    margin-right: 5px;
}

.ai-chat-panel .chat-message .the-profile-image {
    width: 19px;
    height: 19px;
    margin-top: 2px;
}

.ai-chat-panel .chat-message:last-child {
    margin-bottom: 0px;
}

.ai-chat-panel .chat-message ul {
    padding-left: 15px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.ai-response-collapsed {
    max-height: 250px;
    overflow: hidden;
    position: relative;
    margin-bottom: 5px;
}

.ai-response-toggle {
    text-align: left;
    cursor: pointer;
    color: var(--primary)!important;
    font-size: 13px;
    padding: 5px 0px;
    margin-top: 5px;
    cursor: pointer;
}

.ai-response-toggle:hover {
    text-decoration: underline;
}

/* AI Chat Widget Styles */
.ai-chat-widget {
	margin-top: 20px;
	border-radius: 4px;
	overflow: hidden;
}

.ai-chat-container {
	display: flex;
	flex-direction: column;
	height: 300px;
	background-color: #f9f9f9;
	border-radius: 0 0 4px 4px;
}

.ai-chat-messages {
	flex: 1;
	overflow-y: auto;
	padding: 15px;
	display: flex;
	flex-direction: column;
}

.ai-message {
	display: block;
	margin-bottom: 12px;
	max-width: 100%;
}

.user-message {
	align-self: flex-end;
	flex-direction: row-reverse;
}

.ai-response {
	align-self: flex-start;
}

.message-avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 8px;
	background-color: #e0e0e0;
}

.user-message .message-avatar {
	background-color: #2196F3;
	color: white;
}

.ai-response .message-avatar {
	background-color: #4CAF50;
	color: white;
}

.message-content {
	padding: 20px;
	border-radius: var(--border-radius-tiny);
	background-color: var(--background-color);
	background: var(--background-color);
}

.user-message .message-content {
	border: 1px solid var(--border);
}

.dark .user-message .message-content {
    border-color: var(--555);
}

.ai-response .message-content {
	background-color: white;
	border-top-left-radius: 4px;
}

.ai-chat-input {
	display: flex;
	padding: 10px;
	background-color: white;
	border-top: 1px solid #e0e0e0;
}

.ai-chat-input textarea {
	flex: 1;
	border: 1px solid #e0e0e0;
	border-radius: 20px;
	padding: 8px 12px;
	resize: none;
	height: 40px;
	line-height: 24px;
	margin-right: 8px;
}

.ai-send-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #2196F3;
	color: white;
	cursor: pointer;
	padding: 0;
	min-width: 40px;
}

.ai-send-btn:disabled {
	background-color: #e0e0e0;
	cursor: not-allowed;
}

.ai-thinking {
	display: flex;
	align-self: flex-start;
	margin-bottom: 12px;
}

.thinking-indicator {
	padding: 10px 14px;
	border-radius: 18px;
	background-color: white;
	box-shadow: 0 1px 2px rgba(0,0,0,0.1);
	border-top-left-radius: 4px;
	display: flex;
	align-items: center;
}

.thinking-indicator .dot {
	width: 8px;
	height: 8px;
	background-color: #bbb;
	border-radius: 50%;
	margin: 0 2px;
	animation: pulse 1.5s infinite;
}

.thinking-indicator .dot:nth-child(2) {
	animation-delay: 0.2s;
}

.thinking-indicator .dot:nth-child(3) {
	animation-delay: 0.4s;
}

@keyframes pulse {
	0% { opacity: 0.4; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.2); }
	100% { opacity: 0.4; transform: scale(1); }
}

.chat-panel-actions .btn {
    padding: 0px 10px!important;
}

.message-time {
    font-size: 12px;
    width: 100%;
    line-height: 15px;
    margin-bottom: 15px;
    padding-left: 30px;
    color: var(--light-text);
}

.outline-container .message-time {
    display: inline-block;
    float: right;
    color: var(--light-text);
    width: auto;
    margin-top: 4px;
    margin-bottom: -5px;
}

.message-time:hover {
    cursor: pointer;
}

.ai-threads-button .btn {
    text-align: center;
    text-transform: initial!important;
    width: 100%;
}

.ai-thread-history {
    margin-left: -30px!important;
    margin-right: -30px!important;
}

.the-spec-outline .thread-item {
    padding: 10px 30px;
}

.the-spec-outline .thread-history-header {
    padding: 10px 15px 10px 30px;
}

.ai-thread-history {
    background: var(--white);
    height: calc(100dvh - 275px);
    overflow-y: auto;
}

.thread-history-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    border-bottom: 1px solid var(--border-color);
    position: sticky;
    top: 0;
    background: var(--white);
    z-index: 10;
}

.thread-history-header h5 {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
}

.thread-list-loading, .thread-list-empty {
    padding: 5px 30px 10px;
    /* text-align: center; */
    color: var(--primary);
    line-height: 20px;
}

.thread-list-loading i {
    float: left;
    margin-right: 6px;
    line-height: 20px;
    margin-left: 0px;
}

.thread-item {
    padding: 12px 15px;
    border-bottom: 1px solid var(--border-color);
    /* cursor: pointer; */
    position: relative;
    transition: background 0.2s;
}

.thread-item:hover {
    background: var(--extra-light);
}

.thread-item-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
    user-select: none;
}

.thread-item-title {
    font-weight: 400;
    font-size: 14px;
    color: var(--text-color);
    /* white-space: nowrap; */
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 70%;
}

.thread-item-date {
    font-size: 12px;
    color: var(--light-text);
}

.thread-item-preview {
    font-size: 13px;
    color: var(--light-text);
    margin-bottom: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    /* line-height: 1.4; */
}

.thread-item-actions {
    position: absolute;
    right: 7px;
    top: 4px;
    opacity: 0;
    transition: opacity 0.2s;
}

.thread-item:hover .thread-item-actions {
    opacity: 1;
}

.delete-thread {
    padding: 0px !important;
    height: auto !important;
    position: absolute;
    top: 0px;
    right: 0px;
}

.delete-thread i {
    font-size: 18px;
    color: var(--warning);
}

.ai-threads-button .btn {
    font-size: 9.5pt!important;
}

.clear-results.btn.btn-transparent {
    width: 100%;
    font-size: 9.5pt;
    background-color: var(--background-color)!important;
    color: var(--warning)!important;
    margin-top: 5px!important;
    margin-bottom: 5px;
}

.spec-item-title {
    font-size: 18px;
    margin-bottom: 15px;
}

.profile-notifications .notifications-queue {
    max-width: 100%;
    padding-left: 0px!important;
    padding-right: 0px!important;
    height: unset;
}

.page-notifications > .notifications-queue {
    /* padding: 30px!important; */
    /* border: 1px solid var(--light-border); */
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0;
    border-radius: var(--border-radius-tiny);
    /* box-shadow: var(--box-shadow-inset); */
}

.profile-notifications .notifications-tabs {
    display: flex;
    gap: 6px;
    margin: 12px 0 18px 0;
    flex-wrap: wrap;
}
.profile-notifications .notifications-tabs .btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 15px!important;
    border-radius: 20px;
    font-size: 12px;
    color: var(--black)!important;
    background-color: var(--background-color)!important;
    /* border: 1px solid var(--extra-light); */
    cursor: pointer;
    line-height: 1;
}

.profile-notifications .notifications-tabs .btn:hover {
    background-color: var(--background-color)!important;
}
.profile-notifications .notifications-tabs .btn i {
    font-size: 16px;
}
.profile-notifications .notifications-tabs .btn.selected {
    background-color: var(--primary)!important;
    color: var(--awhite)!important;
    border-color: var(--primary);
}

.profile-notifications .notifications-tabs .btn.selected i {
    color: var(--awhite)!important;
}
.profile-notifications .notifications-tabs .btn:hover:not(.selected) {
    background-color: var(--extra-light);
}
.profile-notifications .notification-pagination {
    text-align: center;
    padding: 14px 0;
    font-size: 12px;
    color: var(--light-text);
    cursor: pointer;
    background-color: var(--extra-light);
}
.profile-notifications .notification-pagination:hover {
    color: var(--primary-color);
}
.profile-notifications .notification-date-header {
    font-size: 11px;
    text-transform: uppercase;
    color: var(--light-text);
    margin: 0;
}

.btn.integration-back {
    margin-right: 6px;
}

.card.jira-quick-view {
    margin-top: -40px;
}

.jira-open-in-external {
    padding-left: 9px;
    padding-right: 10px;
}

.jira-open-in-external i {
    font-size: 13px!important;
    margin-top: -3px;
}

.jira-quick-view .header-row .btn {
    margin-top: -8px;
}

.row.jira-description {
    padding: 0px 0px 10px;
}

.new-assignee-meta .s9 div:last-child {
    /* padding: 10px 15px!important; */
    /* margin-top: 10px; */
    /* border-radius: var(--border-radius-tiny); */
    /* border: 1px solid var(--border); */
    /* width: auto!important; */
    /* display: inline-block; */
}

.new-assignee-meta {
    padding: 5px 10px!important;
    /* box-shadow: var(--box-shadow); */
    width: auto!important;
    display: inline-block;
    border-radius: 3px;
    background-color: var(--background-color);
    margin-top: 10px;
}

.new-assignee-meta .bg-image.mini-img {
    height: 20px;
    width: 20px!important;
}

.mini-timeline-item:hover .new-assignee-meta .s9 div:last-child {
    background-color: var(--light);
}

.chat-user-info {
    display: inline-block;
    height: 50px;
    width: calc(100% - 105px);
    cursor: pointer;
    user-select: none;
}

.chat-user-info:hover div {
    color: var(--primary);
}

.chat-header-actions {
    display: inline-block;
    float: right;
    height: 50px;
    width: 50px;
    text-align: center;
    line-height: 50px;
    user-select: none;
    cursor: pointer;
}

.chat-header-actions:hover i {
    color: var(--primary);
}

.chat-header-actions i {
    line-height: 50px;
    font-size: 22px;
}

.chat-avatar {
    max-width: 30px;
    max-height: 30px;
    height: 40px;
    line-height: 40px;
    vertical-align: middle;
    text-align: center;
    display: inline-block;
    float: left;
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
    margin-top: 10px;
}

.chat-avatar .ai-btn img {
    height: 20px;
    width: 20px;
    margin-top: 0px!important;
}

.chat-user-details {
    padding-left: 10px!important;
    display: inline-block;
    height: 50px;
}

.jtsyn-chat-profile.active {
    overflow-y: auto;
    padding: 0px 30px 30px;
    width: 100%;
}

.jtsyn-chat-profile .chat-header {
    width: calc(100% + 60px)!important;
    margin-left: -30px;
    line-height: 50px;
    height: 50px;
    vertical-align: middle;
    border-bottom: 1px solid var(--border);
}

.jtsyn-chat-profile .chat-header i, .jtsyn-chat-profile .chat-header span {
    cursor: pointer;
    display: inline-block;
}

.jtsyn-chat-profile .chat-header:hover i, .jtsyn-chat-profile .chat-header:hover span {
    color: var(--primary);
}

.jtsyn-chat-profile .chat-header i {
    line-height: 50px;
    float: left;
    width: 50px;
    text-align: center;
}

.jtsyn-chat-profile .profile-header {
    margin-bottom: 10px;
    height: 25px;
    cursor: pointer;
    user-select: none;
}

.jtsyn-chat-profile .profile-header:hover i {
    color: var(--primary);
}

.jtsyn-chat-profile .profile-header i, .jtsyn-chat-profile .profile-header span {
    line-height: 20px;
    display: inline-block;
    float: left;
    padding-right: 5px;
}

.chat-user-name {
    margin-top: 12px;
    line-height: 13px;
    font-weight: 500;
}

.jtsyn-chat-contacts input {
    margin-bottom: 0px!important;
    width: calc(100% - 50px)!important;
    display: inline-block;
    float: left;
}

.jtsyn-chat-contacts .search-container {
    line-height: 50px;
    height: 50px;
    width: calc(100% - 100px);
    display: inline-block;
    float: left;
}

.jtsyn-chat-contacts .search-container i {
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    user-select: none;
    cursor: pointer;
}

.jtsyn-chat-contacts .search-container input {
    height: 50px!important;
    line-height: 50px;
    font-size: 13px!important;
    font-weight: 300;
    border-bottom: none!important;
}

.chat-user-status {
    color: var(--light-text);
    line-height: 16px;
}

.chat-user-status .small-text {
    font-size: 8.5pt;
}

.jtsyn-chat-profile .profile-image img {
    border-radius: var(--border-radius-sm);
    max-width: 180px;
    margin-top: 10px;
}

.message-meta span {
    font-size: 10px!important;
    user-select: none;
}

.work-panel-header .s4 {
    padding-top: 5px!important;
    padding-right: 20px!important;
    height: 40px!important;
}

.work-panel-header .btn i {
    font-size: 18px!important;
}

.btn.btn-transparent .nav-badge {
    position: absolute;
    right: 0px;
    /* top: 0px; */
    background-color: var(--primary);
    height: 20px;
    min-width: 20px;
    width: 20px;
    font-weight: 500;
    font-size: 8pt;
    border-radius: var(--border-radius-tiny);
    padding: 0px!important;
    line-height: 20px!important;
    margin: 0px!important;
    color: var(--awhite)!important;
}

.footer-nav-buttons .btn.btn-transparent .nav-badge {
    right: 3px!important;
    top: 2px;
    position: unset;
    border: 1px solid var(--white);
    margin-top: 2px!important;
    z-index: 9999999;
    display: inline-block;
    position: absolute;
    font-size: 9.5px;
}

.work-panel-content .footer-nav-buttons .btn.btn-transparent .nav-badge {
    right: 3px!important;
}

.footer-nav-buttons .btn.btn-transparent.selected .nav-badge {
    border-color: var(--background-color);
}

.btn.btn-transparent.selected span.nav-badge {
    color: var(--awhite)!important;
}

.view-settings .header-input-field input {
    background-color: var(--extra-light)!important;
    border: none!important;
}

.task-estimate-user-image.user-image {
    width: 45px;
    background-size: contain;
    margin-right: 12px;
    border-radius: var(--border-radius-tiny);
}

.task-estimates input {
    width: calc(100% - 58px)!important;
    max-width: 140px;
}

.invite-users-search input {
    height: 50px!important;
    line-height: 50px;
    background-color: var(--background-color)!important;
    padding: 0px 20px!important;
    border-radius: var(--border-radius-tiny)!important;
}

.invite-users-search {
    position: fixed;
    width: calc(100% - 80px);
}

.invite-users-search .btn.right {
    position: absolute;
    right: 0px;
    top: 0px;
    height: 50px;
    line-height: 50px;
}

.invite-users-search .btn.right i {
    line-height: 50px!important;
    height: 50px!important;
}

.invite-users-list .invite-user-item {
    border-bottom: 1px solid var(--light-border);
    padding: 0px;
    height: 50px;
    line-height: 50px;
    border-radius: var(--border-radius-tiny);
}

.invite-users-list .invite-user-item:hover {
    background-color: var(--background-color);
}

.dynamic-overview-view .google-chart {
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
    padding: 30px 30px 0px;
}

.group-settings-modal .modal-header {
    display: flex;
    height: 50px;
    line-height: 50px;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
    color: var(--primary);
    font-weight: 300;
    font-size: 16px!important;
    padding: 0px 30px 0!important;
}

.group-settings-modal .modal-header .back-button i {
    height: 50px;
    line-height: 50px;
    font-size: 14pt;
    vertical-align: top;
}

.group-settings-modal .modal-header .back-button {
    cursor: pointer;
}

.group-settings-modal .modal-body .text-field {
    margin-bottom: 25px;
}

.group-settings-modal .modal-header .btn i, 
.group-settings-modal .modal-header .btn {
    line-height: 50px!important;
    height: 50px!important;
    padding-right: 1px!important;
}

.switch label input[type=checkbox]:checked+.lever:before, .switch label input[type=checkbox]:checked+.lever:after {
    /* background-color: var(--primary)!important; */
}

.feature .switch label .lever:after {
    background-color: var(--primary)!important;
}

/* Off: the handle goes light (William, U27). */
.feature .switch label input[type=checkbox]:not(:checked)+.lever:after {
    background-color: var(--extra-light)!important;
}

.programs-section h5 {
    height: 40px;
    line-height: 40px;
    margin-bottom: 0px;
}

.jira-quick-view .card .right > .btn {
    margin-top: -10px;
}

.notification-setting-item {
    /* background-color: var(--white); */
    padding: 30px 30px;
    /* border: 1px solid var(--light-border); */
    border-bottom: none;
    margin-bottom: 0px;
    margin-top: 10px;
}

.notification-setting-item .setting-toggle, .notification-type-item .type-toggle {
    max-width: 200px;
    display: inline-block;
    float: right;
}

.notification-setting-item .setting-description {
    display: flex;
    width: 100%;
    color: var(--light-text);
}

/* Inherited-from-project state on the task notification toggle. Shown when the
   user watches the whole project and has set nothing on this task, so the switch
   they see is a default rather than their own choice. */
.notification-setting-item .setting-inherited {
    align-items: flex-start;
    gap: 6px;
    flex-wrap: wrap;
    line-height: 18px;
}

.notification-setting-item .setting-inherited i {
    font-size: 16px;
    line-height: 18px;
    flex: 0 0 auto;
}

.notification-setting-item .setting-inherited span {
    flex: 1 1 180px;
}

.notification-setting-item .setting-inherited a {
    flex: 0 0 auto;
    color: var(--primary-color);
    text-decoration: underline;
}
.notification-setting-item .setting-title, .notification-type-item .type-title {
    display: inline-block;
    float: left;
    font-weight: 400;
    line-height: 28px;
}

.notification-setting-item .setting-title {
    font-family: var(--nothing);
    font-size: 13pt;
    text-transform: lowercase;
}

.notification-type-item .type-title {
    /* width: calc(100% - 200px); */
    margin-bottom: 0px;
}

.notification-setting-item .setting-title i, .notification-type-item .type-title i {
    float: left;
    margin-right: 15px;
    font-size: 16px;
    line-height: 27px;
}

.notification-types {
    padding: 30px;
    /* background-color: var(--white); */
    border-top: 1px solid var(--light-border);
    /* margin-bottom: -1px; */
    display: inline-block;
    width: 100%;
}

.notification-actions {
    margin-top: 20px;
}

.notification-type-item {
    margin-bottom: 1px!important;
    display: flex;
    width: 100%;
    background-color: var(--light-white);
    padding: 10px 20px;
}

.notification-type-item .type-header {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}

.notification-type-item .type-description {
    display: inline-block;
    width: 100%;
}

.notification-type-item span.lever, .notification-setting-item span.lever {
    margin-right: 0px!important;
}

.notification-settings-container {
    box-shadow: var(--box-shadow);
    max-width: 760px;
    margin: 0px auto;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
}

.notification-thread {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.chat-menu-container .in-between {
    line-height: 50px;
    font-size: 11pt;
    vertical-align: middle;
    color: var(--light-text);
    padding: 0px 1px;
}

.project-time-section .the-time {
    padding: 0px 10px 0 0px;
}

.timelog-date .the-time {
    padding-left: 5px;
    font-size: 11px;
}

.project-quick-todos .btn.btn-transparent {
    color: var(--icon-color)!important;
}

.questions-queue-subtext {
    padding: 0px 30px;
}

.questions-queue-subtext .sub-text {
    margin-bottom: 0px;
    margin-top: 0px;
    line-height: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.work-header-subtext {
    padding-bottom: 25px;
    border-bottom: 1px solid var(--light-border);
}

.the-spec-timeline ul > li .row.removed .the-timeline-meta {
    color: var(--warning);
}

.close-fsd i {
    color: var(--icon-color)!important;
}

.integration-section > .row > .col {
    box-sizing: border-box;
    margin: 0px!important;
    padding: 0px!important;
    padding-right: 0px!important;
    float: none;
    flex: 0 0 calc((100% - var(--gap)) / 2);
}

.integration-section > .row {
    --gap: 5px;
    --cols: 2;
    margin: 0px!important;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
    align-items: flex-start;
    justify-content: flex-start;
}

.intelligence-settings .integration-section > .row {
    /* width: 100%; */
    /* --cols: 1; */
    /* --gap: 0; */
}

#projectVisibility li.dropdown-item {
    height: 50px;
    line-height: 50px;
    color: var(--black);
    padding: 0px 20px;
}

.text.match-h5 h5 {
    font-size: 18px;
    font-weight: 500;
    margin-top: 10px;
}

.integrations-body .integrations {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    box-sizing: border-box;
}

/* Lazy loading image states */
.lazy-loading {
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.lazy-loaded {
    opacity: 1;
    transition: opacity 0.3s ease;
}

.user-account-switcher {
    /* position: absolute; */
    /* top: 10px; */
    /* right: 19px; */
    padding: 0 19px;
    height: 50px;
    /* border-left: 1px solid var(--light-border); */
    cursor: pointer;
}

.user-account-switcher span {
    height: 50px;
    line-height: 50px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
}

.user-account-switcher, .user-account-switcher i {
    line-height: 70px!important;
    height: 70px!important;
}

.user-account-switcher:hover, .user-account-switcher:hover i {
    color: var(--primary);
}

html .account.settings .border-outline {
    background-color: var(--white)!important;
    /* box-shadow: var(--box-shadow); */
}

.user-account-switcher i {
    line-height: 64px!important;
    color: var(--icon-color);
    font-size: 16pt;
}

.user-account-switcher i.active {
    color: var(--primary);
}

.user-account-switcher i.active {
    transform: rotate(180deg);
    margin-top: -15px;
}

.account-list .account-list-item {
    padding: 20px 30px!important;
    line-height: 19px!important;
    display: flex;
    color: var(--black)!important;
    flex-direction: row;
    align-items: center;
    gap: 15px;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.account-list .account-list-item .account-icon-small {
    width: 36px;
    height: 36px;
    border-radius: 4px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark, var(--primary)) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.account-list .account-list-item .account-icon-small span {
    font-size: 14px;
    font-weight: 600;
    color: white;
    text-transform: uppercase;
}

.account-list .account-list-item .account-icon-small img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.account-list .account-list-item .account-item-info {
    flex: 1;
    min-width: 0;
}

.account-list .account-list-item .account-list-item-name {
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.account-list .account-list-item .account-list-item-role {
    color: var(--light-text);
    font-size: 12px;
}

.account-list .account-list-item .tier-badge-small {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    flex-shrink: 0;
}

.account-list .account-list-item .tier-badge-small.enterprise {
    background: var(--primary);
    color: var(--awhite);
}

.account-list .account-list-item .tier-badge-small.tier2,
.account-list .account-list-item .tier-badge-small.professional {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark, var(--primary)) 100%);
    color: white;
}

.account-list .account-list-item .tier-badge-small.trial {
    background: rgba(255, 193, 7, 0.2);
    color: #b8860b;
}

.dark .account-list .account-list-item .tier-badge-small.trial {
    color: #ffc107;
}

.account-list .account-list-item:hover {
    background-color: var(--background-color);
}

.dark .account-list .account-list-item:hover {
    background-color: var(--extra-light);
}

.account-list .account-list-item.selected {
    background-color: var(--background-color);
}

.account-list .no-accounts-message {
    padding: 15px;
    text-align: center;
    color: var(--light-text);
    font-size: 13px;
}

button.gsi-material-button {
    border: none!important;
}

button.gsi-material-button.oauth-btn {
    height: 45px;
    padding: 0px 30px;
    font-family: var(--body-font)!important;
    width: 110px!important;
    /* border: 1px solid var(--background-color)!important; */
    border-radius: 3px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.dark button.gsi-material-button.oauth-btn {
    background-color: #191919;
    box-shadow: none!important;
}

button.gsi-material-button.oauth-btn:hover {
    background-color: var(--icon-color);
    color: var(--awhite);
}

.dark button.gsi-material-button.oauth-btn:hover {
    background-color: var(--xwhite);
    color: var(--primary);
}

button.gsi-material-button:focus {
    background-color: var(--primary);
}

.footer-nav-buttons {
    padding: 0;
    height: 50px;
    line-height: 50px;
    padding-left: 0px;
    display: inline-flex;
}

.footer-nav-buttons .btn, .footer-nav-buttons .btn i {
    height: 50px!important;
    line-height: 50px!important;
    vertical-align: top;
    border-radius: 0px!important;
    font-size: 15pt;
}

.footer-nav-buttons .btn {
    padding: 0px 15px!important;
    color: var(--icon-color)!important;
    font-size: 13px;
}

.work-panel-content .footer-nav-buttons .btn {
    padding: 0 15px!important;
    line-height: normal;
    display: inline-flex;
    align-items: center;
}

.footer-nav-buttons .btn:hover {
    color: var(--primary)!important;
}

.footer-nav-buttons .btn.selected {
    background-color: var(--light-white)!important;
}

.dark .footer-nav-buttons .btn.selected {
    /* background-color: var(--extra-light)!important; */
}

.footer-nav-buttons .btn i {
    color: var(--icon-color);
}

.pop-into-header.footer-panel {
    display: flex;
    align-items: self-start;
    justify-content: space-between;
    padding-right: 20px;
    border-top: 1px solid var(--light-border);
    height: 50px;
    line-height: 50px;
    background-color: var(--white);
}

.gsi-material-button {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -webkit-appearance: none;
  background-color: #131314;
  background-image: none;
  border: 1px solid #747775;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #e3e3e3;
  cursor: pointer;
  font-family: var(--body-font);
  font-size: 14px;
  height: 40px;
  letter-spacing: 0.25px;
  outline: none;
  overflow: hidden;
  padding: 0 12px;
  position: relative;
  text-align: center;
  -webkit-transition: background-color .218s, border-color .218s, box-shadow .218s;
  transition: background-color .218s, border-color .218s, box-shadow .218s;
  vertical-align: middle;
  white-space: nowrap;
  width: auto;
  max-width: 400px;
  min-width: min-content;
  border-color: #8e918f;
}

.gsi-material-button .gsi-material-button-icon {
  height: 20px;
  margin-right: 0;
  min-width: 20px;
  width: 20px;
}

.gsi-material-button .gsi-material-button-content-wrapper {
  -webkit-align-items: center;
  align-items: center;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  height: 100%;
  justify-content: space-between;
  position: relative;
  width: 100%;
}

.gsi-material-button .gsi-material-button-contents {
  /* -webkit-flex-grow: 1; */
  /* flex-grow: 1; */
  /* font-weight: 500; */
  /* overflow: hidden; */
  /* text-overflow: ellipsis; */
  /* vertical-align: top; */
}

.gsi-material-button .gsi-material-button-state {
  -webkit-transition: opacity .218s;
  transition: opacity .218s;
  bottom: 0;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.gsi-material-button:disabled {
  cursor: default;
  background-color: #13131461;
  border-color: #8e918f1f;
}

.gsi-material-button:disabled .gsi-material-button-state {
  background-color: #e3e3e31f;
}

.gsi-material-button:disabled .gsi-material-button-contents {
  opacity: 38%;
}

.gsi-material-button:disabled .gsi-material-button-icon {
  opacity: 38%;
}

.gsi-material-button:not(:disabled):active .gsi-material-button-state, 
.gsi-material-button:not(:disabled):focus .gsi-material-button-state {
  background-color: white;
  opacity: 12%;
}

.gsi-material-button:not(:disabled):hover {
  -webkit-box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15);
  box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15);
}

.gsi-material-button:not(:disabled):hover .gsi-material-button-state {
  background-color: white;
  opacity: 8%;
}

.flex-container .flex-item .card {
    width: 100%;
}

.outline-editor .project-item #newItemTitle input {
    color: var(--black)!important;
    background-color: var(--background-color)!important;
    opacity: 1;
    padding: 0 15px;
    border-radius: var(--border-radius-tiny);
}

.outline-editor .project-item #newItemTitle input::placeholder {
    color: var(--black);
    font-weight: 300;
}

.jtsyn-user-image {
    height: 100%;
    max-width: 35px;
    max-height: 35px;
}

.account-list {
    position: relative;
}

.provider-key-section {
    padding: 30px;
    border: 1px solid var(--light-border);
    margin-bottom: 5px;
    border-radius: var(--border-radius-tiny);
    background-color: var(--background-color);
}

.dark .provider-key-section {
    background-color: var(--extra-light);
}

.provider-key-section button.btn, .provider-key-section button.btn i {
    height: 50px!important;
    line-height: 50px!important;
}

.provider-key-section button.btn {
    padding: 0px 20px 0 0!important;
    margin: 0px!important;
}

.provider-key-section button.btn i {
    color: var(--primary);
}

.provider-key-section button.btn i {
    padding: 0px!important;
    margin: 0px!important;
}

.provider-key-section img {
    max-width: 20px;
    margin-right: 10px;
}

.integration-section th {
    background-image: none;
    box-shadow: none!important;
    border: none!important;
    outline: none!important;
    font-weight: 600;
}

.integration-section thead {
    border: none;
    box-shadow: none;
    position: relative!important;
}

.payment-methods {
    display: flex;
    flex-direction: column;
}

.available-plans {
    margin-top: 50px!important;
}

.strategy-page .values-editor {
    /* max-width: 840px; */
    margin: 0px auto;
}

.values-editor {
    max-width: 900px!important;
    margin: 0px auto;
    /* padding: 20px 0; */
}

.values-editor.admin.admin-settings {
    margin: 40px auto;
}

.intelligence-settings {
    padding: 40px 0;
}

.intelligence-settings > div {
    max-width: 1040px;
    margin: 0px auto;
}

.chat-settings-panel.general-settings .back-button.right {
    height: 50px;
    line-height: 50px;
    margin-top: 8px;
    cursor: pointer;
}

.chat-settings-panel.general-settings .back-button.right i {
    font-size: 15pt;
}

.icon-selector .icon-option {
    position: relative;
    height: 40px!important;
    padding: 0px!important;
    margin: 0px!important;
}

.icon-selector .icon-option i {
    line-height: 40px!important;
}

.intelligence-settings .lock-indicator {
    margin-left: 6px;
}

.intelligence-settings .dropdown-selector[ng-disabled="true"],
.intelligence-settings .dropdown-selector.disabled {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

.thread-history-title {
    font-weight: 500;
}

.byok-policy {
    /* background-color: var(--background-color); */
    /* padding: 30px; */
    /* border-radius: var(--border-radius-tiny); */
    padding-top: 3px;
}

.byok-policy .switch {
    display: flex;
    justify-content: space-between;
    margin-top: 0px!important;
}

.settings h6 i {
    color: var(--primary);
    font-size: 14pt;
}

.switchbyok-role-selector > .switch {
    margin-bottom: 0px!important;
    padding: 15px 20px;
    background-color: var(--extra-light);
    margin-bottom: 1px!important;
    border-radius: 3px;
}

.switchbyok-role-selector > .switch .lever {
    background-color: var(--white)!important;
}

.switchbyok-role-selector {
    margin-top: 5px;
}

.admin-section table.data-table {
    border-radius: var(--border-radius-tiny);
    padding: 30px!important;
}

.task-ai .empty-message .ai-icon.jt1 {
    font-size: 35px!important;
    color: var(--primary);
    display: contents;
}

ul#userProjectAllocations {
    left: unset!important;
    right: 0px;
}

.initiative-item-wrapper .dropdown-select {
    margin-top: 0;
}

.usage-item {
    padding: 40px;
    background-color: var(--background-color);
    flex: 0 1 calc(25% - 5px);
    border-radius: var(--border-radius-tiny);
}

.usage-item > div:last-child {
    font-size: 11px!important;
    margin-top: 5px;
}

.btn.btn-transparent.item-assignee.dropdown-selector:hover .ds-text {
    color: var(--primary);
}

.settings .striped thead {
    border-bottom-color: var(--light-border);
}

.admin-settings-body button.btn[disabled] {
    background-color: var(--background-color)!important;
}

.admin-settings-body button.btn[disabled] i {
    color: var(--primary);
}

.admin-settings-body button.btn i {
    /* margin-right: 10px!important; */
    color: var(--icon-color);
}

.idp-config .btn.go-back i {
    margin-right: 0px!important;
}

.idp-config .btn.go-back {
    padding-right: 10px!important;
}

button.inline-add-btn {
    background-color: var(--primary)!important;
    color: var(--awhite)!important;
    width: 60px;
    text-align: center;
    padding: 0!important;
    height: 50px!important;
    line-height: 50px;
    margin-top: -1px;
}

.admin-settings-body button.inline-add-btn i {
    margin-right: 0!important;
}

button.inline-add-btn i {
    color: var(--awhite)!important;
}

.security-settings .grouping {
    padding: 30px;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
}

.setting-option .switch.flex-between span {
    font-weight: 400;
}

.download-sp-metadata-btn .btn-copy {
    padding: 0!important;
}

.account-features-link.ng-scope a {
    display: flex;
    height: 50px;
    line-height: 50px;
}

.account-features-link.ng-scope a span {
    line-height: 50px!important;
    height: 50px!important;
    margin-right: 10px;
}

.initiative-item input {
    border-right: 1px solid var(--white)!important;
}

.program-item {
    margin-bottom: -5px!important;
}

.programs-editor .program-item {
    display: flex;
}

.programs-editor .program-item textarea {
    min-height: 50px!important;
}

.account-info.row.billing-contact {
    margin-top: 10px!important;
}

.account-plans-page-header {
    margin-bottom: 20px;
}

.locked-badge .material-symbols-outlined {
    font-size: 15px!important;
    line-height: unset;
    color: var(--warning);
}

.plan-actions .btn .material-symbols-outlined {
    line-height: unset!important;
    vertical-align: middle;
}

.plan-ref-card {
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    width: 100%;
}

.plan-quick-ref .plan-ref-card {
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    padding: 30px!important;
}

.plan-quick-ref .plan-ref-card button {
    margin: 0 auto;
}

.plan-ref-card > div > button {
    padding-left: 20px!important;
}

.addon-items {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.vertical-addons .addon-items {
    gap: 5px;
}

.addon-category-header i {
    margin-right: 8px;
    line-height: 21px;
    margin-top: -4px;
    font-size: 16px!important;
}

a.btn.btn-secondary, a.btn.btn-secondary:hover {
    background-color: transparent!important;
}

.description .plan-description a.btn.btn-secondary {
    padding-left: 2px!important;
}

.description .plan-description a.btn.btn-secondary i {
    margin-right: 5px;
    line-height: 20px;
    vertical-align: middle;
}

.plan-feature-mini-item {
    color: var(--black);
    margin-left: 4px;
    line-height: 30px;
    font-size: 13px;
}

.plan-feature-mini-item i {
    padding-right: 10px;
    color: var(--light-text);
}

.simple-chat .message-group > .chat-message {
    padding: 15px;
    /* border: 1px solid var(--light-border); */
    /* border-radius: var(--border-radius-tiny); */
    /* background-color: var(--background-color); */
    width: 100%;
    display: flex;
    flex-direction: column;
    max-width: 100%;
}

.simple-chat .message-group > .chat-message.received {margin-top: 5px!important;}

.dark .simple-chat .message-group > .chat-message, .dark .intelligence-chat .message-group > .chat-message {
    /* background-color: transparent; */
    /* border: none; */
}

.intelligence-chat .chat-message.sent.first-sent {
    /* background-color: var(--background-color); */
    border-bottom: 1px dashed var(--border);
}

.project-intelligence-page .intelligence-chat .chat-message.sent.first-sent {
    background: var(--white)!important;
}

.dark .intelligence-chat .chat-message.sent.first-sent {
    /* background-color: var(--extra-light); */
}

.dark .mail-app .intelligence-chat .chat-message.sent.first-sent {
    background-color: transparent;
    border: none;
    margin-bottom: 10px;
}

.chat-message.ng-scope.sent.first-sent {}

.dark .project-intelligence-page .intelligence-chat .chat-message.sent.first-sent {
    background-color: var(--white);
}

.idea-card-comments i {
    vertical-align: middle;
}

.idea-card-comments {
    font-size: 12px;
}

.idfa-right i {
    vertical-align: middle;
}

.dropdown-button.idea-status-badge i {
    margin-left: 1px;
    /* color: var(--primary); */
}

#ideaStatusDropdown a i {
    margin-right: 5px;
}

#ideaStatusDropdown li a {
    padding: 0 20px!important;
    height: 50px;
    line-height: 50px;
}

.idea-card-strategy-text-tag::after {
    content: '\b7';
    padding: 0 2px;
}

.idea-card-strategy-text-tag:last-child::after {
    content: '';
}

.ideas-inline-vote-strip {
    display: flex;
    gap: 5px;
    /* padding: 10px 15px; */
    /* border: 1px solid var(--light-border); */
    /* border-radius: var(--border-radius-tiny); */
    margin-bottom: 0px;
    margin-top: 0px;
}

.ideas-inline-vote-strip .iivs-item.card {
    flex: 1;
    text-align: center;
    display: flex;
    gap: 10px;
    justify-content: center;
    cursor: pointer;
    border: 1px solid var(--white);
    transition: all .3s ease-in-out;
    padding: 20px;
}

.ideas-inline-vote-strip .iivs-item.card > span:first-child {
    margin-left: -20px;
    margin-right: 10px;
}

.ideas-inline-vote-strip .iivs-item.card > span {
    transition: all .3s ease-in-out;
}

.iivs-item.card.up-vote.voter.active, .iivs-item.card.up-vote.voter.active:hover {
    background-color: var(--good);
    color: var(--awhite);
    border-color: var(--good);
}

.iivs-item.card.up-vote.voter.active i, .iivs-item.card.up-vote.voter.active:hover i {
    fill: var(--good)!important;
}

.iivs-item.card.down-vote.voter.active, .iivs-item.card.down-vote.voter.active:hover {
    background-color: var(--warning);
    color: var(--awhite);
    border-color: var(--warning);
}

.ideas-inline-vote-strip .iivs-item.card.voter:hover {
    background-color: var(--hover-item);
    border-color: var(--extra-light);
}

.ideas-inline-vote-strip .iivs-item.card.voter:hover i {
}

.ideas-inline-vote-strip .iivs-item.card.voter:hover .btn-transparent i {
    color: var(--primary);
}

.ideas-inline-vote-strip i {
    font-size: 18px;
}

.ideas-inline-vote-counts {
    display: flex;
    gap: 25px;
    /* margin-left: auto; */
    font-size: 18px;
}

.idfa-right {
    /* padding-right: 5px; */
}

.idp-config-settings .setting-item {padding-bottom: 10px!important;}

.addon-category {
    margin-top: 30px!important;
}

.the-portfolio.block-swipe-nav {
    background-color: var(--white);
    padding: 40px;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.portfolio > .the-portfolio.block-swipe-nav {
    padding: 0;
}

.usage-progress-label {
    font-size: 13px;
    color: var(--light-text);
    text-transform: uppercase;
    font-size: 11px;
    margin-top: 0px;
    /* margin-bottom: 30px!important; */
}

.account-info a.btn.btn-primary {
    color: var(--awhite);
}

.strategy-setting-description {
    color: var(--light-text);
    margin-top: -10px;
    font-size: 13px;
}

.border-outline.bottom20 .strategy-setting-description {
    margin-top: 5px;
    width: 100%;
    display: flex;
}

.todo-project-name {
    /* padding-bottom: 5px; */
}

.scroll-to-bottom-btn, .scroll-to-top-btn {
    padding-left: 10px!important;
    padding-right: 10px!important;
    text-align: center;
}

.scroll-to-bottom-btn i, .scroll-to-top-btn i {
    color: var(--icon-color) !important;
}

/* ============================================================================
 * Phase 6 Wave 1.5 — viewer-mode read-only affordances.
 *
 * The `.read-only-mode` class is applied to fields/buttons that render but
 * should be inert for viewers. Inputs become text-selectable but uneditable;
 * cursor reverts to default; opacity is dimmed to signal non-interactivity.
 * Pair with `ng-disabled="myPerms.readOnly"` (or `ng-if`) so the underlying
 * AngularJS bindings also block the action.
 *
 * Used by: spec.item.html (task summary/description), project settings,
 * board editors, outline sidebar, notes/posts editors, file uploaders.
 * ============================================================================ */

.read-only-mode {
    pointer-events: none !important;
    opacity: 0.65 !important;
    cursor: default !important;
    user-select: text !important;
}

.read-only-mode input,
.read-only-mode textarea,
.read-only-mode select,
.read-only-mode button,
.read-only-mode [contenteditable],
.read-only-mode .ck-editor__editable {
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* Hide hover affordances entirely in read-only mode so the UI doesn't
 * suggest interactivity that doesn't exist. */
.read-only-mode .hover-only,
.read-only-mode .show-on-hover,
.read-only-mode [class*='-action-btn'],
.read-only-mode .edit-btn,
.read-only-mode .delete-btn {
    display: none !important;
}

/* Tooltip-style banner used at the top of project settings and similar
 * pages to make the viewer state unambiguous. */
.viewer-banner {
    background: var(--background-color);
    border: 1px solid var(--light-border);
    border-radius: 4px;
    color: var(--light-text, #aaa);
    font-size: 13px;
    padding: 8px 12px;
    margin-bottom: 12px;
}

.viewer-banner i.material-icons {
    vertical-align: middle;
    margin-right: 6px;
    font-size: 18px;
}


.error-actions i.left {
    margin-right: 10px;
}

#quickProjectsSelector li a span span {
    font-size: 11px;
}

#myweekTabMenu li:hover {
    background-color: var(--extra-light)!important;
}

#myweekTabMenu li.btn:hover i {
    color: var(--awhite);
}
/* Agent option in the task assignee picker (assigned as a WORKER — separate slot) */
.user-picker .assignee-agents-label {
    padding: 8px 14px 2px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--light-text);
    pointer-events: none;
}
.user-picker .agent-assignee-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--background-color);
    color: var(--primary-color);
    margin-top: 0!important;
    margin-right: 10px!important;
}
.user-picker .agent-assignee-avatar i { font-size: 18px; line-height: 1; }

/* Agent worker chip — the AI agent assigned to a task (shown on the assignee surfaces) */
.agent-worker-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 6px;
    margin-left: 6px;
    border-radius: var(--border-radius-tiny, 4px);
    color: var(--primary-color);
    font-size: 12px;
    max-width: 220px;
    vertical-align: middle;
    position: relative;
}
.agent-worker-chip .awc-bot { font-size: 16px; line-height: 1; }
.agent-worker-chip .awc-name {white-space: nowrap;overflow: hidden;text-overflow: ellipsis;font-size: 13px;color: var(--black);}
.agent-worker-chip .awc-state {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 1px 5px;
    border-radius: 8px;
    color: var(--light-text);
}
.agent-worker-chip .awc-running {background: transparent;color: var(--primary);}
.agent-worker-chip .awc-done    {/* background: var(--success, #2e7d32); */color: var(--good);}
.agent-worker-chip .awc-error   {background: transparent;color: var(--warning);}
.agent-worker-chip .awc-pending {background: transparent;color: var(--light-text);}
/* Agents v2 §1C — the agent asked a question; attention (amber), never error styling */
.agent-worker-chip .awc-waiting {background: transparent;color: var(--warning, #e6a23c);font-weight: 600;}
.agent-worker-chip .awc-remove  { font-size: 14px; cursor: pointer; color: var(--light-text); }
.agent-worker-chip .awc-remove:hover { color: var(--warning); }
.agent-worker-chip .awc-run  { font-size: 16px; cursor: pointer; color: var(--good, #4caf50); }
.agent-worker-chip .awc-run:hover { opacity: 0.75; }
.agent-worker-chip .awc-stop { font-size: 15px; cursor: pointer; color: var(--light-text); }
.agent-worker-chip .awc-stop:hover { color: var(--warning); }
.agent-worker-chip .awc-stopping { font-size: 11px; color: var(--orange, #e6a23c); font-style: italic; margin: 0 2px; }

/* ── Agent worker chip, v2 ────────────────────────────────────────────────────────────────
   The chip now lives INSIDE the assignee control, so it has to read as the assignee: an
   avatar, a name, a state pill, the step it is on, and the human it is working for. */
.agent-worker-chip {
    gap: 10px;
    max-width: 100%;
    align-items: center;
    text-align: left;
}
/* The chip BODY is deliberately NOT clickable: a click has to bubble to the assignee
   dropdown that contains it. Only .awc-open navigates into the run. */

.agent-worker-chip .awc-avatar {
    position: relative;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    overflow: visible;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--background-color);
    color: var(--primary-color);
    font-size: 11px;
    font-weight: 600;
}
.agent-worker-chip .awc-avatar img {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    object-fit: cover;
}
.agent-worker-chip .awc-avatar i { font-size: 15px; line-height: 1; }

/* The live dot. Pulses only while the run is actually on the clock, and only for people who
   have not asked the OS for less motion. */
.agent-worker-chip .awc-dot {
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--primary);
    box-shadow: 0 0 0 2px var(--white, #fff);
    animation: jtAgentPulse 1.6s ease-in-out infinite;
}
@keyframes jtAgentPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%      { opacity: 0.45; transform: scale(0.72); }
}

.agent-worker-chip .awc-body {
    display: inline-flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.25;
}
.agent-worker-chip .awc-line {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    min-width: 0;
}
/* The name is hidden behind a shimmer until the agent roster lands — a placeholder where a
   name belongs reads as a bug, so we show shape instead of a wrong word. */
.awc-name-skeleton {
    display: inline-block;
    width: 62px;
    height: 11px;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--extra-light) 25%, var(--light-border) 37%, var(--extra-light) 63%);
    background-size: 400% 100%;
    animation: jtAgentShimmer 1.3s ease-in-out infinite;
}
@keyframes jtAgentShimmer {
    0%   { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
}

.agent-worker-chip .awc-state { white-space: nowrap; }
.agent-worker-chip .awc-state-queued   { color: var(--light-text); }
.agent-worker-chip .awc-state-starting { color: var(--primary); }
.agent-worker-chip .awc-state-running  { color: var(--primary); }
.agent-worker-chip .awc-state-waiting  { color: var(--warning, #e6a23c); font-weight: 600; }
.agent-worker-chip .awc-state-done     { color: var(--good); }
.agent-worker-chip .awc-state-failed   { color: var(--warning); }
.agent-worker-chip .awc-state-stopped  { color: var(--light-text); }
.agent-worker-chip .awc-state-stopping { color: var(--orange, #e6a23c); font-style: italic; text-transform: none; }

/* What it is doing right now. One line, truncated — the run page has the full work log. */
.agent-worker-chip .awc-step {
    font-size: 11px;
    color: var(--light-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 190px;
}
/* The human still owns the task. Saying so is what keeps "who has this?" answerable. */
.agent-worker-chip .awc-for {
    font-size: 10px;
    color: var(--light-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 190px;
}
.agent-worker-chip .awc-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    position: absolute;
    right: -40px;
}
/* The assign round trip, on the control itself. */
.agent-worker-chip .awc-spinner { width: 12px; height: 12px; margin: 0 2px; border-width: 1.5px; }
.agent-worker-chip .awc-open { font-size: 15px; cursor: pointer; color: var(--light-text); }
.agent-worker-chip .awc-open:hover { color: var(--primary); }
/* Keeps the control reading as a picker now that the chip fills it. */
.agent-worker-chip .awc-caret { font-size: 20px; color: var(--light-text); flex: 0 0 auto; margin-left: -2px; }

/* A live agent on an outline row. Same dot, same reduced-motion rule. */
.outline-agent-live {
    display: inline-flex;
    align-items: center;
    margin-left: 5px;
    vertical-align: middle;
}
.outline-agent-live .oal-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--primary);
    animation: jtAgentPulse 1.6s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .agent-worker-chip .awc-dot,
    .awc-name-skeleton,
    .outline-agent-live .oal-dot { animation: none; }
}

/* Agent worker mini-badge on kanban board cards (read-only, parallels the assignee avatar) */
.board-task-agent-img .agent-mini-img { display: inline-flex; align-items: center; justify-content: center; background: var(--background-color); color: var(--primary-color); }
.board-task-agent-img .agent-mini-img i { font-size: 14px; line-height: 1; }

/* Activity search bar (under the tabs) */
.activity-search {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    margin-top: -5px;
    padding: 5px 20px;
    border-radius: 0 0 5px 5px;
    background-color: var(--white);
    height: 50px;
    box-shadow: var(--box-shadow);
    border-top: 1px solid var(--light-border);
}
.activity-search input {
    flex: 1 1 auto;
    border: none !important;
    background: transparent;
    color: var(--black);
    font-size: 13px;
    height: 100% !important;
    margin: 0 !important;
    box-shadow: none !important;
}
.activity-search input:focus { outline: none; }
.activity-search .material-symbols-outlined { font-size: 17px; color: var(--light-text); }
.activity-search .activity-search-clear { cursor: pointer; }
.activity-search .activity-search-clear:hover { color: var(--warning); }


.members-page .search-users.bottom20 {
    padding-bottom: 5px!important;
}

.quick-timelog-editor .the-timelog-descriptions {
    display: flex;
    flex-direction: column;
}

/* Restored from feat/integrations during the 2026-08-03 consolidation:
   the push-notification preferences UI (views/pages/settings/notifications.html)
   references these; taking agents' style2.css wholesale dropped them. */
/* ── Push notification preferences (unified-fcm-push) ─────────────────── */
.push-prefs-heading {
    margin-top: 18px;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 0.8rem;
    color: var(--light-text);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.push-type-row,
.email-type-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
}

.push-type-row .setting-label,
.email-type-row .setting-label { margin-right: 16px; }

/* Email preferences: the per-type toggles are inert while the master switch
   (settings/email/enabled) is off, so dim them to say so. */
.email-prefs-muted { opacity: 0.5; }

.quiet-hours-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: flex-end;
    margin: 10px 0 4px;
}

.quiet-hours-field {
    display: flex;
    flex-direction: column;
    font-size: 0.8rem;
    color: var(--light-text);
    gap: 4px;
}

.quiet-hours-field input[type="time"],
.quiet-hours-field select {
    padding: 4px 6px;
    display: inline-block;
    height: auto;
    width: auto;
}

/* Huddles — chat-page surfaces + the persistent floating bar (ruling 4, and
   William's 2026-08-22 relocation ruling). Own file on purpose: style2.css is
   William's live-tweaking surface.

   Three surfaces, one chip/control vocabulary:
     .huddles-section  — pinned rows at the top of the chat Groups list
     .huddle-panel     — the drill-in view in the chat main panel
     .huddle-bar       — the floating in-huddle controls, everywhere else */

.huddle-bar {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 1200;
	font-size: 13px;
}

/* active bar */
.huddle-active {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--extra-light);
	border-radius: var(--border-radius-tiny);
	padding: 8px 12px;
	box-shadow: var(--box-shadow-extra);
}

.dark .huddle-active {
    background-color: var(--xwhite);
}
.huddle-participants { display: flex; align-items: center; gap: 6px; max-width: 420px; overflow-x: auto; }
.huddle-chip {
	display: flex;
	align-items: center;
	gap: 4px;
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	padding: 7px 10px;
	white-space: nowrap;
	line-height: normal;
}

.huddle-chip i {
    line-height: normal!important;
    height: unset!important;
}
.huddle-chip--muted .huddle-chip-name { opacity: 0.55; }
.huddle-chip--followed { outline: 2px solid var(--primary, #1976D2); }
.huddle-chip-mic { font-size: 14px; color: var(--light-text, #8a94a0); }
.huddle-chip-follow {
	border: none;
	background: transparent;
	cursor: pointer;
	padding: 0 2px;
	color: var(--light-text, #8a94a0);
	display: flex;
	align-items: center;
}
.huddle-chip-follow:hover i {color: var(--primary);}
.huddle-chip-follow .material-symbols-outlined { font-size: 16px; }

.huddle-controls { display: flex; align-items: center; gap: 6px; }
.huddle-following-note { color: var(--primary, #1976D2); font-size: 12px; white-space: nowrap; }
.huddle-ctl {
	border: none;
	border-radius: var(--border-radius-tiny);
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background: var(--white);
	color: var(--black);
	user-select: none!important;
}

.huddle-ctl i {
    font-size: 18px;
}

button.huddle-ctl:focus {
    background: var(--extra-light);
}

button.huddle-ctl:focus i {
    color: var(--good);
}
.huddle-ctl--muted {background: var(--light-white);}

.huddle-ctl--muted i {
    color: var(--warning)!important;
}
.huddle-ctl--leave {background: var(--warning);user-select: none;cursor: pointer;}

.huddle-ctl--leave:hover {
    /* background-color: var(--extra-light)!important; */
}

.huddle-ctl--leave i {
    color: var(--awhite)!important;
}
.huddle-ctl--leave:hover { filter: brightness(1.08); }

.huddle-error {
	margin-top: 6px;
	background: #fff4e5;
	border: 1px solid #f0c48c;
	color: #7a4b00;
	border-radius: 8px;
	padding: 6px 10px;
	max-width: 280px;
}


/* ── pinned Huddles section in the chat Groups list ────────────────────────
   Rows deliberately reuse .contact-item / .contact-image / .contact-details
   from chats.css so they sit flush with the group rows underneath. */
.huddles-section {
	position: relative;
}

.huddles-section .huddle-list-image i,
.huddle-start-item .contact-image i {
	color: var(--primary);
}

.contact-item.huddle-list-item .contact-actions,
.contact-item.huddle-start-item .contact-actions {
	flex: 0 0 auto;
	padding-right: 15px;
}

.huddle-join-btn {
	margin-right: 0;
}

.huddle-live-badge {
	display: inline-flex;
	align-items: center;
	color: var(--primary);
	padding-right: 8px;
}

.huddle-live-badge .material-symbols-outlined {
	font-size: 18px;
}

/* ── drill-in view in the chat main panel ─────────────────────────────────── */
.chat-huddle-view,
.huddle-panel {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
	overflow: hidden;
}

.huddle-panel-header {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	height: 50px;
	line-height: normal;
	padding: 0 15px;
	border-bottom: 1px solid var(--light-border);
	background-color: var(--white);
	box-sizing: border-box;
	gap: 5px;
}

.huddle-panel-header i {
    line-height: normal!important;
    height: unset!important;
}

.huddle-panel-back {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 0 15px;
	color: var(--light-text, #8a94a0);
}

.huddle-panel-back i {
    font-size: 18px;
}

.huddle-panel-back:hover {
	color: var(--primary);
}

.huddle-panel-icon {
	color: var(--primary);
	margin-right: 10px;
}

.huddle-panel-heading {
	min-width: 0;
	overflow: hidden;
}

.huddle-panel-name {
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.huddle-panel-sub {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.huddle-panel-body {
	flex: 1;
	overflow-y: auto;
	padding: 30px;
	box-sizing: border-box;
}

.huddle-panel-empty {
	text-align: center;
	padding: 40px 20px;
}

.huddle-panel-empty-icon {
	font-size: 40px;
	color: var(--light-text, #8a94a0);
	margin-bottom: 8px;
}

.huddle-panel-participants {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

.huddle-chip--lg {
	padding: 5px 12px;
	border-radius: var(--border-radius-tiny);
	font-size: 14px;
}

.huddle-chip--lg .huddle-chip-avatar {
	font-size: 20px;
	color: var(--light-text, #8a94a0);
}

.huddle-chip--lg .huddle-chip-follow .material-symbols-outlined {
	font-size: 18px;
}

.huddle-chip--self {
	background: var(--white);
	border: 1px solid var(--light-border);
}

.huddle-chip--muted i.huddle-chip-mic {
    color: var(--warning)!important;
}

.huddle-chip-you {
	color: var(--light-text, #8a94a0);
}

.huddle-panel-following {
	display: block;
	white-space: normal;
	margin-bottom: 14px;
}

.huddle-panel-controls {
	gap: 10px;
	margin-bottom: 16px;
}

.huddle-panel-hint {
	max-width: 420px;
	line-height: 1.4;
}

.huddle-panel .huddle-error {
	margin: 0 0 14px;
	max-width: none;
}

I was thinking and why I was thinking like that?/* ==========================================================================
   Omni Search (CMD+K) Overlay
   ========================================================================== */

/* Full-screen backdrop */
.omni-search.full-screen-dialog {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 80px;
	background: rgba(0, 0, 0, 0.55);
	backdrop-filter: blur(4px);
	animation: omni-fade-in 0.15s ease;
}

@keyframes omni-fade-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

/* Main panel */
.omni-search-inner {
	width: 100%;
	max-width: 780px;
	margin: 0 auto;
	padding: 40px;
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	overflow: hidden;
	animation: omni-slide-in 0.15s ease;
	box-shadow: var(--box-shadow);
}

@keyframes omni-slide-in {
	from { transform: translateY(-12px); opacity: 0; }
	to   { transform: translateY(0);     opacity: 1; }
}

/* Search input row */
.omni-search-input-wrap {
	display: flex;
	align-items: center;
	padding: 0 16px;
	border-bottom: 1px solid var(--light-border);
	height: 56px;
}

.omni-search-icon {
	color: #9e9e9e;
	margin-right: 12px;
	flex-shrink: 0;
	font-size: 22px;
}

.omni-search-input {
	flex: 1;
	border: none !important;
	outline: none !important;
	background: transparent !important;
	font-size: 16px;
	color: var(--black);
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	height: auto !important;
	padding-right: 20px!important;
}

.omni-search-input::placeholder {
	color: #bdbdbd;
}

.omni-clear-btn,
.omni-close-btn {
	padding: 4px !important;
	height: auto !important;
	line-height: 1 !important;
	color: #9e9e9e !important;
	margin-left: 4px;
}

.omni-clear-btn:hover,
.omni-close-btn:hover {
	color: #424242 !important;
}

/* Tabs */
.omni-tabs {
	display: flex;
	gap: 4px;
	padding: 8px 16px 0;
	border-bottom: 1px solid var(--light-border);
}

.omni-tab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	font-size: 13px;
	font-weight: 500;
	color: #757575;
	background: transparent;
	border: none;
	border-bottom: 2px solid transparent;
	cursor: pointer;
	border-radius: 4px 4px 0 0;
	transition: color 0.15s, border-color 0.15s;
}

button.omni-tab:focus {
    background-color: transparent;
}

.omni-tab:hover {
	color: #212121;
	background: #f5f5f5;
}

.omni-tab.active, .omni-tab.active:focus {
	color: #1976d2;
	border-bottom-color: #1976d2;
	background-color: transparent;
}

.omni-tab:hover {
    background-color: transparent;
    color: var(--primary);
}

.omni-tab-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	font-size: 11px;
	font-weight: 600;
	background: var(--background-color);
	color: var(--black);
	border-radius: 2px;
}

/* Results list */
.omni-results {
	max-height: calc(100dvh - 240px);
	overflow-y: auto;
	padding: 8px 0;
	margin-left: -40px;
	margin-right: -40px;
	padding-left: 40px;
	padding-right: 40px;
}

.omni-loading {
	display: flex;
	justify-content: center;
	padding: 32px 0;
	color: #9e9e9e;
}

.omni-loading .spinner {
	animation: spin 0.8s linear infinite;
	font-size: 24px;
}

@keyframes spin {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}

.omni-empty {
	text-align: center;
	padding: 32px 16px;
	color: #9e9e9e;
	font-size: 14px;
}

.omni-section-label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #9e9e9e;
	padding: 8px 16px 4px;
	text-align: left;
}

/* Result items */
.omni-result-item {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	padding: 0 20px;
	cursor: pointer;
	transition: background 0.1s;
	justify-content: left;
	text-align: left;
}

.omni-result-snippet {
    font-size: 13px;
    line-height: 22px;
}

.omni-results .omni-result-item {
    padding: 10px 20px;
}

.omni-default .omni-column .omni-result-item {
    line-height: 50px;
    height: 50px;
    align-items: center;
}

.omni-result-item:hover {
	background: var(--background-color);
}

.omni-result-item.selected {
    background-color: var(--background-color);
}

.omni-result-item:hover i, .omni-result-item.selected i {
    color: var(--primary);
}

.omni-result-type-icon {
	font-size: 15px;
	color: #9e9e9e;
	flex-shrink: 0;
}

.omni-result-content {
	flex: 1;
	min-width: 0;
}

.omni-result-title {
	font-size: 13px;
	font-weight: 400;
	color: var(--black);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.omni-result-title em, .omni-result-snippet em {
    font-style: normal;
    background-color: var(--highlight);
    color: var(--ablack);
}

.omni-result-meta {
	font-size: 12px;
	color: #9e9e9e;
	margin-top: 2px;
}

/* Type badges */
.omni-badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 400;
	padding: 1px 6px;
	border-radius: 3px;
	/* text-transform: uppercase; */
	/* letter-spacing: 0.04em; */
}

.omni-badge-task {
	background: transparent;
	color: var(--primary);
	padding: 0;
	font-size: unset;
}

.omni-badge-project {
	background: transparent;
	color: var(--primary);
	padding: 0;
	font-size: unset;
}

/* Default state (no query) */
.omni-default .omni-column {
	padding: 8px 0 16px;
	max-height: calc(100dvh - 300px);
	overflow-y: auto;
}

.omni-columns {
	display: flex;
	gap: 0;
}

.omni-column {
	flex: 1;
}

/* Keyboard hints */
.omni-hint {
	display: flex;
	gap: 16px;
	justify-content: center;
	padding: 12px 16px 4px;
	font-size: 12px;
	color: #bdbdbd;
	border-top: 1px solid var(--light-border);
	margin-top: 8px;
}

.omni-hint kbd {
	display: inline-block;
	padding: 1px 6px;
	font-family: inherit;
	font-size: 11px;
	background: var(--background-color);
	border: 1px solid var(--light-border);
	border-radius: 3px;
	color: var(--black);
	margin-right: 4px;
}

/* ==========================================================================
   AI Mode — toggle button, chips, answer panel
   ========================================================================== */

/* Mode toggle button in the input row */
.omni-mode-toggle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 10px;
	border: 1px solid var(--light-border);
	border-radius: 20px;
	background: transparent;
	cursor: pointer;
	font-size: 12px;
	font-weight: 500;
	color: #757575;
	white-space: nowrap;
	flex-shrink: 0;
	margin-left: 8px;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
	/* background-color: var(--primary)!important; */
	/* color: var(--awhite)!important; */
}

.omni-mode-toggle:hover {
	background: var(--background-color);
	color: var(--primary);
	border-color: var(--primary);
	background-color: var(--primary) !important;
	color: var(--awhite) !important;
}

.omni-mode-toggle.omni-mode-toggle-ai {
	background: var(--primary);
	color: #fff;
	border-color: var(--primary);
}

.omni-mode-toggle.omni-mode-toggle-ai:hover {
	background: var(--primary-dark, var(--primary));
	color: #fff;
}

.omni-mode-toggle-icon {
	font-size: 16px !important;
	line-height: 1 !important;
}

.omni-mode-toggle-label {
	font-size: 12px;
}

/* AI search icon colour shift */
.omni-search-icon-ai {
	color: var(--primary) !important;
}

/* AI results loading label */
.omni-loading-label {
	margin-left: 8px;
	font-size: 13px;
}

/* AI results header — label + "Ask AI" button side-by-side */
.omni-ai-results-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-right: 16px;
}

/* AI mode — prompt hint ("Press Enter to ask AI") */
.omni-ai-prompt-hint {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 20px 20px;
	color: var(--text-light);
	font-size: 13px;
}

.omni-ai-prompt-icon {
	font-size: 18px !important;
	color: var(--primary);
	opacity: 0.7;
}

.omni-ai-prompt-hint kbd {
	display: inline-block;
	padding: 1px 6px;
	border: 1px solid var(--border);
	border-radius: 4px;
	background: var(--bg-light);
	font-family: inherit;
	font-size: 12px;
	color: var(--text);
}

/* Ask AI button (kept for potential reuse) */
.omni-ask-ai-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 12px;
	border: 1px solid var(--primary);
	border-radius: var(--border-radius-tiny);
	background: transparent;
	color: var(--primary);
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
	white-space: nowrap;
	user-select: none;
}

.omni-ask-ai-btn svg {
    max-width: 25px;
}

.omni-ask-ai-btn i {
	font-size: 15px !important;
}

.omni-ask-ai-btn:hover {
	background: var(--primary);
	color: #fff;
}

.omni-ask-ai-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* AI answer panel */
.omni-ai-answer {
	/* margin: 8px 16px; */
	/* border: 1px solid var(--light-border); */
	/* border-radius: var(--border-radius-tiny); */
	/* background: var(--background-color); */
	/* overflow: hidden; */
}

.omni-ai-answer-header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 4px 17px 10px;
	border-bottom: 1px solid var(--light-border);
	background: var(--white);
	text-align: left;
}

.omni-ai-answer-icon {
	color: var(--primary) !important;
	font-size: 24px !important;
	flex-shrink: 0;
	font-weight: 100;
	transform: rotateY(180deg);
}

.omni-ai-answer-title {
	font-size: 12px;
	font-weight: 600;
	color: var(--black);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	flex: 1;
}

.omni-ai-answer-dismiss {
	padding: 2px !important;
	height: auto !important;
	line-height: 1 !important;
	color: #9e9e9e !important;
}

.omni-ai-answer-body {
	padding: 12px 14px;
	text-align: left;
}

.omni-ai-answer-loading {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #9e9e9e;
	font-size: 13px;
}

.omni-ai-answer-text {
	/* font-size: 14px; */
	line-height: 25px;
	color: var(--black);
	padding-bottom: 1px;
}

.omni-ai-citations {
	margin-top: 10px;
	border-top: 1px solid var(--light-border);
	padding-top: 8px;
}

.omni-ai-citations-label {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #9e9e9e;
	margin-bottom: 6px;
}

.omni-ai-citation-item {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 4px 0;
	cursor: pointer;
	font-size: 13px;
	color: var(--primary);
}

.omni-ai-citation-item:hover span {
	text-decoration: underline;
}

.omni-ai-citation-item .omni-result-type-icon {
	font-size: 14px !important;
	color: var(--primary) !important;
}

/* AI result chips */
.omni-ai-chip {
	display: inline-block;
	font-size: 11px;
	padding: 1px 6px;
	border-radius: 3px;
	margin-right: 4px;
}

.omni-ai-chip-type {
	background: transparent;
	color: var(--primary);
	padding: 0;
	font-size: unset;
}

.omni-ai-chip-status {
	background: var(--background-color);
	color: var(--black);
}

.omni-ai-chip-assignee {
	background: transparent;
	color: #757575;
}

.omni-ai-chip-project {
	background: transparent;
	color: #9e9e9e;
}

/* ==========================================================================
   Dark mode
   ========================================================================== */

body.dark-mode .omni-search-inner {
	background: #1e1e1e;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.6);
}

body.dark-mode .omni-search-input-wrap {
	border-bottom-color: #333;
}

body.dark-mode .omni-search-input {
	color: #e0e0e0;
}

body.dark-mode .omni-tabs {
	border-bottom-color: #2a2a2a;
}

body.dark-mode .omni-tab {
	color: #9e9e9e;
}

body.dark-mode .omni-tab:hover {
	background: #2a2a2a;
	color: #e0e0e0;
}

body.dark-mode .omni-tab.active {
	color: #64b5f6;
	border-bottom-color: #64b5f6;
}

body.dark-mode .omni-result-item:hover,
body.dark-mode .omni-result-item.selected {
	background: #252d3d;
}

body.dark-mode .omni-result-title {
	color: #e0e0e0;
}

body.dark-mode .omni-section-label {
	color: #616161;
}

body.dark-mode .omni-hint {
	border-top-color: #2a2a2a;
}

body.dark-mode .omni-hint kbd {
	background: #2a2a2a;
	border-color: #444;
	color: #9e9e9e;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 720px) {
	.omni-search.full-screen-dialog {
		align-items: flex-start;
		padding-top: 0;
	}

	.omni-search-inner {
		max-width: 100%;
		border-radius: 0 0 12px 12px;
	}

	.omni-results {
		max-height: 60vh;
	}
}

/* Admin Tools > Search page styles */

.admin-search-section-icon {
	vertical-align: middle;
	margin-right: 8px;
}

.admin-search-action-row {
	margin-top: 16px;
}

.admin-search-status {
	margin-bottom: 8px;
}

.admin-search-status-icon {
	vertical-align: middle;
	font-size: 16px;
}

.admin-search-status--running {
	color: var(--primary);
}

.admin-search-status--complete {
	color: var(--success, #2e7d32);
}

.admin-search-status--error {
	color: var(--error, #c62828);
}

.admin-search-hint {
	margin-top: 8px;
	color: var(--light-text);
}

.admin-search-list {
	margin-left: 16px;
	list-style: disc;
}

.admin-search-list--spaced {
	margin-left: 16px;
	list-style: disc;
	line-height: 2;
}

.admin-search-sub-intro {
	margin-bottom: 8px;
}

.admin-search-sub-closing {
	margin-top: 8px;
}

.admin-search-configure-hint {
	margin-top: 8px;
	color: var(--light-text);
}

@media screen and (max-width: 900px) {
    body .todo-table {
        padding-left: 20px!important;
        padding-top: 0px!important;
    }

    .search-todos {
        margin-bottom: 0px!important;
    }

    .todo-data .todo-table .table-body {
        height: calc(100vh - 201px)!important;
    }

    .todo-data .table-body .item {
        margin-bottom: 0px!important;
        box-shadow: 0px 1px 2px lightgrey;
    }

    .all-todos .todos {
        padding: 0px!important;
    }

    .all-todos .todos .item {
        margin-bottom: 0px!important;
        padding: 30px!important;
        box-shadow: none!important;
        border-bottom: 1px solid var(--border);
        border-radius: 0px!important;
    }

    .todos .todo-assignee-name {
        padding-right: 0px!important;
    }
}

.todos-page .static-header .col {
    background-image: none;
    background-color: #ffffff;
    padding: 12px 20px!important;
    border-right: 1px solid #ececec;
    border-bottom: 1px solid #ececec;
    color: #16a4d2;
    height: 45px;
    cursor: pointer;
    user-select: none;
}

.todos-page .static-header .col:hover {
    background-color: #16a4d2;
    color: white;
}

.todos-page table-body .item-section {
    padding: 12px!important;
}

.todo-page {
    padding: 20px;
}

.todo-item .title {
    font-size: 20pt;
    margin-bottom: 10px;
}

.todo-item .sub-title {
    margin-bottom: 10px;
}

.todo-item .meta {
    margin-top: 0px;
}

.meta-item {
    display: inline-block;
    margin-right: 5px;
    margin-bottom: 5px;
    padding: 5px 20px;
    background-color: #e9e9e9;
    border-radius: 2px;
    cursor: default;
}

.meta-item i {
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    font-size: 14pt;
    color: #0f2a3f;
}

.todo-item .description {
    padding: 20px;
    background-color: white;
}

.attachment img {
    max-width: 100%;
}

.todo-actions {
    text-align: right;
    margin-bottom: 7px;
}

.todo-action.assignee > div {
    display: inline-block;
    vertical-align: top;
    cursor: pointer;
}

.todo-action .assignee-image {
    max-height: 37px;
}

.todo-action .assignee-name {
    padding: 7px 15px 7px 20px;
    height: 37px;
    margin-right: -4px;
}

.todo-action .assignee-name i {
    display: inline-block;
    margin-right: -5px;
    margin-left: 5px;
}

.todo-action .assignee-name i.name-icon {
    margin-right: 10px;
    font-size: 14pt;
    margin-top: 3px;
}

.todo-action.assignee .assignee-image img {
    border-radius: 2px;
    max-height: 37px;
}

.todo-action.assignee {
    margin-bottom: 10px;
    background-color: #e9e9e9;
}

.todo-action.status {
    display: inline-block;
    padding: 7px 15px;
    background-color: #e9e9e9;
    cursor: pointer;
    margin-right: 10px;
}

.todo-action.status i:first-child {
    display: inline-block;
    float: left;
    margin-right: 5px;
    font-size: 14pt;
    color: #0f2a3f;
    margin-top: 2px;
}

.todo-page .attachments {
    padding: 0px 20px;
    text-align: center;
}

.todo-header {
    margin-bottom: 10px!important;
}

.todo-action {
    display: inline-block;
}

.todo-action:hover {
    background-color: white!important;
}

.todo-actions i.right {
    margin-left: 5px;
}

.todo-subactions {
    text-align: right;
    display: inline-block;
    width: 100%;
}

.todo-action.btn {
    max-width: 42px;
    width: 42px!important;
    background-color: #e9e9e9!important;
    box-shadow: none!important;
    color: #0f2a3f;
    padding: 0px!important;
    margin-right: -2px!important;
    margin-left: 7px!important;
}

.todo-action.btn:hover {
    background-color: white!important;
}

.todos-page .items {
    overflow-y: auto;
}

.todos-page .tabs .tab a:hover, .todos-page .tabs .tab a.active {
    color: #16a3d1;
    text-decoration: none;
}

.todos-page .tabs .tab a {
    color: #16a3d1;
}

.todos-page .tabs .indicator {
    background-color: #16a3d1;
    height: 1px;
}

.todos-page .tabs {
    background-color: transparent;
    margin-bottom: 20px;
}

.btn.right.clear-search {
    position: absolute;
    right: 20px;
    top: 20px;
    bottom: 0px;
    line-height: 45px;
    height: 45px;
}

.search-todos {
    position: relative;
    padding: 20px 20px 0px;
    margin-bottom: 20px;
}

.search-todos input {
    background-color: var(--white)!important;
    padding-left: 20px!important;
    box-shadow: 0px 1px 2px var(--shadow)!important;
    margin-bottom: -5px!important;
}

.spec-stats {font-size: 8pt;user-select: none;display: inline-block;/* margin-right: 20px; */vertical-align: top;margin-left: 20px;}

.op-blue {
    color: #16a3d1;
}

.todo-items span.todo-text {
    display: table;
    font-family: var(--body-font);
    font-size: 11pt;
    line-height: 1.4;
    margin-left: 35px;
}

.todo-item .todo-checkmark label {
    vertical-align: top;
    word-break: break-word;
    line-height: 1.3;
    user-select: auto;
    color: #333;
    display: inline-block;
    float: left;
    height: inherit;
}

.add-todo i {
    font-size: 16pt!important;
}

.zj-specification-header .todo-items {
    min-width: 380px;
    max-width: 100%;
    text-align: left;
    width: 100%;
}

.zj-specification-header .todo-items h5 {
    margin-bottom: 0px!important;
    padding: 10px;
}

.zj-specification-header .todo-items .todo-item {
    margin-bottom: 0px;
    padding: 10px 5px 10px 20px;
    display: inline-block;
    width: 100%;
    line-height: 1;
    vertical-align: top;
}

.add-todo .btn.add-ticket-todo {
    position: absolute;
    height: 45px;
    line-height: 45px;
    right: 25px;
    bottom: 6px;
    border-left: none;
    background-color: transparent!important;
    cursor: pointer;
    z-index: 1;
}

.project-quick-todos .add-todo .btn.add-ticket-todo {right: 0px;}

.meta-panel .add-todo .btn.add-ticket-todo {
    right: 0px;
}

.add-todo input {padding-right: 55px!important;/* padding-left: 45px!important; */float: left;background-color: transparent!important;}

.ticket-todos .add-todo {
    display: inline-block;
    width: 100%;
    margin-top: 0px;
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 25px;
}

.overview-section .ticket-todos .add-todo {
    padding-top: 10px;
}

.checklist .ticket-todos .add-todo {
    padding: 20px 30px 0px;
}

.image-annotations .add-todo.input-field [contenteditable=true] {
    border-radius: var(--border-radius-tiny);
    border-bottom: none!important;
}

.image-annotations .add-todo.input-field [contenteditable=true] {
    background-color: var(--background-color);
    padding: 10px 15px!important;
    height: 70px;
}

.meta-panel .add-todo.input-field [contenteditable=true] {
    padding-top: 5px;
    border-bottom: 1px solid var(--light);
}

.project-quick-todos .ticket-todos .add-todo {padding: 0px;}

.meta-panel .ticket-todos .add-todo {
    padding: 0px;
    border: none!important;
    position: relative;
}

.ticket-todos .add-todo textarea {
    outline: none;
    border: none;
    padding-right: 51px;
    padding-top: 10px;
    border-bottom: 1px solid var(--light);
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    font-size: 10pt;
    min-height: 46px;
    max-height: 500px;
}

.ticket-todos .add-todo textarea::placeholder {
    color: #8d8d8d;
}

.ticket-todos {
    text-align: left;
    line-height: 23px;
    vertical-align: top;
    padding: 40px;
    height: calc(100vh - 115px);
    }

.project-todos .ticket-todos {
    height: auto;
}

.checklist-editor-item .ticket-todos {
    height: auto;
    padding: 20px 0px;
    overflow: inherit;
}

.project-checklist .ticket-todos {
    padding: 0px;
}

.overview-section.project-checklist .ticket-todos {
    height: auto;
}

.checklist .ticket-todos {
    padding: 0px;
    height: auto;
}

.distraction-free .ticket-todos {
    height: calc(100vh - 50px);
}

.overview-section.project-quick-todos .ticket-todos {padding: 0px;box-shadow: none!important;border: none!important;height: auto;}

.spec-todo-actions {
    text-align: right;
    vertical-align: top;
    display: none;
}

.spec-todo-actions .todo-action .btn {
    border-left: none;
    width: 34px;
    height: 34px;
    padding: 0px;
    position: relative;
}

.spec-todo-actions .todo-action .circle-badge {
    position: absolute;
    top: -10px;
    right: -10px;
    z-index: 9;
}

.spec-todo-actions .todo-action .btn img {
    max-width: 100%;
    border-radius: 2px;
}

.todo-item .todo-checkmark {
    padding-top: 0px!important;
}

.completed-todos {
    display: inline-block;
    width: 100%;
    margin-bottom: 0px;
}

.completed-todos .title {
    margin-bottom: 0px;
    padding: 0px 20px;
    font-style: italic;
}

[type="checkbox"]:checked+label:before {
    border-right-color: var(--primary)!important;
    border-bottom-color: var(--primary)!important;
}

.todo-items .profile-image {
    max-width: 45px;
    max-height: 43px;
    overflow: hidden;
    display: inline-block;
    float: left;
    margin-right: 10px;
}

.todo-items .profile-name {
    vertical-align: middle;
    width: calc(100% - 130px);
    display: inline-block;
}

.todo-items .public-users .profile-name p {
    display: inline-block;
    line-height: 1.8;
}

.edit-todo-header .todo-header-title {
    padding-top: 10px;
}

.todo-items .show-hide-completed {
    padding-left: 35px;
    padding-right: 40px;
    padding-bottom: 0px;
    padding-top: 0px;
    height: 50px;
    line-height: 50px!important;
    margin-top: 0px;
    margin-bottom: 0!important;
    width: 100%;
    line-height: 1.5;
    /* position: absolute; */
    /* bottom: 0; */
    /* left: 0; */
    /* right: 0; */
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: unset;
}

.overview-section .show-hide-completed {
    margin-bottom: 0px!important;
    padding-bottom: 0px!important;
}

.checklist .todo-items .show-hide-completed {
    padding-left: 30px;
}

.project-quick-todos .todo-items .show-hide-completed {padding: 0px;/* position: absolute; *//* bottom: 20px; *//* left: 30px; *//* right: 30px; */margin-bottom: 0px!important;/* width: calc(100% - 60px); */}

.todo-items .show-hide-completed .text-field {display: inline-block;width: 100%;padding: 0px 20px;line-height: 50px;}.image-annotations .todo-items .show-hide-completed .text-field label {font-size: 9pt!important;color: var(--light-text);padding-left: 28px;line-height: 50px;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;}

.todo-items .show-hide-completed .text-field:last-child {padding-right: 0px;}

.meta-panel .todo-items .show-hide-completed {
    padding: 0px 20px;
    margin-bottom: 0px!important;
    left: 0;
    right: 0;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
}

.project-todos .todo-items .show-hide-completed {
    position: relative;
    bottom: unset;
}

.todo-items .show-hide-completed label {
    display: inline-block;
    font-size: 9.5pt;
    line-height: 1.8;
    margin-bottom: 10px;
    padding-left: 32px;
    color: var(--light-text);
    }

.todo-items .show-hide-completed label {
    line-height: 50px;
    height: 50px;
    margin-bottom: 0px!important;
}

.todo-items .show-hide-completed label:before {margin-top: 15px;}

.todo-item .todo-text {
    margin-left: 30px;
    font-size: 10pt;
    word-wrap: break-word;
    padding-right: 10px;
    position: relative;
    padding-bottom: 0px;
}

.todo-item .todo-text li {
    list-style: none!important;
}

.image-annotations .todo-item .todo-text {padding-right: 0px;}

.todo-item:hover .todo-meta-text {
    color: #333;
}

.todo-item:hover .todo-meta-text .right {
    color: #16a4d1;
    transition: color .5s ease;
}

.show-hide-completed .input-field {
    display: inline-block;
    margin-right: 20px;
    margin-top: 0px;
}

.meta-panel .show-hide-completed .input-field {
    width: auto;
}

.show-hide-completed .input-field:last-child {
    margin-right: 0px;
}

.todo-text .assigned-to {
    float: left;
    padding-right: 3px;
    font-weight: 500;
}

.todo-text .assigned-to .assignee-image {
    max-width: 19px!important;
    width: 100%;
    display: none;
    vertical-align: middle;
    margin-right: 8px;
    border-radius: 2px;
    overflow: hidden;
    line-height: 1;
}

.todo-meta .todo-author img {
    display: block;
    margin-right: 8px!important;
    margin-left: 0px;
    box-shadow: none;
    border-radius: 5px;
}

.todo-meta .todo-author {
    width: 100%;
    display: inline-block;
    margin-bottom: 0px;
}

.todo-meta .todo-author.completed-user {
    color: #8cc34a;
    width: auto;
    border-radius: 30px;
    font-size: 9.5pt;
    width: 100%;
}

.inline-block {
    display: inline-block;
}

.todo-meta .inline-block {
    margin-right: 0px;
    z-index: 0;
}

.todo-meta {
    padding-bottom: 0px;
}

.todo-option .due-date-picker {
    border: none!important;
    margin-top: 0px!important;
    padding-left: 10px;
    background-color: #eeeeef!important;
}

.todo-option input.due-date-picker, .todo-option input.due-date-picker:focus {
    background-color: transparent!important;
    border: 0px!important;
    box-shadow: none!important;
    border-bottom: 0px!important;
    padding-left: 0px;
    padding-right: 10px;
    padding-inline-end: 0px!important;
}

.todo-option input.due-date-picker.ng-empty {
    color: lightgrey;
}

.todo-option input.due-date-picker::-webkit-inner-spin-button {
    display: none;
}

.todo-option.priority-picker, .todo-option:first-child {
    padding-right: 10px!important;
}

.todos .todo-summary {
    word-break: break-word;
    width: 100%;
    display: inline-block;
}

.nav-todos-list-container .todo-summary {
    padding-top: 0px;
}

.todos .todo-summary-text .todo-summary-summary a {
    padding: 0px;
}

.todos-widget .item .todo-key {
    margin-left: 4px;
}

.todo-edit-sections.todo-comments-component {
    padding-top: 0px;
}

nav .todo-edit-sections.todo-comments-component {
    display: inline-block;
    width: calc(100%);
    margin-top: 10px;
    max-height: unset;
    overflow-y: unset;
}

#mytodos.dropdown-content {
    max-height: inherit;
    background-color: var(--background-color);
}

.todo-inline-comments .author-image {
    max-width: 30px;
    width: 100%;
    height: 30px;
    display: inline-block;
    float: left;
    margin-right: 15px;
    margin-left: 0px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 5px;
    z-index: 9999;
    position: relative;
    }

.todo-inline-comments .author-image img {
    vertical-align: top;
    border-radius: 3px;
}

.todo-inline-comments .comment-text {
    display: table;
    text-align: left;
    font-size: 10pt;
    word-break: break-word;
    white-space: pre-line;
    font-family:  var(--body-font);
    }

.image-annotations .todo-inline-comments .comment-text {
    width: 100%;
}

.todo-inline-comments .comment-details {
    line-height: 20px;
    margin-top: -3px;
    margin-bottom: -1px;
    text-align: left;
    font-size: 9pt;
    color: var(--light-text);
    width: auto;
    }

.todo-inline-comments li {
    padding: 10px 0px 5px!important;
    vertical-align: top;
}

.todo-text .show-inline-comments, .todo-text .show-inline-comments i {
    font-size: 12pt;
    line-height: 2.4;
    cursor: pointer;
    user-select: none;
}

.todo-text .show-inline-comments.comments-available {
    color: #16a3d1;
}

.todo-text .show-inline-comments {
    width: auto;
    text-align: right;
    position: absolute;
    right: 0px;
    top: -4px;
    opacity: 0;
    transition: opacity .2s ease-in-out;
    cursor: pointer;
    font-size: 9pt!important;
}

.image-annotations .todo-text .show-inline-comments {right: 0px;top: -3px;}

.todo-text .show-inline-comments.openup {
    color: var(--primary);
}

.todo-text .show-inline-comments.openup {
    opacity: 1!important;
}

.todo-text .show-inline-comments i {
    vertical-align: middle;
}

.todo-text .show-inline-comments i.add-new-comment {
    font-size: 11pt;
    font-weight: bold;
    margin-right: -3px;
    line-height: 1;
}

.todo-text .show-inline-comments i.dropdown {
    font-size: 14pt;
    margin-left: -5px;
    margin-right: 0px;
    line-height: 1;
}

.todo-text .show-inline-comments i.dropdown.add-new-comment {
    font-size: 9pt;
    margin-left: -2px;
    margin-right: 3px;
    font-weight: bold;
    vertical-align: text-bottom;
}

.rotate-left {
    transform: rotate(90deg);
}

.todo-due-date {
    margin-left: 6px;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 12px;
    color: var(--light-text);
    vertical-align: text-bottom;
}

.todo-due-date .material-symbols-outlined {
    font-size: 15px;
}

.todo-text .show-inline-comments:hover, .todo-text .show-inline-comments.openup {
    color: var(--primary);
}

.todo-meta-text {
    color: #e2e2e2;
    transition: all .5s ease;
}

.todo-meta-text .edit-todo {
    display: inline-block;
    font-size: 8.5pt;
    margin-right: 5px;
    cursor: pointer;
    user-select: none;
}

.todo-meta-text .edit-todo:hover {
    color: #16a4d1;
}

.todo-meta-text .edit-todo i {
    font-size: 10pt;
    vertical-align: middle;
    margin-right: -1px;
}

.todo-comments-section .leave-todo-comment textarea {
    background-color: var(--extra-light);
    border: 1px solid var(--extra-light);
    border-radius: 0px;
    box-sizing: border-box;
    outline: none;
    padding: 7px 10px;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    float: right;
    overflow: hidden;
    height: 10px;
    min-height: 37px;
    margin-bottom: 4px;
    font-size: 10pt;
    border-bottom: none!important;
    border-radius: 5px;
}

.todo-comments-section .leave-todo-comment textarea:focus {
    border-bottom: none!important;
}

.todo-comments-section .leave-todo-comment .btn {max-width: calc(100% - 50px)!important;width: 100%;/* min-width: 100%; */height: 25px;line-height: 26px;font-size: 8pt;margin-left: 0px!important;margin-top: -6px;background-color: var(--primary)!important;color: white;display: inline-block;background-color: var(--light)!important;
    color: var(--primary);border-bottom-right-radius: 5px!important;border-bottom-left-radius: 5px!important;}

.todo-inline-comments li:hover .delete-comment {
    display: block;
    top: 8px;
    right: 0px;
    text-align: center;
    background-color: var(--background-color);
}

.todo-inline-comments li .delete-comment:hover {
    color: var(--warning);
}

.todo-inline-comments li .delete-comment i {
    font-size: 12pt;
}

.todo-item .todo-inline-comments li {
    position: relative;
    cursor: initial;
    width: 100%;
display: inline-block;}

.todo-item .todo-inline-comments .tdcomment {
    padding: 15px 0px 0px!important;
}

.todo-inline-comments li.tdcomment:last-child {
    border-bottom: 0px solid transparent!important;
    margin-bottom: 0px;
    padding-bottom: 0px;
}

.todo-widget-meta > div {
    display: inline-block;
    width: calc(100% - 35px)!important;
    padding-right: 5px!important;
    color: var(--light-text);
}

.page-notifications .todo-widget-meta > div {
    max-width: 100%!important;
    width: 100%!important;
}body ul li .todo-summary a {
    padding: 0px;
    font-size: 9.5pt!important;
    display: unset;
    background-color: transparent!important;
    color: var(--primary)!important;
    white-space: normal;
}

body nav ul li .todo-summary a {
    background-color: var(--background-color)!important;
}

.todo-widget-meta, .todo-created {
    color: var(--light-text);
    font-size: 9pt;
    line-height: 16px;
}

.todos {
    vertical-align: top;
}

.todo-data .todo-table .table-body {
    display: inline-block;
    width: 100%;
    height: calc(100vh - 150px);
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
    font-size: 10.5pt;
    padding-top: 20px;
}

.todo-data .table-body .item {
    display: inline-block;
    width: 100%;
    padding: 20px 10px;
    background-color: white;
    margin-bottom: 15px;
    border-bottom: 1px solid #eeeeee;
    cursor: pointer;
    box-shadow: 0px 1px 2px lightgrey;
}

.todo-data .table-body .item:hover {
    box-shadow: 0px 1px 2px grey;
}

.todo-data .table-body .item-section {
    padding: 0px 10px!important;
    word-wrap: break-word;
    font-size: 10pt;
}

.todo-data .search-filters {
    padding: 0px!important;
    position: relative;
    overflow: hidden;
}

.todo-table-specItem-summary {
    width: 100%;
    display: inline-block;
    margin-right: 10px;
    line-height: 1;
    color: #52acd2;
    cursor: pointer;
    font-size: 13pt;
    line-height: 1.2;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.todo-project-key {
    font-size: 9pt;
    display: block;
    line-height: 1.5;
}

.todo-project-key a {
    color: #777;
    text-decoration: none;
}

.todo-project-key a:hover {
    color: #00a5d5;
}

.todo-data .item-section.priority {
    text-align: center;
    padding-left: 20px!important;
}

.todo-table-summary {
    display: inline-block;
    width: 100%;
    line-height: 1.6;
    font-size: 10pt;
}

.todo-filter-title {
    text-transform: capitalize;
    width: 100%;
    line-height: 15pt;
    cursor: pointer;
    user-select: none;
    color: var(--light-text);
}

.todo-filter-title.selected {
    margin-bottom: 5px;
    margin-top: -1px;
}

.todo-filter-title.selected i {
    transform: rotate(180deg)!important;
}

.todo-filter-title.selected {
    color: var(--primary);
}

.todo-filter-title:hover, .todo-filter-title:hover i {
    color: var(--primary);
}

.hide-gf .todo-filter-title {
    margin-bottom: 0px;
}

.todo-filter-title i.right {
    height: 20px;
    width: 20px;
    text-align: center;
    line-height: 20px!important;
    margin-top: 0px;
    border-radius: 5px;
    cursor: pointer;
    transform: rotate(0deg);
}

.hide-gf .todo-filter-title i.right {
    background-color: transparent;
}

.todo-filter-title i.right:hover {
    background-color: var(--primary);
    color: var(--awhite);
}

.todo-filter {
    margin-bottom: 10px;
}

.todo-filter:last-child {
    margin-bottom: 0px;
}

.todo-filter-options {
    position: relative;
    line-height: 10pt!important;
    padding-left: 5px!important;
}

.todo-filter .row label::before {
    width: 15px;
    height: 15px;
    margin-top: 5px;
}

.todo-filter-options:last-child {
    padding-bottom: 10px;
}

.todo-filter-options label {font-size: 10pt!important;color: var(--black);width: 100%;padding-left: 30px!important;}

.tiny-user-image {
    max-width: 24px;
    margin-right: 0px;
    padding-top: 5px;
    display: inline-block;
    float: right;
    height: 30px;
}

.tiny-user-image img {
    border-radius: 5px;
}

.todo-meta-item .tiny-user-image {
    float: left;
    margin-right: 10px;
}

.todos .todo-assignee-name {
    font-size: 8.5pt!important;
    line-height: 15px;
    display: inline-block;
    padding-right: 10px;
    padding-top: 3px;
    color: var(--light-text);
}

.todo-filter.total-result-count {
    font-size: 10pt;
    margin-bottom: 10px;
}

.todo-table {
    padding: 20px 20px 20px 0px!important;
}

.nav-todos-list-container .todo-items {margin-top: -20px;}

nav .nav-todos-list-container .todo-items {
    margin-top: 0;
}

.project-todos .todo-items {
    box-shadow: none;
    background-color: transparent;
    max-width: 800px;
}

.forward-one-day {
    text-align: right;
    padding-right: 14px!important;
    cursor: pointer;
    border-radius: 5px;
    height: 50px;
    line-height: 50px;
}

.the-current-date {
    text-align: center;
    color: var(--black);
    user-select: none;
    font-size: 10pt;
    cursor: pointer;
    line-height: 50px;
}

.the-current-date:hover {
    color: var(--primary);
}

.all-todos .todos .item {
    background-color: var(--white);
    padding: 40px;
    margin-bottom: 5px;
    box-shadow: 0px 1px 2px var(--shadow);
    border-radius: var(--border-radius-tiny);
    position: relative;
}

.all-todos .todos {
    max-width: 740px;
    margin: 0px auto;
    padding-top: 40px;
    padding-bottom: 40px;
}

.todos-page .all-todos {
    height: calc(100vh - 64px);
    overflow-y: auto;
    overflow-y: overlay;
    width: 100%;
    float: right!important;
}

.todo-meta-times {
    text-align: right;
    line-height: 1.2;
    padding-top: 4px!important;
    color: var(--light-text);
}

.todo-meta-item.priority.high-priority {
    color: #F44336;
}

.todos-page .sidebar {
    /*max-width: 280px;
    position: absolute;
    left: calc(50vw - 627px);*/
    background-color: var(--white);
    height: calc(100vh - 64px);
    margin-top: 0px;
}

.todo-inline-comments .comment {
    display: inline-block;
    float: right;
    width: calc(100% - 50px);
}

.listing-item .todo-inline-comments ul li {
    margin-bottom: 10px;
    padding-bottom: 10px!important;
    position: relative;
    display: inline-block;
    width: 100%;
}

.listing-item .todo-inline-comments ul li:last-child {
    border-bottom: none;
    margin-bottom: 0px;
    padding-bottom: 0px!important;
}

.todo-selected-text {
    margin-top: 15px!important;
    padding-left: 1px;
    color: var(--light-text);
    font-size: 13px;
    cursor: pointer;
    line-height: 18px;
    vertical-align: top;
    border-radius: 5px;
    margin-bottom: 10px;
}

.notes-container .todo-selected-text {
    margin-top: 0!important;
    margin-bottom: 20px;
}

.editing-todo .todo-selected-text {
    margin-top: 15px!important;
}

.spec-item-comments-container .panel-comments .listing-item .todo-selected-text.editor-enabled {
    padding: 10px;
    margin-bottom: 0px;
    background-color: var(--extra-light);
}

.profile-todo-items .item .todo-selected-text {
    margin-bottom: 5px;
    margin-top: 5px!important;
    font-size: 9pt!important;
    border: 1px solid var(--light-border);
    padding: 6px;
    border-radius: 5px;
    background-color: var(--background-color);
    }

.a-todo-item:hover .todo-selected-text {
    background-color: var(--white);
}

.profile-todo-items .item .todo-selected-text .the-selected-text .linked-todo {
    background-color: var(--highlight);
    color: var(--ablack);
}

.project-item .todo-selected-text {
    margin-top: 10px!important;
}

.selected-text-title {
    display: inline-block;
    float: left;
    margin-right: 5px;
    font-weight: 500;
    color: var(--highlight);
}

.todo-description .todo-meta {
    margin-top: 0px;
    padding-top: 0px;
    width: auto;
    float: right;
}

span.completed-todo-label {
    color: #8cc34a;
    margin-left: 223px;
}

.completed-todo-label {
    color: var(--good);
    font-size: 10pt;
    margin-bottom: 10px;
}

.image-annotations .completed-todo-label {/* padding-left: 35px; */font-size: 9pt;margin-top: 3px;}

.todo-header-text-wrap {
    display: inline-block;
    vertical-align: top;
    margin-bottom: 0px!important;
    font-weight: 300;
    color: var(--light-text);
    width: 100%;
    position: relative;
    line-height: 18px;
    }

.todo-stat-header {
    margin-bottom: 2px;
    color: var(--black);
}

.todo-list .todo-comments-section .leave-todo-comment textarea {
    width: calc(100% - 50px)!important;
    min-width: calc(100% - 50px)!important;
}

.image-annotations .todo-list .todo-comments-section .leave-todo-comment textarea {width: calc(100% - 46px)!important;height: auto!important;min-height: 50px!important;}

.todo-header-text-wrap .todo-author-name {width: calc(100% - 55px);height: 50px;display: table;vertical-align: middle;padding-top: 2px;font-size: 13px;}

.todo-header-text-wrap .todo-author-name .link {
    width: 100%!important;
    font-size: 10pt;
}

.edit-tools .todo-header-text-wrap .todo-author-name .link {
    font-size: unset;
    /* color: var(--black); */
    font-weight: 500;
}

.image-annotations .todo-header-text-wrap .todo-author-name {
    line-height: 1.2;
    margin-top: -4px;
    padding-top: 5px;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    left: 45px;
    font-size: 9pt;
    }

.timelog-details-body.card {
    padding: 40px;
}

nav .item-section.todo-right-container .todo-comment-message-author {
    line-height: 20px;
    color: var(--light-text);
    font-size: 12px;
    margin-bottom: 5px;
}

.scheduler {
  display: inline-block;
  background: var(--white)!important;
  border: none;
  margin-bottom: 10px;
  width: 100%!important;
}

.scheduler::after {
  content: "";
  display: block;
  clear: both;
}

.scheduler .labels, .scheduler .schedule-area-container {
  display: block;
  float: left;
  vertical-align: top;
  padding-bottom: 20px;
}

.scheduler .labels {
  width: 15%;
  color: #666;
  border-right: 1px solid var(--border);
}

.scheduler .labels .srow {
  padding: 0px;
  font-size: 9.5pt;
  color: var(--black);
  border-bottom: 1px solid var(--light);
  
  
  
  line-height: 50px;
  vertical-align: middle;
  
  min-width: 100%;
}

.scheduler .schedule-area-container {
  overflow-x: auto;
  width: 85%;
}

.scheduler .srow {
  position: relative;
  height: 50px;
  line-height: 50px;
}

.scheduler .timestamps {
  color: #aaa;
  position: relative;
}

.scheduler .timestamps .grid-container div {
  border-right: 1px solid var(--light);
  font-size: 9pt;
  color: var(--black);
}

.scheduler .timestamps .grid-container div:last-child {
  border-right: none;
}

multi-slider {
  position: relative;
  display: block;
  height: 50px;
  overflow: hidden;
}

multi-slider .slot {
  position: absolute;
  top: 5px;
  bottom: 5px;
  border-radius: 5px;
  text-align: center;
  white-space: nowrap;
  line-height: 25px;
  color: #fff;
  opacity: .9;
  height: 36px;
  line-height: 36px;
}

multi-slider .ghost {
  background: #5ab57a;
  opacity: 0.6;
  display: none;
  cursor: pointer;
  margin-top: 1px;
}

multi-slider:hover .ghost {
  display: block;
}

multi-slider.slot-hover .ghost {
  display: none;
}

multi-slider.dragging .ghost {
  display: none;
}

multi-slider weekly-slot {
  -webkit-transition: background 0.1s ease-in;
  cursor: all-scroll;
  min-width: 10px !important;
  background: var(--primary);
}

multi-slider weekly-slot.disable {
  cursor: pointer;
  color: var(--awhite);
  font-size: 9.5pt;
  font-family: var(--body-font);
  background: var(--primary);
}

multi-slider weekly-slot .handle {
  position: absolute;
  top: 0;
  bottom: 0;
}

multi-slider weekly-slot .handle.left, multi-slider weekly-slot .handle.right {
  width: 10px;
  background: #000;
  cursor: col-resize;
  opacity: 0.1;
}

multi-slider weekly-slot.disable .handle {
  cursor: not-allowed;
}

multi-slider weekly-slot .handle.left:hover, multi-slider weekly-slot .handle.right:hover {
  opacity: 0.3;
}

multi-slider weekly-slot .handle.left {
  left: 0;
}

multi-slider weekly-slot .handle.right {
  right: 0;
}

multi-slider weekly-slot:not(.disable) .remove {
  display: none;
  cursor: pointer;
  float: right;
  margin-right: -30px;
  width: 25px;
  background: transparent;
  border-radius: 20%;
  opacity: 0.5;
  transform: translateY(-100%);
}

multi-slider weekly-slot:not(.disable) .remove:hover i {
    color: var(--warning)!important;
}

multi-slider weekly-slot:not(.disable) .remove:before {
  position: absolute;
  content: "";
  left: -5px;
  width: 25px;
  height: 10px;
}

multi-slider weekly-slot:hover .remove {
  display: block;
}

multi-slider weekly-slot .remove:hover {
  opacity: 1;
  display: block!important;
}

multi-slider weekly-slot.active {
  z-index: 10;
  background: #5ab57a;
  color: #fff;
}

.grid-container {
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  border-bottom: 1px solid var(--light);
}

.grid-container div {
  float: left;
  height: 49px;
  overflow: hidden;
  text-align: center;
}

.grid-container.striped div:nth-child(even) {
  background: var(--extra-light);
}

.github-fork-ribbon:after {
  line-height: 1em;
}

.schedule-animate {
  transition: opacity 200ms ease-out;
}
.schedule-animate.ng-enter, .schedule-animate.ng-hide-remove {
  opacity: 0;
}
.schedule-animate.ng-leave, .schedule-animate.ng-hide-add {
  display: none;
  opacity: 1;
}
.settings UL.tabs li {
    display: inline-block;
    width: 100%!important;
}

.settings ul.tabs {
    height: 100%;
}

.space-permissions-tabs {
    display: flex;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    border: none!important;
    background-color: var(--white);
}

.space-permissions-tabs li a {
    background-color: var(--white);
    color: var(--black)!important;
    border: none!important;
    text-transform: capitalize;
    text-decoration: none!important;
}

.space-permissions-tabs li a:hover {
    color: var(--primary)!important;
}

.space-permissions-tabs li a.active {
    color: var(--primary)!important;
}

.settings-body {
    padding-top: 50px;
    position: relative;
}

.settings-section {
    max-width: 1180px;
    margin: 40px auto;
}

.agents-settings.settings-section.show-ai-panel {
    max-width: 1400px;
}

.agents-settings.settings-section {
    transition: all .3s ease-in-out;
    max-width: 1000px;
    padding: 0 25px;
}

.okrs-section {
    padding: 0px 50px;
}

.programs-section.settings-section {
    max-width: unset;
    padding: 0px 50px;
}

.settings-section.admin-settings {
    max-width: 1040px;
    margin: 0px auto;
}

.settings-section.admin.admin-settings.focus-settings {
    margin-top: 40px;
    margin-bottom: 40px;
}

.chat-settings-panel .settings-section {
    padding: 0px 25px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.categories-admin .fs-container > .row:first-child {border-radius: 10px 10px 0px 0px!important; overflow: hidden;}

.team-settings.settings-section {
    position: relative;
    max-width: 780px;
}

.settings-section-wrapper {
    width: 100%;
    background-color: var(--white);
    padding: 30px;
    box-shadow: 0px 1px 2px var(--shadow);
    margin-bottom: 30px;
    border-radius: 10px;
}

.standard-width {
    max-width: 1040px;
    margin: 50px auto;
}

.sh.row .btn.right {
    margin-bottom: 0px!important;
    height: 40px!important;
    line-height: 40px!important;
    /* background-color: var(--primary)!important; */
    text-align: center;
}

.sh.row .btn.right i {
    margin: 0;
}

.setting-option-label {
    font-size: 10.5pt;
}

.settings-option {
    margin-bottom: 20px;
    display: inline-block;
    width: 100%;
}

.settings-option:last-child {
    margin-bottom: 0px;
}

.settings-option input {
    margin-bottom: 0px;
}

nav .edit-settings {
    padding: 0px 30px!important;
    height: calc(100vh - 180px)!important;
    overflow-y: auto;
}

.page-body .timelog-settings .edit-settings {
    padding: 0px!important;
}

#timer .edit-settings {
    height: auto;
    
    transition: all .5s ease-in-out;
    box-sizing: border-box;
}

.edit-settings .settings-option {
    width: 100%;
}

.edit-settings .settings-option .input-field {
    margin-top: 0px;
    padding-top: 10px;
}

.edit-settings .settings-option .input-field input {
    padding-left: 0px!important;
    margin-bottom: 0px!important;
    height: 55px;
    border-bottom: 1px solid lightgrey;
}

.team-settings.settings-section .team {
    vertical-align: top;
    margin-bottom: 30px!important;
    padding: 30px!important;
    border-radius: var(--border-radius-tiny);
    padding-right: 20px;
    background-color: var(--white);
    margin-right: 30px!important;
    box-shadow: var(--box-shadow);
}

.team-settings.settings-section .team:nth-child(2n) {
    margin-right: 0px!important;
}

.team-settings.settings-section .team:nth-child(2n) {
    padding-right: 0px;
    padding-left: 10px;
}

.team-settings .team:last-child {
    margin-bottom: 0px!important;
}

.team-name {
    font-size: 13pt;
    margin-top: 2px;
    margin-bottom: 5px;
    
}

.team-actions {
    text-align: right;
    
}

.team-actions .btn {
    background-color: transparent;
    color: var(--primary);
}

.team-actions .btn:hover {
    background-color: var(--primary)!important;
    color: var(--awhite)!important;
}

.team-actions .btn.warning-btn:hover {
    background-color: var(--warning)!important;
}

.team-actions .btn.white-btn {
    background-color: transparent;
    
    width: 45px;
    text-align: center;
    padding: 0px!important;
}

.team-actions .btn.white-btn:hover {
    background-color: var(--primary);
    color: white;
}

.team-members .input-field {
    margin: 0px;
    margin-bottom: 0px!important;
    display: inline-block;
    width: 100%;
}

.team-member {
    display: inline-block;
    width: 100%;
    
    margin-bottom: 0px;
    background-color: transparent!important;
    position: relative;
    height: 40px;
    line-height: 40px;
    font-size: 10pt;
    
}

.team-card .team-member {
    background-color: var(--background-color)!important;
    padding: 0 15px;
    height: 50px;
    margin-bottom: 1px;
    line-height: 50px;
    display: flex;
    align-items: center;
}

.team-card .team-member button {
    margin-left: auto;
    margin-right: -20px!important;
}

.team-member:hover {
    color: var(--primary);
}

.team-member-image img {
    border-radius: 5px;
}

.team-member:hover {
    background-color: var(--extra-light);
}

.team-member:hover .delete-team-member {
    opacity: 1;
}

.settings-wrapper {
    height: calc(100vh - 64px);
    overflow-y: auto;
    width: 100%;
    position: relative;
    }

.settings-wrapper .w780 {
    margin: 0 auto;
}

.settings > .settings-body {
    padding-top: 0px;
}

.team-members {
    display: inline-block;
    width: 100%;
    padding-top: 20px;
    /* border-top: 1px solid var(--border); */
    margin-top: 10px;
}

.team-card .team-members {
    padding-top: 0;
    margin-top: 5px;
}

.team-selector .dropdown-select {
    color: #16a3d3;
    background-color: #ececec;
    
    margin-top: 0px;
}

.team-selector .dropdown-select:hover {
    color: white;
}

.delete-team-member {
    position: absolute;
    right: 0px;
    top: 0px;
    padding-right: 0px;
    padding-left: 0px;
    cursor: pointer;
    color: grey;
    height: 40px;
    text-align: center;
    width: 45px;
    opacity: 0;
}

.delete-team-member:hover {
    color: #18a2d3;
}

.delete-team-member i {
    height: 40px;
    line-height: 40px;
    font-size: 13pt!important;
    text-align: center;
}

.team-member-image {
    height: 30px;
    width: 30px;
    margin-top: 5px;
    display: inline-block;
    float: left;
    margin-right: 10px;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 5px;
    background-position: center center;
    background-color: var(--white);
    border: 1px solid var(--border);
}

.icon-and-label {height: 36px;line-height: 36px;}

.icon-and-label i {
    line-height: 36px!important;
    height: 36px;
}

.icon-and-label span {vertical-align: super;}

.team-selector .dropdown-option ul {
    right: 70px;
}

.row.settings-body ul.vertical-tabs {
    
    
    
    min-width: 16vw;
}

.add-team-member {
    display: inline-block;
    width: 45px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    color: white;
    border-radius: 3px;
}

.add-team-member i {
    line-height: 36px;
    height: 36px;
    font-size: 15pt;
}

.project-details .setting-name {
    
    margin-bottom: 20px;
    position: relative;
    z-index: 0;
}

.setting-name.setting-title input {
    margin-bottom: 0px!important;
    font-size: 15pt!important;
    border-bottom: 1px solid var(--light-border)!important;
    padding-right: 110px!important;
    width: calc(100% - 120px)!important;
}

#removedSections {
    padding-left: 15px;
    padding-right: 15px;
    
    margin-bottom: 0px!important;
    border-bottom: none!important;
}

.account-administrators .project-users {
    max-height: 50vh;
    overflow-y: auto;
}

.account .settings-section-wrapper .col.s12.m6, .account .settings-section-wrapper .col.s12.m5 {
    padding-left: 0px!important;
    padding-right: 30px!important;
    box-sizing: border-box;
}

.account .settings-section-wrapper .col.s12.m6:nth-child(2n) {
    
    padding-right: 0px!important;
}

.account-owners {
    margin-bottom: 30px;
}

.btn.btn-transparent.ai-settings-btn {
    float: right;
    display: inline-block;
}

.editor-option-card__title {
    font-weight: 500;
}

.editor-option-card__desc {
    color: var(--light-text);
}
/* ============================================
   MEMORY SYSTEM UI COMPONENTS
   Uses root CSS variables - no inline styles
   ============================================ */

/* Memory Section Container */
.memory-section {
    margin-bottom: 20px;
}

.memory-section h6 {
    display: flex;
    align-items: center;
    gap: 8px;
}

.memory-section h6 i {
    vertical-align: middle;
}

/* Memory Usage Stats */
.memory-usage {
    display: flex;
    gap: 5px;
    margin: 15px 0 0;
}

.memory-usage-stat {
    display: flex;
    flex-direction: column;
    padding: 25px;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    flex: 0 1 calc(25% - 5px);
}

.memory-usage-count {
    font-size: 20px;
    /* font-weight: bold; */
    color: var(--primary);
}

.memory-usage-limit {
    color: var(--light-text);
}

.memory-usage-label {
    font-size: 11px;
    color: var(--light-text);
}

/* Add Memory Form */
.memory-add-form {
    margin-bottom: 40px;
    border-radius: var(--border-radius-tiny);
}

.memory-add-form .text-field {
    padding-bottom: 0;
}

.memory-add-form textarea, .memory-add-form input {
    background-color: var(--background-color)!important;
    border-radius: 3px!important;
    border: none!important;
    box-shadow: none!important;
    font-size: 14px!important;
}

.memory-add-form input {
    padding: 0px 20px!important;
}

.memory-add-form .btn {
    height: 45px;
}

.memory-add-form .btn i {
    font-weight: bold;
}

.memory-add-form button.btn.btn-primary:disabled {
    background-color: var(--extra-light)!important;
}

.memory-add-form-content button {
    font-size: 12px;
}

.memory-add-form button.btn.btn-primary:disabled i {
    color: var(--icon-color);
}

.memory-add-form textarea {
    padding: 10px 20px!important;
    box-sizing: border-box!important;
    width: 100%!important;
    max-width: 100%!important;
    min-height: 80px!important;
    margin-bottom: 0px!important;
}

.memory-add-form textarea {
    min-height: 60px;
    width: 100%;
}

.memory-add-form .form-actions {
    display: flex;
    gap: 5px;
    margin-top: -1px;
}

.memory-add-form .form-actions input {
    flex: 1;
}

/* Memory List */
.memory-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.memory-item {
    padding: 25px;
    background: var(--background-color);
    border-radius: var(--border-radius-tiny);
    margin-bottom: -5px!important;
}

.memory-item-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.memory-item-body {
    flex: 1;
}

.memory-item-text {
    margin-bottom: 8px;
}

.memory-item-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.memory-item-meta .chip {
    font-size: 11px;
    background-color: var(--extra-light);
    border-radius: 3px;
    margin-right: 5px;
}

.memory-item-source {
    font-size: 12px;
    color: var(--light-text);
    display: flex;
    align-items: center;
    gap: 4px;
    background-color: var(--extra-light);
    padding: 0px 7px;
    border-radius: 3px;
}

.memory-item-source i {
    font-size: 12px;
    vertical-align: middle;
}

.memory-item-actions {
    display: flex;
    gap: 5px;
    margin-left: 15px;
    margin-top: -8px;
}

/* Memory Empty State */
.memory-empty {
    text-align: center;
    padding: 30px;
    color: var(--light-text);
}

.memory-empty i {
    font-size: 28px!important;
    margin-bottom: 0px;
}

.memory-empty i {}

.memory-empty-hint {
    font-size: 12px;
}

/* Memory Loading State */
.memory-loading {
    text-align: center;
    padding: 20px;
    color: var(--light-text);
}

/* Memory Toast */
.memory-toast {
    display: flex;
    align-items: center;
    gap: 12px;
}

.memory-toast-icon {
    color: var(--good);
}

.memory-toast-content {
    flex: 1;
}

.memory-toast .toast-action {
    color: var(--good) !important;
    margin-left: 8px;
}

/* Inherited Memories (read-only) */
.memory-inherited {
    opacity: 0.7;
    border-style: dashed;
}

.memory-inherited-label {
    font-size: 10px;
    text-transform: uppercase;
    color: var(--light-text);
    background: var(--bg-color);
    padding: 2px 6px;
    border-radius: var(--border-radius-tiny);
}

/* Memory Importance Badge */
.memory-importance {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 0px 10px;
    border-radius: 3px;
    height: 30px;
    font-size: 12px;
    font-weight: 400;
    background-color: var(--extra-light)!important;
}

.memory-importance i {
    font-size: 13pt;
}

.memory-importance.low {
    background: var(--bg-color);
    color: var(--light-text);
}

.memory-importance.medium {
    background: rgba(var(--warning-rgb), 0.15);
    color: var(--warning);
}

.memory-importance.high {
    background: rgba(var(--good-rgb), 0.15);
    color: var(--good);
}

.memory-importance.critical {
    background: rgba(var(--primary-rgb), 0.15);
    color: var(--primary);
}

/* Memory Scope Badge */
.memory-scope {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 6px;
    border-radius: var(--border-radius-tiny);
    font-size: 10px;
    text-transform: uppercase;
}

.memory-scope.account {
    background: rgba(var(--primary-rgb), 0.1);
    color: var(--primary);
}

.memory-scope.space {
    background: rgba(var(--info-rgb), 0.1);
    color: var(--info);
}

.memory-scope.user {
    background: rgba(var(--good-rgb), 0.1);
    color: var(--good);
}

.memory-scope.project {
    background: rgba(var(--warning-rgb), 0.1);
    color: var(--warning);
}

/* Memory Edit Mode */
.memory-item.editing {
    border-color: var(--primary);
}

.memory-item.editing .memory-item-text {
    display: none;
}

.memory-edit-textarea {
    width: 100%;
    min-height: 60px;
    margin-bottom: 10px;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    font-family: var(--body-font);
    font-size: 14px;
    background-color: var(--white);
}

/* Memory Settings Section */
.memory-settings-section {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    padding: 20px;
    margin-bottom: 20px;
}

.memory-settings-section h6 {
    margin-top: 0;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
}

.memory-settings-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--bg-color);
}

.memory-settings-row:last-child {
    border-bottom: none;
}

.memory-settings-label {
    display: flex;
    flex-direction: column;
}

.memory-settings-label span {
    font-weight: 500;
}

.memory-settings-label small {
    color: var(--light-text);
    font-size: 12px;
}

/* Quota Progress Bar */
.memory-quota-bar {
    width: 100%;
    height: 10px;
    background: var(--background-color);
    border-radius: 1px;
    overflow: hidden;
    margin-top: 20px;
}

.memory-quota-fill {
    height: 100%;
    background: var(--primary);
    transition: width 0.3s ease;
}

.memory-quota-fill.warning {
    background: var(--warning);
}

.memory-quota-fill.danger {
    background: var(--bad);
}


.model-usage-card {
    padding: 12px 20px;
    background-color: var(--background-color);
    /* border-radius: var(--border-radius-tiny); */
    /* border: 1px solid var(--light-border); */
    display: flex;
    justify-content: space-between;
    margin-bottom: 1px;
    width: 100%;
}

.model-usage-stats {
    display: inline-flex;
    gap: 10px;
}

.model-usage-stat {
    min-width: 70px;
    text-align: right;
}

.model-usage-card > div span {
    padding-left: 20px;
}

.model-usage-cards {
    /* display: flex; */
    /* flex-wrap: wrap; */
    gap: 5px;
}
.messages-page .user-list .user > div {
    display: inline-block;
    vertical-align: middle;
}

.messages-page .user-list .user-image
 img {
    width: 100%;
    height: 100%;
}

.messages-page .user-list
 .user {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    font-size: 10pt;
    box-sizing: border-box;
    cursor: pointer;
    
    
    padding: 5px 20px;
    transition: all .1s ease;
}

.messages-page .user-list
 .user:hover, .user-list
 .user.selected {
    background-color: #b1b9bf!important;
    
}

.messages-page .user-list
 .user .user-name {
    text-align: center;
    overflow: hidden;
    font-size: 10pt;
    margin-left: 10px;
}

.messages-page .user-list
 .user:nth-child(5n) {
    margin-right: 0px;
}

.messages-page .user-list
 h5 {
    margin-bottom: 10px;
}
.page-header {
    
    width: 100%;
    padding: 0px;
    
    padding-bottom: 10px!important;
}

.page-header h6 {
    font-family: var(--nothing);
}

.admin-spaces-page .page-header {
    max-width: 100%;
    margin-bottom: 10px!important;
}

.space-settings-page .page-header h4 {
    display: inline-block;
    float: left;
}

.space-settings-page .page-header {
    max-width: 1040px;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.space-settings-page .page-header i {
    font-size: 16pt;
    line-height: 17px;
    margin-top: -3px;
}

.space-settings-page .page-header a {
    float: left;
    text-decoration: none!important;
    padding-top: 7px;
}

.space-settings-page .page-header a i {
    font-size: 18px;
    margin-top: 0px;
}

.schedules-page .page-header {
    max-width: 100%;
}

.page-actions, .sidebar-actions {
    line-height: 50px;
    height: 50px;
    padding-left: 20px;
}

.ai-sidebar .sidebar-actions {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    width: 100%;
    height: 50px;
    text-align: right;
    padding-right: 15px;
    padding-left: 30px;
}

.page-sidebar {
    padding: 0px!important;
    height: calc(100vh - 64px);
    border-right: 1px solid var(--border);
    background-color: var(--white);
}
.sidebar-button {
    height: 61px;
    width: 60px;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    color: #333;
    float: left;
    box-sizing: border-box;
    position: relative;
    line-height: 59px;
    
    top: -1px;
}

.sidebar-button.main {
    background-color: rgba(118, 131, 141, 0.62);
    color: white;
}

.sidebar-button i {
    line-height: 59px;
}
.sidebar-header {
    min-height: 60px;
    position: relative;
    color: var(--primary);
    /* padding-top: 13px; */
    font-family: var(--nothing);
    text-transform: lowercase;
}

.projects-sidebar.thin-sidebar .sidebar-header {
    display: none;
}

.plan-page .sidebar-header {
    /* display: flex; */
    /* align-items: center; */
}

.plan-page .thin-sidebar .sidebar-header {
    visibility: hidden!important;
    opacity: 0!important;
    height: 0px!important;
    min-height: 30px;
}
.sidebar-button:hover {
    background-color: rgba(118, 131, 141, 0.62);
    color: white;
}
.sidebar-title h5 {
	line-height: 40px;
	color: black;
	font-size: 14pt;
}

.sidebar-title {
    padding: 10px 0px 0px 30px;
    cursor: pointer;
    display: inline-block;
    width: calc(100% - 45px);
    height: 50px;
    line-height: 50px;
    font-size: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: top;
    font-weight: 300;
}

.thin-sidebar .sidebar-title {
    display: none;
}

.strategy-page .sidebar-title:hover {
    color: var(--black);
}

.message-items {
    box-sizing: border-box;
    height: calc(100vh - 124px);
    overflow-y: auto;
}

.message-items .message-name {
    padding: 10px 20px;
    width: 100%;
    display: inline-block;
    float: left;
}

.message-items .message-name > span {
    width: 100%;
    display: inline-block;
    line-height: 1.5;
}

.message-item {
    border-bottom: 1px solid lightgrey;
    cursor: pointer;
    display: inline-block;
    width: 100%;
    position: relative;
    margin-bottom: -6px;
}

.message-item:hover .message-updated {
    display: block;
}

.message-item:hover {
    background-color: #dfe2e5;
}

.messages .date-created {
    color: #777;
    font-size: 8pt;
    padding-left: 4px;
}

.message-members li {
    max-width: 25px;
    height: 25px;
    line-height: 25px;
    display: inline-block;
    margin-left: 1px;
    margin-top: 17px!important;
}

.message-members li img {
    border-radius: 50%;
    float: none;
    margin: 0px!important;
}

.message-members li .user-image img {
    border-radius: 50px;
}

.message-items .message-members {
    display: inline-block;
    width: 100%;
    max-width: 50%;
    height: 64px;
    text-align: right;
    vertical-align: top;
    position: absolute;
    right: 20px;
}

.message-item .message-updated-text {
    box-sizing: border-box;
    font-size: 10pt;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.message-item .message-updated {
    text-align: right;
    font-size: 10pt;
    padding-right: 3px;
    top: 10px;
    right: 0px;
    font-style: italic;
    background-color: #dfe2e5;
    display: none;
    padding-left: 20px;
    width: auto!important;
    position: absolute;
}

.icon-emoticon {
    font-size: 14pt;
    color: #293a47;
}

.message-delete-item {
    position: absolute;
    left: -20px;
    top: 0px;
    color: grey;
    cursor: pointer;
    display: none;
}

.message-item-body:hover .message-delete-item {
    display: block;
}

.message-delete-item i {
    font-size: 15pt!important;
    color: lightgrey;
}

img.emoji-img {
  max-width: 19px!important;
  margin-bottom: -4px;
}

.message-emoji-picker {
    float: left;
    width: 30px;
    text-align: center;
    padding-top: 5px;
}

.emoji-picker-container {
    line-height: normal;
}

.message-emoji-picker
 > i {
    margin-right: 0px;
}

.message-emoji-picker .emoji-popover {bottom: 0px!important;left: 35px!important;top: initial!important;width: 100%!important;border: 1px solid #e4e3e3;border-radius: 0px;padding: 0px;}

#createMessage .modal-footer-content {
    display: inline-block;
    width: 100%;
    box-sizing: border-box;
    position: absolute;
    bottom: 0px;
    left: 0px;
}

#pickusers {
    background-color: white;
}

.emoji-popover .emoji-popover-title {
    background-color: #dfe2e5;
    color: black;
    border-radius: 0px;
}

#createMail {max-height: calc(100% - 65px)!important;top: 65px!important;width: 100%!important;max-width: 1280px;}

#createMail .modal-content {
    width: 100%!important;
    
    box-sizing: border-box;
}

.modal-close.top-m-close {
    position: absolute;
    right: 20px;
    top: 20px;
}

#createMail #users {
    margin-top: 61px;
    box-sizing: border-box;
    width: 100%;
}

.user-list .user-item {
    
    border-bottom: 1px solid lightgrey;
    cursor: pointer;
}

.user-list .user-item:hover {
    background-color: lightgrey;
}

.user-list .user-name {
    display: inline-block;
}

.message-footer .textarea-btn {
    position: absolute;
    bottom: 0;
    right: 0px;
    background-color: transparent;
    color: #777;
    box-shadow: none!important;
    width: 40px;
    text-align: right;
}

.message-footer .textarea-btn.btn:nth-child(2n) {
    top: 40px;
}

.message-header-left {
    width: 33%;
    padding: 10px 15px!important;
}

.user-pic {
    height: 30px;
    width: 30px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 1px;
    overflow: hidden;
    
}
.message-header-left {
    width: 33%;
    padding: 10px 15px!important;
    text-align: left;
}
.message-header-right {
    text-align: right;
    
}
.message-header-right ul {
    display: inline-block;
    padding: 0px!important;
    margin: 0px;
}
.message-header-right .message-actions {
    width: 50px;
    float: right;
    display: inline-block;
    text-align: center;
    padding: 15px 0px;
    background-color: #dfe2e5;
    cursor: pointer;
}

.message-subject {
    font-weight: bold;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
}

.mail .message-subject {
    padding-top: 10px;
    color: #0f0f0f;
}

.message-header .user-pic.more-button {
    border: 1px solid lightgrey;
    height: 61px;
    width: 60px;
    text-align: center;
    line-height: 78px;
    background-color: #dfe2e5;
    color: #777;
    cursor: pointer;
    margin-left: 0px;
}
.messages-page .user-list .user > div {
    display: inline-block;
    vertical-align: middle;
}

.messages-page .user-list .user-image
 img {
    width: 100%;
    height: 100%;
}

.messages-page .user-list
 .user {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    font-size: 10pt;
    box-sizing: border-box;
    cursor: pointer;
    
    
    padding: 5px 20px;
    transition: all .1s ease;
}

.messages-page .user-list
 .user:hover, .user-list
 .user.selected {
    background-color: #b1b9bf!important;
    
}

.messages-page .user-list
 .user .user-name {
    text-align: center;
    overflow: hidden;
    font-size: 10pt;
    margin-left: 10px;
}

.messages-page .user-list
 .user:nth-child(5n) {
    margin-right: 0px;
}

.messages-page .user-list
 h5 {
    margin-bottom: 10px;
}

.section-title {
    display: inline-block;
    width: 100%;
    z-index: 9;
    position: relative;
    padding-bottom: 5px;
}

.chat-panel-container .section-title {
    padding-left: 30px;
    text-transform: uppercase;
    color: var(--light-text);
    padding-top: 20px;
    font-size: 10px;
}

.specs .section-title {
    padding-bottom: 0px;
}

.water-bg .section-title, .water-bg .section-title i, .water-bg .section-title .btn.add-new-item, .water-bg .section-title .btn.add-new-item i {
    color: var(--awhite)!important;
}

.portfolios-container .section-title {
    padding-bottom: 10px;
}

.modal-content .user-search input {
    
    
    
    box-sizing: border-box;
}

.message-footer {
    position: absolute;
    bottom: 0px;
    height: 105px;
    width: 100%;
    box-sizing: border-box;
    right: 0px;
    
    border: 10px solid rgba(177, 185, 191, 0.41)!important;
    background-color: white;
    text-align: left;
}

.message-footer .message-actions {
    float: right;
    width: 6%;
    padding: 0px;
}

.message-footer textarea {
    padding: 5px 20px 0px 0px;
    font-size: 11pt!important;
    width: calc(100% - 70px);
    max-width: calc(100% - 70px)!important;
    height: 85px!important;
    max-height: 85px!important;
    border: none;
    overflow: auto;
    outline: none;
    box-sizing: border-box;
}

.message {
    position: relative;
    
    
    
    text-align: left;
    padding: 0px;
}

.messages li {
    padding: 15px 0px 0px 0px;
    display: block;
    width: 100%;
    margin-top: 15px;
    border-top: 1px solid lightgrey;
    text-align: left;
}

.mail .messages li {
    padding: 0px;
}

.messages li:nth-child(2) {
    border-top: none;
    margin-top: 0px;
}

.messages li:first-child {
    margin-top: 0px!important;
    border-top: none;
}

.messages li.sameuser {
    border-top: none;
    padding: 0px;
    min-height: 0px;
    margin-top: 0px;
}

.messages li.sameuser:last-child {
    margin-bottom: 10px;
}

.messages li:last-child {
    border-bottom: none;
}

.messages li .user-image {
    max-width: 50px;
    max-height: 50px;
    overflow: hidden;
    display: inline-block;
    position: absolute;
    float: left;
    margin-left: 15px;
    margin-bottom: 15px;
    border-radius: 2px;
}

.messages li .user-image img {
    width: 100%;
    margin: 0px;
}

.message .message-header {
    position: absolute;
    left: 0px;
    top: 0px;
    height: 60px;
    max-height: 60px;
    background-color: #dfe2e5;
    width: 100%;
    border-bottom: 1px solid lightgrey;
}

.message .message-body {
    position: absolute;
    top: 60px;
    width: 100%;
    height: calc(100vh - 225px);
    overflow: auto;
    background-color: white;
    padding-right: 10px;
}

.messages .message-item-body {
    margin-left: 80px;
    font-size: 11pt;
    position: relative;
    word-break: break-word;
}

.mail .message-item-body {
    padding-right: 20px;
    padding-bottom: 20px;
    padding-top: 20px;
}

.messages .message-item-body img {
    width: auto;
    max-width: 100%;
}

.messages .message-item-body iframe {
    margin-top: 5px;
    margin-bottom: 5px;
    max-width: 100%!important;
}

.messages .message-item-body .user-name {
    font-weight: 600;
}

.mail .messages .message-item-body .user-name {
    margin-bottom: 10px;
}

.message-footer .textarea-btn {
    position: absolute;
    bottom: 0;
    right: 0px;
    background-color: transparent;
    color: #777;
    box-shadow: none!important;
    width: 40px;
    text-align: right;
}

.message-footer .textarea-btn.btn:nth-child(2n) {
    top: 40px;
}

.message-footer .textarea-btn .btn {
    height: 40px;
    background: none!important;
    box-shadow: none!important;
    color: #777;
    display: inline-block;
    width: 40px;
    text-align: center;
    vertical-align: middle;
    padding: 0px;
}

.messages-page .user-list {
    height: calc(100vh - 522px);
    overflow-y: auto;
}

.detail-row i {
    font-size: 15px;
    line-height: 30px;
}

.detail-row span {
    line-height: 30px;
    vertical-align: top;
    padding-left: 5px;
}

.read-status i {
    font-size: 18px;
    line-height: 21px;
    vertical-align: top;
}

.outgoing .read-status i {
    color: var(--awhite);
    margin-right: -4px;
}

.jtsyn-chat-footer textarea {
    padding-top: 19px!important;
    overflow-y: auto!important;
    padding-bottom: 15px!important;
    min-height: 59px!important;
}

body .contact-search input {
    margin-bottom: 0px!important;
    padding: 0px 20px!important;
    border: 1px solid var(--light-border)!important;
    border-radius: 5px!important;
    background-color: var(
    --bgc)!important;
    /* border-top: 1px solid var(--light-border)!important; */
}

body .contact-search input:hover, body .contact-search input:focus {
    background-color: var(--background-color)!important;
}

.chat-panel-container {
    line-height: 25px;
    position: relative;
    
}

.chat-widget-header {
    background-color: var(--white)!important;
}

.chat-panel-container .all-contacts-section .contact-item, .chat-panel-container .all-contacts-section .contact-image {
    align-items: center!important;
}

.intelligence-list {
    /* padding: 0px 15px; */
}

.chat-expanded .chat-panel-container.ng-hide:not(.ng-hide-animate), 
.chat-expanded .chat-footer.ng-hide:not(.ng-hide-animate) {
    display: block!important;
    height: unset!important;
    width: unset!important;
}

html body .chat-expanded .chat-footer.ng-hide:not(.ng-hide-animate) {
    height: 50px!important;
    max-width: 450px;
}

.chat-panel-container .back-button i {
    line-height: unset!important;
    height: auto;
    font-size: 14pt;
}

.chat-panel-container .back-button {
    cursor: pointer;
    margin-top: 20px;
}

.chat-panel-container .chat-profile {
    position: fixed;
    top: 0px;
    background-color: var(--white);
    z-index: 99999999999999999;
    overflow-y: auto;
    width: 100%;
    left: 0px;
    right: 0px;
    bottom: 0px;
}

.chat-panel-container .chat-profile .profile-content {
    padding: 15px 30px;
}

.chat-panel-container .chat-profile .profile-image {
    max-width: 110px;
    float: left;
    margin-right: 15px;
}

.chat-panel-container .chat-profile .profile-info {
    display: inline-block;
    padding-left: 10px;
    line-height: 30px;
}

.chat-panel-container .chat-profile .profile-info i {
    line-height: unset;
    height: auto;
}

.chat-panel-container .chat-profile .profile-name {
    font-size: 15pt;
    margin-bottom: 5px;
    margin-top: 5px;
}

.chat-panel-container .chat-profile .profile-image img {
    border-radius: var(--border-radius-tiny);
}

.chat-contacts-list {
    height: calc(100dvh - 215px);
    overflow-y: auto;
    padding-top: 5px;
    position: relative;
}

.popup-mode .chat-contacts-list {
    height: calc(100dvh - 186px);
}

.chat-contacts-list.display-current-project {
    /* height: calc(100dvh - 214px); */
}

.contact-item {
    display: flex;
    width: 100%;
    padding: 13px 0;
    cursor: pointer;
    user-select: none;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    align-items: start!important;
    /* height: 65px; */
    background-color: var(--white);
    /* box-shadow: var(--box-shadow); */
    /* border-top: 1px solid var(--vborder); */
}

.contact-item:first-child {
    border-top: none;
}

.contact-item.intelligence-conversation {
    /* background-color: var(--background-color); */
    /* border-radius: var(--border-radius-tiny); */
    padding: 12px 0!important;
    margin-bottom: 5px;
    /* box-shadow: var(--box-shadow); */
    /* transition: background-color .4s ease-in-out; */
    height: auto;
    margin-bottom: 0;
    /* border-bottom: 1px solid var(--vborder); */
}

.contact-item.intelligence-conversation.last-in-group {
    border-bottom: var(--light-border);
}

.contact-item.intelligence-conversation.first-in-group {
    /* border-top: 1px solid var(--light-border); */
    border-top: none;
}

.contact-item.intelligence-conversation:hover {
    background-color: var(--hover-item);
}

.contact-item:hover {
    background-color: var(--background-color);
}

.contact-item.selected .contact-details-header-row .contact-name, .contact-item.selected .contact-details-header-row .contact-time, .contact-item.selected .contact-message {
    /* color: var(--primary)!important; */
}

.dark .contact-item.selected {
    background-color: var(--light-white);
}

.dark .contact-item.selected .contact-name {
    color: var(--black);
}

.contact-item .contact-actions {
    flex: 1;
    padding-right: 10px;
}

.intelligence-list .contact-item {
    align-items: start;
    /* border: 1px solid transparent; */
}

.intelligence-list .contact-item.add-new-chat {
    margin-top: 5px;
    padding: 15px 25px;
    border: none;
    /* box-shadow: var(--box-shadow); */
    height: auto;
    /* border-radius: var(--border-radius-tiny); */
    /* border-bottom: 1px solid var(--light-border); */
}

.contact-item.intelligence-conversation.selected {
    /* border-color: var(--primary)!important; */
    background-color: var(--extra-light);
}

.contact-item.intelligence-conversation.selected .contact-message {
    color: var(--black);
}

.dark .intelligence-list .contact-item.intelligence-conversation {
    /* background-color: var(--extra-light); */
}

.dark .intelligence-list .contact-item.intelligence-conversation:hover {
    background-color: var(--background-color)!important;
}

.archived-groups-list .contact-item .contact-actions {
    flex: 1;
}

.archived-groups-list .contact-item .contact-actions .btn {
    margin-right: 15px;
}

.archived-groups-list .contact-item i {
    height: auto;
    line-height: unset;
}

.contact-item .unread-badge {
    /* position: absolute; */
    /* right: 25px; */
    /* top: 20px; */
    border-radius: var(--border-radius-xs);
    display: inline-flex;
    margin-left: 5px;
}

.chat-contacts-list .contact-image img {
    margin-left: 31px!important;
    line-height: normal;
    height: fit-content;
    vertical-align: middle;
}

.all-contacts-section img.lazy-loading {
    align-self: center;
    vertical-align: middle;
}

.project-chat-list .contact-item {
    padding: 15px 30px;
    /* border-top: 1px solid var(--light-border); */
}

.contact-item.current-project-item {
    padding-left: 0px;
    position: fixed;
    bottom: 49px;
    left: 0px;
    border-top: 1px solid var(--light-border);
    border-left: none;
    background-color: var(--white);
    z-index: 9;
}

.contact-item.add-new-chat {
    /* height: 80px; */
    color: var(--primary);
    /* border-bottom: 1px solid var(--light-border); */
    /* border-top: 1px solid var(--light-border); */
    /* border-radius: 4px; */
    /* border-color: transparent; */
    /* transition: all .3s ease-in-out; */
    border-color: transparent;
}

.contact-item.add-new-chat i {
    color: var(--primary)!important;
}

.groups-list .contact-item.add-new-chat {
    /* border-bottom: 1px solid var(--vborder); */
    /* margin-top: 10px; */
}

.dark .contact-item.add-new-chat {
    /* border-color: var(--light-border); */
}

.contact-item.add-new-chat .contact-image {
    width: 50px;
    text-align: center;
}

.chat-special-menu-items .contact-item {
    
    
    padding: 15px 0px;
}

.contact-item.current-project-item:hover {
    background-color: var(--background-color);
}

.add-new-chat:hover, .add-new-chat:hover div, .add-new-chat:hover i {
    color: var(--awhite)!important;
    border-color: var(--awhite);
}

.add-new-chat:hover .jt-ai-word {
    fill: var(--awhite);
}

.add-new-chat:hover .jt-ai-spark {
    fill: var(--awhite);
}

.add-new-chat .ai-icon {
    border: 1px solid var(--primary);
    padding: 2px 0px 2px 4px;
    border-radius: var(--border-radius-tiny)!important;
    height: 30px;
    width: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.add-new-chat:hover {
    background-color: var(--primary);
    /* border-color: var(--good)!important; */
}

.contact-image img {
    width: 25px;
    min-width: 25px;
    height: 25px;
    margin-left: 30px;
    margin-right: 15px;
    border-radius: var(--border-radius-xs);
    overflow: hidden;
    text-align: center;
}

.chat-header .contact-image img {
    margin-left: 0px;
    width: 20px!important;
    height: 20px!important;
    min-width: 20px;
    line-height: 50px!important;
    margin-right: 10px!important;
    margin-top: 0px!important;
}

.chat-header .back-button i {
    color: var(--black);
    font-size: 18px;
}

.chat-header .back-button:hover i {
    color: var(--primary);
}

.contact-details, .contact-content {
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
    overflow: hidden;
    width: 100%;
}

.contact-content {
    align-items: center!important;
}

.intelligence-conversation .contact-content {
    white-space: normal;
}

.intelligence-list .contact-image.ai-btn {
    display: none!important;
}

.intelligence-list .contact-details {
    padding-left: 25px;
    padding-right: 25px;
    max-width: 100%;
    display: flex;
    gap: 15px;
}

.intelligence-list .add-new-chat .contact-details {
    align-items: center;
    border: none;
    border-radius: var(--border-radius-tiny);
    padding-left: 0px;
    padding-right: 0;
    gap: 10px;
}

.intelligence-list .add-new-chat .contact-details svg {
    max-width: 40px;
}

.intelligence-list .add-new-chat .contact-details .ai-image i {
    line-height: 48px!important;
}

.intelligence-list .contact-details .ai-image {
    width: 25px;
    padding-right: 5px;
}

.intelligence-list .add-new-chat .contact-details .ai-image {
    width: auto;
}

.intelligence-list .contact-details .ai-image img {
    width: 22px!important;
    height: 22px!important;
}

.intelligence-list .current-project-item .contact-details {
    padding-left: 0px;
}

.project-chat-list .contact-details {
    max-width: 100%;
}

.contact-message {line-height: normal;font-size: 12px;color: var(--light-text);width: 100%;max-width: 94%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}

.add-new-chat .contact-message {
    color: var(--black);
}

.intelligence-list .contact-message {
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    line-height: 18px;
    padding-top: 0px;
}

.intelligence-list .current-project-item .contact-message, .intelligence-list .add-new-chat .contact-message {
    padding-left: 0;
}

.contact-search {
    /* border-bottom: 1px solid var(--light-border); */
    width: 100%;
    position: relative;
    padding: 0;
    margin-bottom: 0px;
    background-color: var(--white);
    /* border-bottom: 1px solid var(--light-border); */
    border-radius: 0;
}

.chat-menu-container .contact-search {
    /* border-bottom: none; */
    padding: 0 25px;
}

.contact-search input {
    height: 50px!important;
    line-height: 50px!important;
    background-color: var(--background-color)!important;
    border-radius: var(--border-radius-tiny)!important;
    border: 1px solid var(--light-border)!important;
}

.contact-search .btn {
    position: absolute;
    right: 0px;
    top: 0px;
    height: 50px;
    line-height: 50px;
    width: 50px;
    text-align: center;
    padding: 0px;
    margin-right: 19px;
}

.btn.btn-transparent.btn-search-clear {
    right: 30px;
}

.contact-search .btn i {
    line-height: 50px;
    height: 50px;
}

.contact-search .btn i.active {
    color: var(--orange)!important;
}

.contact-time {
    font-size: 11px;
    text-align: right;
    float: right;
    /* width: 100%; */
    padding-right: 30px;
    padding-left: 10px;
    margin-top: 4px;
}

.contact-item .contact-time {
    margin-top: 0;
    line-height: 19px;
}

.project-chat-list .contact-item .contact-time {
    min-width: 80px;
    height: 20px;
}

.chat-header {
    display: flex;
    align-items: center;
    height: 50px;
    line-height: 50px;
    position: relative;
    padding-left: 5px;
    padding-right: 10px;
    border-bottom: 1px solid var(--light-border);
    background-color: var(--white);
}

.chat-expanded .chat-header {position: absolute;top: 0px;height: 50px;bottom: unset;right: 0;z-index: 99999;background-color: transparent;width: calc(100vw - 379px);padding-left: 15px;border: none;border-bottom: 1px solid var(--light-border);}

.chat-expanded .show-threaded-reply .chat-header {
    max-width: calc(100% - 869px);
    right: unset;
    left: 449px;
}

.chat-header .contact-image {
    height: 50px!important;
    line-height: 50px!important;
    min-width: 30px;
    display: flex;
    align-items: center;
    position: relative;
}

.contact-image.ai-btn {
    display: none;
}

.chat-header .contact-image img {
    line-height: 50px!important;
}

.chat-header .contact-image .lazy-image-wrapper {height: 50px;align-items: center;display: inline-flex;}

.chat-header .back-button {
    width: 50px;
    min-width: 50px;
    max-height: 50px;
    line-height: 50px;
    text-align: center;
    cursor: pointer;
}

.chat-expanded .chat-header .back-button {
    display: none;
}

.chat-header .back-button i {
    line-height: 50px!important;
    height: 50px!important;
    user-select: none;
}

.jtsyn-chat-widget-header .ta-left.col {
    padding-left: 30px!important;
    height: 50px;
    line-height: 50px;
}

.jtsyn-chat-widget-header .ta-left.col h5 {
    margin: 0!important;
}

.chat-messages .message-text {
    width: 100%;
    margin-bottom: 1px;
    overflow-wrap: anywhere;
    line-height: 24px;
    min-height: 24px;
}

.chat-messages .message-text {
    background-color: transparent;
    padding: 0px;
    /* padding-left: 41px; */
    /* font-size: 13px; */
    border-radius: var(--border-radius-xs);
}

.chat-messages .message-text > .mention-pill.mention-user {
    margin-left: 0px;
}

nav .chat-message .message-text.ai-message {white-space: normal;}

.chat-message.private-ai-message .message-text {
    padding-left: 0;
}

.chat-messages .message-text img {
    /* box-shadow: var(--box-shadow); */
    margin: 0 0 5px!important;
    display: block;
    width: auto;
}

.chat-messages .message-text img:hover {
    box-shadow: var(--box-shadow);
}

.intelligence-chat .chat-messages .message-text {
    
    line-height: 25px!important;
}

.project-intelligence-page .intelligence-chat .chat-messages .message-text {
    margin-top: 5px;
}

.intelligence-chat .chat-message.received .message-text {
    
    background-color: transparent;
}

.chat-expanded .intelligence-chat .chat-messages .message-content-wrapper:hover .message-text > div {
    background-color: var(--background-color);
}

.dark .chat-expanded .intelligence-chat .chat-messages .message-content-wrapper:hover .message-text > div {
    background-color: var(--extra-light);
}

.dark .chat-expanded .simple-chat .intelligence-chat .chat-messages .message-content-wrapper:hover .message-text > div {
    background-color: transparent!important;
}

.intelligence-chat .chat-messages .message-text img {
    width: auto;
}

.intelligence-chat .chat-messages .message-text h3 {
    font-size: 18px!important;
    font-weight: 600;
}

.chat-messages .message-text a {
    font-size: unset;
}

.chat-messages .sent .message-text {
    float: right;
    width: auto!important;
    max-width: 100%;
    white-space: break-spaces;
    position: relative;
    overflow: hidden;
}

.chat-messages .message-group .sent .message-text {
    float: left;
}

.chat-messages .sent .message-text a {
    overflow: auto;
    white-space: unset;
    word-break: break-word;
    overflow-wrap: anywhere;
    white-space: normal;
    padding: 0px;
    font-size: unset;
    display: inline-flex;
}

.chat-messages .sent {
    justify-content: end;
}

.chat-message.first-sent {margin-top: 20px;}

.chat-messages .message-group .chat-message.first-sent:first-child{
    margin-top: 0px!important;
}

.intelligence-chat .chat-message.first-sent {
    /* margin-bottom: 5px!important; */
    margin-top: 5px;
}

.intelligence-chat .chat-message.first-sent.received {
    margin-bottom: 40px!important;
    /* background-color: var(--white); */
    /* margin-top: -5px!important; */
    /* padding-top: 30px; */
}

.dark .intelligence-chat .chat-message.first-sent.received {
    /* background-color: var(--extra-light); */
}

.intelligence-chat .chat-message.first-sent.received:last-child {
    margin-bottom: 0px!important;
}

.chat-messages .chat-message.sent:first-child {margin-top: 20px!important;}

.chat-messages .sent .message-time {
    display: inline-block;
    width: 100%;
    float: none;
    
    padding-left: 34px;
    cursor: pointer;
    user-select: none;
}

.group-chat .chat-messages .sent .message-time, .project-chat .chat-messages .sent .message-time {
    text-align: left;
    padding-left: 30px;
}

.chat-special-menu-items .contact-item .contact-image, .project-chat-list .contact-item .contact-image, .chat-contacts-list .contact-item .contact-image {
    width: 70px;
    min-width: 70px;
    text-align: right;
    padding-right: 11px;
}

.chat-contacts-list .contact-item .contact-image {
    position: relative;
}

.chat-contacts-list .contact-item.current-project-item .contact-image {
    padding-top: 0;
}

.contact-image i {
    height: 35px;
    line-height: 35px;
    width: 35px;
}

.contact-item .contact-image i {
    color: var(--icon-color);
    margin-left: auto;
    width: 34px!important;
}

.contact-item .contact-image .group-visibility-badge i {
    line-height: 14px!important;
    height: 13px!important;
    width: 13px!important;
    font-weight: bold;
    margin-left: -2px;
    color: var(--icon-color)!important;
}

.project-chat-list .contact-item i {
    color: var(--black);
}

.chat-actions {
    margin-left: auto;
    padding-right: 0px;
    padding-left: 5px;
    min-width: 100px;
}

.general-header .chat-actions.right {
    min-width: 80px;
}

.thread-header .chat-actions {
    padding-right: 0px!important;
}

.chat-header .chat-actions .btn, .chat-header .chat-actions i {
    height: 50px!important;
    line-height: 50px!important;
    color: var(--icon-color)!important;
    font-size: 17px!important;
    vertical-align: top;
}

.chat-header .chat-actions .btn {
    margin-left: auto;
}

.chat-header .chat-actions .btn:last-child {
}

.thread-header .chat-actions .btn, .thread-header .chat-actions i {
    height: 50px!important;
    line-height: 50px!important;
}

.nav-sidebar.opened .chat-widget-content .chat-panel-container .active-chat-view .chat-input {
    border-top: 1px solid var(--light-border)!important;
    max-width: 100%;
}

.nav-sidebar.opened .chat-widget-content .chat-panel-container .active-chat-view .chat-input textarea {
    max-width: 740px!important;
    margin: 0px auto!important;
    display: block;
}

.nav-sidebar .active-chat-view .message-group i {
    line-height: unset!important;
    height: auto!important;
    user-select: none;
}

.visibility-toggle-btn i {
    color: var(--primary)!important;
}

.reply-count i {
    color: var(--primary);
}

.message-action-btn i {
    color: var(--icon-color)!important;
    
}

.message-action-btn:hover i {
    color: var(--primary)!important;
}

.message-action-btn:hover {
    background-color: transparent!important;
}

.toast.chat-notification-toast {
    padding: 0px 20px!important;
    min-height: 50px;
    background-color: var(--xwhite)!important;
}

.toast.chat-notification-toast button {
    height: 50px;
    background-color: transparent;
    line-height: 50px;
    padding: 0px 20px!important;
    margin: 0px!important;
    margin-left: 20px!important;
}

.toast.chat-notification-toast button:hover {
    background-color: transparent;
}

.toast.chat-notification-toast button i {
    padding: 0px!important;
    height: 50px;
}

.toast.chat-notification-toast .btn {
    height: 50px;
    line-height: 50px;
}

.group-settings-modal {
    padding: 0;
    line-height: normal;
    left: unset;
    background-color: var(--white);
    width: 100%;
    z-index: 99999999999999;
    position: relative;
}

.intelligence-settings-modal .sub-text i {
    height: 30px;
    line-height: 28px!important;
}

.chat-expanded .group-settings-modal {
    padding: 5px 0px;
    border-right: 1px solid var(--light-border);
}

.chat-expanded .group-settings-modal .modal-footer {
    /* padding-right: 0px!important; */
    /* border-top: none; */
}

.group-settings-modal .modal-content {
    width: 100%;
    background-color: transparent!important;
    padding: 0px 0px!important;
    box-shadow: none!important;
    margin: 0!important;
    max-width: 100%!important;
    height: calc(100dvh - 128px);
    overflow-y: auto;
    position: relative;
    padding-bottom: 20px;
    width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 100%;
}

.group-settings-modal .modal-body .text-field .dropdown-selector {
    display: inline-flex;
    width: 100%;
    gap: 10px;
}

.group-settings-modal .modal-header, .group-settings-modal .modal-body, .group-settings-modal .modal-footer {
    padding: 0px 30px;
    max-width: 900px;
    width: 100%;
    margin: 0px auto;
    display: block;
}

.group-settings-modal .modal-body {
    margin-top: 0px!important;
}

.chat-expanded .group-settings-modal .modal-body {
    margin-left: 0px;
    margin-right: 0px;
    width: 100%!important;
    max-width: 100%;
}

.group-settings-modal .modal-body > div, .group-settings-modal .modal-footer {
    max-width: 900px;
    margin: 0px auto;
    position: relative;
}

.group-settings-modal .modal-footer {
    padding: 0 30px;
}

.group-settings-modal .modal-body .invite-users-search {
    max-width: 900px;
    
}

.group-creation-modal .btn i {
    line-height: 36px!important;
    height: 36px!important;
    font-size: 20px;
}

.group-creation-modal .modal-content {
    border-radius: 8px;
    width: 100%;
    max-height: calc(100dvh - 64px);
    overflow-y: auto;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transform: translateZ(0); 
    backface-visibility: hidden; 
    padding: 0px 40px;
    background-color: var(--white)!important;
}

.group-creation-modal .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0px;
}

.group-creation-modal .modal-header h5 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

.group-creation-modal .modal-footer {
    padding: 16px 0px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.group-creation-modal .modal-footer .btn:last-child {
    padding-right: 0px!important;
}

.group-creation-modal .input-field {
    margin-bottom: 20px;
}

.group-creation-modal .input-field label {
    display: block;
    margin-bottom: 6px;
    font-weight: 500;
    color: #333;
}

.group-creation-modal .input-field input,
.group-creation-modal .input-field textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d0d0d0;
    border-radius: 4px;
    font-size: 14px;
    box-sizing: border-box;
}

.group-creation-modal .input-field input:focus,
.group-creation-modal .input-field textarea:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

.group-creation-modal .input-field textarea {
    resize: vertical;
    min-height: 60px;
}

.visibility-section {
    margin-bottom: 20px;
}

.visibility-section label {
    display: block;
    margin-bottom: 12px;
    font-weight: 500;
    color: #333;
}

.visibility-options label.selected {
    border: 1px solid var(--primary);
}

.visibility-options {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.radio-option {
    display: block!important;
    padding: 12px;
    border: 1px solid var(--light-border);
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.2s;
}

.radio-option:hover {
    border-color: var(--primary);
}

.radio-option input[type="radio"] {
    margin-right: 12px;
    margin-top: 2px;
}

.option-details .option-title {
    font-weight: 500;
    margin-bottom: 4px;
}

.option-details .option-description {
    font-size: 12px;
    color: #666;
}

.invite-section {
    margin-bottom: 20px;
}

.invite-section label {
    display: block;
    margin-bottom: 12px;
    font-weight: 500;
    color: #333;
}

.invite-users-list {
    
    
    width: 100%;
    padding-top: 50px;
}

.invite-user-item {
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.2s;
}

.invite-user-item:last-child {
    border-bottom: none;
}

.user-checkbox input[type="checkbox"] {
    pointer-events: none;
}

.user-image img {
    width: 25px;
    height: 25px;
    border-radius: var(--border-radius-tiny);
    object-fit: cover;
}

.selected-users {
    margin-top: 20px;
    padding: 0px 15px;
}

.selected-count {
    font-size: 12px;
}

.group-visibility-badge {
    position: absolute;
    right: 16px;
    bottom: 3px;
    background-color: var(--white);
    border-radius: 60%;
    width: 13px;
    height: 14px;
    line-height: 14px;
    text-align: center;
}

.contact-item:hover .group-visibility-badge {
    background-color: var(--extra-light);
}

.group-visibility-badge i {
    color: var(--primary)!important;
}

.message-sender {
    font-size: 11px;
    font-weight: 600;
    color: #666;
    margin-bottom: 2px;
    
    
}

@media (max-width: 768px) {
    .group-creation-modal .modal-content {
        width: 95%;
        margin: 20px;
    }
    
    .group-creation-modal .modal-body {
        padding: 16px;
    }
    
    .group-creation-modal .modal-header {
        padding: 16px;
    }
    
    .group-creation-modal .modal-footer {
        padding: 12px 16px;
    }
}

.group-creation-modal .text-field {
    margin-bottom: 30px;
}

.member-item {
    padding: 0px 0px;
    height: 60px;
    line-height: 20px;
    display: flex;
    width: 100%;
    align-items: center;
    border: 1px solid var(--light-border);
    margin-top: -1px;
}

.member-item:first-child {
    border-radius: 5px 5px 0 0;
}

.member-item:last-child {
    border-radius: 0 0 5px 5px;
}

.member-item .user-role {
    font-size: 9pt;
    text-transform: capitalize;
    color: var(--light-text);
}

.member-actions .btn, .member-actions .btn i {
    height: 50px!important;
    line-height: 50px!important;
}

.member-actions .btn:last-child {
    padding-right: 10px!important;
    float: right;
}

.member-actions {
    margin-left: auto;
    width: 50px;
}

.modal-footer {
    display: inline-block;
    height: 50px;
    line-height: 50px;
    width: 100%;
    text-align: right;
    padding: 0px;
    margin-bottom: 10px!important;
    margin-top: 20px!important;
}

.add-members-button .btn, .add-members-button .btn i {
    height: 34px!important;
    line-height: 34px!important;
    float: right;
    text-align: center;
    padding-right: 2px!important;
    margin-top: -2px;
}

.chat-profile .profile-content {
    padding: 40px;
    height: calc(100dvh - 184px);
    overflow-y: auto;
}

.chat-profile .profile-content .profile-image {
    max-width: 190px;
}

.chat-profile .profile-content i {
    line-height: 2;
    height: auto!important;
    vertical-align: top;
}

.chat-profile .profile-content .profile-image img {
    border-radius: var(--border-radius-tiny);
}

.chat-widget-container .chat-profile {
    margin-top: -50px!important;
}

.group-management-actions .btn i {
    color: var(--black)!important;
    line-height: 39px!important;
    height: 39px!important;
}

.group-management-actions .btn.warning i {
    color: var(--warning)!important;
}

.group-management-actions .btn.warning:hover, .dark .group-management-actions .btn.warning:hover {
    background-color: var(--warning)!important;
    border-color: var(--warning)!important;
}

.intelligence-settings-panel .settings-content {
    padding: 0px 40px;
    line-height: normal;
}

.group-settings-modal li {
    padding: 0px!important;
}

.chat-messages-container.ql-editor {
    padding-top: 0px;
    padding-bottom: 0px;
}

.chat-expanded .simple-chat .chat-messages-container, .chat-expanded .intelligence-chat .chat-messages-container {
    max-width: 860px;
    margin: 0 auto;
}

.chat-messages-container.ql-editor > .chat-date-divider:first-child {
    margin-top: 0px!important;
}

.project-context-indicator {
    position: absolute;
    right: 30px;
    top: 30px;
}

.project-context-indicator i {
    font-size: 11pt;
    font-weight: bold;
    color: var(--light-text)!important;
}

.project-context-badge i {
    font-size: 11pt;
    float: left;
    margin-right: 5px;
    
    
    margin-left: 0px;
}

.web-search-badge {
    font-size: 9pt;
    color: var(--primary);
    user-select: none;
    
    
    padding: 4px 0px;
    
    padding-left: 29px;
}

.web-search-badge i {
    font-size: 11pt;
    float: left;
    margin-right: 5px;
    font-weight: bold;
    color: var(--primary)!important;
    margin-left: 0px;
}

.chat-messages .message-text li {
    width: 100%;
}

.chat-messages .message-text a {
    color: var(--primary)!important;
    background-color: transparent!important;
    padding: 0px;
    font-weight: 500;
    line-height: 23px;
}

a.context-link {
    display: inline-block;
    color: var(--primary)!important;
    padding: 0px;
    font-size: unset;
    font-weight: 500;
}

.project-mismatch-indicator {
    color: var(--warning);
    font-style: italic;
    font-size: 8pt;
    margin-left: 5px;
    opacity: 0.8;
}

.chat-footer .ai-btn .openai-logo {
    margin-top: 15px;
    width: 15px;
    height: 15px;
}

.chat-expanded .jtsyn-chat-widget-header, .chat-expanded .chat-panel-container, .chat-expanded .chat-footer {
    border-right: 1px solid var(--light-border);
    margin-right: 0px;
}

.chat-expanded .jtsyn-chat-widget-header {
    margin-right: -1px;
}

.jtsyn-chat-widget-header {
    display: block;
    height: 50px;
    border-right: none;
    background-color: var(--white);
}

.chat-expanded .chat-editor-container {
    position: absolute;
    max-width: calc(100% - 500px);
    width: 100%;
    top: 0px;
    left: unset;
}

.chat-expanded .chat-menu-container {
    max-width: 450px;
    width: 100%;
    display: inline-block;
    float: left;
    /* background-color: var(--light-white); */
    height: calc(100dvh - 64px);
}

.popup-mode .chat-expanded .chat-menu-container {height: 100dvh;}

.chat-expanded .general-header.row.ng-hide:not(.ng-hide-animate) {
    display: block!important;
    width: unset!important;
    height: unset!important;
}

.chat-expanded .chat-profile .back-button {
    display: inline-block!important;
    margin-left: -10px;
}

.emoji-char-large {
    font-size: 1.2em;
}

.intelligence-list .contact-time {
    float: left;
    display: inline-block;
    text-align: left;
    width: auto;
    padding-right: 5px;
    line-height: 24px;
    
}

.chat-settings-panel.general-settings {
    max-width: 100%;
    border-left: 1px solid var(--light-border);
    height: calc(100dvh - 116px);
    overflow-y: auto;
    
}

.message-text img {
    /* box-shadow: var(--box-shadow); */
    cursor: pointer;
    width: auto;
    max-width: 100%;
}

.message-text a.uploaded-file {
    padding: 0px 10px!important;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-xs);
    line-height: 20px!important;
    /* height: 30px; */
    margin-bottom: 5px;
    font-size: 13px!important;
    font-weight: 300;
    background-color: var(--white);
    transition: none;
    overflow: hidden;
    color: var(--primary)!important;
    display: inline-flex;
    align-items: center;
}

.message-text .uploaded-file:hover {
    background-color: var(--primary)!important;
    color: var(--awhite)!important;
    text-decoration: none;
    /* user-select: none; */
    border-color: var(--primary);
}

.message-text .uploaded-file span {
    line-height: 30px!important;
    height: 30px!important;
    vertical-align: top;
    margin-right: 10px;
    font-size: 15px;
}

.chat-editor-container i {
    line-height: normal!important;
    height: auto!important;
}

.message-reactions-container {
    display: flex;
    margin-bottom: 5px;
    font-size: 9pt!important;
    padding-left: 0px;
}

.private-ai-message .message-reactions-container {
    padding-left: 0;
}

.private-ai-message .message-reactions-container .reaction-item {background-color: var(--background-color);}

.thread-content .message-reactions-container {padding: 0;}

.message-reactions-container span {
    font-size: 8.5pt;
}

.message-reactions-container .reaction-emoji {
    font-size: 15px;
}

.thread-content img {
    max-width: 100%!important;
    max-height: unset!important;
    width: auto;
}

.reply-text li {
    width: 100%;
}

.message-sender-timestamp {
    font-size: 8pt;
    font-weight: 300;
    color: var(--light-text);
    padding-left: 6px;
}

.people-list .recent-list {
    /* border-bottom: 1px solid var(--light-border); */
}

.image-lightbox-btn {
    max-width: 50px;
}

.chat-menu-container {
    position: relative;
    height: calc(100dvh - 64px);
}

.chat-list-view-title i {
    line-height: 60px!important;
    height: 60px!important;
    display: inline-block;
    float: left;
    margin-right: 10px;
}

.chat-list-view-title {
    display: none;
    float: left;
}

.popup-mode .chat-list-view-title {
    display: inline-block!important;
}

.chat-list-view-title i {
    color: var(--black)!important;
}

.chat-list-view-title:hover i {
    color: var(--primary)!important;
}

.chat-editor-container {
    position: absolute;
    top: 0px;
    left: 0;
    right: 0;
    bottom: 0;
}

.session-notice.notice {
    display: flex;
    gap: 10px;
    padding: 20px!important;
    margin-bottom: 20px!important;
    line-height: 20px;
    border: 1px solid var(--highlight);
    background-color: var(--highlight);
}

.session-notice.notice a {
    padding: 0;
}

.thread-content .parent-message-image {
    max-width: 30px;
}
.upload-frame {
    display: none;
}

body .cke_toolbar {
    display: inline-block!important;
}

body .cke_toolbar_break {
    display: none;
}

.post-bottom-bar .post-meta {
    display: inline-block;
}

.post-bottom-bar .post-meta .btn-transparent {
    padding-left: 5px!important;
    text-transform: initial;
    padding-right: 10px;
}

.post-bottom-bar {
    font-size: 10pt;
}

.create-new-post .btn-transparent {
    padding-right: 0px;
    text-transform: initial;
}

body .cke {
    border: none!important;
    
    
    
    
}

body .cke_top {
    border: none!important;
    padding-left: 0px;
}

.dark body .cke_top {
    
    padding: 0px;
}

body .cke_bottom {
    border: none;
    display: none;
}

body a.cke_button {
    cursor: pointer!important;
}

body a.cke_button.cke_button_on {
    border-color: var(--primary);
    background-color: transparent;
}

body .cke_1 .cke_button_on {
    background-color: var(--extra-light);
    border-color: transparent;
}

.dark body .cke_1 .cke_button_on {
    background-color: var(--white);
}

body .cke_contents {background-color: transparent!important;}

body .mail-app .cke_contents {
    height: unset!important;
}

.listing-item {
    padding: 35px!important;
    background-color: var(--white)!important;
    border-radius: var(--border-radius-tiny);
    position: relative;
    transition: all .3s ease-in-out;
    max-width: 720px;
    margin: 0px auto 30px!important;
    box-shadow: 0px 1px 2px var(--shadow);
}

.single-post-listing-items.announcement {
    padding: 50px!important;
    height: calc(100dvh - 64px);
    overflow-y: auto;
}

.thread-continuation .listing-item:last-child {
    margin-bottom: 35px!important;
}

.thread-continuation .ai-thread-card:last-child .listing-item.thread-item {
    margin-bottom: 5px!important;
}

.listing-item.ng-scope.archived {
    background-color: var(--extra-light)!important;
}

.archived-comments .listing-item {
    background-color: var(--extra-light)!important;
    border: 1px solid var(--border);
    box-shadow: none;
}

.image-annotations .listing-item {
    border-radius: 0px;
    border: none;
    border-bottom: 1px solid var(--border);
    box-shadow: none;
    margin-bottom: 0px!important;
}

.meta-panel .panel-comments .listing-item {
    border: 1px solid var(--border);
    box-shadow: none;
}

.listing-item:hover .btn.go-to-post {
    opacity: 1;
    visibility: visible;
}

.listing-author-img img {
    border-radius: 10px;
    
    
    
}

.listing-comment .listing-author-img img {
    position: relative;
    float: left;
    top: 0px;
    left: 0px;
    display: inline-block;
    width: 40px;
    height: 40px;
}

.posts-create {
    margin-bottom: 30px;
    padding: 30px;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    box-shadow: 0px 1px 2px var(--shadow);
    max-width: 720px;
    margin: 10px auto 30px;
    min-height: 170px;
    width: 100%;
}

.listing-author-info {
    text-align: right;
    display: inline-block;
    float: right;
}

.post-creator input {
    background-color: var(--xwhite);
    padding-left: 0px;
    font-size: 14pt;
    margin-bottom: 0px!important;
}

.post-creator .text-field {
    margin-bottom: 5px!important;
}

.listing-title .title {
    font-size: 14pt;
    color: var(--primary);
}

.edit-post-actions .listing-action {
    font-size: 10pt;
    
    margin-right: 0px;
    padding-left: 20px;
    padding-right: 20px;
    height: 46px!important;
    max-height: 46px!important;
    line-height: 46px!important;
    min-height: 46px;
}

.listing-action.disabled:hover {
    background-color: transparent!important;
}

.dropdown-content .listing-action.disabled {
    color: var(--primary);
}

.edit-post-actions .listing-action i {
    font-size: 14pt;
    padding-right: 0px;
    margin-right: 5px;
}

.listing-actions .listing-action {
    font-size: 12px;
    display: inline-block;
    padding-right: 10px;
    margin-right: 0px;
    position: relative;
    user-select: none;
    vertical-align: middle;
    line-height: 20px;
}

.listing-actions .listing-action .like-num {
    vertical-align: top;
    user-select: none;
    margin-top: 2px;
}

.listing-actions .listing-action i {
    font-size: 12pt;
    padding-right: 6px;
    margin-right: 0px;
    vertical-align: middle;
    line-height: 20px;
}

.comment .post-reactions .listing-actions .listing-action i {
    font-size: 14px!important;
}

.comment .post-reactions .listing-actions .listing-action {
    font-size: 9pt!important;
    font-weight: 400;
}

.listing-actions {
    margin-top: 10px;
    color: var(--icon-color);
}

.listing-actions .wrapper {
    padding-top: 3px!important;
    margin-bottom: -5px;
}

.listing-actions-meta {
    font-size: 10pt;
    color: var(--icon-color);
    position: relative;
}

.listing-actions-meta .reaction-totals .like-num {
    margin-top: 1px;
    margin-bottom: 10px;
}

.listing-actions-meta i {
    font-size: 14pt;
    margin-right: 5px;
}

.like-details span {
    display: inline-block;
    font-size: 14pt;
    margin-bottom: 5px;
}

.listing-action-meta .reaction-totals .like-num {
    margin-top: 5px!important;
}

.like-name > div {
    margin-right: 25px;
    
    
}

.listing-action {
    cursor: pointer;
    display: inline-block;
    margin-right: 10px;
    color: var(--icon-color);
    font-size: 9pt;
}

.listing-action i {
    font-size: 14pt;
    margin-right: 10px;
}

.listing-actions.row .listing-action:hover, .listing-actions.row .listing-action:hover i {
    color: var(--highlight)!important;
}

.edit-post-actions {
    text-align: right;
    height: 30px;
    vertical-align: middle;
    line-height: 30px;
    position: relative;
    margin-right: -20px;
    display: flex;
    justify-content: end;
}

.listing-item-header .edit-post-actions {
    margin-right: -10px;
}

.spec-overview .edit-post-actions {
    padding-right: 45px;
}

.edit-post-actions .dropdown-content.edrop {
    opacity: 1;
    display: block!important;
}

.edit-post-actions .dropdown-content.edrop.ng-hide {
    display: none!important;
}

.edit-post-actions i {
    line-height: 30px!important;
    height: 30px!important;
    text-align: center;
    margin-right: 0px!important;
}

.edit-post-actions > div {
    vertical-align: top;
    color: var(--black)!important;
}

.edit-post-actions .btn {
    height: 30px!important;
    line-height: 30px!important;
    width: 40px;
    text-align: center;
    padding: 0px!important;
    vertical-align: top;
    
    transition: opacity .4s ease-in-out;
}

.notes-container .edit-post-actions .btn {
    padding: 0px!important;
    line-height: 30px!important;
    height: 30px!important;
    width: 40px!important;
}

.notes-container .edit-post-actions .btn i {
    color: var(--light-text)!important;
}

.notes-container .edit-post-actions .btn:hover i {
    color: var(--primary)!important;
}

.ai-convo .btn.btn-transparent.delete-message {
    padding-right: 5px!important;
    opacity: 0;
    visibility: hidden;
}

.ai-convo:hover .btn.btn-transparent.delete-message {
    opacity: 1;
    visibility: visible;
}

.single-post .edit-post-actions .btn {
    opacity: 1;
}

.single-post .edit-post-actions .btn:hover span {
    color: var(--primary)!important;
}

.ai-convo:hover .edit-post-actions .btn {
    opacity: 1;
}

.ai-convo .edit-post-actions .btn i {
    color: var(--light-text);
}

.edit-post-actions .btn i {
    line-height: 30px!important;
}

.announcement .edit-post-actions .btn i {
    margin-right: 0!important;
}

.edit-post-actions .listing-action:last-child {
    margin-right: 0px;
}

.listing-description {
    padding-top: 20px!important;
    padding-bottom: 10px!important;
    color: var(--dark);
    word-break: break-word;
    padding-left: 30px!important;
    padding-right: 30px!important;
    display: inline-block;
    width: 100%;
}

.comments-text-editor-author {
    max-width: 35px;
    display: inline-block;
    float: left;
    min-width: 35px;
    margin-right: 5px;
}

.comments-text-editor-author > div {
    width: 35px;
    height: 35px;
}

.comments-text-editor-author img {
    border-radius: 10px;
}

.listing-comments {
    padding-top: 30px;
    
    font-size: 10pt;
    
    
}

.comments-text-editor-textarea {
    display: inline-block;
    width: calc(100% - 50px);
    margin-left: 0px;
    margin-top: 0px!important;
    padding-right: 0px;
}

.comments-text-editor-textarea .content-editable {
    width: 100%!important;
}

.meta-panel .content-editable {
    background-color: transparent!important;
    border: 1px solid var(--border);
}

.comments-text-editor-textarea textarea {
    border-radius: 5px!important;
    min-height: 50px!important;
    
    
    padding-left: 20px!important;
    padding-right: 20px!important;
    max-height: 500px;
    box-sizing: border-box!important;
    height: 40px;
    border: none!important;
    box-shadow: none!important;
    margin-bottom: 0px!important;
    background-color: var(--extra-light)!important;
}

.listing-author-comment {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 1px;
    font-size: 10pt;
    line-height: 1.5;
    vertical-align: top;
}

.listing-author-comment span {
    background-color: transparent!important;
}

.listing-author-comment > .listing-author-comment {
    /* white-space: break-spaces; */
    color: var(--black);
}

.notes-container .listing-author-comment > .listing-author-comment {
    white-space: normal;
}

.listing-author-comment > .listing-author-comment em {
    line-height: unset;
    font-size: 13px;
}

body .delete-comment {
    position: absolute;
    right: 0px;
    top: 0px;
    color: var(--warning);
    opacity: 0;
    cursor: pointer;
}

body .delete-comment i:hover {
    color: var(--warning)!important;
}

.listing-comment:hover > .delete-comment {
    opacity: 1;
    transition: all .3s ease-in-out;
}

.delete-comment i {
    font-size: 13pt!important;
}

.delete-comment:hover i {
    color: var(--warning);
}

.listing-comment {
    position: relative;
    margin-bottom: 15px!important;
    width: 100%;
}

.listing-comment:last-child {
    margin-bottom: 0px!important;
}

.listing-comment-author {
    display: inline-block;
    float: left;
    width: 50px;
    z-index: 9;
    position: relative;
}

.listing-comment-body {
    display: inline-block;
    width: calc(100% - 50px);
    margin-left: 0px;
    position: relative;
    vertical-align: top;
}

.listing-comment-body ul {
    background-color: transparent!important;
    padding-left: 25px;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.listing-comment-body .listing-action[title="Like"] .selected {
    color: var(--highlight);
}

body .cke_wysiwyg_frame, body .cke_wysiwyg_div {
    background-color: var(--xwhite);
    color: var(--black);
}

body .cke_toolbar_end {
    display: none;
}

.cke_toolgroup a.cke_button:last-child:after {
    display: none;
}

.listing-author-title {
    color: var(--black);
    
    
    
    cursor: pointer;
}

.listing-author-title .listing-action {
    padding-left: 5px;
}

.listing-title .listing-author-title {
    margin-bottom: 0px;
    padding-top: 2px;
    
    
    padding-right: 6px;
    line-height: 13pt;
    font-size: 12px;
}

.listing-title .listing-author-title .tiny-icon i {
    font-size: 11pt;
    line-height: 9pt;
    height: 18px;
    line-height: 12px;
    vertical-align: top;
    margin-left: 3px;
    color: var(--light-text);
}

.listing-author-title a {
    color: var(--black);
    font-weight: 600;
}

.listing-author-title a:hover {
    color: var(--primary);
}

.listing-action.liked {
    color: var(--primary);
}

.like-name {
    position: relative;
    padding-right: 5px;
    cursor: pointer;
    display: inline-block;
    float: left;
    
    margin-bottom: 5px;
}

.inline-dialog .like-name {
    margin-bottom: 0px!important;
    line-height: 20px;
    vertical-align: top;
    font-size: 9pt;
}

.like-name .sw-who-name::after {
    content: ', ';
    display: inline-block;
}

html body .like-name:last-child .sw-who-name::after {
    display: none!important;
}

.like-name:last-child .sw-who-name::after {
    content: none;
}

.like-name:last-child {
    margin-bottom: 0px;
}

.like-name:last-child::after {
    
    opacity: 0;
}

.listing-description p, .listing-description br, .listing-item p, .listing-item br {
    margin-bottom: 10px;
    position: relative!important;
}

.listing-author-comment .listing-author-title {
    font-size: 9pt;
    line-height: 20px;
    
    margin-top: -4px;
}

.listings .post-creator.ql-editor {
    background-color: transparent!important;
}

.listings .post-bottom-bar {
    background-color: transparent;
}

.panel-viewer .panel-comments .listings .post-bottom-bar {
    
    padding-right: 20px;
    padding-left: 20px;
}

.create-actions {
    position: relative;
    text-align: right;
    width: auto;
    float: right;
    cursor: default;
}

.create-action {
    display: inline-block;
    width: auto;
    line-height: 30px;
    padding-left: 15px;
    user-select: none;
    max-width: 200px;
    
    
    
}

.feedback .set-post-privacy {
    display: none;
}

.create-new-post.create-action a, .create-new-post.create-action i {
    color: var(--primary)!important;
}

.panel-comments .post-footer .set-post-privacy.create-action {
    font-size: 9pt;
    margin-top: -7px;
}

.set-post-privacy.create-action.right.top10 {
    padding-top: 5px;
}

.panel-comments .set-post-privacy.create-action .chip {
    margin-top: -3px;
    margin-bottom: 0px;
    padding: 0px 10px!important;
    margin-right: 0px!important;
    font-size: 9pt;
    color: var(--light-text);
    float: right;
    vertical-align: middle;
    height: 25px;
    line-height: 25px;
    border-radius: 5px;
    min-width: 80px;
    text-align: left;
}

.create-action > a, .create-action > a i {
    vertical-align: top;
    color: var(--light-text)!important;
}

.create-action > a {
    padding: 0;
}

.create-action ul.dropdown-content li a {
    font-size: 9.5pt!important;
    max-width: 500px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.create-action a:hover, .create-action a:hover i {
    color: var(--primary)!important;
    text-decoration: none;
}

.create-action a i {
    font-size: 13pt;
    margin-right: 7px;
    margin-top: 6px;
}

.create-new-post.create-action a i {
    font-size: 15pt;
    margin-top: 5px;
}

.create-action .listing-action {
    line-height: 50px!important;
    padding: 0px 20px;
    color: var(--black);
    box-sizing: border-box!important;
    margin: 0;
    font-size: 13px;
}

.listing-action.social .emoti {
    font-size: 13pt!important;
    filter: grayscale(1);
    opacity: .7;
    color: var(--light-text);
    
    float: left;
    padding-right: 10px!important;
    margin-top: -5px;
    user-select: none;
}

.post-reactions .listing-action.social {
    padding-right: 6px!important;
    margin-bottom: 0px!important;
    font-size: 10pt!important;
    color: var(--light-text);
}

.post-reactions .listing-action.social > span {
    font-size: 11pt;
    padding-right: 1px;
}

.listing-action.social.selected .emoti, .listing-action.social:hover .emoti {
    filter: grayscale(0);
    opacity: 1;
}

.listing-action.social.selected, .listing-action.social.selected i {
    color: var(--highlight)!important;
}

.the-profile-image {
    width: 100%;
    border-radius: 3px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: transparent;
    align-items: center;
    justify-content: center;
    display: flex;
}

.the-profile-image.light-bg {
    background-color: var(--background-color)!important;
}

.profile-page .profile-sidebar .the-profile-image {
    width: 80%;
    max-height: 182px!important;
    margin: 0px auto;
    border: 1px solid var(--border);
    text-align: left;
    vertical-align: middle;
    padding-left: 0px!important;
    margin-left: 0px;
    position: relative;
    border-radius: var(--border-radius-tiny);
    display: flex;
    height: 100%;
    min-height: 170px;
    cursor: pointer;
    }

.profile-page .profile-sidebar .the-profile-image.p3 {
    height: 180px;
    width: 180px;
    text-align: center;
    line-height: 180px;
    font-size: 44pt;
}

.dark .profile-page .profile-sidebar .the-profile-image.p3 {
    background-color: var(--extra-light)!important;
}

.profile-page .the-profile-image i {
    vertical-align: middle;
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: calc(50% - 35px);
    font-size: 40px;
    color: var(--primary-color);
    text-align: center;
}.ai-convo .intelligence-img.the-profile-image:after {
    display: none!important;
}

.listings .listing-author-img {
    display: inline-block;
    float: left;
    margin-right: 15px;
    margin-left: 0px!important;
    width: 36px;
    cursor: pointer;
    vertical-align: top;
}

.show-who {width: auto!important;display: inline-block;left: 14px;}

.listing-comment .show-who {
    position: absolute;
    z-index: 9999;
    top: 9px;
    background-color: var(--white);
    padding: 5px;
    border-radius: 10px;
    box-shadow: 0px 1px 2px var(--shadow);
    user-select: none;
}

.comment-comment-reply textarea {
    margin-bottom: 0px!important;
    background-color: var(--extra-light)!important;
    border-bottom: none!important;
    box-shadow: none!important;
    line-height: 1.5;
    min-height: 40px!important;
    text-align: left;
    padding: 10px 20px!important;
    box-sizing: border-box!important;
    font-size: 10pt!important;
}

.comment-comment-reply .input-field {
    overflow: hidden;
    border-radius: 5px;
    padding-right: 0px;
    margin-top: 0px;
    width: calc(100% - 50px);
}

.comment-comments {
    padding-top: 20px;
    position: relative;
    z-index: 9;
}

.comment-comments::before {
    width: 31px;
    height: 1px;
    background-color: var(--border);
    position: absolute;
    top: 38px;
    left: -31px;
    z-index: 9999;
}

.comment-comments .listing-comment::before {
    content: ' ';
    width: 1px;
    height: 100%;
    position: absolute;
    left: 17px;
    top: 21px;
    background-color: var(--border);
}

.comment-comments .listing-comment:last-child::before {
    content: none;
}

.comment-comments.reply-open .listing-comment:last-child::before {
    content: ' ';
}

.line-num {
    background-color: var(--extra-light);
    
    display: inline-block;
    text-align: center;
    border-radius: 50px;
    padding-left: 6px;
    padding-right: 6px;
    margin-left: 5px;
    margin-right: 0px;
    color: var(--primary);
}

.like-num {
    background-color: var(--highlight);
    display: inline-block;
    text-align: center;
    border-radius: 3px;
    padding-left: 0px;
    padding-right: 0px;
    margin-top: 9px;
    margin-left: 2px;
    margin-right: 2px;
    color: var(--ablack);
    width: 19px;
    height: 18px;
    line-height: 18px;
    font-size: 8.5pt!important;
    vertical-align: top;
    font-weight: 500;
    user-select: none;
}

.post-badge {
    font-size: 8pt;
    color: var(--primary);
    padding-left: 1px;
    padding: 2px 8px 3px;
    background-color: transparent;
    border: 1px solid var(--primary);
    border-radius: 5px;
    margin-left: 5px;
    vertical-align: top;
}

.listing-description [data-oembed-url] {
    margin-left: -30px;
    margin-right: -30px;
    margin-bottom: -5px;
}

.post-footer {
    padding: 0px 0px 0px;
    opacity: .85;
}

.image-annotations .post-footer {
    padding: 0px 30px 30px!important;
}
/* ============================
   Ideas Page
   ============================ */

.ideas-page-content {
	max-width: 980px;
	margin: 0 auto;
}

.ideas-page {
    height: calc(100dvh - 64px);calc(100dvh - 64px):;calc(100dvh - 64px):
    o;calc(100dvh - 64px):
    ov;calc(100dvh - 64px):
    o;
    padding: 40px;
    overflow-y: auto;
}

.ideas-page.ideas-detail-page {
    max-width: unset;
}

/* ============================
   Header
   ============================ */

.ideas-header {
	margin-bottom: 20px;
}

.ideas-header-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ideas-header-top h5 {
	margin: 0;
	font-size: 26px;
	/* font-weight: 500; */
	font-family: var(--nothing);
	color: var(--black);
	display: flex;
	align-items: center;
	gap: 8px;
	text-transform: lowercase;
}

.ideas-header-top h5 i {
	color: var(--primary);
}

.ideas-view-toggle {
	display: flex;
	gap: 2px;
	background: var(--bg);
	border-radius: var(--border-radius-tiny);
	padding: 2px;
}

.ideas-view-toggle .btn {
	background: none;
	color: var(--light-text);
	box-shadow: none;
	min-width: 36px;
	padding: 0 8px;
	height: 32px;
	line-height: 32px;
}

.ideas-view-toggle .btn.active {
	background: var(--white);
	color: var(--primary);
	box-shadow: var(--box-shadow);
}

.ideas-view-toggle .btn i {
	font-size: 18px;
	line-height: 32px;
}

/* ============================
   Quick Add Bar
   ============================ */

.ideas-quick-add {
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	box-shadow: var(--box-shadow);
	padding: 10px 10px 10px 15px;
	margin-bottom: 20px;
}

.ideas-quick-add-row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ideas-quick-add-input {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
}

.ideas-quick-add-input i.prefix {
	color: var(--primary);
	font-size: 22px;
}

.ideas-quick-add-input input {
	border: none !important;
	border-bottom: none !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 36px !important;
	font-size: 12pt;
	color: var(--black);
}

.ideas-quick-add-input input:focus {
	border-bottom: none !important;
	box-shadow: none !important;
}

.ideas-quick-add-input input::placeholder {
	color: var(--light-text);
}

.ideas-quick-add-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.ideas-submit-btn {
	background-color: var(--primary) !important;
	color: white !important;
	text-transform: none;
	font-weight: 500;
	border-radius: var(--border-radius-tiny);
}

.ideas-submit-btn:hover {
	background-color: var(--primary) !important;
	color: var(--awhite)!important;
	opacity: 0.9;
	text-decoration: none;
}

.ideas-quick-add-expanded {
	padding-top: 25px;
	margin-top: 13px;
	border-top: 1px solid var(--light-border);
	position: relative;
	width: 100%;
}

.ideas-quick-add-expanded textarea {
    background-color: var(--background-color)!important;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box!important;
    min-height: 110px!important;
    border-radius: var(--border-radius-tiny);
}

.ideas-quick-add-expanded textarea {
	border: 1px solid var(--light-border) !important;
	border-radius: var(--border-radius-tiny);
	padding: 12px !important;
	min-height: 80px;
	font-size: 11pt;
	border-bottom: none!important;
}

.ideas-quick-add-expanded textarea:focus {
    border-bottom: none!important;
    box-shadow: none!important;
}

.ideas-quick-add-meta {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	margin-top: 12px;
}

.ideas-quick-add-meta label {
	font-size: 9pt;
	color: var(--light-text);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 6px;
	display: block;
}

.ideas-tag-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.ideas-tag-chip {
	font-size: 9pt !important;
	height: 26px !important;
	line-height: 26px !important;
	padding: 0 10px !important;
	background-color: var(--bg) !important;
	color: var(--black) !important;
	border-radius: 13px;
}

.ideas-tag-chip-option {
	cursor: pointer;
	transition: all 0.15s ease;
	background-color: var(--veryvery-light)!important;
	border: 1px solid var(--light-border);
	border-radius: 3px!important;
	margin-right: 0px!important;
}

.ideas-tag-chip-option:hover,
.ideas-tag-chip-option.selected {
	background-color: var(--primary) !important;
	color: white !important;
}

.ideas-tag-remove {
	cursor: pointer;
	margin-left: 4px;
	vertical-align: middle;
}

.ideas-tag-remove:hover {
	color: var(--warning);
}

.ideas-strategy-dropdowns {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.ideas-select {
	font-size: 10pt !important;
	height: 32px !important;
	padding: 0 8px !important;
	border: 1px solid var(--light-border) !important;
	border-radius: var(--border-radius-tiny) !important;
	background-color: var(--white);
	color: var(--black);
	min-width: 120px;
	max-width: 200px;
}

/* ============================
   Toolbar (Filters & Sort)
   ============================ */

.ideas-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 25px;
	padding-bottom: 0px;
	position: sticky;
	top: 0;
}

.ideas-status-tabs {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
}

.ideas-search-toolbar {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0px;
}

.ideas-status-tabs a {
    color: var(--black);
    text-decoration: none!important;
    background-color: var(--white);
    font-size: 12px;
}

.ideas-status-tabs a:hover {
    background-color: var(--extra-light);
}

.ideas-status-tab {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 0px 10px;
	border-radius: var(--border-radius-tiny);
	font-size: 10pt;
	color: var(--light-text);
	text-decoration: none;
	transition: all 0.15s ease;
	white-space: nowrap;
	height: 34px;
	box-shadow: var(--box-shadow);
}

.ideas-status-tab:hover {
	background: var(--bg);
	color: var(--black);
}

.ideas-status-tab.active {
	background: var(--primary);
	color: white;
}

.ideas-status-tab i {
	font-size: 14px;
}

.ideas-count-badge {
	background: rgba(0,0,0,0.1);
	border-radius: 10px;
	padding: 1px 6px;
	font-size: 11px;
	font-weight: 500;
	border-radius: 3px;
	margin-left: 2px;
}

.ideas-status-tab.active .ideas-count-badge {
	background: rgba(255,255,255,0.2);
}

.ideas-toolbar-right {
	display: flex;
	align-items: center;
	gap: 5px;
	flex-wrap: wrap;
}

.ideas-search {
	display: flex;
	align-items: center;
	gap: 4px;
	background: var(--white);
	/* border: 1px solid var(--light-border); */
	border-radius: var(--border-radius-tiny);
	padding: 0 15px;
	height: 50px;
	width: calc(100% - 155px);
	box-shadow: var(--box-shadow);
}

.ideas-search i {
	font-size: 18px;
	color: var(--light-text);
}

.ideas-search input {
	border: none !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 4px !important;
	height: 50px !important;
	width: 100%;
	flex: 1;
	color: var(--black);
	background-color: var(--white)!important;
}

.ideas-search input:focus {
	border: none !important;
	box-shadow: none !important;
}

.ideas-clear-search {
	cursor: pointer;
	font-size: 16px !important;
}

.ideas-clear-search:hover {
	color: var(--warning);
}

.ideas-sort .dropdown-selector,
.ideas-tag-filter .dropdown-selector {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	height: 34px;
	line-height: 34px;
	padding: 0 15px;
	border-radius: var(--border-radius-tiny);
	background-color: var(--white);
	color: var(--black);
	min-width: 140px;
	max-width: 200px;
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	position: relative;
	box-shadow: var(--box-shadow);
}

.ideas-sort .dropdown-selector {
    height: 50px;
    line-height: 50px;
}

.ideas-sort {
    width: 150px;
    margin-left: 5px;
}

.ideas-sort i {
    margin: 0!important;
}

.ideas-sort i:first-child {
    margin-right: 5px!important;
}

.ideas-sort .dropdown-selector:hover,
.ideas-tag-filter .dropdown-selector:hover {
	background-color: var(--hover-item);
}

.ideas-sort .dropdown-selector span,
.ideas-tag-filter .dropdown-selector span {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ideas-sort .dropdown-selector i,
.ideas-tag-filter .dropdown-selector i {
	font-size: 14pt;
	line-height: 32px;
}

.ideas-sort .dropdown-content,
.ideas-tag-filter .dropdown-content {
	min-width: 160px !important;
}

.ideas-sort .dropdown-content li a,
.ideas-tag-filter .dropdown-content li a {
	font-size: 10pt;
	color: var(--black);
}

.ideas-clear-filters {
	font-size: 9pt !important;
	color: var(--light-text) !important;
}

/* ============================
   Ideas Content Area
   ============================ */

.ideas-content {
	min-height: 200px;
}

.ideas-loading {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 200px;
}

.ideas-empty {
	text-align: center;
	padding: 60px 20px;
	color: var(--light-text);
}

.ideas-empty-icon {
	font-size: 34px;
	color: var(--extra-light);
	margin-bottom: 16px;
}

.ideas-empty h6 {
	font-size: 14px;
	color: var(--black);
	margin-bottom: 0px!important;
	font-weight: 400;
}

.ideas-empty p {
    margin-top: 5px;
}

.ideas-empty p {
	font-size: 12px;
}

.ideas-empty a {
	color: var(--primary);
}

/* ============================
   Ideas Grid View
   ============================ */

.ideas-grid-view .ideas-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 16px;
}

/* ============================
   Ideas List View
   ============================ */

.ideas-list-view .ideas-cards {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.ideas-list-view .idea-card {
	border-radius: var(--border-radius-tiny);
}

.ideas-list-view .idea-card-body {
	padding: 20px 25px;
	display: flex;
	flex-direction: column;
	justify-content: start;
}

.ideas-list-view .idea-card-desc {
	display: none;
}

/* ============================
   Idea Card
   ============================ */

.idea-card {
	display: flex;
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	/* box-shadow: var(--box-shadow); */
	cursor: pointer;
	transition: all 0.2s ease;
	overflow: hidden;
	border: 1px solid var(--light-border);
}

.idea-card:hover {
	/* box-shadow: 0 4px 12px rgba(0,0,0,0.08); */
	border-color: var(--border);
	background-color: var(--hover-item);
}

.idea-card:hover .idea-card-vote {
    border-color: var(--border);
}

.idea-card-vote {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 10px 10px 10px 14px;
	min-width: 48px;
	border-left: 1px solid var(--vborder);
}

.idea-vote-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 28px;
	border-radius: 4px;
	color: var(--light-text);
	transition: all 0.15s ease;
	text-decoration: none!important;
}

.idea-vote-btn:hover {
	color: var(--primary);
	background: var(--extra-light);
}

.idea-vote-btn:hover i {
    color: var(--primary);
}

.idea-vote-btn.active.idea-vote-up {
	color: var(--primary);
}

.idea-vote-btn.active.idea-vote-down {
	color: #f44336;
}

.idea-vote-btn i {
	font-size: 28px;
}

.idea-vote-btn.large {
	width: 40px;
	height: 40px;
}

.idea-vote-btn.large i {
	font-size: 22px;
}

.idea-vote-score {
	font-weight: 600;
	font-size: 13pt;
	color: var(--black);
	text-align: center;
	min-width: 24px;
	height: 30px;
	line-height: 30px;
}

.idea-vote-score.positive {
	/* color: var(--good); */
}

.idea-vote-score.negative {
	color: #f44336;
}

.idea-vote-score.large {
	font-size: 18pt;
	margin: 0 8px;
}

.idea-card-body {
	flex: 1;
	padding: 14px 16px;
	min-width: 0;
}

.idea-card-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}

.idea-status-badge {
	display: inline-block;
	font-size: 13px!important;
	text-transform: uppercase;
	padding: 0px 6px;
	border-radius: 3px;
	color: white;
	white-space: nowrap;
}

.idea-card-meta .idea-status-badge {
    font-size: 12px!important;
    text-transform: capitalize;
    background-color: var(--background-color);
}

.idea-card-time {
	font-size: 9pt;
	color: var(--light-text);
}

.idea-card-title {
	font-size: 14px!important;
	font-weight: 500!important;
	color: var(--black);
	margin: 0 0 1px;
	line-height: 1.4;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.idea-card-desc {
	font-size: 10pt;
	color: var(--light-text);
	margin: 0 0 8px;
	line-height: 1.5;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	max-height: 3em;
}

.idea-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 5px;
}

.idea-card-footer.flex-between {
    margin-top: 4px;
}

.idea-card-meta {
	display: flex;
	align-items: center;
	gap: 15px;
	vertical-align: top;
}

.idea-card-author {
	display: flex;
	align-items: center;
	gap: 4px;
}

.idea-avatar {
	width: 20px;
	height: 20px;
	object-fit: cover;
	border-radius: 3px;
	margin-right: 5px;
}

.idea-author-name {
	color: var(--light-text);
	font-size: 12px!important;
	font-weight: 400;
}

.ideas-cards .idea-author-name {
    font-size: 13px;
}

.idea-card-strategy {
	display: flex;
	flex-wrap: wrap;
	/* flex-direction: column; */
	gap: 0px;
	font-size: 12px;
	line-height: 23px;
	color: var(--light-text);
	align-items: center;
}

.idea-card-strategy-text {
    display: flex;
    align-items: center;
    gap: 5px;
    padding-right: 15px;
}

.idea-card-strategy-text i {
    margin-right: 0!important;
    color: var(--light-text);
}

.ideas-detail-description .idea-card-strategy {
    margin-top: 0px;
}

.idea-card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	overflow: hidden;
	max-height: 25px;
	margin-top: 20px;
}

/* ============================
   Detail View - Two Column Layout
   ============================ */

.ideas-detail-page {
	max-width: 1200px;
	margin: 0 auto;
}

.ideas-detail-page .card {
    padding: 40px;
    margin-bottom: 5px!important;
    margin-top: 0;
}

.ideas-detail-card.ideas-detail-comments-card.card {
    padding: 0;
    background-color: transparent;
    box-shadow: none!important;
}

.ideas-detail-body {
	margin-bottom: 0;
}

.ideas-detail-left {
	padding-right: 30px !important;
}

.ideas-detail-right {
	position: sticky;
	top: 20px;
	align-self: flex-start;
}

/* ============================
   Detail Header
   ============================ */

.ideas-detail-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: -5px;
}

.ideas-detail-header-left {
	display: flex;
	gap: 10px;
}

.ideas-detail-header-actions {
	display: flex;
	align-items: anchor-center;
	gap: 5px;
}

/* ============================
   Right Column Cards
   ============================ */

.ideas-detail-card {
	background: var(--white);
	box-shadow: var(--box-shadow);
	border-radius: var(--border-radius-tiny);
	padding: 30px;
	margin-bottom: 5px;
}

.ideas-detail-card-title {
	font-size: 10pt;
	font-weight: 500;
	color: var(--black);
	margin: 0 0 5px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.ideas-detail-card-title i {
	color: var(--light-text);
}

.ideas-comment-count {
	background: var(--primary);
	color: white;
	font-size: 8pt;
	font-weight: 500;
	border-radius: 3px;
	padding: 1px 7px;
	margin-left: 4px;
}

/* ============================
   Vote Widget (Right Column)
   ============================ */

.ideas-detail-vote-widget {
	display: flex;
	flex-direction: column;
}

.ideas-vote-actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ideas-vote-breakdown {
	display: flex;
	gap: 16px;
	font-size: 10pt;
	color: var(--light-text);
}

.idea-vote-up-count,
.idea-vote-down-count {
	display: flex;
	align-items: center;
	gap: 2px;
}

/* ============================
   Detail Title & Author
   ============================ */

.ideas-detail-title {
	/* margin-bottom: -5px; */
	/* margin-top: 8px; */
}

.ideas-detail-title h5 {
	font-size: 18pt;
	font-weight: 500;
	color: var(--black);
	margin: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6px;
}

.ideas-edit-icon {
	opacity: 0;
	transition: opacity 0.15s ease;
	color: var(--light-text);
}

.ideas-detail-title h5:hover .ideas-edit-icon {
	opacity: 1;
}

.ideas-detail-author {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 0px;
	font-size: 13px;
	color: var(--light-text);
}

.ideas-detail-time {
	color: var(--light-text);
	font-size: 12px;
}

.ideas-detail-time::before {
	content: '\b7';
	margin-right: 8px;
}.ideas-no-description {
	color: var(--light-text);
}

/* ============================
   Inline Editing
   ============================ */

.ideas-inline-edit {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ideas-detail-description .ideas-inline-edit input {
    background-color: var(--background-color)!important;
    border: none!important;
    outline: none!important;
    box-shadow: none!important;
    font-size: 14px!important;
    margin-bottom: 20px!important;
    font-weight: 400;
    height: 50px!important;
    line-height: 50px;
    border-radius: var(--border-radius-tiny)!important;
}

.ideas-inline-edit input {
	font-size: 14pt !important;
	font-weight: 500;
	border: 1px solid var(--primary) !important;
	border-radius: var(--border-radius-tiny);
	padding: 8px 12px !important;
	height: auto !important;
	margin: 0 !important;
}

.ideas-inline-edit textarea {
	border: 1px solid var(--primary) !important;
	border-radius: var(--border-radius-tiny);
	padding: 12px !important;
	min-height: 100px;
}

.ideas-inline-edit .btn {
	align-self: flex-start;
}

/* ============================
   Detail Sections
   ============================ */

.ideas-detail-section {
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--light-border);
}

.ideas-detail-section:last-child {
	border-bottom: none;
}

.ideas-detail-section-title {
	font-size: 11pt;
	font-weight: 500;
	color: var(--black);
	margin: 0 0 12px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.ideas-detail-section-title i {
	color: var(--light-text);
}

.ideas-no-tags {
	font-size: 10pt;
	color: var(--light-text);
}

.ideas-add-tag {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
}

/* ============================
   Strategy Links
   ============================ */

.ideas-strategy-links {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ideas-strategy-item {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ideas-strategy-item label {
    text-transform: unset!important;
}

.ideas-strategy-item label {
	font-size: 9pt;
	color: var(--light-text);
	text-transform: uppercase;
	min-width: 70px;
}

.ideas-strategy-item > div {
	display: flex;
	align-items: center;
	gap: 6px;
}

/* ============================
   Convert to Project
   ============================ */

.ideas-convert-btn {
	background-color: #673AB7 !important;
	color: white;
	text-transform: none;
	font-weight: 500;
	border-radius: var(--border-radius-tiny);
}

.ideas-convert-btn:hover {
	opacity: 0.9;
}

/* ============================
   Comments
   ============================ */

.ideas-detail-comments-card .ideas-add-comment {
    margin-bottom: 0px;
    /* margin-top: 5px; */
    width: 100%;
}

.ideas-add-comment {
	margin-bottom: 20px;
}

.ideas-comment-input-row {
	position: relative;
}

.ideas-comment-input-row .idea-avatar {
    position: absolute;
    left: 30px;
    top: 30px;
}

.ideas-comment-input {
	flex: 1;
}

.ideas-comment-input textarea {
	border-radius: var(--border-radius-tiny);
	padding: 30px 30px 30px 60px !important;
	min-height: 60px;
	font-size: 13px!important;
	resize: vertical;
	margin-top: 0px;
	margin-bottom: 5px!important;
	background-color: var(--white)!important;
	border-radius: var(--border-radius-tiny)!important;
	max-width: 100%;
	box-sizing: border-box!important;
	min-height: 80px!important;
	display: flex;
	height: auto;
	box-shadow: var(--box-shadow)!important;
	border: none;
}

.ideas-comment-input textarea.materialize-textarea:focus {
    box-shadow: var(--box-shadow)!important;
	border: none!important;
}

.ideas-comments-list {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.ideas-comment {
	padding: 30px;
	border-radius: var(--border-radius-tiny);
	background-color: var(--white);
	box-shadow: var(--box-shadow);
}

.ideas-comment-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}

.idea-comment-author {
	font-size: 10pt;
	font-weight: 500;
	color: var(--black);
}

.idea-comment-time {
	font-size: 9pt;
	color: var(--light-text);
}

.ideas-comment-delete {
	margin-left: auto;
	opacity: 0;
	transition: opacity 0.15s ease;
}

.ideas-comment:hover .ideas-comment-delete {
	opacity: 1;
}

.ideas-comment-delete i {
	color: var(--light-text);
}

.ideas-comment-delete:hover i {
	color: var(--warning);
}

.ideas-comment-body {
	font-size: 10pt;
	color: var(--black);
	line-height: 23px;
}

.ideas-comment-body p {
	margin: 0;
}

.ideas-no-comments {
	text-align: center;
	padding: 20px;
	color: var(--light-text);
	font-size: 10pt;
}

/* ============================
   Responsive
   ============================ */

@media screen and (max-width: 992px) {
	.ideas-page {
		padding: 15px 20px;
	}

	.ideas-toolbar {
		flex-direction: column;
		align-items: flex-start;
	}

	.ideas-status-tabs {
		overflow-x: auto;
		width: 100%;
		flex-wrap: nowrap;
		padding-bottom: 4px;
	}

	.ideas-toolbar-right {
		width: 100%;
	}

	.ideas-search {
		flex: 1;
	}

	.ideas-search input {
		width: 100%;
	}

	.ideas-grid-view .ideas-cards {
		grid-template-columns: 1fr;
	}

	.ideas-detail-left {
		padding-right: 0 !important;
	}

	.ideas-detail-right {
		position: static;
		margin-top: 20px;
	}

	.ideas-quick-add-meta {
		flex-direction: column;
	}

	.ideas-strategy-dropdowns {
		flex-direction: column;
	}
}

@media screen and (max-width: 600px) {
	.ideas-page {
		padding: 10px 12px;
	}

	.ideas-quick-add-row {
		flex-direction: column;
		align-items: stretch;
	}

	.ideas-quick-add-actions {
		justify-content: flex-end;
	}

	.idea-card-footer {
		flex-direction: column;
		align-items: flex-start;
	}
}

.ideas-strategy-selector {
    padding-bottom: 15px;
}

.ideas-detail-left {
    padding: 50px!important;
    background-color: var(--white);
    margin-right: 5px;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.ideas-detail-actions {
    margin-top: -8px;
    margin-right: -15px;
    width: 270px;
    min-width: 270px;
    display: flex;
    margin-left: auto;
    text-align: right;
    justify-content: end;
    width: fit-content;
}

.ideas-detail-title-text {
    line-height: 23px;
    font-weight: 400!important;
    margin-bottom: 0px;
    margin-top: -5px!important;
    padding-right: 10px;
}.ideas-upload-section-title {
	font-size: 10pt;
	font-weight: 500;
	color: var(--black);
	margin: 0 0 12px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.ideas-upload-section-title i {
	color: var(--light-text);
}

.ideas-attachment-count {
	font-size: 9pt;
	color: var(--light-text);
	font-weight: 400;
	margin-left: auto;
}

.ideas-image-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
	gap: 5px;
	/* margin-bottom: 12px; */
}

.ideas-image-thumb {
	position: relative;
	border-radius: var(--border-radius-tiny);
	overflow: hidden;
	border: 1px solid var(--light-border);
	background: var(--veryvery-light);
}

.ideas-image-thumb img {
	width: 100%;
	height: 80px;
	object-fit: cover;
	display: block;
}

.ideas-image-name {
	display: none;
	font-size: 8pt;
	color: var(--light-text);
	padding: 4px 6px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ideas-attachment-remove {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 50%;
	color: white !important;
	opacity: 0;
	transition: opacity 0.15s ease;
}

.ideas-image-thumb:hover .ideas-attachment-remove,
.ideas-file-item:hover .ideas-attachment-remove {
	opacity: 1;
}

.ideas-attachment-remove:hover {
	background: var(--warning);
}

.ideas-attachment-remove i {
	font-size: 14px !important;
	color: white !important;
}

.ideas-file-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 12px;
}

.ideas-file-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	background: var(--veryvery-light);
	border-radius: var(--border-radius-tiny);
	border: 1px solid var(--light-border);
	position: relative;
}

.ideas-file-item i {
	color: var(--light-text);
}

.ideas-file-name {
	flex: 1;
	font-size: 10pt;
	color: var(--primary);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ideas-file-name:hover {
	text-decoration: underline;
}

.ideas-file-item .ideas-attachment-remove {
	position: static;
	opacity: 0;
	background: none;
	color: var(--light-text) !important;
	width: auto;
	height: auto;
}

.ideas-file-item .ideas-attachment-remove i {
	color: var(--light-text) !important;
}

.ideas-file-item .ideas-attachment-remove:hover i {
	color: var(--warning) !important;
}

.ideas-upload-zone {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 20px;
	border: 2px dashed var(--light-border);
	border-radius: var(--border-radius-tiny);
	background: var(--veryvery-light);
	color: var(--light-text);
	cursor: pointer;
	transition: all 0.15s ease;
	font-size: 10pt;
}

.ideas-upload-zone:hover,
.ideas-upload-zone.dragover {
	border-color: var(--primary);
	/* background: var(--background-color); */
	color: var(--primary);
}

.ideas-upload-zone:hover i, .ideas-upload-zone.dragover i {
    color: var(--primary);
}

.ideas-upload-zone i {
	font-size: 28px;
}

.ideas-upload-progress {
	margin-top: 12px;
}

.ideas-upload-progress .progress {
	margin: 0 0 4px;
	height: 4px;
	border-radius: 2px;
}

.ideas-upload-progress-text {
	font-size: 9pt;
	color: var(--light-text);
}

/* ============================
   Activity Log
   ============================ */

.ideas-activity-toggle {
	cursor: pointer;
}

.ideas-activity-toggle:hover {
	color: var(--primary);
}

.ideas-activity-timeline {
	display: flex;
	flex-direction: column;
	gap: 0px;
}

.ideas-activity-item {
	padding: 10px 0;
	border-bottom: 1px solid var(--light-border);
}

.ideas-activity-item:last-child {
	border-bottom: none;
}

.ideas-activity-header {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 10pt;
}

.ideas-activity-header .idea-avatar {
	width: 20px;
	height: 20px;
}

.ideas-activity-author {
	font-weight: 500;
	color: var(--black);
}

.ideas-activity-summary {
	color: var(--light-text);
	flex: 1;
}

.ideas-activity-time {
	font-size: 9pt;
	color: var(--light-text);
	white-space: nowrap;
}

.ideas-detail-description .cke {
    padding: 10px;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
}

.idfa-right .btn.btn-transparent {
    font-size: 13px;
    padding-left: 10px!important;
    padding-right: 10px!important;
}

.ideas-header-actions .btn, .ideas-header-actions .btn i {
    text-decoration: none;
    transition: none;
}

.ideas-header-actions a.btn.btn-primary {
    background-color: var(--primary)!important;
    color: var(--awhite)!important;
    height: 30px;
    line-height: 30px;
    font-size: 13px;
}

.ideas-header-actions .btn:hover, .ideas-header-actions .btn:hover i {
    background-color: var(--primary);
    color: var(--awhite);
}

.idea-vote-btn-inline {
    display: flex;
    cursor: pointer;
    font-size: 20px!important;
}

.active .idea-vote-btn-inline.btn-transparent, .active .idea-vote-btn-inline i {
    color: var(--awhite)!important;
}

.down-vote.active .idea-vote-down i {
    color: var(--awhite)!important;
}

.idea-vote-btn-inline i {
    font-size: 18px!important;
    transition: all .3s ease-in-out;
}

.idea-vote-down.active i {
    color: var(--primary);
}

.idea-vote-up.active i {
    color: var(--primary);
}



.idea-filter-dropdown .dropdown-selector, .research-filter-dropdown .dropdown-selector {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 300;
    cursor: pointer;
    white-space: nowrap;
}

.idea-filter-dropdown li, .research-filter-dropdown li {
    display: block;
    height: 50px;
    line-height: 50px!important;
    vertical-align: middle;
    color: var(--black);
    padding: 0 15px;
}

.idea-filter-dropdown ul, .research-filter-dropdown ul {
    right: 0px!important;
    left: unset!important;
}

.idea-filter-dropdown .dropdown-selector i, .research-filter-dropdown .dropdown-selector i {
    margin-left: 0px;
    font-size: 16px;
}

.research-filter-dropdown .dropdown-selector {}

.ideas-detail-viewer {
    display: flex;
    flex-direction: column;
    gap: 0px;
    max-width: 800px;
    margin: 0 auto;
}

.ideas-detail-viewer .idea-wrapper:last-child {
    min-width: 480px;
}

.idea-wrapper {
    /* flex: 1; */
}

.idea-wrapper:first-child {
    /* flex: 1.25; */
    width: 100%;
}

.ideas-detail-editor {
    max-width: 840px;
    margin: 0 auto;
}

.idea-card-tldr {
    margin-top: 0;
    margin-bottom: 3px;
    color: var(--black);
}

.idea-card-sub-title {
    text-transform: uppercase;
    color: var(--light-text);
    font-size: 11px;
    margin-top: 25px;
}

.plan-discover-item-author-image {
    max-width: 20px;
    float: left;
    margin-right: 7px;
}
/* ============================
   Research Page (List View)
   ============================ */

.research-page-content {
	max-width: 980px;
	margin: 0 auto;
	padding-bottom: 40px;
}

.research-page {
	height: calc(100dvh - 64px);
	/* overflow-y: auto; */
	padding: 40px;
	/* border-left: 1px solid var(--light-border); */
	/* max-width: 1580px; */
	margin: 0 auto;
	width: 100%;
}

.research-page.research-session-page {
	/* max-width: unset; */
	/* padding: 0; */
	/* overflow: hidden; */
}

/* ============================
   Header
   ============================ */

.research-header {
	margin-bottom: 10px;
}

.research-header-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.research-header-top h5 {
	margin: 0;
	font-size: 18pt;
	font-weight: 400;
	font-family: var(--nothing);
	color: var(--black);
	display: flex;
	align-items: center;
	gap: 8px;
	text-transform: lowercase;
}

.research-header-top h5 i {
	color: var(--primary);
}

.research-header-actions {
	display: flex;
	gap: 8px;
	align-items: center;
}

/* ============================
   Toolbar / Filters
   ============================ */

.research-toolbar {
	/* margin-bottom: 12px; */
	margin-top: 20px;
	position: sticky;
	top: 40px;
	/* background-color: var(--background-color); */
}

.research-search-toolbar {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 7px;
	background-color: var(--white);
	border-radius: var(--border-radius-tiny);
	box-shadow: var(--box-shadow);
	/* border: 1px solid var(--light-border); */
	padding: 0 15px 0 10px;
}

.research-search {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--white);
	/* border: 1px solid var(--border-color); */
	border-radius: var(--border-radius-tiny);
	padding: 0 12px;
	height: 50px;
}

.research-search i {
	color: var(--light-text);
	font-size: 18px;
}

.research-search input {
	flex: 1;
	border: none;
	outline: none;
	background: var(--white)!important;
	font-size: 14px;
	color: var(--black);
	height: 100%;
	padding: 0 10px!important;
}

.research-search input::placeholder {
	color: var(--light-text);
}

.research-clear-search {
	cursor: pointer;
	color: var(--light-text);
	font-size: 16px;
}

.research-sort .dropdown-selector {
	position: relative;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	cursor: pointer;
}

.research-sort .dropdown-selector, .research-sort .dropdown-selector i {
    height: 50px;
    line-height: 50px;
    font-size: 13px;
}

.research-filter-bar {
	display: flex;
	align-items: center;
	gap: 5px;
	flex-wrap: wrap;
	margin-bottom: 25px;
}

.research-status-tabs {
	display: flex;
	flex-wrap: wrap;
	padding-left: 15px;
}

.research-status-tab {
	font-size: 12px;
	padding: 2px 12px;
	border-radius: 4px;
	color: var(--black)!important;
	border: 1px solid transparent;
	transition: all 0.15s ease;
	white-space: nowrap;
	align-items: center;
	display: inline-flex;
	gap: 5px;
	background-color: var(--white);
	margin-right: 5px;
	height: 30px;
	box-shadow: var(--box-shadow);
}

.research-status-tab:hover {
	color: var(--black);
	background: var(--hover-item);
}

.research-status-tab.active {
	color: var(--awhite)!important;
	background-color: var(--primary);
}

.research-status-tab.active i {
    color: var(--awhite);
}

.research-count-badge {
	display: inline-block;
	background: var(--primary);
	color: var(--awhite);
	font-size: 11px;
	padding: 0 5px;
	border-radius: 3px;
	min-width: 18px;
	text-align: center;
	margin-left: 4px;
}

.research-status-tab.active .research-count-badge {
	background: var(--awhite);
	color: var(--primary);
}

.research-type-filter,
.research-tag-filter {
	position: relative;
	flex-shrink: 0;
	height: 30px;
	line-height: 30px;
	display: flex;
	justify-content: center;
	cursor: pointer;
	font-size: 12px;
	background-color: var(--white);
	padding: 0 15px;
	border-radius: var(--border-radius-tiny);
	box-shadow: var(--box-shadow);
}

.research-type-filter i, .research-tag-filter i {
    line-height: 30px;
    height: 30px;
    margin: 0 0 0 4px;
    padding-right: 0!important;
}

.research-clear-filters {
	color: var(--light-text);
	font-size: 12px;
	display: inline-flex;
	gap: 6px;
	text-decoration: none!important;
	padding-top: 1px!important;
}

.research-clear-filters i {
    font-size: 15px!important;
    color: var(--primary);
}

/* ============================
   Session Cards
   ============================ */

.research-cards {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.research-card {
	background: var(--white);
	border: 1px solid var(--light-border);
	border-radius: var(--border-radius-tiny);
	/* box-shadow: var(--box-shadow); */
	padding: 25px 30px;
	cursor: pointer;
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
	flex: 1;
	min-width: calc(33.333% - 5px);
}

.research-card-doc-chip {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--light-text);
    font-size: 10px;
    text-transform: uppercase;
    margin-top: 0px;
}

.research-card-doc-chip i {
    font-size: 14px;
    color: var(--light-text);
}

.research-card:hover {
	/* box-shadow: var(--box-shadow); */
	background-color: var(--hover-item);
	border-color: var(--border);
}

.research-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	/* margin-bottom: 8px; */
	margin-top: 10px;
}

.research-card-badges {
	display: flex;
	align-items: center;
	gap: 6px;
}

.research-type-badge {
	font-size: 11px;
	padding: 0px 8px;
	border-radius: 3px;
	/* font-weight: 500; */
	text-transform: capitalize;
	background-color: var(--background-color);
	margin: 0 5px;
}

.badge-adhoc {
	background: var(--bgc);
	color: var(--light-text);
}

.badge-idea {
	background: var(--background-color);
	color: var(--orange);
}

.badge-project {
	color: var(--good);
}

.badge-task {
	background: #ede7f6;
	color: #9c27b0;
}

.research-status-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
	margin-left: 5px;
}

.research-status-dot.status-active {
	background: var(--primary);
}

.research-status-dot.status-completed {
	background: #22c55e;
}

.research-status-dot.status-archived {
	background: var(--light-text);
}

.research-card-visibility i {
	color: var(--light-text);
	font-size: 16px;
}

.research-card-title {
	margin: 0 0 1px;
	font-size: 14px!important;
	font-weight: 400!important;
	color: var(--black);
	line-height: 1.4;
}

.research-card-excerpt {
	font-size: 13px;
	color: var(--light-text);
	margin: 0;
	line-height: 1.5;
}

.research-card-source,
.research-card-strategy {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	color: var(--light-text);
	margin-bottom: 6px;
}

.research-card-source i,
.research-card-strategy i {
	font-size: 14px;
	color: var(--primary);
}

.research-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--border-color);
}

.research-card-author {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--light-text);
}

.research-avatar {
	width: 20px;
	height: 20px;
	border-radius: 5px;
	object-fit: cover;
}

.research-author-name {
	/* color: var(--black); */
	font-weight: 500;
}

.research-card-time {
	color: var(--light-text);
}

.research-card-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--light-text);
	margin-left: auto;
	margin-right: 10px;
}

.research-card-meta i {
	font-size: 14px;
}

.research-linked-count,
.research-build-count {
	display: flex;
	align-items: center;
	gap: 3px;
}

/* ============================
   Loading / Empty
   ============================ */

.research-loading {
	display: flex;
	justify-content: center;
	padding: 60px 0;
}

.research-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 80px 20px;
	text-align: center;
	color: var(--light-text);
	/* background-color: var(--white); */
	/* box-shadow: var(--box-shadow); */
	/* border-radius: var(--border-radius-tiny); */
}

.research-empty .btn-primary, .research-header-actions .btn-primary {
    color: var(--awhite);
	text-decoration: none;
}

i.research-empty-icon {
	font-size: 34px;
	color: var(--icon-color);
	margin-bottom: 16px;
}

.research-empty h6 {
	color: var(--black);
	margin-bottom: 8px!important;
}

.research-empty p {
	margin-bottom: 24px;
	margin-top: 0;
}

/* ============================
   Session View Layout
   ============================ */

.research-session {
	/* display: flex; */
	/* flex-direction: column; */
	/* height: calc(100dvh - 64px); */
	/* overflow: hidden; */
	/* border-left: 1px solid var(--light-border); */
	/* padding: 30px; */
	overflow: visible;
}

.dark .research-session {
    border-color: var(--light-border);
}

.dark .research-session {
    background-color: var(--extra-light);
}

.research-session-loading {
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc(100dvh - 64px);
}

/* ============================
   Session Header
   ============================ */

.research-session-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 8px;
	height: 52px;
	border-bottom: 1px solid var(--light);
	background: var(--white);
	flex-shrink: 0;
	gap: 12px;
}

.rsh-left {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
	min-width: 0;
	margin-left: -9px;
}

.rsh-back {
	flex-shrink: 0;
	background-color: var(--light-white)!important;
	border: 1px solid var(--border);
	padding: 0 10px!important;
	margin-right: 5px;
	margin-left: 10px;
	height: 30px;
	line-height: 30px;
}

.rsh-back:hover {
    border-color: var(--primary);
}

.rsh-back i {
    /* color: var(--primary); */
}

.rsh-title-wrap {
	display: flex;
	align-items: center;
	gap: 20px;
	min-width: 0;
	cursor: pointer;
}

.rsh-title {
	margin: 0;
	font-size: 15px!important;
	font-weight: 500;
	color: var(--black);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 400px;
	cursor: text;
}

.rsh-title:hover {
	color: var(--primary);
}

.rsh-title-edit {
	flex: 1;
	min-width: 0;
}

.research-title-input {
	border: 1px solid var(--primary);
	border-radius: var(--border-radius-tiny);
	padding: 4px 10px;
	font-size: 15px;
	font-weight: 500;
	color: var(--black);
	outline: none;
	width: 100%;
	max-width: 400px;
	margin-bottom: 0!important;
}

.rsh-status-badge {
	font-size: 11px;
	padding: 2px 8px;
	border-radius: 3px;
	font-weight: 500;
	text-transform: capitalize;
	flex-shrink: 0;
}

.rsh-status-active {
	background: var(--primary-lightest, rgba(0,120,255,0.1));
	color: var(--primary);
}

.rsh-status-completed {
	background: var(--good);
	color: var(--ablack);
}

.rsh-status-archived {
	background: var(--bg);
	color: var(--light-text);
}

.rsh-actions {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-shrink: 0;
}

.rsh-actions li a i {
    margin-right: 5px;
}

.rsh-actions ul.dropdown-content li a {
    font-size: 13px!important;
    padding: 0 20px!important;
    height: 50px!important;
    line-height: 50px!important;
    cursor: pointer;
}

.rsh-actions .btn, .rsh-actions .btn i {
    height: 50px;
    line-height: 50px;
    display: flex!important;
    gap: 3px;
    padding: 0!important;
}

.rsh-actions .btn {
    min-width: 50px;
    text-align: center;
    margin: 0 auto!important;
    font-size: 13px!important;
    color: var(--black)!important;
}

.rsh-actions .btn:hover {
    color: var(--primary)!important;
}

.rsh-actions .btn.btn-transparent.btn-small i {
    font-size: 14px!important;
}

.rsh-actions .btn.icon-button {
    width: 50px!important;
    text-align: center;
    display: flex;
    justify-content: center;
}

.rsh-actions .btn i {
    font-size: 16px!important;
}

.rsh-delete:hover {
	color: var(--danger, #f44336);
}

/* ============================
   Two-Pane Body
   ============================ */

.research-session-body {
	display: flex;
	flex: 1;
	background-color: var(--background-color);
	overflow: visible;
}

.research-pane {
	display: flex;
	flex-direction: column;
	/* overflow: hidden; */
	flex: 1;
}

.research-pane.research-pane-ai {
    border-radius: var(--border-radius-tiny);
    /* box-shadow: var(--box-shadow); */
    max-width: 62%;
    /* overflow: visible; */
}

.research-pane-ai {
	flex: 0 0 40%;
	min-width: 280px;
	padding-right: 0px;
}

.research-pane-canvas {
	flex: 0 0 calc(60% - 25px);
	overflow-y: auto;
	min-width: 580px;
	overflow: hidden;
	background-color: var(--white);
	/* border-left: 1px solid var(--light-border); */
	border-radius: var(--border-radius-tiny);
	box-shadow: var(--box-shadow);
	padding: 15px 30px 20px;
}

.research-pane-divider {
	width: 5px;
	cursor: col-resize;
	flex-shrink: 0;
	transition: background 0.15s ease;
	padding: 0 1px;
	margin: 15px 15px 15px 17px;
	background-color: var(--white);
	border-radius: 30px;
}

.dark .research-pane-divider {
    background-color: var(--light-border);
}

.research-pane-divider:hover {
	background: var(--primary);
}

body.research-resizing {
	cursor: col-resize !important;
	user-select: none;
}

body.research-resizing * {
	pointer-events: none;
}

/* ============================
   Pane Headers
   ============================ */

.research-pane-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 0 0 25px;
	/* border-bottom: 1px solid var(--border); */
	flex-shrink: 0;
	/* border-top: 1px solid var(--light); */
	height: 60px;
}

.dark .research-pane-header {
    border-color: var(--light-border);
}

.research-pane-ai .research-pane-header {padding: 0 18px 0 28px;background-color: var(--white);border-bottom: 1px solid var(--light-border);}

/*
   Unified canvas header (May 2026): the single top bar that combines the old
   session header (back/title/state chip + status/visibility/share/delete) with
   the canvas action icons (context/sources/generate/settings). Background +
   slightly larger gap matches the AI pane header for a coherent look.
*/
.research-pane-header-canvas {
	background-color: var(--white);
	padding: 0;
	gap: 5px;
}

.research-pane-label {
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
}

.research-canvas-actions {
	display: flex;
	align-items: center;
	gap: 0px;
	height: 50px;
	line-height: 50px;
}

.research-pane-header-divider {
	width: 1px;
	height: 18px;
	background: var(--light);
	margin: 0 6px;
	flex-shrink: 0;
}

/*
   Drawer-as-editor (May 2026): when a drawer (Context / Sources / Settings)
   is open the editor itself is hidden via ng-show, so the drawer should
   fill the remaining canvas area between header and footer rather than
   sitting as a slim band above the editor. flex: 1 + auto overflow lets
   long drawers scroll internally.
*/
.research-pane-canvas .research-context-drawer,
.research-pane-canvas .research-sources-drawer,
.research-pane-canvas .research-settings-drawer {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	border-bottom: none;
	z-index: 999999;
}

.research-pane-canvas {
	/* display: flex; */
	/* flex-direction: column; */
	/* height: calc(100dvh - 64px); */
	position: relative;
}

/* ============================
   Settings Drawer
   ============================ */

.research-settings-btn {
	color: var(--light-text) !important;
	padding: 0 5px !important;
	height: 28px;
	line-height: 28px;
	border-radius: var(--border-radius-tiny);
	display: flex;
	align-items: center;
}

.research-settings-btn:hover {
	color: var(--primary) !important;
	/* background: var(--bg) !important; */
}

.research-settings-btn.active {
	color: var(--primary) !important;
	/* background: var(--primary-lightest, rgba(0,120,255,0.06)) !important; */
}

.research-settings-btn i {
	font-size: 18px !important;
}

.research-settings-drawer {
	border-bottom: 1px solid var(--border-color);
	background: var(--background-color);
	padding: 30px;
	flex-shrink: 0;
	height: calc(100dvh - 289px);
	overflow-y: auto;
	border-radius: var(--border-radius-tiny);
}

.dark .research-settings-drawer {
    /* background-color: var(--extra-light); */
}

.rsd-row {
	display: flex;
	align-items: center;
	min-height: 34px;
	margin-bottom: 3px;
}

.rsd-row-wrap {
	align-items: center;
	padding: 10px 0;
}

.rsd-label {
	font-size: 12px;
	color: var(--black);
	font-weight: 500;
	width: 150px;
	flex-shrink: 0;
	padding-top: 2px;
	line-height: 15px;
}

.rsd-value {
	flex: 1;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
}

.rsd-selector {
	font-size: 12px;
	padding: 0px 15px;
	height: 40px;
	line-height: 40px;
	border: 1px solid var(--light-border);
	border-radius: var(--border-radius-tiny);
	background: var(--white);
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 5px;
}

.rsd-selector > span {
	background: transparent !important;
	height: auto !important;
	line-height: normal !important;
}

.rsd-section-group {
	/* border-top: 1px solid var(--light-border); */
	margin-top: 20px;
	padding-top: 10px;
}

.rsd-group-label {
	font-size: 10px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--light-text);
}

.rsd-connection {
	font-size: 13px;
	color: var(--black);
}

.rsd-connection i {
	font-size: 14px;
	color: var(--light-text);
}

.rsd-flex-1 {
	flex: 1;
}

.rsd-unlink {
	color: var(--light-text);
	display: flex;
	align-items: center;
	opacity: 0;
	transition: opacity 0.15s;
}

.rsd-row:hover .rsd-unlink {
	opacity: 1;
}

.rsd-build-history {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.rsd-history-item {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--black);
	padding: 2px 15px;
	height: 50px;
	line-height: 40px;
	background-color: var(--white);
	border-radius: var(--border-radius-tiny);
}

.rsd-history-item i {
	font-size: 14px;
	color: var(--light-text);
}

.rsd-history-count {
	font-size: 12px;
	color: var(--light-text);
}

.research-saving-indicator {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	line-height: unset!important;
	color: var(--light-text);
	padding: 0 15px;
	width: 230px;
	font-style: italic;
}

.research-saving-indicator i {
	font-size: 14px;
	margin: 3px;
}

/* ============================
   Model Selector
   ============================ */

.research-pane-model {
	position: relative;
}

.research-model-selector {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--black);
	cursor: pointer;
	padding: 4px 8px;
	border-radius: var(--border-radius-tiny);
}

.research-model-selector:hover {
	background: var(--white);
}

.research-model-logo {
	width: 16px;
	height: 16px;
	object-fit: contain;
}

.research-model-logo-sm {
	width: 14px;
	height: 14px;
	object-fit: contain;
	margin-right: 4px;
	vertical-align: middle;
}

.research-model-name {
	font-size: 12px;
}

.research-model-dropdown {
	min-width: 200px;
}

.research-model-dropdown .dropdown-header {
	font-size: 11px;
	text-transform: uppercase;
	color: var(--light-text);
	padding: 0 15px;
	font-weight: 600;
	line-height: 50px!important;
	user-select: none;
}

.research-model-dropdown .dropdown-header:hover {
    background-color: transparent;
}

/* ============================
   AI Chat Messages
   ============================ */

.research-chat-messages {
	flex: 1;
	overflow-y: auto;
	box-sizing: border-box;
	padding: 35px  30px!important;
	/* display: flex; */
	justify-content: center;
	/* flex-direction: column; */
	gap: 20px;
	background-color: var(--white);
}

.research-pane-ai .research-chat-messages.oe {
    overflow-y: auto;
    min-height: 100px;
    max-height: calc(100dvh - 301px);
    /* display: flex; */
    /* flex-direction: column; */
    height: 100%;
    box-sizing: border-box;
}

.research-pane-ai .research-chat-messages.oe > div {
    margin-bottom: 25px;
}

.research-pane-ai .research-chat-messages.oe .research-message-bubble {
    border: 1px solid var(--light-border);
    max-width: 90%;
}

.dark .research-chat-messages {
    background-color: var(--extra-light);
}

.research-chat-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 40px 20px;
	color: var(--light-text);
	gap: 12px;
	margin-bottom: 0!important;
	align-self: center;
	max-width: 70%;
	width: 100%;
	margin: auto!important;
}

.research-chat-empty i {
	font-size: 30px;
	color: var(--border-color);
}

.research-chat-empty p {
	font-size: 13px;
	line-height: 1.6;
	/* max-width: 280px; */
	margin: 0;
}

.research-message {
	display: flex;
}

.research-message-user {
	justify-content: flex-end;
}

.research-message-user .research-message-bubble {
    color: var(--awhite)!important;
}

.research-message-ai {
	justify-content: flex-start;
	width: 100%;
}

.research-message-bubble {
	max-width: 800px;
	padding: 25px;
	border-radius: var(--border-radius-tiny);
	font-size: 14px;
	line-height: 1.6;
}

.research-message-user .research-message-bubble {
	background: var(--primary);
	color: var(--white);
	border-bottom-right-radius: 4px;
	padding: 15px;
	border-color: var(--primary)!important;
	float: right;
}

.research-message-ai .research-message-bubble {
	background: var(--background-color);
	color: var(--black);
	border-bottom-left-radius: 4px;
}

.dark .research-message-ai .research-message-bubble {
    /* background-color: var(--extra-light); */
}

.research-message-text,
.research-message-text-plain {
	word-break: break-word;
}

.research-message-actions {
	margin-top: 8px;
	display: flex;
	gap: 4px;
}

.research-message-actions a.btn {
    display: flex;
    justify-content: center;
    gap: 7px;
    /* margin-left: -15px!important; */
    height: 34px;
    line-height: 34px;
    text-decoration: none!important;
    font-weight: 500;
    padding: 0 10px!important;
    /* border: 1px solid var(--light-border); */
    background-color: var(--white)!important;
}

.research-message-actions a.btn i {
    color: var(--primary);
    transition: all .15s ease-in-out;
}

.research-message-actions a.btn:hover {
    background-color: var(--primary)!important;
}

.research-message-actions a.btn:hover, .research-message-actions a.btn:hover i {
    color: var(--awhite)!important;
}

.research-message-actions a.btn:hover i {
    color: var(--primary);
}

.research-save-to-canvas {
	font-size: 12px;
	color: var(--primary);
	height: 26px;
	line-height: 26px;
	padding: 0 8px;
}

.research-save-to-canvas i {
	font-size: 14px;
}

/* ============================
   Thinking / Tool Steps
   ============================ */

.research-thinking-section {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 4px 0;
	position: relative;
}

.research-thinking-section::before {
    content: ' ';
    width: 1px;
    height: 96%;
    background-color: var(--black);
    display: flex;
    position: absolute;
    left: 15px;
    z-index: 1;
}

.research-thinking-item,
.research-tool-step {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--light-text);
	padding: 10px;
	border-radius: var(--border-radius-tiny);
	background: var(--background-color);
	max-width: max-content;
}

.dark .research-thinking-item, .dark .research-tool-step {
    background-color: var(--white);
}

.research-thinking-item {
    align-items: start!important;
    width: 100%;
}

.research-thinking-item i {
    margin-top: 4px;
    color: var(--primary);
}

.research-thinking-step * {
    font-size: 13px!important;
}

.research-thinking-summary {
    color: var(--black);
}

.research-thinking-detail {
    line-height: normal;
}

.research-thinking-text {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.research-thinking-item i,
.research-tool-step i {
	font-size: 14px;
}

.research-tool-step.completed i {
    color: var(--good);
}

.research-tool-duration {
	color: var(--light-text);
	margin-left: 4px;
}

.research-model-thinking-block {
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius-tiny);
	overflow: hidden;
	font-size: 12px;
	display: flex;
	flex-direction: column;
}

.research-model-thinking-header {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	background: var(--background-color);
	cursor: pointer;
	font-weight: 400;
	color: var(--black);
}

.dark .research-model-thinking-header {
    background-color: var(--white);
}

.research-model-thinking-header i {
    color: var(--primary);
}

.research-model-thinking-header:hover {
	/* background: var(--border-color); */
}

.research-model-thinking-header i {
	font-size: 14px;
}

.research-model-thinking-content {
	padding: 0 30px 10px;
	text-align: left;
	background-color: var(--background-color);
	color: var(--black);
	font-size: 12px;
	line-height: 1.6;
	max-height: 300px;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
}

.dark .research-model-thinking-content {
    background-color: var(--white);
}

/* Animated dots for waiting */
.research-thinking-dots {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 4px 0;
}

.research-thinking-dots span {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--light-text);
	animation: research-dot-bounce 1.4s infinite ease-in-out;
}

.research-thinking-dots span:nth-child(2) {
	animation-delay: 0.2s;
}

.research-thinking-dots span:nth-child(3) {
	animation-delay: 0.4s;
}

@keyframes research-dot-bounce {
	0%, 60%, 100% { transform: translateY(0); }
	30% { transform: translateY(-6px); }
}

/* ============================
   Chat Input
   ============================ */

.research-chat-input-area {
	padding: 0;
	border-top: 1px solid var(--border-color);
	/* background: var(--white); */
	flex-shrink: 0;
}

.research-chat-input-wrap {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	background: var(--white);
	border-top: 1px solid var(--light-border);
	padding: 10px;
	transition: border-color 0.15s ease;
}

.dark .research-chat-input-wrap {
    border-color: var(--light-border);
}

.dark .research-chat-input-wrap {
    /* background-color: var(--extra-light); */
}

.research-chat-input-wrap:focus-within {
	/* border-color: var(--primary); */
}

.research-chat-textarea {
	flex: 1;
	border: none;
	outline: none;
	background: transparent;
	resize: none;
	font-size: 14px;
	color: var(--black);
	line-height: 1.5;
	min-height: 60px;
	max-height: 120px;
	overflow-y: auto;
}

.research-chat-textarea::placeholder {
	color: var(--light-text);
}

.btn.btn-primary.research-chat-send {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	padding: 0;
	line-height: 36px;
	border-radius: 5px;
	background-color: var(--primary)!important;
	text-align: center;
	padding: 0!important;
	cursor: pointer;
}

.research-chat-send i {
	font-size: 18px;
}

/* ============================
   Canvas Sections
   ============================ */

.research-canvas-editor-wrap {
	/* padding: 20px; */
	/* background-color: var(--background-color); */
	position: relative;
}

.dark .research-canvas-editor-wrap {
    /* background-color: var(--xwhite); */
}

.research-canvas-editor {
	min-height: 300px;
	background-color: var(--background-color)!important;
}

jtsyn-editor.research-canvas-editor .cke_wysiwyg_div, jtsyn-editor.research-canvas-editor .cke_toolbox {
    padding-left: 10px!important;
    padding-right: 10px;
}

.research-canvas-loading {
	display: flex;
	justify-content: center;
	padding: 40px 0;
}

.research-section-header {
	display: flex;
	align-items: center;
	justify-content: flex-start!important;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--light-text);
	padding: 8px 20px;
	border-top: 1px solid var(--border-color);
}

.research-section-header i {
	font-size: 14px;
}

.collapsible-toggle {
	cursor: pointer;
	justify-content: space-between;
}

.collapsible-toggle:hover {
	color: var(--black);
}

.research-linked-entities,
.research-source-entity,
.research-strategy-section,
.research-tags-section,
.research-build-history {
	padding-bottom: 8px;
}

.research-strategy-section {
    border-top: 1px solid var(--light-border);
}

.research-entity-list,
.research-build-history-list {
	padding: 4px 16px 8px;
}

.research-entity-item,
.research-build-history-item {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--black);
	padding: 4px 0;
}

.research-entity-item i,
.research-build-history-item i {
	font-size: 16px;
	color: var(--light-text);
}

.research-entity-name,
.research-entity-item span:not(.research-entity-unlink) {
	flex: 1;
}

.research-entity-unlink {
	color: var(--light-text);
	opacity: 0;
	transition: opacity 0.15s ease;
}

.research-entity-item:hover .research-entity-unlink {
	opacity: 1;
}

.research-source-link {
	padding: 4px 16px 8px;
	font-size: 13px;
	color: var(--black);
	display: flex;
	align-items: center;
	gap: 6px;
}

.research-source-link i {
	font-size: 16px;
	color: var(--light-text);
}

/* ============================
   Strategy Fields
   ============================ */

.research-strategy-fields {
	padding: 8px 16px;
}

.research-strategy-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
}

.research-strategy-row label {
	font-size: 12px;
	color: var(--light-text);
	width: 60px;
	flex-shrink: 0;
}

.research-strategy-dropdown {
	flex: none;
	font-size: 13px;
	padding: 0px 15px;
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius-tiny);
	background: var(--background-color);
	cursor: pointer;
	width: auto!important;
	display: flex;
	height: 50px;
	line-height: 50px;
	align-items: center;
}

.research-strategy-dropdown > span {
    background-color: transparent!important;
    height: auto!important;
    line-height: 40px;
}

.research-strategy-display {
	padding: 4px 16px 8px;
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.research-strategy-tag {
	font-size: 12px;
	background: var(--bg);
	color: var(--light-text);
	padding: 2px 8px;
	border-radius: 2px;
}

/* ============================
   Tags
   ============================ */

.research-tags-list {
	padding: 4px 20px 8px;
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.research-tag {
	font-size: 12px;
	height: 40px;
	line-height: 40px;
	padding: 0px 15px;
	border-radius: 3px;
	background: var(--white);
	color: var(--black)!important;
	border: 1px solid var(--border-color);
	transition: all 0.15s ease;
}

.research-tag:hover {
	border-color: var(--primary);
	color: var(--primary);
}

.research-tag.active {
	background: var(--primary);
	color: var(--awhite)!important;
	border-color: var(--primary);
}

/* ============================
   Build History
   ============================ */

.research-build-task-count {
	font-size: 11px;
	color: var(--light-text);
}

/* ============================
   Session Footer & Build Actions
   ============================ */

.research-session-footer {
	/* border-top: 1px solid var(--light-border); */
	background: var(--white);
	padding: 0;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 50px;
	line-height: 50px;
	gap: 8px;
	/* position: absolute; */
	/* bottom: 0; */
	/* left: 0; */
	/* right: 0; */
}

.dark .research-session-footer {
    border-color: var(--light-border);
}

.research-canvas-actions-footer {
	gap: 0px;
	margin-right: auto;
}

.research-build-actions {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 15px;
	flex-wrap: wrap;
	padding-right: 5px;
	margin-left: auto;
}

.research-build-actions .btn.btn-small {
    /* text-transform: uppercase; */
    font-weight: 400;
    font-size: 12px;
    padding: 0 3px!important;
    color: var(--primary)!important;
}

.rsh-delete {
    margin-right: 10px;
    color: var(--warning)!important;
}

.rsh-delete i {
    color: var(--icon-color)!important;
}

.rsh-delete:hover i {
    color: var(--warning)!important;
}

.research-build-actions .btn.btn-small i {
    color: var(--primary);
}

.research-build-actions .btn.btn-small:hover {
    color: var(--primary)!important;
}

.research-build-actions .btn.btn-small i {
    /* color: var(--primary); */
}

.research-build-label {
	font-size: 12px;
	color: var(--light-text);
	/* font-weight: 500; */
	flex-shrink: 0;
}

.research-build-btn {
	font-size: 13px;
	color: var(--primary);
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius-tiny);
	height: 32px;
	line-height: 32px;
	padding: 0!important;
}

.research-build-btn:hover {
	border-color: var(--primary);
	background: var(--primary-lightest, rgba(0,120,255,0.05));
}

.research-build-btn i {
	font-size: 14px;
}

/* ============================
   Build Content (inside left pane)
   ============================ */

.research-build-content {
	flex: 1;
	overflow-y: auto;
	padding: 25px;
	max-height: calc(100dvh - 166px);
	background-color: var(--white);
}

.research-pane-header-inner {
	display: flex;
	align-items: center;
	width: 100%;
}

.research-pane-header-inner > a {
    padding-left: 3px!important;
}

.research-pane-header-inner:first-child {
	justify-content: space-between;
}

.research-pane-header-inner .research-build-header-label {
	flex: 1;
	text-align: left;
	padding-right: 36px;
	padding-left: 7px;
}

.research-build-header-label {
	color: var(--primary);
}

.research-build-generate {
	padding: 8px 0;
}

.research-build-assignee-selector {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	cursor: pointer;
}

.research-build-optional {
	font-size: 11px;
	color: var(--light-text);
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
}

.research-build-task-row {
	display: flex;
	align-items: flex-start;
	gap: 6px;
}

.research-build-task-row .research-build-task-summary {
	flex: 1;
	cursor: pointer;
}

.research-build-task-row .research-build-task-summary:hover {
	color: var(--primary);
}

.research-build-task-expand {
	flex-shrink: 0;
	color: var(--light-text);
	display: flex;
	align-items: center;
}

.research-build-task-expand:hover {
	color: var(--primary);
}

.research-build-error {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--warning);
	background: var(--background-color);
	border-radius: var(--border-radius-tiny);
	padding: 8px 12px;
	margin-bottom: 12px;
}

.research-build-desc {
	font-size: 13px;
	color: var(--light-text);
	margin-bottom: 16px;
	line-height: 1.5;
}

.research-build-progress {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--light-text);
	margin-bottom: 12px;
}

.research-build-field {
	/* margin-bottom: 14px; */
}

.research-build-field label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--light-text);
	margin-bottom: 6px;
}

.research-build-count {
	font-size: 11px;
	color: var(--light-text);
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
}

.research-build-input {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid var(--light-border);
	border-radius: var(--border-radius-tiny)!important;
	font-size: 14px!important;
	color: var(--black);
	outline: none;
	background: var(--background-color)!important;
	padding: 0 15px!important;
	margin-bottom: 20px;
}

.research-build-input:focus {
	border-color: var(--primary);
}

.research-build-textarea {
	width: 100%;
	padding: 20px;
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius-tiny);
	font-size: 13px;
	color: var(--black);
	outline: none;
	resize: vertical;
	background: var(--background-color);
	height: unset;
}

.research-build-desc-preview {
	padding: 20px;
	background: var(--bg);
	border-radius: var(--border-radius-tiny);
	font-size: 13px;
	color: var(--black);
	line-height: 1.5;
	max-height: calc(100dvh - 409px);
	overflow-y: auto;
}

.research-build-editor-wrap {
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius-tiny);
	max-height: calc(100dvh - 420px);
	overflow-y: auto;
	background: var(--white);
}

.research-build-idea-editor {
	display: block;
	min-height: 160px;
}

.research-build-task-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.research-build-task-item {
	padding: 15px;
	background: var(--bg);
	border-radius: var(--border-radius-tiny);
}

.research-build-checkbox {
	display: flex;
	align-items: flex-start;
	flex-shrink: 0;
	cursor: pointer;
	margin: 0;
}

.research-build-checkbox input {
	flex-shrink: 0;
	margin-top: 2px;
	position: relative;
	opacity: 1;
	pointer-events: auto;
}

.research-build-task-summary {
	font-size: 13px;
	color: var(--black);
	font-weight: 500;
}

.research-build-task-desc {
	font-size: 12px;
	color: var(--light-text);
	margin: 4px 0 0 22px;
}

.research-build-actions-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
}

.research-build-actions-row .btn {
    color: var(--awhite);
    font-size: 13px;
}

.research-project-search {
	position: relative;
}

.research-project-search-results {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--white);
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius-tiny);
	box-shadow: var(--box-shadow);
	z-index: 100;
	max-height: 180px;
	overflow-y: auto;
	list-style: none;
	padding: 0;
	margin: 2px 0 0;
}

.research-project-search-results li {
	padding: 8px 12px;
	font-size: 13px;
	cursor: pointer;
	color: var(--black);
}

.research-project-search-results li:hover {
	background: var(--bg);
}

/* ============================
   Spinning animation
   ============================ */

@keyframes spinning {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

.spinning {
	animation: spinning 1s linear infinite;
}

/* ============================
   Responsive
   ============================ */

@media (max-width: 768px) {
	.research-page {
		padding: 20px;
	}

	.research-session-body {
		flex-direction: column;
	}

	.research-pane-ai,
	.research-pane-canvas {
		flex: 0 0 50%;
		border-right: none;
		border-bottom: 1px solid var(--border-color);
		min-width: 0;
	}

	.research-pane-divider {
		width: 100%;
		height: 5px;
		cursor: row-resize;
	}

	.research-cards {
		grid-template-columns: 1fr;
	}

	.rsh-title {
		max-width: 200px;
	}

	.rsh-actions .hide-on-small-only {
		display: none;
	}
}


#researchModelDropdown {
    left: 0px!important;
    right: unset;
    max-height: 50dvh!important;
}

.research-pane-model li a {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 0 15px!important;
    gap: 5px;
    height: 50px;
    line-height: 50px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.research-canvas-editor-wrap .cke_editable {
    height: calc(100dvh - 341px);
    padding-top: 15px;
    padding: 15px 30px 30px;
}

.research-build-generate .btn {
    color: var(--awhite)!important;
}

.research-share-btn-wrap {
    display: flex;
}

/* ============================
   Generate Dropdown
   ============================ */

.research-generate-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.research-generate-btn {
    display: flex;
    align-items: center;
    gap: 2px;
}

.research-generate-dropdown {
    min-width: 180px;
    right: 0;
    left: unset !important;
    bottom: 0;
    top: unset!important;
}

.research-generate-dropdown li a {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 44px;
    line-height: 44px;
    padding: 0 20px!important;
}

/* ============================
   Context Button & Badge
   ============================ */

.research-canvas-actions .btn {
    position: relative;
    height: 50px;
    text-align: center;
    min-width: 50px;
    /* width: 50px; */
    line-height: 50px;
    border-radius: 0px!important;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 0 15px 0 0!important;
}

.research-canvas-actions .btn.active i {
    color: var(--primary)!important;
}

.research-canvas-actions .btn > span {
    transition: all .2s ease-in-out;
}

.research-canvas-actions .btn:hover > span {
    color: var(--primary);
}

.btn.btn-small.research-sources-btn:hover i, .btn.btn-small.research-context-btn:hover i {
    /* background-color: var(--background-color)!important; */
    color: var(--primary);
}

.btn.btn-small.research-sources-btn:hover i, .btn.btn-small.research-context-btn:hover i {
    color: var(--primary)!important;
}

.research-canvas-actions .btn > span {
    color: var(--black);
    font-size: 12px;
}

span.research-context-badge {
    color: var(--awhite)!important;
    font-size: 11px!important;
}

.research-canvas-actions .btn i:first-child {
    font-size: 16px;
}

.research-canvas-actions .btn i {
    float: none;
    margin: 0 auto;
}

.research-canvas-actions .active i {
    color: var(--primary);
}

.research-generate-dropdown li {
    line-height: 50px!important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.research-context-badge {
    position: absolute;
    top: 6px;
    right: 1px;
    background: var(--primary);
    color: #fff;
    border-radius: 3px;
    font-size: 9px;
    font-weight: 600;
    line-height: 1;
    padding: 3px 4px;
    min-width: 16px;
    text-align: center;
    pointer-events: none;
}

/* ============================
   Context Drawer
   ============================ */

.research-context-drawer {
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    /* max-height: 55dvh; */
    /* overflow-y: auto; */
    background-color: var(--background-color);
    height: calc(100dvh - 289px);
    border-radius: var(--border-radius-tiny);
}

.research-context-source {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.research-context-entity-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.research-context-entity-row {
    display: flex;
    align-items: center;
    gap: 6px;
    background-color: var(--white);
    padding: 0 15px 0 10px;
    justify-content: center;
    height: 50px;
    line-height: 50px;
    text-decoration: none;
    border-radius: var(--border-radius-tiny);
}

.research-context-entity-row a {
    text-decoration: none!important;
    /* line-height: unset; */
}

.research-context-entity-link {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    font-size: 13px;
    color: var(--text-primary, #222);
    text-decoration: none;
    padding: 0px 8px;
    border-radius: 6px;
    transition: background 0.15s;
    overflow: hidden;
}

.research-context-entity-link:hover {
    background: var(--hover-bg, rgba(0,0,0,0.05));
    color: var(--apurple, #7c4dff);
}

.research-context-entity-name {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--black);
}

.research-context-nav-icon {
    font-size: 13px !important;
    opacity: 0.4;
    flex-shrink: 0;
}

.research-context-unlink {
    color: var(--text-light, #999);
    padding: 0 4px;
    /* border-radius: 4px; */
    flex-shrink: 0;
    font-size: 13px;
}

.research-context-unlink i {
    font-size: 13px;
    line-height: 20px;
    vertical-align: middle;
}

.research-context-unlink:hover i {
    color: var(--warning);
}

.research-context-search-wrap {
    display: flex;
    flex-direction: column;
    gap: 0px;
    padding-top: 4px;
    position: relative;
}

.research-context-pills {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    margin-bottom: 5px;
}

.research-context-pill {
    font-size: 12px;
    /* font-weight: 600; */
    padding: 5px 15px;
    border-radius: 3px;
    color: var(--text-secondary, #666);
    text-decoration: none;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
    background-color: var(--white);
    color: var(--black)!important;
}

.research-context-pill:hover,
.research-context-pill.active {
    background: var(--primary);
    color: var(--awhite)!important;
    border-color: var(--primary);
    text-decoration: none;
}

.research-context-search-input-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
    /* background: var(--bg-input, rgba(0,0,0,0.04)); */
    /* border-radius: 8px; */
    padding: 0 10px;
    height: 50px;
    line-height: 50px;
    padding: 0 15px;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
}

.research-context-searching .preloader-wrapper {
    width: 20px!important;
    height: 20px!important;
    margin-top: 20px;
}

.research-context-search-icon {
    color: var(--text-light, #aaa);
    flex-shrink: 0;
}

.research-context-search-input {
    flex: 1;
    border: none;
    background: transparent;
    outline: none;
    font-size: 13px!important;
    padding: 8px 0;
    color: var(--black);
    box-shadow: none !important;
    height: auto !important;
    margin: 0 !important;
}

.research-context-searching {
    flex-shrink: 0;
}

.research-context-results {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 180px;
    overflow-y: auto;
    margin-top: 50px;
}

.research-context-result-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0px 15px;
    border-radius: 3px;
    font-size: 13px;
}

.research-context-result-item:hover {
    background: var(--white);
    cursor: pointer;
}

.research-context-result-name {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--black);
}

.research-context-result-type {
    font-size: 10px!important;
    font-weight: 400;
    text-transform: uppercase;
    color: var(--light-text)!important;
    flex-shrink: 0;
}

.research-context-add-btn {
    flex-shrink: 0;
    padding: 0 6px !important;
    height: 26px !important;
    line-height: 26px !important;
}

.research-context-no-results {
    font-size: 12px;
    color: var(--text-light, #aaa);
    padding: 6px 8px;
    font-style: italic;
}

/* ============================
   Sources Drawer — Selector / URL
   ============================ */

.research-sources-selector-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.research-sources-count-label {
    font-weight: 400;
    color: var(--text-secondary, #666);
}

.research-sources-selector-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: var(--apurple, #7c4dff);
}

.research-sources-selector-actions a {
    color: var(--apurple, #7c4dff);
}

.research-source-checkbox {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    accent-color: var(--apurple, #7c4dff);
    cursor: pointer;
}

.research-source-checkbox-img {
    position: absolute;
    top: 6px;
    left: 6px;
    z-index: 1;
}

.research-source-deselected {
    opacity: 0.45;
}

.research-sources-image-item {
    position: relative;
}

.research-sources-source-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: flex-end;
    margin-top: 2px;
}

.research-sources-summarize-btn {
    color: var(--text-light, #aaa);
    padding: 2px 4px;
    border-radius: 4px;
    font-size: 12px;
    display: flex;
    align-items: center;
}

.research-sources-summarize-btn:hover {
    color: var(--apurple, #7c4dff);
    background: rgba(124, 77, 255, 0.08);
}

.research-sources-summarizing {
    display: flex;
    align-items: center;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.spinning {
    animation: spin 1s linear infinite;
    display: inline-flex;
}

.research-sources-summary {
    font-size: 11px;
    color: var(--text-secondary, #666);
    line-height: 1.4;
    margin: 3px 0 0;
    padding: 4px 6px;
    background: var(--bg-subtle, rgba(0,0,0,0.03));
    border-radius: 4px;
    border-left: 2px solid var(--border-medium, rgba(0,0,0,0.12));
}

.research-sources-file-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.research-sources-url-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 6px 4px;
    border-bottom: 1px solid var(--border-light, rgba(0,0,0,0.06));
}

.research-sources-favicon {
    width: 16px;
    height: 16px;
    border-radius: 2px;
    flex-shrink: 0;
    margin-top: 2px;
}

.research-sources-url-body {
    flex: 1;
    min-width: 0;
}

.research-sources-url-title {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-primary, #222);
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.research-sources-url-title:hover {
    color: var(--apurple, #7c4dff);
    text-decoration: underline;
}

.research-sources-url-input-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 5px 0 20px;
    height: 50px;
    margin-top: 4px;
    background-color: var(--white);
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
}

.research-sources-url-input {
    flex: 1;
    border: 1px solid var(--border-light, rgba(0,0,0,0.12));
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 12px;
    color: var(--text-primary, #222);
    background: var(--bg-input, rgba(0,0,0,0.03));
    outline: none;
    height: auto !important;
    box-shadow: none !important;
    margin: 0 !important;
}

input.research-sources-url-input {
    color: var(--black)!important;
    font-size: 13px!important;
}

.research-sources-url-input input {
    font-size: 12px!important;
}

.research-sources-url-loading {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

/* ============================
   Inline Citations
   ============================ */

.research-citation {
    display: inline;
    background: rgba(124, 77, 255, 0.1);
    color: var(--apurple, #7c4dff);
    border-radius: 3px;
    padding: 1px 4px;
    font-size: 0.85em;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    border-bottom: 1px dashed var(--apurple, #7c4dff);
    transition: background 0.15s;
}

.research-citation:hover {
    background: rgba(124, 77, 255, 0.18);
}

@keyframes researchSourceHighlight {
    0% { background: rgba(124, 77, 255, 0.25); }
    100% { background: transparent; }
}

.research-sources-highlight {
    animation: researchSourceHighlight 2s ease-out forwards;
    border-radius: 6px;
}

/* ============================
   Audio Player
   ============================ */

.research-audio-player {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    background: var(--bg-subtle, rgba(0,0,0,0.03));
    border-bottom: 1px solid var(--border-light, rgba(0,0,0,0.08));
}

.research-audio-icon {
    color: var(--apurple, #7c4dff);
    flex-shrink: 0;
}

.research-audio-element {
    flex: 1;
    height: 32px;
}

.research-audio-regen,
.research-audio-dismiss {
    color: var(--text-light, #aaa);
    flex-shrink: 0;
    padding: 4px;
    border-radius: 4px;
    display: flex;
    align-items: center;
}

.research-audio-regen:hover {
    color: var(--apurple, #7c4dff);
}

.research-audio-dismiss:hover {
    color: var(--aerror, #e53935);
}

/* ============================
   Mind Map Modal
   ============================ */

.research-mindmap-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}

.research-mindmap-modal {
    background: var(--xwhite);
    border-radius: var(--border-radius-tiny);
    width: calc(100% - 40px);
    max-width: 800px;
    max-height: calc(100dvh - 80px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: var(--box-shadow-extra);
}

.research-mindmap-modal-header {
    display: flex;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border-light, rgba(0,0,0,0.08));
    gap: 8px;
}

.research-mindmap-modal-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--black);
    flex: 1;
}

.research-mindmap-modal-actions {
    display: flex;
    align-items: center;
    gap: 4px;
}

.research-mindmap-modal-actions a {
    display: flex;
    gap: 5px;
    text-decoration: none!important;
}

.research-mindmap-modal-body {
    flex: 1;
    overflow: auto;
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.research-mindmap-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    color: var(--text-secondary, #666);
    font-size: 13px;
}

.research-mindmap-error {
    color: var(--aerror, #e53935);
    font-size: 13px;
    text-align: center;
}

.research-mindmap-container {
    width: 100%;
    min-height: 300px;
}

.research-mindmap-container .mermaid {
    display: flex;
    justify-content: center;
}

.research-mindmap-container svg {
    max-width: 100%;
    height: auto;
}

.research-sources-empty i {
    font-size: 16px;
    vertical-align: top;
    margin-right: 10px;
    float: left;
    margin-top: 2px;
}

.research-sources-drawer {
    background-color: var(--background-color);
    padding: 40px;
    height: calc(100dvh - 289px);
}

.dark .research-sources-drawer, .dark .research-context-drawer {
    /* background-color: var(--extra-light); */
}

.research-sources-upload-zone {
    height: 100px;
    line-height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border: 1px dashed var(--border);
    border-radius: var(--border-radius-tiny);
    margin-top: 20px;
    cursor: pointer;
    font-size: 13px;
    /* background-color: var(--white); */
}

.research-sources-empty {
    font-weight: 500;
    margin-bottom: 10px;
    font-size: 13px;
}

.research-generate-dropdown li a i {
    margin-right: 0;
    margin-left: 0;
}

/* ps-070 (from jtsyn-mobile): mobile spaced paragraphs 6 px apart, so people pressed Return twice,
   leaving empty paragraphs (a <p> holding only ProseMirror's trailing <br>). On the web canvas each
   added a paragraph margin on top of its blank line: two of them read as a 94 px gap. Without the
   margin it's 66 px, and the lines stay editable (hiding them would hide the caret). Mobile now
   cleans them on save; existing canvases keep them until they're cleaned. */
.research-canvas-editor-wrap .jtsyn-tiptap-content p:has(> br.ProseMirror-trailingBreak:only-child) {
	margin-bottom: 0;
}

.research-canvas-editor-wrap .tiptap.jtsyn-tiptap-content {
    overflow-y: auto;
    padding: 25px 5px 30px;
    height: calc(100dvh - 328px);
}

.dark .research-canvas-editor-wrap .tiptap.jtsyn-tiptap-content {
    /* background-color: var(--extra-light); */
}

.research-session-wrap {
    /* box-shadow: var(--box-shadow); */
    /* border-radius: var(--border-radius-tiny); */
    /* overflow: visible; */
}

.research-card-visibility {
    display: flex;
    align-items: center;
    padding-right: 10px;
}

.rsh-type-chip {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    padding: 0 10px;
    color: var(--light-text);
    font-size: 12px;
}

.rsh-type-chip i {
    color: var(--light-text);
}

.rsd-static-value {
    display: flex;
    gap: 8px;
    align-items: center;
}

#rshVisibilityDropdown li a {
    padding: 0 20px;
    height: 50px;
    line-height: 50px;
}

#rshVisibilityDropdown li i {
    margin-right: 5px;
}

.research-intent-tabs a, .research-status-tabs a {
    text-decoration: none!important;
}

ul#researchBuildDropdown {
    right: 0!important;
    left: unset!important;
}

ul#researchBuildDropdown li a {
    padding-left: 20px;
    padding-right: 20px;
}

ul#researchBuildDropdown li a i {
    margin-right: 5px;
}

.research-build-actions .btn.btn-primary.dropdown-selector {
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: 12px;
    height: 30px;
    line-height: 30px;
    padding: 0 10px!important;
}

.research-build-actions .btn.btn-primary.dropdown-selector i {
    color: var(--awhite)!important;
}

.research-thinking-step {
    z-index: 9;
}
/* AI Findings rail (save_finding tool output) */
.research-finding-item {
    padding: 8px 10px;
    border-radius: 6px;
    background: var(--card-background, rgba(255, 255, 255, 0.03));
    margin-bottom: 6px;
}

.research-finding-title {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 3px;
}

.research-finding-content {
    font-size: 12px;
    color: var(--light-text);
    max-height: 72px;
    overflow: hidden;
}

.research-finding-source {
    font-size: 11px;
}

/* ---- Share consent (research.session.html; William, 2026-09-24, ps-049) ----
   The dialog is the shared jt-confirm.css look (ps-059); these are its extras. */

.research-share-consent-warning {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 16px 0 14px;
    padding: 12px 14px;
    border-radius: 8px;
    background-color: var(--extra-light);
    color: var(--black);
    line-height: 1.45;
}

.research-share-consent-warning i {
    flex-shrink: 0;
    font-size: 20px;
    color: var(--primary);
}

.research-share-consent-check {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 0 0 18px;
    color: var(--black);
    font-size: 14px;
    cursor: pointer;
}

/* Materialize hides native checkboxes for its own styling; this one stays native. */
.research-share-consent-box {
    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--primary);
}

.research-share-consent-project {
    margin-top: 12px;
}

.research-share-consent-project-label {
    margin-bottom: 4px;
    color: var(--light-text);
    font-size: 12px;
}

/* Share waits for the checkbox. */
.research-share-consent .jt-confirm-choice[disabled] {
    opacity: .45;
    cursor: default;
}

.research-share-consent .jt-confirm-choice[disabled]:hover {
    border-color: var(--light-border);
}

/* The visibility menu's Project option before a project the author is on is linked (ps-059):
   still clickable (it opens Linked Context), with the reason under its name. */
#rshVisibilityDropdown li.research-visibility-unavailable a {
    height: auto;
    min-height: 50px;
    padding: 8px 20px;
    line-height: 20px;
    color: var(--light-text);
}

#rshVisibilityDropdown li.research-visibility-unavailable i {
    line-height: 20px;
}

.research-visibility-hint {
    display: block;
    padding-left: 29px;
    font-size: 11px;
    line-height: 14px;
    white-space: nowrap;
}

/* No access (ps-059): the research list's empty state, centred where the page would be. */
.research-session-blocked {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100dvh - 64px);
}

@media screen and (max-width:660px) {
    .profile-page .sidebar {
        padding: 0px 0px!important;
        position: absolute;
        top: -4px!important;
        left: 0px;
        width: 100%!important;
        position: relative!important;
    }

    .profile-page .sidebar .card {
        width: 100%!important;
        max-width: 100%!important;
        margin-bottom: 50px;
    }

    .profile-page .sidebar-author-name {
        display: block!important;
    }

    .profile-page .header-info {
        position: relative!important;
        bottom: 0px!important;
        padding: 20px;
    }

    .profile-page .header-banner {
        height: 300px;
        position: relative;
        
        z-index: 0;
        display: none!important;
    }

    .profile-page .intro .bio-name {
        border: none;
    }

    .profile-page .top-action-bar li {
        padding: 0px 10px!important;
        width: 20%;
        text-align: center;
    }

    .profile-page .profile-bio .timeline-item.card {
        max-width: 100%!important;
    }

    .profile-page .bio-text .about-images {
        width: 100%!important;
    }

    .profile-page .photo-overview .photo.card,
    .profile-page .class.card .class-image {
        width: 100%!important;
    }

    .profile-page .connections .person {
        width: 100%!important;
        height: 486px!important;
    }

    .profile-page .connections .person a div {
        height: 290px!important;
    }

    .profile-page .connections .person .info .short-text {
        font-size:inherit!important;
    }

    .profile-page .bio-text .photo.about-images a div,
    .profile-page .profile-bio .timeline-item.card,
    .profile-page .photo-overview .photo.card,
    .profile-page .connections .person {
        margin-bottom: 0px!important;
    }

    .profile-page .section .title {
        text-align: center;
    }

    .profile-page .class.card {
        height: 100%!important;
        margin-bottom: 0px!important;
    }

    .user-profile-links {
        padding: 0px 0px 20px!important;
        width: 100%!important;
        margin-top: 10px!important;
    }

    html .profile-body .user-profile-image {
        margin-right: 0px!important;
        width: 100%!important;
        padding-top: 40px!important;
    }

    .profile-menu {
        width: 100%!important;
        
        border-radius: var(--border-radius);
        overflow: hidden;
    }

    .profile-page {
        padding: 0px!important;
        position: relative;
    }

    .user-profile-body.card {
        margin-bottom: 0px!important;
    }

    .listing-item {
        margin-bottom: 0px!important;
        border-bottom: 1px solid var(--border)!important;
        border-radius: 0px!important;
    }

.ai-panel .listing-item {
    border-bottom: none!important;
}

.su-project .listing-item {
    padding: 30px 0px!important;
    box-shadow: none!important;
}

.su-project:first-child {
    margin-top: 30px!important;
    padding-top: 30px!important;
}
}

.profile-page .header-banner {
    min-height: 380px;
    height: 30vh;
    position: fixed;
    z-index: 0;
    width: 100%;
    top: 0px;
    background-size: 98%!important;
    background-position: top center;
}

.profile-page .header-banner img {
    opacity: .6;
}

.profile-page {
    width: 100%;
}

.profile-page.ng-hide {
    opacity: 0;
    overflow: hidden;
    max-height: 0px;
}

.profile-page .header-banner .user-name {
    font-size: 45pt;
    line-height: 40pt;
    color: white;
    font-weight: 100;
    text-shadow: 0px 1px 4px #929292;
}

.profile-page .header-info {
    position: relative;
    padding-top: 120px;
}

.profile-page .header-info
 .user-name {
    font-size: 38pt;
    line-height: 33pt;
    color: white;
    text-shadow: 0px 1px 5px grey;
}

.profile-page .user-location {
    font-size: 20pt;
    color: white;
    text-shadow: 0px 1px 4px #9e9e9e;
}

.profile-page .social-networks li {
    display: inline-block;
    margin-right: 10px;
}

.profile-page .social-networks li.phone {
    vertical-align: bottom;
    cursor: pointer;
}

.profile-page .social-networks li a {
    padding: 0px;
    display: inline-block;
    height: 30px;
    width: 30px;
}

.profile-page .social-networks li:hover img {
    fill: red;
    color: red;
    stroke: red;
    display: inline-block;
}

.profile-page .social-networks li img {
    width: 1.3em;
    height: 1.3em;
    margin: 0px!important;
    padding: 0px!important;
    stroke-width: 0;
}

.profile-page .sidebar {
    padding: 0px 50px;
    position: fixed;
    top: 125px;
    width: 33%;
    z-index: 1;
}

.profile-page .sidebar .card {
    max-width: 350px;
    width: 100%;
    display: inline-block;
    float: right;
    position: relative;
    z-index: 999;
    max-height: calc(100vh - 125px);
    overflow-y: auto;
}

.profile-page .bio, .profile-page .user-summary {
    padding: 20px 20px 15px;
}

.profile-page .user-summary {
    padding-top: 3px;
    display: inline-block;
    width: 100%;
    padding-bottom: 10px;
}

.profile-page .bio-title {
    text-transform: uppercase;
    font-size: 15pt;
}

.profile-page .sidebar .profile-picture {
    min-height: 300px;
    z-index: 1;
    background-position: top center;
    background-size: 100%;
    vertical-align: top;
}

.profile-page .main-action-item {
    width: 100%;
    padding: 0px 20px;
    margin-top: -20px;
    z-index: 999;
}

.profile-page .main-action-item .follow-btn {
    width: 100%;
    height: 40px;
    display: inline-block;
    border: none;
    background-color: rgb(41, 58, 71);
    box-sizing: border-box;
    color: white;
    cursor: pointer;
    box-shadow: 0px 2px 3px #1d272f;
    border-radius: 3px;
}

.profile-page .main-action-item .follow-btn .main-btn-text {
    width: 100%;
    height: 40px;
    padding: 10px;
    display: inline-block;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
}

.profile-page .main-action-item .follow-btn .more-items {
    width: 15%;
    height: 40px;
    padding: 10px;
    float: right;
    display: inline-block;
    border: none;
    text-align: center;
    border-left: 1px solid #424f58;
    font-weight: bold;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
}

.profile-page .bio-read-more {
    color: #F44336;
    cursor: pointer;
}

.profile-page .post-message {
    margin-bottom: 50px;
    position: relative;
    padding-top: 12px;
}

.profile-page .main-message textarea {
    background-color: white!important;
    border: 1px solid lightgrey;
    min-height: 100px;
    padding: 10px;
    
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-height: 350px;
    max-width: 100%;
}

.profile-page .top-action-bar li {
    display: inline-block;
    border-top: 1px solid lightgrey;
    padding: 0px 20px;
    border-right: 1px solid lightgrey;
    font-size: 10pt;
    cursor: pointer;
    background-color: white;
    height: 40px;
    line-height: 40px;
}

.profile-page .top-action-bar li:hover {
    background-color: #293a47;
    color: white;
}

.profile-page .top-action-bar li:first-child {
    border-left: 1px solid lightgrey;
}

.profile-page .top-action-bar {
    
    
    border-bottom: none;
    margin-bottom: 0px;
    
}

.profile-page .sharing-details .dropdown-button {
    display: inline-block;
    font-size: 10pt;
    border-left: none;
    background-color: white;
    padding: 0px 20px;
    
    
    border: 1px solid lightgrey;
    height: 40px;
    line-height: 40px;
    border-right: none;
}

.profile-page .sharing-details .dropdown-button i {
    font-size: 12pt;
    line-height: 12pt;
    
    padding-right: 3px;
    vertical-align: sub;
}

.profile-page .sharing-details ul.dropdown-content li {
    padding: 10px;
    line-height: 1em;
    margin: 0px;
    
    box-sizing: border-box;
    
    min-height: 30px!important;
}

.profile-page .sharing-details ul.dropdown-content li i {
    font-size: 13pt;
    margin-top: 3px;
}

.profile-page ul#sharing {
    box-sizing: border-box;
    width: auto;
    overflow-x: hidden;
    min-width: 150px;
}

.profile-page .share-with ul {
    background-color: white;
}

.profile-page .profile-nav ul li span {
    font-size: 11pt!important;
}

.profile-page .profile-nav ul li i {
    font-size: 13pt;
    line-height: 45px;
    padding-left: 15px;
}

.profile-page .sharing-details {
    text-align: right;
    margin-top: -1px;
}

.profile-page .btn {
    background-color: transparent;
    font-size: 10pt;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 4px!important;
    display: flex!important;
    gap: 5px;
    /* background-color: var(--primary); */
    align-items: center;
    color: var(--primary)!important;
}

.myweek-ooo-panel .btn.btn-transparent.dropdown-selector {
    background-color: var(--background-color)!important;
    height: 50px;
    margin-bottom: 20px;
}

.profile-page .btn.btn-transparent.ng-hide {
    display: none!important;
}

.myweek-plan-actions .btn {
    color: var(--primary);
}

.myweek-plan-actions .btn:hover {
    color: var(--primary);
    background-color: transparent!important;
}

.allocation-item .delete-item {
    
    
    
    width: 50px!important;
    height: 49px;
    padding: 0px!important;
    text-align: center;
    float: right;
}

.allocation-item .delete-item i {
    line-height: 50px;
}

.allocation-item .delete-item i {
    color: var(--black)!important;
}

.allocation-item .delete-item i {
    font-size: 11pt;
}

.profile-page .btn i {
    color: var(--icon-color)!important;
}

.profile-page .btn i {
    color: var(--primary);
}

.team-header-actions .btn i {
    color: var(--black)!important;
}

.profile-page .btn:hover i {
    color: var(--white);
}

.profile-page .share-types i {
    vertical-align: sub;
    font-size: 12pt;
}

.profile-page .share-types.active {
    background-color: #293a47;
    color: white;
}

.profile-page .main-content {padding-top: 50px;}

.profile-page #sharing li > span {
    font-size: 10pt!important;
}

.profile-page #sharing li .name {
    padding: 0px;
    margin-top: 2px;
}

.profile-page .sharing-details > div {
    display: inline-block;
}

.profile-page .sharing-details .share-button {
    padding: 0px 20px;
    background-color: #F44336;
    color: white;
    height: 40px;
    float: right;
    line-height: 40px;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
}

.profile-page .author-image {
    max-width: 50px;
    display: inline-block;
    height: 50px;
}

.profile-page .comment-image {
    max-width: 50px;
    display: inline-block;
}

.profile-page .comment-body {
    display: inline-block;
    vertical-align: top;
}

.profile-page .post-author img, .profile-page .comment-author img {
    width: 100%;
}

.profile-page .post-author-name {
    display: inline-block;
    vertical-align: top;
    padding: 0px 5px;
    box-sizing: border-box;
}

.profile-page .post-author, .profile-page .post-settings {
    display: inline-block;
    max-height: 50px;
    vertical-align: top;
}

.profile-page .post-settings {
    float: right;
}

.profile-page .post-header, .profile-page .post-body, .profile-page .post-actions, .profile-page .post-comments {
    padding: 10px 20px 10px;
}

.profile-page .post-header {
    padding-top: 20px;
}

.profile-page .post-comments {
    padding-bottom: 20px;
    padding-top: 20px;
    background-color: rgb(252, 252, 252);
    border-top: 1px solid #d9d9d9;
}

.profile-page .post-actions .post-action {
    display: inline-block;
    margin-right: 5px;
    font-weight: bold;
    font-size: 10pt;
    color: #777;
    cursor: pointer;
    padding: 5px;
}

.profile-page .post-actions .post-action:hover, .profile-page .comment-actions .comment-action:hover {
    color: #F44336;
}

.profile-page .post-action i {
    font-size: 12pt;
}

.profile-page .timeline-post {
    margin-bottom: 50px;
}

.profile-page .comment-action {
    display: inline-block;
    margin-right: 5px;
    font-size: 10pt;
    line-height: 10pt;
    font-weight: bold;
    color: #777;
    cursor: pointer;
    padding: 5px;
}

.profile-page .comment-action:first-child, .profile-page .post-action:first-child {
    padding-left: 0px;
}

.profile-page .comment-action i {
    font-size: 12pt;
    vertical-align: sub;
}

.profile-page .comment-content, .profile-page .comment-actions {
    padding-left: 5px;
    font-size: 10pt;
}

.profile-page .comment {
    width: 100%;
    display: inline-block;
    margin-bottom: 5px;
}

.profile-page .comment:last-child {
    margin-bottom: 0px;
}

.profile-page .leave-comment textarea {
    border: 1px solid #d9d9d9;
    margin-bottom: 5px;
    background-color: white!important;
    padding: 5px;
    max-width: 100%;
    max-height: 500px;
}

.profile-page .sidebar-author-name .name {
    font-size: 30px;
    margin-bottom: 0px;
    text-align: center;
    line-height: 1.2;
}

.profile-page .sidebar-author-name .location {
    text-align: center;
    line-height: 1.2;
}

.profile-page .sidebar-author-name {
    display: none;
}

.profile-page .post-time {
    color: #777;
}

.profile-page .post-settings i {
    color: #c7c7c7;
    font-size: 16pt;
    cursor: pointer;
    padding: 5px;
    padding-right: 0px;
    padding-top: 0px;
}

.profile-page .social-networks, .profile-page .user-title, .profile-page .user-company {
    text-align: center;
}

.profile-page .social-networks {
    margin-top: 15px;
}

.profile-page .follow-btn {
    padding: 5px 10px;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 9pt;
    display: inline-block;
    color: #293a47;
    width: 32.4%;
    text-align: center;
    border: 1px solid lightgrey;
}

.profile-page .follow-btn:hover {
    background-color: #f9f8f8;
}

.profile-page .header-action-items {margin-top: 15px;margin-bottom: 5px;}

.profile-page .profile-nav .dropdown-button {
    background-color: #293a47;
    color: white;
    text-align: left;
    padding: 10px 15px;
    box-shadow: 0px 2px 3px black;
}

.profile-page .profile-nav .dropdown-button i {
    font-size: 12pt;
    vertical-align: sub;
}

.profile-page .profile-nav .dropdown-button i:first-child {
    margin-right: 10px;
    font-size: 13pt;
    vertical-align: top;
    margin-top: 1px;
}

.profile-page .profile-nav .dropdown-button i:last-child {
    margin-left: 3px;
    float: right;
}

.profile-page .bio-summary {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5; 
    line-height: 1.5;        
    max-height: 1.5*5;
}

.profile-page .title {
    font-size: 17pt;
    position: relative;
}

.profile-page .section {
    margin-bottom: 50px;
}

.profile-page .card .title {
    font-size: 11pt;
    background-color: transparent;
    color: var(--black);
    padding: 20px 20px 0px;
    
}

.edit-profile .card .profile-user-meta.title {
    margin-top: 0px!important;
}

.profile-page .bio-name {
    font-size: 13pt;
    line-height: 17pt;
    text-shadow: none;
    color: #333;
    
    
    
    padding-bottom: 18px;
    position: relative;
}

.profile-page .profile-bio img {
    width: 100%;
}

.profile-page .connections img {
    width: 100%;
}

.profile-page .connections .person {
    text-align: center;
    margin-bottom: 20px;
    height: 440px;
}

.profile-page .connections .person a div {
    height: 210px;
}

.profile-page .connections .person {
    margin-right: 2%;
    width: 32%;
}

.profile-page .connections .person .follow-btn {
    font-size: 8pt;
    width: 30%;
}

.profile-page .connections .person .author-name .name {
    
    line-height: 1;
    padding-top: 10px;
    font-size: 12pt;
}

.profile-page .connections .person .info {
    padding: 10px;
}

.profile-page .connections .person .info .short-text {
    padding: 10px;
    
    font-size: 10pt;
}

.profile-page .connections .person:nth-child(3n) {
    margin-right: 0px;
}

.profile-page .profile-bio .timeline-item.card {
    padding: 10px;
    padding-left: 10px!important;
    padding-right: 10px!important;
    max-width: 49%;
    margin-right: 2%;
    margin-bottom: 20px;
    display: flex;
}

.profile-page .profile-bio .timeline-item.card:nth-child(2n) {
    margin-right: 0px;
}

.profile-page .timeline-item.card .timeline-item-text {
    display: inline-block;
    padding-left: 10px;
    vertical-align: top;
    width: auto;
    font-size: 10pt;
}

.profile-page .profile-bio .timeline-item.card .profile-picture {
    max-width: 70px;
    height: 70px;
    display: inline-block;
    float: left;
    width: 100%;
}

.profile-page .profile-bio .post-stat {
    display: inline-block;
    margin-right: 5px;
    font-size: 10pt;
}

.profile-page .profile-bio .post-stat i {
    font-size: 12pt;
    vertical-align: sub;
}

.profile-page .photo-overview .photo.card {
    margin-right: 2%;
    width: 32%;
    margin-bottom: 20px;
    min-height: 240px;
    overflow: hidden;
    position: relative;
    z-index: 0;
}

.profile-page .photo.card .photo-share-info {
    position: absolute;
    z-index: 999;
    bottom: 0px;
    left: 0px;
    width: 100%;
    padding: 2px 5px;
    color: white;
    text-shadow: 0px 1px 3px black;
    font-weight: bold;
    text-align: center;
    opacity: 0;
    transition: opacity .25s ease;
    border: none;
}

.profile-page .photo.card:hover .photo-share-info {
    opacity: 1;
}

.profile-page .photo-overview .photo.card a div {
    height: 240px;
    background-position: center;
}

.profile-page .photo-overview .photo.card img {
    display: block;
    width: 100%;
}

.profile-page .photo-overview .photo.card:nth-child(3n) {
    margin-right: 0px;
}

.profile-page .bio-text .photo.about-images a div {
    background-position: center;
    width: 100%;
    min-height: 243px;
    display: block;
    margin-bottom: 20px;
}

.profile-page .card.about-text {
    padding: 20px!important;
    margin-right: 20px;
}

.profile-page .bio-text .about-images {
    width: calc(50% - 20px);
    float: right;
}

.profile-page .profile-bio .about {
    margin-bottom: 50px;
}

.classes .class .class-image a > div {
    width: 100%;
    height: 175px;
    
    
    
    background-position: center;
    background-size: contain;
}

.profile-page .class.card {
    
    margin-bottom: 10px;
    width: 100%;
    display: inline-block;
}

.profile-page .class.card .class-image {
    border-right: 1px solid #e8e7e7;
}

.profile-page .class.card .class-image .class-image-title {
    text-align: center;
    padding: 65px 10px;
    vertical-align: middle;
    font-size: 1vw;
    height: 175px;
    box-sizing: border-box;
    line-height: 1.2em;
    
    
    
    
}

.profile-page .class.card .class-info {
    
    
    padding: 20px!important;
    position: relative;
}

.profile-page .class .details > div {
    display: inline-block;
    margin-right: 5px;
    background-color: #f9f8f8;
    padding: 2px 10px;
}

.profile-page .class.card .class-title {
    font-size: 14pt;
    line-height: 1.2;
}

.class .class-info .details {
    font-weight: bold;
    color: #777;
    font-size: 10pt;
}

.person.card .header-action-items {
    position: absolute;
    bottom: 12px;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    left: 0px;
    padding-left: 10px;
    padding-right: 10px;
}

.profile-body .user-profile-image {
    position: relative;
    border-radius: 10px;
    padding: 30px 30px 0px;
    
    min-height: 200px;
    padding: 30px 30px 0px!important;
    margin-bottom: 30px;
}

.profile-sidebar-title {
    padding: 10px 30px 10px;
    font-size: 23px;
    font-weight: 400;
    cursor: pointer;
    color: var(--primary);
    font-family: var(--nothing);
    text-transform: lowercase;
}

.profile-sidebar-title:hover {
    color: var(--primary);
}

.profile-menu-item {
    padding: 0px 30px;
    height: 45px;
    background-color: var(--white);
    color: var(--black);
    cursor: pointer!important;
    font-size: var(--font-size);
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 400;
    text-transform: lowercase;
}

.profile-menu-item:last-child {
    /* padding-bottom: 25px!important; */
}

.profile-menu-item.selected {
    color: var(--primary);
}

.profile-menu-item.selected {
    color: var(--primary);
}

.profile-menu {
    vertical-align: top;
}

.profile-body {
    
    
    width: 100%;
    display: block;
    
}

.user-profile-body.card {
    padding: 30px;
    border-radius: var(--border-radius-tiny);
    box-shadow: none;
    margin-top: 0px;
    background-color: var(--white);
}

.profile-user-meta.name {
    font-size: 21pt!important;
    margin-bottom: 5px;
}

.profile-user-meta {
    margin-bottom: 0px;
}

.profile-user-meta.about {
    margin-bottom: 0;
}

.profile-user-meta.about textarea, .profile-user-meta.randofacts .the-answer textarea {white-space: pre-line;}

.edit-profile .profile-user-meta {
    margin-bottom: 0px;
}

.change-profile-image {
    position: absolute;
    top: 31px;
    left: 31px;
    padding: 6px 6px 0px;
    background-color: var(--xwhite);
    border-radius: 3px 0px;
}

.change-profile-image > div:hover i {
    color: var(--primary);
}

.change-profile-image > div:hover {
    opacity: 1;
}

.change-profile-image > div {
    opacity: .4;
    transition: opacity .3s ease-in-out;
    cursor: pointer;
}

.profile-user-meta.name input {
    background-color: var(--background-color);
    color: var(--primary);
    padding-left: 0px;
}

.pum-name input {
    font-size: 14pt!important;
}

body .profile-page-container .profile-user-meta input {
    background-color: var(--background-color);
    border-bottom: 1px solid transparent;
    padding: 5px 10px;
    box-sizing: border-box;
    vertical-align: top;
    color: var(--black);
    margin-bottom: 10px;
    border-radius: 5px;
}

body .profile-page-container .profile-user-meta textarea {
    background-color: var(--background-color);
    border-bottom: 1px solid transparent;
    padding: 10px;
    box-sizing: border-box;
    min-height: 100px;
    height: 100%;
    margin-bottom: 30px;
    max-height: 100%;
    vertical-align: middle;
    border-radius: 5px;
}

.profile-user-meta .label {
    color: var(--light-text);
    background-color: transparent;
    border: none!important;
    margin-bottom: 5px;
}

.recording-buttons {
    text-align: right;
    display: flex;
    justify-content: end;
    gap: 5px;
}

.edit-profile .profile-user-meta.video {
    margin-top: 0px;
    margin-bottom: 20px;
}

.profile-section-header {
    font-weight: 400;
    margin-bottom: 20px;
    font-size: 13pt;
    color: var(--primary);
    margin-top: 40px;
}

.profile-sidebar-meta {
    margin-bottom: 7px;
    font-size: 9pt;
}

.user-profile-body .profile-user-meta.title {
    padding: 0px!important;
}

.profile-section-header.top-psh {
    margin-top: 0px;
}

.pum-name {
    display: inline-block;
    width: 100%;
    color: var(--primary);
    font-size: 24px;
    margin-bottom: 0px;
    font-family: var(--nothing);
}

.listing-author-img.user-image {
    display: inline-block;
    float: left;
    margin-right: 15px;
    margin-top: 1px;
    width: 35px;
    max-height: 35px;
    cursor: pointer;
}

.ai-convo .listing-author-img.user-image {
    width: 36px;
    text-align: center;
}

.profile-page .card {padding: 50px;margin-top: 0px;display: inline-block;/* max-width: 840px; */width: 100%;}

.card {}

.focus-priority-queue.card {
    padding: 0;
    background-color: transparent;
    box-shadow: none!important;
}

.profile-focus .focus-widget.card {
    padding: 0;
    background: transparent;
    box-shadow: none!important;
    margin-bottom: 0px;
}

.pinned-items-widget.card {
    margin-bottom: 50px!important;
}

/* ── Focus: two regions ──────────────────────────────────────────────────
   Committed work on the left (2fr), inbound mentions on the right (1fr).
   minmax(0, …) so long summaries ellipsis inside the track instead of
   forcing the grid wider than its container. */

.profile-focus .focus-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
    gap: 25px;
    align-items: start;
    padding-top: 10px;
}

/* When the mentions column is absent (ng-if leaves only a comment node, which
   is not an element, so :only-child still matches) the work column takes the
   full width rather than leaving an empty track. */
.profile-focus .focus-column-work:only-child {
    grid-column: 1 / -1;
}

.profile-focus .focus-column-work {
    min-width: 0;
    position: sticky;
    top: 20px;
}

.profile-focus .focus-column-mentions {
    min-width: 0;
    position: sticky;
    top: 20px;
}

.focus-mentions-header {
    margin-bottom: 5px;
    /* background-color: var(--white); */
    /* padding: 20px; */
    /* box-shadow: var(--box-shadow); */
    /* border-radius: var(--border-radius-tiny); */
}

.focus-mentions-header > .sub-text {
    display: flex;
}

.focus-mentions-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--dark-text);
    text-transform: lowercase;
}

.focus-mentions-title i {
    font-size: 18px;
    color: var(--primary);
}

.focus-mentions-count {
    font-size: 10px;
    line-height: 16px;
    min-width: 16px;
    padding: 0 5px;
    border-radius: var(--border-radius-xs);
    text-align: center;
    background-color: var(--primary);
    color: var(--awhite);
    font-weight: 300;
}

.focus-mentions-loading {
    display: flex;
    justify-content: center;
    padding: 30px 0;
}

.focus-mentions-loading i {
    font-size: 28px;
    color: var(--light-text);
}

.focus-mentions-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 30px 15px;
    color: var(--light-text);
    text-align: center;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.focus-mentions-empty i {
    font-size: 25px;
    color: var(--good);
}

.focus-mentions-list {
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    /* padding: 20px; */
    background-color: var(--white);
    overflow-y: auto;
    max-height: calc(100dvh - 170px);
}

.focus-mention-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px 20px;
    cursor: pointer;
    background-color: var(--white);
    /* border-bottom: 1px solid var(--border); */
    position: relative;
    /* border-radius: var(--border-radius-tiny); */
    border-bottom: 1px solid var(--light-border);
}

.focus-mention-item:last-child {
    border-bottom: none;
}

.focus-mention-item:hover {
    background: var(--hover-item);
}

.focus-mention-avatar {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border-radius: var(--border-radius-tiny);
    background-size: cover;
    background-position: center center;
    margin-top: 1px;
}

.focus-mention-avatar--fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--white);
    color: var(--black);
    font-size: 11px;
    /* font-weight: 600; */
    text-transform: uppercase;
    /* border: 1px solid var(--light-border); */
    font-family: var(--nothing);
}

.focus-mention-avatar--fallback i {
    font-size: 14px;
}

/* Agents and AI models get a ring so a delegated reply is distinguishable from
   a teammate at a glance. */
.focus-mention-avatar--agent {
    box-shadow: 0 0 0 1.5px var(--light-border);
}

.focus-mention-body {
    flex: 1;
    min-width: 0;
}

/* Mention summaries are full sentences, so the narrow column wraps them to a
   few lines rather than clamping to one like the work rows do. */
.focus-mention-item .focus-item-summary {
    font-size: 11px;
    /* line-height: 18px; */
    white-space: normal;
    overflow-wrap: anywhere;
    color: var(--light-text)!important;
    font-weight: 300;
}

.focus-item-header-wrap {
    display: flex;
    flex-direction: row;
}

.focus-mention-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}

.focus-mention-time {
    font-size: 11px;
    /* line-height: 16px; */
    color: var(--light-text);
    white-space: nowrap;
}

/* .focus-mention-meta now carries the card's TOP row — the action plus the time —
   rather than the old project+time footer, so two things change for that content.
   The time is pushed right with margin-left:auto (the row has gap but no
   space-between), and the row aligns to flex-start so the time stays on the first
   line instead of floating to the vertical middle of a summary that wrapped to
   two or three lines. The summary takes the remaining width and wraps within it. */
.focus-mention-meta {
    align-items: flex-start;
    line-height: normal;
}

.focus-mention-meta .focus-item-summary {
    flex: 1;
    min-width: 0;
}


/* Overview: the "you chose this" marker. Quiet — it is a provenance label in a
   meta row, not a control. */
.overview-pin-flag {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--primary);
}

.overview-pin-flag i { font-size: 12px; }

/* ── Drag and drop ───────────────────────────────────────────────────────────
   Rows drag without a grip: jQuery UI's `distance` means a drag only starts after
   real movement, so a plain click still navigates. grab/grabbing is the only hint,
   which leaves the row design untouched. */
/* Only the LEADING COLUMN drags — see the `handle` note in the controller. The row
   itself stays a normal click target, so grab-cursor must NOT be on the row or it
   promises a gesture the row no longer has. */
.focus-item .focus-item-rank,
.focus-item .focus-item-icon,
.focus-queue-item .focus-item-rank,
.focus-queue-item .focus-item-icon,
.focus-mention-item .focus-item-avatar { cursor: grab; }

.focus-item .focus-item-rank:active,
.focus-item .focus-item-icon:active,
.focus-queue-item .focus-item-rank:active,
.focus-queue-item .focus-item-icon:active,
.focus-mention-item .focus-item-avatar:active { cursor: grabbing; }

/* The gap the row will land in. forcePlaceholderSize gives it the dragged row's
   height so nothing below jumps while you decide. */
.focus-sort-placeholder {
    background: var(--hover-item);
    border: 1px dashed var(--primary);
    visibility: visible !important;
}

/* Target for the FIRST pin — the widget is hidden when empty, so without this
   there is nowhere to drop from a standing start. Rendered only mid-drag. */
.focus-pin-dropzone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 52px;
    margin-bottom: 10px;
    padding: 12px;
    border: 1px dashed var(--primary);
    border-radius: var(--border-radius-tiny);
    background: var(--hover-item);
    color: var(--light-text);
    font-size: 13px;
}

.focus-pin-dropzone i { font-size: 16px; }

/* ── Help ───────────────────────────────────────────────────────────────── */
.focus-help-icon {
    font-size: 15px !important;
    margin-left: 4px;
    cursor: pointer;
    color: var(--light-text);
    vertical-align: middle;
}

.focus-help-icon:hover,
.focus-help-icon:focus-visible { color: var(--primary); }

.focus-help-tooltip {
    position: absolute;
    z-index: 9999;
    top: 26px;
    left: 0;
    width: 330px;
    max-width: 92vw;
    padding: 14px 16px;
    background: var(--white);
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--black);
    text-transform: none;
    letter-spacing: normal;
    font-weight: 300;
}

.focus-help-tooltip p { margin: 0 0 9px; }
.focus-help-tooltip p:last-child { margin-bottom: 0; }
.focus-help-tooltip strong { color: var(--dark-text); }

.focus-help-close {
    position: absolute;
    top: 6px;
    right: 6px;
    cursor: pointer;
    color: var(--light-text);
}

.focus-help-close i { font-size: 16px; }

/* Positioning context for the tooltip. */
.pinned-items-widget .focus-mentions-header { position: relative; }

/* ── Row actions: ⋮ menu (work) and inline icons (mentions) ──────────────────
   Replaces the old hover-reveal cluster. Always visible, so the affordance
   exists on touch and for anyone who does not think to hover, and the work
   column can grow actions without the row sprouting icons. */

.focus-item-menu {
    /* margin-left: auto; */      /* .focus-item-meta is a flex row: push to the right */
    display: flex;
    align-items: start;
}

.focus-item-menu.pinned-menu {
    width: calc(100% + 5px);
    margin: 0 -5px 0px 0;
}

.focus-item-menu.pinned-menu > div {
    padding: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}

.focus-item-menu.pinned-menu .pinned-core-content {width: 100%;}

.focus-item-menu .focus-item-menu-btn {
    margin-left: auto;
}

.focus-item-menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    color: var(--icon-color);
}

.focus-mention-actions .focus-item-menu-btn {
    height: 15px;
    width: 20px;
}

.focus-mention-actions .focus-item-menu-btn i {
    font-size: 14px;
    color: var(--light-text);
}

.focus-mention-actions .focus-item-menu-btn i.pinned-item-icon {
    font-variation-settings: 'FILL' 1;
    color: var(--primary);
}

.focus-mention-actions .focus-item-menu-btn:hover i {
    color: var(--primary);
}

.focus-item-menu-btn:hover,
.focus-item-menu-btn:focus-visible {
    background: var(--hover-item);
    color: var(--primary);
}

.focus-item-menu-btn i {
    font-size: 17px;
    line-height: 1;
}

.focus-item-menu-list {
    position: absolute;
    top: 24px;
    right: 0;
    z-index: 30;
    /* min-width: 168px; */
    /* padding: 5px; */
    background: var(--white);
    /* border: 1px solid var(--light-border); */
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.focus-item-menu-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 9px;
    border-radius: var(--border-radius-tiny);
    font-size: 13px;
    white-space: nowrap;
    cursor: pointer;
}

.focus-item-menu-option:hover,
.focus-item-menu-option:focus-visible {
    background: var(--hover-item);
}

.focus-item-menu-option i {
    font-size: 16px;
    color: var(--light-text);
}

/* Mentions: two actions only, so they sit inline top-right rather than behind a
   menu. Same button shape as the work column's trigger, so folding them into a
   ⋮ later is a markup change with no visual redesign. */
.focus-mention-actions {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-left: auto;
    flex: 0 0 auto;
}

/* When and where, on one line under the preview. */
.focus-mention-footer {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

/* Pin/dismiss on the Focus widget AND Priority Queue rows. .focus-item-actions is
   position:absolute (right/bottom), so each row must be its own positioning context
   or the cluster escapes to the nearest positioned ancestor — which here is
   .profile-page, i.e. the whole page. Of the three row types only .focus-mention-item
   set it (:1328); .focus-item and .focus-queue-item share a rule (:1704) that sets no
   position at all, so their buttons were stacking in the page's bottom-right corner
   at opacity 0 and surfacing as a stray icon nowhere near the row being hovered.
   Long-standing rather than new — but the two-column layout made it impossible to
   miss, because the work column is now 2/3 width so the escape distance is no longer
   small enough to pass for correct. */
.focus-item,
.focus-priority-queue .focus-queue-list .focus-queue-item {
    position: relative;
}

/* The mention avatar. Previously this class carried no styling at all and the
   card leaned entirely on the borrowed .user-image rules, so it had no reserved
   width and collapsed whenever the image was still loading. */
.focus-item-avatar {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    margin-right: 5px!important;
}

.focus-item-avatar .the-profile-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

/* People are round, agents and AI models are rounded-squares. This is not a new
   convention — it is the one the agents directory already uses
   (.agent-directory-avatar), so an agent looks the same wherever you meet it.
   focusService already computes isAgentAuthor for every mention; it just had no
   consumer until now. */
.focus-mention-item.is-agent-author .focus-item-avatar,
.focus-mention-item.is-agent-author .focus-item-avatar .the-profile-image {
    border-radius: var(--border-radius-tiny);
}

/* The shared rule absolutely positions the action cluster, which works for the
   single-line work rows but would overlay a wrapped mention summary. Keep it in
   flow here instead. */
.focus-mention-item .focus-item-actions {
    position: absolute;
}

.focus-mention-item .focus-pin-btn {
    width: 25px;
    height: 25px;
}

.focus-mention-item:hover .focus-item-actions {
    opacity: 1;
}

/* Stacked: mentions go ABOVE the work queue, since the whole point of the
   split is that an inbound request outranks the queue's own ordering. */
@media (max-width: 1100px) {

    .profile-focus .focus-columns {
        grid-template-columns: minmax(0, 1fr);
    }

    .profile-focus .focus-column-mentions {
        order: -1;
        position: static;
    }

}

.dark .focus-mention-item {
    /* border-bottom-color: var(--border); */
}

.dark .focus-mention-item:hover {
    background: var(--hover-item);
}

.card.profile-tasks {
    padding: 0px;
    padding-bottom: 40px;
}

.project-roles {
    text-align: left;
}

.profile-tasks .project-roles {
    padding: 0;
}

.profile-page .profile-tasks .project-roles {
    padding-bottom: 20px;
}

.nav-tasks-list.profile-tasks .project-roles {
    padding: 25px 30px 25px!important;
}

.user .project-roles {
    padding-top: 20px;
}

.profile-projects .project-roles {
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
}

.profile-page .project-roles {
    background-color: transparent;
    box-shadow: none;
    border-radius: unset;
    position: relative;
}

.profile-projects .project-roles .project-role-container .list {box-shadow: none;padding: 0px!important;}

.project-roles > .row {
    margin-bottom: 30px!important;
}

.list-header {
    color: var(--light-text);
    font-size: 9pt;
}

.project-role-container .list-header {
    text-transform: uppercase;
    padding-top: 0px;
    padding-bottom: 5px;
    padding-left: 25px;
}

.project-role-container .list-header:first-child {
    margin-top: 0px;
}

.teams .list-header {
    margin-top: 15px;
}

.list-view .project-role-container.project-user-notes .list-header {margin-top: 0px;}

.project-roles .number-of {
    color: var(--light-text);
}

.project-roles > .sub-text {
    margin-bottom: 0px;
}

/* Todo widget settings label (replaces inline styles) */
.todo-widget-setting-label {
    font-size: 9.5pt;
    margin-right: 50px;
}

/* ── Focus Widget ─────────────────────────────────────────────────────────── */

.focus-widget,
.focus-priority-queue {
    padding: 20px;
    margin-bottom: 20px;
}

.focus-icon {
    vertical-align: middle;
    margin-right: 6px;
    color: var(--primary);
}

.focus-view-all {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--primary);
    cursor: pointer;
    text-decoration: none;
}

.focus-view-all i {
    font-size: 16px;
}

.focus-loading {
    display: flex;
    justify-content: center;
    padding: 30px 0;
    color: var(--light-text);
}

.focus-loading-spinner i {
    font-size: 28px;
    color: var(--light-text);
}

.focus-empty,
.focus-queue-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 0;
    color: var(--light-text);
    gap: 8px;
    width: 100%;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    margin-top: 5px;
}

.focus-empty i,
.focus-queue-empty i {
    font-size: 25px;
    color: var(--good);
}

.focus-empty-text {
    font-size: 13px;
}

.focus-item-list,
.focus-queue-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
    /* margin-top: 10px; */
}

.focus-priority-queue .focus-queue-list {
    gap: 0px;
    border-radius: var(--border-radius-tiny);
    /* overflow: hidden; */
    box-shadow: var(--box-shadow);
}

.focus-priority-queue .focus-queue-list .focus-queue-item {
    /* box-shadow: var(--box-shadow); */
    /* transition: background-color .5s ease-in-out; */
    /* margin-bottom: 1px; */
    border-bottom: 1px solid var(--light-border);
}

.focus-priority-queue .focus-queue-list .focus-queue-item:last-child {
    border-bottom: none;
}

.focus-priority-queue .focus-queue-list .focus-queue-item:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.focus-priority-queue .focus-queue-list .focus-queue-item:last-child {
    border-bottom-left-radius: var(--border-radius-tiny);
    border-bottom-right-radius: var(--border-radius-tiny);
}

.dark .focus-priority-queue .focus-queue-list .focus-queue-item {
    margin-bottom: 0;
}

.focus-queue-list .focus-queue-item {
    display: flex;
    justify-content: space-between;
    padding: 0px 15px;
    /* height: 50px; */
    align-items: center;
}

.focus-queue-list .focus-queue-item .focus-item-summary {
    padding: 15px 0!important;
}

.profile-focus .focus-item-list {
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 100%;
}

.focus-item-list.focus-pin-connected {
    gap: 0;
    /* box-shadow: var(--box-shadow); */
}

.focus-item-list.focus-pin-connected:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.profile-focus .focus-item-list .focus-item {
    /* width: unset!important; */
    /* min-width: unset!important; */
    /* flex: 1 0 calc(33% - 5px); */
    /* max-width: 100%; */
    margin-bottom: 0!important;
    background: var(--white);
    width: 100%;
    padding: 15px 20px 17px!important;
    /* flex: 1; */
    position: relative;
    gap: 5px;
    transition: none;
}

.pinned-items-widget .focus-item {
    /* box-shadow: none; */
    border-radius: 0px;
    border: none;
    border-bottom: 1px solid var(--light-border);
    margin: 0!important;
    gap: 0;
}

.profile-focus .pinned-items-widget .focus-item-list .focus-item {
    padding: 13px 25px!important;
}

.pinned-items-widget .focus-item:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.pinned-items-widget .focus-item:last-child {
    border-bottom-left-radius: var(--border-radius-tiny);
    border-bottom-right-radius: var(--border-radius-tiny);
    border-bottom: none;
}

.profile-focus .focus-item-list .focus-item:hover {
    background-color: var(--hover-item);
}

.focus-item,
.focus-queue-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 10px;
    /* border-radius: var(--border-radius-tiny); */
    cursor: pointer;
    transition: background 0.15s;
    background-color: var(--white);
}

.focus-item:hover,
.focus-queue-item:hover {
    background: var(--hover-item);
}

.focus-item-rank {
    min-width: 22px;
    font-size: 11px;
    color: var(--light-text);
    padding-top: 2px;
    text-align: center;
}

.focus-item-icon {
    padding-top: 1px;
    min-width: 20px;
    display: flex;
}

.focus-item-icon i {
    font-size: 15px;
    color: var(--icon-color);
}

.focus-item-type-todo .focus-item-icon i {
    color: var(--todo-color);
}

.pinned-items-widget .focus-item-icon i {
    margin-top: 2px;
}

.focus-item-type-overdue .focus-item-icon i {
    color: var(--warning);
}

.focus-item-type-mention .focus-item-icon i {
    color: var(--primary);
}

.focus-item-type-task .focus-item-icon i {
    color: var(--highlight);
}

.focus-item-body {
    flex: 1;
    min-width: 0;
    height: 100%;
}

.focus-queue-list .focus-item-body {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    /* height: 50px; */
}

.focus-queue-list .focus-item-meta {
    text-align: right;
    width: auto;
    min-width: fit-content;
    display: flex;
    justify-content: end;
    margin-top: 0;
    gap: 10px;
    /* white-space: nowrap; */
    /* text-overflow: ellipsis; */
    /* overflow: hidden; */
    flex-wrap: nowrap;
}

.focus-item-summary {
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
    color: var(--black);
    /* white-space: nowrap; */
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    vertical-align: middle;
}

.pinned-items-widget .focus-item-summary {
    padding-left: 10px;
    /* flex-direction: column; */
    /* display: inline-flex; */
}

.focus-item-meta {
    display: flex;
    gap: 8px;
    margin-top: 1px;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
}

.pinned-items-widget .focus-item-meta {
    gap: 0px;
}

.focus-widget .focus-item-meta > .focus-item-project {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.focus-item-project {
    font-size: 11px;
    line-height: 16px;
    color: var(--light-text);
    white-space: nowrap;
}

.pinned-items-widget .focus-item-project {
    padding-right: 8px!important;
    padding-left: 8px!important;
    margin-left: auto;
    margin-top: 3px;
}

.focus-item-type-badge {
    font-size: 10px;
    background: var(--extra-light);
    color: var(--light-text);
    padding: 0px 6px;
    border-radius: 3px;
}

.focus-item-overdue-badge {
    font-size: 10px;
    background: var(--warning);
    color: var(--awhite);
    padding: 1px 6px;
    border-radius: 2px;
}

.focus-item-actions {
    display: flex;
    align-items: center;
    opacity: 0;
    transition: opacity 0.15s;
    position: absolute;
    right: 5px;
    bottom: 5px;
    text-align: center;
    justify-content: center;
    gap: 1px;
}

.focus-item-actions > div {
    background-color: var(--white);
}

.dark .focus-item-actions > div {
    background-color: var(--extra-light);
}

.focus-item-actions > div i {
    line-height: unset;
}

.focus-item-actions > div:hover i {
    color: var(--primary)!important;
}

.focus-item:hover .focus-item-actions,
.focus-queue-item:hover .focus-item-actions {
    opacity: 1;
}

.focus-pin-btn {
    cursor: pointer;
    padding: 0px;
    border-radius: var(--border-radius-tiny);
    color: var(--icon-color);
    /* transition: color 0.15s; */
    /* width: 40px; */
}

.focus-pin-btn:hover {
    color: var(--primary);
}

.focus-filter-dropdown {
    font-size: 12px;
}

/* ── Strategy Context Banner ──────────────────────────────────────────────── */

.focus-strategy-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: var(--subtle);
    border-radius: var(--border-radius-tiny);
    margin: 8px 0 0;
}

.focus-strategy-icon i {
    font-size: 18px;
    color: var(--primary);
}

.focus-strategy-content {
    flex: 1;
    min-width: 0;
}

.focus-strategy-summary {
    font-size: 12px;
    color: var(--black);
    font-weight: 500;
}

.focus-strategy-programs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 4px;
}

.focus-strategy-badge {
    font-size: 10px;
    background: var(--primary);
    color: var(--white);
    padding: 1px 7px;
    border-radius: 10px;
}

.focus-strategy-link {
    color: var(--light-text);
    display: flex;
    align-items: center;
    text-decoration: none;
    transition: color 0.12s;
}

.focus-strategy-link:hover {
    color: var(--primary);
}

/* Dark mode */
.dark .focus-item:hover,
.dark .focus-queue-item:hover {
    background: var(--hover-item);
}

.dark .focus-item-summary {
    color: var(--label);
}

@keyframes rotating {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.rotating {
    animation: rotating 1s linear infinite;
}

/* ── Call UI (Audio + Video) ─────────────────────────────────────────────── */

.call-card,
.video-call-card {
    padding: 30px 20px;
    text-align: center;
    max-width: 480px;
    margin: 0 auto;
}

.call-card-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding-bottom: 24px;
}

.call-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--subtle);
    display: flex;
    align-items: center;
    justify-content: center;
}

.call-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.call-avatar-placeholder i {
    font-size: 36px;
    color: var(--light-text);
}

.call-avatar-lg {
    width: 100px;
    height: 100px;
}

.call-avatar-lg i {
    font-size: 50px;
}

.call-user-name {
    font-size: 20px;
    font-weight: 600;
    color: var(--black);
}

.call-state-label {
    font-size: 13px;
    color: var(--light-text);
    display: flex;
    align-items: center;
    gap: 4px;
}

.call-state-label i {
    font-size: 16px;
}

.call-timer {
    font-weight: 400;
}

/* Wave animation during active call */
.call-wave-animation {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 4px;
    height: 30px;
    margin-bottom: 24px;
    opacity: 0;
    transition: opacity 0.3s;
}

.call-wave-animation.call-wave-active {
    opacity: 1;
}

.wave-bar {
    width: 4px;
    border-radius: 2px;
    background: var(--primary);
    animation: wave-bounce 1.2s ease-in-out infinite;
}

.wave-bar:nth-child(1) { animation-delay: 0s; }
.wave-bar:nth-child(2) { animation-delay: 0.15s; }
.wave-bar:nth-child(3) { animation-delay: 0.3s; }
.wave-bar:nth-child(4) { animation-delay: 0.45s; }
.wave-bar:nth-child(5) { animation-delay: 0.6s; }

@keyframes wave-bounce {
    0%, 100% { height: 6px; }
    50% { height: 22px; }
}

.call-actions,
.video-call-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 10px;
}

.call-action-btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--subtle);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.call-action-btn i {
    font-size: 22px;
    color: var(--black);
}

.call-action-btn:hover {
    background: var(--hover-item);
}

.call-action-btn.call-action-active {
    background: var(--subtle-highlight);
}

.call-start-btn {
    background: var(--good);
}

.call-start-btn i {
    color: var(--white);
}

.call-start-btn:hover {
    background: var(--good-dark, var(--good));
    opacity: 0.9;
}

.call-end-btn {
    background: var(--danger);
}

.call-end-btn i {
    color: var(--white);
}

.call-end-btn:hover {
    background: var(--danger);
    opacity: 0.9;
}

/* Video call layout */
.video-call-remote {
    background: var(--dark-bg, #1a1a1a);
    border-radius: var(--border-radius-tiny);
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    margin-bottom: 16px;
}

.video-call-remote video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-call-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 40px;
    color: var(--white);
}

.video-call-local {
    position: absolute;
    bottom: 12px;
    right: 12px;
    width: 120px;
    height: 90px;
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
    border: 2px solid var(--white);
    background: #000;
}

.video-call-local video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-call-user-name {
    font-size: 14px;
    color: var(--black);
    font-weight: 500;
    margin-top: 8px;
}

/* Profile chat page */
.profile-chat-open-btn {
    display: flex;
    justify-content: center;
    padding: 20px 0;
}

.myweek-actuals {
    margin-top: 30px;
}

.myweek-project-filters {
    display: flex;
    justify-content: end;
    gap: 5px;
    font-size: 11px;
    margin-bottom: 5px;
}

.myweek-project-filters > span {
    padding: 0 15px;
    background-color: var(--background-color);
    cursor: pointer;
    height: 25px;
    line-height: 25px;
    border-radius: 3px;
}

.myweek-project-filters > i {
    color: var(--icon-color)!important;
}

.myweek-project-filters > span:hover, .myweek-project-filters > span.active {
    background-color: var(--primary);
}

.myweek-rebalance-banner {
    display: flex;
    justify-content: space-between;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    padding: 0 0 0 15px;
    height: 40px;
    line-height: 40px;
    align-items: center;
    margin-bottom: 20px;
}

.myweek-backlog {
    padding-top: 30px;
}

.myweek-backlog-header {
    display: flex;
    justify-content: space-between;
    padding: 0px;
}

.priority-search-input-wrap input {
    padding: 0 20px!important;
    font-size: 13px!important;
    margin-bottom: 0!important;
    height: 50px!important;
    line-height: 50px!important;
    border-bottom: none!important;
}

.priority-search-container .priority-search-input-wrap {
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 45px;
    /* margin-top: 10px; */
    position: relative;
}

.priority-search-container .priority-search-input-wrap i {
    position: absolute;
    right: 0;
    top: 0;
    font-size: 19px;
    height: 50px;
    width: 50px;
    text-align: center;
    line-height: 50px;
    cursor: pointer;
}

.priority-search-container .priority-search-input-wrap i:hover {
    color: var(--primary);
}

.the-project-task-items .project-name i {
    font-size: 14px;
    color: var(--highlight);
    margin-right: 5px;
    line-height: unset!important;
    height: unset;
}

/* ============================================
   COLLAPSED PROFILE SIDEBAR
   Mirrors the .thin-sidebar pattern used on the
   plan/work/deliver/communicate/strategy suites.
   Driven by currentUser.settings.sidebarCollapsed.profile.
   ============================================ */

.profile-body.profile-sidebar-collapsed .profile-sidebar {
    min-width: 70px;
    max-width: 70px;
    transition: all .4s ease-in-out;
}

.profile-body.profile-sidebar-collapsed .the-profile-body-container {
    width: calc(100% - 70px) !important;
    transition: all .4s ease-in-out;
}

.profile-body.profile-sidebar-collapsed .profile-sidebar .user-profile-links {
    display: none;
}

.profile-body.profile-sidebar-collapsed .profile-sidebar .profile-sidebar-body {
    padding: 0;
    height: calc(100dvh - 64px - 146px);
}

/* Profile menu items have a different DOM than the suite sidebars
   (icon + raw text node, no wrapper span). Hide labels via font-size: 0
   on the parent, restore the icon size explicitly on the <i>. */

.profile-body.profile-sidebar-collapsed .profile-sidebar .profile-menu-item {
    padding: 0;
    height: 50px;
    line-height: 50px;
    font-size: 0;
    text-align: center;
    justify-content: center;
    /* width: 100%; */
    gap: 0;
    /* display: flex; */
}

.profile-body.profile-sidebar-collapsed .profile-sidebar .profile-menu-item i {
    font-size: 16px!important;
}

.profile-body.profile-sidebar-collapsed .profile-sidebar .profile-menu-item i.material-icons-outlined {
    font-size: 21px;
    line-height: 50px;
    margin: 0 auto;
    float: none!important;
    display: inline-block;
    vertical-align: middle;
}

.profile-body.profile-sidebar-collapsed .profile-sidebar .user-profile-image {
    padding: 23px 0 0 !important;
    min-height: 0;
    text-align: center;
    margin-bottom: 15px;
}

.profile-body.profile-sidebar-collapsed .profile-sidebar .user-profile-image .the-profile-image {
    width: 40px;
    height: 40px;
    min-height: 40px!important;
    line-height: 40px;
    margin: 0 auto;
    display: inline-block;
}

.profile-body.profile-sidebar-collapsed .profile-sidebar .user-profile-image .just-initials {
    font-size: 12pt;
    line-height: 40px;
}

.profile-body.profile-sidebar-collapsed .profile-sidebar .user-profile-image .change-profile-image,
.profile-body.profile-sidebar-collapsed .profile-sidebar .user-profile-image .reset-profile-image {
    display: none;
}

.profile-body.profile-sidebar-collapsed .profile-sidebar .profile-actions {
    padding-left: 0;
    text-align: center;
}

.profile-body.profile-sidebar-collapsed .profile-sidebar .profile-actions .profile-action {
    display: none;
}

.profile-body.profile-sidebar-collapsed .toggle-profile-sidebar-btn {
    margin-left: auto !important;
    margin-right: auto !important;
}

.profile-body .toggle-profile-sidebar-btn i {
    font-size: 16px;
}

.focus-mention-header-wrap {
    display: flex;
    line-height: normal;
}
/* 082: a report's Priorities page has no mentions column. */
.profile-focus .focus-columns.focus-columns-solo { grid-template-columns: minmax(0, 1fr); }

/* 082: the org-chart line under the name in the profile sidebar — meta, not nav. */
.profile-sidebar-org { padding: 0 30px 12px; font-size: 12px; line-height: 1.6; color: var(--light-text); }
.profile-sidebar-org-line a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.profile-sidebar-org-help { font-size: 14px; vertical-align: -3px; margin-left: 3px; cursor: help; opacity: .8; }
.profile-sidebar-collapsed .profile-sidebar-org { display: none; }

/* ── Mail App Layout ─────────────────────────────────────────────────────── */

.mail-app {
    display: flex;
    height: calc(100vh - 65px);
    background: var(--white);
    overflow: hidden;
}

/* ── Sidebar ────────────────────────────────────────────────────────────── */

.mail-sidebar {
    width: 100%;
    max-width: 320px;
    min-width: 260px;
    flex-shrink: 0;
    background: var(--white);
    /* border-right: 1px solid #e7e7e7; */
    display: flex;
    flex-direction: column;
    padding: 0;
    box-shadow: var(--box-shadow)!important;
    overflow-y: auto;
    z-index: 999;
}

.mail-compose-btn {
    display: flex;
    /* align-items: center; */
    /* justify-content: center; */
    gap: 3px;
    margin: 0 0 10px;
    padding: 0px 37px;
    /* background: var(--primary); */
    color: var(--primary);
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: opacity 0.15s;
    text-decoration: none;
    /* color: var(--awhite); */
    height: 50px;
    line-height: 50px;
}

.mail-compose-btn i {
    font-size: 17px;
    margin-right: 5px;
    line-height: 48px;
    height: 50px;
}

.mail-compose-btn:hover {
    /* opacity: 0.9; */
    /* color: var(--awhite); */
    /* background-color: var(--primary); */
    text-decoration: underline;
}

.mail-folder-list {
    height: calc(100dvh - 219px);
    overflow-y: auto;
    padding: 0 25px;
}

.mail-folder-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    cursor: pointer;
    font-size: 13px;
    color: var(--black);
    border-radius: 3px;
    margin-right: 0px;
    transition: background 0.12s;
    text-decoration: none;
}

.mail-folder-item:hover {
    background: var(--background-color);
}

.mail-folder-item.mail-folder-active {
    /* background: var(--subtle-highlight, rgba(var(--primary-rgb), 0.12)); */
    color: var(--primary);
    font-weight: 500;
}

.mail-folder-item.mail-folder-active i {
    color: var(--primary);
}

.mail-folder-item i {
    font-size: 14px;
    color: var(--icon-color);
}

.mail-folder-name {
    flex: 1;
}

.mail-folder-unread {
    font-size: 11px;
    font-weight: 600;
    background: var(--primary);
    color: var(--white);
    border-radius: 4px;
    padding: 1px 7px;
    min-width: 20px;
    text-align: center;
}

/* ── Main area ──────────────────────────────────────────────────────────── */

.mail-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    /* padding: 10px; */
    /* background-color: var(--background-color); */
}

/* ── Toolbar ────────────────────────────────────────────────────────────── */

.mail-list-toolbar {
    display: flex;
    align-items: center;
    /* gap: 12px; */
    /* height: 50px; */
    /* line-height: 50px; */
    /* border-bottom: 1px solid var(--light-border); */
    background: var(--white);
    flex-shrink: 0;
    padding: 25px 25px 20px;
}

.mail-search-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    background: var(--background-color);
    border-radius: var(--border-radius-tiny);
    padding: 0 15px;
    gap: 8px;
    height: 50px;
    line-height: 50px;
}

.mail-search-bar input {
    line-height: 50px!important;
    margin-bottom: 0!important;
    font-size: 13px!important;
}

.mail-search-bar i {
    color: var(--light-text);
    font-size: 18px;
}

.mail-search-input {
    flex: 1;
    border: none;
    background: transparent;
    outline: none;
    font-size: 13px;
    color: var(--black);
}

.mail-search-input::placeholder {
    color: var(--light-text);
}

.mail-folder-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--black);
    white-space: nowrap;
}

/* ── Loading + empty states ─────────────────────────────────────────────── */

.mail-loading {
    display: flex;
    justify-content: center;
    padding: 40px;
    color: var(--light-text);
}

.mail-loading-spinner i {
    font-size: 28px;
    color: var(--light-text);
}

.mail-empty, .mail-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    color: var(--light-text);
    gap: 5px;
    /* height: calc(100dvh - 137px); */
    font-weight: 400;
}

.mail-empty i {
    font-size: 35px;
    color: var(--good);
}

.mail-empty-text {
    font-size: 13px;
}

/* ── Message list ───────────────────────────────────────────────────────── */

.mail-message-list {
    flex: 1;
}

.mail-message-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 30px;
    cursor: pointer;
    transition: background 0.12s;
    position: relative;
    margin-bottom: 0px;
    border-bottom: 1px solid var(--light-border);
    cursor: pointer;
}

.mail-message-row:last-child {
    border-bottom: none!important;
}

.mail-message-row:hover {
    background: var(--hover-item);
}

.mail-message-row:hover .mail-msg-actions {
    opacity: 1;
}

.mail-message-unread .mail-msg-sender,
.mail-message-unread .mail-msg-subject {
    font-weight: 600;
}

.mail-message-unread {
    background: var(--white);
}

.mail-msg-avatar {
    flex-shrink: 0;
    padding-top: 2px;
}

.mail-avatar-circle {
    width: 30px;
    height: 30px;
    border-radius: var(--border-radius-tiny);
    background: var(--primary);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
}

.mail-msg-content {
    flex: 1;
    min-width: 0;
}

.mail-msg-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 0px;
}

.mail-msg-sender {
    font-size: 13px;
    color: var(--black);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 350px;
}

.mail-msg-time {
    font-size: 11px;
    color: var(--light-text);
    white-space: nowrap;
}

.mail-msg-subject {
    font-size: 13px;
    color: var(--black);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mail-msg-preview {
    font-size: 12px;
    color: var(--light-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: normal;
}

/* Inline preview: strip HTML tags */
.mail-msg-preview p,
.mail-msg-preview br,
.mail-msg-preview div {
    display: inline;
}

.mail-msg-actions {
    display: flex;
    gap: 4px;
    opacity: 0;
    transition: opacity 0.12s;
    flex-shrink: 0;
    position: absolute;
    right: 10px;
    background-color: var(--extra-light);
}

.mail-msg-actions i {
    color: var(--black)!important;
    font-size: 18px;
    margin-top: -5px!important;
}

.mail-msg-actions .mail-star-btn:hover i {
    color: var(--primary);
}

.mail-msg-action-btn {
    padding: 4px;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    transition: color 0.12s;
}

.mail-msg-action-btn:hover {
    color: var(--primary);
}

.mail-starred {
    color: var(--highlight, #f5a623) !important;
}

/* ── Compose view ───────────────────────────────────────────────────────── */

.mail-compose-view {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--background-color);
}

.mail-compose-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0px 20px 0px 30px;
    /* border-bottom: 1px solid var(--white); */
    flex-shrink: 0;
    height: 50px;
    box-shadow: var(--box-shadow);
    z-index: 9;
    background-color: var(--white);
    /* border: none; */
}

.mail-compose-title {
    font-size: 14px;
    color: var(--black);
    flex: 1;
    font-weight: 400;
}

.mail-compose-header-actions {
    display: flex;
    gap: 5px;
}

.mail-header-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    font-size: 12px;
    color: var(--icon-color);
    transition: background 0.12s;
}

.mail-header-btn i {
    font-size: 18px;
}

.mail-header-btn:hover {
    background: var(--hover-item);
    color: var(--primary);
}

.mail-discard-btn:hover {
    color: var(--danger);
}

.mail-compose-body {
    flex: 1;
    padding: 0;
    min-height: 0;
    overflow: hidden;
    padding: 50px;
    background-color: var(--background-color);
    overflow-y: auto;
}

.mail-compose-body.reply-to {
    height: calc(100dvh - 300px);
    overflow-y: auto;
}

.mail-compose-field {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 5px 30px;
    border-bottom: 1px solid var(--light-border);
    position: relative;
}

.mail-field-label {
    font-size: 12px;
    color: var(--light-text);
    min-width: 50px;
    padding-top: 6px;
    font-weight: 500;
}

.mail-recipients-input {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: flex-start;
    height: 34px;
}

.mail-recipient-chip {
    display: flex;
    align-items: center;
    gap: 4px;
    background: var(--extra-light);
    border-radius: 4px;
    padding: 3px 8px 3px 10px;
    font-size: 12px;
    color: var(--black);
    height: 34px;
}

.mail-recipient-chip i {
    font-size: 14px;
    cursor: pointer;
    color: var(--light-text);
    transition: color 0.12s;
}

.mail-recipient-chip i:hover {
    color: var(--danger);
}

.mail-recipient-text {
    flex: 1;
    min-width: 120px;
    border: none;
    outline: none;
    background: transparent;
    font-size: 13px!important;
    color: var(--black);
    padding: 4px 0;
    margin-bottom: 0!important;
    margin-top: -5px!important;
    padding-left: 3px!important;
}

.mail-recipient-dropdown {
    position: absolute;
    top: calc(100% + 2px);
    left: 80px;
    right: 20px;
    background: var(--white);
    border-radius: var(--border-radius-tiny);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    z-index: 100;
    max-height: 220px;
    overflow-y: auto;
    /* background-color: var(--xwhite); */
    /* z-index: 999999999999999999999999999; */
}

.mail-recipient-option {
    display: flex;
    align-items: center;
    padding: 0 20px;
    height: 50px;
    line-height: 50px;
    cursor: pointer;
    transition: background 0.1s;
}

.mail-recipient-option:hover {
    background: var(--hover-item);
}

.mail-recipient-avatar {
    width: 28px;
    height: 28px;
    border-radius: 4px;
    overflow: hidden;
    flex-shrink: 0;
    margin-right: 15px;
}

.mail-recipient-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mail-recipient-avatar-placeholder {
    background: var(--primary);
    color: var(--white);
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mail-recipient-name {
    font-size: 13px;
    color: var(--black);
}

.mail-compose-field-toggle {
    display: flex;
    gap: 8px;
    padding-top: 6px;
}

.mail-field-toggle-btn {
    font-size: 12px;
    color: var(--primary);
    cursor: pointer;
    font-weight: 500;
}

.mail-subject-input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 14px;
    color: var(--black);
    padding: 4px 0;
    margin-bottom: -4px!important;
    margin-top: -6px!important;
    font-size: 13px!important;
    padding-left: 5px!important;
}

.mail-compose-editor {
    padding: 0;
    /* height: calc(100dvh - 300px); */
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 0!important;
    position: relative;
}

.mail-body-editor {
    min-height: 260px;
}

.mail-compose-editor .mail-body-editor {padding: 25px;}

/* CKEditor inside compose */
.mail-compose-editor .cke_editable {
    min-height: 220px;
    height: calc(100dvh - 326px);
    overflow-y: visible;
    padding: 15px 30px 20px;
}

.mail-thread-open .mail-compose-editor .cke_editable {height: calc(100dvh - 387px)!important;}

.mail-thread-open .reply-to .mail-compose-editor .cke_editable {
    height: auto!important;
    max-height: calc(100dvh - 387px);
}

.mail-compose-editor .cke_editable > * {
    max-width: 900px;
}

.mail-compose-attachments {
    /* padding: 10px 20px; */
    /* border-top: 1px solid var(--border); */
    display: flex;
}

.mail-attachment-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: calc(100% - 200px);
    background-color: var(--white);
    max-height: 62px;
}

.mail-attachment-chip {
    display: flex;
    align-items: center;
    gap: 6px;
    /* background: var(--subtle); */
    border-radius: var(--border-radius-tiny);
    font-size: 12px;
    height: 30px;
    line-height: 30px;
}

.mail-attachment-chip i {
    font-size: 13px;
    color: var(--icon-color);
}

.mail-att-name {
    color: var(--black);
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-decoration: none;
    user-select: none;
}

i.mail-att-remove:hover {
    color: var(--primary)!important;
}

.mail-att-remove {
    font-size: 14px !important;
    cursor: pointer;
    color: var(--light-text) !important;
    transition: color 0.12s;
}

.mail-att-remove:hover {
    color: var(--danger) !important;
}

.mail-attach-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--light-text);
    cursor: pointer;
    padding: 4px 8px;
    border-radius: var(--border-radius-tiny);
    transition: background 0.12s, color 0.12s;
    margin-left: 5px;
    font-weight: 300;
    /* color: var(--primary)!important; */
    padding-left: 0;
    margin-left: 0;
}

.mail-attach-btn:hover {
    background-color: transparent!important;
}

.mail-attach-btn:hover {
    background: var(--hover-item);
    color: var(--primary);
}

.mail-attach-btn i {
    font-size: 16px;
}

.mail-file-input {
    display: none;
}

.mail-compose-footer {
    padding: 0 40px;
    height: 50px;
    /* border-top: 1px solid var(--border); */
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    flex-shrink: 0;
    z-index: 9;
    box-shadow: var(--box-shadow);
    border-top: 1px solid var(--light-border);
    background-color: var(--white);
}

.mail-send-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    background-color: transparent!important;
    padding: 0 5px!important;
}

.mail-send-btn i {
    color: var(--primary)!important;
    margin: 0!important;
}

/* ── Thread view ────────────────────────────────────────────────────────── */

.mail-thread-view {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--background-color);
    /* padding: 10px; */
    /* background-color: var(--background-color)!important; */
}

.mail-thread-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 15px;
    border-bottom: 1px solid var(--white);
    flex-shrink: 0;
    height: 50px;
    box-shadow: var(--box-shadow);
    background-color: var(--white);
    /* max-width: 900px; */
    margin: 0 auto;
    width: 100%;
    z-index: 99999999;
}

.mail-thread-back {
    cursor: pointer;
    color: var(--icon-color);
    display: flex;
    align-items: center;
    padding: 4px;
    border-radius: var(--border-radius-tiny);
    transition: color 0.12s, background 0.12s;
}

.mail-thread-back i {
    font-size: 16px;
}

.mail-thread-back:hover {
    color: var(--primary);
    background: var(--hover-item);
}

.mail-thread-subject {
    flex: 1;
    font-size: 14px;
    font-weight: 600;
    color: var(--black);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mail-thread-actions {
    display: flex;
    gap: 4px;
}

.mail-thread-body {
    flex: 1;
    overflow-y: auto;
    padding: 35px;
    background-color: var(--background-color);
}

.mail-thread-message {
    padding: 40px;
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    margin-bottom: 5px;
    border-radius: var(--border-radius-tiny);
    margin: 0px auto 5px;
    max-width: 840px;
    /* border: 1px solid var(--light-border); */
}

.mail-thread-msg-header {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 14px;
    /* max-width: 800px; */
    margin: 0 auto;
    line-height: 16px;
}

.mail-thread-msg-sender-info {
    flex: 1;
}

.mail-thread-msg-sender {
    font-size: 13px;
    font-weight: 600;
    color: var(--black);
}

.mail-thread-msg-recipients {
    font-size: 12px;
    color: var(--light-text);
    margin-top: 0px;
}

.mail-thread-msg-time {
    font-size: 11px;
    color: var(--light-text);
    white-space: nowrap;
}

.mail-thread-msg-body {
    font-size: 13px;
    line-height: 1.6;
    color: var(--black);
    /* max-width: 800px; */
    margin: 10px auto 0!important;
}

.mail-thread-msg-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0px auto;
    /* height: 50px; */
    /* line-height: 50px; */
}

.mail-reply-box {
    padding: 0;
    height: 50px;
    /* border-top: 1px solid var(--light-border); */
    flex-shrink: 0;
    display: flex;
    justify-content: space-between;
    background-color: var(--background-color);
    max-width: 900px;
    margin: 0 auto;
    width: 100%;
}

.mail-intelligence-btn, .mail-intelligence-btn i {
    line-height: 34px!important;
    vertical-align: middle;
    display: flex;
    gap: 10px;
    padding-left: 0!important;
}

.mail-reply-actions {
    display: flex;
    justify-content: end;
    gap: 0px;
}

.mail-reply-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--icon-color);
    cursor: pointer;
    padding: 6px 10px;
    border-radius: var(--border-radius-tiny);
    transition: color 0.12s, background 0.12s;
}

.mail-reply-btn:hover {
    color: var(--primary);
    background: var(--hover-item);
}

.mail-reply-btn i {
    font-size: 18px;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media screen and (max-width: 768px) {
    .mail-sidebar {
        width: 60px;
        padding: 12px 0;
    }

    .mail-compose-btn span,
    .mail-folder-name,
    .mail-folder-unread {
        display: none;
    }

    .mail-compose-btn {
        justify-content: center;
        padding: 10px;
    }

    .mail-folder-item {
        justify-content: center;
        padding: 10px;
        margin-right: 0;
        border-radius: var(--border-radius-tiny);
        margin: 2px 6px;
    }
}

/* ── Dark mode ───────────────────────────────────────────────────────────── */

.dark .mail-app,
.dark .mail-sidebar,
.dark .mail-compose-view,
.dark .mail-thread-view,
.dark .mail-list-toolbar {
    background: var(--white);
}

.dark .mail-sidebar,
.dark .mail-list-toolbar,
.dark .mail-compose-header,
.dark .mail-thread-header {
    border-color: transparent;
}

.dark .mail-message-unread {
    /* background: var(--extra-light); */
}


body .mail-app .cke .cke_inner, body .mail-app .cke {
    /* height: 100%!important; */
}

/* ── Thread history in compose (quoted previous messages) ────────────────── */

.mail-thread-history {
}

.mail-thread-history-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 28px;
    font-size: 0.8em;
    font-weight: 500;
    color: var(--mid-grey);
    letter-spacing: 0.03em;
    text-transform: uppercase;
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: var(--white);
    cursor: pointer;
    margin-bottom: 5px;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    border: none;
}

.mail-thread-history-divider i {
    transform: rotate(270deg);
}

.reply-to .mail-thread-history-divider i {
    transform: unset!important;
}

.mail-thread-history-divider:hover {
    color: var(--primary);
}

.mail-thread-history-divider i {
    font-size: 18px;
}

.mail-thread-history-message {
    padding: 30px;
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    margin-bottom: 5px;
    border-radius: var(--border-radius-tiny);
}

.mail-thread-history-message:last-child {
    border-bottom: none;
}

.mail-thread-history-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 8px;
    gap: 15px;
}

.mail-thread-history-sender {
    font-weight: 600;
    font-size: 0.88em;
    color: var(--dark-grey);
}

.mail-thread-history-time {
    font-size: 0.78em;
    color: var(--light-text);
}

.mail-thread-history-body {
    /* font-size: 0.85em; */
    /* color: var(--mid-grey); */
    /* line-height: 1.6; */
    border-left: 3px solid var(--border);
    padding-left: 20px;
    margin: 0;
    color: var(--light-text);
    max-width: 900px;
}

.mail-thread-history-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.mail-att-chip-sm {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    background: var(--extra-light);
    border-radius: 12px;
    font-size: 0.78em;
    color: var(--dark-grey);
}

.mail-att-chip-sm i {
    font-size: 14px;
    color: var(--mid-grey);
}

.mail-att-chip-sm a {
    color: var(--primary);
    text-decoration: none;
}

.mail-att-chip-sm a:hover {
    text-decoration: underline;
}

/* ============================================================
   Mail Intelligence Panel
   ============================================================ */

.mail-app {
    display: flex;
    height: 100%;
    overflow: hidden;
}

/* ── Outer panel container (right sidebar) ── */
.mail-intelligence-panel {
    min-width: 300px;
    30: 300;
    max-width: 450px;
    width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    background: var(--white);
    box-shadow: var(--box-shadow);
    /* border-left: 1px solid var(--white); */
}

/* ── Inner layout (sessions + main) ── */
.mail-intel-panel {
    display: flex;
    flex-direction: row;
    height: 100%;
    overflow: hidden;
    padding: 0;
    max-width: unset;
    margin: 0;
    position: relative;
    /* background-color: var(--white)!important; */
}

/* ── Sessions slide-out panel ── */
.mail-intel-sessions {
    display: none;
    flex-direction: column;
    width: 100%;
    flex-shrink: 0;
    /* border-right: 1px solid var(--border); */
    overflow: hidden;
    /* background: var(--background-color); */
}

.mail-intel-sessions.open {
    display: flex;
    position: absolute;
    background-color: var(--white);
    z-index: 999;
    height: 100%;
    overflow-y: auto;
}

.mail-intel-sessions-header {
    /* padding: 8px; */
    border-bottom: 1px solid var(--light-border);
}

.mail-intel-session-list {
    flex: 1;
    overflow-y: auto;
    max-height: unset;
}

.mail-intel-session-delete {
    display: none;
    font-size: 14px !important;
    color: var(--light-text);
}

.sli.pi-session-item:hover .mail-intel-session-delete {
    display: block;
    position: absolute;
    z-index: 99999999;
    right: 30px;
    background-color: var(--background-color);
}

/* ── Main area (header + messages + input) ── */
.mail-intel-main {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    position: relative;
    height: 100%;
}

/* ── Header ── */
.mail-intel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px 0 20px;
    height: 50px;
    line-height: 50px;
    flex-shrink: 0;
    /* border-bottom: 1px solid var(--light-border); */
    background-color: var(--background-color);
}

.mail-intel-context-chip-label {
    line-height: normal;
}

.mail-intel-header-left {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.mail-intel-sessions-toggle {
    padding: 0 8px !important;
    min-width: unset !important;
    height: 36px !important;
}

.mail-intel-header-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--black);
}

.mail-intel-header-title img {
    max-width: 20px;
    margin-right: 5px;
}

.mail-intel-title-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: var(--nothing);
    font-size: 17px;
}

.mail-intel-header-right {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

/* ── Credits banner ── */
.mail-intel-credits-banner {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: #fff8e1;
    border-bottom: 1px solid #ffe082;
    font-size: 12px;
    color: #8a6300;
    flex-shrink: 0;
}

.mail-intel-credits-banner a {
    color: var(--primary);
    cursor: pointer;
    text-decoration: underline;
}

/* ── Messages scroll area (override default jtsyn-chat-body sizing) ── */
.mail-intel-main .mi-messages-container.oe {
    flex: none;
    overflow-y: auto;
    /* min-height: 0; */
    /* jtsyn-chat-body sets a height via calc; override for flex child */
    height: calc(100dvh - 223px)!important;
    max-height: unset !important;
    background-color: transparent;
}

.dark .mail-intel-main .mi-messages-container.oe {}

/* ── Empty state ── */
.mail-intel-empty {
    position: absolute;
    top: 50px;
    bottom: 160px;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px;
    text-align: center;
    pointer-events: none;
}

.mail-intel-empty-icon {
    font-size: 30px !important;
    color: var(--light-text);
    margin-bottom: 10px;
}

.mail-intel-empty-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-color);
    margin-bottom: 4px;
}

.mail-intel-empty-sub {
    font-size: 12px;
    color: var(--light-text);
    margin-bottom: 16px;
}

.mail-intel-prompts {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
    pointer-events: all;
    align-items: center;
}

.mail-intel-prompt-chip {
    padding: 3px 12px;
    border: 1px solid transparent;
    border-radius: var(--border-radius-tiny);
    font-size: 10px;
    color: var(--text-color);
    cursor: pointer;
    /* text-align: left; */
    transition: background 0.15s, border-color 0.15s;
    /* background: var(--background-color); */
}

.mail-intel-prompt-chip:hover {
    background: var(--hover);
    border-color: var(--primary);
    color: var(--primary);
}

/* ── Input wrapper — override pi-chat-input's absolute positioning ── */
.mail-intel-input-wrapper {
    flex-shrink: 0;
    border-top: 1px solid var(--light-border);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: unset;
    background-color: transparent!important;
}

.mail-intel-chat-input {
    position: relative !important;
    bottom: unset !important;
    left: unset !important;
    right: unset !important;
    max-width: unset !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border-top: none !important;
    box-shadow: none !important;
    background-color: transparent!important;
}

.mail-intel-chat-input .pi-chat-composer {
    min-height: 60px;
    max-height: 120px;
    padding: 10px 20px 0!important;
    background-color: transparent;
    font-size: 13px;
}

.mail-intel-chat-input .chat-input-button-footer {
    position: static !important;
    padding: 0 15px 0px !important;
    height: 50px;
}

/* ── Responsive ── */
@media (max-width: 1200px) {
    .mail-intelligence-panel {
        position: fixed;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 200;
        box-shadow: -4px 0 16px rgba(0, 0, 0, 0.12);
        width: 320px;
    }
}

@media (max-width: 900px) {
    .mail-intelligence-panel {
        display: none;
    }

    .mail-app.mail-intel-open .mail-intelligence-panel {
        display: flex;
        width: 100%;
    }
}

/* ── Dark mode ── */
.dark .mail-intelligence-panel,
.dark .mail-intel-header {
    /* background: var(--dark-bg, #1e1e1e); */
    /* border-color: var(--dark-border, #333); */
}

.dark .mail-intel-sessions {
    background: var(--dark-surface, #161616);
    border-color: var(--dark-border, #333);
}

.dark .mail-intel-sessions-header {
    border-color: var(--dark-border, #333);
}

.dark .mail-intel-prompt-chip {
    /* background: var(--background-color); */
    border-color: var(--light-border);
    color: var(--black);
}

.dark .mail-intel-prompt-chip:hover {
    background: var(--dark-hover, #2a2a2a);
}

.dark .mail-intel-credits-banner {
    background: rgba(255, 160, 0, 0.12);
    border-color: rgba(255, 160, 0, 0.25);
    color: #ffcc80;
}

ul#miSettingsDropdown {
    bottom: 0;
    top: unset!important;
}

.mail-list-view {
    padding: 50px;
    background-color: var(--background-color);
    height: calc(100dvh - 64px);
    overflow-y: auto;
}

.mail-list-view-content.card {
    border-radius: var(--border-radius-tiny)!important;
    margin: 0;
    overflow: hidden;
    max-width: 780px;
    margin: 0 auto;
}

.mail-intelligence .btn, .mail-intelligence .btn i {
    height: 50px!important;
    line-height: 50px!important;
}

.mail-intel-sessions-header-right .btn {
    height: 50px;
    line-height: 50px;
    width: 50px;
    cursor: pointer;
    margin-right: 10px;
    margin-left: -10px;
}

.mail-intel-sessions-header-right .btn:hover i {
    color: var(--primary);
}

i.mail-intel-session-delete:hover {
    color: var(--warning)!important;
}

.chat-input.mail-intel-chat-input .second-container .ai-action {
    flex-direction: row;
    align-items: start;
}

.chat-input.mail-intel-chat-input .ai-action i {
    line-height: normal;
    height: unset;
}

.mail-intel-context-chip {
    /* background-color: var(--background-color); */
    display: flex;
    align-items: center;
    vertical-align: middle;
    padding: 5px 25px;
}

.mail-intel-context-chip > span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.mail-intel-context-chip > span i {
    font-size: 15px;
}

.mail-composed-content.card {
    max-width: 900px;
    margin: 0px auto;
}
/* Plan Hero Card */
.plan-hero-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 25px 30px;
    background: var(--white);
    color: white;
    border-radius: var(--border-radius-tiny);
    margin-bottom: 25px;
    box-shadow: var(--box-shadow);
}

.plan-hero-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    flex-grow: 1;
}

.plan-hero-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.plan-hero-badge {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 16px;
    font-weight: 500;
    color: var(--black);
}

.plan-hero-badge .material-symbols-outlined {
    font-size: 28px;
}

.plan-hero-description {
    font-size: 13px;
    color: var(--light-text);
}

.plan-hero-stats {
    display: flex;
    gap: 30px;
}

.plan-stat {
    text-align: center;
    padding: 0;
    border-left: 1px solid rgba(255,255,255,0.2);
}

.plan-stat:first-child {
    border-left: none;
}

.plan-stat-number {
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 4px;
    color: var(--primary);
}

.plan-stat-number span {
    font-size: 12px!important;
    color: var(--light-text)!important;
}

.plan-stat-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.8;
}

.plan-hero-actions .btn {
    background: white;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
}

.plan-hero-actions .btn:hover {
    background: rgba(255,255,255,0.9);
}

/
.features-quick-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    border-radius: var(--border-radius-tiny);
    margin-bottom: 3px;
}

.quick-action {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    color: var(--primary);
    padding: 8px 15px 8px 0;
    border-radius: var(--border-radius-tiny);
    transition: all 0.2s ease;
}

.quick-action:hover {
    background: var(--primary);
    color: white;
}

.quick-action .material-symbols-outlined {
    font-size: 20px;
}

.features-count {
    font-size: 13px;
    color: var(--light-text);
}

/* Feature Category Section */
.feature-category-section {
    margin-top: 50px;
    /* overflow: hidden; */
}

.feature-category-section .feature-card {max-width: 50%;flex: 1 0 calc(50% - 5px);margin-bottom: 0;/* border: 1px solid var(--light-border); */background-color: var(--white)!important;box-shadow: var(--box-shadow);}

.feature-category-section .feature-card:hover {
    background-color: var(--xwhite)!important;
}

.feature-category-section.premium-section .feature-category-header {
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
}

.feature-category-header {
    display: flex;
    align-items: center;
    gap: 15px;
}

.feature-category-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-tiny);
    flex-shrink: 0;
}

.feature-category-icon .material-symbols-outlined {
    color: var(--primary);
    font-size: 24px;
}

.feature-category-icon.premium {
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
}

.feature-category-section.premium-section .feature-category-header,
.feature-category-section.enterprise-section .feature-category-header {
    color: var(--black);
}

.feature-category-section.premium-section .feature-category-description,
.feature-category-section.enterprise-section .feature-category-description {
    color: var(--light-text);
}

.feature-category-info {
    flex-grow: 1;
}

.feature-category-title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 3px;
}

.feature-category-description {
    font-size: 13px;
    color: var(--light-text);
}

.enterprise-badge-header {
    display: flex;
    align-items: center;
    gap: 5px;
    background: rgba(255,255,255,0.2);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.enterprise-badge-header .material-symbols-outlined {
    font-size: 14px;
}

/* Feature List */
.feature-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    flex-direction: row;
    padding: 10px 0 0;
    position: relative;
}

/* Feature Card */
.feature-card {
    display: flex;
    flex-direction: row;
    gap: 15px;
    padding: 30px;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: 5px;
    background-color: var(--background-color);
}

.feature-card:last-child {
    margin-bottom: 0;
}

.feature-card:hover {
    background: var(--extra-light);
}

.feature-card:hover .feature-card-icon {
    background-color: var(--primary)!important;
}

.feature-card.feature-disabled {
    opacity: 0.6;
}

.user-viewer .feature-card.feature-disabled {
    opacity: 1;
}

.feature-card.feature-disabled .feature-card-icon span {
    color: var(--primary)!important;
}

.feature-card.feature-disabled:hover .feature-card-icon span {
    color: var(--awhite)!important;
}

.feature-card.feature-locked {
    opacity: 0.7;
    background: transparent;
}

.feature-card.feature-locked:hover {
    background: var(--extra-light);
}

.feature-card-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border-radius: var(--border-radius-tiny);
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.feature-card.feature-enabled .feature-card-icon {
    background: var(--background-color);
}

.feature-card.feature-enabled .feature-card-icon .material-symbols-outlined {
    color: var(--icon-icon);
}

.feature-card:hover .feature-card-icon .material-symbols-outlined {
    color: var(--awhite);
}

.feature-card-icon .material-symbols-outlined {
    font-size: 22px;
    color: var(--primary);
}

.feature-card-content {
    flex-grow: 1;
    min-width: 0;
}

.feature-card-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--black);
    margin-bottom: 0px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.feature-card-description {
    font-size: 13px;
    color: var(--light-text);
    line-height: 1.4;
}

.feature-card-limits {
    margin-top: 6px;
}

.limit-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    color: var(--good);
    background: rgba(16, 185, 129, 0.1);
    padding: 3px 10px;
    border-radius: 12px;
}

.limit-badge .material-symbols-outlined {
    font-size: 14px;
}

.limit-badge.limited {
    color: var(--highlight);
    background: rgba(245, 158, 11, 0.1);
}

.enterprise-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--light-text);
    font-size: 12px;
}

.enterprise-badge .material-symbols-outlined {
    font-size: 14px;
}

.feature-card-toggle {
    flex-shrink: 0;
}

.feature-card-toggle .lever {
    margin-right: 0!important;
}

.feature-card:hover .feature-card-toggle .lever {
    background-color: var(--extra-light)!important;
}

.feature-card-upgrade {
    flex-shrink: 0;
    margin-left: auto;
}

.feature-card-upgrade a {
    font-size: 13px;
}

.feature-card-upgrade a span {
    line-height: unset;
    vertical-align: middle;
}

.upgrade-cta {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--primary);
    font-size: 13px;
    font-weight: 600;
    padding: 8px 15px;
    background: var(--white);
    border-radius: var(--border-radius-tiny);
    border: 1px solid var(--primary);
    transition: all 0.2s ease;
}

.upgrade-cta:hover {
    background: var(--primary);
    color: white;
}

.upgrade-cta .material-symbols-outlined {
    font-size: 16px;
}

/* Upgrade Banner */
.upgrade-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 25px 30px;
    background: linear-gradient(135deg, #f0f9ff, #e0f2fe);
    border: 1px solid var(--primary);
    border-radius: var(--border-radius-sm);
    margin-top: 30px;
}

.upgrade-banner-content {
    display: flex;
    align-items: center;
    gap: 20px;
}

.upgrade-banner-icon {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary);
    border-radius: var(--border-radius-tiny);
}

.upgrade-banner-icon .material-symbols-outlined {
    font-size: 26px;
    color: white;
}

.upgrade-banner-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--black);
    margin-bottom: 3px;
}

.upgrade-banner-description {
    font-size: 14px;
    color: var(--light-text);
}

.upgrade-banner-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.upgrade-banner-btn .material-symbols-outlined {
    font-size: 18px;
}

/* Current Plan Card */
.current-plan-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .plan-hero-card {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
    
    .plan-hero-content {
        flex-direction: column;
        gap: 20px;
    }
    
    .plan-hero-stats {
        justify-content: center;
    }
    
    .plan-stat {
        padding: 0 15px;
    }
    
    .features-quick-actions {
        flex-direction: column;
        gap: 10px;
    }
    
    .feature-card {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }
    
    .feature-card-toggle,
    .feature-card-upgrade {
        align-self: flex-end;
        margin-top: 10px;
    }
    
    .upgrade-banner {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
    
    .upgrade-banner-content {
        flex-direction: column;
    }
}

.plan-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.plan-badge {
    font-size: 18px;
    font-weight: 600;
}

.plan-version {
    font-size: 12px;
    opacity: 0.8;
    background: rgba(255,255,255,0.2);
    padding: 2px 8px;
    border-radius: 10px;
}

.plan-details {
    display: flex;
    align-items: center;
    gap: 20px;
}

.plan-detail {
    font-size: 14px;
    opacity: 0.9;
}

.plan-detail strong {
    font-weight: 700;
}.feature-item.disabled {
    opacity: 0.6;
}

.feature-item.disabled .feature-icon {
    background-color: var(--light-border);
}

.feature-item.disabled .feature-icon i {
    color: var(--light-text);
}

/* Enterprise Badge */
.enterprise-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 600;
    color: var(--primary);
    background: rgba(38, 164, 209, 0.1);
    padding: 2px 8px;
    border-radius: 10px;
    margin-left: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.enterprise-badge i {
    font-size: 12px;
}

.feature-item.enterprise-only {
    background-color: var(--veryvery-light);
}

/* Feature Usage Bar */
.feature-usage {
    margin-top: 8px;
}

.usage-bar {
    height: 4px;
    background-color: var(--light-border);
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: 4px;
}

.usage-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--good), var(--highlight));
    border-radius: 2px;
    transition: width 0.3s ease;
}

.usage-text {
    font-size: 11px;
    color: var(--light-text);
}

/* Add-on CTA */
.feature-addon {
    text-align: right;
}

.addon-cta {
    cursor: pointer;
    transition: all 0.2s ease;
}

.addon-price {
    font-size: 12px;
    font-weight: 600;
    color: var(--primary);
    margin-bottom: 5px;
}

.addon-cta:hover .btn {
    background-color: var(--primary-hover);
}

.account-features {
    margin-bottom: 30px;
}

.feature-category {
    margin-bottom: 5px;
}

.feature-category-header {
    margin-bottom: 0;
}

.feature-settings .feature-category-header > .feature-category-icon {
    display: none;
}

.feature-settings .feature-category-header {
    padding-left: 30px;
}

.feature-category-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    margin-bottom: 0px;
}

.feature-category-title i {
    color: var(--primary);
    font-size: 20px;
}

.feature-category-description {
    color: var(--light-text);
    font-size: 14px;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 5px;
}

.feature-item {
    background-color: var(--background-color);
    transition: background-color 0.2s ease;
    padding: 20px;
    box-sizing: border-box;
    border-radius: var(--border-radius-tiny);
}

.feature-item:hover {
    background-color: var(--veryvery-light);
}

.feature-content {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.feature-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg);
    border-radius: var(--border-radius-tiny);
}

.feature-icon i {
    color: var(--primary);
    font-size: 20px;
}

.feature-details {
    flex-grow: 1;
}

.feature-name {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 5px;
    color: var(--black);
}

.feature-description {
    color: var(--light-text);
    font-size: 12px;
    line-height: 1.4;
    margin-bottom: 10px;
}

.feature-pricing {
    font-size: 12px;
    font-weight: 600;
}

.feature-pricing.included .feature-included {
    color: var(--good);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.feature-price {
    color: var(--primary);
    font-size: 14px;
}

.feature-term {
    color: var(--light-text);
}

.feature-status {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    min-width: 120px;
}

.status-badge {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border-radius: var(--border-radius-tiny);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.status-badge.unlimited {
    background-color: var(--good);
    color: white;
}

.status-badge.unlimited i {
    font-size: 14px;
}

.status-badge.limited {
    background-color: var(--highlight);
    color: var(--black);
}

.status-badge.limited i {
    font-size: 14px;
}

.upgrade-hint {
    display: flex;
    align-items: center;
    gap: 3px;
    color: var(--primary);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 2px 5px;
    border-radius: var(--border-radius-tiny);
}

.upgrade-hint:hover {
    background-color: var(--primary);
    color: white;
}

.upgrade-hint i {
    font-size: 12px;
}

.unlock-cta {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: linear-gradient(135deg, var(--primary), #1e8bb3);
    color: white;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(38, 164, 209, 0.2);
    min-width: 140px;
}

.unlock-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(38, 164, 209, 0.3);
    background: linear-gradient(135deg, #1e8bb3, var(--primary));
}

.unlock-content {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-grow: 1;
}

.unlock-content i {
    font-size: 16px;
    opacity: 0.9;
}

.unlock-text {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.unlock-action {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.2;
}

.unlock-plan {
    font-size: 9px;
    opacity: 0.8;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}

.unlock-arrow {
    flex-shrink: 0;
}

.unlock-arrow i {
    font-size: 14px;
    transition: transform 0.3s ease;
}

.unlock-cta:hover .unlock-arrow i {
    transform: translateX(2px);
}

.upgrade-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.upgrade-modal-content {
    background-color: var(--white);
    border-radius: var(--border-radius-sm);
    box-shadow: var(--box-shadow);
    max-width: 600px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
}

.upgrade-modal-header {
    display: flex;
    align-items: center;
    justify-content: between;
    padding: 20px;
    border-bottom: 1px solid var(--border);
}

.upgrade-modal-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--black);
    flex-grow: 1;
}

.upgrade-modal-close {
    cursor: pointer;
    padding: 5px;
    border-radius: var(--border-radius-tiny);
    transition: background-color 0.2s ease;
}

.upgrade-modal-close:hover {
    background-color: var(--hover-light);
}

.upgrade-modal-close i {
    color: var(--light-text);
    font-size: 20px;
}

.upgrade-modal-body {
    padding: 20px;
}

.upgrade-feature-info {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 30px;
    padding: 20px;
    background-color: var(--bg);
    border-radius: var(--border-radius-tiny);
}

.upgrade-feature-icon {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    flex-shrink: 0;
}

.upgrade-feature-icon i {
    color: var(--primary);
    font-size: 24px;
}

.upgrade-feature-details {
    flex-grow: 1;
}

.upgrade-feature-name {
    font-size: 18px;
    font-weight: 600;
    color: var(--black);
    margin-bottom: 5px;
}

.upgrade-feature-description {
    color: var(--light-text);
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 10px;
}

.upgrade-feature-status {
    margin-top: 10px;
}

.current-limit {
    font-size: 12px;
    color: var(--highlight);
    font-weight: 600;
    padding: 5px 10px;
    background-color: rgba(255, 193, 7, 0.1);
    border-radius: var(--border-radius-tiny);
    display: inline-block;
}

.upgrade-plans-comparison {
    margin-top: 30px;
}

.comparison-header {
    text-align: center;
    margin-bottom: 25px;
}

.comparison-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--black);
    margin-bottom: 5px;
}

.comparison-subtitle {
    font-size: 14px;
    color: var(--light-text);
}

.plans-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.upgrade-plan {
    position: relative;
    padding: 25px 20px;
    border: 2px solid var(--border);
    border-radius: var(--border-radius-sm);
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: var(--white);
}

.upgrade-plan:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.upgrade-plan.selected {
    border-color: var(--primary);
    background: linear-gradient(135deg, var(--primary), #1e8bb3);
    color: white;
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(38, 164, 209, 0.3);
}

.upgrade-plan.recommended {
    border-color: var(--good);
    background-color: var(--veryvery-light);
}

.plan-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--good);
    color: white;
    padding: 5px 15px;
    border-radius: var(--border-radius-tiny);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.upgrade-plan-header {
    text-align: center;
    margin-bottom: 20px;
}

.upgrade-plan-name {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
    color: var(--black);
}

.upgrade-plan.selected .upgrade-plan-name {
    color: white;
}

.upgrade-plan-price {
    margin-bottom: 8px;
}

.price-amount {
    font-size: 28px;
    font-weight: 700;
    color: var(--primary);
}

.upgrade-plan.selected .price-amount {
    color: white;
}

.price-term {
    font-size: 14px;
    color: var(--light-text);
    font-weight: 400;
}

.upgrade-plan.selected .price-term {
    color: rgba(255, 255, 255, 0.8);
}

.upgrade-plan-description {
    font-size: 13px;
    color: var(--light-text);
    font-style: italic;
}

.upgrade-plan.selected .upgrade-plan-description {
    color: rgba(255, 255, 255, 0.9);
}

.upgrade-plan-limits {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
    padding: 15px 0;
    border-top: 1px solid var(--light-border);
    border-bottom: 1px solid var(--light-border);
}

.upgrade-plan.selected .upgrade-plan-limits {
    border-color: rgba(255, 255, 255, 0.2);
}

.plan-limit {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--black);
}

.upgrade-plan.selected .plan-limit {
    color: white;
}

.plan-limit i {
    font-size: 16px;
    color: var(--primary);
}

.upgrade-plan.selected .plan-limit i {
    color: rgba(255, 255, 255, 0.9);
}

.feature-benefit {
    padding: 15px;
    background-color: var(--bg);
    border-radius: var(--border-radius-tiny);
    text-align: center;
}

.upgrade-plan.selected .feature-benefit {
    background-color: rgba(255, 255, 255, 0.1);
}

.benefit-label {
    font-size: 12px;
    color: var(--light-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
    margin-bottom: 5px;
}

.upgrade-plan.selected .benefit-label {
    color: rgba(255, 255, 255, 0.8);
}

.benefit-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--black);
}

.upgrade-plan.selected .benefit-value {
    color: white;
}

.unlimited-text {
    color: var(--good);
    font-weight: 700;
}

.upgrade-plan.selected .unlimited-text {
    color: #fff;
}

.upgrade-modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 15px;
    padding: 20px;
    border-top: 1px solid var(--border);
}

.plan-selector {
    padding: 20px;
}

.plan-options {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 20px;
}

.plan-option {
    padding: 20px;
    border: 1px solid transparent;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    transition: all 0.2s ease;
}

.plan-option:hover {
    border-color: var(--primary);
    background-color: var(--veryvery-light);
}

.plan-option.selected {
    border-color: var(--primary);
    color: white;
}

.plan-option-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.plan-option-name {
    font-size: 18px;
    font-weight: 600;
}

.plan-option-price {
    font-size: 16px;
    font-weight: 700;
    color: var(--primary);
}

.plan-option.selected .plan-option-price {text-align: center;}

.plan-option-term {
    font-size: 14px;
    font-weight: 400;
    opacity: 0.8;
}

.plan-option-features {
    margin-bottom: 15px;
}

.plan-option-feature-count {
    font-size: 12px;
    color: var(--light-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
}

.plan-option.selected .plan-option-feature-count {
    color: rgba(255, 255, 255, 0.8);
}

.plan-option-feature-list {
    font-size: 14px;
    color: var(--black);
    line-height: 1.4;
}

.plan-option.selected .plan-option-feature-list {
    color: white;
}

.plan-option-feature-item {
    font-weight: 500;
}

.plan-option-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.plan-current-badge {
    background-color: var(--good);
    color: white;
    padding: 5px 10px;
    border-radius: var(--border-radius-tiny);
    font-size: 12px;
    font-weight: 600;
}

.plan-select-button {
    background-color: white;
    color: var(--primary);
    border: 1px solid white;
}

.plan-select-button:hover {
    background-color: rgba(255, 255, 255, 0.9);
}

.plan-selector-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 15px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}

.plan-feature-count {
    font-size: 12px;
    color: var(--light-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

.plan-feature-list {
    font-size: 14px;
    color: var(--black);
    line-height: 1.4;
    padding-top: 20px;
    text-transform: capitalize;
}

.plan-feature-item {
    font-weight: 400;
}

.plan-limits-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    /* margin: 10px 0 0; */
    padding: 0px 0 0;
    /* border-top: 1px solid var(--light-border); */
}

.plan-limit-item {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 13px;
    color: var(--black);
    font-weight: 400;
}

.plan-limit-item i {
    s
    font-size: 19px;
    color: var(--light-text);
    font-size: 20px;
}

.plan-option-limits {
    flex-wrap: wrap;
    gap: 10px;
    margin: 10px 0;
}

.plan-option-limit {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: var(--light-text);
    padding: 5px 8px;
    border-radius: var(--border-radius-tiny);
    margin-bottom: 1px;
}

.plan-option-limit i {
    font-size: 14px;
    color: var(--primary);
}

.btn.btn-small {
    padding: 0px 15px;
    font-size: 12px;
    font-weight: 400;
}

.listing-actions .btn.btn-small {
    /* padding: 0!important; */
}

.addons-total-bar a.btn {
    padding-right: 0!important;
}

.btn.ideas-clear-filters {
    height: 34px;
    line-height: 34px;
    background-color: var(--white)!important;
    box-shadow: var(--box-shadow)!important;
}

.btn.ideas-clear-filters i {
    color: var(--primary);
}

.addon-item .btn.btn-primary, .addon-item .btn.btn-text {
    color: var(--primary)!important;
    padding-right: 0!important;
    line-height: unset!important;
    height: unset;
    float: right;
}

.addon-item .btn.btn-primary.orange, .addon-item .btn.btn-text.orange {
    color: var(--orange)!important;
}

.addon-item.selected .btn.btn-primary {
    color: var(--orange)!important;
}

.account-billing div .btn.btn-small {
    background: transparent!important;
    color: var(--primary)!important;
    letter-spacing: unset!important;
    font-size: 13px;
    padding: 0!important;
    height: unset!important;
    line-height: unset;
}

.backups-admin-page-container .btn.btn-small {
    padding-left: 0px!important;
    color: var(--primary)!important;
}

.account-overview.row {
    /* margin-bottom: 0px!important; */
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 5px;
    position: relative;
}

.stat-item {
    background-color: var(--white);
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    transition: background-color 0.2s ease;
}

.integration-section .stat-item {
    background-color: var(--background-color);
    margin-top: 20px;
    margin-bottom: 20px;
}

.stat-icon {
    width: 40px;
    height: 20px;
    margin-bottom: 0px;
    display: inline-block;
    justify-content: center;
    margin-left: -25px!important;
}

.stat-icon i {
    color: var(--icon-color);
    font-size: 18px;
}

.stat-details {
    flex-grow: 1;
}

.stat-number {
    font-size: 25px;
    /* font-weight: 400; */
    /* color: var(--primary); */
    line-height: 1;
    margin-bottom: 5px;
    text-transform: lowercase;
}

.stat-number svg {
    max-width: 37px;
}

.stat-label {
    font-size: 12px;
    color: var(--light-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.account-preferences {
    margin-bottom: 30px;
    display: flex!important;
    align-items: stretch;
    gap: 5px;
    margin-top: 5px!important;
}

.preference-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
    border-bottom: 1px solid var(--light-border);
}

.preference-item:last-child {
    border-bottom: none;
}

.preference-label {
    color: var(--light-text);
    font-size: 13px;
}

.preference-value {
    color: var(--black);
    font-size: 14px;
}

.preferences-edit {
    padding: 20px 0 0;
}

.preferences-edit > .row .col.s6:first-child {
    padding-right: 5px!important;
}

.preferences-edit .title.text-field {
    margin-bottom: 0!important;
}

.preferences-edit .title.text-field {
    margin-bottom: 20px;
}

.preferences-edit select {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    background-color: var(--white);
    color: var(--black);
    font-size: 14px;
}

.preferences-edit select:focus {
    outline: none;
    border-color: var(--primary);
}

.action-buttons {
    padding: 20px 0 0;
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.action-button {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 5px;
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    transition: all 0.2s ease;
    background-color: var(--white);
}

.action-button:hover {
    border-color: var(--primary);
    background-color: var(--veryvery-light);
}

.action-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg);
    border-radius: var(--border-radius-tiny);
    flex-shrink: 0;
}

.action-icon i {
    color: var(--primary);
    font-size: 20px;
}

.action-details {
    flex-grow: 1;
}

.action-title {
    font-weight: 600;
    color: var(--black);
    font-size: 14px;
    margin-bottom: 2px;
}

.action-description {
    color: var(--light-text);
    font-size: 12px;
    line-height: 1.3;
}

.billing-overview {
    margin-bottom: 30px;
    margin-top: 10px!important;
}.plan-billing-item {
    flex: 1;
}

.plan-billing-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 15px;
    width: 100%;
}

.plan-billing-title {
    font-size: 20px;
    color: var(--black);
}

.plan-billing-price {
    font-size: 26px;
    font-weight: 300;
    color: var(--primary);
}

.plan-billing-term {
    font-size: 13px;
    font-weight: 400;
    opacity: 0.8;
    color: var(--black);
}

.plan-billing-details {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.billing-detail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
}

.billing-detail.total {
    border-top: 1px solid var(--border);
    margin-top: 10px;
    padding-top: 20px;
    font-weight: 600;
}

.billing-label {
    color: var(--black);
    font-size: 14px;
}

.billing-value {
    color: var(--light-text);
    font-size: 14px;
    font-weight: 500;
}

.billing-detail.total .billing-value {
    color: var(--primary);
    font-size: 16px;
    font-weight: 700;
}

.billing-actions {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.billing-action-button {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    transition: all 0.2s ease;
    background-color: var(--background-color);
    font-size: 14px;
    color: var(--black);
    margin-bottom: 5px;
}

.billing-action-button:hover {
    border-color: var(--primary);
    background-color: var(--veryvery-light);
    color: var(--primary);
}

.billing-action-button i {
    color: var(--primary);
    font-size: 18px;
}

.payment-method-list {
    padding: 0;
}

.payment-method-item {
    display: flex;
    align-items: start;
    gap: 15px;
    padding: 15px 0;
    border-bottom: 1px solid var(--light-border);
    background-color: var(--background-color);
    padding: 20px;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.payment-method-item:last-child {
    border-bottom: none;
}

.payment-method-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg);
    border-radius: var(--border-radius-tiny);
    flex-shrink: 0;
}

.payment-method-icon i {
    color: var(--primary);
    font-size: 20px;
}

.payment-method-details {
    flex-grow: 1;
}

.payment-method-brand {
    color: var(--black);
    font-size: 14px;
    margin-bottom: -3px;
}

.payment-method-expiry {
    color: var(--light-text);
    font-size: 12px;
}

.payment-method-default {
    background-color: var(--good);
    color: white;
    padding: 2px 8px;
    border-radius: var(--border-radius-tiny);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 5px;
    display: inline-block;
}

.payment-method-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.payment-method-action {
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    color: var(--primary);
    transition: color 0.2s ease;
}

.payment-method-action:hover {
    color: var(--black);
}

.payment-method-action.delete {
    color: var(--warning);
}

.payment-method-action.delete:hover {
    color: var(--warning-hover);
}

.no-payment-methods {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    text-align: center;
}

.no-payment-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-tiny);
    margin-bottom: 15px;
}

.no-payment-icon i {
    color: var(--light-text);
    font-size: 30px;
}

.no-payment-text {
    color: var(--light-text);
    font-size: 14px;
    margin-bottom: 20px;
}

.stripe-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.stripe-modal-content {
    background-color: var(--white);
    border-radius: var(--border-radius-sm);
    box-shadow: var(--box-shadow);
    max-width: 500px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
}

.stripe-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    border-bottom: 1px solid var(--border);
}

.stripe-modal-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--black);
}

.stripe-modal-close {
    cursor: pointer;
    padding: 5px;
    border-radius: var(--border-radius-tiny);
    transition: background-color 0.2s ease;
}

.stripe-modal-close:hover {
    background-color: var(--hover-light);
}

.stripe-modal-close i {
    color: var(--light-text);
    font-size: 20px;
}

.stripe-modal-body {
    padding: 20px;
}

.stripe-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.stripe-card-element {
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    background-color: var(--white);
    min-height: 50px;
    display: flex;
    align-items: center;
}

.stripe-card-errors {
    color: var(--warning);
    font-size: 12px;
    margin-top: 10px;
}

.stripe-modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 15px;
    padding: 20px;
    border-top: 1px solid var(--border);
}

@media (max-width: 768px) {
    .feature-grid {
        grid-template-columns: 1fr;
    }
    
    .feature-content {
        flex-direction: column;
        gap: 10px;
    }
    
    .feature-icon {
        align-self: flex-start;
    }
    
    .upgrade-modal-content {
        width: 95%;
        margin: 20px;
    }
    
    .plan-option-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
    
    .plan-selector-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .plan-selector-actions .btn {
        width: 100%;
        text-align: center;
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
   Account Roles — shared by /account/roles (roles.html) and the read-only
   Admin › Roles mirror (admin.account-roles.html), both of which render the same
   roles.panes.html partial.

   Everything here replaces an inline style that used to live in the markup
   (no-inline-styles.mdc):
     • .roles-account-info   ← roles.html          "margin-top: 10px!important"
     • .roles-actions-col    ← roles.panes.html    <th style="width: 100px">
     • .roles-user-cell      ← roles.panes.html    flex row in the user cell
     • .roles-avatar         ← roles.panes.html    the .avatar-circle square
     • .roles-more           ← roles.panes.html    the "+N more" spaces count
   plus .roles-readonly-notice, which is new in the mirror.

   Colours come from variables.css only, so the dark theme (:root.dark) follows
   without a second rule. --awhite is white in BOTH themes — the right choice for
   text sitting on the --primary fill; --white flips to #121212 in dark.
   ───────────────────────────────────────────────────────────────────────────── */

/* Read-only notice — Admin › Roles only, rendered once above the panes.
   Informational, not an error: --primary accent, never --warning. */
.roles-readonly-notice {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    margin: 0 0 14px 0;
    border-radius: var(--border-radius-tiny);
    background-color: var(--subtle);
    border-left: 3px solid var(--primary);
    font-size: 13px;
    color: var(--black);
}

.roles-readonly-notice > i {
    color: var(--primary);
    font-size: 20px;
    line-height: 20px;
    flex-shrink: 0;
}

.roles-readonly-notice-body {
    flex: 1 1 auto;
    min-width: 0;
}

.roles-readonly-notice-body strong {
    font-weight: 500;
}

/* Account layout: the panes row sits directly under the page sub-text. */
.roles-account-info {
    margin-top: 10px !important;
}

/* Space Managers table. The Actions column is withheld from a read-only viewer
   (ng-if="canEditRoles()" on both the th and the td), so this only sizes it when
   it is there. */
.roles-actions-col {
    width: 100px;
}

.roles-user-cell {
    display: flex;
    align-items: center;
    gap: 10px;
}

.roles-avatar {
    width: 25px;
    height: 25px;
    background: var(--primary);
    color: var(--awhite);
    border-radius: var(--border-radius-xs);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.roles-more {
    color: var(--light-text);
}

/* ─────────────────────────────────────────────────────────────────────────────
   Owner-page no-access panel (account/settings, roles, sso, sso-migration)
   — rendered by isOwnerPageDenied()

   The route gate fails OPEN on a cold load (AppController's $stateChangeStart
   listener is registered inside initializeApp(), after ui-router's first
   transition has already fired — plan §1), so each Owner-only page gates its own
   content and renders this panel when perms are LOADED and negative. It is an
   explanation, not an error: same --primary accent as .roles-readonly-notice
   above, never --warning. Linked globally from index.html, so all four pages get
   it without a second stylesheet.
   ───────────────────────────────────────────────────────────────────────────── */
.account-no-access {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    margin: 0 0 14px 0;
    border-radius: var(--border-radius-tiny);
    background-color: var(--subtle);
    border-left: 3px solid var(--primary);
    font-size: 13px;
    color: var(--black);
}

.account-no-access > i {
    color: var(--primary);
    font-size: 20px;
    line-height: 20px;
    flex-shrink: 0;
}

.account-no-access-body {
    flex: 1 1 auto;
    min-width: 0;
}

.account-no-access-body strong {
    font-weight: 500;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Role-request queue (§11.2) — the Owner's Requests pane in roles.panes.html,
   the Admin's "Your requests" list + Request-a-role dialog in the mirror.

   Same variable vocabulary as everything above: --subtle / --border / --primary
   for structure, --light-text for the secondary line. The four status chips are
   the only new colour decisions, and each reuses an existing var rather than
   inventing a palette:
     pending   --highlight   (amber — awaiting a decision)
     approved  --good        (the green every "enabled" state already uses)
     denied    --warning     (the red used for destructive/negative states)
     cancelled --light-text  (withdrawn, not refused — deliberately neutral)
   --awhite is white in BOTH themes, so chip text stays legible on those fills
   when the dark theme flips --white to #121212.
   ───────────────────────────────────────────────────────────────────────────── */

/* Shell header on the mirror: the h5 and the Request-a-role button share a row. */
.roles-shell-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.roles-request-btn {
    flex-shrink: 0;
}

/* Pending-count badge on account.html's Requests sub-item. Never rendered at
   zero (ng-if on the count), so there is no empty state to style. */
.roles-request-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    margin-left: 8px;
    padding: 0 5px;
    border-radius: var(--border-radius-sm);
    background-color: var(--primary);
    color: var(--awhite);
    font-size: 11px;
    line-height: 18px;
}

.role-requests {
    margin-top: 12px;
}

.role-requests-empty {
    padding: 14px;
    border: 1px dashed var(--border);
    border-radius: var(--border-radius-tiny);
    color: var(--light-text);
    font-size: 13px;
}

.role-request {
    padding: 12px 14px;
    margin-bottom: 8px;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    background-color: var(--subtle);
}

/* Resolved rows sit behind the pending ones visually — they are history, not work. */
.role-request.resolved {
    background-color: transparent;
}

.role-request-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.role-request-body {
    flex: 1 1 auto;
    min-width: 0;
}

.role-request-line {
    font-size: 13px;
    color: var(--black);
}

.role-request-line strong {
    font-weight: 500;
}

.role-request-note {
    margin-top: 4px;
    font-size: 12px;
    color: var(--light-text);
    word-break: break-word;
}

.role-request-meta {
    margin-top: 4px;
    font-size: 11px;
    color: var(--light-text);
}

.role-request-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

/* The inline deny-reason field, revealed under the row it belongs to. */
.role-request-deny-box {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.role-request-deny-box .text-field {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}

.role-request-deny {
    color: var(--warning);
}

.role-requests-history {
    margin-top: 18px;
}

.role-requests-history-header {
    margin-bottom: 8px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--light-text);
}

.role-request-chip {
    display: inline-block;
    padding: 2px 8px;
    border-radius: var(--border-radius-sm);
    background-color: var(--light-text);
    color: var(--awhite);
    font-size: 11px;
    line-height: 16px;
    text-transform: capitalize;
}

.role-request-chip.pending {
    background-color: var(--highlight);
}

.role-request-chip.approved {
    background-color: var(--good);
}

.role-request-chip.denied {
    background-color: var(--warning);
}

.role-request-chip.cancelled {
    background-color: var(--light-text);
}

.role-request-chip.failed {
    background-color: var(--warning);
}

/* Admin mirror: "Your requests", between the read-only notice and the panes. */
.my-role-requests {
    margin-bottom: 18px;
}

/* Request-a-role dialog. .modal-overlay / .modal-content / .modal-header /
   .modal-body / .modal-footer are already global (spaces.css); only the width
   and the two fields this dialog adds need saying. */
.role-request-modal .modal-content {
    max-width: 480px;
}

.role-request-modal .inline-user-selector {
    width: 100%;
}

.role-request-hint {
    margin: -6px 0 14px 0;
    font-size: 12px;
    color: var(--light-text);
}

.role-request-target {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 8px;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
}

.role-request-counter {
    float: right;
    color: var(--light-text);
    font-size: 11px;
}


.document-modal.editors.invite-users-modal .text-field {
    padding-bottom: 0;
}

.document-modal.editors.invite-users-modal .settings-option .sub-text {
    font-size: 12px!important;
    line-height: normal;
    padding-top: 5px;
    margin: 0;
}

.settings-option.invite-role-field {
    position: relative;
}
/* ============================================================================
   Scrum Board Styles
   ============================================================================ */


/* Sprint Bar
   ---------- */

.scrum-sprint-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 18px;
	border-bottom: 1px solid var(--light-border);
	background: var(--white);
	flex-shrink: 0;
	flex-wrap: wrap;
	gap: 10px;
	min-height: 52px;
}

.sprint-bar-left {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.sprint-bar-right {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.sprint-name-btn {
	font-weight: 600;
	font-size: 14px;
	padding: 4px 10px;
	height: auto;
	line-height: 1.4;
}

.sprint-dates {
	font-size: 13px;
	color: var(--color-text-secondary, #666);
}

.sprint-days-remaining {
	margin-left: 4px;
}

.sprint-goal {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	color: var(--color-text-secondary, #888);
	max-width: 240px;
}

.sprint-goal-text {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.sprint-goal-empty {
	color: var(--color-text-tertiary, #bbb);
	font-style: italic;
}

.sprint-goal:hover .sprint-goal-text {
	text-decoration: underline;
	cursor: pointer;
}

.sprint-goal-editor {
	display: flex;
	align-items: center;
	gap: 4px;
	max-width: 260px;
}

.sprint-goal-input {
	font-size: 12px;
	border: none !important;
	border-bottom: 1px solid var(--color-primary, #1976d2) !important;
	height: auto !important;
	padding: 2px 4px !important;
	width: 200px !important;
	margin: 0 !important;
	box-shadow: none !important;
}

.sprint-goal-save,
.sprint-goal-cancel {
	cursor: pointer;
	color: var(--color-text-secondary, #888);
	line-height: 1;
}

.sprint-goal-save:hover { color: var(--color-primary, #1976d2); }
.sprint-goal-cancel:hover { color: #e53935; }

.sprint-status-badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	padding: 1px 6px;
	border-radius: 3px;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	margin-left: 6px;
}

.sprint-status-planning { background: #e3f2fd; color: #1565c0; }
.sprint-status-active   { background: #e8f5e9; color: #2e7d32; }
.sprint-status-completed { background: #f3e5f5; color: #6a1b9a; }
.sprint-status-cancelled { background: #fafafa; color: #757575; }

.sprint-capacity {
	font-size: 13px;
	color: var(--color-text-secondary, #666);
	padding-right: 10px;
	border-right: 1px solid var(--light-border);
}

.sprint-capacity .capacity-hours {
	font-weight: 600;
	color: var(--primary);
}

.sprint-capacity .capacity-detail {
	font-size: 11px;
	margin-left: 2px;
}

.capacity-dot {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	position: absolute;
	bottom: 0;
	right: 0;
	border: 1px solid var(--white);
}

.capacity-dot.health-yellow { background: var(--health-yellow, #ff9800); }
.capacity-dot.health-red    { background: var(--health-red, #f44336); }

.board-task-image {
	position: relative;
}

.sprint-points {
	font-size: 13px;
	color: var(--color-text-secondary, #666);
}

.sprint-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.start-sprint-btn { background: #43a047 !important; color: #fff !important; }
.start-sprint-btn:hover { background: #388e3c !important; }

.complete-sprint-btn { border-color: #6a1b9a !important; color: #6a1b9a !important; }

.scrum-backlog-toggle.active { background: rgba(0,0,0,0.06) !important; }

.backlog-count {
	font-size: 11px;
	font-weight: 600;
	color: var(--color-text-secondary, #888);
	margin-left: 2px;
}


/* Scrum Board Layout (with backlog drawer)
   ----------------------------------------- */

.the-board-body.scrum-board-layout {
	display: flex;
	flex-direction: row;
	overflow: hidden;
}

.scrum-board-layout .inner-board-body {
	flex: 1;
	overflow-x: auto;
	overflow-y: hidden;
	min-width: 0;
}

.the-board-wrapp {
	display: flex;
	flex-direction: column;
}


/* Backlog Drawer
   -------------- */

.scrum-backlog-drawer {
	width: 260px;
	min-width: 240px;
	max-width: 300px;
	border-right: 1px solid var(--light-border);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--white);
	flex-shrink: 0;
	transition: width 0.2s ease;
}

.backlog-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 14px 8px;
	border-bottom: 1px solid rgba(0,0,0,0.08);
}

.backlog-title {
	font-weight: 400;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--black);
}

.backlog-close {
	cursor: pointer;
	color: var(--color-text-secondary, #999);
	line-height: 1;
}

.backlog-sprint-target {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-bottom: 1px solid rgba(0,0,0,0.06);
}

.backlog-sprint-label {
	font-size: 12px;
	color: var(--color-text-secondary, #888);
	white-space: nowrap;
}

.backlog-tasks {
	flex: 1;
	overflow-y: auto;
	padding: 10px 20px 20px;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.backlog-task {
	cursor: pointer;
	border-radius: 3px;
	padding: 10px;
	background: var(--extra-light)!important;
	border: 1px solid rgba(0,0,0,0.07);
	box-shadow: 0 1px 2px rgba(0,0,0,0.04);
	transition: box-shadow 0.12s ease;
}

.backlog-task:hover {
	box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.backlog-task.selected {
	border-color: var(--color-primary, #2196f3);
	background: var(--color-primary-light, #e3f2fd);
}

.backlog-story-points {
	font-size: 11px;
	font-weight: 700;
	color: var(--color-primary, #1976d2);
	background: var(--color-primary-light, #e3f2fd);
	padding: 1px 5px;
	border-radius: 3px;
	margin-left: auto;
	white-space: nowrap;
}

.backlog-task-actions {
	margin-top: 6px;
}

.backlog-empty {
	padding: 24px 14px;
	text-align: center;
	color: var(--color-text-secondary, #aaa);
	font-size: 13px;
}


/* Story points badge on board task cards
   ---------------------------------------- */

.board-task-story-points {
	display: inline-block;
	font-size: 11px;
	font-weight: 500;
	color: var(--primary);
	background: var(--white);
	padding: 2px 5px!important;
	border-radius: 3px;
	margin-right: 4px;
	vertical-align: middle;
	text-align: center;
	margin-top: -2px;
}


/* Sprint burndown chart meta stats
   --------------------------------- */

.sprint-burndown-meta {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 12px;
	padding: 0 4px;
}

.sprint-burndown-stat {
	font-size: 12px;
	color: var(--color-text-secondary, #888);
}

.sprint-burndown-stat strong {
	color: var(--color-text-primary, #333);
}

.trend-chart-empty {
	padding: 24px;
	text-align: center;
	color: var(--color-text-secondary, #aaa);
	font-size: 13px;
}


/* Story points field on task detail page
   ---------------------------------------- */

.story-points-field,
.sprint-field {
	display: flex;
	align-items: center;
	gap: 8px;
}

.story-points-label,
.sprint-field-label {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	color: var(--color-text-secondary, #888);
	white-space: nowrap;
	min-width: 60px;
}

.story-points-input {
	width: 56px !important;
	font-weight: 700;
	color: var(--color-primary, #1976d2);
	border: 1px solid rgba(0,0,0,0.12) !important;
	border-radius: 3px;
	padding: 2px 6px !important;
	height: auto !important;
	text-align: center;
}

.story-points-input:focus {
	border-color: var(--color-primary, #1976d2) !important;
	outline: none;
}

.sprint-field-value {
	font-size: 13px;
	color: var(--color-text-primary, #333);
}


/* Sprint management modals
   ------------------------- */

.sprint-modal-overlay {
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.45);
	z-index: 1100;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sprint-modal-card {
	background: #fff;
	border-radius: 6px;
	padding: 28px 32px;
	width: 420px;
	max-width: 92vw;
	box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}

.sprint-modal-card h5 {
	margin: 0 0 6px;
	font-size: 18px;
	font-weight: 700;
}

.sprint-modal-card .sub-text {
	font-size: 13px;
	color: #888;
	margin-bottom: 20px;
}

.sprint-modal-card .text-field {
	margin-bottom: 16px;
}

.sprint-modal-card .modal-buttons {
	display: flex;
	gap: 10px;
	margin-top: 24px;
}

.complete-sprint-warning {
	background: #fff3e0;
	border: 1px solid #ffe0b2;
	border-radius: 4px;
	padding: 10px 14px;
	font-size: 13px;
	color: #e65100;
	margin-bottom: 16px;
}

.sprint-modal-card .rollover-options {
	margin-top: 12px;
}


/* ============================================================================
   Sidebar Sub-Nav (Boards > Kanban / Scrum)
   ============================================================================ */

.nav-sub-items {
	list-style: none;
	padding: 0;
	margin: 0 0 4px 0;
}

.nav-sub-items li {
	display: block;
}

.nav-sub-items li a {
	display: block;
	padding: 6px 15px 6px 28px;
	font-size: 13px;
	color: var(--black);
	opacity: 0.72;
	line-height: 30px;
	height: 30px;
}

.nav-sub-items li a:hover,
.nav-sub-items li.selected a {
	opacity: 1;
	color: var(--primary) !important;
}

.nav-sub-items li.selected a {
	font-weight: 600;
}


/* ============================================================================
   Task Properties Panel
   ============================================================================ */

.task-properties-panel {
	padding: 16px 18px;
}

.task-properties-group {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.task-property-row {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 36px;
}

.task-property-label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--icon-color);
	min-width: 100px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.task-property-label i {
	font-size: 14px;
}

.task-property-value {
	flex: 1;
	font-size: 14px;
}

.inline-input {
	border: none !important;
	border-bottom: 1px solid var(--border) !important;
	background: transparent !important;
	padding: 2px 4px !important;
	height: 30px !important;
	width: 80px !important;
	font-size: 14px !important;
	margin: 0 !important;
	box-shadow: none !important;
}

/* ==========================================================================
   Billing Page Styles - Redesigned January 2026
   ========================================================================== */

/* Messages */
.billing-message {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: var(--border-radius-tiny);
    margin-bottom: 20px;
    font-size: 14px;
}

.billing-message.success {
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.3);
    color: var(--good);
}

.billing-message.error {
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: var(--warning);
}

.billing-message .close {
    margin-left: auto;
    cursor: pointer;
    opacity: 0.6;
    font-size: 18px;
}

.billing-message .close:hover {
    opacity: 1;
}

/* Loading State */
.billing-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    gap: 16px;
    color: var(--light-text);
}

.billing-loading .spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--border);
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* ==========================================================================
   Hero Section
   ========================================================================== */

.billing-hero {
    background: var(--white);
    border-radius: var(--border-radius-sm);
    box-shadow: var(--box-shadow);
    margin-bottom: 25px;
    overflow: hidden;
}

.billing-hero-main {
    padding: 30px;
    background: linear-gradient(135deg, var(--primary) 0%, #1a7a9c 100%);
    color: white;
}

.billing-plan-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
}

.billing-plan-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 5px 12px;
    border-radius: 20px;
    background: rgba(255,255,255,0.2);
    margin-bottom: 8px;
}

.billing-plan-status i {
    font-size: 14px;
}

.billing-plan-status.past_due {
    background: rgba(239, 68, 68, 0.3);
}

.billing-plan-status.cancelled {
    background: rgba(107, 114, 128, 0.3);
}

.billing-plan-info {
    flex-grow: 1;
}

.billing-plan-name {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 5px;
}

.billing-plan-price {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.billing-plan-price .price-amount {
    font-size: 20px;
    font-weight: 600;
}

.billing-plan-price .price-term {
    font-size: 14px;
    opacity: 0.8;
}

.billing-plan-price.free {
    font-size: 18px;
    opacity: 0.9;
}

.billing-plan-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.billing-plan-actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.billing-plan-actions .btn-primary {
    background: white;
    color: var(--primary);
}

.billing-plan-actions .btn-primary:hover {
    background: rgba(255,255,255,0.9);
}

.billing-plan-actions .btn-secondary {
    background: rgba(255,255,255,0.15);
    color: white;
    border: 1px solid rgba(255,255,255,0.3);
}

.billing-plan-actions .btn-secondary:hover {
    background: rgba(255,255,255,0.25);
}

/* Stats Row */
.billing-stats-row {
    display: flex;
    border-top: 1px solid var(--border);
}

.billing-stat {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 25px;
    border-right: 1px solid var(--border);
}

.billing-stat:last-child {
    border-right: none;
}

.billing-stat.warning {
    background: rgba(245, 158, 11, 0.05);
}

.billing-stat.warning .billing-stat-value {
    color: var(--highlight);
}

.billing-stat-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg);
    border-radius: var(--border-radius-tiny);
}

.billing-stat-icon i {
    font-size: 20px;
    color: var(--primary);
}

.billing-stat-value {
    font-size: 20px;
    font-weight: 600;
    color: var(--black);
}

.billing-stat-label {
    font-size: 12px;
    color: var(--light-text);
}

/* ==========================================================================
   Billing Sections
   ========================================================================== */

.billing-section {
    background: var(--white);
    border-radius: var(--border-radius-sm);
    box-shadow: var(--box-shadow);
    padding: 25px 30px;
    margin-bottom: 25px;
}

.section-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 15px;
}

.section-title h6 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 3px 0;
    font-size: 18px;
    font-weight: 600;
}

.section-title h6 i {
    font-size: 22px;
    color: var(--primary);
}

.section-subtitle {
    font-size: 13px;
    color: var(--light-text);
}

/* ==========================================================================
   Plan Selector
   ========================================================================== */

.plan-selector-section {
    overflow: hidden;
}

.billing-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--light-text);
}

.billing-toggle span.active {
    color: var(--black);
    /* font-weight: 500; */
}

.billing-toggle .switch {
    margin: 0!important;
}

.billing-toggle .switch label {
    margin: 0;
}

.discount-badge {
    display: inline-block;
    background: var(--good);
    color: var(--ablack);
    font-size: 10px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 3px;
    margin-left: 15px;
}

.plans-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

.plan-card {
    position: relative;
    padding: 25px 20px;
    background: var(--white);
    border: 2px solid var(--border);
    border-radius: var(--border-radius-tiny);
    transition: all 0.2s ease;
}

.plan-card:hover {
    border-color: var(--primary);
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.plan-card.current {
    border-color: var(--primary);
    background: linear-gradient(135deg, rgba(38, 164, 209, 0.05), rgba(38, 164, 209, 0.02));
}

.plan-card.featured {
    border-color: var(--good);
}

.plan-card-badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary);
    color: white;
    font-size: 10px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.plan-card-badge.featured {
    background: var(--good);
}

.plan-card-header {
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border);
}

.plan-card-name {
    font-size: 16px;
    font-weight: 600;
    color: var(--black);
    margin-bottom: 8px;
}

.plan-card-price {
    font-size: 28px;
    font-weight: 700;
    color: var(--primary);
}

.plan-card-term {
    font-size: 12px;
    color: var(--light-text);
}

.plan-card-features {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.plan-card-features li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    font-size: 13px;
    color: var(--black);
}

.plan-card-features li i {
    font-size: 16px;
    color: var(--good);
}

.plan-card-features li.disabled {
    color: var(--light-text);
}

.plan-card-features li.disabled i {
    color: var(--light-text);
}

.plan-card-action {
    text-align: center;
}

.plan-card-action .btn {
    width: 100%;
}

/* ==========================================================================
   Intelligence Section
   ========================================================================== */

.intelligence-section {
    background: linear-gradient(135deg, rgba(38, 164, 209, 0.03), rgba(38, 164, 209, 0.01));
}

.intelligence-tier-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: var(--primary);
    color: white;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.intelligence-tier-badge i {
    font-size: 16px;
}

.intelligence-tier-badge.taste {
    background: var(--light-text);
}

.intelligence-tier-badge.lite {
    background: #6366f1;
}

.intelligence-tier-badge.standard {
    background: var(--good);
}

.intelligence-tier-badge.power {
    background: #f59e0b;
}

/* Intelligence Stats */
.intelligence-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
}

.intelligence-stat-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    background: var(--white);
    border-radius: var(--border-radius-tiny);
    border: 1px solid var(--border);
}

.intelligence-stat-card.warning {
    border-color: var(--highlight);
    background: rgba(245, 158, 11, 0.05);
}

.intelligence-stat-card .stat-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-tiny);
}

.intelligence-stat-card .stat-icon.available {
    background: rgba(16, 185, 129, 0.1);
    color: var(--good);
}

.intelligence-stat-card .stat-icon.used {
    background: rgba(38, 164, 209, 0.1);
    color: var(--primary);
}

.intelligence-stat-card .stat-icon.requests {
    background: rgba(99, 102, 241, 0.1);
    color: #6366f1;
}

.intelligence-stat-card .stat-icon.overage {
    background: rgba(245, 158, 11, 0.1);
    color: var(--highlight);
}

.intelligence-stat-card .stat-icon i {
    font-size: 20px;
}

.intelligence-stat-card .stat-value {
    font-size: 20px;
    font-weight: 600;
    color: var(--black);
}

.intelligence-stat-card .stat-label {
    font-size: 11px;
    color: var(--light-text);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Intelligence Upgrade CTA */
.intelligence-upgrade-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 20px;
    background: var(--white);
    border: 1px solid var(--primary);
    border-radius: var(--border-radius-tiny);
    margin-top: 20px;
}

.intelligence-upgrade-cta .upgrade-text {
    font-size: 14px;
    color: var(--black);
}

/* Intelligence Tiers Grid */
.intelligence-tiers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.intelligence-tier-card {
    position: relative;
    padding: 20px 15px;
    background: var(--white);
    border: 2px solid var(--border);
    border-radius: var(--border-radius-tiny);
    text-align: center;
    transition: all 0.2s ease;
}

.intelligence-tier-card:hover {
    border-color: var(--primary);
}

.intelligence-tier-card.current {
    border-color: var(--primary);
    background: rgba(38, 164, 209, 0.05);
}

.intelligence-tier-card.featured {
    border-color: var(--good);
}

.intelligence-tier-card .tier-badge {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary);
    color: white;
    font-size: 9px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 8px;
    text-transform: uppercase;
    white-space: nowrap;
}

.intelligence-tier-card .tier-badge.featured {
    background: var(--good);
}

.intelligence-tier-card .tier-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--black);
    margin-bottom: 5px;
}

.intelligence-tier-card .tier-price {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 2px;
}

.intelligence-tier-card .tier-price span {
    font-size: 11px;
    font-weight: 400;
    color: var(--light-text);
}

.intelligence-tier-card .tier-credits {
    font-size: 12px;
    color: var(--good);
    font-weight: 500;
    margin-bottom: 10px;
}

.intelligence-tier-card .tier-features {
    list-style: none;
    padding: 0;
    margin: 0 0 15px 0;
    font-size: 11px;
    color: var(--light-text);
}

.intelligence-tier-card .tier-features li {
    padding: 3px 0;
}

.intelligence-tier-card .btn {
    width: 100%;
    padding: 8px 12px;
    font-size: 12px;
}

/* Intelligence Settings */
.intelligence-settings {
    padding: 15px 20px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 20px;
}

.settings-wrapper > .intelligence-settings {
    background-color: var(--background-color);
    padding: 50px;
    margin: 0;
    border: none;
}

.intelligence-settings .settings-row {
    display: flex;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
}

.intelligence-settings .setting-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.intelligence-settings .setting-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--black);
}

.intelligence-settings .setting-label i {
    font-size: 18px;
    color: var(--light-text);
}

.intelligence-settings select {
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    font-size: 13px;
    min-width: 100px;
}

/* BYOK Section */
.byok-section {
    padding: 15px 20px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
}

.byok-header {
    margin-bottom: 12px;
}

.byok-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--black);
}

.byok-title i {
    font-size: 18px;
    color: var(--primary);
}

.byok-subtitle {
    font-size: 12px;
    color: var(--light-text);
    margin-left: 26px;
}

.byok-providers-row {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.byok-provider-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    background: var(--bg);
    border-radius: var(--border-radius-tiny);
    flex: 1;
    min-width: 180px;
}

.byok-provider-item .provider-logo {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.byok-provider-item .provider-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--black);
}

.byok-provider-item .provider-status {
    font-size: 11px;
    color: var(--light-text);
    margin-left: auto;
}

.byok-provider-item .provider-status.connected {
    color: var(--good);
}

/* ==========================================================================
   Billing Details
   ========================================================================== */

.billing-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.billing-detail-card {
    padding: 20px;
    background: var(--bg);
    border-radius: var(--border-radius-tiny);
}

.billing-detail-card .detail-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}

.billing-detail-card .detail-header i {
    font-size: 20px;
    color: var(--primary);
}

.billing-detail-card .detail-header h6 {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    flex-grow: 1;
}

.billing-detail-card .detail-content p {
    font-size: 13px;
    color: var(--light-text);
    margin-bottom: 15px;
}

.billing-detail-card .detail-content.empty {
    text-align: center;
    padding: 20px;
    color: var(--light-text);
}

.billing-detail-card .detail-content.empty i {
    font-size: 40px;
    margin-bottom: 10px;
    opacity: 0.5;
}

.billing-detail-card .contact-info {
    font-size: 13px;
    line-height: 1.8;
}

.billing-detail-card .contact-line {
    color: var(--black);
}

.billing-detail-card .no-contact {
    text-align: center;
    padding: 10px;
    color: var(--light-text);
    font-size: 13px;
}

.billing-detail-card .input-row {
    margin-bottom: 10px;
}

.billing-detail-card .input-row input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    font-size: 13px;
}

.billing-detail-card .input-row.half {
    display: flex;
    gap: 10px;
}

.billing-detail-card .input-row.half input {
    flex: 1;
}

/* ==========================================================================
   Danger Zone
   ========================================================================== */

.danger-zone {
    background: rgba(239, 68, 68, 0.03);
    border: 1px solid rgba(239, 68, 68, 0.2);
}

.danger-zone-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.danger-zone .danger-text strong {
    display: block;
    color: var(--warning);
    font-size: 14px;
    margin-bottom: 3px;
}

.danger-zone .danger-text span {
    font-size: 13px;
    color: var(--light-text);
}

.danger-zone .btn.danger {
    color: var(--warning);
}

.danger-zone .btn.danger:hover {
    background: rgba(239, 68, 68, 0.1);
}

/* ==========================================================================
   Modal
   ========================================================================== */

.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: 1000;
}

.modal-content {
    background: var(--white);
    border-radius: var(--border-radius-sm);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    max-width: 450px;
    width: 90%;
}

.modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    /* border-bottom: 1px solid var(--border); */
}

.modal-header h5 {
    margin: 0;
    font-size: 18px;
}

.modal-header .close {
    cursor: pointer;
    font-size: 22px;
    color: var(--light-text);
}

.modal-body {
    padding: 20px;
}

.modal-body p {
    margin-bottom: 15px;
    font-size: 14px;
    color: var(--black);
}

.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 15px 20px;
    /* border-top: 1px solid var(--border); */
}

.btn-danger {
    background: var(--warning);
    color: white;
}

.btn-danger:hover {
    background: #dc2626;
}

/* ==========================================================================
   Mobile Responsive
   ========================================================================== */

@media (max-width: 768px) {
    .billing-hero-main {
        padding: 20px;
    }

    .billing-plan-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .billing-plan-actions {
        width: 100%;
    }

    .billing-plan-actions .btn {
        flex: 1;
    }

    .billing-stats-row {
        flex-direction: column;
    }

    .billing-stat {
        border-right: none;
        border-bottom: 1px solid var(--border);
    }

    .billing-stat:last-child {
        border-bottom: none;
    }

    .plans-grid {
        grid-template-columns: 1fr;
    }

    .intelligence-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .intelligence-tiers-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .intelligence-upgrade-cta {
        flex-direction: column;
        text-align: center;
    }

    .billing-details-grid {
        grid-template-columns: 1fr;
    }

    .danger-zone-content {
        flex-direction: column;
        text-align: center;
    }

    .byok-providers-row {
        flex-direction: column;
    }

    .byok-provider-item {
        min-width: auto;
    }
}

@media (max-width: 480px) {
    .intelligence-stats {
        grid-template-columns: 1fr;
    }

    .intelligence-tiers-grid {
        grid-template-columns: 1fr;
    }

    .section-header-row {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ==========================================================================
   Plans Page Styles
   ========================================================================== */

/* Billing Toggle Row */
.billing-toggle-row {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    margin-bottom: 5px;
}

.billing-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
    color: var(--black);
}

.billing-toggle span {
    align-items: center;
    display: flex;
}

.billing-toggle span.active {
    color: var(--primary);
    /* font-weight: 500; */
}

/* Plan Options Grid */
.plan-options-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-bottom: 5px!important;
    margin-top: 10px!important;
}

.plan-options-grid .plan-option {
    position: relative;
    padding: 40px;
    transition: all 0.2s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.plan-options-grid > .col {
    padding-right: 5px!important;
}

.plan-options-grid > .col:last-child {
    padding-right: 0px!important;
}

.plan-options-grid .plan-option:hover {
    border-color: transparent;
    background-color: var(--white);
}

.plan-options-grid .plan-option.selected {
    border-color: transparent;
    background-color: var(--xwhite);
}

.plan-badge {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary);
    color: var(--awhite);
    font-size: 10px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: var(--border-radius-tiny);
    text-transform: uppercase;
    box-shadow: var(--box-shadow);
    white-space: nowrap;
}

.plan-option-header {
    text-align: center;
    /* padding-bottom: 15px; */
    /* border-bottom: 1px solid var(--light-border); */
    margin-bottom: 0px;
}

.plan-option-name {
    font-size: 18px;
    font-weight: 500;
    color: var(--black)!important;
    margin-bottom: 15px;
    text-transform: lowercase;
}

.plan-option-price {
    font-size: 28px;
    font-weight: 300;
    color: var(--black);
}

.plan-option-term {
    font-size: 13px;
    font-weight: 400;
    color: var(--light-text);
    display: flex;
    justify-content: center;
    margin-top: 5px;
}

.plan-option-features {
    flex-grow: 1;
}

.plan-option-limits {
    margin-bottom: 10px;
}

.plan-option-limit {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 3px 0px;
    font-size: 13px;
    color: var(--black);
    font-weight: 500;
}

.plan-option-limit i {
    font-size: 16px;
    color: var(--light-text);
}

.plan-option-feature-list {
    font-size: 13px;
}

.plan-feature-check {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 0;
    color: var(--black);
}

.plan-feature-check i {
    font-size: 16px;
    color: var(--good);
}

.plan-feature-check.add-on {
    color: var(--light-text);
}

.plan-feature-check.add-on i {
    color: var(--primary);
}

.plan-option-note {
    margin-top: 10px;
    font-size: 11px;
}

.intelligence-included-card {
    margin-bottom: 25px;
    background: transparent!important;
    box-shadow: none!important;
    padding: 0;
}

.addon-state {
    display: inline-block;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 500;
    color: var(--good);
    text-transform: uppercase;
}

.addon-state.coming-soon {
    color: var(--orange);
}

.plan-option-actions {
    margin-top: auto;
    text-align: center;
}

.plan-option-actions .btn {
    font-weight: 500!important;
    padding-right: 0px!important;
    text-transform: uppercase;
}

.plan-current-badge {
    display: inline-block;
    padding: 5px 20px;
    background: transparent;
    color: var(--light-text);
    border-radius: var(--border-radius-tiny);
    font-size: 13px;
    width: 100%;
    text-transform: uppercase;
    font-weight: 400;
}

.comp-banner {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	margin-bottom: 16px;
	border-radius: 3px;
	font-size: 13px;
	color: var(--black);
	background: var(--background-color);
}

.description .comp-banner {
    margin-bottom: 0;
}

.account-intelligence-page .comp-banner {
    background-color: var(--white);
    /* border: 1px solid var(--good); */
    /* color: var(--good); */
    box-shadow: var(--box-shadow);
}

.account-intelligence-page .comp-banner i {
    color: var(--good)!important;
}

.comp-banner i {
    color: var(--awhite)!important;
}

.account-plan.list-wrap .comp-banner i {
    color: var(--good)!important;
}

.dark .account-plan.list-wrap .comp-banner {
}

.comp-banner i {
	font-size: 18px;
	color: var(--good)!important;
	flex-shrink: 0;
}

.comp-banner span {
	line-height: 1.4;
}

/* Feature Comparison Table */
.feature-comparison {
    overflow-x: auto;
}

.feature-comparison.list-wrap {
    margin-top: 5px;
}

.comparison-table-inner {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.comparison-table-inner th,
.comparison-table-inner td {
    padding: 12px 15px;
    text-align: center;
    border-bottom: 1px solid var(--light-border);
}

.comparison-table-inner th {
    font-weight: 600;
    color: var(--black);
    color: var(--primary)!important;
}

.comparison-table-inner th:first-child,
.comparison-table-inner td:first-child {
    text-align: left;
}

.comparison-table-inner .category-row td {
    font-weight: 600;
    color: var(--primary);
    padding: 40px 15px 10px;
}

.comparison-table-inner i.check {
    color: var(--good);
    font-size: 18px;
    font-size: 600;
}

.comparison-table-inner i.close {
    color: var(--light-text);
    font-size: 18px;
    opacity: 0.4;
    font-weight: 300;
}

.comparison-table-inner i {
    font-size: 19px!important;
    font-weight: 500;
    vertical-align: middle;
}

.comparison-table-inner .add-on {
    color: var(--primary);
    font-weight: 500;
    font-size: 11px;
}

/* Intelligence Add-ons Grid */
.intelligence-tiers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 15px;
}

.intelligence-tiers-grid .plan-option {
    padding: 30px;
    text-align: center;
    border: 1px solid var(--light-border);
}

.intelligence-tiers-grid .plan-option.selected {
    border-color: var(--primary);
}

.intelligence-tiers-grid .plan-option-header {
    border-bottom: none;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.intelligence-tiers-grid .plan-option-name {
    font-size: 15px;
}

.intelligence-tiers-grid .plan-option-price {
    font-size: 22px;
}

.intelligence-tiers-grid .plan-option-features {
    text-align: center;
    margin-bottom: 0;
}

.intelligence-tiers-grid .plan-option-limit {
    justify-content: center;
    font-size: 12px;
    padding: 0px 0;
    margin-bottom: 1px;
}

/* Sidebar sub-item */
.sidebar-list-items .sli.sub-item {
    padding-left: 30px;
    font-size: 13px;
}

.sidebar-list-items .sli.sub-item::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--border);
    transform: translateY(-50%);
}

.sidebar-list-items .sli.sub-item.active::before {
    background: var(--primary);
}

/* Mobile Responsive for Plans */
@media (max-width: 992px) {
    .plan-options-grid .col {
        margin-bottom: 15px;
    }
}

@media (max-width: 768px) {
    .comparison-table-inner {
        font-size: 12px;
    }
    
    .comparison-table-inner th,
    .comparison-table-inner td {
        padding: 8px 10px;
    }
}

.plan-actions .btn {
    font-weight: 500;
}

.plan-actions a.btn {
    padding-left: 2px!important;
}

.plan-actions a.btn i {
    margin-right: 5px;
}.plan-actions {
    padding-top: 20px;
}

/* ============================================================
   B5 — Premium AI packs + one-time top-ups (account > intelligence).
   Lives inside .intelligence-included-card; reuses .plan-option /
   .plan-options-grid so the pack tiles match the plan tiles exactly.
   ============================================================ */

.ai-pack-block {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--light-border);
}

.ai-pack-subhead {
    font-size: 13px;
    font-weight: 600;
    color: var(--black);
    margin-top: 20px;
    margin-bottom: 2px;
}

.ai-pack-block .ai-pack-subhead:first-child {
    margin-top: 0;
}

.ai-pack-grid {
    margin-top: 12px;
    margin-bottom: 0;
}

.ai-pack-option {
    cursor: pointer;
    text-align: center;
}

.ai-pack-option-note {
    color: var(--light-text);
    font-size: 12px;
    margin-top: 5px;
}

.ai-pack-option-actions {
    margin-top: 12px;
}

.ai-pack-loading {
    text-align: center;
    padding: 25px 0;
}

.ai-pack-balance {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
    padding: 12px 14px;
    border-radius: var(--border-radius-tiny);
    background: var(--background-color);
}

.ai-pack-balance i {
    font-size: 20px;
    color: var(--good);
    flex-shrink: 0;
}

.ai-pack-balance-body {
    flex: 1;
}

.ai-pack-balance-amount {
    font-size: 14px;
    font-weight: 600;
    color: var(--black);
}

.ai-pack-note {
    margin-top: 15px;
}

/* ==========================================================================
   Checkout progress + outcome strip on the PLANS page (review fix, 2026-09-05)
   --------------------------------------------------------------------------
   plans.html is where a plan purchase actually starts, but it rendered none of
   billingSuccess / billingError / planConfirming / planConfirmPending — so the
   soft-pending outcome ("your plan will update in a moment") was silent on the
   only page the customer was looking at. These reuse .billing-message so the
   plans strip and the billing strip stay one visual object.
   ========================================================================== */
.billing-message.pending {
    background: rgba(59, 130, 246, 0.08);
    border: 1px solid rgba(59, 130, 246, 0.28);
    color: var(--primary);
}

.billing-message .spin {
    animation: billing-message-spin 1s linear infinite;
    font-size: 18px;
}

@keyframes billing-message-spin { to { transform: rotate(360deg); } }

.billing-message-cancel {
    margin-left: auto;
    cursor: pointer;
    font-weight: 500;
    text-decoration: underline;
    color: inherit;
}

.billing-message-cancel:hover { opacity: 0.75; }

/* ============================================
   Plan Change Confirmation Modal
   ============================================ */

/* Overlay */
.plan-change-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	animation: planChangeOverlayFadeIn 0.2s ease;
}

@keyframes planChangeOverlayFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* Modal container */
.plan-change-modal {
	background: var(--white);
	border-radius: 12px;
	width: 480px;
	max-width: 90vw;
	box-shadow: var(--box-shadow-large);
	animation: planChangeModalSlideIn 0.25s ease;
	overflow: hidden;
}

@keyframes planChangeModalSlideIn {
	from {
		opacity: 0;
		transform: translateY(-20px) scale(0.97);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

/* Loading state */
.plan-change-modal-loading {
	padding: 50px 30px;
	text-align: center;
}

.plan-change-modal-loading p {
	margin-top: 15px;
	color: var(--light-text);
}

/* Header */
.plan-change-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px 10px 24px;
}

.plan-change-modal-header h5 {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	display: flex;
	align-items: center;
}

.plan-change-close-btn {
	padding: 0 8px !important;
	min-width: unset !important;
}

.plan-change-close-btn i {
	color: var(--light-text);
}

/* Body */
.plan-change-modal-body {
	padding: 15px 24px 20px 24px;
}

/* From -> To visualization */
.plan-change-from-to {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 18px 0;
}

.plan-change-plan {
	text-align: center;
	flex: 1;
	/* padding: 10px 0px; */
	/* background-color: var(--background-color); */
}

.plan-change-plan-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--light-text);
	margin-bottom: 4px;
}

.plan-change-plan-name {
	font-size: 20px;
	font-weight: 600;
}

.plan-change-arrow {
	color: var(--light-text, #757575);
}

.plan-change-arrow i {
	font-size: 24px;
}

/* Info boxes */
.plan-change-info {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px 16px;
	border-radius: 8px;
	background: var(--white);
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.5;
}

.plan-change-info i {
	flex-shrink: 0;
	margin-top: 1px;
}

/* Error */
.plan-change-error {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px 16px;
	border-radius: 8px;
	background: var(--background-color);
	color: var(--warning);
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.5;
	box-sizing: border-box;
}

.plan-change-error i {
	flex-shrink: 0;
	color: #C62828;
}

/* Actions */
.plan-change-modal-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	padding: 15px 24px 20px 24px;
	border-top: 1px solid var(--light-border);
}

.plan-change-modal-actions .btn-upgrade {
	background-color: #4CAF50;
}

.plan-change-modal-actions .btn-upgrade:hover {
	background-color: #43A047;
}

.plan-change-modal-actions .btn-downgrade {
	background-color: #FF9800;
}

.plan-change-modal-actions .btn-downgrade:hover {
	background-color: #FB8C00;
}

.plan-change-modal-actions .btn[disabled] {
	opacity: 0.6;
	cursor: not-allowed;
}

/* ============================================
   Add-on Confirmation Modal
   ============================================ */

/* Overlay */
.addon-confirm-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	animation: addonOverlayFadeIn 0.2s ease;
}

@keyframes addonOverlayFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* Modal container */
.addon-confirm-modal {
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	width: 440px;
	max-width: 90vw;
	box-shadow: var(--box-shadow-large);
	animation: addonModalSlideIn 0.25s ease;
	overflow: hidden;
}

@keyframes addonModalSlideIn {
	from {
		opacity: 0;
		transform: translateY(-20px) scale(0.97);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

/* Loading state */
.addon-confirm-loading {
	padding: 50px 30px;
	text-align: center;
}

/* Header */
.addon-confirm-header {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 30px 30px 10px;
}

.addon-confirm-header h5 {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	font-family: var(--body-font)!important;
	font-size: 18px!important;
	text-transform: initial!important;
}

/* Body */
.addon-confirm-body {
	padding: 0 30px 30px;
}

/* Price display */
.addon-confirm-price {
	text-align: center;
	padding: 18px 0;
}

.addon-confirm-price-amount {
	font-size: 32px;
	font-weight: 400;
	color: var(--primary);
}

.addon-confirm-price-amount span {
	font-size: 16px;
	font-weight: 400;
	color: var(--light-text);
}

.addon-confirm-price-detail {
	font-size: 13px;
	color: var(--light-text);
	margin-top: 4px;
}

/* Info box */
.addon-confirm-info {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px 16px;
	border-radius: 5px;
	background: var(--background-color);
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.5;
}

.addon-confirm-info i {
	flex-shrink: 0;
	margin-top: 1px;
	color: var(--primary-color);
}

.addon-confirm-info.warning i {
	color: #FF9800;
}

/* Error */
.addon-confirm-error {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px 16px;
	border-radius: 8px;
	background: var(--background-color);
	color: var(--warning);
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.5;
	box-sizing: border-box;
}

.addon-confirm-error i {
	flex-shrink: 0;
	color: #C62828;
}

/* Actions */
.addon-confirm-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 5px;
	padding: 0px 24px 20px 24px;
}

.addon-confirm-actions .btn[disabled] {
	opacity: 0.6;
	cursor: not-allowed;
}

.addon-confirm-actions .btn.red {
	background-color: #f44336;
}

.addon-confirm-actions .btn.red:hover {
	background-color: #e53935;
}

/* ============================================
   Stripe Embedded Checkout modal (b2, 2026-09-05)

   Deliberately reuses .addon-confirm-overlay / .addon-confirm-modal so every
   money surface in the account area is the same shape. Only the bits Stripe's
   own iframe needs are new: a wider, taller, scrollable body with no padding of
   ours (Stripe's form brings its own), and a close affordance in the header —
   the embedded form has no Cancel of its own.
   ============================================ */

.stripe-checkout-modal {
	width: 560px;
	max-width: 96vw;
	display: flex;
	flex-direction: column;
	max-height: 92vh;
}

.stripe-checkout-header {
	justify-content: space-between;
	padding: 20px 24px 12px;
	border-bottom: 1px solid var(--border-color);
}

.stripe-checkout-close {
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	padding: 4px;
	border-radius: 50%;
	cursor: pointer;
	color: var(--light-text);
	line-height: 1;
}

.stripe-checkout-close:hover {
	background: var(--background-color);
	color: var(--text-color);
}

.stripe-checkout-body {
	flex: 1 1 auto;
	min-height: 260px;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

/* Stripe mounts its iframe here; it sizes itself, so we only guarantee width. */
.stripe-checkout-mount {
	width: 100%;
}

.stripe-checkout-pending {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 60px 24px;
	color: var(--light-text);
	font-size: 14px;
}

.stripe-checkout-spin {
	animation: stripeCheckoutSpin 1.1s linear infinite;
}

@keyframes stripeCheckoutSpin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

/* The page behind must not scroll under the iframe. */
body.stripe-checkout-open {
	overflow: hidden;
}

/* ============================================
   Add-ons: no plan to attach to (b5, 2026-09-05)

   Lives beside the add-on modal because it is the same surface's other state:
   the reason the confirm modal will never open on this account.
   ============================================ */

.addon-no-plan {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	margin-bottom: 20px;
	border-radius: 0 5px 5px 0;
	background-color: var(--white);
	border-left: 3px solid var(--orange);
	font-size: 13px;
	color: var(--black);
}

.addon-no-plan > i {
	flex-shrink: 0;
	color: var(--orange);
}

.addon-no-plan > div {
	flex: 1;
}

.addon-no-plan-title {
	font-weight: 600;
}

.addon-no-plan-body {
	color: var(--light-text);
	margin-top: 2px;
}

.addon-no-plan .btn {
	flex-shrink: 0;
	background-color: transparent!important;
}

/* An add-on button with nothing to attach to. Reads as unavailable, not broken. */
.addon-items .btn[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}

/* ===================================
   Account Chooser Styles
   Uses same base styles as login page (.full-centered-page, .login-container)
   Only account-specific additions here
   =================================== */

/* Account chooser container extends login container */
.account-chooser-container {
	max-width: 480px;
}

/* Current User Section */
.current-user-section {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 0px;
	border-radius: var(--border-radius-tiny);
	margin-bottom: 0px;
}

.user-avatar {
	width: 48px;
	height: 48px;
	border-radius: var(--border-radius-tiny);
	overflow: hidden;
	flex-shrink: 0;
	background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}

.user-info-wrapper .user-avatar {
    max-width: 30px;
    max-height: 30px;
    margin-top: 2px;
}

.user-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.user-avatar .avatar-initial {
	font-size: 18px;
	font-weight: 600;
	color: white;
}

.current-user-section .user-info {
	flex: 1;
	min-width: 0;
}

.current-user-section .user-name {
	font-size: 13px;
	font-weight: 500;
	color: var(--black);
	margin-bottom: -4px;
}

.current-user-section .user-email {
	font-size: 10px;
	color: var(--light-text);
	margin-bottom: 0px;
	max-width: 160px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.provider-badge {
	display: inline-block;
	font-size: 12px;
	color: var(--light-text);
	border-radius: 3px;
}

/* Provider Switch Section */
.provider-switch-section {
	text-align: center;
}

.provider-switch-section .btn.cancel-switch:hover {
    color: var(--primary)!important;
}

.provider-switch-section .sub-text {
	margin-bottom: 16px;
}

.cancel-switch {
	margin-top: 16px;
}

/* Loading */
.chooser-loading {
	text-align: center;
	padding: 40px 0;
}

.chooser-loading .spinner {
	width: 36px;
	height: 36px;
	border: 3px solid var(--border);
	border-top-color: var(--primary);
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
	margin: 0 auto 12px;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

.chooser-loading p {
	color: var(--grey);
	font-size: 14px;
}

/* Error */
.chooser-error {
	text-align: center;
	padding: 32px;
	border-radius: var(--border-radius-tiny);
	margin-bottom: 24px;
	margin-top: 20px;
}

.chooser-error i {
	font-size: 40px;
	color: #dc3545;
	margin-bottom: 12px;
}

.chooser-error p {
	color: var(--text);
	margin-bottom: 16px;
}

/* Account List */
.account-list {
	margin-top: 40px;
	border-radius: var(--border-radius-tiny);
	overflow: hidden;
	border: 1px solid var(--light-border);
}

#usermenu .account-list {
    margin-top: 0;
    border: none;
    border-radius: 0;
}

.sidebar-body > .account-list {
    margin-top: 0;
}

.account-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 10px 15px;
	background-color: var(--background-color);
	/* border-radius: var(--border-radius-tiny); */
	border-bottom: 1px solid var(--white);
	margin-bottom: 0px;
	cursor: pointer;
	transition: all 0.2s ease;
	text-align: left;
}

.account-card:last-child {
    border-bottom: none;
}

.account-card i {
    color: var(--icon-color);
}

.account-card:hover {
	background: var(--extra-light);
}

.account-card.selected {
	background: rgba(25, 118, 210, 0.08);
	border-color: var(--primary);
}

.account-icon {
	width: 30px;
	height: 30px;
	border-radius: 4px;
	background: var(--white);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.account-icon span {
	font-size: 18px;
	font-weight: 600;
	color: var(--black);
}

.account-icon img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.account-info {
	flex: 1;
	min-width: 0;
	line-height: 19px;
	padding-top: 2px;
}

.account-name {
	font-size: 13px;
	font-weight: 600;
	color: var(--black);
	margin-bottom: 0px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.account-role {
	font-size: 10px;
	color: var(--light-text);
	text-transform: capitalize;
}

.account-badges {
	flex-shrink: 0;
}

.tier-badge {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 12px;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.tier-badge.enterprise {
	background: var(--primary);
	color: white;
}

.tier-badge.tier2,
.tier-badge.professional {
	background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
	color: white;
}

.tier-badge.trial {
	background: rgba(255, 193, 7, 0.15);
	color: #d4a106;
}

.account-arrow {
	color: var(--grey);
	transition: color 0.2s, transform 0.2s;
}

.account-card:hover .account-arrow {
	color: var(--text);
	transform: translateX(2px);
}

/* No Accounts */
.no-accounts {
	text-align: center;
	padding: 40px 24px;
	background: var(--contrast-background);
	border: 1px dashed var(--border);
	border-radius: 12px;
	margin-bottom: 24px;
}

.no-accounts i {
	font-size: 48px;
	color: var(--grey);
	margin-bottom: 16px;
}

.no-accounts h3 {
	font-size: 18px;
	font-weight: 600;
	color: var(--text);
	margin-bottom: 8px;
}

.no-accounts p {
	font-size: 14px;
	color: var(--grey);
	margin-bottom: 20px;
}

.no-accounts-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

/* Footer */
.chooser-footer {
	margin-top: 0px!important;
	margin-bottom: 0px;
	padding: 0;
}

.footer-actions {
	display: flex;
	gap: 16px;
	justify-content: center;
}

.btn-text {
	display: flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: none;
	color: var(--grey);
	font-size: 13px;
	cursor: pointer;
	padding: 8px 12px;
	text-decoration: none;
	transition: all 0.2s;
	border-radius: 6px;
}

.btn-text i {
	font-size: 18px;
}

.btn-text:hover {
	color: var(--text);
	background: var(--hover-background);
}

/* Responsive */
@media (max-width: 520px) {
	.account-chooser-container {
		padding: 40px 24px;
		margin: 20px auto;
	}

	.account-card {
		padding: 12px 14px;
	}

	.account-icon {
		width: 38px;
		height: 38px;
	}

	.account-icon span {
		font-size: 16px;
	}

	.account-name {
		font-size: 14px;
	}

	.footer-actions {
		flex-direction: column;
		gap: 8px;
	}
}

/**
 * SSO Settings Styles
 * 
 * Styles for the SSO/SCIM admin panel
 */

/* Page Layout */
.sso-settings-page {
	max-width: 1200px;
	margin: 0 auto;
}

.sso-settings-page .page-header {
	margin-bottom: 2rem;
}

.sso-settings-page .page-header h4 {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.sso-settings-page .page-header .sub-text {
	color: #666;
	margin: 0;
}

/* Tabs */
.sso-tabs {
	margin-bottom: 1.5rem;
}

.sso-tabs .tabs {
	background-color: transparent;
}

.sso-tabs .tabs .tab a {
	color: #666;
}

.sso-tabs .tabs .tab a.active {
	color: var(--primary-color, #4caf50);
}

.sso-tabs .tabs .indicator {
	background-color: var(--primary-color, #4caf50);
}

/* Tab Content */
.tab-content {
	animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Status Indicator */
.status-indicator {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 1.2rem;
	margin: 1.5rem 0;
	padding: 1rem;
	border-radius: 8px;
}

.status-indicator.enabled {
	background-color: #e8f5e9;
	color: #2e7d32;
}

.status-indicator.disabled {
	background-color: #fafafa;
	color: #757575;
}

.status-indicator i {
	font-size: 2rem;
}

/* Status Details */
.status-details {
	background-color: var(--background-color);
	padding: 30px;
	border-radius: var(--border-radius-tiny);
	margin: 1rem 0;
}

.status-details p {
	margin: 0.5rem 0;
}

.status-actions {
	margin-top: 1.5rem;
	display: flex;
	gap: 1rem;
}

/* SCIM Endpoint Display */
.scim-endpoint {
	background-color: #263238;
	color: #fff;
	padding: 1rem;
	border-radius: 8px;
	font-family: 'Fira Code', 'Monaco', monospace;
	font-size: 0.9rem;
	overflow-x: auto;
	margin: 1rem 0;
}

.scim-token-display {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	background-color: var(--background-color);
	padding: 1rem;
	border-radius: 8px;
	margin: 1rem 0;
}

.scim-token-display code {
	flex: 1;
	font-family: 'Fira Code', 'Monaco', monospace;
	word-break: break-all;
}

/* Chips */
.chips-container {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin: 1rem 0;
}

.chips-container .chip {
	background-color: var(--extra-light);
	padding: 0 10px 0 15px;
	border-radius: 3px;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.sso-settings-page .chips-container .chip {
    margin-top: 0;
    margin-right: 0!important;
}

.chips-container .chip i.close {
	font-size: 1rem;
	cursor: pointer;
	color: #757575;
}

.chips-container .chip i.close:hover {
	color: #f44336;
}

/* Group Mapping */
.add-mapping-form {
	border-radius: var(--border-radius-tiny);
	border: 1px solid var(--light-border);
	padding: 30px!important;
}

/* Cards */
.sso-settings-page .card {
	margin-bottom: 1.5rem;
}

.sso-settings-page .card-title {
	font-size: 1.3rem;
	margin-bottom: 0.5rem;
}

.sso-settings-page .card-content .sub-text {
	color: #666;
	margin-bottom: 1.5rem;
}

/* Form Elements */
.sso-settings-page .input-field label {
	color: #666;
}

.sso-settings-page .input-field input:focus + label,
.sso-settings-page .input-field textarea:focus + label {
	color: var(--primary-color, #4caf50) !important;
}

.sso-settings-page .input-field input:focus,
.sso-settings-page .input-field textarea:focus {
	border-bottom-color: var(--primary-color, #4caf50) !important;
	box-shadow: 0 1px 0 0 var(--primary-color, #4caf50) !important;
}

.sso-settings-page .helper-text {
	color: #9e9e9e;
	font-size: 0.85rem;
}

/* Buttons */
.sso-settings-page .add-mapping-form .btn.btn-small.btn-flat {background-color: var(--primary)!important;}

.sso-settings-page .btn:hover {
	background-color: var(--primary-color-dark, #388e3c);
}

.sso-settings-page .btn-flat {
	color: var(--primary-color, #4caf50);
}

.sso-settings-page button.btn-flat i {
    margin-right: 0!important;
    padding-right: 0px!important;
    position: relative;
    width: 50px!important;
    right: 0;
}

/* Divider */
.sso-settings-page .divider {
	margin: 2rem 0;
}

/
.sso-settings-page table th {
	color: #666;
	font-weight: 500;
	background-color: var(--white)!important;
	background-image: none;
}

/* Badges */
.sso-settings-page .badge {
	padding: 0.25rem 0.75rem;
	border-radius: 4px;
	font-size: 0.8rem;
	text-transform: uppercase;
}

.sso-settings-page .badge.green {
	background-color: #e8f5e9;
	color: #2e7d32;
}

.sso-settings-page .badge.red {
	background-color: #ffebee;
	color: #c62828;
}

/* SSO Start/Error Pages */
.sso-loading-container,
.sso-error-container {
	text-align: center;
	padding: 2rem;
}

.sso-loading-container .sso-message,
.sso-error-container .error-message {
	margin-top: 1rem;
	color: #666;
}

.sso-error-container .error-icon {
	font-size: 4rem;
	color: var(--warning);
}

.sso-error-content .error-icon-container {
	margin-bottom: 1rem;
}

.sso-error-content .error-icon-container .error-icon.large {
	font-size: 3rem;
	color: var(--warning);
	margin-top: 20px;
}

.sso-error-content .error-title {
	margin-bottom: 5px;
	color: var(--black);
}

.sso-error-content .error-description {
	color: var(--light-text);
	margin-bottom: 2rem;
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}

.sso-error-content .error-actions {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	align-items: center;
}

.sso-error-content .error-actions .btn {
    font-size: 15px;
    padding: 0px 20px!important;
    height: 50px;
    box-shadow: var(--box-shadow);
}

.sso-error-content .error-actions .btn-flat {
    font-size: 13px;
    text-transform: capitalize;
}

.sso-error-content .error-help {
	margin-top: 2rem;
	padding-top: 1rem;
	/* border-top: 1px solid var(--border); */
}

.sso-error-content .error-help .sub-text {}

.error-code {
	margin-top: 2rem;
	color: #9e9e9e;
	font-size: 0.8rem;
}

/* SSO Button on Login Page */
.sso-button {
	margin: 30px 0px 5px;
}

.sso-button button {
    height: 50px;
    line-height: 50px;
    background-color: var(--primary)!important;
    display: flex;
    align-items: anchor-center;
    justify-content: center;
    width: auto;
    padding: 0px 30px!important;
    margin: 0 auto;
    text-transform: unset;
    font-size: 13px;
}

.sso-signin-btn {
	width: 100%;
	max-width: 300px;
	height: 44px;
	border-radius: 22px;
	background-color: var(--primary-color, #4caf50) !important;
	font-size: 0.9rem;
	text-transform: none;
}

.sso-divider {
	display: flex;
	align-items: center;
	margin: 1.5rem 0;
	color: #9e9e9e;
}

.sso-divider::before,
.sso-divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background-color: var(--light-border);
}

.sso-divider span {
	padding: 0 1rem;
	font-size: 0.85rem;
}

/* Emergency Access Link */
.emergency-access-link {
	margin: 0;
	text-align: center;
}

.emergency-access-link a {
	color: var(--orange);
	font-size: 0.85rem;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.emergency-access-link i {
    color: var(--orange);
}

.emergency-access-link a:hover {
	color: var(--orange);
	text-decoration: none;
	cursor: pointer;
}

/* File Drop Zones */
.file-drop-zone {
	transition: all 0.2s ease;
	border: 1px dashed var(--border)!important;
	min-height: 100px;
	border-radius: var(--border-radius-tiny);
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	text-align: center;
	margin-bottom: 20px;
}

.file-drop-zone:hover {
	border-color: var(--primary-color, #4caf50);
	background-color: var(--extra-light);
}

.file-drop-zone.drag-over {
	border-color: var(--primary-color, #4caf50);
	border-style: solid;
	background-color: rgba(76, 175, 80, 0.1);
}

/* IdP Guide Card */
.idp-guide-card {
	transition: all 0.2s ease;
	position: relative;
	border: 1px solid var(--light-border)!important;
	margin-top: 0px;
	border-radius: var(--border-radius-tiny);
	padding: 20px 29px!important;
	margin-bottom: 40px;
	border-radius: var(--border-radius-tiny)!important;
}

.s12 > .idp-guide-card {
    margin-bottom: 0;
}

.idp-guide-card ol {
    color: var(--light-text);
}

.idp-guide-card ol li {
	line-height: 1.6;
}

.idp-guide-card code {
	background-color: var(--extra-light, #f5f5f5);
	padding: 4px 8px;
	border-radius: 4px;
}

/* Spin animation for loading */
@keyframes spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

.spin {
	animation: spin 1s linear infinite;
}

/* Toggle Options Enhancement */
.toggle-options .toggle-option i {
	font-size: 18px;
	vertical-align: middle;
}

/* Multi-select Dropdown Styles */
.multi-select-dropdown {
	position: relative;
}

.multi-select-dropdown.disabled {
	opacity: 0.6;
	cursor: not-allowed;
	pointer-events: none;
}

.multi-select-list {
	min-width: 220px !important;
	max-height: 300px;
	overflow-y: auto;
}

.multi-select-list li {
	padding: 10px 16px;
	min-height: auto;
	display: flex;
	align-items: center;
	cursor: pointer;
}

.multi-select-list li:hover {
	background: var(--bg-color-alt);
}

.multi-select-list li .version-selected {
	margin-right: 10px;
	display: inline-flex;
	align-items: center;
	position: relative;
}

.multi-select-list li .version-selected {
    padding: 0px;
    height: 50px;
    line-height: 50px;
    width: 36px;
}

.multi-select-list li .version-selected i {
	font-size: 20px;
	color: var(--light-text);
}

.multi-select-list li .version-selected.color-primary i {
	color: var(--primary-color);
	font-size: 23px!important;
	margin-right: -3px;
}

.multi-select-list li .version-name {
	flex: 1;
}

.multi-select-list li.divider {
	margin: 8px 0;
	height: 1px;
	background: var(--border-color);
	padding: 0;
	display: block;
}

/* Role Badges */
.role-badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 4px;
	font-size: 12px;
	/* font-weight: 500; */
	/* text-transform: uppercase; */
}

.role-badge.role-viewer {
	background: #e3f2fd;
	color: #1565c0;
}

.role-badge.role-member {
	background: #e8f5e9;
	color: #2e7d32;
}

.role-badge.role-manager {
	background: #fff3e0;
	color: #ef6c00;
}

.role-badge.role-admin {
	background: #fce4ec;
	color: #c2185b;
}

/* Group Mapping Table */
.add-mapping-form table td {
	vertical-align: middle;
}

/* Default Mapping Info Box */
.default-mapping-info {
	font-size: 14px;
	line-height: 1.5;
	margin-top: 20px;
}

.default-mapping-info strong {
	color: var(--text-color);
}

/* Helper Text */
.helper-text {
	font-size: 12px !important;
	line-height: 15px;
}

/* Responsive */
@media (max-width: 768px) {
	.sso-settings-page {
		padding: 1rem;
	}
	
	.status-actions {
		flex-direction: column;
	}
	
	.add-mapping-form .row > .col {
		width: 100% !important;
		margin-bottom: 16px;
	}
	
	.toggle-options .toggle-option {
		margin-bottom: 8px;
	}
	
	.multi-select-list {
		min-width: 100% !important;
	}
}

/* ============================================
   AUDIT LOG STYLES
   ============================================ */

/* Result badges */
.sso-settings-page .result-badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 500;
	text-transform: capitalize;
}

.sso-settings-page .result-badge.success {
	background-color: var(--background-color);
	color: var(--good);
}

.sso-settings-page .result-badge.failure {
	background-color: var(--background-color);
	color: var(--warning);
}

.sso-settings-page .result-badge.partial {
	background-color: #fff3e0;
	color: #e65100;
}

/* Audit table styling */
.sso-settings-page table td {
	vertical-align: middle;
	padding: 8px 0px;
	font-size: 13px;
}

/* Refresh button */
.sso-settings-page h6 + .btn.btn-flat {
	min-width: auto;
	padding: 0 8px;
	background-color: transparent!important;
}

.sso-settings-page h6 + .btn-flat i {
	font-size: 20px;
}

.idp-config-actions {
    margin-top: 10px;
    gap: 5px;
    display: flex;
}

/* Input with Copy Button */
.input-with-copy {
    display: flex;
    align-items: center;
    gap: 1px;
    position: relative;
}

.input-with-copy input {
    border-radius: 5px 0 0 5px!important;
}

.input-with-copy input {
    flex: 1;
    margin-bottom: 0 !important;
}

.input-with-copy .copy-btn {
    padding: 0!important;
    min-width: 50px;
    height: 50px;
    line-height: 50px;
    background-color: var(--background-color)!important;
    border-radius: 0 5px 5px 0;
    text-align: center;
}

.input-with-copy .copy-btn:hover {
    background-color: var(--primary)!important;
}

.input-with-copy .copy-btn:hover i {
    color: var(--awhite)!important;
}

.input-with-copy .copy-btn i {
    font-size: 20px;
    margin: 0;
}

/* Info Banner */
.info-banner {
    display: flex;
    align-items: flex-start;
    font-size: 14px;
    color: var(--text-color);
    padding: 20px;
    border: 1px solid var(--primary);
    margin-bottom: 20px;
    margin-top: 0px;
    border-radius: var(--border-radius-tiny);
}

.info-banner i {
    font-size: 20px;
    line-height: 21px;
}

.info-banner i {
    color: var(--primary);
    flex-shrink: 0;
}

.error-details-row div {
    font-size: 13px!important;
}.security-settings .card ul li {
    list-style: disc;
}

html body .account.settings .sso-settings-page .card {
    padding: 40px!important;
    background-color: var(--white)!important;
    box-shadow: var(--box-shadow)!important;
    border-radius: var(--border-radius-tiny);
}
/* Intelligence filter tabs */
.intelligence-filter-tabs {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 0 22px;
	/* border-bottom: 1px solid var(--light-border); */
	overflow-x: auto;
	scrollbar-width: none;
	flex-shrink: 0;
	margin-bottom: 20px;
	margin-top: 20px;
	z-index: 0;
}

.intelligence-filter-tabs::-webkit-scrollbar {
	display: none;
}

.intelligence-filter-tabs .filter-chip {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px;
	font-size: 12px;
	font-weight: 300;
	line-height: 30px;
	height: 30px;
	cursor: pointer;
	background: var(--background-color);
	color: var(--black);
	white-space: nowrap;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
	border-bottom: 2px solid var(--light-border);
	user-select: none;
	margin-bottom: -2px;
	z-index: 99;
	border-radius: var(--border-radius-tiny);
}

.intelligence-filter-tabs .filter-chip:hover {
	background: var(--hover-item);
	color: var(--text-color);
}

.intelligence-filter-tabs .filter-chip.active {
	background: var(--primary);
	/* border-color: var(--primary); */
	color: var(--awhite);
}

.intelligence-filter-tabs .filter-chip.active i {
    color: var(--awhite)!important;
}

.filter-chip.active {}

.intelligence-filter-tabs .filter-chip.active i {
    color: var(--primary);
}

.intelligence-filter-tabs .filter-chip i {
	font-size: 14px;
	line-height: 1;
	line-height: 30px!important;
	height: 30px;
	color: var(--icon-color);
}

.intelligence-filter-tabs .filter-chip:hover i {
    /* color: var(--black); */
}

/* Mail context badge on intelligence session rows */
.intelligence-context-badge {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: 10px;
	font-weight: 500;
	color: var(--light-text);
	/* background: var(--hover-bg, rgba(0,0,0,.05)); */
	border-radius: 4px;
	padding: 0px 2px;
	margin-left: 5px;
	vertical-align: middle;
	line-height: 1.4;
	margin-left: auto;
}

.intelligence-context-badge i {
}

.intelligence-context-badge i {
	font-size: 11px;
	line-height: 1;
}

/* Chat Widget Styles */
.jtsyn-chat {
    position: fixed;
    bottom: 0px;
    right: 0px;
    width: 400px;
    height: 70dvh;
    background: var(--white);
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    z-index: 1000;
    transition: all 0.3s ease;
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
}

.jtsyn-chat.minimized {
    height: 50px;
    bottom: -2px;
}

/* Chat Header */
.jtsyn-chat-header {
    background: var(--ablack);
    color: var(--awhite);
    padding: 12px 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 8px 8px 0 0;
    height: 50px;
}

.dark .jtsyn-chat-header {
    background-color: var(--extra-light);
}

.jtsyn-chat-header .title {
    font-weight: 300;
    font-size: 15px;
}

.jtsyn-chat-header .actions {
    display: flex;
    gap: 10px;
}

.jtsyn-chat-header .actions i {
    cursor: pointer;
    color: var(--awhite);
    user-select: none;
}

.jtsyn-chat-header .actions i:hover {
    color: var(--primary);
}

.jtsyn-chat-header .actions span {
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.2s;
}

.jtsyn-chat-header .actions span:hover {
    opacity: 1;
}

/* Chat Container */
.jtsyn-chat-container {
    display: flex;
    flex: 1;
    overflow: hidden;
    position: relative;
    transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1), 
                opacity 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
}

/* Contacts Sidebar */
.jtsyn-chat-contacts {
    width: 100%;
    height: 100%;
    background: var(--white);
    position: absolute;
    left: 0;
    top: 0;
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1), 
                opacity 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
    display: flex;
    flex-direction: column;
    will-change: transform;
}

.jtsyn-chat-contacts.active {
    transform: translateX(0);
}

.jtsyn-chat-contacts-header {
    padding: 0px 0px 0px 15px;
    background-color: var(--white);
    border-bottom: 1px solid var(--border);
    display: block;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    height: 50px;
    line-height: 50px;
    width: 100%;
}

.dark .jtsyn-chat-contacts-header {
    background-color: var(--white);
}

.jtsyn-chat-contacts-header > span {
    width: 90px;
    line-height: 50px;
    float: left;
    display: inline-block;
    font-size: 11pt;
    vertical-align: top;
    margin-top: -1.5px;
}

.jtsyn-chat-contacts-list {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.jtsyn-chat-contact {
    padding: 13px 15px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--light-border);
    cursor: pointer;
    transition: background-color 0.2s;
}

.jtsyn-chat-contact:hover {
    background-color: var(--light);
}

.jtsyn-chat-contact.active {
    background-color: var(--primary);
    color: var(--awhite)!important;
}

.contact-avatar {
    position: relative;
    margin-right: 12px;
    text-align: center;
}

.contact-avatar i {
    width: 30px;
    text-align: center;
    line-height: 30px;
    height: 30px;
    vertical-align: middle;
}

.contact-avatar .material-icons-outlined {
    font-size: 40px;
    color: #aaa;
}

.contact-avatar img {
    width: 34px;
    max-width: 34px;
    height: 34px;
    border-radius: var(--border-radius-tiny);
    object-fit: cover;
    display: block;
    height: 30px;
    width: 30px;
    border-radius: 5px;
}

.status-indicator {
    position: absolute;
    bottom: 5px;
    right: 0px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #ccc;
    border: 2px solid var(--good);
}

.status-indicator.online {
    background-color: var(--good);
}

.contact-info {
    cursor: pointer;
    display: flex;
    align-items: center;
}

.chat-header .contact-info i {
    height: 60px!important;
    line-height: 60px!important;
    width: 35px!important;
    color: var(--black);
    font-size: 20px!important;
}

.chat-header .contact-info .group-visibility-badge i {
    line-height: 15px!important;
    height: 15px!important;
    width: 15px!important;
    font-size: 13px!important;
    user-select: none;
    font-weight: bold;
}

.chat-header .contact-info .group-visibility-badge {
    right: 1px;
    bottom: 15px;
}

.contact-name {
    margin-bottom: 0px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 13px;
    line-height: 18px;
    padding-bottom: 0px;
    font-weight: 400;
    max-width: 100%;
    width: 100%;
}

.add-new-chat .contact-name {
    font-weight: 400;
    font-size: 14px;
}

.intelligence-conversation .contact-name {
    font-size: 13px;
    /* padding-bottom: 1px; */
    display: flex;
    text-align: left;
    justify-content: start;
}

.intelligence-conversation .contact-name span:last-child {
    margin-left: auto!important;
}

.intelligence-conversation .contact-name span:first-child {
    margin-right: auto!important;
    margin-left: unset!important;
}

.intelligence-list .contact-name {
    /* padding-bottom: 2px; */
}

html body .intelligence-list .contact-name img {
    max-height: 20px;
    max-width: 19px;
    margin-right: 10px!important;
    vertical-align: top;
}

.intelligence-list .contact-name .jt1 {
    margin-right: 9px!important;
    margin-left: 5px;
    color: var(--primary);
    font-size: 12pt!important;
}

.intelligence-list .contact-name > img {
    margin-right: 15px!important;
}

.contact-name i {
    line-height: 18px!important;
    height: 18px!important;
}

.chat-header .contact-name {
    line-height: 50px;
    font-weight: 500;
}

.chat-header .contact-info i {
    color: var(--primary);
}

.jtsyn-chat-contact .contact-name {
    margin-bottom: 0px;
    line-height: 15px;
    font-weight: 500;
    margin-top: 0px;
}

.contact-status {
    font-size: 12px;
    line-height: 16px;
    color: #888;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-meta {
    display: block;
    gap: 5px;
    vertical-align: top;
}

.timestamp {
    font-size: 11px;
    color: var(--light-text);
}

.unread-badge {
    background-color: var(--primary);
    color: var(--awhite);
    border-radius: 12px;
    font-size: 11px;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    user-select: none;
    will-change: transform;
    transform: translateZ(0);
    width: auto!important;
    max-width: 30px;
}

/* Chat Content */
.jtsyn-chat-content {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: absolute;
    left: 0;
    top: 0;
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1), 
                opacity 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.jtsyn-chat-content .chat-header {
    max-height: 50px;
    height: 50px;
    border-bottom: 1px solid var(--border);
    background-color: var(--extra-light);
}

.dark .jtsyn-chat-content .chat-header {
    background-color: var(--background-color);
}

.jtsyn-chat-content .chat-header .back-button {
    width: 45px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    display: inline-block;
    float: left;
    cursor: pointer;
}

.jtsyn-chat-content .chat-header .back-button:hover {
    color: var(--primary);
}

.jtsyn-chat-content.active {
    transform: translateX(0);
}

/* Chat Body */
.jtsyn-chat-body {
    flex: 1;
    overflow-y: auto;
    padding: 30px;
    background-color: var(--light-white);
    display: flex;
    flex-direction: column;
    gap: 8px;
    will-change: transform;
    transform: translateZ(0);
    overscroll-behavior: contain;
}

.chat-date-divider {
    text-align: center;
    margin: 35px auto!important;
    position: relative;
}

.chat-date-divider span {
    background-color: var(--light-white);
    padding: 5px 10px;
    font-size: 12px;
    color: var(--light-text);
    position: relative;
    z-index: 1;
    margin-top: 10px!important;
    display: inline-block;
}

.chat-date-divider:before {
    content: '';
    position: absolute;
    bottom: 15px;
    left: 0;
    right: 0;
    height: 1px;
    background-color: var(--light-border);
    z-index: 0;
}

.jtsyn-chat-message {
    display: flex;
    margin-bottom: -5px;
    max-width: 80%;
    will-change: transform, opacity;
    transform: translateZ(0);
}

.jtsyn-chat-message.incoming {
    align-self: flex-start;
}

.jtsyn-chat-message.incoming + .jtsyn-chat-message.outgoing,
.jtsyn-chat-message.outgoing + .jtsyn-chat-message.incoming {
    margin-top: 20px;
}

.jtsyn-chat-message.outgoing {
    align-self: flex-end;
    flex-direction: row-reverse;
}

.jtsyn-chat-message-avatar {
    margin-right: 10px;
    width: 30px;
    height: 30px;
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
}

.jtsyn-chat-message-avatar .material-icons-outlined {
    font-size: 30px;
    color: #aaa;
}

.jtsyn-chat-message-content {
    background-color: var(--background-color);
    border-radius: var(--border-radius-smallish);
    padding: 10px 15px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    position: relative;
    text-align: left;
    cursor: pointer;
}

.dark .jtsyn-chat-message-content {
    background-color: var(--white);
}

.jtsyn-chat-message.outgoing .jtsyn-chat-message-content {
    background-color: var(--primary);
    color: var(--awhite)!important;
}

.jtsyn-chat-message.outgoing .jtsyn-chat-message-content .message-text, .jtsyn-chat-message.outgoing .jtsyn-chat-message-content .message-text-icon {
    color: var(--awhite);
}

.jtsyn-chat-message.outgoing .jtsyn-chat-message-content .timestamp {
    color: var(--awhite);
}

.message-sender {
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 0px;
    color: var(--black);
    width: auto;
    display: inline-flex;
    align-items: center;
}

.message-sender {
    font-size: 13px;
    font-weight: 500;
}

.message-sender img {
    max-width: 25px!important;
}

.chat-message .message-sender {
    width: auto;
}

.chat-message .message-sender .jt1 {
    margin-right: 6px;
    font-size: 15pt;
    line-height: normal;
    color: var(--primary);
    margin-top: -2px;
}

.message-sender > img {
    max-width: 20px;
    float: left;
    border-radius: 2px;
    margin-right: 17px;
    margin-left: 3px;
}

.message-sender > img.ai-icon {
    max-width: 23px!important;
    margin-right: 10px;
}

.message-text p {
    margin: 0;
    line-height: 1.4;
    margin-bottom: 10px!important;
}

.ql-editor .message-text p {
    line-height: 24px;
}

.message-text p:last-child {
    margin-bottom: 0px!important;
}

.message-meta {
    margin-top: 2px;
    font-size: 11px;
    color: rgba(0, 0, 0, 0.5);
    text-align: left;
    user-select: none;
}

.outgoing .message-meta {
    float: right;
}

.jtsyn-chat-message.outgoing .message-meta {
    color: var(--black);
}

.read-status .material-icons-outlined {
    font-size: 14px;
}

.typing-indicator {
    align-self: flex-start;
	position: absolute;
	top: -30px;
	left: 0px;
    background-color: white;
    border-radius: 0px;
    padding: 6px 0px;
    font-size: 12px;
    color: #888;
    animation: pulse 1.5s infinite;
    will-change: opacity;
    transform: translateZ(0);
    margin-left: 0px;
    padding-left: 0px;
}

.chat-expanded .typing-indicator {
    left: 0px;
}

@keyframes pulse {
    0% { opacity: 0.5; }
    50% { opacity: 1; }
    100% { opacity: 0.5; }
}

@keyframes rotate {
    0% { transform: rotate(0deg); }
    25% { transform: rotate(90deg); }
    50% { transform: rotate(180deg); }
    75% { transform: rotate(270deg); }
    100% { transform: rotate(360deg); }
}

/* AI Processing Indicator */
.typing-indicator.ai-processing {
    display: flex;
    align-items: center;
    gap: 10px;
    animation: none;
    color: var(--primary);
    height: 30px;
    line-height: 30px;
    padding: 0px !important;
    margin-left: 0px!important;
    padding-left: 35px!important;
    margin-top: 0;
}

.typing-indicator.ai-processing {
    /* position: absolute; */
    /* left: 0px; */
}

.spinner-dots {
    display: flex;
    gap: 4px;
}

.spinner-dots div {
    width: 6px;
    height: 6px;
    animation: bounce 1.4s ease-in-out infinite both;
}

.spinner-dots .dot1 { animation-delay: -0.32s; }
.spinner-dots .dot2 { animation-delay: -0.16s; }
.spinner-dots .dot3 { animation-delay: 0s; }

@keyframes bounce {
    0%, 80%, 100% { 
        transform: scale(0);
        opacity: 0.5;
    } 
    40% { 
        transform: scale(1);
        opacity: 1;
    }
}

/* Chat Footer */
.jtsyn-chat-footer {
    padding: 0px 15px;
    background-color: var(--white);
    border-top: 1px solid var(--border);
    display: flex;
    align-items: start;
    gap: 10px;
}

.dark .jtsyn-chat-footer {
    background-color: var(--background-color);
}

.jtsyn-chat-footer .chat-send button {
    background-color: var(--primary);
    border-radius: var(--border-radius-tiny);
}

.jtsyn-chat-footer i {
    font-size: 18px;
}

.chat-attachments {
    color: #888;
    cursor: pointer;
    width: 30px;
    text-align: center;
    margin-left: -5px;
    height: 30px;
    margin-top: 20px;
}

.chat-attachments:hover {
    color: #4a69bd;
}

.chat-input {
    flex: 1;
    position: relative;
}

.chat-input textarea {
    display: block;
    min-height: 60px!important;
    width: 100%!important;
    max-width: 900px;
    margin: 0px auto;
    max-height: 50dvh;
    height: 100%;
    border: none;
    padding: 10px 30px 0px;
    outline: none;
    padding-right: 30px;
    line-height: 28px;
    overflow-y: auto;
    resize: none;
}

.chat-composer {
    display: block;
    width: 100%;
    max-width: 900px;
    margin: 0px auto;
    padding: 15px 25px 0px;
    padding-right: 30px;
    line-height: 23px;
    outline: none;
    overflow-y: auto;
    max-height: 50dvh;
    min-height: 50px;
    border: none;
    background: transparent;
    white-space: pre-wrap;
    word-break: break-word;
}

.chat-expanded .chat-composer {
    padding-left: 0px;
    max-width: 100%;
    padding: 15px 30px;
}

.chat-expanded .simple-chat .chat-composer {
    padding: 15px 0!important;
}

.chat-composer:empty:before {
    content: attr(data-placeholder);
    color: var(--text-color-tertiary);
    pointer-events: none;
}

.chat-composer.expanded-editor {
    min-height: 200px;
}

.chat-expanded .chat-input textarea {
    padding-left: 0px;
    max-width: 100%;
    padding: 15px 30px;
}

.chat-input-divider {
    height: 1px;
    width: 100%;
    border-top: 1px solid var(--light-border);
}

.chat-expanded .chat-input-divider {
    margin: 0px auto;
}

/* Restore original button styles */
.chat-input button {
    border-radius: var(--border-radius-tiny);
    user-select: none;
    cursor: pointer!important;
    transition: all .3s ease-in-out;
}

.chat-input-button-footer button {
    height: 30px;
    width: 35px;
    line-height: 30px;
}

.chat-expanded .chat-input .send-button {
    right: 30px;
    top: unset;
    bottom: 40px;
}

.chat-input button i {
    line-height: 30px!important;
    height: 28px!important;
    font-size: 16px;
    color: var(--icon-color);
}

.chat-input button:hover i {
    /* color: var(--good); */
}

/* NEW: Chat Input Button Footer - only for new layout */
.chat-input-button-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0px 15px 15px;
    vertical-align: top;
    z-index: 2;
}

.simple-chat .chat-input-button-footer {
    padding: 0 20px;
    height: 50px;
}

.chat-bar-arrow-buttons,
.chat-input-right-buttons {
    display: flex;
    align-items: center;
    gap: 0px;
    position: relative;
}

.ai-settings.ai-actions .chat-bar-arrow-buttons {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: end;
    float: left;
    /* padding: 0 12px; */
    position: absolute;
    bottom: 20px;
    top: unset;
    right: 15px;
    left: unset;
    padding-left: 0px;
    padding-right: 0px;
    text-align: right;
    max-height: 100px;
    width: 30px;
}

nav .ai-settings.ai-actions .chat-bar-arrow-buttons {
    bottom: 25px;
}

.ai-settings.ai-actions .chat-bar-arrow-buttons .btn, .ai-settings.ai-actions .chat-bar-arrow-buttons .btn i {
    height: 19px;
    line-height: 18px;
    vertical-align: top;
    font-size: 15px;
    color: var(--icon-color)!important;
    transition: opacity .3s ease-in-out;
}

.ai-settings.ai-actions .chat-bar-arrow-buttons .btn:hover i {
    color: var(--primary)!important;
}

.ai-settings.ai-actions .chat-bar-arrow-buttons .btn i {
    /* opacity: 0; */
    width: 20px!important;
}

.ai-convo-wrapper:hover .chat-bar-arrow-buttons .btn i {
    opacity: 1;
}

/* NEW: Style for the new footer buttons */
.chat-input-btn {
    border: none;
    background: transparent;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
    user-select: none;
}

.chat-input-btn:hover, .chat-input-btn:focus {
    background-color: transparent;
}

.chat-input-btn i {
    font-size: 18px;
    color: var(--icon-color);
    line-height: 1;
    height: auto;
}

.chat-input-btn:hover i {
    color: var(--primary);
}

/* NEW: Settings dropdown */
.chat-settings-container {
    position: relative;
    display: flex;
    align-items: center;
    height: 50px;
}

.chat-settings-container i {
    /* height: 50px!important; */
    /* line-height: 50px!important; */
}

.chat-settings-submenu {
    position: absolute;
    bottom: 100%;
    right: 0;
    background-color: var(--xwhite);
    border-radius: var(--border-radius-tiny);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 240px;
    margin-bottom: 8px;
    z-index: 1000;
    overflow: hidden;
    animation: slideUp 0.2s ease-out;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.submenu-item {
    display: flex;
    align-items: anchor-center;
    padding: 15px 20px;
    cursor: pointer;
    transition: background-color 0.2s;
    line-height: 18px;
}

.submenu-item i {
    line-height: unset!important;
    height: unset!important;
}

.submenu-item:last-child {
    border-bottom: none;
}

.submenu-item:hover {
    background-color: var(--background-color);
}

.submenu-item i {
    font-size: 21px;
    color: var(--icon-color);
    margin-right: 12px;
    width: 20px;
    height: 16px;
    line-height: 1;
}

.submenu-item span {
    font-size: 14px;
    color: var(--text-color);
}

.submenu-item:hover i,
.submenu-item:hover span {
    color: var(--primary);
}

/* NEW: Active settings button */
.chat-settings-container.active .settings-btn {
    background-color: var(--primary);
}

.chat-settings-container.active .settings-btn i {
    color: var(--awhite);
}

/* NEW: Send button in footer (override original positioning when in footer) */
.chat-input-button-footer .send-button {
    position: static; /* Override absolute positioning */
    background-color: var(--primary);
    color: var(--awhite);
    border: none;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    user-select: none;
    margin-right: 20px;
}

.chat-input-button-footer .send-button:hover {
    background-color: var(--primary);
    transform: scale(1.05);
}

.chat-input-button-footer .send-button:disabled {
    cursor: not-allowed;
    transform: none;
}

.chat-input-button-footer .send-button i {
    font-size: 16px !important;
    color: var(--primary) !important;
    line-height: 1 !important;
    height: auto !important;
}

/* NEW: Expanded text editor */
.chat-input textarea.expanded-editor {
    min-height: 200px;
    max-height: 400px;
    resize: vertical;
    transition: height 0.3s ease;
}

.chat-input input {
    width: 100%;
    border: none;
    border-radius: 20px;
    padding: 10px 15px;
    outline: none;
    font-size: 14px;
    margin-bottom: 0px!important;
    font-size: 13px!important;
}

.chat-input input:focus {
    background-color: #eef2fc;
}

.chat-send button {
    background-color: var(--primary);
    color: var(--awhite);
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s;
    font-size: 13px!important;
    user-select: none;
}

.chat-send button:hover {
    color: var(--primary)!important;
}

.chat-send button:hover i {
    color: var(--awhite);
}

.chat-send button:disabled {
    background-color: var(--light);
    cursor: not-allowed;
}

/* Responsive Styles */
@media (max-width: 768px) {
    .jtsyn-chat {
        width: 100%;
        height: 100%;
        bottom: 0;
        right: 0;
        border-radius: 0;
    }
    
    .jtsyn-chat-header {
        border-radius: 0;
    }
}

/* Add loading indicator styles */
.loading-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    color: #666;
}

.loading-indicator .spinner {
    width: 30px;
    height: 30px;
    border: 3px solid rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    border-top-color: #4285f4;
    animation: spin 1s ease-in-out infinite;
    margin-bottom: 10px;
    will-change: transform;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.no-contacts {
    text-align: center;
    padding: 20px;
    color: #666;
    margin-top: calc(50dvh - 205px)!important;
}

.no-contacts i, .no-contacts span {
    display: block;
    line-height: 23px;
    margin: 0px!important;
    user-select: none;
}

.no-contacts i {
    color: var(--light-text)!important;
    font-size: 21pt!important;
    line-height: 20px!important;
    height: 30px!important;
}

/* Performance optimizations */
.jtsyn-chat {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
}

.jtsyn-chat-message {
    will-change: transform, opacity;
    transform: translateZ(0);
}

.jtsyn-chat-body {
    will-change: transform;
    transform: translateZ(0);
    overscroll-behavior: contain;
    height: calc(100dvh - 232px);
    position: relative;
}

.chat-messages.jtsyn-chat-body.oe {
    height: calc(100dvh - 219px);
    padding-bottom: 40px!important;
}

.chat-messages.jtsyn-chat-body.oe.pi-messages-container {
    height: calc(100dvh - 64px);
    padding: 0!important;
    overflow: hidden;
    display: block;
}

.chat-messages.jtsyn-chat-body.oe.pi-messages-container .chat-messages-inner {
    height: calc(100dvh - 64px);
    overflow-y: auto;
    padding-bottom: 220px!important;
    padding-top: 20px;
    z-index: 0;
    position: relative;
}

.chat-expanded .active-chat-view {
    padding-top: 50px;
    background-color: var(--white);
    max-width: 100%;
}

.active-chat-view.intelligence-chat {
}

/* Optimize scrolling */
.jtsyn-chat-contacts-list,
.jtsyn-chat-body {
    -webkit-overflow-scrolling: touch;
}

/* Smoother transitions */
.jtsyn-chat-container,
.jtsyn-chat-content,
.jtsyn-chat-contacts,
.jtsyn-chat-profile {
    transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1), 
                opacity 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
}

/* Reduced repaints for unread badges */
.unread-badge {
    will-change: transform;
    transform: translateZ(0);
}

/* Layer compositing for typing indicators */
.typing-indicator {
    color: var(--light-text);
    background-color: var(--light-white)!important;
    padding: 0px;
    height: 30px!important;
    padding-left: 30px!important;
    line-height: 30px!important;
} 

.chat-send {
    margin-top: 15px;
}

/* Chat notification styling */
.chat-notification-toast {
    border-radius: 4px;
    cursor: pointer;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
    background-color: var(--xwhite)!important;
    font-weight: 400;
    color: white;
    z-index: 10000 !important; /* Ensure notifications are above everything */
}

.chat-notification-toast span {
    display: inline-block;
    max-width: 90%;
    line-height: 1.4;
    margin-right: 10px;
}

.chat-notification-toast .toast-action {
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
    color: white;
    margin-top: -5px;
    margin-right: -5px;
    padding: 6px 10px;
    font-size: 13px;
}

.chat-notification-toast .toast-action:hover {
    background-color: rgba(255, 255, 255, 0.3);
}

.contact-image, .contact-image i {
    height: 35px!important;
    line-height: 35px!important;
    text-align: center;
}

/* Chat Footer Styling */
.chat-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--white);
    padding: 0px 15px 0px 0px;
    z-index: 1;
    text-align: right;
    height: 50px!important;
    line-height: 50px;
    border-top: 1px solid var(--light-border);
}

html body chat-expanded .chat-footer.ng-hide:not(.ng-hide-animate) {
    height: 50px!important;
}

.chat-footer-content {
    padding: 0px 0px 0px 5px;
}

.chat-footer-content .switch {
    width: auto;
    margin-left: 15px!important;
}

.archived-groups-toggle label {font-size: 10pt!important;}

.archived-groups-toggle .lever i {
    font-size: 15pt;
}

.chat-footer .btn {
    margin: 0;
    margin-left: -5px;
    padding: 0px 8px;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    line-height: 50px;
    display: inline-block;
    align-items: center;
    justify-content: center;
    border-radius: 0px!important;
}

.btn.archived-groups-toggle {
    color: var(--black)!important;
    padding-left: 0px!important;
    width: auto;
}

.btn.archived-groups-toggle i {
    line-height: unset!important;
    height: unset!important;
    color: var(--black);
}

.btn.archived-groups-toggle:hover {
    color: var(--primary)!important;
}

.chat-footer .btn i {
    font-size: 18px;
    color: var(--icon-color);
    line-height: 45px!important;
    height: 45px;
}

.chat-footer .btn:hover i {
    color: var(--primary);
}

.message-text a, .reply-text a {
    display: inline-block;
}

.reply-text a {
    margin: 0px!important;
    padding: 0px;
    font-size: unset!important;
    color: var(--primary)!important;
    font-weight: unset!important;
}

.message-text li:hover span {
    background-color: transparent;
}

/* Image paste preview styles */
.chat-image-preview {
    background-color: var(--background-color);
    border-top: 1px solid var(--light-border);
    padding: 15px 20px;
    max-width: 900px;
    margin: 0 auto;
    position: absolute;
    bottom: 108px;
    width: 100%;
}

.chat-expanded .chat-image-preview {
    max-width: 100%;
}

.image-preview-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.image-preview-item {
    position: relative;
    display: inline-block;
    border-radius: 8px;
    overflow: hidden;
    background-color: var(--white);
    border: 2px solid var(--light-border);
    max-width: 150px;
    max-height: 150px;
}

.image-preview-item img {
    width: 100%;
    height: auto;
    max-width: 150px;
    max-height: 150px;
    object-fit: cover;
    display: block;
}

.remove-image-btn {
    position: absolute;
    top: 5px;
    right: 5px;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    border: none;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 12px;
    transition: background-color 0.2s;
}

.remove-image-btn:hover {
    background-color: rgba(255, 0, 0, 0.8);
}

.remove-image-btn i {
    font-size: 12px !important;
    line-height: 12px !important;
    height: 12px !important;
    color: white !important;
}

.image-upload-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 5px;
    text-align: center;
    font-size: 10px;
}

.progress-bar {
    height: 2px;
    background-color: var(--primary);
    transition: width 0.3s ease;
    margin-bottom: 2px;
}

.progress-text {
    font-size: 10px;
    color: white;
}

/* GIF and URL image indicators */
.image-preview-item.gif-preview {
    border-color: var(--border);
    box-shadow: var(--shadow);
}

.image-type-indicator {
    position: absolute;
    top: 4px;
    left: 4px;
}

.gif-badge, .url-badge {
    background: rgba(0, 0, 0, 0.8);
    color: white;
    font-size: 9px;
    padding: 2px 4px;
    border-radius: 3px;
    font-weight: bold;
    text-transform: uppercase;
}

.gif-badge {
    background: rgba(255, 107, 107, 0.9);
}

.url-badge {
    background: rgba(52, 152, 219, 0.9);
}

/* Chat message GIF styling */
.chat-image.chat-gif {
    border-radius: var(--border-radius-tiny);
    box-shadow: none;
    position: relative;
    cursor: pointer;
}

.chat-image.chat-gif::after {
    content: "GIF";
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(255, 107, 107, 0.9);
    color: white;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 3px;
    font-weight: bold;
    text-transform: uppercase;
    z-index: 1;
}

/* Enhance GIF loading states */
.chat-image.chat-gif::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent 40%, rgba(255, 107, 107, 0.1) 50%, transparent 60%);
    background-size: 200% 200%;
    animation: gifShimmer 2s infinite;
    border-radius: 4px;
    z-index: 0;
}

@keyframes gifShimmer {
    0% {
        background-position: -200% -200%;
    }
    100% {
        background-position: 200% 200%;
    }
}

/* Drag and Drop Overlay */
.drag-drop-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(var(--primary-rgb), 0.1);
    backdrop-filter: blur(2px);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px dashed var(--primary);
    border-radius: 8px;
    margin: 10px;
    transition: all 0.2s ease;
    animation: dragPulse 1.5s ease-in-out infinite;
}

.drag-drop-overlay.drag-images {
    border-color: var(--good);
    background: rgba(var(--good-rgb), 0.1);
}

.drag-drop-overlay.drag-gifs {
    border-color: #ff6b6b;
    background: rgba(255, 107, 107, 0.1);
}

.drag-drop-overlay.drag-files {
    border-color: var(--primary);
    background: rgba(var(--primary-rgb), 0.1);
}

.drag-drop-overlay.drag-mixed {
    border-color: var(--warning);
    background: rgba(var(--warning-rgb), 0.1);
}

.drag-drop-content {
    text-align: center;
    color: var(--primary);
    font-weight: 600;
}

.drag-drop-overlay.drag-images .drag-drop-content {
    color: var(--good);
}

.drag-drop-overlay.drag-gifs .drag-drop-content {
    color: #ff6b6b;
}

.drag-drop-overlay.drag-files .drag-drop-content {
    color: var(--primary);
}

.drag-drop-overlay.drag-mixed .drag-drop-content {
    color: var(--warning);
}

.drag-drop-icon {
    margin-bottom: 10px;
}

.drag-drop-icon i {
    font-size: 48px;
    opacity: 0.9;
}

.drag-drop-text {
    font-size: 16px;
    font-weight: 500;
    opacity: 0.9;
}

@keyframes dragPulse {
    0% {
        border-color: currentColor;
        background-opacity: 0.1;
    }
    50% {
        border-color: currentColor;
        background-opacity: 0.2;
    }
    100% {
        border-color: currentColor;
        background-opacity: 0.1;
    }
}

/* File upload progress styles */
.chat-file-upload-progress {
    background: var(--light);
    border-radius: 8px;
    margin: 10px;
    padding: 12px;
    border: 1px solid var(--border);
    line-height: normal;
    position: absolute;
    bottom: 110px;
}

.upload-progress-container {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.upload-progress-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 14px;
    color: var(--primary);
}

.upload-progress-header i {
    font-size: 18px;
}

.file-upload-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
    background: var(--white);
    border-radius: 6px;
    border: 1px solid var(--light-border);
}

.file-info {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}

.file-info i {
    font-size: 16px;
    color: var(--text-light);
}

.file-name {
    font-size: 12px;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 120px;
}

.file-upload-progress {
    position: relative;
    width: 60px;
    height: 6px;
    background: var(--light-border);
    border-radius: 3px;
    overflow: hidden;
}

.file-upload-progress .progress-bar {
    height: 100%;
    background: var(--primary);
    border-radius: 3px;
    transition: width 0.2s ease;
}

.file-upload-progress .progress-text {
    position: absolute;
    right: -25px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 10px;
    color: var(--text-light);
    white-space: nowrap;
}

.file-status i.success {
    color: var(--good);
    font-size: 16px;
}

.chat-widget-content {
    position: relative;
}

/* AI processing indicator enhancement */
.ai-processing {
    border-radius: 20px;
    background-color: transparent!important;
    padding: 8px 16px;
    margin: 8px 0;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--light-text);
    font-size: 13px;
}

.ai-processing .spinner-dots {
    display: flex;
    gap: 4px;
}

.ai-processing .spinner-dots div {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary);
    animation: bounce 1.4s infinite ease-in-out both;
}

.ai-processing .spinner-dots .dot1 {
    animation-delay: -0.32s;
}

.ai-processing .spinner-dots .dot2 {
    animation-delay: -0.16s;
}

@keyframes bounce {
    0%, 80%, 100% {
        transform: scale(0);
    }
    40% {
        transform: scale(1);
    }
}

/* Project context badge styling */
.project-context-badge {
    padding: 4px 9px;
    line-height: 16px;
    width: auto;
    float: none;
    font-size: 9pt;
    color: var(--primary);
    user-select: none;
    border-radius: 3px;
    margin-left: 20px;
    margin-bottom: 5px;
    margin-top: 5px;
    width: auto;
    display: inline-flex;
}

.chat-message .project-context-badge, .chat-message .project-context-badge i {
    color: var(--black);
    margin-left: 0;
    padding-left: 0;
}

.chat-message .project-context-badge {border-left: 3px solid var(--primary);background-color: var(--background-color);padding-left: 7px;margin-bottom: 10px;margin-left: 33px;border-radius: 2px!important;}

.chat-message .project-context-badge {
    margin-bottom: 0;
    margin-top: 10px;
    margin-left: 37px;
}

.private-ai-message .project-context-badge {
    margin-left: 0px;
    border-radius: 0;
}

.project-context-badge i {
    font-size: 14px;
}

.project-context-badge .context-link {
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
}

.project-context-badge .context-link:hover {
    text-decoration: underline;
}

.project-mismatch-indicator {
    color: var(--warning);
    font-style: italic;
    font-size: 11px;
}

/* Web search badge styling */
.web-search-badge {
    color: var(--primary);
    gap: 4px;
}

.web-search-badge i {
    font-size: 14px;
}

/* Site-wide search context styling */
.project-context-badge [ng-if*="siteWide"] {
    color: #9c27b0 !important;
}

.site-wide-context {
    font-size: 10px;
    opacity: 0.8;
    color: #666;
    font-weight: normal;
    font-style: italic;
}

/* AI Provider Settings Styling */
.provider-section {
    margin: 15px 0;
    padding: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #f9f9f9;
}

.provider-section h6 {
    margin: 0 0 10px 0;
    color: #333;
    font-weight: 600;
}

.coming-soon {
    font-size: 10px;
    color: #999;
    font-weight: normal;
    background: var(--bgc);
    padding: 2px 6px;
    border-radius: 3px;
    margin-left: 8px;
}

.provider-section input[disabled] {
    background: #f5f5f5;
    color: #999;
    cursor: not-allowed;
}

.provider-section .sub-text {
    font-size: 11px;
    color: #666;
    margin-top: 5px;
}

/* Budget input styling */
input[type="number"] {
    -moz-appearance: textfield;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Popup Mode Styles - for standalone chat window */
body.popup-mode {
    margin: 0;
    padding: 0;
    overflow: hidden;
}

body.popup-mode .zj-body {
    height: 100vh;
    overflow: hidden;
    top: 0;
}

body.popup-mode .chat-expanded {
    height: 100vh;
    display: flex;
    flex-direction: column;
}

body.popup-mode .chat-expanded .jtsyn-chat {
    position: static;
    width: 100%;
    height: 100vh;
    max-height: 100vh;
    border-radius: 0;
    box-shadow: none;
}

body.popup-mode .chat-expanded .jtsyn-chat-body {
    flex: 1;
    height: calc(100vh - 120px); /* Account for header and input */
    overflow-y: auto;
}

/* Private AI Message Styling */
.chat-message.private-ai-message,
.thread-reply.private-ai-message {
    position: relative;
    border: 1px dashed var(--icon-color);
    /* background: var(--background-color); */
    border-radius: var(--border-radius-tiny);
    margin: 5px auto 5px 0;
    padding: 20px;
    max-width: calc(100% - 35px);
    float: right;
    transition: all .3s ease-in-out;
}

.chat-expanded .chat-message.private-ai-message, .chat-expanded .thread-reply.private-ai-message {
    max-width: 880px;
}

.dark .chat-message.private-ai-message, .dark .thread-reply.private-ai-message {
    border-color: var(--primary);
}

.thread-reply.private-ai-message {
    margin-left: 30px;
}

/* .chat-message.private-ai-message::before,
.thread-reply.private-ai-message::before {
    content: '';
    position: absolute;
    top: 8px;
    right: 8px;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' viewBox='0 -960 960 960' width='16' fill='%23f59e0b'%3E%3Cpath d='M240-80q-33 0-56.5-23.5T160-160v-400q0-33 23.5-56.5T240-640h40v-80q0-83 58.5-141.5T480-920q83 0 141.5 58.5T680-720v80h40q33 0 56.5 23.5T800-560v400q0 33-23.5 56.5T720-80H240Zm0-80h480v-400H240v400Zm240-120q33 0 56.5-23.5T560-360q0-33-23.5-56.5T480-440q-33 0-56.5 23.5T400-360q0 33 23.5 56.5T480-280ZM360-640h240v-80q0-50-35-85t-85-35q-50 0-85 35t-35 85v80ZM240-160v-400 400Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
} */

/* Private message label */
.private-message-label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: var(--black);
    background: var(--white);
    padding: 2px 10px;
    border-radius: 3px;
    margin-left: auto;
    margin-top: 5px;
    margin-bottom: 4px;
    width: auto;
}

.private-message-label .primary {
    cursor: pointer;
}

.private-message-label i {
    color: var(--good)!important;
}

.private-message-label i {
    font-size: 12px;
}

.thread-reply .private-message-label i, .thread-reply .private-message-label {
    height: 25px!important;
    line-height: 25px!important;
}

/* Visibility toggle button hover state */
.visibility-toggle-btn:hover {
    background: var(--bg-color-secondary) !important;
    color: var(--text-color-primary) !important;
}

/
.dark .chat-message.private-ai-message {
    background-color: var(--extra-light);
}

.notification-thread .item .item-section {
    display: flex;
    flex-direction: column;
}

.notification-thread .item-section.todos-icons {
    margin-right: 5px;
}

/* ============================================================
   <ai-chat> host geometry for global-chat intelligenceSession (A3 migration).
   Scoped to .global-chat-ai-host so human chat + other surfaces are unaffected.
   NOTE (styling pass for William): first-cut sizing — tweak after the browser test.
   ============================================================ */
.global-chat-ai-host {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    position: relative;
}

nav .global-chat-ai-host i {
    line-height: unset;
    height: unset;
    color: var(--icon-color);
}

.active-chat-view.intelligence-chat .global-chat-ai-host {
    height: calc(100dvh - 114px)!important;
    overflow-y: auto;
}

.global-chat-ai-host > ai-chat,
.global-chat-ai-host > .ai-chat {
    flex: 1 1 auto;
    min-height: 0;
}

/* Fill the flex column instead of the component's global 100dvh height so the
   shared chat header above is accounted for. Scoped to .global-chat-ai-host. */
.global-chat-ai-host .ai-chat .task-ai.oe.ai-chat-messages {
    height: auto;
    /* flex: 1 1 auto; */
}

nav .global-chat-ai-host .ai-chat .task-ai.oe.ai-chat-messages .response-container {
    /* overflow-y: auto; */
    /* max-height: calc(100dvh - 214px)!important; */
    /* padding-bottom: 410px!important; */
    padding: 0px;
}

nav .chat-expanded .global-chat-ai-host .ai-chat .task-ai.oe.ai-chat-messages {
    padding-bottom: 130px!important;
}

.global-chat-ai-disabled {
    padding: 40px 20px;
    text-align: center;
    color: var(--light-text);
}

.notification-thread .todo-comment-stats-author {
    padding-right: 0!important;
}

.chat-footer .btn.btn-transparent.ai-btn svg {
    max-height: 50px;
    margin-top: -9px;
    max-width: 28px;
    position: relative;
    transition: fill .3s ease-in-out;
}

.chat-footer .btn.btn-transparent.ai-btn.selected .jt-ai-word,
.chat-footer .btn.btn-transparent.ai-btn:hover .jt-ai-word {
    fill: var(--primary)!important;
}

/* The AI tab wears .ai-icon-button (css/components/ai-gradient.css). In this square
   tab its fill is a rounded tile rather than the whole 50px cell. */
.chat-footer .ai-btn.ai-icon-button {
    --ai-fill-inset: 7px;
    --ai-fill-radius: 10px;
}

.chat-buttons-wrapper {
    display: flex;
    gap: 0;
    /* margin-left: -10px; */
    margin-left: 8px!important;
}

.spec-item-list-composer .chat-buttons-wrapper {
    margin-left: 0;
}

.groups-list {
}

.contact-details-header-row {
    display: flex;
    line-height: normal;
}

.contact-list {
    /* border-bottom: 1px solid var(--light-border); */
    /* padding-top: 10px; */
}

/* =========================================================================
   Chat widget empty / loading / error states — added 2026-08-15 (UX audit).
   Appended as a block at file end because chat.css carries uncommitted
   live tweaks; keeping new rules together avoids collisions on merge.
   ========================================================================= */

/* Shared vocabulary for the three states below: an icon, a one-line title,
   a muted detail line, and an optional action. Matches the existing
   .empty-state-message / .no-contacts language rather than inventing a new one. */
.chat-empty-icon {
    display: block;
    color: var(--light-text);
    font-size: 34px;
    line-height: 40px;
    height: 40px;
    margin-bottom: 8px;
    user-select: none;
}

.chat-empty-icon.denied {
    color: var(--danger, var(--light-text));
}

.chat-empty-title {
    display: block;
    font-weight: 500;
    color: var(--text-color, inherit);
    line-height: 22px;
    margin-bottom: 4px;
}

.chat-empty-detail {
    display: block;
    line-height: 18px;
    max-width: 320px;
    margin: 0 auto;
}

.chat-empty-actions {
    margin-top: 14px;
}

.chat-empty-actions .btn {
    margin: 0 4px;
}

/* The "nothing selected" pane. Before this existed the right-hand side of the
   expanded widget (and the /chat page) rendered as an empty box. */
.chat-no-selection {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    padding: 20px;
    text-align: center;
    box-sizing: border-box;
}

.chat-no-selection-inner {
    max-width: 340px;
}

/* Load-failure state inside the transcript. Reuses .no-contacts for position so
   it lands in the same optical spot as the "no messages yet" state. */
.no-contacts.chat-load-error .chat-empty-title {
    color: var(--text-color, inherit);
}

/* Per-list empty / no-search-results rows in the sidebar. */
.chat-list-empty {
    padding: 18px 15px;
}

.chat-list-empty .btn {
    margin-top: 8px;
}

.chat-list-empty .spinner {
    width: 22px;
    height: 22px;
    border: 2px solid var(--light-border, rgba(0, 0, 0, 0.1));
    border-radius: 50%;
    border-top-color: var(--primary);
    animation: spin 1s ease-in-out infinite;
    margin: 0 auto 8px;
    will-change: transform;
}

/* .no-contacts i, .no-contacts span carries `margin: 0 !important`, which kills the
   auto-centering on the detail line's max-width box. Re-assert it at equal weight. */
.no-contacts .chat-empty-detail {
    margin-left: auto !important;
    margin-right: auto !important;
    line-height: normal;
}

.no-contacts .chat-empty-icon {
    margin-bottom: 8px !important;
}

/* Per-tab unread badges on the chat footer switcher (DMs / Groups).
   Positioned over the icon rather than inline like .unread-badge in the lists,
   since the tab buttons are icon-only and have no text row to sit beside.
   The button needs position:relative for the absolute anchor to resolve. */
.chat-footer-content .btn-group .btn {
    position: relative;
}

.chat-footer-content .tab-unread-badge {
    position: absolute;
    top: 2px;
    right: 0px;
    background-color: var(--primary);
    color: var(--awhite)!important;
    border-radius: 2px;
    font-size: 9px;
    line-height: 15px;
    min-width: 15px;
    height: 15px;
    padding: 0 4px;
    text-align: center;
    font-weight: 600;
    pointer-events: none;
    user-select: none;
}

.chat-footer-content .btn.selected .tab-unread-badge {
    color: var(--awhite)!important;
}


.project-chat-list.display-current-project {
    height: calc(100dvh - 281px);
    overflow-y: auto;
}

.cil-buttons.vertical-buttons {
    display: inline-flex;
    flex-direction: column;
    position: absolute;
    right: 10px;
    bottom: -12px;
    width: 20px;
}

.cil-buttons.vertical-buttons .btn, .cil-buttons.vertical-buttons i {
    height: 20px!important;
    line-height: 20px!important;
    font-size: 15px;
}
/* Emoji Picker Styles */
.emoji-picker-container {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 14px;
    max-width: 320px;
    min-width: 280px;
    overflow: hidden;
    z-index: 9999;
    bottom: 90px!important;
    top: unset!important;
}

.emoji-picker-header {
    background: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
    padding: 8px 12px;
    font-weight: 500;
    color: #495057;
    line-height: normal;
}

.emoji-picker-title {
    font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
    font-size: 13px;
    color: #6c757d;
}

.emoji-picker-suggestions {
    max-height: 280px;
    overflow-y: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.emoji-suggestion {
    align-items: center;
    border-bottom: 1px solid var(--light-grey);
    cursor: pointer;
    display: flex;
    padding: 8px 12px;
    transition: background-color 0.1s ease;
    line-height: normal;
}

.emoji-suggestion:hover {
    background: var(--light-grey);
}

.emoji-suggestion.selected {
    background: var(--primary);
    color: var(--white);
}

.emoji-suggestion.selected .emoji-name {
    color: var(--white);
}

.emoji-suggestion.selected .emoji-keywords {
    color: var(--white);
    opacity: 0.8;
}

.emoji-char {
    font-size: 16px;
    min-width: 20px;
    text-align: center;
}

.emoji-name {
    color: var(--black);
    font-size: 12px;
    font-weight: 500;
    margin-right: 8px;
    min-width: 60px;
}

.emoji-keywords {
    color: var(--medium-grey);
    font-size: 11px;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.emoji-picker-footer {
    background: var(--light-grey);
    border-top: 1px solid var(--light-grey);
    padding: 8px 12px;
    text-align: center;
}

.no-results {
    color: var(--medium-grey);
    font-size: 12px;
    font-style: italic;
}

/* Scrollbar styling for webkit browsers */
.emoji-picker-suggestions::-webkit-scrollbar {
    width: 6px;
}

.emoji-picker-suggestions::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.emoji-picker-suggestions::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

.emoji-picker-suggestions::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Animation for picker appearance */
.emoji-picker-container {
    animation: emojiPickerFadeIn 0.15s ease-out;
}

@keyframes emojiPickerFadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive design */
@media (max-width: 480px) {
    .emoji-picker-container {
        max-width: 280px;
        min-width: 250px;
    }
    
    .emoji-suggestion {
        padding: 6px 8px;
    }
    
    .emoji-char {
        font-size: 14px;
        margin-right: 6px;
    }
    
    .emoji-name {
        font-size: 11px;
        margin-right: 6px;
        min-width: 50px;
    }
    
    .emoji-keywords {
        font-size: 10px;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .emoji-picker-container {
        border: 2px solid #000000;
    }
    
    .emoji-suggestion.selected {
        background: #000000;
        color: #ffffff;
    }
    
    .emoji-suggestion:hover {
        background: #f0f0f0;
        border: 1px solid #000000;
    }
}

/* Reduced motion support */
/* @media (prefers-reduced-motion: reduce) {
    .emoji-picker-container {
        animation: none;
    }
    
    .emoji-suggestion {
        transition: none;
    }
} */

/* Enhanced Emoji Picker Styles with Emojibase Support */

.emoji-picker-container {
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    background: var(--xwhite);
    border: 1px solid var(--light-grey);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 9999;
    max-height: 400px;
    overflow: hidden;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
    animation: emojiPickerFadeIn 0.15s ease-out;
}

.emoji-picker-search {
    position: relative;
    padding: 0px;
    border-bottom: 1px solid var(--light-grey);
}

.emoji-picker-search i {
    line-height: 40px!important;
    height: 40px!important;
    right: 20px;
    top: 30px;
    left: unset!important;
    position: absolute;
}

.emoji-search-input {
    width: 100%;
    padding: 8px 12px 8px 36px;
    border: 1px solid var(--light-grey);
    border-radius: 6px;
    font-size: 13px!important;
    font-family: inherit;
    background: var(--white);
    color: var(--black);
    outline: none;
    transition: border-color 0.15s ease;
    height: 50px!important;
    line-height: 50px!important;
    margin-bottom: 0px!important;
    padding: 0px 20px!important;
}

.emoji-search-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(var(--primary-rgb), 0.25);
}

.emoji-search-input::placeholder {
    color: var(--medium-grey);
    font-style: italic;
}

.search-icon {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--medium-grey);
    font-size: 18px;
    pointer-events: none;
}

.emoji-picker-tabs {
    display: flex;
    border-bottom: 1px solid var(--light-border);
    overflow-x: auto;
    padding: 0px 20px 10px;
    margin-bottom: 5px;
}

.emoji-tab {
    flex: 0 0 auto;
    min-width: 48px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
    cursor: pointer;
    transition: background-color 0.15s ease;
    font-size: 22px;
    background: transparent;
    border: none!important;
    color: var(--black);
    gap: 0;
}

.emoji-tab:hover {
    background: var(--light-grey);
}

.emoji-tab.active {
    background: var(--primary);
    color: var(--white);
    border-color: var(--primary);
}

.emoji-tab.active:hover {
    background: var(--primary);
    opacity: 0.9;
}

.emoji-picker-title {
    display: block;
}

.emoji-picker-suggestions {
    max-height: 240px;
    overflow-y: auto;
    padding: 5px 15px 10px;
}

.emoji-suggestion {
    display: flex;
    align-items: center;
    padding: 0px;
    cursor: pointer;
    border-bottom: 1px solid var(--light-grey);
    transition: background-color 0.15s ease;
}

.emoji-suggestion:last-child {
    border-bottom: none;
}

.emoji-suggestion:hover,
.emoji-suggestion.selected {
    background-color: var(--extra-light);
    color: var(--awhite)!important;
}

.emoji-suggestion.selected .emoji-name,
.emoji-suggestion.selected .emoji-keywords {
    color: var(--white);
}

.emoji-char {
    font-size: 23px;
    min-width: 30px;
    min-height: 30px;
    text-align: center;
    line-height: 1;
    display: flex;
    align-items: anchor-center;
    justify-content: center;
}

.emoji-name {
    font-weight: 500;
    font-size: 13px;
    color: var(--black);
    margin-right: 8px;
    flex: 0 0 auto;
}

.emoji-suggestion:hover .emoji-name {
    color: var(--awhite);
}

.emoji-keywords {
    font-size: 11px;
    color: var(--medium-grey);
    opacity: 0.8;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.emoji-picker-footer {
    padding: 8px 12px;
    background: var(--light-grey);
    border-top: 1px solid var(--medium-grey);
    text-align: center;
}

.no-results {
    font-size: 12px;
    color: var(--medium-grey);
    font-style: italic;
}

/* Loading states */
.emoji-picker-loading {
    padding: 20px;
    text-align: center;
    color: var(--medium-grey);
    font-size: 12px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .emoji-picker-container {
        max-height: 250px;
    }
    
    .emoji-char {
        font-size: 16px;
    }
    
    .emoji-name {
        font-size: 12px;
    }
    
    .emoji-keywords {
        font-size: 10px;
    }
}

/* Smooth scrolling for suggestions */
.emoji-picker-suggestions {
    scroll-behavior: smooth;
}

/* Custom scrollbar for webkit browsers */
.emoji-picker-suggestions::-webkit-scrollbar {
    width: 6px;
}

.emoji-picker-suggestions::-webkit-scrollbar-track {
    background: var(--light-grey);
}

.emoji-picker-suggestions::-webkit-scrollbar-thumb {
    background: var(--medium-grey);
    border-radius: 3px;
}

.emoji-picker-suggestions::-webkit-scrollbar-thumb:hover {
    background: var(--dark-grey);
}

/* Animation for picker appearance */
.emoji-picker-container {
    animation: emojiPickerSlideUp 0.15s ease-out;
}

@keyframes emojiPickerSlideUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Enhanced emoji display for better visibility */
.emoji-char {
    /* Support for Apple's color emoji */
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
    /* Prevent emoji from being affected by font styling */
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}

/
.emoji-suggestion:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: -2px;
}

.emoji-tab:focus {
    outline: 2px solid var(--primary);
    outline-offset: -2px;
}

.emoji-search-input:focus {
    outline: none; /* We already have a custom focus style */
}

/* Emoji Picker Modal Styles */
.emoji-picker-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999999999;
}

.emoji-picker-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
}

/* Override the existing emoji-picker-container for modal display */
.emoji-picker-modal .emoji-picker-container {
    position: relative;
    width: 90%;
    max-width: 630px;
    max-height: 80vh;
    bottom: unset;
    top: unset;
    left: unset;
    right: unset;
    animation: emojiPickerSlideIn 0.2s ease-out;
}

@keyframes emojiPickerSlideIn {
    from {
        opacity: 0;
        transform: scale(0.9) translateY(-20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* Responsive design for emoji picker modal */
@media (max-width: 768px) {
    .emoji-picker-modal .emoji-picker-container {
        width: 95%;
        max-height: 90vh;
    }
} 
/* Message Actions and Threaded Reply Styles */

/* Message content wrapper */
.message-content-wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    /* gap: 8px; */
    padding-top: 0px;
    width: calc(100% - 40px);
    margin-left: auto;
}

.message-content-wrapper:hover .message-text {
    background-color: var(--white);
}

.chat-collapsed .message-content-wrapper:hover .message-text {
    background-color: transparent;
}

html body .chat-expanded  .message-content-wrapper .message-text:hover > div {
    background-color: transparent!important;
}

html body .chat-expanded .intelligence-chat .message-content-wrapper .message-text:hover > div {
    background-color: transparent!important;
}

.dark .chat-expanded .message-text:hover > div, .dark .message-content-wrapper:hover .message-actions {
    background-color: var(--extra-light) !important;
}

.dark .simple-chat .message-content-wrapper:hover .message-actions {
    background-color: transparent!important;
}

.message-content-wrapper .message-text > div {
    padding: 0px 3px;
    margin-left: -3px;
    margin-right: 0px;
    margin-bottom: 0px;
    border-radius: 3px;
    transition: all .3s ease-in-out .1s;
    line-height: 24px;
}

.chat-expanded .message-content-wrapper .message-text:hover > div {
    background-color: var(--background-color);
}

.dark .chat-expanded .message-content-wrapper .message-text:hover > div {
    /* background-color: var(--extra-light)!important; */
}

.dark .chat-expanded .message-content-wrapper .message-text:hover > div {}

.dark .chat-expanded .simple-chat .message-content-wrapper .message-text:hover > div {
    background-color: transparent!important;
}

.message-content-wrapper .message-actions {
    transition: background-color .17s ease-in-out;
}

/* Message hover actions */
.message-actions {
    position: absolute;
    top: 0px;
    left: unset!important;
    right: 0px!important;
    /* background: var(--background-color)!important; */
    /* border: 1px solid var(--light-border); */
    border-radius: var(--border-radius-xs);
    /* padding: 4px; */
    /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
    display: none;
    /* gap: 4px; */
    z-index: 10;
    opacity: 0;
    /* transform: translateY(-10px); */
    /* transition: opacity 0.2s ease, transform 0.2s ease; */
}

.simple-chat .message-actions {
    top: -23px;
}

.simple-chat .message-actions button {
    background-color: transparent!important;
}

.message-actions.sent-actions {
    left: -8px;
    right: auto;
}

.message-content-wrapper.open .message-actions {
    box-shadow: var(--box-shadow);
}

.reply-content-wrapper:hover .message-actions {
    display: flex;
}

.message-actions.received-actions {
    right: -8px;
    left: auto;
}

.message-content-wrapper:hover .message-actions, .message-content-wrapper.open .message-actions, .simple-chat .message-content-wrapper .message-actions {
    opacity: 1;
    /* transform: translateY(0); */
    display: flex;
    /* background-color: var(--background-color)!important; */
    /* box-shadow: var(--box-shadow); */
}

.message-content-wrapper:hover .message-emoji-reaction-picker {
    transition: all .17s ease-in-out;
}

.message-content-wrapper:hover .message-actions i {
    color: var(--icon-color)!important;
}

.dark .simple-chat .message-content-wrapper:hover .message-actions i {
    color: var(--black)!important;
}

.message-content-wrapper:hover .message-action-btn:hover i {
    color: var(--awhite)!important;
}

/* Message action buttons */
.message-action-btn {
    background: none;
    border: none;
    padding: 0px 7px;
    height: 24px;
    line-height: 24px;
    border-radius: 0px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.17s ease;
    color: var(--icon-color);
    user-select: none;
    pointer-events: all;
    background-color: var(--white);
    border-radius: 2px;
}

button.message-action-btn {
    background-color: var(--white);
}

.message-actions > .active > button.message-action-btn {
    background-color: var(--primary);
}

.message-actions > .active > button.message-action-btn i {
    color: var(--awhite)!important;
}

button.message-action-btn:hover {
    background-color: var(--primary)!important;
}

button.message-action-btn:hover i {
    color: var(--awhite)!important;
}

.dark button.message-action-btn {
    background-color: var(--white);
}

.message-action-btn:focus {
    /* background-color: transparent; */
}

.message-action-btn:hover {
    /* background-color: #f5f5f5; */
    color: #333;
}

.message-action-btn i {
    font-size: 16px;
}

.reply-content-wrapper .message-action-btn > i {
    line-height: 30px!important;
    height: 30px!important;
}

/* Message more menu */
.message-more-menu {
    position: absolute;
    top: 100%;
    right: 0;
    background: var(--white);
    border-radius: var(--border-radius-xs);
    box-shadow: var(--box-shadow);
    z-index: 30;
    min-width: 120px;
    overflow: hidden;
    margin-top: -1px;
}

.message-actions.sent-actions .message-more-menu {
    right: 0;
}

/* Dark theme support for more menu */
.dark-theme .message-more-menu {
    background: var(--dark-bg);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

.dark-theme .more-menu-item {
    color: var(--dark-text);
}

.dark-theme .more-menu-item:hover {
    background-color: var(--dark-hover);
}

.dark-theme .more-menu-item.delete-item {
    color: #ff6b6b;
}

.dark-theme .more-menu-item.delete-item:hover {
    background-color: rgba(255, 107, 107, 0.1);
}

.more-menu-item {
    display: flex;
    align-items: center;
    padding: 0 15px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    gap: 8px;
    font-size: 13px;
    color: var(--black);
    height: 50px;
    line-height: 50px;
}

.chat-message .more-menu-item {
    height: 40px;
    line-height: 40px;
}

.more-menu-item:hover {
    background-color: var(--background-color);
}

.more-menu-item.delete-item, .more-menu-item.delete-item i {
    color: var(--warning);
}

.more-menu-item.delete-item:hover, .more-menu-item.delete-item:hover i {
    background-color: var(--white);
    color: var(--warning)!important;
}

.more-menu-item i {
    font-size: 16px;
}

.more-menu-item span {user-select: none;}

/* Edit message styles */
.edit-message-container {
    background: var(--white);
    border: 1px solid var(--light-border);
    border-radius: 5px;
    padding: 12px;
    margin-bottom: 8px;
}

.edit-message-input {
    width: 100%;
    min-height: 80px;
    border: none;
    outline: none;
    resize: vertical;
    font-size: 14px;
    line-height: 1.4;
    color: var(--text-color);
    background: transparent;
}

.edit-message-input:focus {
    outline: none;
}

.edit-message-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    justify-content: flex-end;
    height: 40px;
}

.edit-message-actions, .edit-message-actions .edit-btn {
    height: 30px!important;
    line-height: 30px!important;
}

.edit-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0px 12px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 500;
    transition: background-color 0.2s ease;
}

.centered-page .edit-btn {
    padding-right: 0;
}

.edit-btn.save-btn {
    background-color: var(--primary);
    color: white;
}

button.edit-btn.save-btn i {
    color: var(--awhite);
}

button.edit-btn.save-btn {
    float: right!important;
}

button.edit-btn.save-btn:hover {
    background-color: var(--primary);
}

.edit-btn.save-btn:hover {
    background-color: var(--primary-dark);
}

.edit-btn.cancel-btn {
    background-color: var(--background-color);
    color: var(--text-color);
}

.edit-btn.cancel-btn:hover {
    background-color: var(--border);
}

.edit-btn i {
    font-size: 18px;
}

/* Dark theme support for edit message */
.dark-theme .edit-message-container {
    background: var(--dark-bg);
    border-color: var(--dark-border);
}

.dark-theme .edit-message-input {
    color: var(--dark-text);
    background: transparent;
}

.dark-theme .edit-btn.cancel-btn {
    background-color: var(--dark-hover);
    color: var(--dark-text);
}

.dark-theme .edit-btn.cancel-btn:hover {
    background-color: var(--dark-border);
}

/* Edited message indicator */
.edited-indicator {
    font-size: 11px;
    color: #999;
    font-style: italic;
    padding-left: 40px;
    margin-top: -6px;
    margin-bottom: 3px;
}

.dark-theme .edited-indicator {
    color: #666;
}

/* Message emoji reaction picker */
.message-emoji-reaction-picker {
    position: relative;
    display: flex;
    align-items: center;
}

.quick-reactions {
    position: absolute;
    top: -40px;
    left: unset;
    right: -30px;
    background: var(--white);
    border-radius: 5px;
    padding: 5px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    display: flex;
    gap: 4px;
    z-index: 20;
    min-width: 240px;
}

.quick-emoji {
    font-size: 20px;
    padding: 8px;
    cursor: pointer;
    transition: transform 0.2s ease, background-color 0.2s ease;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
}

.quick-emoji:hover {
    transform: scale(1.3);
    /* background-color: #f5f5f5; */
    color: var(--primary)!important;
}

.quick-emoji.more-emoji {
    background-color: transparent;
    font-size: 16px;
    color: var(--icon-color);
    border: none!important;
}

.quick-emoji.more-emoji:hover {
    background-color: transparent;
    color: var(--black);
}

/* Emoji reactions */
.message-reactions {
    display: flex;
    flex-wrap: wrap;
    /* height: 30px; */
    gap: 4px;
    /* margin-top: -10px; */
    /* margin-bottom: 5px; */
}

.reaction-item {
    display: flex;
    align-items: center;
    border-radius: 3px;
    border: 1px solid var(--light-border);
    background-color: var(--white);
    padding: 0px 8px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
    line-height: normal;
    margin-right: 1px;
    height: 25px;
}

.reaction-item:hover {
    background: var(--xwhite)!important;
    border-color: var(--primary)!important;
}

.reaction-item:hover .reaction-count {
    color: var(--primary)!important;
}

/* Enhanced tooltip styles for reaction items */
.reaction-item {
    position: relative;
}

.reaction-item[title]:hover::after {
    content: attr(title);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.9);
    color: white;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 12px;
    white-space: nowrap;
    z-index: 1000;
    margin-bottom: 8px;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    pointer-events: none;
}

.reaction-item[title]:hover::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 4px solid transparent;
    border-top-color: rgba(0, 0, 0, 0.9);
    margin-bottom: 4px;
    z-index: 1000;
    pointer-events: none;
}

/* Responsive tooltip adjustments */
@media (max-width: 768px) {
    .reaction-item[title]:hover::after {
        max-width: 250px;
        font-size: 11px;
        padding: 6px 10px;
    }
}

.reaction-item.user-reacted {
    background: var(--xwhite);
    border-color: var(--light-border);
    color: var(--primary);
}

.simple-chat .reaction-item.user-reacted {
    background-color: var(--white);
}

.dark .simple-chat .reaction-item.user-reacted {
    background-color: var(--extra-light);
}

.reaction-emoji {
    font-size: 14px;
    margin-right: 5px;
}

.reaction-count {
    font-weight: 500;
    color: #666;
}

.reaction-item.user-reacted .reaction-count {
    color: var(--black);
    margin-left: 5px;
}

/* Reply count */
.reply-count {
    display: flex;
    height: 25px;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 500;
    color: var(--black);
    cursor: pointer;
    margin-top: 0px;
    margin-right: 5px;
    margin-left: 5px;
    padding: 0 10px 0 0;
    border-radius: 2px;
    transition: background-color 0.2s ease;
    /* background-color: var(--primary); */
    user-select: none;
    cursor: pointer;
}

.reply-count i, .reply-count span {
    color: var(--primary)!important;
}

.reply-count:hover span {
    text-decoration: underline;
}

.reply-count:hover i, .reply-count:hover span {
    /* color: var(--awhite)!important; */
}

.dark .reply-count, .dark .reaction-item {
    /* border-color: var(--light); */
}

.reply-count:hover {
    /* background-color: var(--primary); */
    color: var(--primary)!important;
    /* border-color: var(--primary); */
}

.reply-count:hover i {
    color: var(--primary)!important;
}

.reply-count i {
    font-size: 14px;
}

/* GIF message enhancements */
.message-content-wrapper .chat-image.chat-gif:hover {
    /* transform: scale(1.02); */
    /* box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3); */
}

/* Special action button for GIF messages */
.message-actions .gif-action-btn {
    background: linear-gradient(135deg, #ff6b6b, #ff8e8e);
    color: white;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    position: relative;
}

.message-actions .gif-action-btn:hover {
    background: linear-gradient(135deg, #ff5252, #ff6b6b);
    transform: scale(1.1);
}

.message-actions .gif-action-btn::after {
    content: "GIF";
    font-size: 8px;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Threaded Reply View */
.threaded-reply-view {
    /* position: absolute; */
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100dvh - 64px);
    background: var(--light-white);
    display: flex;
    flex-direction: column;
    z-index: 100;
    transform: translateX(100%);
    transition: transform 0.3s ease;
}

.chat-expanded .threaded-reply-view {
    max-width: 420px;
    border-left: 1px solid var(--light-border);
}

.intelligence-chat .threaded-reply-view {
    top: -60px;
}

.threaded-reply-view.sliding-in {
    transform: translateX(0);
}

/* Thread header */
.thread-header {
    display: flex;
    height: 60px;
    align-items: center;
    padding: 0 16px 0 10px;
    /* background: var(--background-color); */
    gap: 12px;
    border-bottom: 1px solid var(--light-border);
}

.thread-back-button {
    background: none;
    border: none;
    padding: 8px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease;
    user-select: none;
}

.thread-back-button:hover {
    background-color: var(--white);
}

.thread-back-button i {
    font-size: 20px;
    color: var(--primary);
}

.thread-title {
    /* font-size: 16px; */
    font-weight: 500;
    color: var(--black);
}

/* Thread content */
.thread-content {
    flex: 1;
    overflow-y: auto;
    height: calc(100dvh - 64px)!important;
    padding: 15px 0px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.threaded-reply-view .thread-content {
    height: calc(100dvh - 217px)!important;
}

/* Parent message */
.parent-message {
    /* background: var(--background-color); */
    /* border-radius: var(--border-radius-smallish); */
    /* padding: 16px; */
    margin-bottom: 16px;
    /* border-bottom: 1px dashed var(--border); */
}

.thread-content .parent-message {
    display: flex;
    gap: 13px;
}

.thread-content .parent-message .lazy-image-wrapper {
    width: 20px;
    padding-top: 1px;
    height: 20px;
}

.thread-content .parent-message .lazy-image-wrapper img {
    border-radius: var(--border-radius-tiny);
    vertical-align: top;
}

.thread-content > div {
    max-width: 820px;
    margin: 0px auto;
    width: 100%;
    padding: 0px 30px;
}

.parent-message-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0px;
    height: 25px;
    line-height: 15px;
}

.parent-message-header img {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-tiny);
    margin-right: 5px;
}

.parent-sender-name {
    font-weight: 600;
    color: var(--black);
}

.parent-timestamp {
    color: var(--light-text);
    font-size: 11px;
    /* margin-left: auto; */
    padding-left: 2px;
}

.parent-message-text {
    font-size: 14px;
    line-height: 25px;
    color: var(--black);
    margin-bottom: 8px;
    /* padding-left: 30px; */
}

/* Thread replies */
.thread-replies {
    display: flex;
    flex-direction: column;
    padding-bottom: 30px!important;
}

.thread-reply {
    position: relative;
    /* padding: 13px; */
    /* border-radius: 8px; */
    transition: background-color 0.2s ease;
}

.thread-reply.sent {
    /* background-color: var(--background-color); */
    color: var(--black);
    /* margin-left: 40px; */
    margin-top: 20px;
}

.thread-replies .thread-reply.sent:first-child {
    margin-top: 20px;
}

.thread-replies .thread-reply.sent {
    margin-top: 0;
}

.thread-reply.received {
    /* margin-right: 40px; */
    margin-top: 20px;
}

.reply-sender {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-bottom: 2px;
    height: 25px;
    line-height: 25px;
}

.reply-sender img {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-tiny);
    margin-right: 10px;
}

.reply-sender-name {
    font-weight: 600;
    color: var(--black);
}

.reply-timestamp {
    color: var(--light-text);
    font-size: 11px;
    /* margin-left: auto; */
    padding-left: 10px;
    margin-top: 2px;
}

.reply-content-wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.reply-content-wrapper:hover .reply-text > div {
    /* color: var(--light-text)!important; */
    background-color: var(--background-color);
}

.chat-widget-content.simple-chat .reply-content-wrapper:hover .reply-text > div {
    background-color: transparent!important;
}

.reply-content-wrapper .reply-text > div {
    width: calc(100% + 6px);
    margin-left: -6px;
    margin-right: -3px;
    padding: 0px 3px;
    border-radius: 3px;
}

.reply-text {
    font-size: 14px;
    line-height: 30px;
    color: var(--black);
    padding-left: 37px;
    display: block;
}

.thread-reply:not(.first-in-group) .reply-text {
    padding-left: 34px;
}

.thread-reply.first-in-group .reply-text {
    padding-left: 34px;
}

/* No replies state */
.no-replies {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    color: #666;
    text-align: center;
}

.no-replies i {
    font-size: 48px;
    margin-bottom: 12px;
    color: #ccc;
}

/* Thread reply input */
.thread-reply-input {
    padding: 0px;
    border-radius: 0px!important;
}

.reply-input-container {
    display: flex;
    gap: 8px;
    border-top: 1px solid var(--light-border);
    /* border-radius: 12px; */
    padding: 10px 20px;
    height: 93px;
    background-color: var(--white);
}

.reply-input-container textarea,
.reply-input-container .thread-reply-composer {
    flex: 1;
    border: none;
    background: none;
    font-size: 14px;
    line-height: 1.4;
    padding: 8px;
    max-height: 120px;
    overflow-y: auto;
    outline: none;
    border-radius: 0px!important;
}

.reply-input-container .thread-reply-composer {
    white-space: pre-wrap;
    word-break: break-word;
}

.reply-input-container .thread-reply-composer:empty:before {
    content: attr(data-placeholder);
    color: #999;
    pointer-events: none;
}

.reply-input-actions {
    display: flex;
    align-items: center;
    gap: 4px;
}

.reply-input-actions .chat-input-btn {
    background: none;
    border: none;
    padding: 6px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease;
    color: #666;
}

.reply-input-actions .chat-input-btn:hover {
    background-color: transparent;
}

.reply-input-actions .send-button {
    background: #2196f3;
    border: none;
    padding: 8px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease;
    color: white;
}

.reply-input-actions .send-button:hover:not(:disabled) {
    background: #1976d2;
}

.reply-input-actions .send-button:disabled {
    background: #ccc;
    cursor: not-allowed;
}

.reply-input-actions .send-button i {
    font-size: 18px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .message-actions {
        position: static;
        opacity: 1;
        transform: none;
        margin-top: 8px;
        align-self: flex-end;
    }
    
    .message-actions.sent-actions {
        align-self: flex-start;
    }
    
    .message-more-menu {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        min-width: 200px;
        z-index: 1000;
    }
    
    .thread-reply.sent {
        margin-left: 20px;
    }
    
    .thread-reply.received {
        margin-right: 20px;
    }
    
    .edit-message-container {
        margin: 8px 0;
    }
    
    .edit-message-actions {
        flex-direction: column;
        gap: 4px;
    }
    
    .edit-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Dark theme support */
.dark-theme .message-actions {
    background: #2d2d2d;
    border-color: #444;
}

.dark-theme .message-action-btn {
    color: #ccc;
}

.dark-theme .message-action-btn:hover {
    background-color: #3d3d3d;
    color: #fff;
}

.dark-theme .reaction-item {
    background: #2d2d2d;
    border-color: #444;
    color: #ccc;
}

.dark-theme .reaction-item:hover {
    background: #3d3d3d;
    border-color: #555;
}

.dark-theme .reaction-item.user-reacted {
    background: #1a365d;
    border-color: #2196f3;
    color: #64b5f6;
}

.dark-theme .threaded-reply-view {
    background: #1a1a1a;
}

.dark-theme .thread-header {
    background: #2d2d2d;
    border-color: #444;
}

.dark-theme .parent-message {
    background: #2d2d2d;
    border-color: #444;
}

.dark-theme .thread-reply.sent {
    background: #1a365d;
}

.dark-theme .thread-reply.received {
    background: #2d2d2d;
}

.dark-theme .reply-input-container {
    background: #2d2d2d;
    border-color: #444;
}

.dark-theme .reply-input-container textarea {
    color: #ccc;
} 
/* =========================
   MENTION DROPDOWN STYLES
   ========================= */

.mention-dropdown {
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    background: var(--background-color);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
}

.mention-dropdown.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: all;
}

.mention-dropdown .mention-header {
    padding: 8px 12px;
    background: var(--white);
    border-bottom: 1px solid var(--border);
    font-size: 12px;
    font-weight: 500;
    color: var(--black);
    border-radius: 8px 8px 0 0;
    line-height: 30px;
}

.mention-dropdown .mention-list {
    max-height: 250px;
    overflow-y: auto;
}

.mention-dropdown .mention-item {
    display: flex;
    align-items: center;
    padding: 0 20px;
    cursor: pointer;
    border-bottom: 1px solid var(--border);
    transition: background-color 0.15s ease;
}

.mention-dropdown .mention-item:last-child {
    border-bottom: none;
}

.mention-dropdown .mention-avatar {
    width: 32px;
    height: 32px;
    border-radius: var(--border-radius-tiny);
    margin-right: 0px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
}

.mention-dropdown .mention-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mention-dropdown .mention-avatar.ai-avatar {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.mention-dropdown .openai-logo-small {
    width: 20px;
    height: 20px;
    background: url('/images/openai-logomark.svg') no-repeat center;
    background-size: contain;
    filter: invert(1);
}

.mention-dropdown .mention-details {
    flex: 1;
    min-width: 0;
}

.mention-dropdown .mention-name {
    font-weight: 500;
    color: var(--black);
    font-size: 14px;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mention-dropdown .mention-description {
    font-size: 12px;
    color: var(--light-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mention-dropdown .mention-empty {
    padding: 0 12px;
    text-align: center;
    color: #999;
    font-size: 13px;
    line-height: 50px;
    user-select: none;
    height: 50px;
}

/* Reply mention dropdown positioning */
.reply-mention-dropdown {
    bottom: 79px;
    margin-bottom: 5px;
}

/* =========================
   MENTIONED USER STYLES
   ========================= */

.mentioned-user {
    background: var(--background-color);
    color: var(--black) !important;
    padding: 0px 5px!important;
    border-radius: 3px;
    font-weight: 500;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none !important;
    display: inline-block;
    margin: 0 1px;
    outline: none!important;
    height: auto!important;
    line-height: unset;
}

.spec-item-main-body .mentioned-user {
    /* padding-left: 5px!important; */
    /* padding-right: 8px!important; */
    color: var(--primary)!important;
}

.content-editable .mention-pill {
    background-color: var(--white);
}

.mentioned-user:hover {
    color: white !important;
    background-color: var(--primary);
}

.mentioned-user:active {
    transform: translateY(0);
}

/* =========================
   MENTIONED AI STYLES
   ========================= */

.mentioned-ai {
    background: var(--background-color);
    color: var(--primary) !important;
    padding: 0px 10px;
    border-radius: 3px;
    font-weight: 500;
    font-size: 9pt;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none !important;
    display: inline-block;
    position: relative;
    line-height: 23px;
    border: none;
    margin-left: 0px;
    margin-right: 0px;
    display: flex;
    height: 23px;
    gap: 5px;
    width: auto;
}

.message-text .mentioned-ai {
    margin-top: 0px;
    line-height: 24px;
    height: 24px;
    color: var(--black)!important;
}

.chat-message .mention-pill {
    background-color: var(--white);
    border: 1px solid var(--light-border);
}

.mentioned-ai img {
    max-height: 15px!important;
    margin-top: 4px;
}

.chat-messages .message-text .mentioned-ai img {
    box-shadow: none!important;
    height: 11px;
    margin-top: 2px!important;
    margin-right: 0px!important;
}

/* =========================
   MENTIONED AGENT STYLES (mirror AI; emoji/initials glyph when no image)
   ========================= */

.mentioned-agent {
    background: var(--background-color);
    color: var(--primary) !important;
    padding: 0px 10px;
    border-radius: 3px;
    font-weight: 500;
    font-size: 9pt;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none !important;
    position: relative;
    line-height: 23px;
    border: none;
    margin-left: 0px;
    margin-right: 0px;
    display: flex;
    align-items: center;
    height: 23px;
    gap: 5px;
    width: auto;
}

.message-text .mentioned-agent {
    margin-top: 0px;
    line-height: 24px;
    height: 24px;
    color: var(--black)!important;
}

.mentioned-agent img {
    max-height: 15px!important;
    border-radius: 4px;
    object-fit: cover;
}

/* Emoji / initials glyph avatar used when an agent has no uploaded image. */
.mention-pill-glyph,
.mention-menu-item__glyph,
.mention-glyph-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: var(--hover-item);
    color: var(--primary);
    line-height: 1;
    font-weight: 600;
    text-align: center;
    flex: 0 0 auto;
}
.mention-pill-glyph {
    width: 15px;
    height: 15px;
    font-size: 10px;
}
.mention-menu-item__glyph,
.mention-glyph-avatar {
    width: 22px;
    height: 22px;
    font-size: 13px;
}

/* =========================
   RESPONSIVE STYLES
   ========================= */

@media (max-width: 768px) {
    .mention-dropdown {
        max-height: 200px;
    }
    
    .mention-dropdown .mention-item {
        padding: 10px 12px;
    }
    
    .mention-dropdown .mention-avatar {
        width: 28px;
        height: 28px;
    }
    
    .mention-dropdown .mention-name {
        font-size: 13px;
    }
    
    .mention-dropdown .mention-description {
        font-size: 11px;
    }
}

/* =========================
   DARK MODE SUPPORT
   ========================= */

body.dark-mode .mention-dropdown {
    background: #2d3748;
    border-color: #4a5568;
    color: #e2e8f0;
}

body.dark-mode .mention-dropdown .mention-header {
    background: #1a202c;
    border-bottom-color: #4a5568;
    color: #a0aec0;
}

body.dark-mode .mention-dropdown .mention-item {
    border-bottom-color: #4a5568;
}

body.dark-mode .mention-dropdown .mention-item:hover,
body.dark-mode .mention-dropdown .mention-item.selected {
    background-color: #4a5568;
}

body.dark-mode .mention-dropdown .mention-name {
    color: #e2e8f0;
}

body.dark-mode .mention-dropdown .mention-description {
    color: #a0aec0;
}

body.dark-mode .mention-dropdown .mention-empty {
    color: #718096;
}

body.dark-mode .mention-dropdown .mention-avatar {
    background: #4a5568;
}

/* =========================
   ANIMATION KEYFRAMES
   ========================= */

@keyframes mentionPulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.02);
    }
    100% {
        transform: scale(1);
    }
}

.mentioned-user.pulse,
.mentioned-ai.pulse {
    animation: mentionPulse 0.6s ease;
}

/* =========================
   ACCESSIBILITY STYLES
   ========================= */

.mention-dropdown .mention-item:focus {
    outline: 2px solid #667eea;
    outline-offset: -2px;
}

.mentioned-user:focus,
.mentioned-ai:focus {
    outline: 2px solid #667eea;
    outline-offset: 2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .mentioned-user {
        background: #000;
        color: #fff !important;
        border: 1px solid #fff;
    }
    
    .mentioned-ai {
        background: #000;
        color: #fff !important;
        border: 1px solid #fff;
    }
    
    .mention-dropdown {
        border: 2px solid #000;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .mention-dropdown {
        transition: none;
    }
    
    .mentioned-user,
    .mentioned-ai {
        transition: none;
    }
    
    .mentioned-user:hover,
    .mentioned-ai:hover {
        transform: none;
    }
} 

/* =========================
   INLINE MENTION PILL STYLES
   ========================= */

.mention-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 6px;
    box-sizing: border-box;
    border-radius: 3px;
    background: var(--background-color);
    vertical-align: middle;
    white-space: nowrap;
    user-select: none;
    cursor: pointer;
    margin-top: -2px;
}

.message-text .mention-pill img {
    margin-bottom: 0!important;
}

.mention-pill-avatar {
    width: 15px!important;
    height: 15px!important;
    object-fit: cover;
    flex: 0 0 auto;
    margin-right: 0!important;
    border-radius: 2px!important;
    box-shadow: none!important;
}

/*
 * Defensive size clamp — if the pill wrapper gets stripped by a renderer
 * (e.g. enhance directive pre-DOMPurify, or a sanitizer that drops classes)
 * but the img survives, limit it by any of the markers the extractor relies on
 * so it never renders at natural SVG size (which was ~1400px filling the
 * description area — see Ship 2.5 B2).
 */
span[data-type="ai"] img,
span[data-ai-model-id] img,
span[data-type="agent"] img,
span[data-agent-id] img,
span[data-type="user"] img,
span[data-user-id] img,
.mentioned-ai img,
.mention-pill img,
img.mention-pill-avatar,
.jtsyn-mention img {
    width: 15px!important;
    height: 15px!important;
    max-width: 15px;
    max-height: 15px;
    margin: 0!important;
}

img.mention-pill-avatar {}

[contenteditable="true"] .mention-pill.mention-user {
    background-color: var(--background-color);
}

.dark [contenteditable="true"] .mention-pill.mention-user {
    background-color: var(--white);
}

.dark [contenteditable="true"] .mention-pill.mention-user {
    background-color: var(--background-color);
}

[contenteditable="true"] .mention-pill.mention-user img {
    margin-top: 0;
}

.content-editable .mention-pill {
    background-color: var(--white);
}

.mention-pill.mention-ai .mention-pill-avatar,
.mention-pill.mention-ai .mention-pill-icon {
    border-radius: 4px;
    object-fit: contain;
    margin-top: 0;
}

.mention-pill.mention-agent .mention-pill-avatar {
    border-radius: 4px;
    object-fit: cover;
    margin-top: 0;
}

.mention-pill-text {
    font-size: 12px;
    font-weight: 400;
    color: var(--black);
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
    /* min-width: fit-content; */
    line-height: unset;
}

.mention-pill-subtext {
    font-size: 11px;
    font-weight: 500;
    color: var(--light-text);
}

.mention-pill:hover {
    background: var(--background-color);
}

.chat-composer .mention-pill,
.thread-reply-composer .mention-pill {
    cursor: default;
}
/* Image Enhancement Styles */

/* Interactive Image Cursor */
.chat-image-interactive {
    cursor: pointer;
    transition: all 0.2s ease;
    border-radius: var(--border-radius-tiny);
}

.chat-image-interactive:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Image Lightbox Overlay */
.image-lightbox-overlay {
    position: fixed;
    top: -64px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 9999999999999;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(5px);
}

.image-lightbox-container {
    position: relative;
    width: 100vw;
    height: 100dvh;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    top: 32px;
}

.chat-widget .image-lightbox-container {
    bottom: 0;
    top: 64px;
    height: calc(100dvh - 64px);
}

/* Lightbox Header */
.image-lightbox-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    border-bottom: 1px solid var(--light-border);
    min-height: 64px;
    height: 64px;
    line-height: 64px;
}

.image-lightbox-controls {
    display: flex;
    align-items: center;
}

.image-lightbox-counter {
    font-size: 12px;
    color: var(--light-text);
    font-weight: 500;
    min-width: 60px;
    text-align: center;
}

.image-lightbox-actions {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.image-lightbox-btn {
    background: none;
    border: none;
    color: var(--icon-color);
    padding: 8px;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 50px;
    height: 50px!important;
    padding: 0px!important;
}

.image-lightbox-btn i {
    line-height: 50px!important;
    height: 50px!important;
    font-size: 20px!important;
    cursor: pointer;
}

.image-lightbox-btn:hover {
    background-color: var(--hover-light);
    color: var(--black);
}

.image-lightbox-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.image-lightbox-btn i {
    font-size: 20px;
    color: var(--icon-color)!important;
}

/* Lightbox Content */
.image-lightbox-content {
    display: flex;
    flex: 1;
    overflow: hidden;
}

.image-lightbox-main {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-color: var(--very-light);
    overflow: hidden;
}

.image-lightbox-img {
    max-width: 100%!important;
    max-height: calc(100dvh - 150px)!important;
    object-fit: contain;
    transition: transform 0.3s ease;
    cursor: zoom-in;
    width: auto!important;
}

.image-lightbox-img:hover {
    cursor: zoom-out;
}

/* Zoom Controls */
.image-lightbox-zoom-controls {
    position: absolute;
    bottom: 20px;
    height: 50px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 0px;
    background-color: rgba(0, 0, 0, 0.8);
    padding: 0;
    border-radius: var(--border-radius-smallish);
    backdrop-filter: blur(10px);
    z-index: 9999999;
}

.image-zoom-level {
    color: var(--light-text);
    font-size: 12px;
    font-weight: 500;
    min-width: 50px;
    text-align: center;
}

/* Zoom Controls Separator */
.zoom-controls-separator {
    width: 1px;
    height: 20px;
    background-color: rgba(255, 255, 255, 0.3);
    margin: 0 8px;
}

/* Image Details Panel */
.image-lightbox-details {
    width: 25%;
    background-color: var(--white);
    border-left: 1px solid var(--light-border);
    display: flex;
    flex-direction: column;
    position: relative;
}

.image-details-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    height: 50px;
    line-height: 50px;
    border-bottom: 1px solid var(--light-border);
}

.image-details-header h6 {
    margin: 0;
    color: var(--black);
    font-weight: 300;
}

.image-details-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.image-detail-item {
    margin-bottom: 15px;
    padding: 20px;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    border: 1px solid var(--light-border);
}

.detail-label {
    display: block;
    font-weight: 600;
    color: var(--black);
    font-size: 12px;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: normal;
}

.detail-value {
    display: block;
    color: var(--light-text);
    font-size: 14px;
    word-break: break-all;
    line-height: 1.4;
}

/* Image Comments Panel */
.image-lightbox-comments {
    width: 25%;
    background-color: var(--white);
    border-left: 1px solid var(--light-border);
    display: flex;
    flex-direction: column;
    position: relative;
}

.image-comments-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    height: 50px;
    line-height: 50px;
    border-bottom: 1px solid var(--light-border);
}

.image-comments-header h6 {
    margin: 0;
    color: var(--black);
    font-weight: 400;
}

.image-comments-list {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    max-height: calc(100dvh - 191px);
}

/* Image Comments - Using existing chat message styles */
.image-comments-list .chat-message {margin-bottom: 0;}

.image-comments-list .message-sender-container {
    margin-bottom: 5px;
}

.image-comments-list .message-sender {
    display: flex;
    align-items: center;
    gap: 0px;
    font-size: 14px;
    font-weight: 600;
    color: var(--black);
    line-height: normal;
}

.image-comments-list .message-sender img {
    width: 20px;
    height: 20px;
    border-radius: 2px;
}

.image-comments-list .message-sender-timestamp {
    font-size: 11px;
    color: var(--light-text);
    font-weight: normal;
}

.image-comments-list .message-content-wrapper {
    position: relative;
}

.image-comments-list .message-text {
    padding: 0 0 0 0px;
    position: relative;
    color: var(--black);
}

.image-comments-list .chat-message.sent .message-text {
    border-radius: 0;
}

.image-comments-list .message-actions {
    position: absolute;
    top: -3px;
    display: none;
    gap: 5px;
}

.image-comments-list .chat-message:hover .message-actions {
    display: flex;
}

.image-comments-list .sent-actions {
    right: -40px;
}

.image-comments-list .received-actions {
    left: -40px;
}

.image-comments-list .message-action-btn {
    background: none;
    border: none;
    color: var(--light-text);
    padding: 5px;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    min-width: 30px;
    height: 30px;
    line-height: 50px;
}

.image-comments-list .message-action-btn:hover {
    background-color: var(--hover-light);
    color: var(--black);
}

.image-comments-list .message-action-btn i {
    font-size: 16px;
    line-height: 25px!important;
    height: 25px!important;
    margin-top: 0px;
}

.image-comments-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
    line-height: 23px;
    color: var(--light-text);
}

.image-comments-empty i {
    font-size: 48px;
    margin-bottom: 15px;
    opacity: 0.5;
    max-width: 30px;
    height: 50px!important;
    line-height: 50px!important;
    margin-bottom: 5px;
}

.image-comments-empty p {
    margin: 0;
    font-size: 14px;
}

.empty-comment {
    color: #999;
    font-style: italic;
    font-size: 0.9em;
}

/* Fixed Comment Input */
.image-comment-input {
    padding: 0;
    border-top: 1px solid var(--light-border);
    position: absolute;
    bottom: 0;
    width: 100%;
}

.image-comment-textarea {
    width: 100%;
    max-width: 100%;
    min-height: 90px;
    display: block;
    padding: 20px;
    border: none;
    background-color: var(--white);
    color: var(--black);
    font-size: 14px;
    line-height: 1.4;
    resize: vertical;
    transition: border-color 0.2s ease;
    outline: none!important;
}

.image-comment-textarea:focus {
    outline: none;
}

/* Annotation Comment Styles */
.annotation-comment-header {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 50px;
    padding: 0px 20px;
    background-color: var(--white);
    border-bottom: 1px solid var(--light-border);
}

.annotation-marker {
    width: 24px;
    height: 24px;
    border-radius: var(--border-radius-tiny);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    background-color: var(--primary)!important;
}

.image-comment-input .annotation-marker i {
    line-height: 50px!important;
    height: 50px!important;
    color: var(--awhite)!important;
}

.annotation-marker i {
    font-size: 14px;
}

.annotation-comment-label {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
    color: var(--black);
}

.annotation-indicator {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    padding: 4px 8px;
    background-color: var(--very-light);
    border-radius: var(--border-radius-tiny);
    border-left: 3px solid;
    border-left-color: inherit;
}

.annotation-type-label {
    font-size: 12px;
    font-weight: 500;
    color: var(--light-text);
    text-transform: capitalize;
}

.annotation-comment .annotation-indicator {
    border-left-color: var(--primary);
}

.annotation-comment .message-text {
    border-left: 3px solid var(--primary);
    padding-left: 12px;
    margin-left: 37px;
}

.clickable {
    cursor: pointer;
    transition: all 0.2s ease;
}

.clickable:hover {
    /* background-color: var(--hover-light); */
    border-radius: var(--border-radius-tiny);
}

/* Annotation Controls */
.annotation-controls {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: absolute;
    left: -50px;
    width: 50px;
    bottom: 0;
    background-color: var(--white);
    border: 1px solid var(--light-border);
}

.annotation-controls .btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-tiny);
    transition: all 0.2s ease;
    line-height: 50px;
    height: 50px!important;
    width: 50px!important;
    background-color: var(--background-light);
    border: 1px solid var(--border-color);
}

.annotation-controls .btn.active {
    background-color: var(--primary);
    color: var(--white);
    border-color: var(--primary);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.annotation-controls .btn i {
    height: 50px;
    line-height: 50px;
}

.annotation-controls .btn:first-child i {
    rotate: 140deg;
}

.annotation-controls .btn.active {
    background-color: var(--primary);
    color: white;
    border-color: var(--primary);
}

.annotation-controls .btn.active i {
    color: var(--primary)!important;
}

.annotation-controls .btn:not(.active):hover {
    background-color: var(--hover-light);
    border-color: var(--primary-light);
}

.image-comment-textarea::placeholder {
    color: var(--light-text);
    font-style: italic;
}

/* Responsive Design */
@media (max-width: 768px) {
    .image-lightbox-container {
        width: 95vw;
        height: 95vh;
        max-width: none;
        max-height: none;
    }
    
    .image-lightbox-comments,
    .image-lightbox-details {
        width: 100%;
        height: 40%;
        border-left: none;
        border-top: 1px solid var(--light-border);
    }
    
    .image-lightbox-content {
        flex-direction: column;
    }
    
    .image-lightbox-main {
        height: 60%;
    }
    
    .image-lightbox-zoom-controls {
        bottom: 10px;
        padding: 8px 12px;
    }
    
    .image-zoom-level {
        font-size: 11px;
        min-width: 40px;
    }
    
    .image-comment-content {
        max-width: calc(100% - 35px);
    }
    
    .image-comment-avatar {
        width: 25px;
        height: 25px;
    }
}

/* Dark Theme Support */
.dark .image-lightbox-container {
    background-color: var(--white);
}

.dark .image-lightbox-header {
    border-bottom-color: var(--border);
}

.dark .image-lightbox-comments {
    background-color: var(--white);
    border-left-color: var(--border);
}

.dark .image-comment-item {
    background-color: var(--very-light);
    border-color: var(--border);
}

.dark .image-comment-input {
    border-top-color: var(--border);
}

.dark .image-comment-textarea {
    background-color: var(--white);
    color: var(--black);
    border: none!important;
    outline: none!important;
    border-radius: 0px;
    min-height: 100px;
}

/* Animation for lightbox */
.image-lightbox-overlay {
    animation: fadeIn 0.3s ease;
}

.popup-mode .image-lightbox-overlay {
    top: 0px;
}

.image-lightbox-overlay i {
    color: var(--icon-color)!important;
    font-size: 20px!important;
}

.image-lightbox-overlay .image-lightbox-zoom-controls i {
    color: var(--awhite)!important;
}

.image-lightbox-overlay .image-lightbox-zoom-controls .btn:hover i {
    color: var(--primary)!important;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.image-lightbox-container {
    animation: slideUp 0.3s ease;
}

@keyframes slideUp {
    from {
        transform: translateY(20px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
} 

/* Annotation System Styles */

/* Image Container */
.image-container {
    position: relative;
    max-height: calc(100dvh - 50px);
    padding: 50px;
}

/* Annotation Canvas */
.annotation-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: auto;
    cursor: crosshair;
    z-index: 10;
}

.annotation-element {
    cursor: pointer;
    transition: all 0.2s ease;
}

.annotation-element:hover {
    stroke-width: 3px;
    opacity: 0.8;
}

.annotation-element.selected {
    stroke-width: 4px;
    opacity: 1;
    filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.8));
}

.annotation-element.highlighted {
    stroke-width: 4px;
    opacity: 1;
    filter: drop-shadow(0 0 6px rgba(255, 255, 0, 0.8));
}

.annotation-canvas:hover {
    cursor: crosshair;
}

/* Annotation Toolbar */
.image-lightbox-annotation-toolbar {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 0 20px;
    border-left: 1px solid var(--light-border);
    border-right: 1px solid var(--light-border);
}

.annotation-tools {
    display: flex;
    align-items: center;
    gap: 5px;
}

.annotation-tool-btn {
    background: none;
    border: none;
    color: var(--icon-color);
    padding: 8px;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
}

.annotation-tool-btn:hover {
    background-color: var(--hover-light);
    color: var(--black);
}

.annotation-tool-btn.active {
    background-color: var(--primary);
    color: var(--white);
}

.annotation-tool-btn i {
    font-size: 18px;
}

.annotation-options {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* Color Picker */
.color-picker {
    display: flex;
    align-items: center;
    gap: 5px;
}

.color-option {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.2s ease;
}

.color-option:hover {
    transform: scale(1.2);
}

.color-option.active {
    border-color: var(--black);
    transform: scale(1.2);
}

/* Thickness Picker */
.thickness-picker select {
    padding: 5px 10px;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
    background-color: var(--white);
    color: var(--black);
    font-size: 12px;
}

/* Text Annotation Input */
.text-annotation-input {
    position: absolute;
    z-index: 20;
    background-color: var(--white);
    border: 2px solid var(--primary);
    border-radius: var(--border-radius-tiny);
    padding: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 200px;
}

.text-annotation-field {
    width: 100%;
    padding: 8px;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
    font-size: 14px;
    margin-bottom: 10px;
}

.text-annotation-field:focus {
    outline: none;
    border-color: var(--primary);
}

.text-annotation-actions {
    display: flex;
    gap: 10px;
}

.text-annotation-actions .btn {
    padding: 5px 10px;
    font-size: 12px;
}

/* Unified Side Panel */
.image-lightbox-side-panel {
    width: 25%;
    background-color: var(--white);
    border-left: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    position: relative;
}

.side-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    height: 50px;
    line-height: 50px;
    border-bottom: 1px solid var(--light-border);
}

.side-panel-tabs {
    display: flex;
    align-items: center;
}

.side-panel-tab {
    background: none;
    border: none;
    height: 50px;
    line-height: 50px;
    color: var(--light-text);
    padding: 0 15px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    position: relative;
}

html body .side-panel-tab i {
    line-height: 50px!important;
    height: 50px!important;
}

.side-panel-tab:hover {
    background-color: var(--hover-light);
    color: var(--black);
}

.side-panel-tab.active {
    background-color: var(--primary);
    color: var(--white);
}

.side-panel-tab.active i {
    color: var(--awhite)!important;
}

.side-panel-tab i {
    font-size: 16px;
}

.tab-label {
    font-weight: 500;
}

.tab-badge {
    position: absolute;
    top: 5px;
    right: 4px;
    background-color: var(--primary);
    color: var(--white);
    font-size: 10px;
    font-weight: 400;
    padding: 2px 4px;
    border-radius: 10px;
    min-width: 16px;
    text-align: center;
    line-height: 1;
}

.active .tab-badge {
    background-color: var(--awhite);
    color: var(--primary);
}

.side-panel-content {
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

/* Annotations Panel */
.image-lightbox-annotations {
    width: 25%;
    background-color: var(--white);
    border-left: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    position: relative;
}

.image-annotations-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    height: 50px;
    line-height: 50px;
    border-bottom: 1px solid var(--light-border);
}

.image-annotations-header h6 {
    margin: 0;
    color: var(--black);
    font-weight: 300;
}

.image-annotations-list {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.annotation-item {
    background-color: var(--very-light);
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
    padding: 10px;
    margin-bottom: 10px;
    transition: all 0.2s ease;
}

.annotation-item:hover {
    background-color: var(--hover-light);
    cursor: pointer;
}

.annotation-item {
    transition: all 0.2s ease;
}

.annotation-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
}

.annotation-type {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--light-text);
}

.annotation-type i {
    font-size: 14px;
}

.annotation-color {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 1px solid var(--light-border);
}

.annotation-text {
    font-size: 14px;
    color: var(--black);
    margin-bottom: 10px;
    word-break: break-word;
}

.annotation-actions {
    display: flex;
    justify-content: flex-end;
}

.image-annotations-empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--light-text);
    padding: 20px;
}

.image-annotations-empty i {
    font-size: 48px;
    margin-bottom: 10px;
    opacity: 0.5;
}

.image-annotations-empty p {
    margin: 5px 0;
    font-size: 14px;
}

.image-annotations-empty .small-text {
    font-size: 12px;
    opacity: 0.7;
}

/* Mobile Responsive for Annotations */
@media (max-width: 768px) {
    .image-lightbox-annotation-toolbar {
        flex-direction: column;
        gap: 10px;
        padding: 10px;
    }
    
    .annotation-options {
        justify-content: center;
    }
    
    .image-lightbox-side-panel {
        width: 100%;
        height: 200px;
        border-left: none;
        border-top: 1px solid var(--light-border);
    }
    
    .image-lightbox-annotations {
        width: 100%;
        height: 200px;
        border-left: none;
        border-top: 1px solid var(--light-border);
    }
    
    .text-annotation-input {
        min-width: 150px;
        max-width: 200px;
    }
}

/* Dark Theme Support for Unified Panel */
.dark .image-lightbox-side-panel {
    background-color: var(--white);
    border-left-color: var(--border);
}

.dark .side-panel-header {
    background-color: var(--very-light);
    border-bottom-color: var(--light-border);
}

.dark .side-panel-tab {
    color: var(--light-text);
}

.dark .side-panel-tab:hover {
    background-color: var(--hover-light);
    color: var(--black);
}

.dark .side-panel-tab.active {
    background-color: var(--primary);
    color: var(--white);
}

.dark .annotation-item {
    background-color: var(--dark-surface);
    border-color: var(--dark-border);
}

.dark .annotation-item:hover {
    background-color: var(--dark-hover);
}

.dark .text-annotation-input {
    background-color: var(--dark-surface);
    border-color: var(--primary);
}

.dark .text-annotation-field {
    background-color: var(--dark-background);
    border-color: var(--dark-border);
    color: var(--white);
}

.dark .thickness-picker select {
    background-color: var(--dark-background);
    border-color: var(--dark-border);
    color: var(--white);
}


.as-sortable-item, .as-sortable-placeholder {
    display: block;
}

.as-sortable-item {
    -ms-touch-action: none;
    touch-action: none;
    
    -webkit-touch-callout: none;
}

.as-sortable-item-handle {
    cursor: move;
    cursor: -webkit-grab;
    cursor: -moz-grab;
}

.as-sortable-drag {
    position: absolute;
    pointer-events: none;
    z-index: 9999;
}

.as-sortable-hidden {
    display: none !important;
}

.as-sortable-un-selectable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.as-sortable-placeholder {
    box-sizing: border-box;
    background-color: #507294!important;
}
.task-specific-indicator {
  margin: 8px 0 0;
  padding: 4px 0;
}

.task-badge, .task-context-badge {
  display: inline-flex;
  align-items: center;
  background-color: var(--white);
  color: var(--primary);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 12px;
  width: 100%;
}

.task-badge i, .task-context-badge i {
  font-size: 14px;
  margin-right: 4px;
}

.task-context-badge {
  margin-bottom: 8px;
  font-style: italic;
} 
.task-outline-membership {
	padding: 10px 0 6px;
	border-top: 1px solid var(--border);
	margin-top: 8px;
}

.tom-label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--text-secondary, #888);
	margin-bottom: 8px;
}

.tom-label i {
	font-size: 15px;
}

.tom-loading {
	display: flex;
	align-items: center;
	padding: 4px 0;
}

.tom-loading .app-loading-spinner.small {
	width: 16px;
	height: 16px;
	border-width: 2px;
}

.tom-memberships {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.tom-membership-row,
.tom-add-row {
	display: flex;
	align-items: center;
	gap: 4px;
	min-height: 30px;
}

.tom-outline-name {
	flex: 1;
	font-size: 12px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--text-primary, #333);
}

.tom-indent-controls {
	display: flex;
	align-items: center;
	gap: 2px;
	flex-shrink: 0;
}

.tom-indent-value {
	font-size: 11px;
	min-width: 14px;
	text-align: center;
	color: var(--text-secondary, #888);
}

.tom-indent-btn {
	padding: 0 !important;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	line-height: 1 !important;
}

.tom-indent-btn i {
	font-size: 14px !important;
}

.tom-indent-btn.disabled {
	opacity: 0.3;
	pointer-events: none;
}

.tom-remove-btn,
.tom-add-btn {
	padding: 0 !important;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.tom-remove-btn i,
.tom-add-btn i {
	font-size: 14px !important;
}

.tom-add-btn i {
	color: var(--primary, #4CAF50);
}

.tom-empty-state {
	font-size: 11px;
	color: var(--text-secondary, #aaa);
	font-style: italic;
	padding: 2px 0;
}

.tom-outline-select {
	flex: 1;
	font-size: 12px;
	height: 28px !important;
	padding: 0 6px !important;
	border-radius: 4px;
	border: 1px solid var(--border, #ddd);
	background: var(--white, #fff);
	color: var(--text-primary, #333);
	cursor: pointer;
}

/* ==========================================================================
   Tasks Grid (#!/tasks) — global cross-project tasks ui-grid
   Real-time hybrid grid: live Firestore keyset browse + Algolia search mode.
   ========================================================================== */

.tasks-grid-page {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;          /* let the grid child flex within the body's height */
	padding: 20px 40px;
	box-sizing: border-box;
}

/* Header: title + search */
.tasks-grid-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 5px;
}

.tasks-grid-title {
	font-size: 20px;
	font-weight: 400;
	color: var(--text-color);
	font-family: var(--nothing);
	text-transform: lowercase;
}

.tasks-grid-search {
	position: relative;
	display: flex;
	align-items: center;
	flex: 1 1 280px;
	max-width: 420px;
	height: 45px;
	background: var(--white);
	border-radius: 6px;
	padding: 0 15px;
	border: none!important;
	box-shadow: var(--box-shadow);
}

.tasks-grid-search-icon {
	color: var(--light-text);
	font-size: 20px;
}

.tasks-grid-search input[type="text"] {
	border: none;
	background: transparent;
	box-shadow: none;
	margin: 0;
	height: 38px;
	padding: 0 8px;
	flex: 1;
	color: var(--text-color);
	font-size: 13px;
}

.tasks-grid-search input[type="text"]:focus {
	border: none;
	box-shadow: none;
}

.tasks-grid-search-clear {
	padding: 0 2px;
	min-width: 0;
}

/* Filter toolbar */
.tasks-grid-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
	padding: 0;
	border-bottom: 1px solid var(--border-color);
	margin-bottom: 5px;
}

.tasks-grid-toolbar .tgf {
	min-width: 150px;
}

.tasks-grid-toolbar .tgf-select .select-wrapper input.select-dropdown {
	height: 40px;
	margin: 0;
	font-size: 13px;
	background-color: var(--white);
	padding: 0 15px;
	border-radius: var(--border-radius-tiny);
	box-shadow: var(--box-shadow)!important;
}

.tasks-grid-toolbar .tgf-chips,
.tasks-grid-toolbar .tgf-openclosed {
	display: flex;
	align-items: center;
	gap: 6px;
}

.tasks-grid-toolbar .tgf-clear {
	/* margin-left: auto; */
}

.tasks-grid-toolbar .tgf-clear .btn {
    box-shadow: var(--box-shadow)!important;
    background-color: var(--white)!important;
}

/* Search-mode banner */
.tasks-grid-search-note {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--light-text);
	padding: 4px 2px 8px;
}

.tasks-grid-search-note i {
    font-size: 16px;
}

.tasks-grid-search-note .material-icons-outlined {
	font-size: 16px;
	color: var(--primary-color);
}

/* The grid fills the remaining space in the flex column (container-relative, so it
   adapts to any nav/header/toolbar height instead of a fixed viewport calc). The
   min-height keeps it usable if an ancestor lacks a definite height. */
.tasks-grid.ui-grid {
	flex: 1 1 auto;
	min-height: 360px;
	border: 1px solid var(--border-color);
	box-shadow: var(--box-shadow)!important;
	border-radius: var(--border-radius-tiny);
	background-color: var(--white);
}

/* Cell affordances */
.tasks-grid .clickable-cell .ui-grid-cell-contents,
.tasks-grid .link-hover {
	cursor: pointer;
}

.tasks-grid .tasks-grid-project-link {
	color: var(--light-text);
}

.tasks-grid .clickable-cell .ui-grid-cell-contents:hover .link-hover,
.tasks-grid .clickable-cell .ui-grid-cell-contents:hover .tasks-grid-project-link {
	color: var(--primary-color);
}

.tasks-grid .actions-cell {
	display: flex;
	align-items: center;
	gap: 2px;
}

.tasks-grid .actions-cell .btn {
	min-width: 0;
	padding: 0 4px;
}

.tasks-grid .actions-cell .material-icons,
.tasks-grid .actions-cell .material-symbols-outlined {
	font-size: 18px;
}

.tasks-grid .ui-col-date {
	color: var(--light-text);
	font-size: 12px;
}

/* Keyset (Firestore) mode: cursor pagination can only go prev/next — it cannot
   jump to an arbitrary or last page. Hide those controls and lock the page input.
   In search (Algolia) mode they reappear because Algolia returns a real total. */
.tasks-grid-page.mode-firestore .ui-grid-pager-first,
.tasks-grid-page.mode-firestore .ui-grid-pager-last {
	display: none;
}

.tasks-grid-page.mode-firestore .ui-grid-pager-control-input {
	pointer-events: none;
	background: transparent;
	border: none!important;
	background-color: var(--white);
	box-shadow: none!important;
	height: 40px;
	line-height: 40px;
	border-radius: var(--border-radius-tiny);
	min-width: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.ui-grid-pager-control input:focus {
    color: var(--primary);
    background-color: var(--background-color) !important;
}

.tasks-grid-page.mode-firestore .ui-grid-pager-max-pages-number {
	display: none;
}

/* Empty / error states reuse .zj-empty-message; nudge the error variant */
.tasks-grid .tasks-grid-error .get-started-icon .material-icons-outlined {
	color: var(--warning-color, var(--light-text));
}


.tgf-chips .filter-chip {
    background-color: var(--white);
    height: 40px;
    padding: 0 15px;
    gap: 5px;
    border-radius: var(--border-radius-tiny);
    line-height: 40px;
    /* border: 1px solid var(--white); */
    cursor: pointer;
    box-shadow: var(--box-shadow);
}

.tgf-chips .filter-chip:hover, .tgf-select .select-wrapper:hover input {
    background-color: var(--extra-light)!important;
    border-color: var(--extra-light)!important;
}

.tgf-chips .filter-chip.active {
    border: 1px solid var(--primary);
    background-color: var(--primary);
    color: var(--awhite);
}

.select-wrapper .caret {
    color: var(--black)!important;
    z-index: 99;
    font-size: 5px!important;
}

body .ui-grid-pager-row-count-picker select {
    background-color: transparent;
    color: var(--black);
    border: none;
    height: 30px;
    width: 60px;
    margin-left: 5px;
    cursor: pointer;
    margin-right: 5px;
    box-shadow: none!important;
}

body .ui-grid-pager-row-count-picker select:hover {
    color: var(--primary);
}

body .ui-grid-pager-row-count-picker {
    padding: 0;
    height: 40px;
    line-height: 40px;
}

body .ui-grid-pager-control button {
    background-color: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    margin: 0;
}

body .ui-grid-pager-control input {
    margin-bottom: 0!important;
    background-color: transparent!important;
    color: var(--black);
}

body .ui-grid-pager-control {
    padding: 0;
    margin: 0;
    gap: 5px;
}

body .ui-grid-pager-control input {}

.last-triangle.next-triangle {
    border-color: transparent transparent transparent var(--icon-color)!important;
}

.first-triangle.prev-triangle {
    border-color: transparent var(--icon-color) transparent transparent;
}

body .ui-grid-pager-control button[disabled]:hover, body .ui-grid-pager-control button[disabled]:focus {
    background-color: transparent;
    border-color: var(--primary)!important;
}

.ui-grid-pager-control button:hover, .ui-grid-pager-control button:focus, .ui-grid-pager-control button:active {
    background-color: transparent;
}

.ui-grid-pager-control button:hover .last-triangle.next-triangle, .ui-grid-pager-control button:focus, .ui-grid-pager-control button:active .last-triangle.next-triangle {
    border-color: transparent var(--primary)!important;
}

.ui-grid-pager-control button:active:hover, .ui-grid-pager-control button:active:focus {
    background-color: transparent;
    box-shadow: none;
}

.ui-grid-pager-panel {
    border-top: 1px solid var(--light-border);
    font-size: 12px;
    padding: 5px 10px;
    box-sizing: border-box;
}
/* Cost tier badges */
.cost-tier-badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	padding: 1px 4px;
	border-radius: 3px;
	margin-left: 6px;
	vertical-align: middle;
	line-height: 1.2;
}

.cost-tier-1 {
	color: #2e7d32;
	background-color: rgba(46, 125, 50, 0.1);
}

.cost-tier-2 {
	color: #f57f17;
	background-color: rgba(245, 127, 23, 0.1);
}

.cost-tier-3 {
	color: #e65100;
	background-color: rgba(230, 81, 0, 0.1);
}

.cost-tier-4 {
	color: #b71c1c;
	background-color: rgba(183, 28, 28, 0.1);
}

/* Model pricing reference card */
.model-pricing-card {
	margin-top: 5px;
	padding: 40px;
	border-radius: 8px;
	background: var(--white);
	box-shadow: var(--box-shadow);
}

.model-pricing-card h5 {
	margin-top: 0;
	margin-bottom: 16px;
	font-size: 16px;
	font-weight: 600;
}

.model-pricing-card .provider-group {
	margin-bottom: 16px;
}

.model-pricing-card .provider-group h6 {
	font-size: 13px;
	font-weight: 300;
	color: var(--light-text);
	margin-bottom: 8px;
	margin-top: 20px;
}

.model-pricing-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.model-pricing-table th {
	text-align: left;
	padding: 6px 8px;
	border-bottom: 1px solid var(--light-border);
	font-weight: 600;
	font-size: 11px;
	color: var(--text-secondary, #666);
	text-transform: uppercase;
}

.model-pricing-table td {
	padding: 6px 8px;
	border-bottom: 1px solid var(--light-border);
}

.model-pricing-table tr:last-child td {
	border-bottom: none;
}

.model-pricing-note {
	margin-top: 12px;
	font-size: 12px;
	color: var(--text-secondary, #999);
	line-height: 1.5;
}

.cost-tier-badge.optimized {
	color: var(--primary, #1a73e8);
	background-color: rgba(26, 115, 232, 0.1);
}

/* AI Intelligence UI Components */
/* Model selector optgroups */
select optgroup {
    font-weight: 600;
    font-size: 13px;
    color: #666;
}

/* Capability pills */
.ai-capability-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
    margin-bottom: 8px;
}

.ai-pill {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    font-size: 11px;
    font-weight: 500;
    color: #5c6bc0;
    background: #e8eaf6;
    border-radius: 12px;
    white-space: nowrap;
}

/* Clickable variant + selected state â€” used by on-the-fly reasoning-depth
   pills in the chat settings dropdown. */
.ai-pill[ng-click], .ai-pill.selectable {
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease;
}

.ai-pill[ng-click]:hover, .ai-pill.selectable:hover {
    background: #c5cae9;
}

.ai-pill.selected {
    color: #fff;
    background: #5c6bc0;
}

/* Inline-row variant of ai-action used when a single setting needs its
   options laid out horizontally (e.g. the reasoning depth chips). */
.ai-action.ai-action-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ai-action.ai-action-row .depth-pills {
    display: inline-flex;
    gap: 4px;
    flex-wrap: nowrap;
}

/* Rich response images */
.ai-response-images {
    margin-top: 12px;
}

.ai-generated-image {
    position: relative;
    display: inline-block;
    margin: 4px;
}

.ai-image-card {
    max-width: 100%;
    max-height: 400px;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.15s ease;
}

.ai-image-card:hover {
    transform: scale(1.02);
}

.ai-image-actions {
    position: absolute;
    top: 8px;
    right: 8px;
    display: none;
    gap: 4px;
}

.ai-generated-image:hover .ai-image-actions {
    display: flex;
}

.ai-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 6px;
    cursor: pointer;
    color: #555;
    transition: background 0.15s, color 0.15s;
}

.ai-action-btn:hover {
    background: #fff;
    color: #1a73e8;
}

.ai-action-btn .material-icons {
    font-size: 18px;
}

/* Tool badges */
.ai-tools-used {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.ai-tool-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    font-size: 11px;
    color: #666;
    background: #f5f5f5;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
}

.ai-tool-badge .material-icons {
    font-size: 14px;
}

/* Code execution blocks */
.ai-code-executions {
    margin-top: 12px;
}

.ai-code-block {
    margin-bottom: 12px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e0e0e0;
}

.ai-code-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 12px;
    background: #f5f5f5;
    border-bottom: 1px solid #e0e0e0;
}

.ai-code-lang {
    font-size: 12px;
    font-weight: 600;
    color: #666;
    text-transform: uppercase;
}

.ai-copy-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: #999;
    padding: 2px;
}

.ai-copy-btn:hover {
    color: #333;
}

.ai-copy-btn .material-icons {
    font-size: 16px;
}

.ai-code-content {
    margin: 0;
    padding: 12px;
    font-size: 13px;
    line-height: 1.5;
    overflow-x: auto;
}

.ai-code-output {
    padding: 8px 12px;
    background: #fafafa;
    border-top: 1px solid #e0e0e0;
}

.ai-output-label {
    font-size: 11px;
    font-weight: 600;
    color: #999;
    text-transform: uppercase;
}

.ai-code-output pre {
    margin: 4px 0 0;
    font-size: 13px;
    white-space: pre-wrap;
    color: #333;
}

/* Citations */
.ai-citations {
    margin-top: 12px;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    overflow: hidden;
}

.ai-citations-header {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 500;
    color: #666;
    background: #fafafa;
    cursor: pointer;
    user-select: none;
}

.ai-citations-header:hover {
    background: #f5f5f5;
}

.ai-citations-header .material-icons {
    font-size: 18px;
}

.ai-citations-list {
    padding: 4px 0;
}

.ai-citation {
    display: flex;
    padding: 5px 12px;
    text-decoration: none;
    /* border-bottom: 1px solid #f0f0f0; */
    word-wrap: anywhere;
    /* white-space: initial; */
    /* text-overflow: ellipsis; */
}

.ai-citation:last-child {
    border-bottom: none;
}

.ai-citation:hover {
    background: var(--hover-item);
}

.ai-citation-title {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #1a73e8;
}

.ai-citation-snippet {
    display: block;
    font-size: 12px;
    color: #999;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Response actions */
.ai-response-actions {
    display: none;
    gap: 4px;
    margin-top: 8px;
}

.ai-response-container:hover .ai-response-actions, .ai-message-item:hover .ai-response-actions {
    display: flex;
}

/* Status messages */
.ai-status-message {
    padding: 12px 16px;
}

.ai-status-indicator {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #999;
}

.ai-typing-dots {
    display: flex;
    gap: 3px;
}

.ai-typing-dots span {
    width: 6px;
    height: 6px;
    background: #999;
    border-radius: 50%;
    animation: ai-dot-pulse 1.4s ease-in-out infinite;
}

.ai-typing-dots span:nth-child(2) {
    animation-delay: 0.2s;
}

.ai-typing-dots span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes ai-dot-pulse {
    0%, 80%, 100% {
        opacity: 0.3;
        transform: scale(0.8);
    }

    40% {
        opacity: 1;
        transform: scale(1);
    }
}

/* File upload */
.ai-file-upload-area {
    display: inline-flex;
    align-items: center;
}

.ai-upload-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    cursor: pointer;
    color: #999;
    border-radius: 50%;
    transition: background 0.15s, color 0.15s;
}

.ai-upload-btn:hover {
    background: #f5f5f5;
    color: #555;
}

.ai-upload-btn .material-icons {
    font-size: 20px;
}

.ai-file-input-hidden {
    display: none;
}

.ai-file-preview {
    padding: 8px 12px;
    background: #fafafa;
    border-top: 1px solid #e0e0e0;
}

.ai-file-preview-card {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ai-file-thumb {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 4px;
}

.ai-file-icon {
    font-size: 32px;
    color: #999;
}

.ai-file-name {
    flex: 1;
    font-size: 13px;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ai-file-size {
    font-size: 12px;
    color: #999;
}

.ai-file-remove {
    background: none;
    border: none;
    cursor: pointer;
    color: #999;
    padding: 2px;
}

.ai-file-remove:hover {
    color: #f44336;
}

.ai-upload-progress {
    margin-top: 4px;
    height: 3px;
    background: #e0e0e0;
    border-radius: 2px;
    overflow: hidden;
}

.ai-progress-bar {
    height: 100%;
    background: #1a73e8;
    transition: width 0.3s ease;
}

/* Error messages */
.ai-error-message {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    margin-top: 8px;
    background: #fff3e0;
    border: 1px solid #ffe0b2;
    border-radius: 8px;
}

.ai-error-content {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #e65100;
}

.ai-error-content .material-icons {
    font-size: 18px;
}

.ai-retry-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 500;
    color: #e65100;
    background: #fff;
    border: 1px solid #ffe0b2;
    border-radius: 4px;
    cursor: pointer;
}

.ai-retry-btn:hover {
    background: #fff8e1;
}

.ai-retry-btn .material-icons {
    font-size: 14px;
}

/* Prism.js copy button override */
.ai-code-copy-btn {
    position: absolute;
    top: 4px;
    right: 4px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    padding: 4px;
    opacity: 0;
    transition: opacity 0.15s;
}

pre:hover .ai-code-copy-btn {
    opacity: 1;
}

.ai-code-copy-btn .material-icons {
    font-size: 16px;
    color: #666;
}

.ai-code-copy-btn:hover .material-icons {
    color: #333;
}

/* Progressive image generation */
.ai-progressive-image-container {
    position: relative;
    display: inline-block;
    margin: 8px 0;
    max-width: 100%;
    border-radius: 8px;
    overflow: hidden;
}

.ai-progressive-image-container .ai-image-rendering {
    display: block;
    max-width: 100%;
    max-height: 500px;
    border-radius: 8px;
    transition: filter 0.5s ease;
}

.ai-image-rendering-label {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 4px 12px;
    border-radius: 16px;
    font-size: 12px;
    white-space: nowrap;
    animation: pulse 1.5s ease-in-out infinite;
}

/* Inline generated images in chat messages */
.message-text img.ai-generated-image, .post-body-response img.ai-generated-image, .post-body-content img.ai-generated-image {
    display: block;
    max-width: 100%;
    max-height: 500px;
    border-radius: 8px;
    margin: 8px 0;
    cursor: pointer;
}

.ai-convo-card-label {
    color: var(--light-text);
    text-transform: uppercase;
    font-size: 11px;
    /* font-weight: 500; */
}

.ai-chat-slash-menu {
    padding: 0;
    max-height: 40dvh;
    overflow-y: auto;
    background-color: var(--white);
    border-bottom: 1px solid var(--light-border);
}

.ai-chat-context-row {
    height: 40px;
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 0 0 0 20px;
    cursor: pointer;
}

.ai-chat-context-row.slash-active {
    background-color: var(--background-color);
}

.ai-chat-context-row.slash-attached {
    background-color: var(--extra-light);
}

.ai-chat-context-row .ai-chat-slash-toggle {
    cursor: pointer;
    height: 100%;
    line-height: 40px;
    width: 50px;
    text-align: center;
    background-color: transparent;
    margin-left: auto;
}

.ai-chat-context-row .ai-chat-slash-toggle:hover {
    background-color: transparent;
}

.ai-chat-context-row.slash-attached .ai-chat-slash-toggle:hover i {
    color: var(--warning);
}

.ai-chat-context-row .ai-chat-slash-toggle:hover i {
    color: var(--primary);
}

.ai-chat-context-row:hover {
    background-color: var(--hover-item);
}

.ai-chat-context-chip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 40px;
    padding: 0 20px 0 15px;
    font-size: 12px;
}

.ai-chat-context-chip i.left {
    margin-right: 10px;
}

.ai-chat-context-chip span {
    display: flex;
    align-items: center;
}

.ai-chat-context-remove {
    width: 25px;
    text-align: center;
    margin-right: -10px;
    font-size: 16px;
    cursor: pointer!important;
}

.ai-chat-context-remove:hover {
    color: var(--warning);
}

.ai-chat-context-chip:hover {
    background-color: var(--hover-item);
}

.ai-chat-context {
    border-bottom: 1px solid var(--light-border);
}

/* Thread-card TLDR â€” the run's outcome headline (or its plan title while working). This is the
   default card body; the raw Asked/Replied exchange is opt-in via .alt-toggle below. */
.ai-convo-card-summary {
    font-size: 14px;
    line-height: 24px;
    color: var(--black);
    margin-top: 2px;
}

.agents-list-tools {
    display: flex;
    justify-content: flex-end;
    padding: 0 0 6px;
}

.alt-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--light-text);
    cursor: pointer;
    user-select: none;
    transition: color .3s ease-in-out;
}

.alt-toggle i {
    font-size: 16px;
}

.alt-toggle:hover, .alt-toggle:hover i {
    color: var(--primary);
}

/* ============================================================
   <ai-chat> reusable component (May 2026)

   The component REUSES spec-item's content/picker classes (.ai-panel,
   .ai-convo, .listing-description.ql-editor, .post-body-content,
   .ai-settings.ai-actions, .dropdown-content, etc.) so it inherits that look.
   Only the CONTAINER GEOMETRY is overridden here to be a flexbox fill+scroll
   column that fits ANY host pane â€” deliberately neutralizing spec-item's
   page-coupled `.task-ai.oe { height: calc(100dvh-115px) }` and the
   absolutely-positioned `.ai-panel .prompt-container`.

   Everything here is scoped under <ai-chat>/.ai-chat â€” nothing else on the
   page (canvas, panes, spec-item) is affected.
   ============================================================ */
/* Custom element + wrapper must be a flex column filling the host pane
   (the <ai-chat> element defaults to display:inline, which collapses it). */
ai-chat, .research-ai-chat {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.research-ai-chat {
}

.research-ai-chat {
    /* background-color: var(--white); */
    overflow: visible!important;
}

.ai-chat {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    height: 100%;
    overflow-y: auto;
    min-height: 0;
    position: relative;
    overflow: hidden;
    background-color: var(--light-white);
    /* max-width: 760px; */
    width: 100%;
    margin: 0 auto;
}

/* Â§v7 was `.chat-header.ai-chat`. The header is a SIBLING of <ai-chat>, so carrying the
   component's class made every `.ai-chat X` rule reach into it â€” most visibly capping the
   header's back arrow, gear and fullscreen icons at 15px via the icon rule below. Renamed to
   chat-header-ai; this block keeps the geometry it was already setting, which is why it
   existed (it was re-correcting the `.ai-chat` host rule that no longer applies here). */
.chat-header.chat-header-ai {
    flex-direction: row;
    height: 51px;
    line-height: 50px;
    background-color: var(--white);
    /* box-shadow: var(--box-shadow); */
    border-bottom: 1px solid var(--light-border);
    padding-left: 15px;
}

.mail-app .ai-panel.ai-chat, .mail-app .ai-panel.ai-chat .ai-chat-pinned-anchor .post-body-content, .mail-app .ai-panel.ai-chat .ai-chat-prompt.prompt-container, .mail-app .mail-intel-header {
    background-color: var(--white);
}

nav .chat-collapsed .ai-panel.ai-chat {
    width: 100%;
    max-width: 100%;
    background-color: var(--light-white);
}

.spec-item-main-body .ai-panel.ai-chat {
    /* box-shadow: var(--box-shadow)!important; */
    overflow: hidden;
    border-radius: var(--border-radius-tiny);
    background-color: var(--background-color);
}

.dark .ai-chat {
    /* background-color: var(--extra-light); */
}

/* Scroll area â€” override spec-item's viewport-height + page padding so the
   message list simply fills the remaining column space and scrolls.
   Class-based (`.task-ai.oe.ai-chat-messages`) so it works for multiple
   co-mounted <ai-chat> instances â€” no #aiPanel id needed; the 3 classes still
   outrank `.task-ai.oe`, no !important required. */
.ai-chat .task-ai.oe.ai-chat-messages {
    position: relative;
    flex: unset;
    min-height: 0;
    padding: 0px 0px 115px;
    max-width: 100%;
    margin: 0 auto;
    scroll-behavior: smooth;
    border-radius: var(--border-radius-tiny);
}

nav .chat-collapsed .ai-chat .task-ai.oe.ai-chat-messages {border-radius: 0!important;}

.research-page .task-ai.oe.ai-chat-messages {
    padding: 0 2px 45px;
    max-height: calc(100dvh - 225px);
}

.ai-chat .task-ai.oe.ai-chat-messages .response-container {
    width: 100%;
    /* max-width: 760px; */
    padding: 30px;
    margin: 0 auto;
}

nav .ai-chat .task-ai.oe.ai-chat-messages .response-container {
    /* height: calc(100dvh - 149px); */
    max-width: 100%;
    /* padding-bottom: 430px!important; */
    position: relative;
    background-color: var(--light-white);
    box-shadow: none!important;
}

nav .chat-collapsed .ai-chat .task-ai.oe.ai-chat-messages .response-container {
    background-color: var(--light-white);
}

nav .ai-chat .task-ai.oe.ai-chat-messages .response-container > div:last-child {
    /* padding-bottom: 340px!important; */
}

nav .ai-chat .task-ai.oe.ai-chat-messages .response-container > div {
    max-width: 812px;
    margin: 0 auto 45px;
    box-shadow: none;
}

nav .ai-chat .task-ai.oe.ai-chat-messages .response-container > .ai-chat-sections {
    margin-bottom: 0;
}

nav .chat-expanded .ai-chat .task-ai.oe.ai-chat-messages .response-container > .ai-chat-sections {
    margin-top: 40px;
}

nav .ai-chat .task-ai.oe.ai-chat-messages .response-container > .ai-chat-sections .ai-chat-section {
    box-shadow: none;
    padding: 30px;
    background-color: var(--light-white);
}

nav .chat-expanded .ai-chat .task-ai.oe.ai-chat-messages .response-container > .ai-chat-sections .ai-chat-section {
    box-shadow: var(--box-shadow);
    background-color: var(--white);
    padding: 40px;
}

nav .chat-collapsed .ai-chat .task-ai.oe.ai-chat-messages .response-container > div:last-child {
    /* margin-bottom: 220px!important; */
    box-shadow: none;
    border-radius: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}

.research-page .ai-chat .task-ai.oe.ai-chat-messages .response-container {
    padding: 0;
}

.spec-item-main-body .ai-chat .task-ai.oe.ai-chat-messages .response-container {
    padding-left: 30px;
    padding-right: 30px;
}

.dark .ai-chat .task-ai.oe.ai-chat-messages {
    /* background-color: var(--white); */
}

.research-pane .ai-chat {
    height: calc(100dvh - 144px);
    overflow-y: auto;
    flex: unset;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    /* border: 1px solid var(--border); */
    overflow: visible;
}

.ai-actions {
    width: 100%;
    margin: 0px!important;
    z-index: 999;
    padding: 0;
}

.ai-settings.ai-actions {
    display: flex;
    padding-left: 25px;
    justify-content: end;
    padding-right: 45px;
    /* gap: 15px; */
}

.spec-item-list-composer .ai-settings.ai-actions.ta-right {
    gap: 10px;
}

.spec-item-agents-host .ai-settings.ai-actions {
    gap: 15px;
}

.ai-settings.ai-actions .btn.dropdown-selector {
    padding: 0!important;
    margin: 0!important;
    min-width: 50px;
    text-align: center;
    justify-content: center;
}

.btn.btn-transparent.ai-chat-add-btn {
    padding-right: 0!important;
    min-width: 35px!important;
}

.ai-settings.ai-actions .btn.dropdown-selector .ai-icon-wrp .jt1 {
    font-size: 18px;
    padding-left: 8px;
}

.btn.btn-transparent.ai-chat-add-btn.dropdown-selector {
    /* margin-left: -10px!important; */
}

.research-pane .btn.btn-transparent.ai-chat-add-btn.dropdown-selector {
    margin-left: 0!important;
}

.spec-item-list-composer .btn.btn-transparent.ai-chat-add-btn.dropdown-selector {
    margin-left: -5px!important;
}

.ai-settings.ai-actions .ds-text img {
    max-width: 15px;
    margin-right: 10px;
}

.ai-settings.ai-actions .ds-text {
    /* color: var(--black); */
    font-size: 13px;
}

.ai-settings.ai-actions .ds-text.right.small-text {
    display: flex;
    flex-direction: row;
    gap: 0;
}

.btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker.good .ds-text, .btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker.good .ds-text:hover, .btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker.good .ds-text i, .btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker.good .ds-text:hover i {
    color: var(--good)!important;
}

.btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker.primary .ds-text, .btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker.primary .ds-text:hover, .btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker.primary .ds-text i, .btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker.primary .ds-text:hover i {
    color: var(--primary)!important;
}

.btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker.highlight .ds-text, .btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker.highlight .ds-text:hover, .btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker.highlight .ds-text i, .btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker.highlight .ds-text:hover i {
    color: var(--highlight)!important;
}

.ai-settings.ai-actions .btn:hover .ds-text i.highlight {
    color: var(--highlight)!important;
}

.ai-settings.ai-actions .btn:hover .ds-text i.good {
    color: var(--good)!important;
}

.ai-settings.ai-actions .btn:hover .ds-text i.primary {
    color: var(--primary)!important;
}

.ai-settings.ai-actions .ds-text:hover span {
    /* color: var(--primary); */
    /* text-decoration: underline; */
}

.ai-settings.ai-actions .ds-text i {
    font-size: 14px;
    margin-left: 10px;
    /* transition: none; */
    height: unset;
}

.ai-settings.ai-actions i.good {
    color: var(--good)!important;
}

.ai-settings.ai-actions .highlight {
    color: var(--highlight)!important;
}

.ai-settings.ai-actions.ta-right .ai-agent-picker .ds-text i, .ai-settings.ai-actions.ta-right .ai-run-mode-picker .ds-text i, .ai-settings.ai-actions.ta-right .ai-grounding-picker .ds-text i {
    margin-left: 3px;
}

i.material-symbols-outlined.agent-working-spin.arp-spin {
    color: var(--primary);
}

.ai-settings.ai-actions .ds-text.small-text:hover i {
    /* color: var(--black)!important; */
}

.ai-actions .btn {
    text-transform: unset;
}

/* Input bar â€” neutralize spec-item's absolute positioning; keep it in flow
   at the bottom of the column. The .ai-settings/.ai-action/.dropdown-content
   styling still comes from the existing CSS. */
.ai-chat .prompt-container.ai-chat-prompt {
    position: absolute;
    display: flex;
    right: 0px;
    left: 0px;
    bottom: 0px;
    z-index: auto;
    padding: 0px 19px 20px;
    background-color: var(--light-white);
    z-index: 1;
    margin-left: 10px;
    margin-right: 10px;
}

.chat-collapsed .ai-chat .prompt-container.ai-chat-prompt {
    padding: 0px 9px 20px;
}

.chat-expanded .ai-chat .prompt-container.ai-chat-prompt {
    max-width: 858px;
    margin: 0 auto;
}

.images-only .ai-chat .prompt-container.ai-chat-prompt {
    max-width: 861px;
    margin: 0 auto 0;
}

.project-intelligence-page .ai-chat .prompt-container.ai-chat-prompt {
    padding-bottom: 40px;
    max-width: 822px;
    margin: 0 auto;
    padding: 0 0 35px;
    top: unset;
    bottom: 0;
    background-color: var(--transparent);
}

nav .chat-collapsed .ai-chat .prompt-container.ai-chat-prompt {
    background-color: var(--light-white);
}

.research-page .ai-chat .prompt-container.ai-chat-prompt {
    left: 2px;
    right: 2px;
}

.research-page .ai-chat .prompt-container.ai-chat-prompt {
    background-color: var(--background-color);
    padding: 0;
    margin: 0;
    max-width: 820px;
    margin: 0 auto;
}

.dark .ai-chat .prompt-container.ai-chat-prompt {
    /* background-color: var(--extra-light); */
}

.dark .spec-item-list-composer .ai-chat .prompt-container.ai-chat-prompt {
    background-color: transparent;
}

/* Hard-cap every icon inside the component so an unstyled Material Symbol
   can't render giant. Scoped to .ai-chat â€” does not touch any other icons. */
.ai-chat .material-symbols-outlined, .ai-chat .material-icons {
    font-size: 15px;
    /* line-height: 1; */
    vertical-align: middle;
}

.task-color i {
    color: var(--highlight);
}

.task-color.todo-color i {
    color: var(--todo-color);
}

.btn.ai-chat-add-btn.dropdown-selector i {
    line-height: normal!important;
    height: unset!important;
}

.arp-collapse {
    cursor: pointer;
    user-select: none;
}

/* Multi-turn transcript: distinguish the user's own turns from AI turns.
   AI turns use spec-item's .post-body-content prose styling as-is. */
.ai-chat .ai-chat-msg {
    margin: 10px 0;
}

.ai-chat .ai-chat-msg thead tr {
    background-color: transparent!important;
    border: none!important;
}

.ai-chat .ai-chat-msg tr, .ai-chat .ai-chat-msg td, .ai-chat .ai-chat-msg th {
    border-color: var(--border)!important;
}

.ai-convo.ai-chat-msg.ai-chat-msg-ai {
    margin-top: 15px;
    /* border-bottom: 1px dashed var(--light); */
    /* padding-bottom: 50px; */
    position: relative;
}

.ai-convo.ai-chat-msg-user .post-body-content {
    white-space: break-spaces;
    display: flex;
    flex-direction: column;
}

.ai-chat-section:last-child .ai-convo.ai-chat-msg.ai-chat-msg-ai {
    margin-bottom: 0!important;
}

.ai-chat .ai-chat-msg:last-child {
    margin-bottom: 0;
}

.ai-convo.ai-chat-msg.ai-chat-msg-user {
    margin-top: 40px;
    margin-bottom: 0;
    padding: 0px;
    /* padding-bottom: 15px; */
}

.ai-convo.ai-chat-msg.ai-chat-msg-user.ai-chat-pinned-prompt {
    margin-top: 0;
}

.ai-chat-msg-user {
    text-align: right;
}

.ai-chat-msg-user .post-body-content {
    text-align: left;
}

.intelligence-settings .setting-switch label {
    float: right;
    height: 17px;
}

.intelligence-settings .setting-switch {
    padding: 25px;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    position: relative;
    border: 1px solid var(--light-border);
}

.intelligence-settings .setting-switch.feature-toggle .dropdown-selector {
    height: 50px;
    line-height: 50px;
    display: flex;
    align-items: center;
    width: 100%;
    background-color: var(--extra-light);
    padding: 0 15px;
    border-radius: var(--border-radius-tiny);
    margin-top: 10px;
    cursor: pointer;
}

.intelligence-settings .setting-switch.feature-toggle .dropdown-selector i {
    margin-left: auto;
}

html body .intelligence-settings .setting-switch .lever {
    margin-right: 0!important;
    background-color: var(--white)!important;
}

.intelligence-settings .setting-switch .sub-text {
    margin-bottom: 0px;
    padding-top: 0px;
}

.ai-convo-wrapper {
    display: flex;
    flex-direction: column;
    background-color: var(--white);
    /* border-radius: var(--border-radius-tiny); */
    margin-top: -4px;
    /* border-top: 1px solid var(--light-border)!important; */
    border: 1px solid transparent;
    padding-bottom: 15px;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    position: relative;
    min-height: 80px;
}

.agent-detail-card .double-column .ai-convo-wrapper {
    background-color: var(--background-color);
    box-shadow: none!important;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
}

nav .chat-collapsed .ai-convo-wrapper {
    background-color: var(--white);
}

.dark nav .chat-collapsed .ai-convo-wrapper {
    /* background-color: var(--background-color); */
}

.dark .ai-convo-wrapper {
    /* border: 1px solid var(--border); */
}

.dark .mail-app .ai-convo-wrapper {
    background-color: var(--background-color);
}

.ai-chat .ai-chat-msg-user .listing-description {
    display: inline-block;
    max-width: 85%;
    margin-left: auto;
    color: var(--black);
    /* border-radius: var(--border-radius-tiny); */
    padding: 0px 0 2px!important;
    transition: all .5s ease-in-out;
    /* box-shadow: var(--box-shadow); */
}

.ai-chat .ai-convo.ai-chat-msg.ai-chat-section-header .listing-description {
    max-width: 100%;
    width: 100%;
}

.ai-chat .ai-chat-msg-user .post-body-content {
    color: var(--black);
}

.ai-chat .ai-chat-msg-ai .listing-description {
    /* max-width: 95%; */
    /* background-color: var(--background-color); */
    border-radius: var(--border-radius-tiny);
    padding: 0!important;
    /* box-shadow: var(--box-shadow); */
    position: relative;
}

.ai-chat .ai-chat-responding {
    color: var(--primary);
}

.ai-chat-suggestions {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
    margin-top: 5px;
}

.ai-chat-compose-only .ai-chat-suggestions.ai-chat-suggestions-compose {
    /* flex-direction: row; */
    margin: 0 auto!important;
    text-align: left;
    /* margin-top: 3px!important; */
    /* height: 100px; */
    /* position: absolute; */
    /* bottom: 0; */
    /* left: 0; */
    /* gap: 0; */
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    padding: 0!important;
    align-items: start;
    z-index: 9999;
    width: auto;
    display: block;
}

.ai-chat-compose-only .ai-chat-suggestions.ai-chat-suggestions-compose a {
    display: block!important;
    text-align: left;
    float: left;
    background-color: transparent;
    padding: 10px 15px;
    width: 100%;
}

.agents-launch-composer .ai-chat-compose-only .ai-chat-suggestions.ai-chat-suggestions-compose {
    display: block;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2px;
    justify-content: start;
    text-align: left;
    padding-top: 5px;
    width: 100%;
}

.agents-launch-composer .ai-chat-compose-only .ai-chat-suggestions.ai-chat-suggestions-compose a {
    display: inline-block;
}

.project-intelligence-page .ai-chat-compose-only .ai-chat-suggestions.ai-chat-suggestions-compose {
    display: flex;
    flex-direction: row;
    gap: 5px;
}

.ai-chat-suggestion {
}

a.ai-chat-suggestion {
    text-decoration: none;
    background-color: var(--background-color);
    color: var(--light-text);
    /* border-radius: var(--border-radius-tiny); */
    display: block;
    width: max-content;
    margin: 0 auto;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 12px;
    line-height: normal;
}

.project-intelligence-page .ai-chat-compose-only .ai-chat-suggestions.ai-chat-suggestions-compose a {
    margin: 5px 0;
}

.ai-chat-suggestion:hover {
    color: var(--black);
    background-color: var(--hover-item)!important;
}

.dark .ai-convo-wrapper {
    /* background-color: var(--extra-light); */
}

.spec-item-list-composer .ai-chat .prompt-container.ai-chat-prompt .ai-convo-wrapper {
    background-color: var(--white);
    border: none;
}

.spec-item-list-composer .ai-chat .prompt-container.ai-chat-prompt {
    padding: 0;
    /* position: absolute; */
    /* bottom: 0; */
    /* top: unset; */
    /* left: 0; */
    /* right: 0; */
}

/* Class-based (was #aiChatSettings) so the settings menu id can be per-instance
   for co-mounted <ai-chat> instances without losing its positioning. */
.ai-chat-settings-menu {
    bottom: 0px!important;
    top: unset!important;
    right: unset;
    left: 0!important;
}

.ai-settings.ai-actions ul {
    max-width: 300px;
}

.agents-launch-composer .ai-settings .ai-chat-settings-menu {
    top: 0px!important;
    bottom: unset!important;
}

.ai-chat-settings-menu.ai-chat-add-menu {
    right: 0!important;
    left: unset!important;
}

.ai-chat-add-menu .ai-action {
    display: flex;
    align-items: center;
}

.ai-chat-add-menu .ai-action i {
    margin-right: 5px;
}

.second-container.tools-selector .ai-action {
    padding-top: 0;
    padding-bottom: 0;
}

/* Admin-pinned / capped intelligence controls.
   .is-locked  — an account admin pinned this option for the selected model
                 (account/admin/intelligence/models/{key}/locks/*): the row still shows
                 the value that WILL run, but nothing about it is clickable.
   .is-disabled — an offered option an admin ceiling excludes: shown + explained
                 rather than silently missing, so the cap is discoverable. */
.ai-action.is-locked {
    opacity: 0.7;
    cursor: default;
    pointer-events: none;
}

.ai-action.is-disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.ai-action.is-disabled:hover {
    background: transparent;
}

/* Locked variant of the settings-page dropdown trigger: shows the pinned value,
   accepts no input. */
.dropdown-selector.is-locked {
    opacity: 0.7;
    cursor: default;
    pointer-events: none;
}

/* A dropdown option an admin ceiling excludes — visible + explained, not clickable. */
.dropdown-content li.is-disabled {
    opacity: 0.45;
    pointer-events: none;
}

/* Replaces the inline margin-top the reasoning-depth setting rows used to carry
   (no-inline-styles). */
.intelligence-setting-option.setting-spaced {
    margin-top: 15px;
}

/* Settings > Intelligence > Voice, when the ACCOUNT has voice off. The controls are
   hidden entirely (a row of dead switches reads as a broken page), so this one line —
   plus, for an owner/admin, the way to change it — is the whole section. */
.voice-account-off {
    margin-top: 12px;
}

/* Voice > Conversation engine (voice.engine: standard | live). Two selectable cards in a
   radiogroup, shared by Admin > Intelligence > Voice and Settings > Intelligence > Voice.
   Each card is a real <button role="radio">, so every rule below has to undo button
   chrome (Materialize paints button:focus primary-blue). */
.voice-engine-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.integration-section .voice-engine-header .sub-text {
    margin-bottom: 0;
}

/* Accent: a two-way segmented control (voice-speed-019, William's picked B1). */
.voice-accent-seg {
    display: inline-grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    margin-top: 6px;
    padding: 2px;
    border-radius: 10px;
    background: var(--border);
}
.voice-accent-option {
    min-width: 110px;
    min-height: 40px;
    padding: 0 16px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary, inherit);
    font: inherit;
    font-weight: 500;
    cursor: pointer;
}
.voice-accent-option:focus { background: transparent; }
.voice-accent-option:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }
.voice-accent-option.is-on,
.voice-accent-option.is-on:focus {
    background: var(--white);
    color: var(--text, inherit);
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}
/* Voice list with previews (voice-speed-023, William's picked B1). */
.voice-list {
    display: flex;
    flex-direction: column;
    margin-top: 8px;
    max-width: 520px;
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
}
.voice-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 10px;
    border-top: 1px solid var(--border);
}
.voice-row:first-child { border-top: 0; }
.voice-row.is-on { background: color-mix(in srgb, var(--primary) 8%, transparent); }
.voice-play {
    flex: none;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--primary) 12%, transparent);
    color: var(--primary);
    cursor: pointer;
}
.voice-play:focus { background: color-mix(in srgb, var(--primary) 12%, transparent); }
.voice-play.is-playing,
.voice-play.is-playing:focus { background: var(--primary); color: var(--white); }
.voice-play:focus-visible,
.voice-choice:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.voice-choice {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 0;
    border: 0;
    background: transparent;
    font: inherit;
    text-align: left;
    color: inherit;
    cursor: pointer;
}
.voice-choice:focus { background: transparent; }
.voice-choice-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.voice-choice-name { font-weight: 500; }
.voice-choice-desc { font-size: 13px; opacity: 0.7; }
.voice-choice-check { color: var(--primary); }

.voice-best-tag {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    border: 1px solid var(--border);
    border-radius: 5px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.5;
    vertical-align: 1px;
}

.voice-engine-cards {
    display: flex;
    gap: 12px;
    margin-top: 12px;
}

.voice-engine-card {
    flex: 1 1 0;
    min-width: 0;
    display: block;
    padding: 14px 16px;
    text-align: left;
    font: inherit;
    color: var(--black);
    background-color: transparent;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-smallish);
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.voice-engine-card:hover {
    border-color: var(--light-text);
}

.voice-engine-card:focus {
    outline: none;
    background-color: transparent;
}

.voice-engine-card:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Selected: 2px primary border, 1px less padding so the content does not shift. */
.voice-engine-card.is-selected,
.voice-engine-card.is-selected:focus,
.voice-engine-card.is-selected:hover {
    padding: 13px 15px;
    border: 2px solid var(--primary);
    background-color: color-mix(in srgb, var(--primary) 7%, transparent);
}

.voice-engine-card-head {
    display: flex;
    align-items: center;
    gap: 8px;
}

.voice-engine-icon {
    font-size: 20px;
    color: var(--light-text);
}

.voice-engine-card.is-selected .voice-engine-icon {
    color: var(--primary);
}

.voice-engine-name {
    font-weight: 500;
}

.voice-engine-pill {
    padding: 1px 8px;
    font-size: 11px;
    line-height: 16px;
    color: var(--light-text);
    border: 1px solid var(--border);
    border-radius: var(--border-radius);
}

/* Radio dot: empty grey circle, filled primary when the card is selected. */
.voice-engine-radio {
    position: relative;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-left: auto;
    border: 2px solid var(--border);
    border-radius: 50%;
    box-sizing: border-box;
}

.voice-engine-card.is-selected .voice-engine-radio {
    border-color: var(--primary);
}

.voice-engine-card.is-selected .voice-engine-radio::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--primary);
}

.voice-engine-points {
    display: block;
    margin-top: 10px;
}

.voice-engine-point {
    position: relative;
    display: block;
    padding-left: 14px;
    font-size: 13px;
    line-height: 20px;
    color: var(--light-text);
}

.voice-engine-point::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 2px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: var(--light-text);
}

/* Admin-only advisory under the cards (HIPAA / audio leaves to OpenAI). */
.voice-engine-notice {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 20px;
    color: var(--black);
    background-color: color-mix(in srgb, var(--orange) 10%, transparent);
    border-radius: var(--border-radius-tiny);
}

.voice-engine-notice .material-symbols-outlined {
    font-size: 18px;
    line-height: 20px;
    color: var(--orange);
}

@media (max-width: 600px) {
    .voice-engine-cards {
        flex-direction: column;
    }
}

/* Settings row whose control carries its own spacing (replaces the inline
   margin-bottom:0; padding-bottom:0 the reasoning-depth rows used to carry). */
.text-field.text-field-flush {
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Per-message meta header (author/model + time) in the <ai-chat> transcript.
   Scoped to .ai-chat â€” does not affect spec-item or anything else. */
.ai-chat .ai-chat-msg-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 300;
    color: var(--light-text);
    margin: 0 0px 0px;
    max-width: 100%;
    box-sizing: border-box;
}

.agents-copilot-chat .ai-chat-msg-meta {
    justify-content: start;
}

.ai-chat-message-avatar {
    max-width: 18px;
    max-height: 18px;
}

.ai-chat .ai-chat-msg-author {
    display: inline-flex;
    align-items: center;
    /* gap: 5px; */
    font-size: 13px;
    font-weight: 500;
    color: var(--black);
    min-width: max-content;
}

.ai-chat .ai-chat-msg-author .ai-icon.jt1 {
    margin: 0;
    padding: 0 5px;
    text-align: center;
    background-color: var(--light-white);
    border-radius: var(--border-radius-tiny);
    margin-right: 5px;
}

.ai-chat .ai-chat-msg-logo {
    width: 23px;
    height: 23px;
    vertical-align: middle;
    box-shadow: none;
    margin-right: 10px;
}

.ai-chat .ai-chat-msg-provider {
    font-weight: 400;
    color: var(--light-text, #999);
    padding-left: 5px;
}

.ai-chat .ai-chat-msg-time {
    margin-left: auto;
    white-space: nowrap;
}

/* User turns: meta now sits INSIDE the (primary-fill) bubble â€” name left,
   time right (the default flow), recoloured for contrast on the primary. */
.ai-chat .ai-chat-msg-user .ai-chat-msg-meta, .ai-chat .ai-chat-msg-user .ai-chat-msg-author, .ai-chat .ai-chat-msg-user .ai-chat-msg-provider {
    color: var(--light-text);
}

.ai-chat-msg-user .ai-chat-msg-meta {
    margin-bottom: 5px;
}

span.ai-chat-msg-name {
    font-size: 13px;
    color: var(--black);
    font-weight: 500;
}

.ai-chat-msg-ai span.ai-chat-msg-name {
    color: var(--black);
}

/* ---- Floating "current question" overlay --------------------------------
   The real prompts scroll normally at FULL height (no sticky, no clamp) so the
   transcript never reflows mid-scroll. The CURRENT prompt is mirrored in a bar
   pinned to the top: a sticky ZERO-height anchor holding an absolutely-
   positioned bar. Because the overlay contributes NOTHING to layout, showing or
   hiding it can never shift the scroll â€” which is what caused the stick/unstick
   stutter (and the near-bottom oscillation, where the height change also forced
   the browser to re-clamp scrollTop). Driven by $scope.pinnedPrompt from the
   directive's IntersectionObserver. Scoped to .ai-chat â€” nothing else affected. */
.ai-chat .ai-chat-section {
    margin-bottom: 30px;
    padding: 40px;
    width: 100%;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    display: flex;
    flex-direction: column;
    max-width: 820px;
    margin: 0 auto 30px;
}

.mail-intel-panel .ai-chat-section {
    background-color: var(--light-white);
}

.ai-chat .ai-chat-section:last-child {
    margin-bottom: 0px!important;
}

.ai-chat .ai-chat-section:first-child {
    margin-top: 0;
}

/* In-flow prompt â€” a normal, full-height bubble (no longer sticky/clamped). */
.ai-chat .ai-convo.ai-chat-msg.ai-chat-section-header {
    position: static;
    margin-top: 0px;
    /* margin-bottom: 5px!important; */
    width: 100%;
    border-bottom: 1px dashed var(--light-border);
    padding-bottom: 15px;
    display: flex;
    text-align: left;
}

.jtsyn-assistant-text {
    font-size: 24px;
    line-height: 46px;
    font-family: var(--nothing);
    color: var(--primary);
    padding: 0 8px;
}

.agents-copilot-chat .ai-convo.ai-chat-msg.ai-chat-section-header {
    /* border-color: var(--light-text); */
}

.dark .ai-chat .ai-convo.ai-chat-msg.ai-chat-section-header {
    /* border-bottom-color: #595959; */
}

/* The pinned overlay: a sticky 0-height anchor (no layout impact) carrying an
   absolutely-positioned bar that mirrors the user bubble and clamps to 2 lines. */
.ai-chat .ai-chat-pinned-anchor {
    position: sticky;
    top: 0;
    height: 60px;
    z-index: 5;
    max-width: 810px;
    margin: 0 auto;
}

.ai-chat .ai-chat-pinned-prompt {
    position: absolute;
    top: -2px;
    left: -15px;
    right: -15px;
    margin: 0;
    /* full-width page-coloured bar occludes the answer scrolling underneath */
    /* background: var(--extra-light); */
}

nav .ai-chat .ai-chat-pinned-prompt {
    left: 0;
    right: 0;
}

.research-page .ai-chat .ai-chat-pinned-prompt {
    left: 0;
    right: 0;
}

.ai-chat .ai-chat-pinned-prompt .listing-description {
    max-width: 100%;
    /* line-height: normal; */
    /* vertical-align: top; */
}

.ai-chat .ai-chat-pinned-prompt .post-body-content {
    display: flex;
    -webkit-line-clamp: 2;
    max-height: 60px;
    line-clamp: 2;
    overflow: hidden;
    font-size: 12px;
    line-height: 20px;
    padding: 0px 15px 5px;
    color: var(--light-text);
    background-color: var(--background-color);
    font-weight: 400;
    vertical-align: top;
}

.ai-chat .ai-chat-pinned-prompt .post-body-content * {
    font-size: 12px!important;
}

nav .chat-collapsed .ai-chat .ai-chat-pinned-prompt .post-body-content {
    width: 100%;
    box-sizing: border-box;
    margin: 0px!important;
    padding-left: 37px;
    background-color: var(--white);
    border-bottom: 1px solid var(--light-border);
    color: var(--light-text);
    /* box-shadow: var(--box-shadow); */
}

nav .chat-collapsed .ai-chat .ai-chat-pinned-prompt .post-body-content:hover {
    color: var(--black);
}

nav .ai-chat .ai-chat-pinned-prompt .post-body-content {
    padding-top: 10px;
    top: -10px!important;
    max-height: 55px;
    transition: all .3s ease-in-out;
    cursor: pointer;
    width: 100%!important;
    padding-left: 30px!important;
    padding-right: 30px!important;
}

nav .ai-chat .ai-chat-pinned-prompt.is-full .post-body-content {
    height: 100%!important;
    max-height: 100%!important;
    color: var(--black);
    border-bottom: 1px solid var(--background-color);
    padding-bottom: 20px;
    font-size: 13px;
}

.spec-item-ai-host.ai-panel .ai-chat .ai-chat-pinned-prompt .post-body-content {
    background-color: var(--background-color);
}

.spec-item-ai-host.ai-panel .ai-chat .ai-chat-pinned-prompt .post-body-content p {
    margin: 0!important;
    vertical-align: top;
}

.ai-chat .ai-chat-pinned-prompt .post-body-content ul, .ai-chat .ai-chat-pinned-prompt .post-body-content ol {
    margin: 0!important;
    padding: 0!important;
    list-style: none;
}

.ai-chat .ai-chat-pinned-prompt .post-body-content li {
    list-style: none;
}

.dark .ai-chat .ai-chat-pinned-prompt .post-body-content {
    background-color: var(--extra-light);
}

.research-page .ai-chat .ai-chat-pinned-prompt .post-body-content {
    background-color: var(--light-white);
    /* box-shadow: var(--box-shadow); */
    padding-left: 30px;
    padding-right: 30px;
}

.ai-chat .ai-chat-pinned-prompt .post-body-content::before {
    content: 'You: ';
    color: var(--primary);
    display: none;
}

/* Fade the bar in/out (showPinned) so it never abruptly pops over a prompt;
   when hidden it's click-through. Separate rule so it merges with â€” and doesn't
   override â€” the positioning/background above (yours). */
.ai-chat .ai-chat-pinned-prompt {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px);
    /* settles down into place as it fades in */
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.ai-chat .ai-chat-pinned-prompt.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.response-container {
    /* padding-top: 30px; */
}

/* Per-message hover actions (copy, â€¦) in the transcript */
.ai-chat .ai-chat-msg-actions {
    display: inline-flex;
    gap: 10px;
    transition: opacity 0.12s ease;
    position: relative;
    margin-left: auto;
}

.ai-chat .ai-chat-msg-actions ul.dropdown-content {
    margin-top: 25px!important;
}

.ai-chat .ai-chat-msg-actions ul {
    padding: 0!important;
    margin: 0!important;
}

.ai-chat .ai-chat-msg-actions ul i {
    font-variation-settings: 'FILL' 0;
}

.ai-chat .ai-chat-msg-actions ul li {
    font-size: 11px;
}

.ai-chat .ai-chat-msg-actions .btn, .ai-chat .ai-chat-msg-actions .btn i {
    height: 20px;
    line-height: 21px;
    width: 20px;
    margin-top: 0!important;
    padding: 0!important;
    color: var(--light-text)!important;
}

.ai-chat .ai-chat-msg-actions .btn i {
    font-size: 15px;
}

.ai-chat .ai-chat-msg-ai:hover .ai-chat-msg-actions {
    opacity: 1;
}

/* Per-message "Thoughts" reveal â€” the persisted reasoning/steps toggle.
   The button inherits .ai-chat-msg-actions .btn sizing; only the active
   state + the reveal panel need new rules. */
.ai-chat .ai-chat-msg-actions .ai-chat-msg-thoughts.is-active i {
    color: var(--primary)!important;
    font-variation-settings: 'FILL' 1;
}

.ai-chat .ai-chat-msg-thinking {
    margin: 8px 0 4px;
    padding: 8px 12px;
    /* --border-color / --hover-bg are not defined anywhere, so both declarations were being
       dropped: the thinking panel had no rule and no ground at all. */
    border: 1px solid var(--light-border);
    background: var(--subtle);
    border-radius: var(--border-radius-tiny);
}

.ai-chat .ai-chat-msg-thinking-label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--light-text);
    margin-bottom: 6px;
}

.ai-chat .ai-chat-msg-thinking-label i {
    font-size: 15px;
}

.ai-chat .ai-chat-msg-thinking-body {
    font-size: 13px;
    color: var(--light-text);
}

.ai-chat .ai-chat-msg-thinking-body li {
    margin-bottom: 0;
    font-size: 12px;
}

.ai-chat .ai-chat-msg-action {
    display: inline-flex;
    cursor: pointer;
    color: var(--light-text);
    line-height: 1;
}

.ai-chat .ai-chat-msg-action:hover {
    color: var(--primary);
}

.ai-chat .ai-chat-msg-action .material-symbols-outlined {
    font-size: 16px;
}

/* Confirmation card: show WHAT is being approved + the expired state */
.ai-chat .confirm-preview {
    max-height: 180px;
    overflow: auto;
    background: var(--background-color);
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
    padding: 10px 12px;
    margin: 8px 0;
    font-size: 12px;
    white-space: pre-wrap;
    word-break: break-word;
}

.ai-chat .ai-confirm-card.is-expired {
    opacity: 0.55;
}

.ai-chat .confirm-expired {
    font-size: 12px;
    color: var(--light-text);
    margin-top: 6px;
}

/* Image attachments (inbound vision) */
.ai-chat-image-input {
    display: none;
}

.ai-chat .ai-chat-image-btn {
    cursor: pointer;
}

.ai-chat .ai-chat-image-btn i {
    color: var(--icon-color);
    line-height: unset!important;
    height: unset;
}

.ai-chat .ai-chat-image-btn:hover i {
    color: var(--primary);
}

.ai-chat .ai-chat-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 15px 0;
}

.ai-chat .ai-chat-attachment {
    position: relative;
    width: 56px;
    height: 56px;
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
    border: 1px solid var(--light-border);
}

.ai-chat .ai-chat-attachment img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ai-chat .ai-chat-attachment-remove {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 16px;
    height: 16px;
    line-height: 14px;
    text-align: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    font-size: 13px;
    cursor: pointer;
}

/* The â‹® menu's icons sit flush â€” Materialize's .left adds a right margin that
   double-spaces them against the label. (Was two inline styles; house rule.) */
.ai-chat .more-menu-item.show-ai-thinking i.left,
.ai-chat .more-menu-item.show-ai-plan i.left { margin-right: 0; }

/* Â§v7 pre-load skeleton for the agents thread list â€” three card shells so the tab has shape
   immediately instead of flashing an empty state that is not yet true. */
.agents-list-skeleton { padding: 4px 0; }

.agents-list-skeleton .agents-skeleton-card {
    position: relative;
    overflow: hidden;
    height: 56px;
    margin-bottom: 8px;
    border-radius: var(--border-radius-tiny);
    background: var(--subtle);
    border: 1px solid var(--light-border);
}

/* Â§v7 the "kept private" note on the grounding receipt. */
.ai-chat .ai-grounding-private {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-left: 8px;
    color: var(--light-text);
    /* font-style: italic; */
}

.ai-chat .ai-grounding-private i { font-size: 13px; }

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   Â§v7 HEADING SCALE for model-authored text (William, 2026-08-02).

   Models reach for h1/h2 for what is really just a section label. The reply
   renders inside .listing-description.ql-editor, so editors.css was sizing an
   AI h1 at 23pt (~31px) â€” a banner inside a chat bubble, and inconsistent
   between surfaces because the legacy .ai-chat-panel block flattened its own.

   Rule: headings sit just above body text, with a real but SUBTLE ladder so a
   genuine hierarchy still reads. The !important is unavoidable â€” editors.css
   sets .ql-editor h1..h6 with !important, and this must win. Applies to every
   <ai-chat> host (agents, assistants, project/task AI, chat, mail, research),
   which is the whole point: one scale everywhere.
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ai-chat .post-body-content h1,
.ai-chat .post-body-content h2,
.ai-chat .post-body-content h3,
.ai-chat .post-body-content h4,
.ai-chat .post-body-content h5,
.ai-chat .post-body-content h6 {
    font-family: var(--body-font) !important;
    font-weight: 600 !important;
    color: var(--black);
    margin: 16px 0 4px !important;
    line-height: 1.45 !important;
}

.ai-chat .post-body-content h1 { font-size: 16px !important; }
.ai-chat .post-body-content h2 { font-size: 15px !important; }
.ai-chat .post-body-content h3 { font-size: 14px !important; }
.ai-chat .post-body-content h4,
.ai-chat .post-body-content h5,
.ai-chat .post-body-content h6 { font-size: 13.5px !important; }

/* A heading opening the reply should not push the first line down. */
.ai-chat .post-body-content > h1:first-child,
.ai-chat .post-body-content > h2:first-child,
.ai-chat .post-body-content > h3:first-child,
.ai-chat .post-body-content > h4:first-child,
.ai-chat .post-body-content > h5:first-child,
.ai-chat .post-body-content > h6:first-child { margin-top: 0 !important; }

/* Â§v6 attachments AS SENT â€” rendered under the user's turn in the transcript.
   Distinct from .ai-chat-attachments (the composer's pending chips): these are
   permanent, clickable, and have no remove affordance. */
.ai-chat .ai-chat-sent-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.ai-chat .ai-sent-img {
    width: 64px;
    height: 64px;
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
    border: 1px solid var(--light-border);
    display: block;
}

.ai-chat .ai-sent-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ai-chat .ai-sent-file {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 220px;
    padding: 4px 9px;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
    font-size: 12px;
    color: var(--black);
    background: var(--extra-light);
}

.ai-chat .ai-sent-file:hover { background: var(--hover-item); }
.ai-chat .ai-sent-file i { font-size: 15px; color: var(--light-text); }
.ai-chat .ai-sent-file span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Pre-v6 rows carry no download URL â€” show the name, don't pretend it's a link. */
.ai-chat .ai-sent-file-nolink { pointer-events: none; opacity: 0.7; }

/* Drag-to-attach overlay (visual only; covers the component while dragging) */
.ai-chat .ai-chat-dropzone {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--extra-light);
    border: 2px dashed var(--primary);
    border-radius: var(--border-radius-tiny);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.12s ease;
}

.ai-chat .ai-chat-dropzone.is-active {
    opacity: 0.96;
}

.ai-chat .ai-chat-dropzone-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: var(--primary);
    font-weight: 600;
}

.ai-chat .ai-chat-dropzone-inner i {
    font-size: 32px;
}

.btn.ai-core-settings {
    /* margin-right: 26px; */
    padding: 0!important;
}

.btn.btn-transparent.ai-core-settings.ai-agent-picker {
    margin-right: auto;
}

.btn.btn-transparent.ai-core-settings.ai-agent-picker img {
    max-width: 25px;
}

.btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker {
    margin-right: 35px;
    margin-left: -15px;
    /* margin-right: -10px!important; */
}

.btn.btn-transparent.dropdown-selector.ai-core-settings.ai-run-mode-picker .ds-text {
}

.btn.btn-transparent.dropdown-selector.ai-core-settings.ai-agent-picker {
    margin-right: auto!important;
    margin-right: 0;
}

.btn.ai-core-settings span i {}

.empty-message .ai-icon-wrp {
    max-height: 60px!important;
    max-width: 60px!important;
    display: flex!important;
    margin: 0px auto 5px;
}

.btn.ai-core-settings svg {
    height: 25px;
    margin-top: -8px;
    margin-right: -10px;
}

/* Respect reduced-motion: quiet the component's transitions + smooth-scroll for
   users who opt out (the thinking spinner / cursor are handled in ai-thinking.css). */
@media (prefers-reduced-motion: reduce) {
    .ai-chat .ai-chat-pinned-prompt, .ai-chat .ai-chat-dropzone, .ai-chat .ai-chat-msg-actions, .ai-chat .ai-chat-attachment {
        transition: none !important;
    }

    .ai-chat .ai-chat-pinned-prompt {
        transform: none !important;
    }

    .ai-chat .task-ai.oe.ai-chat-messages {
        scroll-behavior: auto !important;
    }

    /* This block used to quiet transitions ONLY, on the assumption that every looping
       animation lived in ai-thinking.css. Four did not, and they are the ones that run
       longest â€” an agent run's status spinner and the live-tail dot animate for the whole
       duration of the run. `!important` is what makes these win regardless of the
       specificity of the original declaration. */
    .ars-spin,
    .ai-run-tl-step.tl-live:last-child .ai-run-tl-dot,
    .ai-typing-dots span,
    .ai-image-rendering-label {
        animation: none !important;
    }
}

/* Selected-text context chip â€” quoted handoff, visually distinct from the prompt */
.ai-chat .ai-chat-selection {
    margin: 0;
    padding: 15px 20px;
    background: var(--white);
    border-bottom: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny) var(--border-radius-tiny) 0 0;
    font-size: 12px;
}

.ai-chat .ai-chat-selection-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 2px;
}

.ai-chat .ai-chat-selection-source {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    /* color: var(--primary); */
    font-weight: 600;
    min-width: 0;
}

.ai-chat .ai-chat-selection-source span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ai-chat .ai-chat-selection-source i {
    font-size: 15px;
    flex-shrink: 0;
    color: var(--primary);
}

.ai-chat .ai-chat-selection-remove {
    cursor: pointer;
    color: var(--light-text);
    font-size: 16px;
    line-height: 1;
    padding: 0 2px;
    flex-shrink: 0;
}

.ai-chat .ai-chat-selection-remove:hover {
    color: var(--primary);
}

.ai-chat .ai-chat-selection-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    color: var(--light-text);
    white-space: pre-wrap;
    word-break: break-word;
}

/* ============================================================
   Workstream B â€” @mention composer (Tiptap) + mention dropdown.
   Scoped to .ai-chat so other surfaces are unaffected. The mention PILLS reuse
   the shared .mention-pill / .jtsyn-mention styles (defined for jtsynEditor), so
   only the composer host, the editor surface, and the dropdown need styling here.
   NOTE (styling pass for William): first-cut â€” tweak after the browser test.
   ============================================================ */
.ai-chat .ai-chat-mention-composer {
    min-height: 44px;
    max-height: 180px;
    overflow-y: auto;
    cursor: text;
    display: flex;
    position: relative;
}

/* The ProseMirror contenteditable surface inside the composer host. */
.ai-chat .ai-chat-mention-composer .ProseMirror, .ai-chat .ai-chat-mention-input {
    outline: none;
    /* min-height: 24px; */
    padding: 0 40px 0 25px;
    white-space: pre-wrap;
    word-break: break-word;
    width: 100%;
    height: unset;
    line-height: 25px;
}

.ai-chat .ai-chat-mention-composer .ProseMirror {
    padding-top: 20px;
    padding-bottom: 10px;
    min-height: 70px;
}

nav .ai-chat .ai-chat-mention-composer .ProseMirror {}

.ai-chat .ai-chat-mention-input p {
    margin: 0!important;
    /* display: flex; */
    /* line-height: 21px!important; */
}

.ai-chat .ai-chat-mention-input p span.suggestion {white-space: normal!important;word-break: normal;}

/* Tiptap Placeholder extension renders the placeholder via a ::before on the
   empty first paragraph. Hide it while focused so the caret isn't sitting at
   the end of the ghost text. */
.ai-chat .ai-chat-mention-composer .ProseMirror p.is-editor-empty:first-child::before {
    content: attr(data-placeholder);
    color: var(--light-text);
    float: left;
    height: 0;
    pointer-events: none;
}

.ai-chat .ai-chat-mention-composer .ProseMirror-focused p.is-editor-empty:first-child::before {
    content: none;
}

/* The @mention dropdown (appended to <body>; fixed-positioned by the directive). */
.ai-chat-mention-menu {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    max-height: 260px;
    overflow-y: auto;
    min-width: 220px;
    padding: 4px 0;
    top: unset!important;
    bottom: 170px;
}

.ai-chat-mention-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    cursor: pointer;
}

.ai-chat-mention-item.is-selected, .ai-chat-mention-item:hover {
    background: var(--background-color);
}

.ai-chat-mention-avatar {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.ai-chat-mention-label {
    font-size: 13px;
    color: var(--black);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ============================================================
   Agents tab (spec-item) â€” minimal layout only; styling left
   light intentionally (tweak to taste). Reuses the AI tab's
   ai-convo-card / spec-item-list-composer styles for the rest.
   ============================================================ */
.agents-composer-bar {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.agents-picker {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
}
.agents-picker-label {
    font-size: 12px;
    color: var(--light-text);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}
.agents-picker select {
    flex: 1;
    min-width: 0;
}
.spec-item-agent-name {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: var(--black);
}
.spec-item-agent-name .material-symbols-outlined {
    font-size: 18px;
    color: var(--primary-color);
}
.ai-convo-card-icon .ai-icon.agent-glyph {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-weight: 600;
}


.the-model-selector.the-agent-selector span.ai-icon {margin-left: 0;}

.the-model-selector.the-agent-selector .ai-icon.agent-glyph {
    width: 30px;
    text-align: center;
    display: inline-flex;
    justify-content: center;
    margin-right: 10px;
}
/* Agents v2 â€” notification panel rows (run finished / needs your input) */
.agent-run-notification {
    display: flex;
    align-items: center;
    gap: 10px;
}
.agent-run-notification .agent-notification-icon .material-symbols-outlined {
    font-size: 20px;
    color: var(--light-text);
}
.agent-run-notification .agent-notification-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
}
.agent-run-notification.agent-question {
    border-left: 3px solid var(--warning, #e6a23c);
    padding-left: 8px;
}
.agent-run-notification.agent-question .agent-notification-icon .material-symbols-outlined {
    color: var(--warning, #e6a23c);
}

/* Agents v2 Â§1C â€” the in-thread "needs your input" question turn */
.ai-chat-msg.ai-agent-question {
    border-left: 3px solid var(--warning, #e6a23c);
    padding-left: 10px;
    background: color-mix(in srgb, var(--warning, #e6a23c) 6%, transparent);
    border-radius: var(--border-radius-tiny, 4px);
}
.ai-agent-question-banner {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 4px 4px;
    font-size: 13px;
    color: var(--black);
}
.ai-agent-question-banner .material-symbols-outlined {
    font-size: 18px;
    color: var(--warning, #e6a23c);
    flex-shrink: 0;
}

/* ===== Agents Â§3B/3C â€” run card, action chips, work log ===== */
.ai-run-card {
}

.ai-run-state-strip {
    display: inline-flex;
    align-items: center;
    justify-content: end;
    gap: 5px;
    font-size: 10px;
    padding: 0;
    color: var(--light-text);
    /* text-transform: uppercase; */
    /* justify-content: end; */
    /* position: absolute; */
    top: 30px;
    right: 0px;
    text-align: right;
}

.ai-run-state-strip .material-symbols-outlined {font-size: 13px;}

.ai-run-state-strip.ars-done .material-symbols-outlined {
    color: var(--good);
}
.ai-run-state-strip.ars-running { color: var(--primary); }
.ai-run-state-strip.ars-waiting, .ai-run-state-strip.ars-waiting i {color: var(--orange);}
.ai-run-state-strip.ars-done {color: var(--good);}
.ai-run-state-strip.ars-error, .ai-run-state-strip.ars-error i {color: var(--warning);}
/* Stopped is neutral: someone chose to end the run. It is not an error. */
.ai-run-state-strip.ars-stopped, .ai-run-state-strip.ars-stopped i {color: var(--light-text);}

.ars-status {
    font-weight: 400;
    opacity: 0.8;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 50%;
}

.ars-actions-count {/* font-weight: 400; *//* opacity: 0.7; */}

.ars-spin {
    animation: ars-rotate 1.2s linear infinite;
}
@keyframes ars-rotate { to { transform: rotate(360deg); } }

.ai-run-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding: 20px 0 0px;
}

.ai-run-actions .ai-run-action-header {
    display: flex;
    align-items: center;
    width: 100%;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 300;
    color: var(--light-text);
    line-height: normal;
    margin-top: 10px;
    gap: 7px;
    padding-bottom: 5px;
}

.ai-run-actions > .ai-run-action-header {
    margin-bottom: 10px!important;
}

.ai-run-action-chip {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 12px;
    /* padding: 2px 10px 2px 6px; */
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    /* border: 1px solid var(--light-border); */
    cursor: pointer;
    color: var(--light-text);
    padding: 0 9px;
}
.ai-run-action-chip .material-symbols-outlined {font-size: 12px;margin-right: 3px;}
.ai-run-action-chip:hover, .ai-run-action-chip.open {/* border-color: var(--primary); *//* color: var(--primary); */background-color: var(--extra-light);color: var(--black);}

.ai-run-action-detail {
    font-size: 12px;
    color: var(--light-text);
    padding: 4px 15px;
    border-left: 2px solid var(--border-color, rgba(255,255,255,0.15));
    margin: 4px 0;
}
.ai-run-action-detail a { margin-left: 8px; }

.ai-run-log {/* margin-top: -9px; */background-color: var(--light-white);border-radius: var(--border-radius-tiny);border: 1px solid var(--light-border);/* padding: 10px 15px; */min-height: 40px;display: flex;flex-direction: column;justify-content: center;margin-top: 5px;}

.ai-run-log:hover {
    /* background-color: var(--extra-light); */
}

.ai-run-log .jt-think-mark {/* max-height: 30px; *//* max-width: 30px; */}

.ai-run-log-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--black);
    cursor: pointer;
    /* opacity: 0.85; */
    padding-left: 0px;
    user-select: none;
    padding: 10px 20px;
    font-weight: 500;
}

.ai-run-log-toggle svg {
    max-height: 19px;
    margin-left: 0px;
    margin-right: 0px;
}
.ai-run-log-toggle:hover, .ai-run-log-toggle:hover i {color: var(--black);}
.ai-run-log-toggle .material-symbols-outlined { font-size: 16px; }

.ai-run-log-body {
    margin-top: 4px;
    padding: 6px 10px;
    border-left: 2px solid var(--border-color, rgba(255,255,255,0.12));
    max-height: 320px;
    overflow-y: auto;
    font-size: 12px;
    color: var(--light-text);
}

.ai-run-log-step { padding: 2px 0; }
.ai-run-log-step .material-symbols-outlined { font-size: 13px; vertical-align: text-bottom; }
.ai-run-log-thinking {/* font-style: italic; *//* opacity: 0.75; *//* white-space: pre-wrap; */}

html body .ql-editor .ai-run-tl-text .ai-run-log-thinking {
    line-height: 20px!important;
    color: var(--black);
    display: flex;
}
.ai-run-log-summary { opacity: 0.75; }
.ai-run-log-status {
    /* font-style: italic; */
}

.ai-convo-card-right {display: flex;align-items: center;gap: 8px;color: var(--light-text);}
.ai-run-state-strip.acc-badge { padding: 0; font-size: 11.5px; }

.spec-item-ai-list .ai-run-state-strip.acc-badge {
    display: none;
}
.agent-worker-chip.awc-linked { cursor: pointer; }

.ai-agent-crosslink {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    color: var(--light-text);
    padding: 6px 10px;
    max-width: 820px;
    margin: 0 auto;
    position: absolute;
    bottom: -4px;
    z-index: 999999979;
}

.images-only .ai-agent-crosslink {
    left: calc(50% - 365px);
}
.ai-agent-crosslink .material-symbols-outlined { font-size: 16px; }

/* Â§3B timeline restyle (2026-07-03 design pass): vertical rail through dots,
   dot color = outcome (--black default, --good success, --orange warning,
   --warning error). Replaces the flat .ai-run-log-body list. */
.ai-run-timeline {
    position: relative;
    /* max-height: 340px; */
    /* overflow-y: auto; */
    padding: 0px 25px 0px;
    /* border: 1px solid var(--light-border); */
    /* background-color: var(--extra-light); */
    margin-bottom: 10px;
    border-radius: var(--border-radius-tiny);
}

.ai-run-tl-step {
    position: relative;
    padding: 5px 0 5px 20px;
    font-size: 12px;
    color: var(--light-text);
}

/* the rail */
.ai-run-tl-step::before {
    content: '';
    position: absolute;
    left: 4px;
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--border);
}
.ai-run-tl-step:first-child::before {top: 15px;}
.ai-run-tl-step:last-child::before { bottom: 50%; }

.ai-run-tl-dot {
    position: absolute;
    left: 0px;
    top: 12px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--border);
    border: 1px solid var(--background-color);
    z-index: 1;
}

.ai-run-tl-dot.good {
    background-color: var(--good);
    /* border-color: var(--good); */
}

.ai-run-tl-dot.tl-thinking {
    background-color: var(--light-text);
    /* border-color: var(--light-text); */
}

.ai-run-tl-step.tl-good .ai-run-tl-dot {/* background: var(--good); *//* border-color: var(--good); */}
.ai-run-tl-step.tl-orange .ai-run-tl-dot, .ai-run-tl-step.tl-skip .ai-run-tl-dot { background: var(--orange, #e6a23c); }
.ai-run-tl-step.tl-warning .ai-run-tl-dot { background: var(--warning, #e05c5c); }

/* thinking entries: hollow dot + italic text */
.ai-run-tl-step.tl-thinking .ai-run-tl-dot {
    background: var(--icon-color);
    border: 1.5px solid var(--black);
}

/* live tail: newest dot pulses while the run is streaming */
.ai-run-tl-step.tl-live:last-child .ai-run-tl-dot {
    animation: ars-pulse 1.2s ease-in-out infinite;
}
@keyframes ars-pulse { 50% { transform: scale(1.5); opacity: 0.6; } }

.ai-run-action-count { opacity: 0.65; font-size: 11px; }

.ai-run-log-sources a { margin-right: 8px; font-size: 11.5px; }

/* Mention-run cards in the task Agents panel (deep-link to the comment) */
.ai-convo-card-mention {/* border-left: 2px solid var(--border-color, rgba(128,128,128,0.3)); */}
.ai-convo-card-surface {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: 8px;
    font-size: 11px;
    color: var(--light-text);
    opacity: 0.75;
}
.ai-convo-card-surface .material-symbols-outlined { font-size: 13px; }
/* ===== Project Agents dashboard â€” reskinned to app idioms (ai-convo-card / work-* / <ai-chat>) ===== */
.project-agents-page {height: calc(100dvh - 64px);overflow-y: auto;padding: 32px 28px 50px;}

.project-agents-page .work-empty-state {
    padding-top: 150px!important;
    gap: 0;
}

.project-agents-page .work-empty-state .message-content {
    padding-top: 0;
}
.project-agents-page .pa-compose-section,
.project-agents-page .work-dash-section,
.project-agents-page .communicate-activity-filters,
.project-agents-page .pa-error { max-width: 820px; margin-left: auto; margin-right: auto; }
/* Flat: strip the work-dash-section box (bg/padding/shadow) so cards sit on the page */
.project-agents-page .work-dash-section {background: transparent;border: none;box-shadow: none;padding: 0;margin: 0 auto 16px;gap: 5px;display: flex;flex-direction: column;}
.project-agents-page .pa-compose-section { margin: 0 auto 14px; }
.project-agents-page .work-section-header { margin: 0 0 6px; padding: 0 2px; }

/* Composer section wrapper */
.pa-compose-section { display: flex; flex-direction: column; gap: 10px; }
.pa-scope-toggle { display: flex; gap: 6px; }
.pa-task-picker { position: relative; }
.pa-task-selected { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; background: var(--extra-light); border-radius: var(--border-radius-tiny); font-size: 13px; }
.pa-task-selected .pa-task-clear { cursor: pointer; font-size: 16px; opacity: 0.6; margin-left: 4px; }
.pa-task-input { width: 100%; background: var(--background-color); border: 1px solid var(--light-border); border-radius: var(--border-radius-tiny); padding: 8px 12px; font-size: 13px; color: var(--black); }
.pa-task-results { border: 1px solid var(--light-border); border-radius: var(--border-radius-tiny); margin-top: 4px; max-height: 240px; overflow-y: auto; background: var(--background-color); }
.pa-task-result { padding: 8px 12px; font-size: 13px; cursor: pointer; }
.pa-task-result:hover { background: var(--extra-light); }
.pa-project-hint { line-height: 1.45; }
.pa-result { margin-top: 4px; padding: 14px 16px; }
.pa-result-error { border-left: 3px solid var(--warning); }

/* Filters row */
.pa-filters { flex-wrap: wrap; align-items: center; }
.pa-filter-label { text-transform: uppercase; letter-spacing: 0.04em; font-size: 11px; margin: 0 4px 0 12px; }
.pa-filters .pa-filter-label:first-child { margin-left: 0; }
.pa-error { padding: 10px 14px; }

/* Run cards: flatten ai-convo-card into clean rows on the page (no nested boxes) */
.project-agents-page .ai-convo-card {cursor: pointer;background: var(--white);box-shadow: none;border-radius: var(--border-radius-tiny);padding: 30px;margin-bottom: 0;border: 1px solid var(--light-border);}

.project-agents-page .ai-convo-card:hover {
    background-color: var(--extra-light)!important;
}

.ai-convo-card.pa-run-card:first-child {
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
}

.ai-convo-card.pa-run-card:last-child {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}
.project-agents-page .ai-convo-card:hover { background: var(--hover-light); }
.project-agents-page .ai-convo-card:last-child { border-bottom: none; }
.pa-card-task { font-size: 12px; color: var(--light-text); }
.pa-review {display: flex;flex-wrap: wrap;gap: 20px;margin-top: 10px;}

.pa-review .btn {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 0!important;
    color: var(--light-text)!important;
    cursor: pointer;
}

.pa-review .btn, .pa-review .btn i {
    color: var(--light-text)!important;
}

.pa-review .btn:hover, .pa-review .btn:hover i {
    color: var(--primary)!important;
}
.pa-reviewed { display: inline-flex; align-items: center; gap: 4px; margin-top: 8px; font-size: 12px; color: var(--light-text); }
.pa-reviewed .material-symbols-outlined { font-size: 15px; }

/* TRUST: before/after diff in action-chip detail (shared â€” run-log rendering) */
.ai-run-diff { display: flex; align-items: center; gap: 6px; font-size: 12px; padding: 2px 0; }
.ai-run-diff-field { color: var(--light-text); text-transform: capitalize; min-width: 62px; }
.ai-run-diff-before { color: var(--light-text); text-decoration: line-through; opacity: 0.7; }
.ai-run-diff-after { color: var(--good, #4caf50); font-weight: 500; }
.ai-run-diff .material-symbols-outlined { font-size: 13px; color: var(--light-text); }

/* â”€â”€ Settings-proposal card (m.agentPatch â€” host-attached, admin agents copilot) â”€â”€ */
.ai-chat .ai-patch-card {
	margin: 10px 0 4px;
	border: 1px solid var(--light-border);
	border-radius: var(--border-radius-tiny);
	background: var(--light-white);
	padding: 20px;
}
.ai-chat .ai-patch-card.is-applied { border-color: var(--primary); }
.ai-chat .ai-patch-card-header { display: flex; align-items: center; gap: 8px; }
.ai-chat .ai-patch-card-header .material-symbols-outlined { font-size: 17px; color: var(--label); }
.ai-chat .ai-patch-card-title { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; color: var(--label); }
.ai-chat .ai-patch-card-summary { font-size: 13px; margin: 6px 0 0; }
.ai-chat .ai-patch-card-fields { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.ai-chat .ai-patch-chip { font-size: 11px; padding: 2px 8px; border-radius: 10px; background: var(--white); border: 1px solid var(--light-border); color: var(--label); }
.ai-chat .ai-patch-card-skipped { margin-top: 6px; font-size: 11px; }
.ai-chat .ai-patch-card-actions { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.ai-chat .ai-patch-card-actions .btn { font-size: 12px; height: 30px; line-height: 30px; padding: 0 14px; }
.ai-chat .ai-patch-card-applied { display: flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 12px; color: var(--primary); }
.ai-chat .ai-patch-card-applied .material-symbols-outlined { font-size: 16px; }

/* ps-073 chat cards: Collaborate's decision card and Plan's plan card, built on .ai-patch-card. */
.ai-chat .ai-decision { margin-top: 10px; }
.ai-chat .ai-decision + .ai-decision { padding-top: 10px; border-top: 1px solid var(--light-border); }
.ai-chat .ai-decision-question { font-size: 13px; font-weight: 600; }
.ai-chat .ai-decision-context { margin-top: 2px; font-size: 12px; }
.ai-chat .ai-decision-option { display: flex; align-items: flex-start; gap: 8px; margin-top: 6px; padding: 6px 8px; border: 1px solid var(--light-border); border-radius: 6px; cursor: pointer; }
.ai-chat .ai-decision-option .material-symbols-outlined { font-size: 18px; color: var(--label); }
.ai-chat .ai-decision-option.is-picked { border-color: var(--primary); }
.ai-chat .ai-decision-option.is-picked .material-symbols-outlined { color: var(--primary); }
.ai-chat .ai-decision-option.is-locked { cursor: default; }
.ai-chat .ai-decision-option-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ai-chat .ai-decision-option-label { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; }
.ai-chat .ai-decision-option-consequence { font-size: 12px; }
.ai-chat .ai-decision-badge { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; color: var(--primary); }
.ai-chat .ai-decision-other { margin-top: 6px; font-size: 13px; }
.ai-chat .ai-decision-other-answer,
.ai-chat .ai-decision-legwork { margin-top: 6px; font-size: 11px; }
.ai-chat .ai-plan-steps { margin: 8px 0 0; padding-left: 20px; }
.ai-chat .ai-plan-step { margin-top: 6px; font-size: 13px; }
.ai-chat .ai-plan-step-summary { display: block; }
.ai-chat .ai-plan-step-target { display: block; font-size: 11px; }
.ai-chat .ai-plan-step-warning { display: flex; align-items: center; gap: 4px; font-size: 11px; }
.ai-chat .ai-plan-step-warning .material-symbols-outlined { font-size: 14px; }
.ai-chat .ai-plan-revise { display: flex; align-items: center; gap: 8px; margin-top: 8px; }

/* Project Agents sidebar rows (standard sidebar-list-items / sli idiom) */
.agents-sidebar-row { display: flex; align-items: center; gap: 8px; }

.sli.agents-sidebar-row .ai-icon {
    margin-left: 0;
}
.agents-sidebar-glyph { width: 22px; height: 22px; min-width: 22px; border-radius: 50%; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; object-fit: cover; }
.agents-sidebar-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agents-sidebar-empty { padding: 20px 0; text-align: center; }
.agents-sidebar-hint {line-height: 1.4;padding: 4px 25px;}

/* Project Agents â€” condensed composer bar (minimal, mirrors the ai-chat composer) */
.pa-composer {/* border: 1px solid var(--border); */border-radius: var(--border-radius-tiny);background: var(--white);padding: 20px 20px 10px;box-shadow: var(--box-shadow);position: relative;}
.pa-composer:focus-within { border-color: var(--primary); }
.pa-composer-input { width: 100%; border: none; background: transparent; color: var(--black); font-size: 14px; line-height: 1.45; resize: none; outline: none; min-height: 22px; max-height: 160px; padding: 1px 0; overflow-y: auto; }
.pa-composer-bar { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.pa-composer-spacer { flex: 1 1 auto; }
.pa-composer-ctl.dropdown-selector { margin: 0; padding: 0; height: auto; min-height: 0; border: none; background: transparent; }
.pa-composer-ctl .ds-text { display: inline-flex; align-items: center; gap: 5px; color: var(--light-text); font-size: 12px; }
.pa-composer-ctl .ds-text .agent-glyph, .pa-composer-ctl .ds-text .intelligence-img { width: 18px; height: 18px; min-width: 18px; border-radius: 50%; font-size: 10px; display: inline-flex; align-items: center; justify-content: center; object-fit: cover; }
.pa-composer-ctl .ds-text > i { font-size: 18px; }
/* Compact scope toggle */
.pa-scope-mini {display: inline-flex;/* border: 1px solid var(--light-border); */border-radius: var(--border-radius-xs);overflow: hidden;background-color: var(--background-color);}
.pa-scope-mini-btn {border: none;background: transparent;color: var(--light-text);font-size: 12px;padding: 3px 12px;cursor: pointer;}
.pa-scope-mini-btn.active { background: var(--primary); color: var(--white); }
/* Inline task picker */
.pa-task-inline { position: relative; }
.pa-task-chip { display: inline-flex; align-items: center; gap: 3px; font-size: 12px; padding: 3px 5px 3px 10px; background: var(--extra-light); border-radius: 12px; color: var(--black); cursor: pointer; }
.pa-task-chip .material-symbols-outlined { font-size: 15px; opacity: 0.6; }
.pa-task-mini-input { border: 1px solid var(--light-border); background: var(--background-color); border-radius: 12px; padding: 3px 10px; font-size: 12px; color: var(--black); width: 150px; }
.pa-task-inline .pa-task-results { position: absolute; z-index: 20; left: 0; top: 30px; min-width: 260px; border: 1px solid var(--light-border); border-radius: var(--border-radius-tiny); background: var(--background-color); box-shadow: var(--box-shadow); max-height: 260px; overflow-y: auto; }
/* Send */
.pa-composer-send {display: inline-flex;align-items: center;justify-content: center;width: 34px;height: 34px;min-width: 34px;border: none;border-radius: 5px;background: var(--primary);color: var(--white);cursor: pointer;}

.pa-composer-send i {
    color: var(--awhite);
}
.pa-composer-send:disabled { opacity: 0.4; cursor: default; }
.pa-composer-send .material-symbols-outlined { font-size: 19px; }
.pa-example-asks { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.pa-example-label { margin-right: 2px; text-transform: uppercase; letter-spacing: 0.04em; font-size: 11px; }
.pa-example-chip { border: 1px solid var(--light-border); background: var(--extra-light); color: var(--black); border-radius: 14px; padding: 4px 12px; font-size: 12px; cursor: pointer; text-align: left; max-width: 100%; transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease; }
.pa-example-chip:hover { background: var(--primary); border-color: var(--primary); color: var(--white); }


.ai-action-back {
    display: flex;
    height: 50px;
    align-items: center;
    padding: 0 20px;
    font-weight: 400;
    border-bottom: 1px solid var(--light-border);
    cursor: pointer;
}

.ai-action-back:hover {
    background-color: var(--hover-item);
}

/* "With an agent" â€” delegated work folded out of the active task list. */
.with-agent-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    font-size: 11px;
    color: var(--light-text);
    cursor: pointer;
    user-select: none;
    transition: color .3s ease-in-out;
}
.with-agent-toggle i { font-size: 16px; }
.with-agent-toggle:hover, .with-agent-toggle:hover i { color: var(--primary); }

/* Â§v4 attached context chips (the "/" picker). Mirrors .ai-chat-selection so the composer reads
   as one family. */
.ai-chat-context {display: flex;flex-wrap: wrap;/* gap: 6px; */padding: 0 0 6px;}

.ai-chat-prompt .ai-chat-context {
    padding: 0;
}
.ai-chat-context-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--label);
    background: var(--extra-light);
    border-radius: var(--border-radius-tiny);
    padding: 3px 6px 3px 9px;
    max-width: 260px;
}
.ai-chat-context-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-chat-context-project { color: var(--light-text); flex: 0 0 auto; }
.ai-chat-context-remove { cursor: pointer; color: var(--light-text); line-height: 1; padding: 0 2px; transition: color .3s ease-in-out; }
.ai-chat-context-remove:hover { color: var(--warning); }
/* '#' glyph + project sub-label in the "/" menu (shares .ai-chat-mention-* chrome). */
.ai-chat-mention-sub { margin-left: auto; font-size: 10px; color: var(--light-text); }
.ai-chat-mention-item.is-empty { color: var(--light-text); cursor: default; font-size: 11px; }

/* Â§v4 attach-context control + its menu. */
.ai-chat-context-menu { min-width: 320px; max-height: 340px; overflow-y: auto; }
.ai-chat-context-search input { margin: 0; height: 30px; font-size: 12px; }
.ai-chat-context-num { color: var(--light-text); margin-right: 4px; }
.ai-chat-context-btn i { font-size: 20px; }

/* Â§v4 "/" picker â€” an inline list above the composer (no floating/caret positioning to get wrong). */
.ai-chat-slash-menu {
    /* border: 1px solid var(--border); */
    border-radius: var(--border-radius-tiny);
    background: var(--white);
    max-height: 260px;
    overflow-y: auto;
    margin-bottom: 6px;
    box-shadow: var(--box-shadow);
}
.ai-chat-slash-head {
    display: flex;
    align-items: center;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--light-text);
    padding: 6px 10px;
    border-bottom: 1px solid var(--light-border);
}
.ai-chat-slash-esc { margin-left: auto; text-transform: none; letter-spacing: 0; cursor: pointer; }
.ai-chat-slash-esc:hover { color: var(--primary); }
.ai-chat-slash-empty { padding: 10px; font-size: 11px; color: var(--light-text); }
/* Shared row: number, name, then the project pushed right â€” stops "#13#13 Market researchOps". */
.ai-chat-context-row {display: flex;align-items: center;gap: 6px;padding: 0px 15px;cursor: pointer;font-size: 12px;user-select: none;}
.ai-chat-context-row:hover { background: var(--hover-item); }
.ai-chat-context-row .ai-chat-context-num {color: var(--light-text);flex: 0 0 auto;font-size: 10px;}
.ai-chat-context-row .ai-chat-context-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-chat-context-row .ai-chat-context-project { margin-left: auto; font-size: 10px; color: var(--light-text); flex: 0 0 auto; }

/* Slash-menu keyboard highlight + multi-add toggle. */
.ai-chat-context-row.slash-active { background-color: var(--hover-item); }
.ai-chat-slash-toggle {
    /* margin-left: auto; */
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    color: var(--light-text);
    flex: 0 0 auto;
}
.ai-chat-slash-toggle i { font-size: 16px; }
.ai-chat-slash-toggle:hover { background: var(--white); color: var(--primary); }
.ai-chat-context-row.slash-attached .ai-chat-slash-toggle i { color: var(--primary); }
.ai-chat-context-row.slash-attached .ai-chat-slash-toggle:hover { color: var(--warning); }

/* Locked agent chip inside a thread â€” informative, not interactive. */
.ai-agent-picker-locked { cursor: default; opacity: .75; }
.ai-agent-picker-locked .ds-text:hover, .ai-agent-picker-locked .ds-text:hover i { color: inherit !important; }

/* Â§v5 optimistic echo + working row. Echo mirrors a user turn; slightly dimmed until canonical. */
.ai-chat-echo .ai-chat-msg-user { opacity: .85; }
.ai-chat-working {
    display: flex; align-items: center; gap: 8px;
    padding: 10px 21px; font-size: 12.5px; color: var(--light-text);
}
.ai-chat-working i { font-size: 16px; color: var(--label, #3a46b8); }

/* Â§v5 plans list in the agents tab. */
.agents-plans-list {padding: 0;box-shadow: var(--box-shadow);border-radius: var(--border-radius-tiny);}
.agents-plans-row { display: flex; align-items: baseline; gap: 9px; padding: 6px 4px; font-size: 12.5px; color: var(--black); cursor: pointer; border-radius: var(--border-radius-tiny); }
.agents-plans-row:hover { background: var(--hover-item); }
.agents-plans-row i {font-size: 15px;color: var(--label, #3a46b8);/* align-self: center; */}
.apl-title {font-weight: 500;line-height: normal;}
.apl-meta {color: var(--light-text);font-size: 11.5px;min-width: 60px;text-align: right;}
.apl-when {margin-left: auto;color: var(--light-text);font-size: 11px;min-width: 85px;text-align: right;}

/* Â§v5 âŠ• add menu + file chips. */
.ai-chat-add-btn i { font-size: 21px; }
.ai-chat-add-menu .ai-action { height: 42px; display: flex; align-items: center; cursor: pointer; }
.ai-chat-add-menu .ai-action i.left { font-size: 17px; margin-right: 8px; }
.ai-chat-file-chip { display: flex; align-items: center; gap: 6px; padding: 4px 8px; max-width: 240px; }
.ai-chat-file-chip i { font-size: 16px; color: var(--label, #3a46b8); flex: 0 0 auto; }
.ai-chat-file-name { font-size: 12px; color: var(--black); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Â§v5 slash drill-down rows. */
.ai-chat-context-row.slash-nav { color: var(--light-text); }
.slash-nav-icon { font-size: 16px; color: var(--label, #3a46b8); flex: 0 0 auto; }

/* Â§v5 agent-picker search + subtext rows. */
.ai-agent-search input {margin: 0;height: 32px;font-size: 12.5px;display: flex;}
.the-agent-selector .ai-action-with-subtext {flex-direction: column;align-items: flex-start;gap: 0px;}

.the-agent-selector .ai-action-with-subtext > span:first-child {
    font-weight: 400;
}
.the-agent-selector .ai-action-with-subtext .sub-text {font-size: 11px;line-height: 1.5;}
.agent-glyph-icon { font-size: 18px; }

/* Â§v5 fork chip on thread cards. */
.agents-fork-chip { display: inline-flex; align-items: center; gap: 3px; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; color: var(--light-text); background: var(--hover-item); border-radius: 999px; padding: 1px 8px; margin-left: 6px; }
.agents-fork-chip i { font-size: 12px; transform: rotate(180deg); }

/* Â§v6 Actions taken â€” the artifact is the headline. */
.ai-run-action-group {margin-bottom: 4px;width: 100%;}
.ai-run-artifact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /* gap: 8px; */
    padding: 10px 15px;
    line-height: normal;
    font-size: 13px;
    color: var(--black);
    background-color: var(--light-white);
    width: 100%;
}

.ai-run-actions-list {
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
}

.ai-run-artifact:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.ai-run-artifact:last-child {
    border-bottom-left-radius: var(--border-radius-tiny);
    border-bottom-right-radius: var(--border-radius-tiny);
}
.ai-run-artifact > i { font-size: 15px; color: var(--label, #3a46b8); flex: 0 0 auto; margin-top: 1px; }
.ara-body { flex: 1 1 auto; min-width: 0; }
.ara-title {/* font-weight: 500; */}
.ara-excerpt {line-height: 20px;}
.ara-link {flex: 0 0 auto;color: var(--primary);font-size: 12px;font-weight: 400;white-space: nowrap;}

a.ara-link::before {
    content: '... ';
    color: var(--black);
    margin-left: -2px;
    margin-right: 3px;
    text-decoration: none!important;
}

a.ara-link:hover {
    text-decoration: none!important;
}
.ara-link:hover { text-decoration: underline; }


.ai-chat-settings-wrapper-left {
    display: flex;
    margin-right: auto;
    gap: 20px;
}

.arp-title-title {
    margin-top: 20px !important;
    display: flex;
    font-weight: 500;
    font-size: 14px;
    line-height: normal;
    margin-bottom: 4px;
}

.arp-title-description {
    font-size: 11px;
    line-height: normal;
    color: var(--light-text);
}

.ai-chat-settings-menu.agents-run-actions {
    right: 0!important;
    left: unset!important;
    z-index: 99999;
    display: none;
}

.ai-run-action-main-header {
    font-weight: 600;
}

.ai-chat-close-suggestions {
    position: absolute;
    top: 0;
    right: 0;
    width: 25px;
    height: 25px;
    line-height: 25px;
    display: flex;
    vertical-align: middle;
    justify-content: center;
    cursor: pointer;
    user-select: none;
}

.ai-chat-close-suggestions i {
    line-height: 25px;
}

.ai-chat-close-suggestions i {
    color: var(--primary);
}

.ai-chat-suggestions-help-tooltip {
    max-width: 50%;
    width: 100%;
    position: relative;
    background-color: var(--white);
    z-index: 9999;
    position: absolute;
    bottom: 0;
    left: 0;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
}

.ai-chat-suggestions-help {
    display: flex;
    align-items: center;
    margin-left: -15px;
    user-select: none;
    cursor: pointer;
}

.ai-chat-suggestions-help:hover i {
    color: var(--primary);
}

/* Deprecated / admin-disabled pin badge on the <ai-chat> model row. The pin still
   runs server-side, so it stays visible — this is the only cue that it is on its
   way out (or is being substituted every turn). */
.ai-action .model-lifecycle-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
    padding: 1px 5px;
    margin-left: 6px;
    border-radius: var(--border-radius-tiny);
    color: var(--warning);
    background-color: var(--background-color);
    vertical-align: middle;
    white-space: nowrap;
}

/* ==========================================================================
   §voice — mic dictation, read-aloud, hands-free
   Matches the visual weight of .ai-chat-add-btn (see :899 / :1056 / :2889).
   `--danger` is not defined anywhere in this app — the recording accent uses
   var(--warning, #F44336). The pulse keyframe is namespaced (aiVoicePulse)
   because three stylesheets already define a differently-shaped `pulse`.
   ========================================================================== */

@keyframes aiVoicePulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%      { opacity: 0.35; transform: scale(0.82); }
}

.chat-buttons-wrapper .ai-chat-mic-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn.ai-chat-mic-btn i,
.btn.ai-chat-rec-cancel i {
    line-height: normal!important;
    height: unset!important;
}

.ai-chat-mic-btn i { font-size: 21px; }

/* §voice HANDS-FREE button, right of the mic (voice-speed-021). Off: a plain icon like
   the mic. On: .ai-icon-button (css/components/ai-gradient.css), its fill a circle
   inside the 50px cell, as the AI tab's is a tile. */
.chat-buttons-wrapper .ai-chat-handsfree-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    --ai-fill-inset: 9px;
    --ai-fill-radius: 50%;
}

.btn.ai-chat-handsfree-btn i {
    line-height: normal!important;
    height: unset!important;
    font-size: 21px;
}

.ai-chat-mic-btn.is-recording i,
.ai-chat-mic-btn.is-recording {
    color: var(--warning, #F44336);
}

.ai-chat-mic-btn.is-transcribing i {
    color: var(--label, #3a46b8);
    animation: ars-rotate 1.1s linear infinite;
}

/* The pulsing red dot that says "we are listening right now". */
.ai-chat-rec-dot {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: var(--warning, #F44336);
    animation: aiVoicePulse 1.2s ease-in-out infinite;
    pointer-events: none;
}

.ai-chat-rec-timer {
    /* font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace); */
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    color: var(--light-text);
    margin: 0 2px 0 4px;
    align-self: center;
    user-select: none;
    line-height: normal;
}

.ai-chat-rec-status {
    font-size: 11px;
    color: var(--light-text);
    align-self: center;
    margin-left: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 240px;
    user-select: none;
    line-height: normal;
    position: absolute;
    bottom: 5px;
    right: 25px;
}

.ai-chat-rec-timer.is-warning {
    color: var(--warning, #F44336);
    font-weight: 600;
}

.ai-chat-rec-cancel i { font-size: 18px; }

.ai-chat-rec-cancel:hover i {
    color: var(--warning, #F44336);
}

/* Read-aloud, in the per-message action row beside Copy. Sizing is inherited from
   .ai-chat-msg-actions .btn/.btn i — only the active state needs a rule, and it needs
   !important to beat that row's `color: var(--light-text)!important`. */
.ai-chat .ai-chat-msg-actions .ai-chat-msg-speak.is-speaking i {
    color: var(--primary)!important;
    font-variation-settings: 'FILL' 1;
}

/* Hands-free status strip — sits directly above the composer while the loop runs. */
.ai-chat-handsfree-strip {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 5px 5px 10px;
    margin-bottom: 6px;
    border-radius: var(--border-radius-tiny) var(--border-radius-tiny) 0 0;
    background-color: var(--extra-light);
    border: 1px solid var(--light-border);
    font-size: 12.5px;
    color: var(--black);
    cursor: pointer;
    user-select: none;
    line-height: normal;
}

.ai-chat-handsfree-strip .hf-label {
    font-weight: 500;
    /* letter-spacing: 0.1px; */
    color: var(--primary);
}

/* Screen-reader-only live region: one "Listening" per turn. */
.ai-chat-handsfree-strip .hf-announce {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.ai-chat-handsfree-strip .hf-interrupt,
.ai-chat-handsfree-strip .hf-stop {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    width: auto!important;
}

.ai-chat-handsfree-strip .hf-interrupt { margin-left: auto; }

.ai-chat-handsfree-strip .hf-interrupt + .hf-stop { margin-left: 0; }

.ai-chat-handsfree-strip .hf-stop { margin-left: auto; }

.ai-chat-handsfree-strip .hf-interrupt i,
.ai-chat-handsfree-strip .hf-interrupt-label,
.ai-chat-handsfree-strip .hf-stop i,
.ai-chat-handsfree-strip .hf-stop-label {
    color: var(--light-text)!important;
    line-height: normal!important;
    height: unset!important;
}

.ai-chat-handsfree-strip .hf-interrupt i,
.ai-chat-handsfree-strip .hf-stop i {font-size: 16px;transition: none;}

.ai-chat-handsfree-strip .hf-interrupt-label,
.ai-chat-handsfree-strip .hf-stop-label { font-size: 12px; }

.ai-chat-handsfree-strip .hf-interrupt:hover i,
.ai-chat-handsfree-strip .hf-interrupt:hover .hf-interrupt-label {
    color: var(--primary-color)!important;
}

.ai-chat-handsfree-strip .hf-stop:hover i,
.ai-chat-handsfree-strip .hf-stop:hover .hf-stop-label {
    color: var(--warning, #F44336)!important;
}

.ai-chat-handsfree-strip.hf-speaking {
    /* border-color: var(--primary); */
}

/* The voice blob — the phone's voice visual (jtsyn-mobile VoiceBlob.tsx) in CSS, in
   place of the strips' old status dot. Three soft radial layers, an outer halo, an
   inner halo and a core, breathe and drift out of phase, so it never reads as a clean
   circle. Each state leads with a different stop of the AI palette (--ai-grad-1..4 in
   variables.css, dark-aware), as on the phone: blue at rest, sky while listening,
   violet while transcribing or thinking, magenta while speaking, red on an error.

   --vb-energy (0..1) swells and brightens all three layers, as the phone's `energy`
   does: while listening it is --vlevel, the mic level the silence detector already
   reads (aiChat.js writes it on the element); speech playback has no level to read,
   so while speaking it follows the phone's 0.52s cadence up to 0.75. The swell is the
   phone's x1.5: at 28px its 22% is three pixels, which reads as no reaction at all.
   The halos reach past the 28px box: the strips don't clip, so give it room. */
@property --vb-energy {
    syntax: '<number>';
    inherits: true;
    initial-value: 0;
}

.ai-voice-blob {
    --vb-core: var(--ai-grad-1);
    --vb-a: var(--ai-grad-2);
    --vb-b: var(--ai-grad-4);
    --vb-energy: 0;
    position: relative;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    pointer-events: none;
    transition: --vb-energy 0.12s ease-out;
}

.ai-voice-blob .vb-halo,
.ai-voice-blob .vb-core {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: radial-gradient(circle closest-side,
        var(--vb-c) 0%,
        color-mix(in srgb, var(--vb-c) 45%, transparent) 45%,
        color-mix(in srgb, var(--vb-c) 12%, transparent) 75%,
        transparent 100%);
}

/* Each layer: breathe and drift animate `scale` / `translate` (or `transform` on the
   core), and the energy uses whichever of the two is left, so they compose. */
.ai-voice-blob .vb-b {
    --vb-c: var(--vb-b);
    opacity: calc(0.45 + var(--vb-energy) * 0.25);
    transform: scale(calc(1 + var(--vb-energy) * 0.24));
    animation: aiVbDriftB 12.5s linear infinite, aiVbBreatheB 4.2s ease-in-out infinite alternate;
}

.ai-voice-blob .vb-a {
    --vb-c: var(--vb-a);
    opacity: calc(0.6 + var(--vb-energy) * 0.25);
    transform: scale(calc(1 + var(--vb-energy) * 0.18));
    animation: aiVbDriftA 9s linear infinite, aiVbBreatheA 4.2s ease-in-out infinite alternate;
}

.ai-voice-blob .vb-core {
    --vb-c: var(--vb-core);
    opacity: calc(0.9 + var(--vb-energy) * 0.1);
    scale: calc(1 + var(--vb-energy) * 0.33);
    animation: aiVbBreathe 4.2s ease-in-out infinite alternate;
}

.ai-voice-blob[data-state="listening"] {
    --vb-core: var(--ai-grad-4);
    --vb-a: var(--ai-grad-1);
    --vb-b: var(--ai-grad-2);
    --vb-energy: var(--vlevel, 0);
}

/* GPT-Live setting up its session (voice-speed step 3) works like transcribing and thinking. */
.ai-voice-blob[data-state="connecting"],
.ai-voice-blob[data-state="transcribing"],
.ai-voice-blob[data-state="thinking"] { --vb-core: var(--ai-grad-2); --vb-a: var(--ai-grad-3); --vb-b: var(--ai-grad-1); }

.ai-voice-blob[data-state="speaking"] {
    --vb-core: var(--ai-grad-3);
    --vb-a: var(--ai-grad-2);
    --vb-b: var(--ai-grad-4);
    animation: aiVbSpeech 0.52s ease-in-out infinite alternate;
}

.ai-voice-blob[data-state="error"] { --vb-core: var(--warning, #F44336); --vb-a: #B71C1C; --vb-b: #B71C1C; }

/* The docked view waits here (its voice sheet is open, or hands-free is off): the rest colour. */
.ai-voice-blob[data-state="ready"] { --vb-core: var(--ai-grad-1); }

/* While it speaks, the docked view's orb follows the reply's own audio once that can be
   read (--slevel, written by aiChat.js); until then, and where a browser can't read it,
   the cadence above. */
.ai-voice-blob.has-level[data-state="speaking"] {
    animation: none;
    --vb-energy: var(--slevel, 0);
}

@keyframes aiVbBreathe { from { transform: scale(0.97); } to { transform: scale(1.03); } }
@keyframes aiVbBreatheA { from { scale: 1.06; } to { scale: 1.14; } }
@keyframes aiVbBreatheB { from { scale: 1.2; } to { scale: 1.1; } }
@keyframes aiVbDriftA { 0%, 100% { translate: 0 0; } 33% { translate: 5% -4%; } 66% { translate: -4% 5%; } }
@keyframes aiVbDriftB { 0%, 100% { translate: 0 0; } 50% { translate: -6% 5%; } }
@keyframes aiVbSpeech { from { --vb-energy: 0; } to { --vb-energy: 0.75; } }

/* The cap beside the running clock ("0:14 / 10:00") — present but recessive, so the
   elapsed time stays the number the eye lands on. */
.ai-chat-rec-timer .ai-chat-rec-max {
    opacity: 0.6;
    font-weight: 400;
}

/* §v8 Read-aloud LOADING state: synthesizeSpeech is a round-trip (and a cold start on
   first use), so the button says "working" instead of looking dead. The spinner replaces
   the icon in place — same box, no layout shift — and the button stays clickable to cancel. */
.ai-chat .ai-chat-msg-actions .ai-chat-msg-speak.is-loading i {
    color: var(--label, #3a46b8)!important;
}

.ai-chat-speak-spinner {
    animation: ars-rotate 1.1s linear infinite;
}

/* §v11 Read-aloud strip — the guaranteed Stop for auto-read, which owns no per-message
   button. Same shape as the hands-free strip so the two read as one family, but it is
   NOT a click target itself: only the Stop button acts. */
.ai-chat-reading-strip {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 0 0 8px;
    margin-bottom: 6px;
    border-radius: var(--border-radius-tiny) var(--border-radius-tiny) 0 0;
    background-color: var(--extra-light);
    border-bottom: 1px solid var(--light-border);
    font-size: 12px;
    color: var(--black);
    user-select: none;
    line-height: normal;
    height: 40px;
}

.ai-chat-reading-strip .hf-label {
    font-weight: 500;
    letter-spacing: 0.1px;
}

.ai-chat-reading-strip .hf-announce {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.ai-chat-reading-strip .hf-stop {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    width: auto!important;
    margin-left: auto;
}

.ai-chat-reading-strip .hf-stop i,
.ai-chat-reading-strip .hf-stop-label {
    color: var(--light-text)!important;
    line-height: normal!important;
    height: unset!important;
}

.ai-chat-reading-strip .hf-stop i {font-size: 16px;transition: none;}
.ai-chat-reading-strip .hf-stop-label { font-size: 12px; }

.ai-chat-reading-strip .hf-stop:hover i,
.ai-chat-reading-strip .hf-stop:hover .hf-stop-label {
    color: var(--warning, #F44336)!important;
}

/* Motion is decoration here — every state is also carried by color + text. The voice
   blob holds still, including its swell with your voice. */
@media (prefers-reduced-motion: reduce) {
    .ai-chat-rec-dot,
    .ai-chat-mic-btn.is-transcribing i,
    .ai-voice-blob,
    .ai-voice-blob .vb-halo,
    .ai-voice-blob .vb-core,
    .ai-chat-speak-spinner {
        animation: none !important;
    }

    .ai-voice-blob {
        --vb-energy: 0 !important;
        transition: none;
    }
}


/* ============================================================
   §voice THE DOCKED VOICE VIEW (voice-speed-022; William, 2026-10-01: "D1 is perfect").
   With hands-free on, in a host that opts in (the AI panel), voice fills <ai-chat> in
   place of the thread and the composer: End voice, the voice chip and the hands-free
   toggle across the top; the orb and its state; A1's captions; one control. The full
   reply (A2's highlight) and the voice sheet (B1) open inside it. It follows the app's
   theme. Mockups: https://claude.ai/artifact/32N5FEZEipGR6vdbt1JYgp
   ============================================================ */

/* The thread stays mounted underneath (nothing reloads when voice ends); it, the
   composer and the drop overlay are just out of view. */
.ai-chat.is-voice-view > .ai-chat-messages,
.ai-chat.is-voice-view > .prompt-container.ai-chat-prompt,
.ai-chat.is-voice-view > .ai-chat-dropzone {
    display: none !important;
}

.ai-voice-view {
    --vv-wash: 11%;      /* the AI palette washed over the background */
    --vv-hl: 20%;        /* A2's highlight behind the sentence being said */
    --vv-orb: clamp(72px, calc((100cqh - 380px) / 1.6), 150px);
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: var(--black);
    background-color: var(--light-white);
    line-height: normal;
    /* The orb takes the room the panel has: on a short window its default size pushed
       the captions off the bottom. */
    container-type: size;
}

.dark .ai-voice-view {
    --vv-wash: 22%;
    --vv-hl: 30%;
}

.ai-voice-wash {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(62% 46% at 16% 24%, color-mix(in srgb, var(--ai-grad-1) var(--vv-wash), transparent), transparent 72%),
        radial-gradient(56% 42% at 88% 40%, color-mix(in srgb, var(--ai-grad-2) calc(var(--vv-wash) * 0.8), transparent), transparent 72%),
        radial-gradient(80% 52% at 50% 104%, color-mix(in srgb, var(--ai-grad-4) calc(var(--vv-wash) * 0.7), transparent), transparent 74%);
}

.ai-voice-main {
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 22px;
    /* Only on a window too short even for the compact layout below: the control must
       stay reachable (with hands-free off, Talk is the only way to speak). */
    overflow-y: auto;
}

/* Buttons here are drawn by these rules alone: Materialize paints every focused
   <button> in its accent (button:focus), and the nav's icon rules reach in too. */
.ai-voice-view button {
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
}

.ai-voice-view button:focus {
    outline: none;
}

.ai-voice-view button:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.ai-voice-view p {
    margin: 0;
}

/* End voice, the voice chip, hands-free. The sides put End voice's × under the
   conversation bar's back arrow and the hands-free icon under its "…". */
.ai-voice-top {
    flex: none;
    align-self: stretch;
    height: 56px;
    padding: 0 29px 0 23px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

.ai-voice-view .ai-voice-end,
.ai-voice-view .ai-voice-end:focus {
    justify-self: start;
    height: 30px;
    padding: 0 11px 0 7px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1px solid var(--light-border);
    border-radius: 15px;
    background-color: color-mix(in srgb, var(--white) 72%, transparent);
    color: var(--black);
    font-size: 12.5px;
    font-weight: 500;
    white-space: nowrap;
}

.ai-voice-view .ai-voice-end:hover {
    border-color: var(--border);
    background-color: var(--white);
}

.ai-voice-view .ai-voice-end i {
    font-size: 17px;
    color: var(--light-text);
}

.ai-voice-view .ai-voice-chip,
.ai-voice-view .ai-voice-chip:focus {
    max-width: 100%;
    height: 30px;
    padding: 0 5px 0 10px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background-color: var(--white);
    color: var(--black);
    font-size: 12.5px;
    font-weight: 500;
    white-space: nowrap;
}

.ai-voice-view .ai-voice-chip:hover {
    border-color: var(--light-text);
}

.ai-voice-view .ai-voice-chip i {
    font-size: 16px;
    color: var(--light-text);
}

.ai-voice-view .ai-voice-chip .ai-voice-caret {
    margin-left: -3px;
    font-size: 18px;
}

/* Hands-free: off it's a plain icon; on it wears the AI fill (.ai-icon-button). */
.ai-voice-view .ai-voice-hf,
.ai-voice-view .ai-voice-hf:focus {
    --ai-fill-radius: 50%;
    justify-self: end;
    width: 34px;
    height: 34px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background-color: transparent;
}

.ai-voice-view .ai-voice-hf:not(.ai-icon-button):hover {
    background-color: var(--hover-light);
}

.ai-voice-view .ai-voice-hf i {
    font-size: 19px;
    color: var(--light-text);
}

/* The orb: web's voice blob at the phone's size. The phone's swell (0.22, 0.12, 0.16),
   not the strip's x1.5: at this size it reads without help. The orb, its state, the
   words and the control stay together, centred in the room under the top row. */
.ai-voice-stage {
    position: relative;
    flex: none;
    height: calc(var(--vv-orb) * 1.45);
    margin-top: auto;
    align-self: stretch;
    display: grid;
    place-items: center;
}

.ai-voice-stage.is-interruptible {
    cursor: pointer;
}

.ai-voice-view .ai-voice-orb {
    width: var(--vv-orb);
    height: var(--vv-orb);
}

.ai-voice-view .ai-voice-orb .vb-core {
    scale: calc(1 + var(--vb-energy) * 0.22);
}

.ai-voice-view .ai-voice-orb .vb-a {
    transform: scale(calc(1 + var(--vb-energy) * 0.12));
}

.ai-voice-view .ai-voice-orb .vb-b {
    transform: scale(calc(1 + var(--vb-energy) * 0.16));
}

.ai-voice-view .ai-voice-state {
    flex: none;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.4px;
    text-align: center;
    color: var(--light-text);
}

/* Screen-reader-only: one "Listening" or "Ready" per turn. */
.ai-voice-view .hf-announce {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* Under the state: the hint while it listens, your words while it works on the answer,
   the captions while it speaks. A fixed height, so nothing jumps between states. */
.ai-voice-words {
    flex: 0 1 150px;
    min-height: 72px;
    align-self: stretch;
    margin-top: 10px;
    padding: 0 34px;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
}

.ai-voice-view .ai-voice-hint {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
    color: var(--light-text);
}

.ai-voice-view .ai-voice-heard {
    margin-top: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
    color: var(--black);
    opacity: 0.72;
}

.ai-voice-view .ai-voice-captions-btn,
.ai-voice-view .ai-voice-captions-btn:focus {
    width: 100%;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    border: 0;
    border-radius: 10px;
    background-color: transparent;
    text-align: center;
}

/* A1's captions: bottom-anchored. The sentence being said is bright, the one before
   it dim, an older one fades out under the mask (the phone's CaptionStack). */
.ai-voice-capwin {
    position: relative;
    display: block;
    width: 100%;
    height: 114px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(transparent, #000 40%);
    mask-image: linear-gradient(transparent, #000 40%);
}

.ai-voice-capstack {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ai-voice-cap {
    display: block;
    font-size: 16.5px;
    line-height: 24px;
    color: var(--black);
    opacity: 0.16;
    text-wrap: balance;
    transition: opacity 0.6s ease;
}

.ai-voice-cap.is-prev {
    opacity: 0.42;
}

.ai-voice-cap.is-cur {
    opacity: 0.96;
    animation: aiVoiceCapIn 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* An older line keeps its end ("…on October 14."), as the phone's head ellipsis does. */
.ai-voice-cap.is-old {
    direction: rtl;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ai-voice-cap bdi {
    unicode-bidi: isolate;
}

@keyframes aiVoiceCapIn {
    from { opacity: 0; transform: translateY(10px); }
}

.ai-voice-caphint {
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0.2px;
    color: var(--light-text);
}

.ai-voice-captions-btn:hover .ai-voice-caphint {
    color: var(--primary);
}

/* The words area clips (overflow: hidden), so the ring sits inside the button. */
.ai-voice-view .ai-voice-captions-btn:focus-visible {
    outline-offset: -2px;
}

/* The one control. Send now, Talk and Interrupt wear the AI fill; Cancel is grey. */
.ai-voice-ctl {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    margin-bottom: auto;
}

.ai-voice-view .ai-voice-disc,
.ai-voice-view .ai-voice-disc:focus {
    --ai-fill-radius: 50%;
    width: 60px;
    height: 60px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background-color: transparent;
    box-shadow: 0 10px 22px -10px color-mix(in srgb, var(--ai-grad-2) 75%, transparent);
}

.ai-voice-view .ai-voice-disc i {
    font-size: 28px;
}

.ai-voice-view .ai-voice-disc.is-stop,
.ai-voice-view .ai-voice-disc.is-stop:focus {
    background-color: #37474f;
    box-shadow: none;
}

.ai-voice-view .ai-voice-disc.is-stop i {
    color: #ffffff;
}

.ai-voice-disc-label {
    font-size: 11.5px;
    font-weight: 500;
    color: var(--light-text);
}

/* The sheets open inside the view, over a scrim on the view alone: the page beside
   the panel stays clear. */
.ai-voice-scrim {
    position: absolute;
    inset: 0;
    z-index: 7;
    background-color: rgba(24, 24, 28, 0.16);
}

.dark .ai-voice-scrim {
    background-color: rgba(0, 0, 0, 0.45);
}

.ai-voice-sheet {
    position: absolute;
    z-index: 8;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    border-radius: 15px 15px 0 0;
    background-color: var(--white);
    box-shadow: 0 -12px 32px rgba(0, 0, 0, 0.12);
    animation: aiVoiceSheetIn 0.28s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.dark .ai-voice-sheet {
    box-shadow: 0 -12px 32px rgba(0, 0, 0, 0.55);
}

/* A click on its plain text keeps focus in the sheet (it's tabindex -1), so Esc closes
   the sheet rather than the panel. The sheet itself shows no ring. */
.ai-voice-sheet:focus {
    outline: none;
}

/* The full reply leaves the orb in view above it; the voice list takes most of it. */
.ai-voice-sheet.is-reply {
    height: 58%;
    min-height: min(280px, 100%);
}

.ai-voice-sheet.is-voices {
    height: 86%;
}

@keyframes aiVoiceSheetIn {
    from { opacity: 0; transform: translateY(24px); }
}

.ai-voice-sheet-head {
    flex: none;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 16px 12px 22px;
}

.ai-voice-view .ai-voice-sheet-title {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--black);
}

.ai-voice-view .ai-voice-sheet-sub {
    margin-top: 2px;
    font-size: 12px;
    color: var(--light-text);
}

.ai-voice-sheet-acts {
    flex: none;
    display: flex;
    gap: 6px;
}

.ai-voice-view .ai-voice-sheet-btn,
.ai-voice-view .ai-voice-sheet-btn:focus {
    height: 30px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 0;
    border-radius: 15px;
    background-color: var(--bgc);
    color: var(--black);
    font-size: 12.5px;
    font-weight: 500;
}

.ai-voice-view .ai-voice-sheet-btn i {
    font-size: 15px;
    color: var(--light-text);
}

.ai-voice-view .ai-voice-sheet-done,
.ai-voice-view .ai-voice-sheet-done:focus {
    background-color: color-mix(in srgb, var(--primary) 11%, transparent);
    color: var(--primary);
    font-weight: 600;
}

/* The full reply. A2's highlight: a soft AI-palette fill behind the sentence being
   said; what's been said is plain, what's still to come is lighter. */
.ai-voice-sheet-body {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 4px 22px 72px;
}

.ai-voice-sheet-body:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: -2px;
}

.ai-voice-view .ai-voice-asked-label {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.9px;
    text-transform: uppercase;
    color: var(--light-text);
}

.ai-voice-view .ai-voice-asked {
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--light-text);
}

.ai-voice-view .ai-voice-full {
    margin-top: 14px;
    font-size: 15px;
    line-height: 25px;
}

.ai-voice-s {
    margin: 0 -3px;
    padding: 1px 3px;
    border-radius: 4px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    color: var(--light-text);
    background: linear-gradient(100deg,
        color-mix(in srgb, var(--ai-grad-1) var(--vv-hl), transparent),
        color-mix(in srgb, var(--ai-grad-2) var(--vv-hl), transparent) 50%,
        color-mix(in srgb, var(--ai-grad-3) var(--vv-hl), transparent)) no-repeat 0 0 / 0% 100%;
    transition: color 0.5s ease, background-size 0.6s cubic-bezier(0.3, 0.7, 0.2, 1);
}

.ai-voice-s.is-done {
    color: color-mix(in srgb, var(--black) 86%, transparent);
}

.ai-voice-s.is-cur {
    color: var(--black);
    background-size: 100% 100%;
}

.ai-voice-view .ai-voice-note {
    margin-top: 14px;
    font-size: 12px;
    line-height: 1.5;
    color: var(--light-text);
}

.ai-voice-view .ai-voice-live,
.ai-voice-view .ai-voice-live:focus {
    position: absolute;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    height: 34px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--border);
    border-radius: 17px;
    background-color: var(--white);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
    color: var(--black);
    font-size: 12.5px;
    font-weight: 500;
}

.ai-voice-view .ai-voice-live i {
    font-size: 16px;
    color: var(--light-text);
}

/* The voice sheet (B1), in the list style Settings > Intelligence > Voice uses. */
.ai-voice-accent {
    flex: none;
    padding: 0 22px 14px;
    border-bottom: 1px solid var(--light-border);
}

.ai-voice-view .ai-voice-accent-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--light-text);
}

.ai-voice-seg {
    margin-top: 6px;
    padding: 2px;
    display: inline-grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    border-radius: 10px;
    background-color: var(--border);
}

.ai-voice-view .ai-voice-seg button,
.ai-voice-view .ai-voice-seg button:focus {
    min-width: 110px;
    min-height: 34px;
    padding: 0 16px;
    border: 0;
    border-radius: 8px;
    background-color: transparent;
    color: var(--light-text);
    font-size: 13px;
    font-weight: 500;
}

.ai-voice-view .ai-voice-seg button.is-on,
.ai-voice-view .ai-voice-seg button.is-on:focus {
    background-color: var(--white);
    color: var(--black);
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.ai-voice-view .ai-voice-accent-hint {
    margin-top: 6px;
    font-size: 12px;
    color: var(--light-text);
}

/* A Live voice or mode change applies when the sheet closes (a new session): said once, quietly,
   above the list it's about (2026-10-03). */
.ai-voice-view .ai-voice-pending {
    margin: 4px 0 8px;
    font-size: 12px;
    color: inherit;
}

.ai-voice-list {
    flex: 1 1 auto;
    min-height: 0;
    margin: 14px 22px 0;
    overflow-y: auto;
    border: 1px solid var(--border);
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
}

/* A short list (British's four voices) is a closed card that ends with its last voice;
   the long Standard list runs on past the sheet's edge. The sheet keeps its height either
   way, so the accent switch never moves under the pointer. */
.ai-voice-list.is-short {
    flex: 0 1 auto;
    border-bottom: 1px solid var(--border);
    border-radius: 10px;
}

.ai-voice-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px 6px 10px;
    border-top: 1px solid var(--border);
}

.ai-voice-row:first-child {
    border-top: 0;
}

.ai-voice-row.is-on {
    background-color: color-mix(in srgb, var(--primary) 8%, transparent);
}

.ai-voice-view .ai-voice-play,
.ai-voice-view .ai-voice-play:focus {
    flex: none;
    width: 34px;
    height: 34px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background-color: color-mix(in srgb, var(--primary) 12%, transparent);
}

.ai-voice-view .ai-voice-play i {
    font-size: 20px;
    color: var(--primary);
}

.ai-voice-view .ai-voice-play.is-playing,
.ai-voice-view .ai-voice-play.is-playing:focus {
    background-color: var(--primary);
}

.ai-voice-view .ai-voice-play.is-playing i {
    color: #ffffff;
}

.ai-voice-view .ai-voice-play[disabled] {
    opacity: 0.4;
    cursor: default;
}

.ai-voice-view .ai-voice-choose,
.ai-voice-view .ai-voice-choose:focus {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 40px;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 0;
    background-color: transparent;
    color: var(--black);
    text-align: left;
}

.ai-voice-text {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.ai-voice-name {
    font-size: 13.5px;
    font-weight: 500;
}

.ai-voice-best {
    margin-left: 6px;
    padding: 0 6px;
    display: inline-block;
    border: 1px solid var(--border);
    border-radius: 5px;
    font-size: 10.5px;
    font-weight: 500;
    line-height: 1.6;
    vertical-align: 1px;
    color: var(--light-text);
}

.ai-voice-desc {
    font-size: 12.5px;
    color: var(--light-text);
}

.ai-voice-view .ai-voice-check {
    font-size: 20px;
    color: var(--primary);
}

/* A short panel (a small window, or zoomed in): a smaller orb, three caption lines and
   tighter spacing, so the control stays in view. */
@container (max-height: 470px) {
    .ai-voice-main {
        --vv-orb: clamp(56px, calc((100cqh - 300px) / 1.6), 96px);
        padding-bottom: 12px;
    }

    .ai-voice-top {
        height: 48px;
    }

    .ai-voice-words {
        flex-basis: 108px;
        margin-top: 6px;
    }

    /* Room for the sentence being said only: a previous line would show cut in half. */
    .ai-voice-capwin {
        height: 72px;
        -webkit-mask-image: none;
        mask-image: none;
    }

    .ai-voice-cap.is-prev,
    .ai-voice-cap.is-old {
        display: none;
    }

    .ai-voice-view .ai-voice-hint,
    .ai-voice-view .ai-voice-heard {
        margin-top: 6px;
    }

    .ai-voice-view .ai-voice-heard {
        -webkit-line-clamp: 3;
    }
}

/* Motion is decoration: the captions, the highlight and the sheets hold still. The
   orb is stilled with every voice blob in the block above. */
@media (prefers-reduced-motion: reduce) {
    .ai-voice-cap.is-cur,
    .ai-voice-sheet {
        animation: none !important;
    }

    .ai-voice-cap,
    .ai-voice-s {
        transition: none !important;
    }
}

.intel-card-container {
    display: flex;
    gap: 5px;
}

.intel-card-container .admin-card {
    flex: 1;
}
/* ============================================================================
   AI gradient — the shared visual language for "this is AI".

   One palette (--ai-grad-1..4 in variables.css, dark-mode aware). For CONTROLS,
   use a ROLE class (see ROLES below): .ai-outline, .ai-icon-button, .ai-button.
   The primitives underneath are available for anything the roles don't cover.
   Put AI styling on a control by adding a class here, never by copying the
   gradient into a component rule:

     .ai-gradient-bg     Animated gradient fill for an AI button, chip or badge.
                         Icons inside it (material icons and <jtsyn-ai>) turn
                         white automatically.
     .ai-gradient-ring   Animated gradient border around any rounded container
                         (an input, a card). It sits ON the container's edge
                         and leaves its background alone.
                         Add .glow-on-focus for a soft halo while focus is
                         inside it, or .is-glowing for a halo at rest (sparingly).
                         --ai-ring-width sets the thickness (default 1px).
     .ai-gradient-text   Gradient-filled text for a label or wordmark.
     .ai-shimmer-text    A light sweep across muted text, as in "Thinking…".

   Motion: all of it stops for prefers-reduced-motion, which leaves the static
   gradient. The ring's rotation relies on @property; a browser without it shows
   the ring without the spin.

   First consumer: the project sidebar search/ask bar (style2.css, the section
   "Project sidebar: ONE bar, two modes").
   ============================================================================ */

@property --ai-angle {
    syntax: '<angle>';
    inherits: false;
    initial-value: 0deg;
}

/* ---- .ai-gradient-bg -------------------------------------------------------- */

.ai-gradient-bg {
    background-color: var(--ai-grad-1);
    background-image: linear-gradient(120deg, var(--ai-grad-1) 0%, var(--ai-grad-2) 35%, var(--ai-grad-3) 65%, var(--ai-grad-4) 100%);
    background-size: 280% 280%;
    color: var(--awhite);
    animation: ai-gradient-drift var(--ai-grad-speed) ease-in-out infinite alternate;
    transition: box-shadow .2s ease, filter .2s ease;
}

.ai-gradient-bg:hover {
    filter: saturate(1.15);
    box-shadow: 0 4px 14px -4px color-mix(in srgb, var(--ai-grad-2) 65%, transparent);
}

.ai-gradient-bg:focus-visible {
    outline: 2px solid var(--ai-grad-2);
    outline-offset: 2px;
}

/* Icons on the gradient are white. !important because this is a utility: it has
   to win over whatever icon colour the host component sets. */
.ai-gradient-bg .material-icons,
.ai-gradient-bg .material-symbols-outlined {
    color: var(--awhite) !important;
}

.ai-gradient-bg .jt-ai .jt-ai-word,
.ai-gradient-bg .jt-ai .jt-ai-spark {
    fill: var(--awhite) !important;
}

@keyframes ai-gradient-drift {
    from { background-position: 0% 50%; }
    to { background-position: 100% 50%; }
}

/* ---- .ai-gradient-ring ------------------------------------------------------ */

.ai-gradient-ring {
    position: relative;
    /* Keeps the halo (a negative z-index) inside this element's own layer: above the
       page behind it, below the element's content. */
    isolation: isolate;
}

.ai-gradient-ring::before,
.ai-gradient-ring.is-glowing::after,
.ai-gradient-ring.glow-on-focus:focus-within::after {
    content: '';
    position: absolute;
    border-radius: inherit;
    background: conic-gradient(from var(--ai-angle), var(--ai-grad-1), var(--ai-grad-2), var(--ai-grad-3), var(--ai-grad-4), var(--ai-grad-1));
    animation: ai-ring-spin var(--ai-ring-speed) linear infinite;
    pointer-events: none;
}

/* The ring: a gradient box masked down to a band exactly over the border line. */
.ai-gradient-ring::before {
    inset: calc(-1 * var(--ai-ring-width, 1px));
    padding: var(--ai-ring-width, 1px);
    -webkit-mask: linear-gradient(var(--awhite) 0 0) content-box, linear-gradient(var(--awhite) 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(var(--awhite) 0 0) content-box, linear-gradient(var(--awhite) 0 0);
    mask-composite: exclude;
    z-index: 3;
}

/* The halo: the same gradient, blurred, behind the element. */
.ai-gradient-ring.is-glowing::after,
.ai-gradient-ring.glow-on-focus:focus-within::after {
    inset: -3px;
    filter: blur(10px);
    opacity: .35;
    z-index: -1;
}

@keyframes ai-ring-spin {
    to { --ai-angle: 360deg; }
}

/* ---- .ai-gradient-text ------------------------------------------------------ */

.ai-gradient-text {
    background-image: linear-gradient(90deg, var(--ai-grad-1), var(--ai-grad-2), var(--ai-grad-3));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* ---- .ai-shimmer-text ------------------------------------------------------- */

.ai-shimmer-text {
    background-image: linear-gradient(90deg, var(--light-text) 0%, var(--light-text) 40%, var(--black) 50%, var(--light-text) 60%, var(--light-text) 100%);
    background-size: 250% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: ai-shimmer 1.8s linear infinite;
}

@keyframes ai-shimmer {
    from { background-position: 100% 0; }
    to { background-position: 0% 0; }
}

/* ============================================================================
   ROLES — how an AI control wears the gradient (William, 2026-09-23).
   Put ONE role class on the control; each role is built from the primitives above,
   so a new role is a few lines here, never a copy in a component stylesheet.

     .ai-outline      Gradient border only. For AI entry points that must not
                      outshine the control next to them, and AI surfaces such as
                      chat panels.
     .ai-icon-button  Icon-only AI / Agents button: animated fill, white icon.
                      Hover and the active states add a soft glow.
     .ai-button       Button with text (icon optional): gradient border at rest,
                      animated fill on hover, keyboard focus, or when active.
     .ai-ringed       With .ai-icon-button: the gradient border around the fill, a
                      gap between them (the project and task rails). Drawn on the
                      fill layer, so ::before stays free for the host (the rails'
                      current-page marker).
     Active = .active / .selected / .activated / [aria-pressed="true"] /
     [aria-selected="true"] — whatever the host already toggles.
     (The project sidebar's search/ask bar keeps its own treatment — the
     ask-mode .ai-gradient-ring above.)

   A role OWNS the control's edge and the colours on its fill: the host's own
   border turns transparent (its width stays, so nothing shifts), and on the fill
   text and icons are white whatever the host's rules say (the ai-roles layer
   below). So adding a role to an existing control needs no clean-up of its old
   hover or selected colours.

   Knobs, per control or per page:
     --ai-ring-width                 border thickness (default 1px)
     --ai-grad-speed, --ai-ring-speed animation pace
     --ai-fill-inset, --ai-fill-radius  draw the fill as a rounded tile inside
                                     the control instead of edge to edge, for a
                                     square tab in a tab bar (see chat.css).
     --ai-ring-gap                   .ai-ringed: the gap between the border and
                                     the fill (default 2px)
   ============================================================================ */

.ai-outline,
.ai-icon-button,
.ai-button {
    position: relative;
    isolation: isolate;
}

/* The gradient border: a band masked to the edge of the control, INSIDE its box (so
   a control that clips its overflow still shows it). */
.ai-outline::before,
.ai-button::before {
    content: '';
    position: absolute;
    inset: 0;
    padding: var(--ai-ring-width, 1px);
    border-radius: inherit;
    background: conic-gradient(from var(--ai-angle), var(--ai-grad-1), var(--ai-grad-2), var(--ai-grad-3), var(--ai-grad-4), var(--ai-grad-1));
    -webkit-mask: linear-gradient(var(--awhite) 0 0) content-box, linear-gradient(var(--awhite) 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(var(--awhite) 0 0) content-box, linear-gradient(var(--awhite) 0 0);
    mask-composite: exclude;
    animation: ai-ring-spin var(--ai-ring-speed) linear infinite;
    pointer-events: none;
    z-index: 1;
}

/* The animated fill: a layer under the control's content, so it fades in and out
   instead of snapping (a background-image cannot transition). */
.ai-icon-button::after,
.ai-button::after {
    content: '';
    position: absolute;
    inset: var(--ai-fill-inset, 0);
    border-radius: var(--ai-fill-radius, inherit);
    background-image: linear-gradient(120deg, var(--ai-grad-1) 0%, var(--ai-grad-2) 35%, var(--ai-grad-3) 65%, var(--ai-grad-4) 100%);
    background-size: 280% 280%;
    animation: ai-gradient-drift var(--ai-grad-speed) ease-in-out infinite alternate;
    transition: opacity .2s ease, box-shadow .2s ease;
    pointer-events: none;
    z-index: -1;
}

/* An icon button is always filled; a text button only when engaged. */
.ai-button::after {
    opacity: 0;
}

.ai-button:is(:hover, :focus-visible, .active, .selected, .activated, [aria-pressed="true"], [aria-selected="true"])::after {
    opacity: 1;
}

/* The glow sits on the fill layer, so it follows the tile when the fill is inset. */
.ai-icon-button:is(:hover, .active, .selected, .activated, [aria-pressed="true"], [aria-selected="true"])::after {
    box-shadow: 0 4px 14px -4px color-mix(in srgb, var(--ai-grad-2) 70%, transparent);
}

/* .ai-ringed: the border, a gap, then the fill as a tile, all on the fill layer. The mask keeps
   the border's band and the tile, so the gap shows whatever the control sits on. */
.ai-icon-button.ai-ringed::after {
    border: var(--ai-ring-width, 1px) solid transparent;
    padding: var(--ai-ring-gap, 2px);
    background:
        linear-gradient(120deg, var(--ai-grad-1) 0%, var(--ai-grad-2) 35%, var(--ai-grad-3) 65%, var(--ai-grad-4) 100%) content-box,
        conic-gradient(from var(--ai-angle), var(--ai-grad-1), var(--ai-grad-2), var(--ai-grad-3), var(--ai-grad-4), var(--ai-grad-1)) border-box;
    background-size: 280% 280%, auto;
    -webkit-mask: linear-gradient(var(--awhite) 0 0) content-box, linear-gradient(var(--awhite) 0 0) padding-box, linear-gradient(var(--awhite) 0 0) border-box;
    -webkit-mask-composite: source-over, xor;
    mask: linear-gradient(var(--awhite) 0 0) content-box, linear-gradient(var(--awhite) 0 0) padding-box, linear-gradient(var(--awhite) 0 0) border-box;
    mask-composite: add, exclude;
    animation: ai-gradient-drift var(--ai-grad-speed) ease-in-out infinite alternate, ai-ring-spin var(--ai-ring-speed) linear infinite;
}

/* The mask clips anything outside the fill layer, its glow too; a ringed button glows from its own box. */
.ai-icon-button.ai-ringed:is(:hover, .active, .selected, .activated, [aria-pressed="true"], [aria-selected="true"]) {
    box-shadow: 0 4px 14px -4px color-mix(in srgb, var(--ai-grad-2) 70%, transparent);
}

.ai-icon-button:focus-visible,
.ai-button:focus-visible {
    outline: 2px solid var(--ai-grad-2);
    outline-offset: 2px;
}

/* The declarations that must beat the host live in a cascade layer: an !important
   declaration inside a layer outranks every unlayered !important one, whatever
   its specificity. Without it, host rules such as `.chat-footer .btn.ai-btn:hover
   .jt-ai-word { fill: var(--primary) !important }` paint the mark in the brand
   colour on top of the gradient. Everything else in this file stays unlayered. */
@layer ai-roles {

    /* The role owns the edge: the host's border keeps its width but not its colour,
       and the host's own background stops inside it, so no sliver of a hover colour
       shows around the ring or the fill. */
    .ai-outline,
    .ai-icon-button,
    .ai-button {
        border-color: transparent !important;
        background-clip: padding-box !important;
    }

    /* A ringed button's gap stays the surface it sits on, whatever the host paints on hover or
       when active (a rail's grey active tile showed as a band between the border and the fill). */
    .ai-icon-button.ai-ringed {
        background-color: transparent !important;
    }

    /* On the fill, the control's text, every Material icon variant, the AI mark and
       the Agents mark are white. Badges and counts keep their own colours; a host
       that paints a plain text child with its own !important rule needs one line
       of its own (see .footer-number-of in style2.css). */
    .ai-icon-button,
    .ai-icon-button :is([class*="material-icons"], [class*="material-symbols"]),
    .ai-button:is(:hover, :focus-visible, .active, .selected, .activated, [aria-pressed="true"], [aria-selected="true"]),
    .ai-button:is(:hover, :focus-visible, .active, .selected, .activated, [aria-pressed="true"], [aria-selected="true"]) :is([class*="material-icons"], [class*="material-symbols"]) {
        color: var(--awhite) !important;
    }

    .ai-icon-button :is(.jt-ai-word, .jt-ai-spark, .jt-ag-letter, .jt-ag-spark),
    .ai-button:is(:hover, :focus-visible, .active, .selected, .activated, [aria-pressed="true"], [aria-selected="true"]) :is(.jt-ai-word, .jt-ai-spark, .jt-ag-letter, .jt-ag-spark) {
        fill: var(--awhite) !important;
    }

    .ai-icon-button .jt-ag-ring,
    .ai-button:is(:hover, :focus-visible, .active, .selected, .activated, [aria-pressed="true"], [aria-selected="true"]) .jt-ag-ring {
        stroke: var(--awhite) !important;
    }
}

/* ---- Reduced motion --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .ai-gradient-bg,
    .ai-gradient-ring::before,
    .ai-gradient-ring::after,
    .ai-outline::before,
    .ai-button::before,
    .ai-button::after,
    .ai-icon-button::after {
        animation: none !important;
    }

    /* Plain muted text rather than a frozen highlight. */
    .ai-shimmer-text {
        animation: none !important;
        background-image: none;
        color: var(--light-text);
    }
}

/* ============================================================================
   Task page feature rail (William, 2026-09-24).

   A vertical bar down the right edge of the task page's right panel, replacing the
   old horizontal bottom bar (.zj-specification-details-actions) and its "Change
   your views" dropdown, so no feature hides behind a menu.

     .spec-rail-features   one icon per feature, in the old dropdown's order;
                           scrolls on a short screen
     .spec-rail-actions    the current view's own actions (inline toggles, image
                           tools, time views); hidden when the view has none
     .spec-rail-pinned     Agents and Assistants, then full screen: always at the
                           bottom, always in the same place

   Hover or keyboard focus opens a flyout to the LEFT with the name and count: one
   shared, viewport-fixed element (.jt-rail-tip, the jt-rail-tip directive in
   directives.js), because a flyout inside the scrolling rail would be clipped.
   The AI icons wear .ai-icon-button (css/components/ai-gradient.css).

   Markup: views/pages/task/spec.item.html. On a phone the rail becomes a horizontal
   strip at the bottom, the old bar's place, so small screens keep their layout.
   ============================================================================ */

:root {
    --spec-rail-width: 52px;
}

/* ---- Where it sits -------------------------------------------------------- */

.zj-specification-item-details .spec-rail {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: var(--spec-rail-width);
    display: flex;
    flex-direction: column;
    padding: 24px 0 10px;
    box-sizing: border-box;
    background-color: var(--white);
    border-left: 1px solid var(--light-border);
    z-index: 5;
}

/* The views take the rest of the width, and the full height the bar used to share.
   (Was calc(100dvh - 115px): the 65px top nav plus the 50px bar.) */
.zj-specification-item-details:has(> .spec-rail) > .zj-specification-assets {
    width: calc(100% - var(--spec-rail-width));
    height: calc(100dvh - 65px);
    position: relative;
}

.zj-specification-item-details.distraction-free:has(> .spec-rail) > .zj-specification-assets {
    height: 100dvh;
}

/* ---- Views sized around the old bar ----------------------------------------
   Each feature view sized itself as the viewport minus the top nav (~65px) minus the
   old 50px bar (114/115px), and minus the bar alone in distraction-free mode (50px).
   With the bar gone they get those 50px back. The overrides live HERE, scoped to a
   panel that has the rail and to desktop widths (a phone keeps the old strip and its
   numbers), so the originals keep serving the other pages that share these classes
   (.ticket-todos, .stats-container, .upload-container). Each number is the original
   minus 50; the originals are cited so the pair is easy to find. */

@media only screen and (min-width: 601px) {

    /* spec-item.css .spec-item-overview: 114px */
    .zj-specification-item-details:has(> .spec-rail) .spec-item-overview { height: calc(100dvh - 64px); }

    /* spec-item.css .spec-item-ai-list (Assistants and Agents lists): 115px */
    .zj-specification-item-details:has(> .spec-rail) .spec-item-ai-list { height: calc(100dvh - 65px); }

    /* spec-item.css .spec-item-ai-host (one Assistants or Agents conversation): 114px */
    .zj-specification-item-details:has(> .spec-rail) .spec-item-ai-host { height: calc(100dvh - 64px); }

    /* spec-item.css .the-spec-timeline (Activity): 114px; distraction-free 50px */
    .zj-specification-item-details:has(> .spec-rail) .zj-section .the-spec-timeline { height: calc(100vh - 64px); }
    .zj-specification-item-details.distraction-free:has(> .spec-rail) .zj-section .the-spec-timeline { height: 100vh; }

    /* style2.css .spec-item-comments-container .panel-comments (Comments): 114px; distraction-free 50px */
    .zj-specification-item-details:has(> .spec-rail) .spec-item-comments-container .panel-comments { height: calc(100dvh - 64px); }
    .zj-specification-item-details.distraction-free:has(> .spec-rail) .spec-item-comments-container .panel-comments { height: 100dvh; }

    /* style_cleaned2.css .upload-container (Files, Links, image upload): 115px, 109px while
       dragging; distraction-free 50px */
    .zj-specification-item-details:has(> .spec-rail) .upload-container { height: calc(100dvh - 65px); }
    .zj-specification-item-details:has(> .spec-rail) .upload-container.hovered { height: calc(100dvh - 59px); }
    .zj-specification-item-details.distraction-free:has(> .spec-rail) .upload-container { height: 100dvh; }

    /* todos.css .ticket-todos (Todos): 115px; distraction-free 50px */
    .zj-specification-item-details:has(> .spec-rail) .ticket-todos { height: calc(100vh - 65px); }
    .zj-specification-item-details.distraction-free:has(> .spec-rail) .ticket-todos { height: 100vh; }

    /* spec-item.css .spec-versions (History): 113px; distraction-free 50px */
    .zj-specification-item-details:has(> .spec-rail) .spec-versions { height: calc(100vh - 63px); }
    .zj-specification-item-details.distraction-free:has(> .spec-rail) .spec-versions { height: 100vh; }

    /* spec-item.css .compare-spec-versions: 114px; .csv-description max 233px */
    .zj-specification-item-details:has(> .spec-rail) .compare-spec-versions { height: calc(100vh - 64px); }
    .zj-specification-item-details:has(> .spec-rail) .csv-description { max-height: calc(100vh - 183px); }

    /* style2.css .spec-item-integrations.oe (Integrations): 115px; distraction-free 50px !important */
    .zj-specification-item-details:has(> .spec-rail) .spec-item-integrations.oe { height: calc(100dvh - 65px); }
    .zj-specification-item-details.distraction-free:has(> .spec-rail) .spec-item-integrations.oe { height: 100dvh !important; }

    /* spec-item.css .spec-item-notifications (Notifications): 114px */
    .zj-specification-item-details:has(> .spec-rail) .spec-item-notifications { height: calc(100vh - 64px); }

    /* style2.css .stats-container (Views): max 114px */
    .zj-specification-item-details:has(> .spec-rail) .stats-container { max-height: calc(100dvh - 64px); }

    /* style2.css .task-item-embed (Embed): 114px */
    .zj-specification-item-details:has(> .spec-rail) .task-item-embed { height: calc(100dvh - 64px); }

    /* style2.css .spec-item-embeddings-item .spec-list (a linked page): 115px */
    .zj-specification-item-details:has(> .spec-rail) .spec-item-embeddings-item .spec-list { height: calc(100dvh - 65px); }
}

/* ---- Groups --------------------------------------------------------------- */

.spec-rail-features,
.spec-rail-actions,
.spec-rail-pinned {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.spec-rail-features {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    /* Room for the active marker, which sits just outside each icon. */
    padding: 0 6px;
}

.spec-rail-features::-webkit-scrollbar {
    display: none;
}

.spec-rail-actions,
.spec-rail-pinned {
    flex: 0 0 auto;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--light-border);
}

/* Only when this view has actions: every one of them is ng-show'n per view. */
.spec-rail-actions:not(:has(> .spec-rail-item:not(.ng-hide))) {
    display: none;
}

/* ---- Items ---------------------------------------------------------------- */

.spec-rail-item {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: var(--border-radius-tiny);
    background-color: transparent;
    color: var(--icon-color);
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease;
}

.spec-rail-item i {
    font-size: 18px;
    line-height: 1;
    opacity: .7;
}

.spec-rail-item:hover i {
    opacity: 1;
}

/* Materialize paints a focused <button> teal; a rail button keeps its own colours.
   Before the hover / active rules, which must win over it. */
.spec-rail-item:focus {
    background-color: transparent;
    outline: none;
}

.spec-rail-item:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.spec-rail-item:hover {
    background-color: var(--hover-item);
    color: var(--black);
}

.spec-rail-item.active {
    background-color: var(--bgc);
    /* color: var(--primary); */
}

.spec-rail-item.active i {
    opacity: 1;
}

.spec-rail-item.active i {
    color: var(--primary);
}

.spec-rail-item.active i {
    font-variation-settings: 'FILL' 1;
}

/* The current feature: a short bar on the side that faces the content. */
.spec-rail-item.active::before {
    content: '';
    position: absolute;
    left: -6px;
    top: 10px;
    bottom: 10px;
    width: 1px;
    border-radius: 3px;
    background-color: var(--primary);
}

/* ---- The AI button -------------------------------------------------------- */

/* On both rails: 2px smaller than the icons' tiles, wearing the gradient border around its fill
   (.ai-ringed, ai-gradient.css), with corners that follow the fill's (William, 09-29). */
.spec-rail-item.ai-icon-button {
    width: 38px;
    height: 38px;
    border-radius: 8px;
}

/* ---- Counts --------------------------------------------------------------- */

.spec-rail-count {
    position: absolute;
    top: -1px;
    right: -1px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    box-sizing: border-box;
    border-radius: var(--border-radius-xs);
    background-color: var(--primary);
    border: 1px solid var(--white);
    color: var(--awhite);
    font-size: 9px;
    font-weight: 600;
    line-height: 16px;
    text-align: center;
    pointer-events: none;
    z-index: 2;
}

/* On the AI tiles' gradient a blue badge disappears; white with dark text reads in
   both themes (--awhite / --ablack do not flip in dark mode). */
.spec-rail-item.ai-icon-button .spec-rail-count {
    background-color: var(--awhite);
    color: var(--ablack);
}

/* ---- The flyout (jt-rail-tip) --------------------------------------------- */

.jt-rail-tip {
    position: fixed;
    /* Above the distraction-free panel, which sits at the maximum z-index; equal
       values paint in document order, and this element is the last child of <body>. */
    z-index: 2147483647;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 8px;
    background-color: var(--black);
    color: var(--white);
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
    white-space: nowrap;
    box-shadow: var(--box-shadow);
    pointer-events: none;
    opacity: 0;
    transform: translate(6px, -50%);
    transition: opacity .12s ease, transform .12s ease;
}

.jt-rail-tip.is-visible {
    opacity: 1;
    transform: translate(0, -50%);
}

/* The arrow, pointing right at the icon. */
.jt-rail-tip::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -4px;
    width: 8px;
    height: 8px;
    border-radius: 1px;
    background-color: inherit;
    transform: translateY(-50%) rotate(45deg);
}

/* Opening to the RIGHT (the project rail on the page's left edge): it slides in from the
   icon's side, and the arrow points left at it. */
.jt-rail-tip.is-right {
    transform: translate(-6px, -50%);
}

.jt-rail-tip.is-right.is-visible {
    transform: translate(0, -50%);
}

.jt-rail-tip.is-right::after {
    right: auto;
    left: -4px;
}

.jt-rail-tip-count {
    display: none;
    min-width: 18px;
    padding: 0 6px;
    box-sizing: border-box;
    border-radius: 9px;
    background-color: var(--primary);
    color: var(--awhite);
    font-size: 11px;
    font-weight: 600;
    line-height: 18px;
    text-align: center;
}

.jt-rail-tip.has-count .jt-rail-tip-count {
    display: inline-block;
}

@media (prefers-reduced-motion: reduce) {
    .jt-rail-tip {
        transition: none;
    }
}

/* ---- Phones: a horizontal strip in the old bar's place ---------------------- */

@media only screen and (max-width: 600px) {
    .zj-specification-item-details .spec-rail {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        width: 100%;
        height: 50px;
        flex-direction: row;
        align-items: center;
        padding: 0 8px;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        border-left: 0;
        border-top: 1px solid var(--light-border);
    }

    .spec-rail-features,
    .spec-rail-actions,
    .spec-rail-pinned {
        flex-direction: row;
        overflow: visible;
    }

    .spec-rail-features {
        flex: 0 0 auto;
    }

    .spec-rail-actions,
    .spec-rail-pinned {
        margin: 0 0 0 8px;
        padding: 0 0 0 8px;
        border-top: 0;
        border-left: 1px solid var(--light-border);
    }

    /* The marker faces the content, which is above on a phone. */
    .spec-rail-item.active::before {
        left: 10px;
        right: 10px;
        top: -5px;
        bottom: auto;
        width: auto;
        height: 3px;
    }

    .zj-specification-item-details:has(> .spec-rail) > .zj-specification-assets {
        width: 100%;
        height: calc(100dvh - 115px);
    }

    /* No hover on touch: the flyout would flash on every tap. */
    .jt-rail-tip {
        display: none;
    }
}

/* ============================================================================
   The project rail (William, 2026-09-27).

   Every project feature down the page's far left edge, with its name on hover, on
   every project page. On desktop it replaces the ☰ menu; phones never see the rail and
   get that menu in a bar above the page instead (project.body.html's phone bar, U25).
   The avatar at the top is the project's Home.

   It mirrors the task rail on the right (spec-rail.css) and reuses its item styles
   (.spec-rail-features, .spec-rail-pinned, .spec-rail-item), so a tweak to the task
   rail's icons carries over here. What differs lives in this file: where it sits, the
   active marker on the side facing the content (the right), the group dividers, and
   the flyout opening to the right (spec-rail.css, .jt-rail-tip.is-right).

   Markup: views/pages/project/project.body.html. The avatar and its picker
   (js/directives/projectAvatar.js) are styled here too.
   ============================================================================ */

:root {
    --project-rail-width: 52px;
}

/* ---- Where it sits -------------------------------------------------------- */

@media only screen and (min-width: 601px) {

    /* The app's content box (.zj-body: fixed, left 0, under the 64px nav) starts after the
       rail, so every project view, its sidebar and all their modes move over together,
       with no view needing its own rule. Only while the rail is on the page. */
    .zj-body:has(.project-rail) {
        left: var(--project-rail-width);
    }

    .project-rail {
        position: fixed;
        top: 64px;
        left: 0;
        bottom: 0;
        width: var(--project-rail-width);
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 10px 0 8px;
        box-sizing: border-box;
        background-color: var(--white);
        border-right: 1px solid var(--light-border);
        z-index: 6;
    }

    /* The "Switched to space" chip (index.html, css/spaces.css) sits 20px from the bottom left,
       above everything, and covered the rail's last item, AI (U21). It starts past the rail. */
    body:has(.project-rail) .visiting-space-bar {
        left: calc(var(--project-rail-width) + 20px);
    }
}

@media only screen and (max-width: 600px) {
    .project-rail {
        display: none;
    }

    /* Phones (U25): the project's name and ☰ menu, above every project page. The menu slides
       over the bar when open (.project-header #projectSection, style2.css and mobile.css). */
    /* UI-6 (Mike, Test Day 09-30): a band of its own, apart from the main nav above it. Both are
       white, and flush they read as one block. */
    .project-phone-bar {
        position: relative;
        z-index: 7;
        margin-top: 10px;
        background-color: var(--white);
        border-top: 1px solid var(--light-border);
        border-bottom: 1px solid var(--light-border);
    }

    .project-phone-bar .project-section-selector {
        cursor: pointer;
    }

    /* The title's table cell, centred in the bar; the avatar beside the name inside it. */
    .project-phone-bar .project-section-selector .valign-middle {
        vertical-align: middle;
        height: 60px;
    }

    .project-phone-bar .project-phone-name {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .project-phone-bar .project-avatar {
        flex: 0 0 auto;
    }

    /* The ☰ mid-bar: the sidebar header it came from was taller. */
    .project-phone-bar .project-section-selector .spec-outline-title > i {
        top: 50%;
        margin-top: -15px;
    }

    /* style2.css positions every <i> in the selector as the ☰ (absolute, far right). An icon
       avatar's glyph is one too, and it jumped out of the avatar to the far right (U25). */
    .project-phone-bar .project-section-selector .project-avatar i {
        position: static;
        top: auto;
        right: auto;
        height: auto;
        margin: 0;
        padding: 0;
        line-height: 1 !important;
        font-size: 16px;
    }
}

/* ---- The avatar: Home ------------------------------------------------------- */

.project-rail-home {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 12px 0 8px;
    padding: 0;
    border: 0;
    border-radius: var(--border-radius-smallish);
    background-color: transparent;
    cursor: pointer;
}

.project-rail-home:hover {border: none!important;background-color: transparent!important;}

/* Materialize paints a focused <button>; the avatar keeps its own look. */
.project-rail-home:focus {
    background-color: transparent;
    outline: none;
}

.project-rail-home:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.project-rail-home:hover .project-avatar {
    /* box-shadow: 0 0 0 2px var(--hover-item); */
}

/* ---- Groups: a divider between the ones that show ----------------------------
   Each item hides itself (feature off, or no permission), so a group can empty out.
   An empty group takes no space, and a divider sits only above a group that has a
   visible group before it. */

.project-rail-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.project-rail-group:not(:has(> .spec-rail-item:not(.ng-hide))) {
    display: none;
}

.project-rail-group:has(> .spec-rail-item:not(.ng-hide)) ~ .project-rail-group:has(> .spec-rail-item:not(.ng-hide)) {
    margin-top: 4px;
    padding-top: 8px;
    border-top: 1px solid var(--light-border);
}

.project-rail .spec-rail-features {
    gap: 4px;
}

/* ---- The current feature: its marker faces the content, on the right --------- */

.project-rail .spec-rail-item.active::before,
.project-rail-home.active::before {
    left: auto;
    right: -6px;
}

.project-rail-home.active::before {
    content: '';
    position: absolute;
    top: 10px;
    bottom: 10px;
    width: 1px;
    border-radius: 3px;
    background-color: var(--primary);
}

/* ---- Avatars ------------------------------------------------------------------- */

.project-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    overflow: hidden;
    background-color: var(--project-avatar-bg, #56657a);
    color: var(--awhite);
    font-weight: 300;
    font-size: 14px;
    line-height: 1;
    user-select: none;
    transition: box-shadow .15s ease;
}

.project-avatar.size-28 { width: 28px; height: 28px; border-radius: 7px; font-size: 12px; }
.project-avatar.size-36 {width: 36px;height: 36px;border-radius: var(--border-radius-tiny);font-size: 14px;}

.project-avatar-initials {
    font-family: var(--nothing);
    /* text-transform: lowercase; */
    font-weight: 600;
}
.project-avatar.size-56 {width: 56px;height: 56px;border-radius: var(--border-radius-tiny);font-size: 20px;}

/* The app colours icons globally; an avatar's glyph stays white on its colour. */
.project-avatar i,
.project-avatar i.material-symbols-outlined { font-size: 1.35em; color: #ffffff !important; }
.project-avatar.size-56 i { font-size: 30px; }

.project-avatar.is-image {
    background-color: transparent;
}

.project-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* The colours: white text reads on every one, in both themes. */
.project-avatar.is-blue,   .pap-color.is-blue   { --project-avatar-bg: #3a6fd8; }
.project-avatar.is-teal,   .pap-color.is-teal   { --project-avatar-bg: #13837f; }
.project-avatar.is-green,  .pap-color.is-green  { --project-avatar-bg: #2d8047; }
.project-avatar.is-amber,  .pap-color.is-amber  { --project-avatar-bg: #a86f12; }
.project-avatar.is-orange, .pap-color.is-orange { --project-avatar-bg: #c75a22; }
.project-avatar.is-red,    .pap-color.is-red    { --project-avatar-bg: #c43d34; }
.project-avatar.is-pink,   .pap-color.is-pink   { --project-avatar-bg: #b83a77; }
.project-avatar.is-purple, .pap-color.is-purple { --project-avatar-bg: #7648bf; }
.project-avatar.is-indigo, .pap-color.is-indigo { --project-avatar-bg: #4650bf; }
.project-avatar.is-slate,  .pap-color.is-slate  { --project-avatar-bg: #56657a; }

/* ---- The project Home: the avatar beside the name (pr-004) -------------------------
   For the project's owners, its creator and admins of its space it's a button that opens
   the picker below the title; a pencil shows on hover or keyboard focus. */

.project-home-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* The title's own spacing (spec-item.css: -5px above, 20px below) goes to the row, or the name
   sits 5px above the avatar's middle. */
.spec-summary .project-home-title {
    margin: 0 0 20px;
}

.spec-summary .project-home-title .spec-title {
    min-width: 0;
    margin: 0;
}

.project-home-avatar {
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    padding: 0;
    border: 0;
    border-radius: var(--border-radius-tiny);
    background-color: transparent;
}

button.project-home-avatar {
    cursor: pointer;
}

/* Materialize paints a focused <button>; the avatar keeps its own look. */
button.project-home-avatar:focus,
button.project-home-avatar:hover {
    background-color: transparent;
    outline: none;
}

button.project-home-avatar:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.project-home-avatar .project-home-avatar-edit {
    position: absolute;
    right: -6px;
    bottom: -6px;
    width: 18px;
    height: 18px;
    border: 1px solid var(--light-border);
    border-radius: 50%;
    background-color: var(--white);
    color: var(--icon-color);
    font-size: 12px;
    line-height: 16px;
    text-align: center;
    opacity: 0;
    transition: opacity .15s ease;
}

button.project-home-avatar:hover .project-home-avatar-edit,
button.project-home-avatar:focus-visible .project-home-avatar-edit,
button.project-home-avatar[aria-expanded="true"] .project-home-avatar-edit {
    opacity: 1;
}

.project-home-avatar-picker {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin: -8px 0 20px;
    padding: 12px;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-smallish);
    background-color: var(--white);
}

@media (prefers-reduced-motion: reduce) {
    .project-home-avatar .project-home-avatar-edit { transition: none; }
}

/* ---- The picker (Project Settings › General) ------------------------------------- */

.project-avatar-picker {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 4px 0;
}

.project-avatar-picker.is-busy {
    opacity: .8;
}

.pap-controls {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    flex: 1 1 auto;
}

.pap-tabs {
    display: inline-flex;
    align-self: flex-start;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-xs);
    overflow: hidden;
}

.pap-tab {
    appearance: none;
    border: 0;
    border-right: 1px solid var(--light-border);
    background-color: transparent;
    color: var(--icon-color);
    font: inherit;
    font-size: 12px;
    padding: 6px 12px;
    cursor: pointer;
}

.pap-tab:last-child { border-right: 0; }
.pap-tab:hover:not([disabled]) { background-color: var(--hover-item); color: var(--black); }
.pap-tab.is-on {background-color: var(--primary);color: var(--awhite);font-weight: 500;}
.pap-tab:focus { background-color: transparent; outline: none; }
.pap-tab.is-on:focus { background-color: var(--bgc); }
.pap-tab:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }
.pap-tab[disabled] { cursor: not-allowed; opacity: .6; }

.pap-colors,
.pap-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pap-color {
    appearance: none;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 50%;
    background-color: var(--project-avatar-bg);
    background-clip: padding-box;
    cursor: pointer;
}

.pap-color.is-on { box-shadow: 0 0 0 2px var(--white), 0 0 0 4px var(--project-avatar-bg); }
.pap-color:focus { outline: none; }
.pap-color:focus-visible { box-shadow: 0 0 0 2px var(--white), 0 0 0 4px var(--primary); }

.pap-icon {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--border-radius-smallish);
    background-color: transparent;
    color: var(--icon-color);
    cursor: pointer;
}

.pap-icon i { font-size: 20px; }
.pap-icon:hover:not([disabled]) { background-color: var(--hover-item); color: var(--black); }
.pap-icon.is-on { border-color: var(--primary); color: var(--primary); background-color: var(--bgc); }
.pap-icon:focus { outline: none; }
.pap-icon:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }

.pap-image {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.pap-image .sub-text {
    flex: 1 1 100%;
}

.pap-file {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    .project-avatar { transition: none; }
}

/* S3 (Mike, Test Day 09-30): a comment you just sent, shown at once while it saves
   (pendingPosts, views/pages/posts/notes.list.html). Quieter than a saved one; a failed one
   says so, with Retry. */

.notes-container .listing-item.post-pending .listing-description,
.notes-container .listing-item.post-pending .listing-item-header {
	opacity: 0.72;
}

.notes-container .listing-item.post-pending.is-failed .listing-description,
.notes-container .listing-item.post-pending.is-failed .listing-item-header {
	opacity: 1;
}

.post-pending .post-pending-author {
	color: var(--black);
}

.post-pending .post-pending-state {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* The words as you wrote them: line breaks kept. */
.post-pending .post-pending-text {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.post-pending .post-pending-spin {
	width: 10px;
	height: 10px;
	border: 2px solid var(--light-border);
	border-top-color: var(--primary);
	border-radius: 50%;
	animation: post-pending-spin 0.9s linear infinite;
}

@keyframes post-pending-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.post-pending .post-pending-spin { animation: none; }
}

.post-pending .post-pending-failed,
.post-pending .post-pending-failed i {
	color: var(--warning);
}

.post-pending .post-pending-failed i {
	font-size: 16px;
}

.post-pending .post-pending-actions {
	display: flex;
	justify-content: flex-end;
	gap: 4px;
}

/* ============================================================================
   Code cards — the `code-blocks` directive (js/directives.js).
   Every <pre><code> inside a markdownIfNeeded surface becomes a card: header bar
   with the language + a copy button, a sticky line-number gutter, and hljs tokens.

   Colours are declared exclusively as custom properties, never as raw hex at a
   rule, so a whole palette is one variable block — see "Themes" near the bottom.
   The user picks one in Settings → General → Theme; AppController puts
   `code-theme-<id>` on <html> and every card on every surface follows.

   The default is Catppuccin Mocha, matching the palette css/tiptap-contents.css
   was written against, so editor code blocks and AI code blocks agree out of the
   box. A syntax theme is its own palette and is deliberately NOT expressed in the
   app-level variables in css/variables.css.
   ============================================================================ */

.jt-code {
	/* ---- Default theme: Catppuccin Mocha -------------------------------------
	   Every colour below is overridable per theme (see "Themes" at the bottom of
	   this file). This block is the fallback, so a card still renders correctly
	   when no code-theme-* class is on <html> — e.g. before AppController has
	   applied the user's stored preference. */

	/* Surface */
	--jtc-bg: #1e1e2e;
	--jtc-head-bg: #181825;
	--jtc-border: #313244;
	--jtc-fg: #cdd6f4;
	--jtc-muted: #7f849c;
	--jtc-gutter-fg: #494d64;

	/* Tokens. Fourteen slots, one per kind of code element. A theme may point two
	   slots at the same colour where its own palette doesn't carry enough hues —
	   the slots exist so the ones that CAN differentiate, do. */
	--jtc-keyword: #cba6f7;    /* if / return / const           */
	--jtc-builtin: #f5c2e7;    /* Math, console, true, null     */
	--jtc-string: #a6e3a1;     /* "..." and escapes             */
	--jtc-number: #fab387;     /* 42, 0x1f                      */
	--jtc-comment: #6c7086;    /* // ...                        */
	--jtc-function: #89b4fa;   /* function + method names       */
	--jtc-class: #f9e2af;      /* class names + type names      */
	--jtc-param: #eba0ac;      /* function parameters           */
	--jtc-variable: #b4befe;   /* variables, ${...} substitution*/
	--jtc-tag: #f38ba8;        /* <div>, CSS selectors          */
	--jtc-attr: #94e2d5;       /* attributes, object properties */
	--jtc-operator: #89dceb;   /* = + => and punctuation        */
	--jtc-regex: #f2cdcd;      /* /re/ and links                */
	--jtc-meta: #74c7ec;       /* #include, @decorator, symbols */
	position: relative;
	margin: 10px 0;
	border: 1px solid var(--jtc-border);
	border-radius: 5px;
	background: var(--jtc-bg);
	overflow: hidden;
}

/* ---- header bar ---------------------------------------------------------- */

.jt-code-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 5px 6px 5px 12px;
	background: var(--jtc-head-bg);
	border-bottom: 1px solid var(--jtc-border);
}

.jt-code-lang {
	font-family: var(--body-font), sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--jtc-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.jt-code-copy {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex: 0 0 auto;
	padding: 3px 8px 3px 6px;
	border: 1px solid transparent;
	border-radius: 5px;
	background: transparent;
	color: var(--jtc-muted);
	font-family: var(--body-font), sans-serif;
	font-size: 11px;
	line-height: 1;
	cursor: pointer;
	/* Legible but recessive until the card is hovered — a copy button that is
	   invisible until hover is a button most people never find. */
	opacity: 0.6;
	transition: opacity 0.12s ease, background-color 0.12s ease, color 0.12s ease;
}

.jt-code:hover .jt-code-copy,
.jt-code-copy:focus-visible {
	opacity: 1;
}

.jt-code-copy:hover {
	background: var(--jtc-border);
	color: var(--jtc-fg);
}

.jt-code-copy:focus-visible {
	outline: none;
	border-color: var(--jtc-function);
}

.jt-code-copy .material-symbols-outlined {
	font-size: 14px;
	line-height: 1;
}

.jt-code-copy.is-copied {
	opacity: 1;
	color: var(--jtc-string);
}

.jt-code-copy.is-failed {
	opacity: 1;
	color: var(--jtc-number);
}

/* Touch devices have no hover, so the affordance must always be at full strength. */
@media (hover: none) {
	.jt-code-copy {
		opacity: 1;
	}
}

/* ---- body: gutter + code share one scroll box ---------------------------- */

.jt-code-scroll {
	overflow-x: auto;
	overflow-y: auto;
	max-height: calc(100dvh - 245px);
}

.jt-code-rows {
	display: flex;
	align-items: stretch;
	min-width: max-content;
}

/* Both halves must resolve to the SAME line box or the numbers drift out of
   register against the code, so the metrics live in one shared rule. */
.jt-code-gutter,
.jt-code-pre {
	margin: 0;
	font-family: var(--code-font, 'SFMono-Regular', 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace);
	font-size: 12.5px;
	line-height: 1.65;
	white-space: pre;
	tab-size: 4;
	-moz-tab-size: 4;
	border: 0;
}

.jt-code-gutter {
	/* Sticky keeps the numbers in view while the code scrolls sideways. */
	position: sticky;
	left: 0;
	z-index: 1;
	flex: 0 0 auto;
	padding: 12px 10px 12px 12px;
	background: var(--jtc-bg);
	border-right: 1px solid var(--jtc-border);
	color: var(--jtc-gutter-fg);
	text-align: right;
	user-select: none;
	-webkit-user-select: none;
	pointer-events: none;
}

.jt-code-pre {
	flex: 1 1 auto;
	padding: 12px 16px;
	background: transparent;
	color: var(--jtc-fg);
	overflow: visible;
}

/* The cards render inside .ql-editor / .post-body-content, which style bare
   <code> as an inline chip (background + padding + smaller type). Reset it. */
.jt-code-pre > code,
.ql-editor .jt-code-pre > code,
.post-body-content .jt-code-pre > code {
	display: block;
	background: none !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	white-space: inherit;
}

/* Editor-content compatibility. css/tiptap-contents.css styles bare `pre` under
   `.ql-editor` / `.jtsyn-tiptap-content` (0,1,1) — its own dark code-block chrome
   from before this card existed — which outranks a plain `.jt-code-pre` (0,1,0)
   and would repaint the card's background and padding. These selectors are
   (0,2,0) so the card wins wherever it is mounted. Same for the floating
   `pre::before` language label that file draws: the card has a real header now. */
.jt-code .jt-code-pre,
.jt-code .jt-code-gutter {
	margin: 0;
	border: 0;
	border-radius: 0;
}

.jt-code .jt-code-pre {
	padding: 12px 16px;
	background: transparent;
	color: var(--jtc-fg);
}

.jt-code .jt-code-gutter {
	padding: 12px 10px 12px 12px;
	background: var(--jtc-bg);
	border-right: 1px solid var(--jtc-border);
	color: var(--jtc-gutter-fg);
}

.jt-code .jt-code-pre::before,
.jt-code .jt-code-gutter::before {
	content: none;
}

/* Off-screen staging area for the execCommand('copy') fallback. */
.jt-code-clip {
	position: fixed;
	top: -9999px;
	left: -9999px;
	opacity: 0;
}

/* ---- highlight.js tokens -------------------------------------------------- */
/* Ordering note: highlight.js emits compound classes like class="hljs-title
   function_", so .hljs-title.class_ (specificity 0,2,0) correctly overrides the
   plain .hljs-title rule regardless of source order. */

.jt-code .hljs-keyword,
.jt-code .hljs-selector-tag { color: var(--jtc-keyword); }

.jt-code .hljs-built_in,
.jt-code .hljs-literal { color: var(--jtc-builtin); }

.jt-code .hljs-string,
.jt-code .hljs-quote,
.jt-code .hljs-char.escape_ { color: var(--jtc-string); }

.jt-code .hljs-number { color: var(--jtc-number); }

.jt-code .hljs-comment,
.jt-code .hljs-doctag { color: var(--jtc-comment); font-style: italic; }

.jt-code .hljs-title,
.jt-code .hljs-title.function_,
.jt-code .hljs-section { color: var(--jtc-function); }

.jt-code .hljs-type,
.jt-code .hljs-title.class_,
.jt-code .hljs-class .hljs-title { color: var(--jtc-class); }

.jt-code .hljs-params { color: var(--jtc-param); }

.jt-code .hljs-variable,
.jt-code .hljs-template-variable,
.jt-code .hljs-subst { color: var(--jtc-variable); }

.jt-code .hljs-tag,
.jt-code .hljs-name,
.jt-code .hljs-selector-class,
.jt-code .hljs-selector-id,
.jt-code .hljs-selector-pseudo { color: var(--jtc-tag); }

.jt-code .hljs-attr,
.jt-code .hljs-attribute,
.jt-code .hljs-property,
.jt-code .hljs-selector-attr { color: var(--jtc-attr); }

.jt-code .hljs-operator,
.jt-code .hljs-punctuation { color: var(--jtc-operator); }

.jt-code .hljs-regexp,
.jt-code .hljs-link { color: var(--jtc-regex); }

.jt-code .hljs-meta,
.jt-code .hljs-symbol,
.jt-code .hljs-bullet { color: var(--jtc-meta); }

.jt-code .hljs-addition { color: var(--jtc-string); background: rgba(166, 227, 161, 0.15); }
.jt-code .hljs-deletion { color: var(--jtc-tag); background: rgba(243, 139, 168, 0.15); }
.jt-code .hljs-emphasis { font-style: italic; }
.jt-code .hljs-strong { font-weight: 600; }

/* ============================================================================
   Themes
   AppController puts `code-theme-<id>` on <html> from the user's stored
   settings.codeTheme (see $rootScope.applyCodeTheme). Only the variables change
   here — no theme redefines layout — so adding a palette is one block and never
   touches the directive. `mocha` needs no block: it is the :root default above.
   Keep the id list in sync with CODE_THEMES in js/AppController.js.
   ============================================================================ */

/* One Dark — the palette most people know from VS Code / Atom. */
.code-theme-one-dark .jt-code {
	--jtc-bg: #282c34;
	--jtc-head-bg: #21252b;
	--jtc-border: #3e4451;
	--jtc-fg: #abb2bf;
	--jtc-muted: #7f848e;
	--jtc-gutter-fg: #4b5263;

	--jtc-keyword: #c678dd;
	--jtc-builtin: #56b6c2;
	--jtc-string: #98c379;
	--jtc-number: #d19a66;
	--jtc-comment: #7f848e;
	--jtc-function: #61afef;
	--jtc-class: #e5c07b;
	--jtc-param: #c8ccd4;
	--jtc-variable: #e06c75;
	--jtc-tag: #e06c75;
	--jtc-attr: #d19a66;
	--jtc-operator: #56b6c2;
	--jtc-regex: #98c379;
	--jtc-meta: #e5c07b;
}

/* GitHub Dark — highest contrast of the dark set. */
.code-theme-github-dark .jt-code {
	--jtc-bg: #0d1117;
	--jtc-head-bg: #161b22;
	--jtc-border: #30363d;
	--jtc-fg: #e6edf3;
	--jtc-muted: #8b949e;
	--jtc-gutter-fg: #484f58;

	--jtc-keyword: #ff7b72;
	--jtc-builtin: #79c0ff;
	--jtc-string: #a5d6ff;
	--jtc-number: #79c0ff;
	--jtc-comment: #8b949e;
	--jtc-function: #d2a8ff;
	--jtc-class: #ffa657;
	--jtc-param: #e6edf3;
	--jtc-variable: #ffa657;
	--jtc-tag: #7ee787;
	--jtc-attr: #79c0ff;
	--jtc-operator: #ff7b72;
	--jtc-regex: #a5d6ff;
	--jtc-meta: #d2a8ff;
}

/* Nord — the calmest / lowest-saturation option. */
.code-theme-nord .jt-code {
	--jtc-bg: #2e3440;
	--jtc-head-bg: #292e39;
	--jtc-border: #3b4252;
	--jtc-fg: #d8dee9;
	--jtc-muted: #7b88a1;
	--jtc-gutter-fg: #4c566a;

	--jtc-keyword: #81a1c1;
	--jtc-builtin: #88c0d0;
	--jtc-string: #a3be8c;
	--jtc-number: #b48ead;
	--jtc-comment: #616e88;
	--jtc-function: #88c0d0;
	--jtc-class: #8fbcbb;
	--jtc-param: #d8dee9;
	--jtc-variable: #d8dee9;
	--jtc-tag: #81a1c1;
	--jtc-attr: #8fbcbb;
	--jtc-operator: #81a1c1;
	--jtc-regex: #ebcb8b;
	--jtc-meta: #5e81ac;
}

/* GitHub Light — the only light palette; blends into the app's light chrome
   instead of punching a dark rectangle into the page. */
.code-theme-github-light .jt-code {
	--jtc-bg: #f6f8fa;
	--jtc-head-bg: #eaeef2;
	--jtc-border: #d0d7de;
	--jtc-fg: #1f2328;
	--jtc-muted: #6e7781;
	--jtc-gutter-fg: #8c959f;

	--jtc-keyword: #cf222e;
	--jtc-builtin: #0550ae;
	--jtc-string: #0a3069;
	--jtc-number: #0550ae;
	--jtc-comment: #6e7781;
	--jtc-function: #8250df;
	--jtc-class: #953800;
	--jtc-param: #1f2328;
	--jtc-variable: #953800;
	--jtc-tag: #116329;
	--jtc-attr: #0550ae;
	--jtc-operator: #cf222e;
	--jtc-regex: #0a3069;
	--jtc-meta: #8250df;
}

/* The light theme's addition/deletion washes need lighter backgrounds than the
   dark themes' — the shared rule above assumes a dark surface. */
.code-theme-github-light .jt-code .hljs-addition { background: rgba(31, 136, 61, 0.12); }
.code-theme-github-light .jt-code .hljs-deletion { background: rgba(207, 34, 46, 0.12); }

/* ============================================================================
   Editable variant — the Tiptap node view (js/codeBlockNodeView.js).
   Same card, but the static language label becomes a picker and the <code> is
   the editor's contentDOM.
   ============================================================================ */

.jt-code-langpick {
	/* Reads as the language label until you reach for it. */
	appearance: none;
	-webkit-appearance: none;
	display: block;
	max-width: 190px;
	margin: 0;
	padding: 2px 20px 2px 6px;
	border: 1px solid transparent;
	border-radius: 4px;
	background: transparent;
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
		linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: right 8px center, right 4px center;
	background-size: 4px 4px, 4px 4px;
	background-repeat: no-repeat;
	color: var(--jtc-muted);
	font-family: var(--body-font), sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	line-height: 1.6;
	height: auto;
	cursor: pointer;
	transition: background-color 0.12s ease, color 0.12s ease;
}

.jt-code-langpick:hover {
	background-color: var(--jtc-border);
	color: var(--jtc-fg);
}

.jt-code-langpick:focus,
.jt-code-langpick:focus-visible {
	outline: none;
	border-color: var(--jtc-function);
	color: var(--jtc-fg);
}

/* The option list is drawn by the OS, so it needs readable colours of its own —
   inheriting the card's transparent background renders unreadable menus. */
.jt-code-langpick option {
	background: var(--jtc-head-bg);
	color: var(--jtc-fg);
	text-transform: none;
	letter-spacing: normal;
	font-weight: 400;
}

/* Materialize globally restyles bare <select>; this one is ours. */
.jt-code-head select.jt-code-langpick {
	display: block;
	height: auto;
	border-bottom: 1px solid transparent;
}

/* ProseMirror injects its own stylesheet at runtime, and two of its rules
   outrank the card's plain-class ones. Measured in the browser rather than
   assumed:
     .ProseMirror [contenteditable="false"] { white-space: normal }   (0,2,0)
     .ProseMirror pre                       { white-space: pre-wrap } (0,1,1)
   The first collapses the gutter's newlines — it matches precisely BECAUSE the
   gutter is contenteditable="false" — so "1\n2\n3" renders as "1 2 3" on one
   line. The second lets long lines wrap, which silently drifts every gutter
   number out of register against its row.
   These selectors are (0,3,0) so they win outright rather than depending on
   which stylesheet the browser happened to insert last. */
.jt-code.jt-code-editable .jt-code-gutter,
.jt-code.jt-code-editable .jt-code-pre,
.jt-code.jt-code-editable .jt-code-pre > code {
	white-space: pre;
}

.jt-code-editable .jt-code-pre > code {
	outline: none;
	min-height: 1.65em;
	caret-color: var(--jtc-fg);
}

/* The caret must be able to reach past the last glyph on a long line. */
.jt-code-editable .jt-code-scroll {
	max-height: none;
}

/* ---- settings preview ---------------------------------------------------- */
/* A miniature, non-interactive card in the theme picker so the choice is visible
   before it is applied everywhere. It picks up the live theme automatically,
   since it is a .jt-code like any other. */

.jt-code-preview .jt-code {
	margin: 0;
	max-width: 460px;
}

.jt-code-preview .jt-code-scroll {
	max-height: none;
}

/* ---- narrow hosts (chat panels, side panels, omni-search answer) ---------- */

@media (max-width: 700px) {
	.jt-code-gutter,
	.jt-code-pre {
		font-size: 11.5px;
	}

	.jt-code-scroll {
		max-height: 380px;
	}

	.jt-code-copy-label {
		display: none;
	}
}

/* ============================================================================
   RENDERED EDITOR CONTENT — headings, lists, tables, task lists, callouts,
   toggles, blockquotes, inline code. Applies to .jtsyn-tiptap-content (live
   editor) and .ql-editor (saved content rendered read-only).

   See the convention block at the top of css/editors.css: chrome goes there,
   content goes here. Code blocks are owned by css/components/code-block.css,
   which is loaded BEFORE this file and outranks the `pre` rules below with
   (0,2,0) selectors — do not "fix" those rules to fight it.

   NOTE: this file was in gulpfile.js but never linked in index.html until
   2026-08-17, so it had not rendered on the public_html dev server at all and
   its values date from March/April 2026. Where it disagrees with the newer
   rules in editors.css / style_cleaned2.css, the newer ones are correct.
   ============================================================================ */

/**
 * Tiptap content styles.
 *
 * Applied in two contexts:
 *   1. Inside the Tiptap editor      → .jtsyn-tiptap-content
 *   2. Read-only display (ng-bind-html) → .ql-editor
 *
 * Block-level elements added by Tiptap (callout, toggle, etc.) are styled
 * purely by their own class so they render correctly in both contexts without
 * any parent-scope requirement.
 */

/* ============================================================
   Base typography
   ============================================================ */

.jtsyn-tiptap-content,
.ql-editor,
.spec-description-body {
	font-size: 14px;
	/* line-height: 1.6; */
	/* font-weight: 400; */
	font-family: var(--body-font), sans-serif;
	color: var(--black);
	word-break: break-word;
	outline: none;
}

/* ============================================================
   Headings
   ============================================================ */

.jtsyn-tiptap-content h1,
.jtsyn-tiptap-content h2,
.jtsyn-tiptap-content h3,
.jtsyn-tiptap-content h4,
.jtsyn-tiptap-content h5,
.jtsyn-tiptap-content h6,
.ql-editor h1,
.ql-editor h2,
.ql-editor h3,
.ql-editor h4,
.ql-editor h5,
.ql-editor h6 {
	margin: 1em 0 0.4em;
	line-height: 1.3;
	font-weight: 600;
}

.jtsyn-tiptap-content h1.opensanslight,
.ql-editor h1.opensanslight {
	font-weight: 300;
	letter-spacing: -0.5px;
}

.jtsyn-tiptap-content h1, .ql-editor h1 { font-size: 2em; }
.jtsyn-tiptap-content h2, .ql-editor h2 { font-size: 1.5em; }
.jtsyn-tiptap-content h3, .ql-editor h3 { font-size: 1.25em; }
.jtsyn-tiptap-content h4, .ql-editor h4 { font-size: 1.1em; }
.jtsyn-tiptap-content h5, .ql-editor h5 { font-size: 1em; }
.jtsyn-tiptap-content h6, .ql-editor h6 { font-size: 0.9em; color: var(--light-text); }

/* ============================================================
   Paragraphs & inline
   ============================================================ */

.jtsyn-tiptap-content p {
	/* margin: 0 0 0.6em; */
}

.jtsyn-tiptap-content p:last-child,
.ql-editor p:last-child {
	margin-bottom: 0;
}

.jtsyn-tiptap-content strong, .ql-editor strong { font-weight: 700; }
.jtsyn-tiptap-content em,     .ql-editor em     { font-style: italic; }
.jtsyn-tiptap-content u,      .ql-editor u      { text-decoration: underline; }

.jtsyn-tiptap-content s,
.jtsyn-tiptap-content del,
.ql-editor s,
.ql-editor del {
	text-decoration: line-through;
}

.jtsyn-tiptap-content sub, .ql-editor sub { vertical-align: sub;   font-size: 0.8em; }
.jtsyn-tiptap-content sup, .ql-editor sup { vertical-align: super; font-size: 0.8em; }

/* Text color / highlight — inline spans */
.jtsyn-tiptap-content mark,
.ql-editor mark {
	border-radius: 2px;
	padding: 0 2px;
}

/* ============================================================
   Links
   ============================================================ */

.jtsyn-tiptap-content a,
.ql-editor a {
	color: var(--primary);
	/* text-decoration: underline; */
	cursor: pointer;
}

.jtsyn-tiptap-content a:hover, .ql-editor a:hover {
    text-decoration: underline;
}

.jtsyn-tiptap-content a:hover,
.ql-editor a:hover {
	opacity: 0.8;
}

/* ============================================================
   Lists
   ============================================================ */

.jtsyn-tiptap-content ul,
.jtsyn-tiptap-content ol,
.ql-editor ul,
.ql-editor ol {
	margin: 0.4em 0 0.6em 0;
	padding-left: 1.8em;
}

/* Materialize resets list-style-type to none — restore it */
.jtsyn-tiptap-content ul,
.ql-editor ul {
	list-style-type: disc;
}

.jtsyn-tiptap-content ol,
.ql-editor ol {
	list-style-type: decimal;
}

.jtsyn-tiptap-content li,
.ql-editor li {
	display: list-item;
	margin-bottom: 0.25em;
}

/* Tiptap wraps list item text in <p> — strip the paragraph margin inside list items */
.jtsyn-tiptap-content li > p,
.ql-editor li > p {
	margin: 0;
}

/* Nested lists */
.jtsyn-tiptap-content ul ul,
.jtsyn-tiptap-content ol ol,
.jtsyn-tiptap-content ul ol,
.jtsyn-tiptap-content ol ul,
.ql-editor ul ul,
.ql-editor ol ol,
.ql-editor ul ol,
.ql-editor ol ul {
	margin: 0.15em 0 0 0;
	padding-left: 1.4em;
}

/* Nested list marker variants */
.jtsyn-tiptap-content ul ul,
.ql-editor ul ul {
	list-style-type: circle;
}

.jtsyn-tiptap-content ul ul ul,
.ql-editor ul ul ul {
	list-style-type: square;
}

.jtsyn-tiptap-content ol ol,
.ql-editor ol ol {
	list-style-type: lower-alpha;
}

.jtsyn-tiptap-content ol ol ol,
.ql-editor ol ol ol {
	list-style-type: lower-roman;
}

/* Task list */
.jtsyn-tiptap-content ul[data-type="taskList"],
.ql-editor ul[data-type="taskList"] {
	list-style: none;
	margin-left: 0;
	padding: 0;
}

.jtsyn-tiptap-content ul[data-type="taskList"] li,
.ql-editor ul[data-type="taskList"] li {
	display: flex;
	align-items: flex-start;
	gap: 0.5em;
}

.jtsyn-tiptap-content ul[data-type="taskList"] li > label,
.ql-editor ul[data-type="taskList"] li > label {
	flex-shrink: 0;
	margin-top: 2px;
}

.jtsyn-tiptap-content ul[data-type="taskList"] li > div,
.ql-editor ul[data-type="taskList"] li > div {
	flex: 1;
}

/* ============================================================
   Blockquote
   ============================================================ */

.jtsyn-tiptap-content blockquote,
.ql-editor blockquote {
	border-left: 4px solid var(--primary);
	margin: 0.8em 0;
	padding: 0.4em 1em;
	color: var(--light-text);
	font-style: italic;
}

/* ============================================================
   Code — inline
   ============================================================ */

.jtsyn-tiptap-content code,
.ql-editor code {
	background-color: var(--background-color);
	border-radius: var(--border-radius-xs);
	font-family: 'Courier New', Courier, monospace;
	/* font-size: 0.9em; */
	padding: 1px 4px;
	color: var(--black);
}

/* ============================================================
   Code blocks — syntax highlighted (lowlight / CodeBlockLowlight)
   ============================================================ */

.jtsyn-tiptap-content pre,
.ql-editor pre {
	background: #1e1e2e;
	color: #cdd6f4;
	border-radius: 6px;
	padding: 14px 16px;
	overflow-x: auto;
	font-size: 13px;
	line-height: 1.6;
	margin: 8px 0;
	position: relative;
}

.jtsyn-tiptap-content pre code,
.ql-editor pre code {
	background: none;
	padding: 0;
	color: inherit;
	font-size: inherit;
	border-radius: 0;
}

/* Language label in top-right corner */
.jtsyn-tiptap-content pre::before,
.ql-editor pre::before {
	content: attr(data-language);
	position: absolute;
	top: 6px;
	right: 10px;
	font-size: 10px;
	color: #6c7086;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-family: var(--body-font), sans-serif;
}

/* Catppuccin Mocha token colours */
.hljs-keyword, .hljs-selector-tag, .hljs-built_in { color: #cba6f7; }
.hljs-string, .hljs-attr                           { color: #a6e3a1; }
.hljs-number, .hljs-literal                        { color: #fab387; }
.hljs-comment                                      { color: #6c7086; font-style: italic; }
.hljs-function, .hljs-title                        { color: #89b4fa; }
.hljs-variable, .hljs-name                         { color: #f38ba8; }
.hljs-type                                         { color: #f9e2af; }
.hljs-operator, .hljs-punctuation                  { color: #89dceb; }
.hljs-tag                                          { color: #f38ba8; }
.hljs-attribute                                    { color: #89b4fa; }
.hljs-meta                                         { color: #fab387; }
.hljs-deletion                                     { color: #f38ba8; background: rgba(243,139,168,.15); }
.hljs-addition                                     { color: #a6e3a1; background: rgba(166,227,161,.15); }

/* ============================================================
   Tables
   ============================================================ */

.jtsyn-tiptap-content table,
.ql-editor table {
	border-collapse: collapse;
	margin: 0.8em 0;
	width: 100%;
	overflow-x: auto;
	display: block;
}

.jtsyn-tiptap-content th,
.jtsyn-tiptap-content td,
.ql-editor th,
.ql-editor td {
	border: 1px solid var(--border, #e0e0e0);
	padding: 6px 12px;
	text-align: left;
	vertical-align: top;
}

.jtsyn-tiptap-content th,
.ql-editor th {
	background-color: var(--hover-bg, rgba(0,0,0,0.04));
	font-weight: 600;
}

/* ============================================================
   Images
   ============================================================ */

.jtsyn-tiptap-content img,
.ql-editor img {
	max-width: 100%;
	height: auto;
	/* border-radius: 4px; */
	/* margin: 0.4em 0; */
}

/* ============================================================
   Horizontal rule
   ============================================================ */

.jtsyn-tiptap-content hr,
.ql-editor hr {
	border: none;
	border-top: 1px solid var(--border, #e0e0e0);
	margin: 1em 0;
}

/* ============================================================
   Callout blocks  (info / tip / warning / danger)
   ============================================================ */

.jtsyn-callout {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 12px 16px;
	border-radius: 0 var(--border-radius-tiny) var(--border-radius-tiny) 0;
	border-left: 4px solid;
	margin: 10px 0;
}

.jtsyn-callout--info    { background: rgba(59,130,246,.08);  border-color: #3b82f6; }
.jtsyn-callout--tip     { background: rgba(34,197,94,.08);   border-color: #22c55e; }
.jtsyn-callout--warning { background: rgba(234,179,8,.08);   border-color: #eab308; }
.jtsyn-callout--danger  { background: rgba(239,68,68,.08);   border-color: #ef4444; }

.jtsyn-callout__icon {
	font-size: 18px;
	line-height: 1.5;
	flex-shrink: 0;
	user-select: none;
}

.jtsyn-callout__content {
	flex: 1;
	min-width: 0;
}

.jtsyn-callout__content > * { margin: 0; }

.jtsyn-callout__content > * + * { margin-top: 4px; }

/* ============================================================
   Toggle / collapsible blocks
   ============================================================ */

.jtsyn-toggle {
	margin: 4px 0;
	border-radius: 4px;
}

.jtsyn-toggle > summary.jtsyn-toggle__summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
	padding: 6px 4px;
	border-radius: 4px;
	user-select: none;
	transition: background 0.1s;
}

.jtsyn-toggle > summary.jtsyn-toggle__summary::-webkit-details-marker {
	display: none;
}

.jtsyn-toggle > summary.jtsyn-toggle__summary:hover {
	background: var(--hover-bg, rgba(0,0,0,0.04));
}

.jtsyn-toggle > summary.jtsyn-toggle__summary::before {
	content: '▶';
	font-size: 10px;
	color: var(--light-text);
	transition: transform 0.15s;
	flex-shrink: 0;
	width: 14px;
	text-align: center;
}

.jtsyn-toggle[open] > summary.jtsyn-toggle__summary::before {
	transform: rotate(90deg);
}

.jtsyn-toggle > *:not(summary) {
	padding-left: 20px;
	margin-top: 2px;
}

/* ============================================================
   Table of contents
   ============================================================ */

.tableOfContents {
	padding: 12px 16px;
	border: 1px solid var(--border, #e0e0e0);
	border-radius: 8px;
	background: var(--hover-bg, rgba(0,0,0,0.03));
	margin: 10px 0;
	font-size: 13px;
}

.tableOfContents::before {
	content: 'Contents';
	display: block;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--light-text);
	margin-bottom: 8px;
}

.tableOfContents ol,
.tableOfContents ul {
	margin: 0;
	padding-left: 16px;
}

.tableOfContents li {
	margin: 3px 0;
}

.tableOfContents a {
	color: var(--primary);
	text-decoration: none;
}

.tableOfContents a:hover {
	text-decoration: underline;
}

/* ============================================================
   YouTube embed (responsive 16:9)
   ============================================================ */

div[data-youtube-video] {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: 6px;
	margin: 10px 0;
}

div[data-youtube-video] iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
	border-radius: 6px;
}

/* ============================================================
   @mention chip
   ============================================================ */

.jtsyn-mention {
	display: inline-flex;
	padding: 1px 5px;
	border-radius: 4px;
	/* background-color: rgba(var(--primary-rgb, 59,130,246), 0.12); */
	color: var(--primary);
	font-weight: 500;
	white-space: nowrap;
}

/* ============================================================
   Catch-all HTMLBlock (preserves unknown HTML)
   ============================================================ */

.jtsyn-html-block {
	border: 1px dashed var(--border, #e0e0e0);
	border-radius: 4px;
	margin: 0.4em 0;
	padding: 4px 8px;
	background-color: rgba(0,0,0,0.02);
}

/* ============================================================
   Editor-only: placeholder
   ============================================================ */

.jtsyn-tiptap-content p.is-editor-empty:first-child::before {
	color: var(--light-text);
	content: attr(data-placeholder);
	float: left;
	height: 0;
	pointer-events: none;
}

/* ============================================================
   @media print
   ============================================================ */

@media print {
	.jtsyn-tiptap-content,
	.ql-editor {
		font-size: 10pt;
		line-height: 1.5;
		color: #000;
	}

	.jtsyn-tiptap-content a,
	.ql-editor a {
		color: #000;
		text-decoration: underline;
	}

	.jtsyn-tiptap-content pre,
	.ql-editor pre {
		background: #1e1e2e;
		color: #cdd6f4;
	}

	.jtsyn-tiptap-content table,
	.jtsyn-tiptap-content th,
	.jtsyn-tiptap-content td,
	.ql-editor table,
	.ql-editor th,
	.ql-editor td {
		border-color: #ccc;
	}

	.jtsyn-callout {
		border: 1px solid;
		border-left-width: 4px;
		break-inside: avoid;
	}

	.jtsyn-toggle > *:not(summary) {
		display: block !important;
	}
}


.jtsyn-tiptap-bubble-menu {
    box-shadow: var(--box-shadow-extra);
    border-radius: var(--border-radius-tiny);
}

.jtsyn-tiptap-bubble-menu button {
    background-color: var(--white);
}
/* ============================================================================
   AI governance — spend limits + the paused circuit-breaker banner.

   Deliberately plain/functional: uses only existing CSS vars and mirrors the
   surrounding admin/AI conventions. Restyle freely.

   Surfaces:
     • Admin → Intelligence → Usage → "AI spend limits" panel  (.ai-budget-*)
     • The AI-paused banner inside <ai-chat>                    (.ai-paused-banner)
   ============================================================================ */

/* ── Admin: AI spend limits panel ─────────────────────────────────────────── */
.ai-budget-h6-icon { vertical-align: middle; margin-right: 8px; }
.ai-budget-hint { margin: 10px 0 14px 0; }

.ai-budget-paused {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    margin: 12px 0;
    border-radius: var(--border-radius-tiny);
    background-color: var(--hover-item);
    border-left: 3px solid var(--warning);
}
.ai-budget-paused > i { color: var(--warning); }
.ai-budget-paused-body { flex: 1 1 auto; min-width: 0; }
.ai-budget-paused-title { font-weight: 500; }

/* ── AI-paused banner (inside the shared <ai-chat> component) ─────────────── */
.ai-chat .ai-paused-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    margin: 0 0 10px 0;
    border-radius: var(--border-radius-tiny);
    background-color: var(--hover-item);
    border-left: 3px solid var(--warning);
    flex: 0 0 auto;
}
.ai-chat .ai-paused-banner > i { color: var(--warning); }
.ai-chat .ai-paused-banner-body { flex: 1 1 auto; min-width: 0; }
.ai-chat .ai-paused-banner-title { font-weight: 500; }

/* ── AI spend WARN strip (governance, non-blocking) ────────────────────────
   Distinct from the pause banner: info/amber, dismissible. Restyle freely. */
.ai-chat .ai-spend-warn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    margin: 0 0 10px 0;
    border-radius: var(--border-radius-tiny);
    background-color: var(--extra-light);
    border-left: 3px solid var(--label);
    flex: 0 0 auto;
    font-size: 13px;
}
.ai-chat .ai-spend-warn > i { color: var(--label); font-size: 20px; }
.ai-chat .ai-spend-warn-body { flex: 1 1 auto; min-width: 0; color: var(--light-text); }
.ai-chat .ai-spend-warn-x { cursor: pointer; font-size: 18px; opacity: 0.6; }
.ai-chat .ai-spend-warn-x:hover { opacity: 1; }

/* ── Stream error banner (provider quota / rate limit / mid-stream failure) ──
   Distinct from account-spend pause: the provider rejected THIS request. */
.ai-chat .ai-stream-error {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	margin: 0 0 10px 0;
	border-radius: var(--border-radius-tiny);
	background-color: var(--hover-item);
	border-left: 3px solid var(--warning);
	flex: 0 0 auto;
}
.ai-chat .ai-stream-error > i { color: var(--warning); }
.ai-chat .ai-stream-error-body { flex: 1 1 auto; min-width: 0; }
.ai-chat .ai-stream-error-title { font-weight: 500; }
.ai-chat .ai-stream-error-x { cursor: pointer; font-size: 18px; opacity: 0.6; }
.ai-chat .ai-stream-error-x:hover { opacity: 1; }

/* ── AI spend limits panel on Account → Intelligence (re-homed) ────────────── */
.ai-budget-panel {/* margin-top: 15px; */}
.ai-budget-row {margin-bottom: 0;}

.ai-budget-row label {
    font-size: 11px!important;
}

.ai-budget-row .text-field {
    padding-bottom: 0;
}

.ai-budget-row .col {
    padding-right: 5px!important;
}
.ai-budget-hint-inline { font-size: 11px; color: var(--light-text); font-weight: normal; }

/* ── Account runtime limits (agent caps) — admin Agents list header ────────── */
.agents-runtime-limits {margin: 0px 0 5px;padding: 40px;border-radius: var(--border-radius-tiny);background-color: var(--white);box-shadow: var(--box-shadow);}
.agents-runtime-limits .arl-title { font-weight: 500; margin-bottom: 8px; }
.agents-runtime-limits .arl-row {display: flex;flex-wrap: wrap;align-items: flex-end;gap: 0px;}
.agents-runtime-limits .arl-field {flex: 1 1 140px;min-width: 120px;padding-bottom: 0!important;}
.agents-runtime-limits .arl-save {flex: 0 0 auto;height: 50px;line-height: 50px;}

/* ── Phase F first-run nudge (Account → Intelligence budget panel) ─────────── */
.ai-budget-firstrun {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 8px 0 4px;
    padding: 8px 12px;
    border-radius: var(--border-radius-tiny);
    background-color: var(--extra-light);
    border-left: 3px solid var(--label);
    font-size: 12.5px;
    color: var(--light-text);
}
.ai-budget-firstrun > i { font-size: 18px; color: var(--label); flex: 0 0 auto; }

/* ── Per-project spend limits (nested under the account ceiling) ───────────── */
.ai-budget-projects {margin-top: 18px;padding-top: 25px;border-top: 1px solid var(--extra-light);}
.ai-budget-subhead {display: flex;align-items: center;gap: 6px;font-weight: 500;font-size: 13px;margin-bottom: 0px;}
.ai-budget-subhead > i { font-size: 18px; color: var(--light-text); }

.ai-budget-proj-list { margin-bottom: 12px; }
.ai-budget-proj-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 7px 10px;
    border-radius: var(--border-radius-tiny);
    background-color: var(--extra-light);
    margin-bottom: 4px;
}
.ai-budget-proj-name { flex: 1 1 auto; min-width: 0; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-budget-proj-limits { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; color: var(--light-text); font-size: 12.5px; }
.ai-budget-proj-mode { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.4px; padding: 1px 6px; border-radius: 8px; }
.ai-budget-proj-mode-warn { background-color: var(--label); color: #fff; }
.ai-budget-proj-mode-block { background-color: var(--red, #e53935); color: #fff; }
.ai-budget-proj-actions { flex: 0 0 auto; display: flex; gap: 6px; }
.ai-budget-proj-actions > i { cursor: pointer; font-size: 18px; opacity: 0.55; }
.ai-budget-proj-actions > i:hover { opacity: 1; }

/* Orphan user-limit row: the member is gone, the limit isn't. Muted so it reads as
   leftover housekeeping rather than a live cap on a real person. */
.ai-budget-proj-name.is-removed-user { font-weight: 400; color: var(--light-text); }
.ai-budget-removed-uid { font-size: 11.5px; opacity: 0.7; }

.ai-budget-proj-form {margin-top: 15px;}
.ai-budget-proj-form-actions { display: flex; gap: 10px; align-items: center; }

.ai-budget-proj-form-actions .btn-flat {
    padding: 0;
    font-size: 13px;
}

/* ── Sidebar AI usage meter (#usermenu footer, left of the theme switch) ────────
   It lives INSIDE .footer-items now, not in a row of its own above it, so it costs
   the scroll region nothing. core.css's .user-menu-body-items still subtracts
   var(--usermenu-meter-h, 0px); NOTHING defines that variable any more and nothing
   should — the 0px fallback is the correct answer now that the meter is inside a
   footer whose 50px was always accounted for.
   No border-top either: .footer-items already carries one.

   core.css lays the footer out as two inline-block 50% halves (it was space selector
   + theme switch). These three rules make it a flex row instead — meter takes the
   space the selector used to, theme switch keeps its 50px on the right. The
   margin-left:auto matters: $root.aiMeter.show is false until a usage call resolves,
   so the left slot is genuinely absent on first paint and the switch must not slide
   left. Specificity has to beat core.css's `#usermenu .footer-items > div`. */
#usermenu .footer-items {
    display: flex;
    align-items: stretch;
}

#usermenu .footer-items > .user-menu-ai-meter {
    /* display + align-items MUST be here, not on the bare .user-menu-ai-meter:
       core.css's `#usermenu .footer-items > div` is (1,1,1) and would win, leaving
       the meter an inline-block (i.e. blockified `block`) and never a flex box —
       the metered state would then sit flush against the footer's top border.
       line-height:normal for the same reason: the single-line states must not
       depend on core's inherited 50px to look centred. */
    display: flex;
    align-items: center;
    line-height: normal;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

#usermenu .footer-items > .dark-mode-nav-switch {
    flex: 0 0 50px;
    width: 50px;
    margin-left: auto;
}

.user-menu-ai-meter {
    height: 50px;
    /* 30px left matches the menu items above, so the meter lines up with them. */
    padding: 0px 10px 0px 30px;
    overflow: hidden;
    cursor: pointer;
}

.ai-meter-state {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
}

.ai-meter-state .nothing {
    font-size: 17px;
}

.user-menu-ai-meter svg {
    max-width: 30px;
    margin-top: -5px;
}

.user-menu-ai-meter svg .jt-ai-word {
    fill: var(--primary)!important;
}

.user-menu-ai-meter svg .jt-ai-spark {
    fill: var(--black);
}

/* The two single-line states are icon + label side by side, not stacked. */
.ai-meter-paused,
.ai-meter-flat {
    flex-direction: row;
    align-items: center;
    gap: 6px;
}

.user-menu-ai-meter i.material-symbols-outlined {
    font-size: 16px;
    color: var(--light-text);
}
.user-menu-ai-meter:hover .ai-meter-label,
.user-menu-ai-meter:hover i.material-symbols-outlined { color: var(--primary); }

.ai-meter-label {
    display: block;
    font-size: 11px;
    line-height: 22px;
    color: var(--black);
    /* min-width:0 is what makes the ellipsis work: in the paused/flat states the
       label is a flex ITEM, and a flex item's default min-width:auto refuses to
       shrink below its min-content width — which, with nowrap, is the whole string. */
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 400;
    margin-top: -5px;
}
.ai-meter-pct { color: var(--black); }

.ai-meter-bar {
    height: 5px;
    background-color: var(--extra-light);
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
}
.ai-meter-fill {
    height: 100%;
    background-color: var(--primary);
    transition: width .3s ease;
}
/* --warning is RED and there is no amber token; --label is the body text colour, which
   reads as "disabled" rather than "watch out". --highlight is the amber we have. */
.ai-meter-fill.warning { background-color: var(--highlight); }
.ai-meter-fill.danger { background-color: var(--warning); }

.ai-meter-paused .ai-meter-label,
.ai-meter-paused i.material-symbols-outlined,
.user-menu-ai-meter:hover .ai-meter-paused .ai-meter-label,
.user-menu-ai-meter:hover .ai-meter-paused i.material-symbols-outlined { color: var(--warning); }

/* ── Account → Intelligence usage dashboard (.usage-*) ─────────────────────────
   The money page: state strip, headline meters, month tiles, the <usage-chart>
   panel, the three breakdown tables, and the restyled budget/plan blocks.

   CSS vars only — the dark theme comes from variables.css and needs no rules of
   its own. Numbers everywhere are tabular-nums so a column of dollars lines up.

   The amber problem, stated once: --warning is RED (#F44336, identical in dark),
   so it cannot mean "getting close". --highlight IS the amber we already have
   (#FFC107 light / #ecbf35 dark) and the sidebar meter already uses it for the
   same 80% step. --usage-warn aliases it so the two surfaces can never drift.
   ────────────────────────────────────────────────────────────────────────────── */
:root { --usage-warn: var(--highlight); }

.usage-page-sub {margin-bottom: 5px;}

/* ── §A state strip ───────────────────────────────────────────────────────── */
.usage-pill-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.usage-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-sm);
    background-color: var(--extra-light);
    font-size: 12px;
    color: var(--black);
}
.usage-pill i.material-symbols-outlined { font-size: 16px; color: var(--light-text); }
.usage-pill.is-comped i.material-symbols-outlined { color: var(--good); }
.usage-pill.is-byok img { width: 14px; height: 14px; vertical-align: middle; }

/* The paused banner now leads the page. .ai-budget-paused already carries the
   colour; this only opens up the space a top-of-page banner needs. */
.usage-page .ai-budget-paused { margin-bottom: 18px; }

/* ── §B headline meters ───────────────────────────────────────────────────── */
.usage-meters {display: flex;flex-wrap: wrap;gap: 5px;}
.usage-meter-card {
    flex: 1 1 320px;
    min-width: 0;
    padding: 30px;
    margin: 0;
}
.usage-meter-title { font-size: 12px; color: var(--light-text); text-transform: uppercase; letter-spacing: .04em; }
.usage-meter-figure {
    font-size: 30px;
    line-height: 1.2;
    font-weight: 300;
    color: var(--black);
    margin: 6px 0 2px 0;
}
.usage-meter-of {font-size: 13px;color: var(--light-text);}
.usage-meter-foot {margin-top: 10px;font-size: 12px;color: var(--light-text);font-variant-numeric: tabular-nums;}
.usage-meter-foot strong { color: var(--black); font-weight: 500; }

.usage-bar-row { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.usage-bar {
    flex: 1 1 auto;
    height: 5px;
    background-color: var(--extra-light);
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
}

.usage-meter-card .usage-bar {
    margin-bottom: 0;
}
.usage-bar-fill {
    height: 100%;
    background-color: var(--primary);
    border-radius: var(--border-radius-tiny);
    transition: width .3s ease;
}
.usage-bar-fill.is-warn { background-color: var(--usage-warn); }
.usage-bar-fill.is-over { background-color: var(--warning); }
.usage-bar-pct {
    flex: 0 0 auto;
    min-width: 42px;
    text-align: right;
    font-size: 12px;
    color: var(--black);
    font-variant-numeric: tabular-nums;
}
.usage-bar-pct.is-warn { color: var(--usage-warn); }
.usage-bar-pct.is-over { color: var(--warning); }

/* An anchor that scrolls, not navigates — no href, so it needs its own affordance. */
.usage-link { color: var(--primary); cursor: pointer; }
.usage-link:hover { text-decoration: underline; }
/* Optical alignment for a link whose whole body is an icon glyph. */
.usage-refresh-icon { margin-top: 2px; }

/* ── §C month tiles ───────────────────────────────────────────────────────── */
.usage-tiles {display: flex;flex-wrap: wrap;gap: 5px;}
.usage-tile {
    flex: 1 1 160px;
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
    background-color: var(--background-color);
}
.usage-tile-label { font-size: 11px; color: var(--light-text); text-transform: uppercase; letter-spacing: .04em; }
.usage-tile-value {
    font-size: 22px;
    line-height: 1.3;
    font-weight: 300;
    color: var(--black);
    margin-top: 4px;
}
.usage-tile-sub { font-size: 11px; color: var(--light-text); font-variant-numeric: tabular-nums; }

/* ── Panels + their header controls ───────────────────────────────────────── */
.usage-panel {padding: 30px;}
.usage-panel-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 5px;
}

.usage-over-time-panel .usage-panel-head {
    margin-bottom: 30px!important;
}
.usage-panel-title { flex: 1 1 auto; min-width: 0; }
.usage-panel-title h6 { margin: 0; }
.usage-panel-title .sub-text { margin-top: 2px; }
.usage-panel-tools {flex: 0 0 auto;display: flex;align-items: center;gap: 8px;width: 100%;}

.usage-toggle-group {
    display: inline-flex;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-xs);
    overflow: hidden;
}
.usage-toggle {
    padding: 5px 10px!important;
    font-size: 12px;
    color: var(--black)!important;
    background-color: transparent;
    border: 0;
    border-left: 1px solid var(--border);
    cursor: pointer;
    text-decoration: none!important;
}
.admin-settings-body button.usage-toggle:first-child {border-left: 0;padding: 2px 10px!important;}
.admin-settings-body button.usage-toggle:hover {background-color: var(--hover-light)!important;color: var(--black);}
.admin-settings-body button.usage-toggle.is-active {background-color: var(--primary)!important;color: var(--awhite)!important;}

/* The month picker sits in a flex header, where materialize's input-field
   margins would push it out of line. */
.usage-month-field { min-width: 150px; margin: 0; }
.usage-month-field select { margin: 0; }

/* ── Loading / empty / error, inline and honest ───────────────────────────── */
.usage-state {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 18px 0;
    font-size: 13px;
    color: var(--light-text);
    line-height: normal;
}
.usage-state i.material-symbols-outlined { font-size: 18px; }
/* Local so a money page's loading state doesn't depend on a spin rule that happens
   to live in another feature's stylesheet. */
.usage-spin { animation: usage-spin 1s linear infinite; }
@keyframes usage-spin { to { transform: rotate(360deg); } }
.usage-state.is-error { color: var(--warning); }
.usage-state.is-error i.material-symbols-outlined { color: var(--warning); }

.usage-chart-caption { margin-top: 10px; font-size: 12px; color: var(--light-text); font-variant-numeric: tabular-nums; }
.usage-chart-caption strong { color: var(--black); font-weight: 500; }

/* ── §E breakdown tabs + tables ───────────────────────────────────────────── */
.usage-tabs {display: flex;gap: 18px;border-bottom: 1px solid var(--light-border);margin-bottom: 12px;}
.usage-tab {
    padding: 8px 2px;
    font-size: 13px;
    color: var(--black)!important;
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    cursor: pointer;
}
.usage-tab:hover { color: var(--black); }
.usage-tab.is-active {color: var(--primary)!important;border-bottom-color: var(--primary);}

.usage-table-wrap { overflow-x: auto; }
.usage-table { width: 100%; border-collapse: collapse; }
.usage-table th {
    padding: 8px 10px;
    font-size: 11px;
    font-weight: 500;
    text-align: left;
    color: var(--light-text);
    text-transform: uppercase;
    letter-spacing: .04em;
    border-bottom: 1px solid var(--light-border);
    white-space: nowrap;
}
.usage-table td {
    padding: 9px 10px;
    font-size: 13px;
    color: var(--black);
    border-bottom: 1px solid var(--light-border);
    vertical-align: middle;
}
.usage-table tr:last-child td { border-bottom: 0; }
.usage-table th.usage-num, .usage-table td.usage-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.usage-table th:first-child, .usage-table td:first-child { padding-left: 0; }
.usage-table th:last-child, .usage-table td:last-child { padding-right: 0; }

.usage-name { display: flex; align-items: center; gap: 8px; min-width: 0; }
.usage-name img { width: 16px; height: 16px; flex: 0 0 auto; }
.usage-name span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Share-of-top-spender bar. Deliberately narrow: it is a reading aid beside the
   number, not the number itself. */
.usage-share {
    width: 90px;
    height: 6px;
    background-color: var(--extra-light);
    border-radius: var(--border-radius-tiny);
    overflow: hidden;
}
.usage-share-fill { height: 100%; background-color: var(--primary); border-radius: var(--border-radius-tiny); }
.usage-table td.usage-share-cell { width: 100px; }

.usage-showall { margin-top: 10px; font-size: 12px; }

/* ── §F per-scope spend, inside the existing budget rows ──────────────────── */
.ai-budget-proj-spend { display: flex; align-items: center; gap: 8px; margin-top: 5px; }
.ai-budget-proj-spend .usage-bar { max-width: 160px; }
.ai-budget-proj-spend-label { font-size: 11px; color: var(--light-text); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ── §G seat card, overage toggle, packs ──────────────────────────────────── */
.usage-seat-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.usage-seat-plan {
    display: inline-block;
    padding: 2px 10px;
    border-radius: var(--border-radius-sm);
    background-color: var(--primary);
    color: #fff;
    font-size: 11px;
}

.usage-overage-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--border);
}
.usage-overage-body { flex: 1 1 auto; min-width: 0; }
.usage-overage-title { font-size: 12px; font-weight: 500; }
.usage-overage-note { font-size: 11px; color: var(--light-text); }

.usage-center-state { text-align: center; padding: 30px; }
.usage-center-state .sub-text { margin-top: 10px; }


.usage-meters-container {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 5px;
}
/* ── Two-column usage layout (2026-09-04) ──────────────────────────────────────
   Same grid mechanics as the Focus page (profile-page.css .focus-columns): the
   facts read down the wide left track, the money controls stay put in a sticky
   right rail. minmax(0, …) on both tracks so a wide table scrolls INSIDE its own
   .usage-table-wrap instead of forcing the grid wider than the page.

   Deliberately NOT Materialize columns: `col m8 / col m4` inside the account
   shell's own `col s12 m10` nests a grid in a grid and the sticky rail stops
   working. A bare div grid is the whole trick.
   ────────────────────────────────────────────────────────────────────────────── */
.usage-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
    gap: 25px;
    align-items: start;
    padding-top: 10px;
}
.usage-column-main { min-width: 0; }
/* .usage-meters-container spaces the panels INSIDE it with its own flex `gap`,
   but the scoped-limits panel and the legacy auto-overage panel are SIBLINGS of
   it, and .usage-panel carries no vertical margin — so those two butted straight
   against the stack above with a hard seam while every card above was 5px apart.
   Same 5px, applied between the main column's own children. */
.usage-column-main > * + * { margin-top: 5px; }
.usage-column-side { min-width: 0; position: sticky; top: 20px; }
/* If the rail is ever absent (ng-if leaves a comment node, which is not an
   element, so :only-child still matches) the facts take the full width. */
.usage-column-main:only-child { grid-column: 1 / -1; }

@media (max-width: 1100px) {
    .usage-columns { grid-template-columns: minmax(0, 1fr); }
    .usage-column-side { order: -1; position: static; }
}

/* ── Side-rail cards ──────────────────────────────────────────────────────── */
.usage-side-card {padding: 30px;margin-bottom: 5px;}
.usage-side-card:last-child { margin-bottom: 0; }
.usage-side-title {
    font-size: 12px;
    color: var(--light-text);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 8px;
}
.usage-side-note { font-size: 12px; color: var(--light-text); margin-top: 8px; }
.usage-side-note strong { color: var(--black); font-weight: 500; }
.usage-side-divider { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--light-border); }

/* (1) Balance */
.usage-balance-figure {
    font-size: 30px;
    line-height: 1.15;
    font-weight: 300;
    color: var(--black);
    margin: 2px 0;
}
.usage-balance.is-exhausted .usage-balance-figure { color: var(--usage-warn); }
.usage-balance-sub { font-size: 12px; color: var(--light-text); }
.usage-balance-label {
    display: inline-block;
    margin-bottom: 4px;
    padding: 2px 9px;
    border-radius: var(--border-radius-sm);
    background-color: var(--usage-warn);
    color: #333;
    font-size: 11px;
}
/* The exhausted banner used to live in the retired credits section. It belongs
   beside the balance it describes. */
.usage-balance .credits-exhausted-banner {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: var(--border-radius-tiny);
    background-color: var(--extra-light);
    border-left: 3px solid var(--usage-warn);
    font-size: 12px;
}
.usage-balance .credits-exhausted-banner > i { color: var(--usage-warn); font-size: 18px; }
.usage-balance .banner-text { flex: 1 1 auto; min-width: 0; color: var(--black); }
.usage-balance .banner-action { display: block; margin-top: 4px; color: var(--primary); cursor: pointer; }
.usage-balance .banner-action:hover { text-decoration: underline; }

/* (2) Add credits */
.usage-amount-chips {display: flex;flex-wrap: wrap;gap: 5px;margin: 10px 0 8px 0;}
.usage-amount-chip {
    padding: 2px 10px!important;
    font-size: 13px;
    color: var(--black)!important;
    background-color: transparent;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-xs);
    cursor: pointer;
    user-select: none;
}

button.usage-amount-chip {
    font-size: 12px!important;
}

.admin-settings-body button.usage-amount-chip:first-of-type {
    padding: 2px 10px!important;
}
.usage-amount-chip:hover {background-color: var(--hover-light);text-decoration: none!important;}
.usage-amount-chip.is-active {background-color: var(--primary);border-color: var(--primary);color: var(--black);}
.usage-custom-amount { margin-top: 4px; }
.usage-custom-amount input[type="number"] {margin: 0;border: none;background-color: var(--background-color);padding: 0 15px;border-radius: var(--border-radius-xs);}
.usage-bonus-line { font-size: 12px; color: var(--good); margin: 8px 0; font-variant-numeric: tabular-nums; }
.usage-invalid-line { font-size: 12px; color: var(--warning); margin: 8px 0; }
.usage-side-card .btn {width: 100%;text-align: center;margin-top: 10px;font-weight: 500;height: 45px;line-height: 45px;}

.usage-side-card .btn[disabled] {
    background-color: var(--light-white)!important;
}
.usage-buy-state { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--light-text); padding: 10px 0; }

/* Soft-pending: the charge landed, our ledger has not caught up. Warmer than the
   plain preparing state so it does not read as "still working". */
.usage-buy-state.is-pending { color: var(--black); }

/* The way out of "Preparing checkout…". Nothing is charged at that point, so this
   is always offered — b5, the spinner that used to have no exit. */
.usage-buy-cancel {
    margin-left: auto;
    color: var(--primary-color);
    cursor: pointer;
    font-size: 12px;
    text-decoration: underline;
}

.usage-buy-cancel:hover { opacity: 0.8; }

/* Purchase outcome strips, scoped so they read as part of the rail. */
.usage-outcome {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 10px;
    padding: 9px 11px;
    border-radius: 0 5px 5px 0;
    background-color: var(--extra-light);
    border-left: 3px solid var(--good);
    font-size: 12px;
    color: var(--black);
}
.usage-outcome > i { font-size: 18px; color: var(--good); }
.usage-outcome.is-error { border-left-color: var(--warning); }
.usage-outcome.is-error > i { color: var(--warning); }

/* The dismiss affordance. Muted in both variants — the strip's colour is carried
   by its rule and its leading icon, and a red X would read as a second alarm. */
.usage-outcome .usage-outcome-close { margin-left: auto; cursor: pointer; opacity: .6; font-size: 16px; color: var(--light-text); }
.usage-outcome.is-error .usage-outcome-close { color: var(--light-text); }
.usage-outcome .usage-outcome-close:hover { opacity: 1; }

/* (3) Auto-reload */
.usage-toggle-row {display: flex;align-items: start;gap: 10px;}

.usage-toggle-row .switch .lever {
    margin-right: 0;
}
.usage-toggle-row .switch { flex: 0 0 auto; }
.usage-toggle-row .switch label { margin: 0; }
.usage-toggle-body { flex: 1 1 auto; min-width: 0; }
.usage-toggle-body-title { font-size: 13px; font-weight: 500; color: var(--black); }
.usage-toggle-body-note { font-size: 11px; color: var(--light-text); }
.usage-reload-fields { margin-top: 12px; }
.usage-field-label { font-size: 11px; color: var(--light-text); margin-bottom: 2px; }
.usage-reload-fields select, .usage-reload-fields input[type="number"] { margin: 0 0 10px 0; }
.usage-card-line { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--black); margin-top: 6px; }
.usage-card-line i.material-symbols-outlined { font-size: 18px; color: var(--light-text); }
.usage-status-banner {
    margin-top: 10px;
    padding: 9px 11px;
    border-radius: var(--border-radius-tiny);
    background-color: var(--extra-light);
    border-left: 3px solid var(--usage-warn);
    font-size: 12px;
    color: var(--black);
}
.usage-status-banner.is-error { border-left-color: var(--warning); }
.usage-status-banner .usage-link { display: inline-block; margin-top: 3px; }

/* (4) Monthly spend limit + plan/authority */
.usage-limit-field { margin-bottom: 10px; }
.usage-limit-field input[type="number"], .usage-limit-field select {margin: 0;background-color: var(--background-color);border: none;padding: 0 15px;border-radius: var(--border-radius-xs);}
.usage-disclosure {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 4px 0 10px 0;
    font-size: 12px;
    color: var(--primary);
    cursor: pointer;
}
.usage-disclosure i.material-symbols-outlined { font-size: 16px; }
.usage-plan-name { font-size: 13px; font-weight: 500; color: var(--black); }

/* ── Collapsed scoped-limits section (per-project / member / team) ─────────── */
.usage-collapse-head {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}
.usage-collapse-head h6 { margin: 0; flex: 1 1 auto; min-width: 0; }
.usage-collapse-head > i.material-symbols-outlined { color: var(--light-text); transition: transform .2s ease; }
.usage-collapse-head.is-open > i.material-symbols-outlined { transform: rotate(180deg); }
.usage-collapse-body { margin-top: 6px; }

/* ── In-page top-up confirm ───────────────────────────────────────────────────
   The overlay, the card, the price block and the action row all come from
   addon-confirm-modal.css on purpose — one confirm shape for anything that moves
   money on this account. Only the header icon tint is this page's. */
.usage-charge-icon { color: var(--primary-color); }


.account-intelligence .settings-section {
}
/* ============================================================================
   <usage-chart> — daily AI usage bars for Account → Intelligence.

   Same plain/functional voice as ai-governance.css: CSS vars only, so the dark
   theme (variables.css :88-125) needs no rules of its own. Restyle freely.

   Geometry contract with usage-chart.js:
     • the SVG viewBox is 720 x 200 with preserveAspectRatio="none", so the
       x-axis stretches and the y-axis does not — --usage-chart-h IS the plot
       height in both the SVG and the axis columns;
     • --usage-chart-tick is the y-label line-height, and the y column is one
       line taller than the plot and pulled up half a line so each label's
       centre lands exactly on its gridline;
     • the x-axis is one flex slot per bar, matching the SVG's even slot grid.
   ============================================================================ */

.usage-chart {
    --usage-chart-h: 200px;
    --usage-chart-tick: 12px;
    position: relative;
    width: 100%;
}

.usage-chart-body { display: flex; align-items: flex-start; gap: 10px; }
.usage-chart-main { flex: 1 1 auto; min-width: 0; }

/* ── Y axis (HTML, never scaled) ──────────────────────────────────────────── */
.usage-chart-yaxis {
    flex: 0 0 auto;
    min-width: 34px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: calc(var(--usage-chart-h) + var(--usage-chart-tick));
    margin-top: calc(var(--usage-chart-tick) / -2);
    text-align: right;
}
.usage-chart-ytick {
    font-size: 10.5px;
    line-height: var(--usage-chart-tick);
    color: var(--light-text);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* ── Plot ─────────────────────────────────────────────────────────────────── */
.usage-chart-plot { position: relative; height: var(--usage-chart-h); }
.usage-chart-svg {
    display: block;
    width: 100%;
    height: var(--usage-chart-h);
    overflow: visible;
}

.usage-chart-grid { stroke: var(--light-border); stroke-width: 1; pointer-events: none; }

/* Hit rects sit BEHIND the bars and are the only pointer target, so hovering
   anywhere in a day's column works — including a zero-height day. */
.usage-chart-hit { fill: transparent; }
.usage-chart-hit:hover { fill: var(--extra-light); }

.usage-chart-bar { fill: var(--primary); opacity: 0.72; pointer-events: none; }
.usage-chart-bar.is-today { opacity: 1; }

.usage-chart-pace {
    stroke: var(--label);
    stroke-width: 1;
    stroke-dasharray: 4 4;
    opacity: 0.65;
    pointer-events: none;
}

.usage-chart-empty {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    font-size: 12.5px;
    color: var(--light-text);
}

/* ── Tooltip ──────────────────────────────────────────────────────────────── */
.usage-chart-tip {
    position: absolute;
    z-index: 3;
    transform: translate(-50%, -100%);
    margin-top: -8px;
    padding: 5px 8px;
    border-radius: var(--border-radius-tiny);
    background-color: var(--background-color);
    border: 1px solid var(--border);
    box-shadow: var(--box-shadow);
    white-space: nowrap;
    pointer-events: none;
    font-size: 11.5px;
    line-height: 15px;
}
.usage-chart-tip.is-left  { transform: translate(0, -100%); }
.usage-chart-tip.is-right { transform: translate(-100%, -100%); }
.usage-chart-tip-date { display: block; color: var(--light-text); }
.usage-chart-tip-value {
    display: block;
    color: var(--black);
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}
.usage-chart-tip-metric { font-weight: normal; color: var(--light-text); }

/* ── X axis (HTML, one slot per bar) ──────────────────────────────────────── */
.usage-chart-xaxis { display: flex; margin-top: 6px; height: 14px; }
.usage-chart-xslot { position: relative; flex: 1 1 0; min-width: 0; }
.usage-chart-xlabel {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    font-size: 10.5px;
    line-height: 14px;
    color: var(--light-text);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.usage-chart-xlabel.is-month { color: var(--black); font-weight: 500; }

/* ── Loading ──────────────────────────────────────────────────────────────── */
.usage-chart-skeleton {
    display: flex;
    align-items: flex-end;
    gap: 4px;
    height: var(--usage-chart-h);
}
.usage-chart-skeleton-bar {
    flex: 1 1 0;
    background-color: var(--extra-light);
    border-radius: var(--border-radius-xs) var(--border-radius-xs) 0 0;
    animation: usage-chart-pulse 1.4s ease-in-out infinite;
}
.usage-chart-skeleton-bar:nth-child(6n+1) { height: 34%; }
.usage-chart-skeleton-bar:nth-child(6n+2) { height: 58%; }
.usage-chart-skeleton-bar:nth-child(6n+3) { height: 26%; }
.usage-chart-skeleton-bar:nth-child(6n+4) { height: 71%; }
.usage-chart-skeleton-bar:nth-child(6n+5) { height: 45%; }
.usage-chart-skeleton-bar:nth-child(6n+6) { height: 62%; }

@keyframes usage-chart-pulse {
    0%, 100% { opacity: 0.55; }
    50%      { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .usage-chart-skeleton-bar { animation: none; }
}

/* Narrow columns: drop the y-axis gutter width and let the bars have the room. */
@media (max-width: 480px) {
    .usage-chart { --usage-chart-h: 150px; }
    .usage-chart-yaxis { min-width: 28px; }
    .usage-chart-body { gap: 6px; }
}

/* ============================================================================
   Agent run PLAN panel (Agents v3 — "todos-as-plan").
   The agent's OWN run-scoped checklist, pinned at the top of the run card and
   ticking over live. NOT the team's todos. Own file so it stays out of the
   shared ai-intelligence.css. Restyle freely.
   ============================================================================ */
.ai-run-plan {
    margin: 15px 0;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny, 8px);
    background: var(--light-white);
    /* overflow: hidden; */
    /* Pinned: the active run's plan stays in view while the transcript scrolls
       beneath it (the IDE-plans-scroll-away fix). Falls back gracefully when the
       scroll container isn't positioned. */
    /* position: sticky; */
    top: 4px;
    z-index: 2;
    box-shadow: none;
    /* border: none; */
    transition: all .3s ease-in-out;
    line-height: 24px;
}

.agent-plan-panel.pending .ai-run-plan {
    border-color: var(--primary);
}

.ai-run-plan-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px 10px 20px;
    font-size: 13px;
    font-weight: 500;
    color: var(--black);
    cursor: pointer;
}

.ai-run-plan-head .ml-auto {
    text-align: right;
}

.ai-run-plan-head .plan-title {
    min-width: 31px;
    text-transform: uppercase;
    font-size: 9px;
}

.ai-run-plan-head .plan-title, .ai-run-plan-head > i {
    color: var(--primary)!important;
}

.ai-run-plan-head .ml-auto {
    min-width: 80px;
}

.ai-run-log-toggle i:hover {
    color: var(--primary);
}

.ai-run-log-toggle:hover svg .jt-ai-word {
    /* fill: var(--primary); */
}

.ai-run-plan-head > i {
    font-size: 17px;
    color: var(--label, #3a46b8);
}

.ai-run-plan-head .arp-title {
    font-size: 12px;
    line-height: normal;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ai-run-plan-head .arp-count {
    /* font-variant-numeric: tabular-nums; */
    font-weight: 400;
    color: var(--black);
    /* background: var(--white); */
    border-radius: var(--border-radius-tiny);
    /* padding: 1px 9px; */
    font-size: 10px;
}

.ml-auto {
    margin-left: auto;
}

.ai-run-plan-steps {
    /* padding: 10px; */
}

.arp-step {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 5px 0px 5px 7px;
    font-size: 12px;
    /* line-height: 1.4; */
    color: var(--black);
}

.arp-step > i {
    font-size: 17px;
    flex: 0 0 auto;
    margin-top: 4px;
}

i.arp-ic-done {
    color: var(--good);
}

.arp-text {
    flex: 1 1 auto;
    min-width: 0;
}

/* per-state treatment */
.arp-ic-done {
    color: var(--good, #17915e);
}

.arp-ic-active {
    color: var(--label, #3a46b8);
}

.arp-ic-blocked {
    color: var(--red, #ce4141);
}

.arp-ic-pending {
    color: var(--faint-text, #9aa4b3);
    opacity: .7;
}

.arp-done .arp-text {
    color: var(--light-text);
    text-decoration: line-through;
    text-decoration-color: var(--light-text);
    font-size: 13px;
}

.arp-in_progress {
    background: var(--background-color);
    border-radius: 6px;
}

.arp-in_progress .arp-text {
    font-weight: 400;
}

.arp-blocked .arp-text {
    color: var(--red, #ce4141);
}

.arp-spin {
    animation: arp-spin 1.1s linear infinite;
}

@keyframes arp-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .arp-spin {
        animation: none;
    }
}

/* ── Plan DOCUMENT sections (understanding / approach / assumptions / risks / DoD).
   Minimal base styles — restyle freely; variables.css tokens only. ── */
.ai-run-plan-body {
}

.arp-doc {
    padding: 25px 0px 0px;
}

.arp-doc-label {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    color: var(--light-text);
    margin-bottom: 0px;
}

.arp-doc-text {
    margin: 0;
    /* line-height: 23px; */
    color: var(--black);
}

.arp-doc .arp-doc-text {
    margin-bottom: 0;
}

/* Rich variant (plan.document.format === 'html'). Same type as .arp-doc-text but WITHOUT pre-wrap:
   the markup carries its own line breaks, so pre-wrap would double every one of them. */
.arp-doc-rich {
    margin: 0;
    font-size: 12.5px;
    line-height: 23px;
    color: var(--black);
}

.arp-doc-rich p {
    margin: 0 0 6px;
}

.arp-doc-rich p:last-child {
    margin-bottom: 0;
}

.arp-doc-rich ul, .arp-doc-rich ol {
    margin: 4px 0 6px;
    padding-left: 20px;
}

.arp-doc-rich li {
    margin: 2px 0;
    list-style: inherit;
}

.arp-doc-rich a {
    color: var(--primary);
}

.arp-doc-rich code {
    font-size: 11.5px;
    background: var(--hover-item);
    padding: 1px 4px;
    border-radius: 3px;
}

/* Definition of done — a checkable contract (each item ticks with evidence on verify). */
.arp-dod-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 5px 0px 5px 7px;
    /* line-height: 1.4; */
    color: var(--black);
}

.arp-dod-item > i {
    font-size: 16px;
    flex: 0 0 auto;
    margin-top: 4px;
}

.arp-dod-text {
    flex: 1 1 auto;
    min-width: 0;
}

.arp-dod-evidence {
    color: var(--light-text);
}

.arp-dod-met .arp-dod-text {
    color: var(--light-text);
}

/* Assumptions — each with a calibrated-confidence chip. */
.arp-assumption {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 0;
    /* font-size: 12.5px; */
    /* line-height: 1.4; */
    color: var(--black);
}

.arp-assumption .arp-doc-text {
    display: list-item;
    margin-left: 20px;
    margin-bottom: 5px;
}

.arp-conf {
    font-size: 9px;
    font-weight: 500;
    text-transform: uppercase;
    border-radius: var(--border-radius-tiny);
    padding: 0px 5px;
    flex: 0 0 auto;
    /* background: var(--white); */
    height: 24px;
    line-height: 24px;
    vertical-align: top;
}

.arp-conf-low {
    color: var(--warning);
}

.arp-conf-medium {
    color: var(--light-text);
}

.arp-conf-high {
    color: var(--good);
}

.arp-doc-text > span::before {
    content: ' - ';
}

.arp-collapse {
    font-size: 19px;
    color: var(--light-text);
}

.ai-run-fix-link {
    color: var(--primary);
    font-weight: 600;
    margin-left: 4px;
    white-space: nowrap;
}

/* §P1b plan-approval CHECKPOINT — a confident greenlight (distinct from the amber question banner). */
.ai-plan-checkpoint-banner {
    /* margin: -21px 0 4px; */
    margin-top: 5px;
    padding: 30px;
    border-radius: var(--border-radius-tiny);
    background: var(--light-white);
    border: 1px dashed var(--primary);
    /* border-top-color: var(--white); */
    /* border-top-left-radius: 0; */
    /* border-top-right-radius: 0; */
}

.dark .ai-plan-checkpoint-banner {
    background-color: var(--background-color);
}

.apc-head {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    line-height: 1.45;
    color: var(--black);
}

.apc-head > i {
    font-size: 19px;
    color: var(--primary);
    flex: 0 0 auto;
}

.apc-actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.apc-approve {
    background: var(--primary);
    color: var(--awhite);
    font-weight: 600;
}

.apc-changes {
    color: var(--light-text);
    font-weight: 600;
}

/* ─────────────────────────────────────────────────────────────────────────
   §Phase4 "Grounded in …" receipt — a quiet provenance line atop the plan panel.
   ───────────────────────────────────────────────────────────────────────── */
.ai-run-grounding {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--light-text);
    padding: 6px 15px;
    background-color: var(--light-white);
    border: 1px solid var(--vborder);
    margin-top: 10px;
    border-radius: var(--border-radius-xs);
}

.ai-run-grounding i {
    font-size: 16px;
    color: var(--black);
}

.ai-run-grounding strong {
    color: var(--label);
    font-weight: 600!important;
}

/* §Phase3 editable-plan textareas (Cursor-model Approve-with-edits). */
/* Rich prose editor mount (replaces the plain .arp-doc-edit textarea). Keeps the editor visually
   inside the plan card instead of looking like a bolted-on form control. */
.arp-doc-editor {
    margin: 2px 0 4px;
}

.arp-doc-editor .cke, .arp-doc-editor .cke_chrome {
    border: 1px solid var(--light-border);
    border-radius: 4px;
    box-shadow: none;
}

.arp-doc-editor .cke_top {
    background: var(--light-white);
    border-bottom: 1px solid var(--light-border);
    padding: 4px 6px;
}

.arp-doc-editor .cke_bottom {
    display: none;
}

.arp-doc-editor .tiptap-editor, .arp-doc-editor .ProseMirror {
    min-height: 70px;
    font-size: 12.5px;
    line-height: 23px;
}

.arp-doc-edit {
    width: 100%;
    min-height: 58px;
    margin: 2px 0 0;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    background: var(--subtle);
    color: var(--label);
    padding: 6px 8px;
    font: inherit;
    line-height: 1.4;
    resize: vertical;
    box-sizing: border-box;
}

.arp-doc-edit:focus {
    border-color: var(--primary);
    outline: none;
}

.apc-edit {
    color: var(--primary);
}

/* Run cost — quiet by default, legible on hover. Cost is the number people act on; the token
   breakdown lives in the title attribute so the strip stays scannable. */
.ars-cost {
    font-size: 10px;
    color: var(--light-text);
    /* font-variant-numeric: tabular-nums; */
    cursor: help;
    transition: color .3s ease-in-out;
}

.ars-cost:hover {
    color: var(--primary);
}

/* ─────────────────────────────────────────────────────────────────────────────
   §v4 Description | Plan surface switch on the task detail.
   This file is loaded globally (index.html) and no .arp-* rule is scoped under
   .ai-chat, so the shared panel styles apply here unchanged.
   ───────────────────────────────────────────────────────────────────────────── */
.task-surface-tabs {
    display: flex;
    gap: 4px;
    margin: 6px 0 10px;
}

.task-surface-tabs .btn {
    font-size: 12px;
    height: 28px;
    line-height: 28px;
    padding: 0 12px;
}

.spec-surface-plan {
    padding: 4px 0 20px;
}

/* The panel is a card inside a chat bubble; on the task it is the whole surface, so drop the
   inset that reads as a nested box here. */
.spec-surface-plan .ai-run-plan {
    margin: 0;
}

.spec-surface-plan-empty {
    padding: 24px 0;
    font-size: 12.5px;
}

/* DoD edit rows — text stays a list item, never prose. */
.arp-dod-edit-row {
    align-items: center;
    background-color: var(--white);
    margin-bottom: 1px;
}

.arp-dod-edit-row:first-child {
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
}

.arp-dod-edit-row:last-child {
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
}

.arp-dod-input {
    flex: 1 1 auto;
    min-width: 0;
    height: 26px;
    margin: 0;
    border: none;
    border-bottom: 1px solid var(--light-border);
    background: transparent;
    color: var(--black);
    font-size: 12.5px;
    padding: 0 2px;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
}

.arp-dod-input:focus {
    border-bottom-color: var(--primary);
    outline: none;
    box-shadow: none;
}

.arp-dod-remove {
    font-size: 15px;
    color: var(--light-text);
    cursor: pointer;
    flex: 0 0 auto;
}

.arp-dod-remove:hover {
    color: var(--warning);
}

.arp-dod-add {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 0;
    font-size: 12px;
    color: var(--primary);
    cursor: pointer;
}

.arp-dod-add i {
    font-size: 16px;
}

/* Task-surface plan actions + revise + version rail. */
.spec-plan-actions {
    display: flex;
    gap: 6px;
    align-items: center;
    margin: 2px 0 8px;
}

.spec-plan-actions .btn {
    font-size: 12px;
    height: 28px;
    line-height: 28px;
    padding: 0 12px;
}

.spec-plan-actions .btn i.left {
    font-size: 15px;
    margin-right: 5px;
}

.spec-plan-save {
    background: var(--primary);
    color: var(--white);
}

.spec-plan-revise {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 0 0 10px;
}

.spec-plan-revise input {
    flex: 1 1 auto;
    height: 32px;
    margin: 0;
    font-size: 12.5px;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
    background: var(--background-color);
    color: var(--black);
    padding: 0 10px;
    box-sizing: border-box;
}

.spec-plan-revise input:focus {
    border-color: var(--primary);
    outline: none;
    box-shadow: none;
}

.spec-plan-versions {
    margin-top: 14px;
    padding-top: 8px;
    border-top: 1px solid var(--light-border);
}

.spec-plan-version-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 2px;
    font-size: 12px;
    color: var(--black);
}

.spec-plan-version-row.is-current {
    font-weight: 500;
}

.spv-v {
    color: var(--label);
    font-weight: 500;
    min-width: 26px;
}

.spv-who {
    color: var(--light-text);
}

.spv-when {
    color: var(--faint-text, #9aa4b3);
    margin-left: auto;
}

.spv-current {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--good);
}

.spv-restore {
    font-size: 11px;
    color: var(--primary);
    cursor: pointer;
}

.spv-restore:hover {
    text-decoration: underline;
}

/* §v5 read-only panel: header pencil + open-question rows. */
.arp-edit {
    font-size: 16px;
    color: var(--light-text);
    margin-left: 10px;
    cursor: pointer;
}

.arp-edit:hover {
    color: var(--primary);
}

.arp-edit + .arp-collapse {
    margin-left: 8px;
}

.arp-open-question {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 3px 0;
    font-size: 12.5px;
    color: var(--black);
}

.arp-open-question i {
    font-size: 15px;
    color: var(--label, #3a46b8);
    flex: 0 0 auto;
}

/* §v5 plan-edit SUB-VIEW (replaces the thread while open). Plain inputs on purpose —
   the rich editors read as heavier than the content deserved. */
.ape-wrapper {
    padding: 30px;
    max-width: 820px;
    margin: 0 auto;
    width: 100%;
    /* background-color: var(--light-white); */
    /* border: 1px solid var(--light-border); */
    /* border-radius: var(--border-radius-tiny); */
}

.ape-head {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 400;
    color: var(--black);
    margin-bottom: 12px;
}

.ape-head i {
    font-size: 16px;
    color: var(--icon-color);
}

.ape-hint {
    font-size: 11.5px;
    font-weight: 400;
    color: var(--light-text);
    margin-left: auto;
    cursor: pointer;
}

.ape-hint:hover i {
    color: var(--primary);
    font-size: 16px!important;
}

.ape-field {
    margin-bottom: 20px;
}

.ape-field > label {
    display: block;
    font-weight: 300;
    font-size: 10px!important;
    text-transform: uppercase;
    color: var(--light-text)!important;
    margin-bottom: 3px;
}

.ape-field input[type="text"], .ape-field textarea {
    width: 100%;
    min-height: 50px;
    margin: 0;
    font-size: 13px;
    /* line-height: 1.5; */
    color: var(--black);
    border-radius: var(--border-radius-tiny);
    background: var(--white);
    padding: 0 15px;
    box-sizing: border-box;
    box-shadow: var(--box-shadow)!important;
    resize: vertical;
    border: none!important;
    outline: none!important;
}

.ape-field textarea {
    min-height: 150px;
    padding: 15px;
}

.ape-field input[type="text"]:focus, .ape-field textarea:focus {
    border-color: var(--primary);
    outline: none;
    box-shadow: none;
}

.ape-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 2px;
    border: none!important;
}

.ape-row input[type="text"] {
    flex: 1 1 auto;
}

.ape-conf {
    width: 92px;
    flex: 0 0 auto;
    height: 50px;
    font-size: 12px;
    border-radius: var(--border-radius-tiny);
    background: var(--white);
    color: var(--black);
    box-shadow: var(--box-shadow);
    border: none;
}

.ape-remove {
    font-size: 16px;
    color: var(--light-text);
    cursor: pointer;
    flex: 0 0 auto;
}

.ape-remove:hover {
    color: var(--warning);
}

.ape-add {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--primary);
    cursor: pointer;
    padding: 2px 0;
}

.ape-add i {
    font-size: 16px;
}

.ape-actions {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}

.ape-actions .btn-flat {
    color: var(--black)!important;
}

.ape-save {
    background: var(--primary);
    color: var(--awhite);
}

/* §v5 task-detail approval nudge (replaces the Description|Plan tabs). */
.spec-plan-approval-nudge {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 5px 0 15px;
    padding: 10px 20px 10px 15px;
    /* border-radius: var(--border-radius-tiny); */
    background: var(--background-color);
    border-left: 3px solid var(--primary);
    font-size: 13px;
    color: var(--black);
    border-radius: 0 5px 5px 0;
}

.spec-plan-approval-nudge i {
    font-size: 17px;
    color: var(--primary);
}

.spec-plan-approval-nudge a {
    color: var(--primary);
    font-weight: 500;
    margin-left: auto;
    white-space: nowrap;
}


.agents-plan-edit {
    overflow-y: auto;
    height: calc(100dvh - 64px - 50px);
    /* padding: 25px; */
}

input.ai-chat-file-input {
    display: none;
}

.agents-plans-row {
    /* height: 50px; */
    /* line-height: 50px; */
    display: flex;
    align-items: start;
    gap: 15px;
    padding: 15px 20px;
    background-color: var(--white);
    border-radius: 0;
    margin-bottom: 0px;
    /* box-shadow: var(--box-shadow); */
    border-bottom: 1px solid var(--light-border);
}

.agents-plans-row:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.agents-plans-row:last-child {
    border-bottom-left-radius: var(--border-radius-tiny);
    border-bottom-right-radius: var(--border-radius-tiny);
    border-bottom: none;
}
/* §v6 inline "request changes" form on the checkpoint card + the revising state. */
.apc-changes-form { margin-top: 10px; }
.apc-changes-input {
    width: 100%; margin: 0 0 8px; min-height: 64px; box-sizing: border-box;
    border: 1px solid var(--light-border); border-radius: var(--border-radius-tiny);
    background: var(--background-color); color: var(--black);
    font: inherit; font-size: 13px; line-height: 1.5; padding: 8px 10px; resize: vertical;
}
.apc-changes-input:focus { border-color: var(--primary); outline: none; box-shadow: none; }
.ai-plan-checkpoint-banner.apc-revising { opacity: .85; }
.apc-revising .apc-head i { color: var(--primary); }

/* §v6 agent question — one-click answer options. */
.ai-agent-question-options { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.aqo-option {
    font-size: 12.5px; height: 30px; line-height: 30px; padding: 0 13px;
    border: 1px solid var(--light-border); border-radius: var(--border-radius-tiny);
    background: var(--background-color); color: var(--black); text-transform: none;
}
.aqo-option:hover { border-color: var(--primary); color: var(--primary); background: var(--background-color); }
/* The HTML fallback list (mobile / notifications read the raw HTML) is redundant once the
   interactive choice card renders — hide it only where the card exists. */
.ai-agent-question-banner ~ .listing-description .agent-question-options,
.ai-convo .agent-question-options { display: none; }

/* AI Thinking/Reasoning UI */
@keyframes thinking-spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

#aiPanel .ai-thinking-section,
.ai-chat-messages .ai-thinking-section {
	background-color: var(--white)!important;
	border: 1px solid var(--light-border);
}

#aiPanel .thread-continuation .ai-thinking-section,
.ai-chat-messages .thread-continuation .ai-thinking-section {
	background-color: var(--background-color)!important;
}

.ai-thinking-summary {
	display: flex;
	height: 50px;
	align-items: center;
	padding: 0 20px;
	gap: 15px;
	color: var(--black);
}

.ai-thinking-summary i {
	font-size: 16px;
	color: var(--primary);
}

.ai-thinking-summary i.thinking-toggle {
    margin-left: auto;
    color: var(--black);
    transform: rotate(180deg);
}

.ai-thinking-section {
	margin-bottom: 0px;
	margin-top: 5px;
	border-radius: var(--border-radius-tiny);
	overflow: hidden;
	font-size: 13px;
	line-height: 1.5;
	background: var(--background-color);
	border: 1px solid var(--light-border);
	/* box-shadow: var(--box-shadow); */
	max-width: calc(100% - 35px);
	margin-left: 35px;
}

.mail-app .ai-thinking-section {
    background-color: var(--extra-light)!important;
}

.ai-thinking-step {
    display: flex;
    gap: 15px;
    padding: 10px 20px;
    align-items: flex-start;
    font-size: 13px;
    border-top: none;
}

.ai-thinking-step .step-detail {
    color: var(--light-text);
    font-size: 12px;
    /* text-transform: capitalize; */
}

.ai-thinking-step .step-content {
    display: flex;
    flex-direction: column;
}

.ai-thinking-step i {
    color: var(--primary);
    font-size: 17px;
}

.ai-thinking-step i.success {
    color: var(--good);
}

.task-ai .ai-thinking-section {
    max-width: 100%;
    margin-left: 0;
    margin-bottom: 0;
}

.simple-chat .ai-thinking-section {
    max-width: 100%!important;
    margin-left: 0;
    margin-top: 5px;
	margin-bottom: 5px;
}

nav .simple-chat .ai-thinking-section {
	background-color: var(--background-color);
}

/* Dark mode keeps the header's var(--light-border) line; the box's own edge is the AI gradient
   (<ai-chat> gives the section .ai-outline). William 10-01: a pale yellow border here read badly. */
.dark .ai-thinking-section, .dark .ai-thinking-summary {
    background-color: var(--extra-light)!important;
}

.ai-thinking-section.collapsed .ai-thinking-details {
	display: none;
}

.ai-thinking-summary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 21px;
	padding: 10px 20px 10px 25px;
	cursor: pointer;
	user-select: none;
	color: var(--light-text, #999);
	background-color: var(--background-color)!important;
	height: 50px;
	transition: background 0.15s ease;
	border-bottom: 1px solid var(--light-border);
}

.response-container .ai-thinking-summary {
	height: 50px!important;
}

nav .ai-thinking-summary {
	background-color: var(--white)!important;
}

.ai-thinking-summary:hover {
	background: var(--hover-bg, rgba(255, 255, 255, 0.04));
}

.ai-thinking-summary > i.spinner {
	/* display: block!important; */
	font-size: 16px;
	line-height: 20px;
	/* color: var(--primary); */
	width: 20px;
	height: 20px;
	animation: thinking-spin 1.2s linear infinite!important;
	/* max-height: 20px; */
	margin: 0 auto!important;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ai-thinking-summary .thinking-text {
	flex: 1;
	color: var(--black);
	font-size: 12px;
	font-weight: 500;
	text-transform: capitalize;
}

.ai-thinking-summary .thinking-toggle {
	font-size: 18px;
	transition: transform 0.2s ease;
	color: var(--light-text, #999);
	line-height: unset!important;
	height: auto;
}

.ai-thinking-section.collapsed .thinking-toggle {
	transform: rotate(-0deg);
}

.ai-thinking-details {
	/* padding: 10px 25px; */
	/* border-top: 1px solid var(--border-color, rgba(255, 255, 255, 0.06)); */
	/* background-color: var(--background-color); */
}

.dark .ai-thinking-details {
	/* background-color: var(--white); */
}

.ai-thinking-step {
	display: flex;
	align-items: flex-start;
	gap: 25px;
	padding: 10px 28px 10px;
	color: var(--light-text, #999);
	font-size: 12px;
}

.mail-intel-panel .ai-convo.response .ai-thinking-step {
    background-color: var(--white);
}

.ai-thinking-step + .ai-thinking-step {
	/* border-top: 1px solid var(--border-color, rgba(255, 255, 255, 0.04)); */
}

.ai-thinking-step .step-icon {
	font-size: 14px;
	margin-top: 1px;
	flex-shrink: 0;
	height: auto;
}

.ai-thinking-step .step-icon.success {
	color: var(--success-color, #4caf50);
}

.ai-thinking-step .step-icon.error {
	color: var(--error-color, #f44336);
}

.ai-thinking-step .step-icon.pending {
	color: var(--primary);
	height: 20px;
	line-height: 20px;
	animation: thinking-spin 1.2s linear infinite;
}

.ai-thinking-step img.step-icon.provider-logo {
	width: 14px;
	height: 14px;
	margin-top: 3px;
	object-fit: contain;
	opacity: 0.85;
	animation: none;
}

.ai-thinking-step img.step-icon.provider-logo.pending {
	height: 14px;
	line-height: normal;
	opacity: 1;
	animation: thinking-logo-pulse 1.2s ease-in-out infinite;
}

.ai-thinking-step img.step-icon.provider-logo.success {
	opacity: 0.55;
}

@keyframes thinking-logo-pulse {
	0%, 100% { opacity: 0.45; }
	50% { opacity: 1; }
}

.ai-thinking-step .step-content {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	position: relative;
}

.ai-thinking-step .step-content::before {
    content: ' ';
    width: 1px;
    background-color: var(--light-border);
    left: -33px;
    position: absolute;
    height: 100%;
    top: 19px;
}

.ai-thinking-step:last-child .step-content::before {
    content: none;
}

.ai-thinking-step .step-name {
	font-weight: 400;
	color: var(--black);
	text-transform: capitalize;
}

.ai-thinking-step .step-detail {
	color: var(--light-text, #888);
	font-size: 11px;
	word-break: break-word;
}

.ai-thinking-step .step-duration {
	font-size: 11px;
	color: var(--light-text, #777);
	flex-shrink: 0;
}

/* Fade out completed steps */

@keyframes thinking-step-fade {
	0% { opacity: 1; max-height: 60px; padding-top: 10px; padding-bottom: 10px; }
	70% { opacity: 0; max-height: 60px; padding-top: 10px; padding-bottom: 10px; }
	100% { opacity: 0; max-height: 0; padding-top: 0; padding-bottom: 0; overflow: hidden; }
}

.ai-thinking-step.fading-out {
	animation: thinking-step-fade 0.6s ease forwards;
}

/* Model thinking within thinking steps */

.ai-thinking-step .model-thinking-toggle {
	cursor: pointer;
	user-select: none;
}

.ai-thinking-step .model-thinking-toggle:hover {
	color: var(--primary);
}

.ai-thinking-step .model-thinking-chevron {
	font-size: 14px;
	vertical-align: middle;
}

.ai-thinking-step .model-thinking-content {
	white-space: pre-wrap;
	font-size: 11px;
	line-height: 1.6;
	max-height: 300px;
	overflow-y: auto;
	margin-top: 4px;
	padding: 8px;
	background: var(--extra-light, rgba(0, 0, 0, 0.02));
	border-radius: var(--border-radius-tiny);
}

/* Tool progress chips (shown inline during streaming) */

.ai-tool-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 10px;
	margin: 2px 4px 2px 0;
	border-radius: 12px;
	font-size: 11px;
	font-weight: 500;
	background: var(--chip-bg, rgba(92, 107, 192, 0.12));
	color: var(--accent-color, #5c6bc0);
	white-space: nowrap;
}

.ai-tool-chip .chip-icon {
	font-size: 13px;
}

.ai-tool-chip.completed {
	background: var(--success-bg, rgba(76, 175, 80, 0.12));
	color: var(--success-color, #4caf50);
}

.ai-tool-chip.error {
	background: var(--error-bg, rgba(244, 67, 54, 0.12));
	color: var(--error-color, #f44336);
}

/* Confirmation card */

.ai-confirm-card {
	margin: 20px 0;
	padding: 20px;
	border-radius: var(--border-radius-tiny);
	border: 1px solid var(--primary);
	color: var(--black);
	/* box-shadow: var(--box-shadow); */
	background-color: var(--background-color);
	font-size: 13px;
}

.ai-confirm-card .confirm-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	color: var(--black);
}

.ai-confirm-card .confirm-header .material-symbols-outlined {
	font-size: 18px;
}

.ai-confirm-card .confirm-description {
	font-size: 13px;
	color: var(--black);
	margin-bottom: 10px;
}

.ai-confirm-card .confirm-preview {
	padding: 8px 10px;
	margin-bottom: 10px;
	border-radius: 4px;
	background: var(--code-bg, rgba(0, 0, 0, 0.15));
	font-size: 12px;
	color: var(--light-text, #aaa);
	max-height: 120px;
	overflow-y: auto;
}

.ai-confirm-card .confirm-actions {
	display: flex;
	gap: 20px;
	align-items: center;
	padding: 0!important;
	justify-content: flex-end;
}

.ai-confirm-card .confirm-actions .btn-transparent {
    cursor: pointer;
}

.ai-confirm-card .confirm-actions .btn-transparent:hover {
    text-decoration: underline;
}

.ai-confirm-card .confirm-actions .btn {
    padding: 0 20px!important;
	vertical-align: middle;
	display: flex;
	align-items: center;
	justify-content: center;
	text-transform: uppercase;
}

.ai-confirm-card .confirm-actions .btn {
	padding: 0 16px;
	height: 30px;
	line-height: 30px;
	font-size: 12px;
}

/* Stop/cancel button */

.ai-stop-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 12px;
	border-radius: 4px;
	border: 1px solid var(--border-color, rgba(255, 255, 255, 0.15));
	background: transparent;
	color: var(--light-text, #aaa);
	font-size: 12px;
	cursor: pointer;
	transition: all 0.15s ease;
}

.ai-stop-btn:hover {
	background: var(--error-bg, rgba(244, 67, 54, 0.12));
	border-color: var(--error-color, #f44336);
	color: var(--error-color, #f44336);
}

.ai-stop-btn .material-symbols-outlined {
	font-size: 14px;
}

/* Rich tool result rendering */

.ai-tool-results {
	margin: 8px 0;
	font-size: 13px;
}

.ai-tool-result-item {
	padding: 8px 12px;
	margin: 4px 0;
	border-radius: 6px;
	background: var(--card-bg, rgba(255, 255, 255, 0.03));
	border: 1px solid var(--border-color, rgba(255, 255, 255, 0.06));
}

.ai-tool-result-item .result-header {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 6px;
	font-weight: 500;
	font-size: 12px;
	color: var(--light-text, #999);
}

.ai-tool-result-item .result-header .material-symbols-outlined {
	font-size: 16px;
}

/* Todo list result */
.ai-result-todos {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ai-result-todos li {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 3px 0;
	font-size: 13px;
	color: var(--text-color, #ddd);
}

.ai-result-todos li .material-symbols-outlined {
	font-size: 16px;
	color: var(--success-color, #4caf50);
}

/* Comment result */
.ai-result-comment {
	padding: 8px 12px;
	border-radius: 8px;
	background: var(--chip-bg, rgba(92, 107, 192, 0.08));
	font-size: 13px;
	color: var(--text-color, #ddd);
}

/* Task link result */
.ai-result-task-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 8px;
	border-radius: 4px;
	background: var(--chip-bg, rgba(92, 107, 192, 0.08));
	color: var(--accent-color, #5c6bc0);
	font-size: 12px;
	text-decoration: none;
}

.ai-result-task-link:hover {
	background: var(--chip-bg-hover, rgba(92, 107, 192, 0.15));
}

/* Description diff result */
.ai-result-diff {
	padding: 8px 10px;
	border-radius: 4px;
	background: var(--code-bg, rgba(0, 0, 0, 0.15));
	font-family: monospace;
	font-size: 12px;
	max-height: 150px;
	overflow-y: auto;
	color: var(--light-text, #aaa);
}

/* Time log result */
.ai-result-timelog {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
	font-size: 13px;
}

.ai-result-timelog .time-amount {
	font-weight: 600;
	color: var(--accent-color, #5c6bc0);
}

/* Task created result */
.ai-result-task-created {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 6px;
	background: var(--success-bg, rgba(76, 175, 80, 0.08));
	border: 1px solid var(--success-border, rgba(76, 175, 80, 0.2));
}

.ai-result-task-created .task-number {
	font-weight: 600;
	color: var(--success-color, #4caf50);
}

/* Search results */
.ai-result-search {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ai-result-search li {
	padding: 4px 0;
	border-bottom: 1px solid var(--border-color, rgba(255, 255, 255, 0.04));
}

.ai-result-search li:last-child {
	border-bottom: none;
}

.ai-result-search .task-ref {
	font-weight: 500;
	color: var(--accent-color, #5c6bc0);
	margin-right: 6px;
}


/* Respect reduced-motion: disable the thinking spinner + step fade/shimmer
   animations for users who opt out (a11y — added with the <ai-chat> component). */
@media (prefers-reduced-motion: reduce) {
	.thinking-icon.spinner,
	.step-icon.pending,
	.ai-thinking-step.fading-out,
	.shimmer-overlay,
	.streaming-cursor {
		animation: none !important;
	}
}

.ai-convo .post-body-content {
    /* white-space: break-spaces; */
}

.ai-chat-msg-ai .post-body-content {
    /* white-space: break-spaces; */
    /* display: flex; */
    /* flex-direction: column; */
}

.ai-convo .post-body-content p {
    margin-bottom: 10px;
    margin-top: 10px;
}

.ai-convo .post-body-content p:last-child {
    margin-bottom: 0;
}

.ai-run-working-row {
    font-size: 13px;
}

.ai-run-working-row > span {
    font-size: 12px;
    margin-left: 5px;
}

.ai-run-plan-body {
    padding: 0px 23px 30px;
    font-size: 13px;
    border-top: 1px solid var(--light-border);
}

.ai-chat-context-list-item {
    display: flex;
    width: 100%;
    align-items: center;
    padding: 0 20px;
    height: 40px;
    line-height: 40px;
    gap: 5px;
    cursor: pointer;
    font-size: 12px;
}

.ai-chat-context-list-item:hover {
    background-color: var(--hover-item);
}

.ai-chat-context-list-item > span {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ai-chat-context-list-item > span i {
    margin-right: 0;
}

.ai-chat-context-list-item .ai-chat-context-remove {
    margin-left: auto;
}

/* ps-066 the in-flight card's turn clock ("Thinking · 0:42"): fixed-width digits so the line
   doesn't shift every second. */
.ai-chat-turn-clock {
	font-variant-numeric: tabular-nums;
}

/* ── ps-067 the working card ─────────────────────────────────────────────────────────────── */

/* The mark of the model doing the work breathes while it thinks. Off for reduced motion; an
   outline stands in under forced colours. */
@keyframes ai-working-breathe {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.08); opacity: 0.72; }
}
.the-profile-image.is-working {
	animation: ai-working-breathe 2.4s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
	.the-profile-image.is-working { animation: none; }
}
@media (forced-colors: active) {
	.the-profile-image.is-working { outline: 2px solid CanvasText; outline-offset: 2px; }
}

/* Said only when the server's heartbeat says the model has been silent. */
.ai-working-quiet,
.ai-working-leave {
	padding: 4px 20px 0;
	font-size: 12px;
	color: var(--light-text, #777);
}

/* Proof of work: the sources found so far. */
.ai-sources {
	padding: 8px 20px 4px;
}
/* Plain buttons, not .btn-flat: that class forces the primary colour with !important. */
button.ai-sources-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 8px;
	border: 0;
	border-radius: var(--border-radius-tiny);
	font: inherit;
	font-size: 12px;
	line-height: 1.4;
	color: var(--light-text, #777);
	background: transparent;
	cursor: pointer;
}
button.ai-sources-toggle:hover,
button.ai-sources-toggle:focus {
	background: var(--extra-light, rgba(0, 0, 0, 0.04));
}
button.ai-sources-toggle:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}
.ai-src-badges {
	display: inline-flex;
}
.ai-src-badges .ai-src-badge + .ai-src-badge {
	margin-left: -6px;   /* stacked, like a row of favicons */
}
.ai-src-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	font-size: 10px;
	font-weight: 600;
	color: #fff;
	box-shadow: 0 0 0 2px var(--background-color, #fff);
	flex-shrink: 0;
}
/* Eight tones, each ≥ 4.5:1 against white text; colour never carries meaning on its own. */
.ai-src-badge.tone-0 { background: #1565c0; }
.ai-src-badge.tone-1 { background: #2e7d32; }
.ai-src-badge.tone-2 { background: #6a1b9a; }
.ai-src-badge.tone-3 { background: #c62828; }
.ai-src-badge.tone-4 { background: #00695c; }
.ai-src-badge.tone-5 { background: #b45309; }
.ai-src-badge.tone-6 { background: #4e342e; }
.ai-src-badge.tone-7 { background: #37474f; }
.dark .ai-src-badge {
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.45);
}
.ai-sources-list {
	list-style: none;
	margin: 6px 0 0;
	padding: 0;
	max-height: 240px;
	overflow-y: auto;
}
.ai-sources-list li a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 8px;
	font-size: 12px;
	color: var(--black);
	border-radius: var(--border-radius-tiny);
}
.ai-sources-list li a:hover,
.ai-sources-list li a:focus-visible {
	background: var(--extra-light, rgba(0, 0, 0, 0.04));
}
.ai-src-title {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ai-src-host {
	flex-shrink: 0;
	color: var(--light-text, #777);
}

/* The done line above a saved answer: "Thought for 1m 42s · 4 searches · 12 sources". */
.ai-work-line {
	margin: 2px 0 6px;
}
button.ai-work-toggle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 6px 2px 2px;
	border: 0;
	border-radius: var(--border-radius-tiny);
	font: inherit;
	font-size: 12px;
	line-height: 1.4;
	color: var(--light-text, #777);
	background: transparent;
	cursor: pointer;
}
button.ai-work-toggle i {
	font-size: 16px;
}
button.ai-work-toggle:hover,
button.ai-work-toggle:focus {
	background: var(--extra-light, rgba(0, 0, 0, 0.04));
}
button.ai-work-toggle:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}

/* ps-067 T1b: a site's own icon, once jtsyn-services has fetched it; the letter until then. */
.ai-src-badge.has-icon {
	background: #fff;
}
.ai-src-badge .ai-src-icon {
	width: 14px;
	height: 14px;
	object-fit: contain;
	border-radius: 2px;
}

/* ── ps-067 T1c the project Ask panel's working card (outline.project.html .ai-chat-panel) ── */

/* The mark of the model doing the work, in the 24 px avatar the Intelligence spark uses. It
   breathes until the first word, like <ai-chat>'s; off for reduced motion, outlined under
   forced colours. */
.ai-chat-panel .chat-message .ai-working-mark {
	display: flex;
	width: 24px;
	height: 24px;
}
.ai-chat-panel .chat-message .ai-working-mark img {
	width: 24px;
	height: 24px;
	object-fit: contain;
}
.ai-working-mark.is-working {
	animation: ai-working-breathe 2.4s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
	.ai-working-mark.is-working { animation: none; }
}
@media (forced-colors: active) {
	.ai-working-mark.is-working { outline: 2px solid CanvasText; outline-offset: 2px; }
}

/* "Thinking · 0:12" beside the name: quieter than the name itself. */
.ai-chat-panel .author-name .ai-chat-turn-status {
	margin-left: 6px;
	font-size: 12px;
	font-weight: normal;
	color: var(--light-text, #777);
}

/* The quiet line, the sources and the done line sit under the author's name, like the steps. */
.ai-chat-panel .chat-message .ai-working-quiet {
	padding: 4px 0 0 29px;
}
.ai-chat-panel .chat-message .ai-sources {
	padding: 6px 0 2px 29px;
}
.ai-chat-panel .chat-message .ai-work-line {
	margin: 4px 0 4px;
	padding-left: 29px;
}
.ai-chat-panel .chat-message .ai-work-plain {
	font-size: 12px;
	line-height: 1.4;
	color: var(--light-text, #777);
}
/* The panel's messages sit in a .ql-editor, whose lists get discs and a 24 px line
   (`html body .ql-editor ul li`); the sources list is not prose. */
html body .ai-chat-panel .ql-editor .ai-sources-list li {
	list-style-type: none;
	line-height: normal;
}

/* ============================================================================
   Output-budget notices — "this reply was cut off", plan soft caps, session raises.

   One persistent inline notice under the affected turn (never a toast) plus the
   agent-run "Cut short" badge. Kept in its own file so the AI chat stylesheets
   stay owned by their surfaces; colours come from the shared custom properties.
   ============================================================================ */

.ai-budget-notice {
	margin: 8px 0 4px;
	padding: 8px 10px;
	border-radius: 6px;
	border: 1px solid var(--border);
	border-left: 3px solid var(--orange);
	background: var(--subtle);
}

/* A raise that was APPLIED is good news, not a warning — same shape, quieter edge. */
.ai-budget-notice.is-sessionRaise {
	border-left-color: var(--good);
}

.ai-budget-line {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	line-height: 1.4;
}

.ai-budget-line .material-symbols-outlined {
	font-size: 16px;
	line-height: 1.4;
	color: var(--orange);
	flex: 0 0 auto;
}

.ai-budget-notice.is-sessionRaise .ai-budget-line .material-symbols-outlined {
	color: var(--good);
}

.ai-budget-text {
	color: var(--black);
}

.ai-budget-notice.is-sessionRaise .ai-budget-text {
	color: var(--light-text);
}

.ai-budget-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 6px;
}

.ai-budget-action {
	cursor: pointer;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 12px;
	color: var(--primary-color);
	white-space: nowrap;
}

.ai-budget-action:hover,
.ai-budget-action:focus {
	background: var(--hover-light);
	outline: none;
	text-decoration: underline;
}

/* Session-only rung picker (TOKEN_LEVELS.response above the limit that bound). */
.ai-budget-picker {
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px solid var(--border);
}

.ai-budget-picker-label {
	margin-bottom: 4px;
}

.ai-budget-rung {
	display: flex;
	align-items: baseline;
	gap: 8px;
	padding: 4px 8px;
	border-radius: 4px;
	cursor: pointer;
}

.ai-budget-rung:hover,
.ai-budget-rung:focus {
	background: var(--hover-light);
	outline: none;
}

.ai-budget-rung-label {
	color: var(--black);
	font-weight: 500;
}

/* Inside the read-only plan panel the notice sits flush with the plan body. */
.ai-budget-notice.arp-truncated {
	margin: 10px 0 0;
}

/* Agent-run rows: an incomplete run must not read as a finished one. */
.agents-run-truncated {
	display: inline-block;
	margin-left: 6px;
	padding: 0 6px;
	border-radius: 3px;
	font-size: 11px;
	line-height: 16px;
	color: var(--orange);
	border: 1px solid var(--orange);
	white-space: nowrap;
}

/* Project Intelligence Page */

/* ==============================
   Sidebar (inside project sidebar)
   ============================== */

.pi-sidebar-body {
	/* display: flex; */
	/* flex-direction: column; */
	/* height: 100%; */
	/* overflow: hidden; */
	position: relative;
}

.pi-sidebar-actions {
	display: flex;
	gap: 8px;
	padding: 0px 20px;
	margin-bottom: 20px;
}

.pi-new-chat-btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 8px 12px;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: transparent;
	cursor: pointer;
	font-size: 13px;
	color: var(--text-color);
	transition: background 0.15s;
	height: 50px;
	line-height: 50px;
}

.pi-new-chat-btn:hover {
	background: var(--hover);
}

.pi-new-chat-btn .material-symbols-outlined {
	font-size: 18px;
}

.pi-sidebar-body .pi-plans-link {
	display: flex;
	align-items: center;
	height: 50px;
	gap: 11px;
	padding: 0px 30px!important;
	/* font-size: 12px; */
	color: var(--text-color);
	cursor: pointer;
	transition: color 0.15s;
	white-space: nowrap;
	font-weight: 400;
}

.pi-sidebar-body .pi-plans-link i, .pi-sidebar-body .pi-plans-link {
    color: var(--black)!important;
}

.pi-sidebar-body .pi-plans-link:hover {
    background-color: var(--background-color)!important;
}

.pi-sidebar-body .pi-plans-link:hover {
	color: var(--primary);
}

.pi-sidebar-body .pi-plans-link .material-symbols-outlined {
	font-size: 18px;
	color: var(--primary);
}

.pi-sidebar-body .pi-plans-link .badge {
	margin-left: 4px;
	font-size: 10px;
	min-width: 16px;
	height: 16px;
	line-height: 16px;
	border-radius: 8px;
	background: var(--primary);
	color: #fff;
	text-align: center;
	padding: 0 4px;
}

.pi-sidebar-search {
	padding: 0 30px;
}

.pi-sidebar-search input {
    background-color: var(--background-color)!important;
    padding: 0 20px!important;
    border-radius: 3px!important;
    border: 1px solid var(--light-border)!important;
}

.pi-sidebar-search input {
	width: 100%;
	padding: 6px 10px;
	border: 1px solid var(--border);
	border-radius: 6px;
	background: transparent;
	font-size: 12px;
	color: var(--text-color);
	box-sizing: border-box;
	height: 50px!important;
	line-height: 50px!important;
}

.pi-session-list {
	flex: 1;
	overflow-y: auto;
	padding: 0;
	max-height: calc(100dvh - 270px);
	height: 100%;
	display: block;
}

.pi-session-list .sli {
    text-transform: unset;
}

.pi-section-label {
	padding: 12px 12px 6px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--light-text);
	letter-spacing: 0.5px;
}

.pi-session-item {
	font-size: 12px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: flex;
	align-items: center;
	gap: 4px;
}

.pi-session-name {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pi-session-ai-spinner,
.pi-session-ai-done {
	flex-shrink: 0;
	font-size: 13px !important;
}

.pi-session-ai-spinner {
	color: var(--primary);
	animation: rotate 1.4s linear infinite;
}

.pi-session-ai-done {
	color: var(--success, #4caf50);
}

.pi-session-item.has-ai-activity {
	/* font-weight: 500; */
}

/* ==============================
   Main Content Area
   ============================== */

.project-intelligence-page.home-page {
	/* height: calc(100dvh - 64px); */
	/* overflow-y: auto; */
	display: flex;
	justify-content: center;
	align-items: anchor-center;
}

.pi-main-content.intelligence-chat {
	display: block;
	flex-direction: column;
	flex: 1;
	min-width: 0;
	position: relative;
	/* height: 100%; */
	/* margin-top: -50px; */
	/* padding-top: 100px; */
	background-color: transparent;
}

.dark .pi-main-content.intelligence-chat {
    /* background-color: var(--extra-light); */
}

.home-page .pi-main-content.intelligence-chat {
    background: transparent;
    padding-top: calc(50dvh - 270px);
}

.home-page .pi-main-content.intelligence-chat .pi-chat-input {
    max-width: 650px;
    width: 100%;
    position: relative;
    bottom: 0;
    top: unset;
}

.pi-main-content .pi-chat-header {
	padding: 0px 30px;
	border-bottom: transparent;
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
	background-color: var(--white);
	box-shadow: var(--box-shadow);
	z-index: 99;
}

.pi-main-content .pi-chat-header .contact-info-details {
    margin-top: 0!important;
}

.pi-main-content .pi-chat-header .contact-image {
	width: 32px;
	height: 32px;
}

.pi-main-content .pi-chat-header .contact-name {
	font-size: 15px;
	font-weight: 500;
	color: var(--black);
}

.pi-messages-container {
	flex: 1;
	overflow-y: auto;
	/* padding: 16px; */
	display: flex;
	flex-direction: column;
	background-color: transparent;
}

.pi-messages-container .chat-messages-container {
	max-width: 780px;
	width: 100%;
	margin: 0 auto;
}

.pi-messages-container .chat-message {
	max-width: 100%;
	padding: 30px;
	box-shadow: var(--box-shadow);
	border-radius: var(--border-radius-tiny);
}

.pi-messages-container .ai-thinking-section {
	max-width: 100%;
	margin-left: 0;
}

.pi-messages-container .streaming-message {
	border-left: 2px solid var(--primary);
	padding-left: 12px;
}

/* Chat Input */
.pi-chat-input {
	padding: 0 0 50px;
	max-width: 780px;
	margin: 0 auto;
	width: 100%;
	height: auto;
	box-sizing: border-box;
	flex-shrink: 0;
	background-color: var(--white);
	border-radius: var(--border-radius-tiny);
	box-shadow: var(--box-shadow);
	position: absolute;
	bottom: 40px;
	left: 0;
	right: 0;
	/* margin-top: -180px; */
	border-top: 1px solid var(--light-border);
}

.home-page .chat-input.pi-chat-input {
    margin-top: 0;
}

.pi-chat-input .chat-input-divider {
	margin-bottom: 8px;
}

.pi-chat-composer {
	width: 100%;
	min-height: 80px;
	max-height: 200px;
	padding: 10px 14px;
	border: 1px solid var(--border);
	border-radius: 5px;
	background: var(--white);
	font-size: 14px;
	color: var(--text-color);
	resize: none;
	box-sizing: border-box;
	font-family: inherit;
	line-height: 1.5;
	padding: 30px!important;
}

.home-page .pi-chat-composer {
    padding-bottom: 20px!important;
}

.pi-chat-composer:focus {
	outline: none;
	border-color: var(--primary);
}

.pi-chat-input .chat-input-button-footer {
	display: flex;
	align-items: anchor-center;
	justify-content: space-between;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 0 20px 0 17px;
}

.pi-chat-input .send-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 50%;
	background: var(--primary);
	color: #fff;
	cursor: pointer;
	transition: opacity 0.15s;
}

.pi-chat-input .send-button:hover {
	opacity: 0.85;
}

.pi-chat-input .send-button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.pi-chat-input .send-button .material-symbols-outlined {
	font-size: 18px;
}

/* Settings Gear */
.pi-chat-input .ai-settings.ai-actions {
	z-index: 1;
	position: relative;
}

.pi-chat-input .pi-settings-trigger {
	height: auto;
	line-height: normal;
	padding: 4px 5px 4px 8px!important;
}

.pi-chat-input .pi-settings-trigger:hover div, .pi-chat-input .pi-settings-trigger:hover span {
    color: var(--primary);
}

.pi-chat-input .pi-settings-trigger div, .pi-chat-input .pi-settings-trigger span {
    transition: color .2s ease-in-out;
}

.pi-chat-input .pi-settings-trigger .ds-text {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	color: var(--light-text);
}

.pi-chat-input .pi-settings-trigger .ds-text .intelligence-img {
	max-width: 16px;
	height: 16px;
	margin-right: 2px;
}

.pi-chat-input .pi-settings-trigger .ds-text i.right {
	font-size: 16px;
	margin-left: 2px;
}

.pi-settings-dropdown {
	min-width: 280px !important;
	max-height: 400px;
	overflow-y: auto;
}

.pi-settings-dropdown .ai-action.selected {
	color: var(--primary);
	font-weight: 500;
}

.pi-settings-dropdown .ai-action .sub-text {
	font-size: 11px;
	color: var(--light-text);
	/* margin-left: 8px; */
}

/* Stop streaming button */
.stop-streaming-btn {
	font-size: 12px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

/* Streaming indicator pulse */
@keyframes pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.3; }
}

@keyframes rotate {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

/* ==============================
   Empty State
   ============================== */

.pi-empty-state {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	/* justify-content: center; */
	padding: 40px 0 30px;
	/* text-align: center; */
}

.pi-main-content.intelligence-chat .pi-empty-state {
    /* padding-top: 0; */
}

.home-page .pi-main-content.intelligence-chat .pi-empty-state {
    padding-bottom: 20px;
    padding-top: 30px;
}

.home-page .pi-main-content.intelligence-chat .pi-empty-state svg {
    max-width: 60px;
}

.pi-empty-icon {
	font-size: 46px;
	/* color: var(--primary)!important; */
	margin-bottom: 16px;
}

.pi-empty-title {
	font-size: 18px;
	font-weight: 300;
	color: var(--black);
	margin-bottom: 5px;
}

.pi-empty-subtitle {
	font-size: 14px;
	color: var(--light-text);
	margin-bottom: 5px;
	max-width: 550px;
	text-align: center;
}

.pi-suggested-prompts {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	justify-content: center;
	max-width: 600px;
	margin-right: -12px;
	margin-top: -5px;
	margin: 0 auto;
	margin-top: 5px;
}

.pi-suggested-prompts span {
    font-size: 12px;
}

.pi-suggested-prompt {
	padding: 0 2px 0 0;
	/* height: 40px; */
	/* line-height: 40px; */
	border-radius: 2px;
	font-size: 12px;
	color: var(--light-text);
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s;
}

.pi-suggested-prompt::after {
    /* content: ','; */
}

.pi-suggested-prompt:last-child::after, .pi-suggested-prompt:first-child::after {
    content: '';
}

.pi-suggested-prompt:hover {
	/* background: var(--primary); */
	color: var(--primary);
	text-decoration: underline;
}

/* ==============================
   Plans Page Layout (Two-pane)
   ============================== */

.pi-plans-container {
	display: flex;
	height: calc(100vh - 64px);
	overflow-y: auto;
}

.pi-plan-list {
	/* padding: 16px; */
}

.pi-plan-card {
	padding: 20px 30px;
	border: 1px solid var(--light-border);
	border-radius: 5px;
	margin-top: 5px;
	cursor: pointer;
	transition: border-color 0.15s, box-shadow 0.15s;
	background-color: var(--background-color);
}

.pi-plan-card:hover {
	border-color: var(--primary);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.pi-plan-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}

.pi-plan-card-title {
	font-size: 15px;
	font-weight: 600;
	color: var(--text-color);
}

.pi-plan-status-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 8px;
	font-size: 11px;
	font-weight: 500;
	border-radius: 10px;
}

.pi-plan-status-badge.draft {
	background: #e3f2fd;
	color: #1565c0;
}

.pi-plan-status-badge.ready {
	background: #e8f5e9;
	color: #2e7d32;
}

.pi-plan-status-badge.executing {
	background: #fff3e0;
	color: #e65100;
}

.pi-plan-status-badge.completed {
	background: #f3e5f5;
	color: #7b1fa2;
}

.pi-plan-card-meta {
	font-size: 12px;
	color: var(--light-text);
}

.pi-plan-detail {
	display: flex;
	height: 100%;
}

.pi-plan-editor {
	flex: 1;
	display: flex;
	flex-direction: column;
	border-right: 1px solid var(--border);
	min-width: 0;
}

.pi-plan-editor-header {
	padding: 12px 16px;
	border-bottom: 1px solid var(--border);
	display: flex;
	align-items: center;
	gap: 12px;
}

.pi-plan-title-input {
	flex: 1;
	font-size: 18px;
	font-weight: 600;
	border: none;
	outline: none;
	background: transparent;
	color: var(--text-color);
}

.pi-plan-editor-body {
	flex: 1;
	overflow-y: auto;
	padding: 16px;
}

.pi-plan-editor-footer {
	padding: 12px 16px;
	border-top: 1px solid var(--border);
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.pi-plan-conversation {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/* ==============================
   Task Preview Cards (Build)
   ============================== */

.pi-task-preview-list {
	margin-top: 12px;
}

.pi-task-preview-card {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 12px;
	border: 1px solid var(--border);
	border-radius: 6px;
	margin-bottom: 8px;
}

.pi-task-preview-check {
	margin-top: 2px;
}

.pi-task-preview-content {
	flex: 1;
	min-width: 0;
}

.pi-task-preview-summary {
	font-size: 13px;
	font-weight: 500;
	color: var(--text-color);
}

.pi-task-preview-desc {
	font-size: 12px;
	color: var(--light-text);
	margin-top: 2px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ==============================
   Overview Widget
   ============================== */

.pi-overview-widget .pi-widget-sessions {
	padding: 8px 0;
}

.pi-widget-session-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0;
	height: 40px;
	cursor: pointer;
	transition: background 0.1s;
}

.pi-widget-session-item:hover {
    /* background-color: var(--background-color)!important; */
    color: var(--primary);
}

.pi-widget-session-item i {
    font-size: 16px;
    color: var(--primary);
    margin-top: 5px;
}

.pi-widget-session-item:hover {
	background: var(--hover);
}

.pi-widget-session-name {
	font-size: 13px;
	color: var(--text-color);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	flex: 1;
}

.pi-widget-session-time {
	font-size: 12px;
	color: var(--light-text);
	white-space: nowrap;
}

.pi-widget-prompt {
	padding: 10px 20px;
	background-color: var(--background-color);
	border-radius: var(--border-radius-tiny);
	height: 80px;
	margin-top: 0px;
}

.pi-widget-prompt input {
	width: 100%;
	padding: 8px 0px;
	border-radius: 20px;
	font-size: 13px!important;
	background: transparent;
	color: var(--text-color);
	box-sizing: border-box;
}

.pi-widget-prompt input:focus {
	outline: none;
	border-color: var(--primary);
}

/* ==============================
   Animations
   ============================== */

@keyframes blink {
	0%, 100% { opacity: 1; }
	50% { opacity: 0; }
}

/* ==============================
   Plan List Helpers
   ============================== */

.pi-plan-list {
	width: 100%;
	max-width: 1040px;
	margin: 40px auto;
	background-color: var(--white);
	padding: 30px;
	border-radius: var(--border-radius-tiny);
	box-shadow: var(--box-shadow);
}

.pi-plan-create-row {
	margin-top: 20px!important;
}

.pi-plan-create-input input {background-color: var(--background-color)!important;padding: 0 15px!important;border-radius: var(--border-radius-tiny)!important;height: 50px;margin-bottom: 0!important;}

.pi-plans-empty-state {
	padding: 40px;
}

.pi-task-preview-list {
	padding: 0 16px 16px;
}

.pi-task-create-actions {
	padding: 12px 0;
}

.pi-widget-empty {
	padding: 12px 0;
}

.pi-widget-plans-link {
	padding: 4px 12px;
}

/* ==============================
   Responsive
   ============================== */

@media (max-width: 768px) {
	.pi-sidebar {
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		z-index: 10;
		box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
	}

	.pi-sidebar.collapsed {
		box-shadow: none;
	}

	.pi-plan-detail {
		flex-direction: column;
	}

	.pi-plan-editor {
		border-right: none;
		border-bottom: 1px solid var(--border);
	}
}

/* ============================================================
   <ai-chat> host geometry (June 2026 migration). Scoped to the project
   intelligence host classes so nothing else (spec-item, research, global
   chat) is affected. NOTE (styling pass for William): the chrome offsets
   below are first-cut — tweak to taste after the browser test.
   ============================================================ */

/* DETAIL host pane — a bounded flex column so the session header sits above
   the component and the component's absolute input bar anchors to the column
   bottom (not the global viewport-fixed height, which would push it offscreen
   below the header). */
.project-ai-host {
	display: flex;
	flex-direction: column;
	min-height: 0;
	position: relative;
	height: calc(100dvh - 64px);
}

.project-ai-host .pi-ai-host-header {
	flex-shrink: 0;
	background-color: transparent;
	height: 50px;
	border: none!important;
	box-shadow: none;
}

.project-intelligence-page .pi-chat-header.pi-ai-host-header {
    position: absolute;
    bottom: 0;
    max-width: 820px;
    margin: 0 auto;
    left: 0;
    right: 0;
    height: 40px;
    line-height: 40px;
    color: var(--light-text);
    padding: 0 22px 0 25px;
}

.project-intelligence-page .pi-chat-header.pi-ai-host-header .btn-transparent {
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}

.project-intelligence-page .pi-chat-header.pi-ai-host-header .btn-transparent i, .project-intelligence-page .pi-chat-header.pi-ai-host-header .btn-transparent {
    line-height: 30px;
    height: 30px!important;
    font-size: 14px;
    color: var(--light-text);
}

.project-intelligence-page .pi-chat-header.pi-ai-host-header .btn-transparent:hover i {
    color: var(--warning)!important;
}

.project-ai-host > ai-chat,
.project-ai-host > .ai-chat {
	flex: 1 1 auto;
	min-height: 0;
}

.project-intelligence-page ai-chat .ai-panel.ai-chat {
    max-height: calc(100dvh - 64px);
    max-width: 100%;
    height: calc(100dvh - 64px);
}

/* Fill the flex column instead of the component's global 100dvh-based height
   so the header above is accounted for. Scoped to .project-ai-host. */
.project-ai-host .ai-chat .task-ai.oe.ai-chat-messages {
	height: auto;
	flex: 1 1 auto;
}

.project-intelligence-page .project-ai-host .ai-chat .task-ai.oe.ai-chat-messages {
    padding-bottom: 130px;
}

/* COMPOSE-only landing composer — pull the input into normal flow (the
   component's full-mode input bar is position:absolute;bottom:0). */
.project-ai-list-composer {
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
}

.project-ai-list-composer .ai-chat {
	height: auto;
	overflow: visible!important;
}

.project-ai-list-composer .ai-chat .prompt-container.ai-chat-prompt {
	position: relative;
	bottom: auto;
	left: auto;
	right: auto;
	margin: 0;
	padding: 0 30px 20px;
}

/* ---- mail-intelligence <ai-chat> host (A2 migration) ----
   The mail panel's layout CSS is largely implicit (it inherited ad-hoc sizing
   from the deleted interior markup). Give the host an explicit flex column so the
   component's scroll area + absolute input bar lay out under the header. NOTE
   (styling pass for William): tweak after the browser test. */
.mail-intelligence-panel {
	display: flex;
	flex-direction: column;
	min-height: 0;
	height: 100%;
}

.mail-ai-host {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	position: relative;
}

.mail-ai-host .mail-intel-header {
	flex-shrink: 0;
}

.mail-ai-host .mail-ai-host-body {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

.mail-ai-host .mail-ai-host-body > ai-chat {
	flex: 1 1 auto;
	min-height: 0;
}

/* Fill the flex column instead of the component's global 100dvh height so the
   mail header above is accounted for. Scoped to .mail-ai-host. */
.mail-ai-host .ai-chat .task-ai.oe.ai-chat-messages {
	height: auto;
	flex: 1 1 auto;
}

/* =========================================================================
   Overview Search
   Shared search bar for Plan / Work / Deliver overview dashboards.
   ========================================================================= */

.overview-search
{
	position: relative;
	width: 100%;
	margin: 0 0 16px 0;
	z-index: 50;
}

/* ----------------------------- Input row ----------------------------- */

.overview-search-input-wrap
{
	display: flex;
	align-items: center;
	gap: 15px;
	background: var(--white);
	border-radius: 5px;
	padding: 0 15px;
	height: 50px;
	line-height: 50px!important;
	box-shadow: var(--box-shadow);
}

.overview-search-open .overview-search-input-wrap
{border-radius: 5px 5px 0 0;}

.overview-search-icon
{
	color: var(--light-text);
	font-size: 20px;
}

.overview-search-input
{
	flex: 1;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--text);
	font-size: 14px!important;
	height: 100%;
	padding: 0;
	box-shadow: none !important;
	margin-bottom: 0!important;
	border-bottom: none!important;
}

.overview-search-input::placeholder
{
	color: var(--light-text);
	opacity: 0.7;
}

.overview-search-clear
{
	color: var(--light-text);
	font-size: 18px;
	cursor: pointer;
	padding: 4px;
	border-radius: 6px;
	transition: background 0.15s ease;
}

.overview-search-clear:hover
{
	background: var(--subtle);
	color: var(--text);
}

.overview-search-loading
{
	display: inline-flex;
	align-items: center;
	color: var(--light-text);
}

.overview-search-spin
{
	font-size: 18px;
	animation: overview-search-spin 0.8s linear infinite;
}

@keyframes overview-search-spin
{
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}

/* ----------------------------- Panel ----------------------------- */

.overview-search-panel
{
	position: absolute;
	top: calc(100% + 0px);
	left: 0;
	right: 0;
	background: var(--white);
	border-radius: 0 0 5px 5px;
	box-shadow: var(--box-shadow);
	max-height: 480px;
	overflow-y: auto;
	padding: 20px;
	z-index: 60;
}

/* Scope chips */

.overview-search-scope
{
	display: flex;
	gap: 6px;
	padding: 6px 12px 10px 12px;
	border-bottom: 1px solid var(--subtle);
	margin-bottom: 6px;
}

.overview-search-scope-chip
{
	font-size: 12px;
	padding: 4px 10px;
	border-radius: 4px;
	background: var(--subtle);
	color: var(--light-text);
	cursor: pointer;
	text-transform: capitalize;
	transition: background 0.12s ease, color 0.12s ease;
}

.overview-search-scope-chip:hover
{
	background: var(--border, var(--subtle));
	color: var(--text);
}

.overview-search-scope-chip.active
{
	background: var(--primary);
	color: var(--awhite);
}

/* Section headers inside the panel */

.overview-search-section-header
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 14px 4px 14px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--light-text);
}

.overview-search-clear-link
{
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	color: var(--primary-color);
}

.overview-search-clear-link:hover
{
	text-decoration: underline;
}

/* Recents */

.overview-search-recent-list
{
	display: flex;
	flex-direction: column;
	padding: 0 4px 6px 4px;
}

.overview-search-recent-item
{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	border-radius: 8px;
	cursor: pointer;
	color: var(--text);
	font-size: 13px;
	transition: background 0.1s ease;
}

.overview-search-recent-item:hover
{
	background: var(--subtle);
}

.overview-search-recent-item i
{
	font-size: 16px;
	color: var(--light-text);
}

/* Results */

.overview-search-results
{
	padding: 0 4px 4px 4px;
}

.overview-search-result
{
	display: flex;
	align-items: start;
	gap: 12px;
	padding: 10px 12px;
	border-radius: var(--border-radius-tiny);
	cursor: pointer;
	transition: background 0.1s ease;
}

.overview-search-result:hover,
.overview-search-result.selected
{
	background: var(--subtle);
}

.overview-search-result.selected
{
	outline: 2px solid var(--primary-color);
	outline-offset: -2px;
}

.overview-search-result-icon
{
	font-size: 20px;
	color: var(--light-text);
	flex-shrink: 0;
}

.overview-search-result-project .overview-search-result-icon
{
	color: var(--primary-color);
}

.overview-search-result-task .overview-search-result-icon
{
	color: var(--highlight);
}

.overview-search-result-body
{
	flex: 1;
	min-width: 0;
}

.overview-search-result-title
{
	font-size: 14px;
	font-weight: 400;
	color: var(--text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.overview-search-result-meta
{
	font-size: 12px;
	color: var(--light-text);
	margin-top: 2px;
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.overview-search-result-chevron
{
	font-size: 18px;
	color: var(--light-text);
	opacity: 0;
	transition: opacity 0.1s ease;
}

.overview-search-result:hover .overview-search-result-chevron,
.overview-search-result.selected .overview-search-result-chevron
{
	opacity: 1;
}

/* Loc badge */

.overview-search-loc-badge
{
	display: inline-block;
	padding: 1px 6px;
	border-radius: 4px;
	background: var(--subtle);
	color: var(--light-text);
	font-size: 10px;
	text-transform: capitalize;
	letter-spacing: 0.02em;
}

.overview-search-loc-backlog  { background: rgba(148, 163, 184, 0.18); color: #475569; }
.overview-search-loc-planning { background: rgba(59, 130, 246, 0.15); color: #1d4ed8; }
.overview-search-loc-open     { background: rgba(16, 185, 129, 0.15); color: #047857; }
.overview-search-loc-review   { background: rgba(245, 158, 11, 0.15); color: #b45309; }
.overview-search-loc-closed   { background: rgba(100, 116, 139, 0.15); color: #334155; }

body.dark-mode .overview-search-loc-backlog  { background: rgba(148, 163, 184, 0.2);  color: #cbd5e1; }
body.dark-mode .overview-search-loc-planning { background: rgba(59, 130, 246, 0.2);   color: #93c5fd; }
body.dark-mode .overview-search-loc-open     { background: rgba(16, 185, 129, 0.2);   color: #6ee7b7; }
body.dark-mode .overview-search-loc-review   { background: rgba(245, 158, 11, 0.2);   color: #fcd34d; }
body.dark-mode .overview-search-loc-closed   { background: rgba(100, 116, 139, 0.25); color: #cbd5e1; }

.overview-search-task-closed
{
	color: var(--light-text);
	font-style: italic;
}

/* Empty state */

.overview-search-empty
{
	text-align: center;
	padding: 28px 16px;
	color: var(--light-text);
}

.overview-search-empty i
{
	font-size: 30px;
	color: var(--light-text);
	opacity: 0.6;
	margin-bottom: 8px;
	display: block;
}

.overview-search-empty-hint
{
	font-size: 12px;
	margin-top: 6px;
	color: var(--light-text);
}

.overview-search-inline-link
{
	color: var(--primary-color);
	cursor: pointer;
	text-decoration: underline;
}

/* =========================================================================
   Permission error banner (shared across overview pages)
   ========================================================================= */

.overview-perm-error
{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: rgba(245, 158, 11, 0.08);
	border: 1px solid rgba(245, 158, 11, 0.3);
	border-radius: 5px;
	padding: 16px 20px;
	margin: 40px 40px 0;
	color: var(--text);
}

.work-overview-page .overview-perm-error {
    margin-top: 0;
    margin: 0 0 30px;
}

.overview-perm-error i
{
	font-size: 24px;
	color: #b45309;
	flex-shrink: 0;
	margin-top: 2px;
}

.overview-perm-error-title
{
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 4px;
}

.overview-perm-error-sub
{
	font-size: 12px;
}


.overview-page-header-right button.btn {
    display: flex;
    gap: 5px;
    box-shadow: var(--box-shadow);
}
/* jtConfirm — the shared confirm dialog (js/directives/jtConfirm.js, views/components/confirm/jt-confirm.html).
   Visual language: the .confirm-dialog backdrop + white card (style_cleaned.css) and the
   .button-action tiles, with the "never approve blind" preview of .ai-confirm-card.
   Choices are a column/row of real buttons in DOM order — no floats, no row-reverse. */

.jt-confirm-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2147483000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 16vh 16px 16px;
    box-sizing: border-box;
    overflow-y: auto;
}

/* The dimmer is a pseudo-element so the card keeps full opacity and no colour is hard-coded. */
.jt-confirm-backdrop::before {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--fullblack);
    opacity: 0.55;
}

body.jt-confirm-open {
    overflow: hidden;
}

.jt-confirm {
    position: relative;
    width: 100%;
    max-width: 540px;
    padding: 40px;
    box-sizing: border-box;
    border-radius: var(--border-radius-tiny);
    background-color: var(--xwhite);
    color: var(--black);
    box-shadow: var(--box-shadow-extra);
    font-family: var(--body-font);
}

.jt-confirm-title {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 400;
    line-height: 20px;
    color: var(--black);
    overflow-wrap: anywhere;
}

.jt-confirm-strong {
    font-weight: 600;
}

.jt-confirm-body {
    font-size: 13px;
    line-height: 1.5;
    color: var(--black);
}

.jt-confirm-text,
.jt-confirm-note {
    margin: 0 0 12px;
    overflow-wrap: anywhere;
}

.jt-confirm-note {
    color: var(--light-text);
}

/* Optional bullets (e.g. the projects a removal hands over) and one picker. */
.jt-confirm-list {
    margin: 0 0 12px;
    padding-left: 20px;
    list-style: disc;
}

.jt-confirm-list li {
    list-style: disc;
    margin: 2px 0;
    overflow-wrap: anywhere;
}

.jt-confirm-select {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0 0 12px;
}

.jt-confirm-select-label {
    color: var(--light-text);
}

.jt-confirm-select select {
    display: block;
    width: 100%;
}

.jt-confirm-preview {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0 0 16px;
}

.jt-confirm-preview-side {
    padding: 10px 12px;
    border-radius: var(--border-radius-xs);
    background-color: var(--background-color);
    color: var(--light-text);
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.jt-confirm-preview-right {
    color: var(--black);
}

.jt-confirm-apply {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    margin: 0 0 12px;
    padding: 0 6px 0 2px;
    border: none;
    border-radius: var(--border-radius-xs);
    background: transparent;
    color: var(--black);
    font-family: inherit;
    font-size: 13px;
    cursor: pointer;
}

.jt-confirm-apply i.material-symbols-outlined {
    font-size: 20px;
    color: var(--primary);
}

.jt-confirm-choices {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.jt-confirm-choice {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 44px;
    padding: 12px 14px;
    box-sizing: border-box;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-xs);
    background-color: var(--white);
    color: var(--black);
    font-family: inherit;
    font-size: 13px;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
}

.jt-confirm-choice:hover {
    border-color: var(--primary);
}

.jt-confirm-choice-icon.material-symbols-outlined {
    flex-shrink: 0;
    font-size: 15px;
    line-height: 1;
    color: var(--primary);
}

.jt-confirm-choice-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.jt-confirm-choice-label {
    font-weight: 600;
}

.jt-confirm-choice-detail {
    color: var(--light-text);
    overflow-wrap: anywhere;
}

.jt-confirm-choice.jt-tone-primary {
    border-color: var(--primary);
}

.jt-confirm-choice.jt-tone-danger .jt-confirm-choice-label,
.jt-confirm-choice.jt-tone-danger .jt-confirm-choice-icon.material-symbols-outlined {
    color: var(--warning);
}

.jt-confirm-choice.jt-tone-danger:hover {
    border-color: var(--warning);
}

/* materialize.min.css paints every focused <button> with the primary colour; keep ours readable
   and show focus as an outline instead. */
.jt-confirm-choice:focus {
    background-color: var(--white);
}

.jt-confirm-apply:focus {
    background-color: transparent;
}

.jt-confirm-choice:focus-visible,
.jt-confirm-apply:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Screen-reader-only text, shared by the Files tab (spec.item.files.html). */
.jt-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

@media screen and (max-width: 480px) {
    .jt-confirm-backdrop {
        padding-top: 10vh;
    }

    .jt-confirm {
        padding: 20px 16px 16px;
    }

    .jt-confirm-preview {
        grid-template-columns: 1fr;
    }
}

/*
	Project Files page (files-program P5, 2026-09-14; sidebar + favorites + drop-anywhere
	+ row actions 2026-09-16).

	The file ROWS deliberately carry no styling here — the page has the `files-v2`
	class, so every `.file-table` / `.fl-*` rule in views/pages/spec-item/spec-item.css
	applies verbatim and the rows, the ⋮ menu and the inline preview look exactly like
	the task Files tab. This sheet styles only what is new to this page: the drop ring,
	the upload box, the two section headers, the per-task grouping, the star, and the
	sidebar (views/components/projectsidebar/files.html).

	Section headers are styled here rather than borrowing `.work-section-header`, which
	is defined inside plan.css and work.css for those pages rather than as a shared
	component — borrowing it would couple this page to another page's layout.
*/

/* ------------------------------------------------------------ page + drop */

/* The whole main column is the drop target, so it must fill the column. */
.files-page .files-page-body {
	position: relative;
	height: calc(100vh - 64px);
	overflow-y: auto;
	padding: 16px;
}

.files-page .files-page-inner {
	max-width: 1100px;
	margin: 40px auto;
}

/* Shown only while a drag is over the column. pointer-events:none keeps the drop
   landing on the column itself, and the list stays readable through it. */
.files-page .pf-drop-ring {
	display: none;
	position: absolute;
	top: 10px;
	right: 10px;
	bottom: 10px;
	left: 10px;
	z-index: 5;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border: 2px dashed var(--primary);
	border-radius: var(--border-radius-xs);
	background: rgba(255, 255, 255, 0.6);
	color: var(--primary);
	font-size: 15px;
	font-weight: 600;
	pointer-events: none;
}

.files-page .pf-drop-ring i {
	font-size: 28px;
}

.files-page .pf-dropzone.pf-dragging .pf-drop-ring {
	display: flex;
}

/* --------------------------------------------------------------- sections */

.files-page .pf-section {
	margin-bottom: 32px;
}

.files-page .pf-section-header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
	padding: 0 0px 5px;
	/* border-bottom: 1px solid var(--border); */
	margin-bottom: 0px;
}

.files-page .pf-section-title {
	font-size: 11px;
	font-weight: 300;
	color: var(--light-text);
	text-transform: uppercase;
}

.files-page .pf-section-header .work-section-badge {
	display: inline-block;
	min-width: 20px;
	padding: 0 6px;
	border-radius: var(--border-radius-xs);
	background-color: var(--white);
	color: var(--primary);
	font-size: 10px;
	line-height: 18px;
	text-align: center;
}

.files-page .pf-section-hint {
	font-size: 12px;
	color: var(--light-text);
	margin-left: auto;
}

/* ----------------------------------------------------------------- upload */

.files-page .pf-upload {
	margin-top: 10px;
}

.files-page .pf-upload-box {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 14px;
	border: 1px dashed var(--border);
	border-radius: var(--border-radius-xs);
	color: var(--black-soft);
	font-size: 13px;
	cursor: pointer;
	transition: border-color .12s, color .12s, background-color .12s;
}

.files-page .pf-upload-box i {
	font-size: 22px;
	color: var(--primary);
}

.files-page .pf-upload-box b {
	color: var(--primary);
	font-weight: 600;
}

.files-page .pf-upload-box:hover,
.files-page .pf-upload-box:focus-visible {
	border-color: var(--primary);
	background-color: var(--light-white);
	color: var(--black);
	outline: none;
}

.files-page .pf-upload-progress {
	font-size: 12px;
	color: var(--black-soft);
	padding: 4px 2px 0;
}

/* ------------------------------------------------------------ task groups */

.files-page .pf-task-group {
	margin-bottom: 30px;
}

.files-page .pf-task-header {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 0px 4px;
	margin-bottom: 2px;
}

.files-page .pf-task-link {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	min-width: 0;
	color: var(--black);
}

.files-page .pf-task-link, .files-page .pf-task-link:hover {
    text-decoration: none!important;
}

.files-page .pf-task-link:hover .pf-task-summary {
	color: var(--primary);
}

.files-page .pf-task-number {
	font-size: 12px;
	font-weight: 600;
	color: var(--primary);
	white-space: nowrap;
}

.files-page .pf-task-summary {
	font-size: 13px;
	color: var(--black-soft);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.files-page .pf-task-header .work-section-badge {
	margin-left: auto;
}

.files-page .pf-show-all {
	padding: 4px 2px 0;
}

/* ------------------------------------------------------------------- star */

/* Material Symbols draws `star` outlined; the FILL axis fills it. Kept OUT of the
   `.selected` rule in variables.css, which flips every symbol inside it. */
.pf-star .pf-star-icon {
	color: var(--light-text);
	font-variation-settings: 'FILL' 0;
	transition: color .12s;
}

.pf-star:hover .pf-star-icon {
	color: var(--primary);
}

.pf-star.is-on .pf-star-icon {
	color: var(--primary);
	font-variation-settings: 'FILL' 1;
}

.pf-star.is-on i.pf-star-icon {
    color: var(--primary)!important;
}

/* ---------------------------------------------------------------- sidebar */

.pf-sidebar .pf-side-search {
	margin-bottom: 6px;
}

.pf-sidebar .pf-side-section {
	margin: 30px 0 0;
}

.pf-sidebar .pf-side-title {
	display: flex;
	align-items: baseline;
	gap: 6px;
	font-size: 11px;
	font-weight: 300;
	text-transform: uppercase;
	color: var(--light-text);
	margin: 0 0px 6px;
}

.pf-sidebar .pf-side-list {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

/* One row per choice. The active state carries the chip colours William set on the
   page (primary fill, white text) now that the chips live here. */
.pf-sidebar .pf-side-item {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 6px 10px;
	border: 0;
	border-radius: var(--border-radius-xs);
	background: none;
	color: var(--black-soft);
	font-size: 13px;
	line-height: 20px;
	text-align: left;
	cursor: pointer;
	font-weight: 400;
	transition: background-color .12s, color .12s;
}

.pf-sidebar .pf-side-item i {
	font-size: 18px;
	color: var(--light-text);
	transition: color .12s;
}

.pf-sidebar .pf-side-item:hover {
	background-color: var(--light-white);
	color: var(--black);
}

.pf-sidebar .pf-side-item:hover i {
	color: var(--primary);
}

.pf-sidebar .pf-side-item.is-active {
	background-color: var(--background-color);
}

.pf-sidebar .pf-side-item.is-active, .pf-sidebar .pf-side-item.is-active i, .pf-sidebar .pf-side-item.is-active span {
    color: var(--primary)!important;
}

.pf-sidebar .pf-side-item.is-active i {
	color: var(--awhite);
}

.pf-sidebar .pf-side-item:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 1px;
}

.pf-sidebar .pf-side-count {
	margin-left: auto;
	font-size: 11px;
	color: var(--light-text);
	font-variant-numeric: tabular-nums;
}

.pf-sidebar .pf-side-item.is-active .pf-side-count {
	color: var(--awhite);
	opacity: .85;
}

.pf-sidebar .pf-side-dir {
	margin-left: auto;
	font-size: 16px !important;
}

.pf-sidebar .pf-side-toggle {
	margin-top: 6px;
}

.pf-sidebar .pf-side-toggle.is-active .pf-star-icon {
	font-variation-settings: 'FILL' 1;
}

.pf-sidebar .pf-side-empty {
	font-size: 12px;
	color: var(--light-text);
	padding: 2px 8px 6px;
}

/* --------------------------------------------------------- favorites list */

.pf-sidebar .pf-fav {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 10px;
	border-radius: var(--border-radius-xs);
	color: var(--black);
	transition: background-color .12s;
}

.pf-sidebar a.pf-fav, .pf-sidebar a.pf-fav:hover {
    text-decoration: none!important;
}

.pf-sidebar .pf-fav:hover,
.pf-sidebar .pf-fav:focus-within {
	background-color: var(--light-white);
}

.pf-sidebar .pf-fav .file-type-icon {
	font-size: 15px;
	flex: 0 0 auto;
}

.pf-sidebar .pf-fav-thumb {
	width: 22px;
	height: 22px;
	border-radius: 4px;
	flex: 0 0 auto;
	background-size: cover;
	background-position: center;
}

.pf-sidebar .pf-fav-text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1 1 auto;
}

.pf-sidebar .pf-fav-name {
	font-size: 13px;
	font-weight: 400;
	line-height: 18px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pf-sidebar .pf-fav-meta {
	font-size: 11px;
	color: var(--light-text);
	line-height: 14px;
}

/* Revealed on hover and on keyboard focus, so it is never unreachable. */
.pf-sidebar .pf-fav-remove {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 0;
	border-radius: 50%;
	background: none;
	color: var(--light-text);
	cursor: pointer;
	opacity: 0;
	transition: opacity .12s, color .12s;
}

.pf-sidebar .pf-fav-remove i {
	font-size: 16px;
}

.pf-sidebar .pf-fav:hover .pf-fav-remove,
.pf-sidebar .pf-fav-remove:focus-visible {
	opacity: 1;
}

.pf-sidebar .pf-fav-remove:hover {
	color: var(--black);
}

/* ------------------------------------------------------------------ small */

@media screen and (max-width: 720px) {
	.files-page .files-page-body { padding: 12px; min-height: 60vh; }
	.files-page .pf-section-hint { margin-left: 0; }
}

/*
	Project lifecycle — archive / restore / delete (2026-09-23).

	Styles for:
	  - the Work > Archived page (views/pages/projects/projects.archived.html)
	  - the "Archived" badge (archived page rows, omni search, overview search)
	  - the read-only banner on an archived project (views/pages/project/project.body.html)
	  - the Settings > Delete page (views/pages/project/project.settings.delete.html)
	  - the board project panel's typed-key delete (project.panel.description.html)
	  - the plan-limit line on the create-project form (projects.create.html)

	Colours come from variables.css so dark mode follows the tokens.
*/

/* ------------------------------------------------------------ badge */

.project-archived-badge,
.omni-badge.omni-badge-archived {
	display: inline-block;
	margin-left: 8px;
	padding: 1px 8px;
	border-radius: 10px;
	background: rgba(245, 158, 11, 0.15);
	color: #b45309;
	font-size: 11px;
	font-weight: 600;
	line-height: 18px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	vertical-align: middle;
}

body.dark-mode .project-archived-badge,
body.dark-mode .omni-badge.omni-badge-archived {
	background: rgba(245, 158, 11, 0.2);
	color: #fcd34d;
}

/* overview-search prints the raw loc ("archived") in its loc badge. */
.overview-search-loc-archived {
	background: rgba(245, 158, 11, 0.15);
	color: #b45309;
}

body.dark-mode .overview-search-loc-archived {
	background: rgba(245, 158, 11, 0.2);
	color: #fcd34d;
}

/* ------------------------------------------------------------ archived page */

.archived-projects-page .archived-projects {
	max-width: 960px;
	margin: 32px auto;
	padding: 0 16px;
}

.archived-projects-page .archived-projects-header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

.archived-projects-page .archived-projects-title h5 {
	margin: 0 0 6px;
	font-size: 22px;
	font-weight: 600;
}

.archived-projects-page .archived-projects-title .sub-text {
	max-width: 560px;
	color: var(--light-text);
	font-size: 13px;
}

.archived-projects-page .archived-projects-search {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 240px;
	padding: 0 10px;
	border: 1px solid var(--border);
	border-radius: var(--border-radius-xs);
	background: var(--white);
}

.archived-projects-page .archived-projects-search i {
	color: var(--icon-color);
	font-size: 18px;
}

.archived-projects-page .archived-projects-search input {
	height: 34px;
	margin: 0;
	border: 0;
	box-shadow: none;
	font-size: 14px;
}

.archived-projects-page .archived-projects-search input:focus {
	border: 0;
	box-shadow: none;
}

.archived-projects-page .archived-projects-state {
	padding: 40px 0;
	color: var(--light-text);
	text-align: center;
}

.archived-projects-page .archived-projects-empty {
	padding: 56px 16px;
	border: 1px dashed var(--border);
	border-radius: var(--border-radius-xs);
	color: var(--light-text);
	text-align: center;
}

.archived-projects-page .archived-projects-empty i {
	font-size: 36px;
	color: var(--icon-color);
}

.archived-projects-page .archived-projects-empty-title {
	margin: 8px 0 4px;
	color: var(--black);
	font-size: 15px;
	font-weight: 600;
}

.archived-projects-page .archived-projects-list {
	border: 1px solid var(--border);
	border-radius: var(--border-radius-xs);
	background: var(--white);
}

.archived-projects-page .archived-project-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--light-border);
}

.archived-projects-page .archived-project-row:last-child {
	border-bottom: 0;
}

.archived-projects-page .archived-project-main {
	flex: 1;
	min-width: 0;
	cursor: pointer;
}

.archived-projects-page .archived-project-main:hover .archived-project-name span:first-child,
.archived-projects-page .archived-project-main:focus .archived-project-name span:first-child {
	text-decoration: underline;
}

.archived-projects-page .archived-project-name {
	overflow: hidden;
	color: var(--black);
	font-size: 15px;
	font-weight: 500;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.archived-projects-page .archived-project-meta {
	margin-top: 2px;
	color: var(--light-text);
	font-size: 12px;
}

.archived-projects-page .archived-project-key {
	font-family: monospace;
}

.archived-projects-page .archived-project-actions {
	display: flex;
	flex-shrink: 0;
	gap: 8px;
}

@media only screen and (max-width: 600px) {
	.archived-projects-page .archived-project-row {
		flex-direction: column;
		align-items: stretch;
	}

	.archived-projects-page .archived-projects-search {
		min-width: 0;
		width: 100%;
	}
}

/* ------------------------------------------------------------ archived banner */

.project-archived-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	border-bottom: 1px solid rgba(245, 158, 11, 0.35);
	background: rgba(245, 158, 11, 0.12);
	color: var(--black);
	font-size: 13px;
}

.project-archived-banner i {
	color: #b45309;
	font-size: 20px;
}

.project-archived-banner .project-archived-banner-text {
	flex: 1;
	min-width: 200px;
}

.project-archived-banner .btn {
	height: 30px;
	line-height: 30px;
}

body.dark-mode .project-archived-banner i {
	color: #fcd34d;
}

/* ------------------------------------------------------------ settings > delete */

.project-settings .project-lifecycle-section {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--light-border);
}

.project-settings .project-lifecycle-section:first-of-type {
	margin-top: 8px;
	padding-top: 0;
	border-top: 0;
}

.project-settings .project-lifecycle-section h6 {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 600;
}

.project-settings .project-lifecycle-section .sub-text {
	margin-bottom: 12px;
}

.project-settings .project-lifecycle-key {
	font-family: monospace;
	font-weight: 600;
}

.project-settings .project-lifecycle-error,
.archiven-delete .project-lifecycle-error {
	margin: 8px 0;
	color: var(--warning);
	font-size: 13px;
}

.project-settings .project-lifecycle-readonly {
	color: var(--light-text);
	font-size: 13px;
}

/* ------------------------------------------------------------ board panel delete */

/* Inline typed-key confirm under the panel's Archive / Delete buttons. */
.project-delete-inline {
	margin-top: 12px;
	padding: 12px 14px;
	border: 1px solid rgba(244, 67, 54, 0.35);
	border-radius: var(--border-radius-xs);
	background: rgba(244, 67, 54, 0.06);
}

.project-delete-inline h6 {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 600;
}

.project-delete-inline .sub-text {
	color: var(--light-text);
	font-size: 13px;
}

.project-delete-modal .project-delete-confirm {
	margin-top: 12px;
}

.project-delete-modal .project-delete-confirm label {
	color: var(--black);
	font-size: 13px;
}

.project-delete-modal .project-delete-confirm input {
	margin: 4px 0 0;
}

.project-delete-inline .project-delete-actions {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 8px;
}

/* ------------------------------------------------------------ create form */

.create-project-limit {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 12px;
	padding: 10px 12px;
	border: 1px solid rgba(244, 67, 54, 0.35);
	border-radius: var(--border-radius-xs);
	background: rgba(244, 67, 54, 0.08);
	color: var(--black);
	font-size: 13px;
}

.create-project-limit i {
	color: var(--warning);
	font-size: 18px;
}

.create-project-limit a {
	cursor: pointer;
	font-weight: 600;
}



.enhanced-features {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    box-sizing: border-box;
}

.enhanced-feature {
    background: var(--white);
    border-radius: 5px;
    padding: 30px!important;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    box-shadow: var(--box-shadow);
    width: 100%;
}

.enhanced-feature:hover {
    border-color: var(--border);
    background-color: var(--extra-light);
}

.enhanced-feature:active {
    transform: translateY(0);
}

.feature-content {
    display: flex;
    gap: 20px;
    width: 100%;
}

.feature-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--background-color);
    border-radius: var(--border-radius-tiny);
    transition: all 0.2s ease;
}

.feature-icon .material-symbols-outlined {
    font-size: 20px;
    color: var(--black);
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    transition: none!important;
}

.feature-info {
    flex: 1;
    min-width: 0;
}

.feature-title {
    font-size: 14px;
    font-weight: 400;
    color: var(--black);
    margin-bottom: 1px;
    line-height: 1.3;
    font-family: var(--body-font);
}

.feature-description {
    color: var(--light-text);
    font-family: var(--body-font);
    margin: 0;
}

.enhanced-feature:hover .feature-description {
    color: var(--black);
}

.enhanced-feature:hover .feature-icon {
    background: var(--primary);
}

.enhanced-feature:hover .feature-icon span {
    color: var(--awhite);
}

.enhanced-feature input[type="checkbox"]:checked ~ .feature-info .feature-title {
    color: var(--primary);
}

.enhanced-feature input[type="checkbox"]:checked ~ .feature-info .feature-description {
    color: var(--black);
}

.enhanced-feature input[type="checkbox"]:checked ~ .feature-icon {
    background: rgba(38, 164, 209, 0.2);
}

@media (max-width: 768px) {
    .enhanced-feature {
        padding: 14px 16px;
    }
    
    .feature-content {
        gap: 12px;
    }
    
    .feature-icon {
        width: 36px;
        height: 36px;
    }
    
    .feature-icon .material-symbols-outlined {
        font-size: 18px;
    }
    
    .feature-title {
        font-size: 13px;
    }
    
    .feature-description {
        font-size: 11px;
    }
}

:root.dark .enhanced-feature {
    border-color: var(--border);
}

:root.dark .enhanced-feature:hover {
    border-color: var(--primary);
}

:root.dark .feature-title {
    color: var(--black);
}

:root.dark .feature-description {
    color: var(--light-text);
}

:root.dark .enhanced-feature:hover .feature-title {
    color: var(--primary);
}

:root.dark .enhanced-feature:hover .feature-description {
    color: var(--black);
}

.enhanced-feature::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(38, 164, 209, 0.02) 0%, rgba(38, 164, 209, 0) 100%);
    opacity: 0;
    pointer-events: none;
}

.enhanced-feature:hover::before {
    opacity: 1;
}


.integration-section {
    margin-bottom: 30px;
    padding: 20px;
    background: var(--subtle);
    border-radius: 8px;
    border: 1px solid var(--border);
}

.integration-section .sub-text {
    margin-bottom: 20px;
}

.integration-section h6 {
    margin: 0 0 2px 0;
    color: var(--black);
    font-weight: 300;
    font-size: 16px;
    display: flex;
    align-items: anchor-center;
}

.integration-section h6 svg {
    max-width: 40px;
    margin-top: -6px;
}

.intelligence-text i {
    color: var(--primary);
    margin-right: 5px!important;
    font-size: 21px;
    margin-top: -5px;
}

.compliance-item {
    display: flex;
    gap: 13px;
    padding-bottom: 20px;
}

.setting-option .dropdown-selector {
    border-radius: 4px;
    padding: 8px 12px;
    background: var(--white);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.setting-option .dropdown-selector:hover {
    border-color: var(--light-plus);
}

.usage-stats {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.stat-item {
    flex: 1;
    min-width: 120px;
    text-align: center;
    padding: 30px 0;
    background: var(--white);
    border-radius: 5px;
    box-shadow: var(--box-shadow);
    position: relative;
}

.stat-value {
    font-size: 28px;
    font-weight: 300;
    color: var(--primary);
}

.stat-label {
    font-size: 12px;
    color: var(--icon-color);
    margin-top: 15px;
    display: flex;
}

.stat-description {
    font-size: 11px;
    color: var(--light-text);
    margin-top: 5px;
}

.quick-actions {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.quick-actions .btn {display: flex;gap: 10px;}

.rotating {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.integration-setting p {
    margin-bottom: 8px;
}

.integration-setting .sub-text {
    font-size: 11px;
    color: var(--light-text);
    margin-top: 3px;
}

.provider-key-section .input-field,
.api-key-section .input-field{
    margin: 0;
}

.provider-key-section .input-field input,
.api-key-section .input-field input{
    margin-bottom: 0;
    background-color: var(--white)!important;
    padding: 0px 15px;
    border-bottom: none!important;
    box-shadow: none!important;
}

.provider-key-section .input-field input, .provider-key-section .input-field .btn,
.api-key-section .input-field input, .api-key-section .input-field .btn{
    height: 50px!important;
    line-height: 50px!important;
}

.intelligence-settings .cke, .admin-settings-section .cke {
    background-color: var(--background-color);
    padding: 20px;
    border-radius: var(--border-radius-tiny);
}

.ai-processing-text i, .ai-processing-text {
    line-height: normal!important;
    height: unset!important;
    color: var(--primary)!important;
}

.ai-processing-text i {
    float: left;
    margin-right: 5px;
    vertical-align: middle;
    line-height: 16px!important;
}

.model-toggle-item {
    display: flex;
    background-color: var(--background-color);
    padding: 20px;
    border-radius: var(--border-radius-tiny);
    justify-content: space-between;
    flex: 1 1 calc(50% - 10px);
}

.api-key-section-account-key {
    font-size: 11px;
    line-height: 15px;
    margin-left: auto;
    margin-top: -7px;
    margin-bottom: 20px;
    color: var(--good);
}

.api-key-section-account-key i {
    color: var(--black);
    margin-right: 4px;
}

.model-toggle-items {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.intelligence-setting-option.feature-toggle {
    padding: 25px;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
}

.settings-wrapper div.usage-summary {
    padding: 0px!important;
}

.usage-items {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 15px;
}

code {
}

.ai-convo-model-info {
    display: flex;
    gap: 7px;
    height: 25px;
    margin-top: -3px;
    align-items: center;
}

.ai-convo-model-info > div:last-child {
    /* font-family: var(--nothing); */
    /* font-size: 15px; */
}

.usage-item-number {
    font-size: 25px;
}

.usage-line-item {
    height: 40px;
    line-height: 40px;
    display: flex;
    justify-content: space-between;
    background-color: var(--background-color);
    padding: 0 20px;
    margin-bottom: 1px;
    border-radius: 3px;
}

.provider-key-content {
    background-color: var(--background-color);
    padding: 30px 30px 20px;
    border-radius: var(--border-radius-tiny);
    border: 1px solid var(--light-border);
}

.provider-key-content .btn.btn-small {
    padding-left: 0!important;
}

a.ai-sent-file {
    text-decoration: none!important;
}
.integration-section {
    margin-bottom: 30px;
    padding: 20px;
    background: var(--subtle);
    border-radius: 8px;
    border: 1px solid var(--border);
}

.integration-section .sub-text {
    margin-bottom: 20px;
}

.integration-section .agent-guardrail .sub-text {
    margin-bottom: 0;
}

.integration-section .agent-flow .sub-text {
    margin-bottom: 0!important;
}

.integration-section h6 {
    margin: 0 0 0px 0;
    color: var(--black);
    font-weight: 600;
}

.integration-section h6 .jt1 {
    font-size: 20px;
    margin-right: 4px;
}

.compliance-item {
    display: flex;
    gap: 13px;
    /* padding-bottom: 10px; */
}

.setting-option .dropdown-selector {
    border-radius: 4px;
    padding: 8px 12px;
    background: var(--white);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.setting-option .dropdown-selector:hover {
    border-color: var(--light-plus);
}

.usage-stats {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.stat-item {
    flex: 1;
    min-width: 120px;
    text-align: center;
    padding: 30px 0;
    background: var(--white);
    border-radius: 5px;
    position: relative;
    box-shadow: none;
    border: 1px solid var(--light-border);
}

.stats-grid.compact .stat-item {
    box-shadow: none;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
    background-color: var(--background-color);
}

.intelligence-plans .stat-item {
    border: 1px solid var(--light-border);
    box-shadow: none;
}

.stat-value {
    font-size: 28px;
    font-weight: 300;
    color: var(--primary);
}

.stat-label {
    font-size: 12px;
    color: var(--icon-color);
    margin-top: 10px;
    display: flex;
    justify-content: center;
}

.stat-label span {
    padding-left: 3px;
}

.stat-sub-label {
    font-size: 11px;
    color: var(--light-text);
}

.stat-description {
    font-size: 11px;
    color: var(--light-text);
    margin-top: 5px;
}

.quick-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.rotating {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.integration-setting p {
    margin-bottom: 8px;
}

.integration-setting .sub-text {
    font-size: 11px;
    color: var(--light-text);
    margin-top: 3px;
}

.provider-key-section .input-field {
    margin: 0;
}

.provider-key-section .input-field input {
    margin-bottom: 0;
    background-color: var(--background-color);
    padding: 0px 15px;
}

.provider-key-section .input-field input, .provider-key-section .input-field .btn {
    height: 50px!important;
    line-height: 50px!important;
}

/* Intelligence master toggle styling */
.intelligence-master-toggle {
    padding: 15px;
    background: var(--white);
    border-radius: 8px;
    border: 1px solid var(--border);
}

.intelligence-settings .provider-key-section {
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--white);
}

/* =====================================================
   Intelligence Billing Section (billing.html)
   ===================================================== */

.intelligence-billing-section {
    margin-top: 30px;
}

.intelligence-billing-section .section-header {
    margin-bottom: 20px;
}

/* Intelligence Usage Overview */
.intelligence-usage-overview {
    margin-bottom: 25px;
}

.intelligence-usage-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

.intelligence-usage-card {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 20px;
    background: var(--white);
    border-radius: var(--border-radius-tiny);
    border: 1px solid var(--border);
    transition: all 0.2s ease;
}

.intelligence-usage-card:hover {
    border-color: var(--primary);
    box-shadow: var(--box-shadow);
}

.intelligence-usage-card.warning {
    border-color: var(--highlight);
    background: rgba(245, 158, 11, 0.05);
}

.intelligence-usage-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg);
    border-radius: var(--border-radius-tiny);
    flex-shrink: 0;
}

.intelligence-usage-icon i {
    font-size: 22px;
    color: var(--primary);
}

.intelligence-usage-card.warning .intelligence-usage-icon {
    background: rgba(245, 158, 11, 0.1);
}

.intelligence-usage-card.warning .intelligence-usage-icon i {
    color: var(--highlight);
}

.intelligence-usage-details {
    flex-grow: 1;
}

.intelligence-usage-label {
    font-size: 12px;
    color: var(--light-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
}

.intelligence-usage-value {
    font-size: 24px;
    font-weight: 600;
    color: var(--black);
    line-height: 1.2;
}

.intelligence-usage-value.warning {
    color: var(--highlight);
}

.intelligence-usage-subtext {
    font-size: 12px;
    color: var(--light-text);
    margin-top: 5px;
}

.intelligence-usage-subtext .free-badge {
    display: inline-block;
    background: rgba(16, 185, 129, 0.1);
    color: var(--good);
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 500;
}

/* Intelligence Tiers Section */
.intelligence-tiers-section {
    margin-bottom: 25px;
}

.intelligence-tiers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 5px;
    margin-top: 20px;
}

.intelligence-tier-card {
    position: relative;
    padding: 25px;
    background: var(--white);
    border-radius: var(--border-radius-tiny);
    border: 2px solid var(--border);
    transition: all 0.2s ease;
}

.intelligence-tier-card:hover {
    border-color: var(--primary);
    box-shadow: var(--box-shadow);
}

.intelligence-tier-card.current {
    border-color: var(--primary);
    background: linear-gradient(135deg, rgba(38, 164, 209, 0.05), rgba(38, 164, 209, 0.02));
}

.intelligence-tier-card.featured {
    border-color: var(--good);
}

.intelligence-tier-card.featured:not(.current) {
    box-shadow: 0 4px 20px rgba(16, 185, 129, 0.15);
}

.intelligence-tier-badge {
    position: absolute;
    top: -10px;
    left: 20px;
    background: var(--primary);
    color: white;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: 10px;
}

.intelligence-tier-badge.featured {
    background: var(--good);
}

.intelligence-tier-header {
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border);
}

.intelligence-tier-name {
    font-size: 18px;
    font-weight: 600;
    color: var(--black);
    margin-bottom: 5px;
}

.intelligence-tier-price {
    font-size: 32px;
    font-weight: 700;
    color: var(--primary);
}

.intelligence-tier-term {
    font-size: 12px;
    color: var(--light-text);
}

.intelligence-tier-features {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.intelligence-tier-features li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    font-size: 13px;
    color: var(--black);
    border-bottom: 1px solid var(--light-border);
}

.intelligence-tier-features li:last-child {
    border-bottom: none;
}

.intelligence-tier-features li i {
    font-size: 18px;
    color: var(--good);
}

.intelligence-tier-features li.disabled {
    color: var(--light-text);
}

.intelligence-tier-features li.disabled i {
    color: var(--light-text);
}

.intelligence-tier-action {
    margin-top: auto;
}

.intelligence-tier-action .btn {
    width: 100%;
}

/* Intelligence Overage Settings */
.intelligence-overage-settings {
    margin-bottom: 25px;
}

.overage-options {
    margin-top: 15px;
}

.overage-option {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 10px;
}

.overage-option-content {
    flex-grow: 1;
}

.overage-option-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--black);
}

.overage-option-description {
    font-size: 12px;
    color: var(--light-text);
    margin-top: 2px;
}

.overage-limit {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.overage-limit label {
    font-size: 12px;
    color: var(--light-text);
}

.overage-limit select {
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    background: var(--white);
    font-size: 14px;
    min-width: 150px;
}

/* Intelligence BYOK Section */
.intelligence-byok-section {
    margin-bottom: 25px;
}

.byok-providers {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 15px;
}

.byok-provider {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    transition: all 0.2s ease;
}

.byok-provider:hover {
    border-color: var(--primary);
}

.byok-provider-header {
    display: flex;
    align-items: center;
    gap: 15px;
}

.byok-provider-logo {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.byok-provider-name {
    font-size: 14px;
    font-weight: 500;
    color: var(--black);
}

.byok-provider-status {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--light-text);
}

.byok-provider-status.connected {
    color: var(--good);
}

.byok-provider-status i {
    font-size: 16px;
}

.byok-provider-action {
    flex-shrink: 0;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .intelligence-usage-grid {
        grid-template-columns: 1fr;
    }

    .intelligence-tiers-grid {
        grid-template-columns: 1fr;
    }

    .intelligence-usage-card {
        flex-direction: column;
        text-align: center;
    }

    .byok-provider {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .byok-provider-header {
        flex-direction: column;
    }
}


#piSettingsDropdown {
    bottom: 0;
    right: -15px;
    left: unset!important;
    top: unset!important;
}

#piSettingsDropdownNew {
    bottom: 0;
    right: -20px;
    left: unset!important;
    top: unset!important;
    max-height: 50dvh!important;
}

.zj-specification-body.view2 {position: relative;}

.the-body-section {
}

.confirm-actions a.btn-small.waves-effect.waves-light {
    padding: 0px 20px!important;
    line-height: 50px;
    height: 50px;
    text-transform: u;
}

.provider-usage-card {
    padding: 14px 18px;
    background: var(--background-color);
    border: 1px solid var(--light-border);
    border-radius: 6px;
    min-width: 160px;
    flex: 1;
}

.provider-usage-cards {
    gap: 5px;
    display: flex;
}

.provider-usage-name {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    margin-bottom: 8px;
}

.provider-usage-name img {
    width: 18px;
    height: 18px;
    opacity: 0.8;
}

.provider-usage-stat {
    font-size: 13px;
    color: var(--light-text);
    line-height: 1.6;
}

.provider-usage-stat span {
    font-size: 11px;
}

.provider-usage-cost {
    font-size: 16px;
    font-weight: 500;
    color: var(--primary);
    margin-top: 6px;
}

.research-sources-file-item {
    display: flex;
    gap: 10px;
    height: 30px;
    line-height: 30px;
    align-items: center;
}

.research-sources-file-item a {
    color: var(--black);
}

.agents-fork-chip {
    display: inline-flex;
    align-items: center;
    /* flex-direction: row; */
}

.agents-fork-chip i {
    height: 30px;
    line-height: 30px;
    font-size: 17px;
    margin-left: 5px;
    margin-right: 5px;
    color: var(--primary);
}

/* Reasoning-depth default selector. Replaces the inline min-width the trigger
   used to carry (no-inline-styles); the label is now one interpolated value
   instead of four stacked ng-shows. */
.dropdown-selector.depth-selector {
    min-width: 180px;
}


.provider-models-section .inline-badge {
    margin-left: 10px;
    background-color: var(--light-white);
    font-size: 11px;
    padding: 0 5px;
    border-radius: var(--border-radius-xs);
}

.provider-models-section .inline-badge, .provider-models-section .inline-badge i {
    color: var(--good);
}

.provider-models-header .jtsyn-ai-logo {
    font-size: 19px;
    margin-left: 5px;
}

.provider-models-header > img {
    max-width: 20px;
}

h6.intelligence-text {
    font-size: 23px;
}

/* ps-073 chat run modes (Admin › Intelligence › Chat modes) */
.chat-mode-heading-icon { vertical-align: middle; margin-right: 8px; }
.chat-mode-settings { display: flex; flex-direction: column; gap: 14px; margin-top: 15px; }
.chat-mode-setting-row { display: flex; align-items: center; gap: 12px; }
.chat-mode-setting-row select { width: auto; min-width: 160px; }

/* Admin → Agents page. Colors via variables.css tokens only; no hardcoded colors.
   One route, two full-width modes: LIST (+search) and EDITOR. */

.agents-settings .agents-title { margin: 0 0 4px 0; }

.agents-settings .agents-empty,
.agents-settings .agents-error {padding: 20px;color: var(--light-text);text-align: center;}
.agents-settings .agents-error { color: var(--warning); }

/* ── Header ───────────────────────────────────────────────────── */
.agents-settings .sh.agents-header {padding: 4px 4px 14px;}
.agents-settings .agents-header-list {display: flex;align-items: flex-start;justify-content: space-between;gap: 5px;}
.agents-settings .agents-header-text { min-width: 0; }
.agents-settings .agents-new-btn {flex: 0 0 auto;white-space: nowrap;box-shadow: var(--box-shadow)!important;font-size: 12px;margin-left: auto;}
.agents-settings .agents-back-btn { padding-left: 0; margin-bottom: 6px; }
.agents-settings .agents-back-btn .material-icons { line-height: inherit; }

/* ── List mode: toolbar + search ──────────────────────────────── */
.agents-settings .agents-list-toolbar {background-color: var(--white);box-shadow: var(--box-shadow);border-radius: var(--border-radius-tiny);}

.agents-settings .agents-list-toolbar input {
    background-color: transparent!important;
}
.agents-settings .agents-search {
	display: flex;
	align-items: center;
	gap: 8px;
	/* max-width: 420px; */
	padding: 6px 12px;
	/* border: 1px solid var(--light-border); */
	/* border-radius: var(--border-radius); */
	/* background: var(--background-color); */
}
.agents-settings .agents-search .material-icons { color: var(--light-text); font-size: 20px; }
.agents-settings .agents-search input {border: none;outline: none;background: transparent;width: 100%;margin: 0;height: 38px;font-size: 13px;}

.agents-settings .agents-search input:focus {
    outline: none!important;
    border: none!important;
}
.agents-settings .agents-search-clear { font-size: 15px; cursor: pointer; color: var(--light-text); }

.agents-settings .agents-templates {padding: 0 4px 15px;display: flex;align-items: center;flex-wrap: wrap;gap: 6px;}
.agents-settings .agents-templates-label { margin-right: 4px; }
.agents-settings .agent-template-chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 4px;
	/* border: 1px solid var(--light-border); */
	/* border-radius: var(--border-radius-tiny); */
	cursor: pointer;
	font-size: 11px;
	/* background: var(--background-color); */
	color: var(--primary);
}

.agents-settings .agent-template-chip:hover {
    text-decoration: underline;
}
.agents-settings .agent-template-chip:hover {/* background: var(--hover-item); *//* border-color: var(--primary-color); */}

.agents-settings .agent-template-chip:hover {
    background: transparent;
    color: var(--primary);
}
.agents-settings .agent-template-icon { font-size: 15px; }

/* ── List rows ────────────────────────────────────────────────── */
.agents-settings .agents-list {/* padding: 0 4px; */display: flex;/* flex-direction: column; */flex-wrap: wrap;gap: 5px;}
.agents-settings .agents-list-row {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	padding: 25px;
	background-color: var(--white);
	border-radius: var(--border-radius-tiny);
	cursor: pointer;
	box-shadow: var(--box-shadow);
	width: calc(50% - 2.5px);
}
.agents-settings .agents-list-row:hover {
	background: var(--hover-item);
	border-color: var(--primary);
}

.agents-settings .agents-list-row:hover .agent-avatar, .agents-settings .agents-list-row:hover .agent-chip {
    background-color: var(--white)!important;
}
.agents-settings .agents-list-row.is-disabled { opacity: 0.6; }
.agents-settings .agents-list-main { flex: 1 1 auto; min-width: 0; }
.agents-settings .agents-list-row-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.agents-settings .agent-list-name {font-weight: 400;font-size: 14px;}
.agents-settings .agent-list-sub { font-size: 12px; margin: 2px 0 4px; }
.agents-settings .agents-list-chips { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.agents-settings .agents-list-right { flex: 0 0 auto; font-size: 11px; white-space: nowrap; padding-top: 2px; }

.agents-settings .agent-pill {font-size: 10px;/* text-transform: uppercase; */padding: 1px 7px;border-radius: 3px;border: 1px solid var(--light-border);}
.agents-settings .agent-pill.pill-on {/* color: var(--success, var(--primary-color)); *//* border-color: var(--success, var(--primary-color)); */}
.agents-settings .agent-pill.pill-off { color: var(--light-text); }
.agents-settings .agent-pill.pill-cat { text-transform: none; letter-spacing: 0; color: var(--label); }

.agents-settings .agent-chip {font-size: 11px;padding: 1px 7px;border-radius: 3px;background: var(--background-color);color: var(--label);}
.agents-settings .agent-chip-tag { background: transparent; border: 1px solid var(--light-border); color: var(--light-text); }

/* ── Avatars ─────────────────────────────────────────────────── */
.agents-settings .agent-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	border-radius: var(--border-radius-tiny);
	overflow: hidden;
	background: var(--hover-item);
	color: var(--label);
	font-weight: 600;
}
.agents-settings .agent-avatar img { width: 100%; height: 100%; object-fit: cover; }
.agents-settings .agent-avatar-sm { width: 36px; height: 36px; font-size: 16px; }
.agents-settings .agent-avatar-lg {width: 50px;height: 50px;font-size: 20px;}
.agents-settings .agent-avatar-sm .agent-avatar-initials {font-size: 14px;font-family: var(--nothing);color: var(--primary);}
.agents-settings .agent-avatar-lg .agent-avatar-initials {font-size: 20px;color: var(--primary);font-family: var(--nothing);}

/* ── Editor ──────────────────────────────────────────────────── */
/* Tab strip (visual pattern: .section-tabs > .stabs > .btn-tab from core.css) */
.agents-settings .agents-editor-tabs {/* padding: 0 4px; */border-radius: var(--border-radius-tiny);}

.agents-settings .agents-editor .integration-section {padding: 40px;border-bottom: 1px solid var(--light-border);}
.agents-settings .agents-editor .integration-section:last-of-type { border-bottom: none; }

.agents-settings .agent-field-label {font-weight: 400;margin-bottom: 7px;text-transform: uppercase;color: var(--black);/* font-size: 9px; */}

.agents-settings .agent-identity-row {display: flex;gap: 30px;align-items: flex-start;}
.agents-settings .agent-identity-fields { flex: 1 1 auto; min-width: 0; }

.agents-settings .agent-identity-fields label {
    font-size: 13px!important;
}
.agents-settings .agent-identity-fields .input-field {margin-top: 3px;}

.agents-settings .agent-identity-fields .input-field input {
    background-color: var(--background-color);
    padding: 0 15px;
    border-radius: var(--border-radius-tiny);
    font-size: 13px;
}

.agents-settings .agent-avatar-picker { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.agents-settings .agent-avatar-opt {
	border: 1px solid var(--light-border);
	background: var(--background-color);
	border-radius: var(--border-radius-tiny);
	padding: 4px 8px;
	cursor: pointer;
	font-size: 14px;
	line-height: 1;
}
.agents-settings .agent-avatar-opt.selected {/* border-color: var(--primary-color); *//* box-shadow: 0 0 0 1px var(--primary-color) inset; */background-color: var(--primary);color: var(--awhite)!important;font-size: 12px;height: 27px;}
.agents-settings .agent-icon-opt { font-size: 16px; }

/* Editor form fields — app-standard .text-field (label above, var(--background-color) fill).
   The editor lives in .integration-section (not .admin-card), so plain inputs need an
   explicit fill rule; the .dropdown-selector + textarea self-fill via global rules. */
.agents-settings .agents-editor .text-field { margin: 0; }
.agents-settings .agents-editor .text-field > label,
.agents-settings .agents-editor .agent-sub-label {display: block;font-weight: 500;font-size: 13px;margin-bottom: 4px;color: var(--label);}
.agents-settings .agents-editor .text-field input[type="text"],
.agents-settings .agents-editor .text-field input[type="number"] {
	background-color: var(--background-color);
	border: none;
	border-radius: var(--border-radius-tiny);
	padding: 0 15px;
	height: 50px;
	font-size: 13px;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
}
.agents-settings .agents-editor .text-field input:focus { border: none!important; box-shadow: none!important; }
.agents-settings .agent-model-dropdown { max-height: 300px; overflow-y: auto; }
.agents-settings .agent-model-provider { font-size: 11px; color: var(--light-text); }
.agents-settings .agent-settings-row { margin: 6px 0 0; }
.agents-settings .agent-settings-row .text-field {/* margin-bottom: 0px; */}
.agents-settings .agent-enabled-switch { margin-top: 2px; }

/* Tools + spaces: Materialize switches (.switch/.lever styled globally) */
.agents-settings .agent-tools {display: grid;grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));gap: 20px;margin-top: 8px;}
.agents-settings .agent-spaces { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 2px 18px; margin-top: 8px; }
.agents-settings .agent-tool,
.agents-settings .agent-space {display: flex;align-items: center;justify-content: space-between;gap: 10px;padding: 2px 0;}
.agents-settings .agent-tool .switch label,
.agents-settings .agent-space .switch label { color: var(--label); }
.agents-settings .agent-tool-name,
.agents-settings .agent-space-name { font-size: 13px; }
.agents-settings .agent-allspaces-switch {margin-top: 20px;margin-bottom: 20px;}

.agents-settings .agent-tool-risk {
	font-size: 10px;
	text-transform: uppercase;
	padding: 1px 5px;
	border-radius: 3px;
	border: 1px solid var(--light-border);
	color: var(--light-text);
	flex: 0 0 auto;
}
.agents-settings .agent-tool-risk.risk-medium {color: var(--orange);border-color: var(--orange);}
.agents-settings .agent-tool-risk.risk-high { color: var(--warning); border-color: var(--warning); background: var(--hover-item); }

/* Tool suites — collapsible groups, each with a per-suite "All" switch */
.agents-settings .agent-tool-suites {margin-top: 8px;display: flex;flex-direction: column;}
.agents-settings .agent-tool-suite {border-radius: var(--border-radius-tiny);overflow: hidden;/* background-color: var(--background-color); */}

.agent-tool-suite.is-open {
    margin-bottom: 30px;
}
.agents-settings .agent-suite-header {display: flex;align-items: center;gap: 8px;padding: 15px 25px 15px 15px;cursor: pointer;background-color: var(--extra-light);margin-bottom: 5px;border-radius: var(--border-radius-tiny);}
.agents-settings .agent-suite-header:hover { background: var(--hover-item); }
.agents-settings .agent-tool-suite.is-open .agent-suite-header {border-bottom: 1px solid var(--white);/* background-color: var(--extra-light); */}
.agents-settings .agent-suite-chevron { font-size: 20px; color: var(--light-text); }
.agents-settings .agent-suite-name { font-weight: 600; font-size: 13px; }
.agents-settings .agent-suite-count { font-size: 11px; color: var(--light-text); }
.agents-settings .agent-suite-count.has-selection { color: var(--primary-color); }
.agents-settings .agent-suite-all { margin-left: auto; }
.agents-settings .agent-suite-body {padding: 25px 5px;}
.agents-settings .agent-tool-suite .agent-tools { margin-top: 0; }

.agents-settings .agent-scope-warning { display: flex; align-items: center; gap: 6px; margin-top: 10px; color: var(--warning); font-size: 13px; }
.agents-settings .agent-scope-warning .material-symbols-outlined { font-size: 18px; }

/* Metadata & limits */
.agents-settings .agent-meta-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px 18px; margin-top: 8px; }
.agents-settings .agent-meta-field { display: flex; flex-direction: column; gap: 2px; }
.agents-settings .agent-meta-field label { margin: 0; }
.agents-settings .agent-meta-field input {
	background-color: var(--background-color);
	border: none;
	border-radius: var(--border-radius-tiny);
	padding: 8px 12px;
	font-size: 13px;
	box-sizing: border-box;
	height: auto;
	margin: 0;
}
.agents-settings .agent-meta-hint { opacity: 0.7; }

.agents-settings .agent-tags-field {margin-top: -5px;}
.agents-settings .agent-tags { display: flex; flex-wrap: wrap; gap: 5px; margin: 4px 0; }
.agents-settings .agent-tag-chip {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	font-size: 12px;
	padding: 2px 4px 2px 8px;
	border-radius: 10px;
	background: var(--hover-item);
	color: var(--label);
}
.agents-settings .agent-tag-chip .material-icons { font-size: 15px; cursor: pointer; opacity: 0.7; }
.agents-settings .agent-tag-chip .material-icons:hover { opacity: 1; }
.agents-settings .agent-tag-input { display: flex; align-items: center; gap: 6px; max-width: 320px; }
.agents-settings .agent-tag-input input {
	background-color: var(--background-color);
	border: none;
	border-radius: var(--border-radius-tiny);
	padding: 8px 12px;
	font-size: 13px;
	box-sizing: border-box;
	height: auto;
	margin: 0;
	flex: 1 1 auto;
}

.agents-settings .agent-advanced-row { display: flex; gap: 40px; flex-wrap: wrap; align-items: flex-start; }
.agents-settings .agent-maxrounds-input {
	width: 72px;
	background-color: var(--background-color);
	border: none;
	border-radius: var(--border-radius-tiny);
	padding: 8px 12px;
	font-size: 13px;
	box-sizing: border-box;
}

/* Kill Materialize's focus underline/box-shadow on the plain editor inputs (match
   the identity-input look — fill differentiates the field, no border). */
.agents-settings .agent-meta-field input:focus,
.agents-settings .agent-tag-input input:focus,
.agents-settings .agent-maxrounds-input:focus {
	border: none!important;
	box-shadow: none!important;
}

.agents-settings .agents-editor-actions { display: flex; align-items: center; gap: 10px; padding: 16px 4px 4px; flex-wrap: wrap; }
.agents-settings .agents-editor-danger {display: flex;}
.agents-settings .agents-delete-btn,
.agents-settings .agents-disable-btn {color: var(--icon-color)!important;}

.agents-settings .agents-delete-btn:hover, .agents-settings .agents-disable-btn:hover {
    color: var(--warning)!important;
}

/* M12 (#19): re-enable a disabled agent — a positive action, distinct from Disable/Delete. */
.agents-settings .agents-enable-btn {
    background-color: var(--primary-color);
    color: #fff;
}

/* Task-worker behavior section (completion policy + chaining) */
.agents-settings .agent-subsection-label { margin-top: 18px; }
.agents-settings .agent-worker-instructions { margin-top: 12px; }
.agents-settings .agent-worker-instructions textarea,
.agents-settings .agent-example-asks-input {
	width: 100%;
	min-height: 70px;
	background: var(--background-color);
	border: 1px solid var(--light-border);
	border-radius: var(--border-radius-tiny);
	padding: 10px 12px;
	font-size: 13px;
	color: var(--black);
	resize: vertical;
	outline: none!important;
}
.agents-settings .agent-example-asks-field { margin-top: 14px; }

/* Per-agent activity log (automation timeline) */
.agents-settings .agent-log { display: flex; flex-direction: column; gap: 2px; margin-top: 8px; max-height: 360px; overflow-y: auto; }
.agents-settings .agent-log-row {display: flex;align-items: center;gap: 10px;padding: 20px;border-radius: var(--border-radius-tiny);background-color: var(--background-color);}
.agents-settings .agent-log-row:hover { background: var(--hover-item); }
.agents-settings .agent-log-icon { font-size: 20px; color: var(--light-text); flex: 0 0 auto; }
.agents-settings .agent-log-icon.log-error { color: var(--warning); }
.agents-settings .agent-log-icon.log-partial { color: var(--orange); }
.agents-settings .agent-log-main { flex: 1; min-width: 0; }
.agents-settings .agent-log-action {font-size: 13px;color: var(--black);font-weight: 500;}
.agents-settings .agent-log-meta { font-size: 11px; color: var(--light-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.agents-settings .agent-log-outcome {font-size: 10px;text-transform: uppercase;letter-spacing: 0.03em;padding: 1px 6px;border-radius: 4px;background: var(--white);color: var(--light-text);flex: 0 0 auto;}
.agents-settings .agent-log-outcome.log-error { background: var(--warning); color: var(--white); }
.agents-settings .agent-log-outcome.log-partial { background: var(--orange); color: var(--white); }
/* Stopped — a deliberate halt, not a failure. Neutral, never error red. */
.agents-settings .agent-log-icon.log-stopped { color: var(--light-text); }
.agents-settings .agent-log-outcome.log-stopped { background: var(--light-border); color: var(--black); }

/* Activity-log row: a short summary of what the agent did (clamped to 2 lines) */
.agents-settings .agent-log-summary {font-size: 12px;color: var(--light-text);margin: 0;white-space: normal;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}

/* ═══ Round-2 redesign (Slice 1) ═══════════════════════════════ */

/* Identity meta row: Avatar + Model field-styled pickers */
.agents-settings .agent-identity-meta {margin-top: 18px;display: block;padding-left: 30px;}

.agents-settings .agent-identity-meta model-picker + .sub-text {
    margin-top: -15px;
    margin-bottom: 10px;
}
.agents-settings .agent-avatar-current { display: inline-flex; align-items: center; gap: 8px; }
.agents-settings .agent-avatar-current .material-symbols-outlined { font-size: 20px; }

/* Material-Symbols avatar rendering (editor preview + list rows) */
.agents-settings .agent-avatar-icon { display: inline-flex; align-items: center; justify-content: center; }
.agents-settings .agent-avatar-icon .material-symbols-outlined { font-size: inherit; color: var(--primary); }

/* Avatar picker dropdown: Material-Symbols grid (pattern: .icon-selector) */
.agents-settings .agent-avatar-menu { min-width: 300px; }
.agents-settings .agent-avatar-menu .agent-avatar-menu-grid:hover { background: transparent; }
.agents-settings .agent-avatar-menu .icon-selector { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; padding: 10px 12px; }
.agents-settings .agent-avatar-menu .icon-option {
	border: 1px solid var(--light-border);
	background: var(--background-color);
	border-radius: var(--border-radius-tiny);
	padding: 8px 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--label);
}
.agents-settings .agent-avatar-menu .icon-option:hover { background: var(--hover-item); }
.agents-settings .agent-avatar-menu .icon-option.selected {background: var(--primary);color: var(--awhite)!important;border-color: var(--primary);}

.agents-settings .agent-avatar-menu .icon-option.selected i {
    color: var(--awhite);
}
.agents-settings .agent-avatar-menu .icon-option .material-symbols-outlined { font-size: 20px; }

/* §v6 avatar: upload + searchable icon grid. The grid scrolls INSIDE the menu so the
   dropdown never grows past the viewport; the search row is sticky above it. */
.agent-avatar-file-input { display: none; }
.agents-settings .agent-avatar-menu .agent-avatar-menu-ic { font-size: 17px; vertical-align: -3px; margin-right: 6px; }
.agents-settings .agent-avatar-menu .agent-avatar-menu-search { padding: 6px 12px 2px; }
.agents-settings .agent-avatar-menu .agent-avatar-menu-search:hover { background: transparent; }
.agents-settings .agent-avatar-menu .agent-avatar-menu-search input {
	margin: 0;
	height: 32px;
	font-size: 12.5px;
	border-bottom: 1px solid var(--border);
	box-shadow: none;
	color: var(--black);
}
.agents-settings .agent-avatar-menu .agent-avatar-menu-search input:focus { border-bottom-color: var(--primary); box-shadow: none; }
.agents-settings .agent-avatar-menu .icon-selector { max-height: 232px; overflow-y: auto; }
.agents-settings .agent-avatar-menu .agent-avatar-no-icons {
	grid-column: 1 / -1;
	padding: 8px 2px;
	font-size: 12px;
	color: var(--light-text);
}
.agents-settings .agent-avatar-current-img {
	width: 22px; height: 22px;
	border-radius: 50%;
	object-fit: cover;
	vertical-align: -6px;
	margin-right: 6px;
}

/* Shared model picker (<model-picker>, js/directives/modelPicker.js) */
.model-picker .model-picker-current { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.model-picker .model-picker-logo { height: 16px; width: 16px; flex: 0 0 auto; }
.model-picker-menu { max-height: 300px; overflow-y: auto; }
.model-picker-menu li a { display: flex; align-items: center; gap: 8px; }
.model-picker-menu .model-picker-logo { height: 16px; width: 16px; flex: 0 0 auto; }
.model-picker-provider { font-size: 11px; color: var(--light-text); }

/* Availability section */
.agents-settings .agent-spaces-label { display: block; margin-top: 20px; }

/* Instructions editor: cap content height so the toolbar stays in reach
   (tiptap; the CKEditor variant already caps via autoGrow_maxHeight) */
.agents-settings .agents-editor .jtsyn-tiptap-editor { max-height: 55vh; overflow-y: auto; }

/* Tags input matches the standard 50px field height; Add matches 13px */
.agents-settings .agent-tag-input input { height: 50px; padding: 0 15px; }
.agents-settings .agent-tag-input .btn-flat { height: 50px; line-height: 50px; font-size: 13px; padding: 0 15px; }

/* Tool cards (feature-card pattern: icon box + content + switch on the right) */
.agents-settings .agent-tool-cards {display: flex;flex-wrap: wrap;gap: 5px;padding: 0;}
.agents-settings .agent-tool-card {
	flex: 1 0 calc(50% - 5px);
	max-width: calc(50% - 3px);
	display: flex;
	align-items: flex-start;
	gap: 15px;
	padding: 20px;
	background: var(--background-color);
	border-radius: var(--border-radius-tiny);
	cursor: pointer;
	box-sizing: border-box;
}
.agents-settings .agent-tool-card:hover { background: var(--hover-item); }
.agents-settings .agent-tool-card-icon {
	width: 42px;
	height: 42px;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--extra-light);
	border-radius: var(--border-radius-tiny);
	color: var(--label);
}

.agents-settings .agent-tool-card:hover .agent-tool-card-icon {
    background-color: var(--background-color);
}
.agents-settings .agent-tool-card-icon .material-symbols-outlined { font-size: 20px; }
.agents-settings .agent-tool-card-content { flex: 1 1 auto; min-width: 0; }
.agents-settings .agent-tool-card-title { font-size: 13px; font-weight: 500; display: flex; align-items: center; gap: 6px; }
.agents-settings .agent-tool-card-description {font-size: 12px;line-height: 17px;color: var(--light-text);}
.agents-settings .agent-tool-card-toggle { flex: 0 0 auto; }

html .agents-settings .integration-section .agent-tool-card-toggle .lever {
    background-color: var(--white)!important;
}
.agents-settings .agent-tool-badge {
	font-size: 9px;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	padding: 1px 6px;
	border-radius: 8px;
	/* border: 1px solid var(--light-border); */
	color: var(--orange);
	flex: 0 0 auto;
}

@media (max-width: 992px) {
	.agents-settings .agent-tool-card { flex-basis: 100%; max-width: 100%; }
}

/* Built-in guardrails info block (Limits tab) */
.agents-settings .agent-guardrails { display: flex; flex-direction: column; gap: 5px; margin-top: 10px; }
.agents-settings .agent-guardrail {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 15px;
	background: var(--background-color);
	border-radius: var(--border-radius-tiny);
}
.agents-settings .agent-guardrail .material-symbols-outlined { font-size: 20px; color: var(--label); }
.agents-settings .agent-guardrail-title { font-size: 13px; font-weight: 500; }

/* ═══ Behaviors lifecycle timeline (Slice 2) ═══════════════════ */
.agents-settings .agent-flow { display: flex; flex-direction: column; margin-top: 20px; }
.agents-settings .agent-flow-step { display: flex; gap: 16px; position: relative; padding-bottom: 35px; }
.agents-settings .agent-flow-step:last-child { padding-bottom: 0; }
.agents-settings .agent-flow-step::before {
	content: '';
	position: absolute;
	left: 20px;
	top: 44px;
	bottom: 4px;
	width: 1px;
	background: var(--light-border);
}
.agents-settings .agent-flow-step:last-child::before { display: none; }
.agents-settings .agent-flow-marker {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--background-color);
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: var(--label);
	z-index: 1;
}
.agents-settings .agent-flow-marker .material-symbols-outlined { font-size: 20px; }
.agents-settings .agent-flow-error .agent-flow-marker { color: var(--warning); }
.agents-settings .agent-flow-body { flex: 1 1 auto; min-width: 0; padding-top: 9px; }
.agents-settings .agent-flow-title { font-size: 13px; font-weight: 600; margin-bottom: 2px; }

/* Two-option choice cards (auto-run / on-error) */
.agents-settings .agent-flow-choices { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.agents-settings .agent-flow-choice {
	flex: 1 1 240px;
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 14px;
	border: 1px solid var(--light-border);
	border-radius: var(--border-radius-tiny);
	cursor: pointer;
	background: var(--white);
}
.agents-settings .agent-flow-choice:hover { background: var(--hover-item); }
.agents-settings .agent-flow-choice.selected { border-color: var(--primary); box-shadow: 0 0 0 1px var(--primary) inset; }
.agents-settings .agent-flow-choice .material-symbols-outlined { font-size: 18px; color: var(--label); flex: 0 0 auto; margin-top: 1px; }
.agents-settings .agent-flow-choice-title { font-size: 13px; font-weight: 500; }

/* In-step extras */
.agents-settings .agent-flow-chip { cursor: pointer; }
.agents-settings .agent-flow-chip:hover { color: var(--primary); }
.agents-settings .agent-flow-inline-toggle {margin-top: 12px;margin-bottom: 10px;}
.agents-settings .agent-flow-ask-guidance { margin-top: 8px; max-width: 480px; }
.agents-settings .agent-flow-step .agent-settings-row { margin-top: 8px; }
.agents-settings .agent-handoff-field { max-width: 420px; margin-top: 8px; }

/* Hand-off dropdown: keywords + teammates + agents in one list */
.agents-settings .agent-handoff-menu {max-height: 340px!important;overflow-y: auto;min-width: 300px;}

.agents-settings .agent-handoff-menu li svg {
    max-width: 27px;
    margin-right: -4px;
}
.agents-settings .agent-handoff-menu li a {display: flex;align-items: center;gap: 8px;padding: 0;height: 50px;line-height: 50px;}
.agents-settings .agent-handoff-label {min-height: 0;padding: 10px 0px 0px!important;font-size: 10px;text-transform: uppercase;display: flex;justify-content: start;}

.agents-settings .agent-handoff-label span {
    font-size: 9px;
    color: var(--light-text);
}
.agents-settings .agent-handoff-label:hover { background: transparent; }
.agents-settings .agent-handoff-avatar { width: 22px; height: 22px; border-radius: 50%; flex: 0 0 auto; }
.agents-settings .agent-handoff-agenticon { font-size: 18px; color: var(--label); }

/* ═══ Activity: registry-backed run rows (Slice 3) ═════════════ */
.agents-settings .agent-run-row.is-clickable { cursor: pointer; }
.agents-settings .agent-log-expand { font-size: 18px; color: var(--light-text); cursor: pointer; flex: 0 0 auto; }
.agents-settings .agent-log-expand:hover { color: var(--primary); }
.agents-settings .agent-run-row.is-expanded .agent-log-summary { display: block; -webkit-line-clamp: unset; }
.agents-settings .agent-log-question { font-size: 12px; color: var(--label); font-style: italic; margin: 2px 0; }
.agents-settings .agent-log-retention { padding: 8px 4px 0; text-align: right; }

/* ═══ Settings copilot (Slice 5) ═══════════════════════════════ */
.agents-settings .agents-header-editor { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.agents-settings .agents-copilot-toggle {display: inline-flex;align-items: center;gap: 6px;font-size: 13px;float: right;}

.agents-settings .agents-copilot-toggle:hover .jt-ai-word {
    fill: var(--primary);
}

.agents-settings .agents-copilot-toggle:hover .jt-ai-spark {
    fill: var(--black);
}

.agents-settings .agents-copilot-toggle svg {
    max-width: 30px;
    margin-top: -5px;
}
.agents-settings .agents-copilot-toggle .material-symbols-outlined { font-size: 18px; }
.agents-settings .agents-copilot-toggle.activated { color: var(--primary); }
.agents-settings .agents-copilot-toggle.disabled { opacity: 0.5; pointer-events: auto; cursor: not-allowed; }

.agents-settings .agents-editor-body { display: flex; gap: 20px; align-items: stretch; }
.agents-settings .agents-editor-main { flex: 1 1 auto; min-width: 0; }

/* The chat component's composer is position:absolute bottom — the panel must be
   a positioned, height-bounded box. */
.agents-settings .agents-copilot-panel {
	flex: 0 0 500px;
	width: 500px;
	display: flex;
	flex-direction: column;
	min-height: 520px;
	max-height: calc(100vh - 100px);
	position: sticky;
	top: 10px;
	box-shadow: var(--box-shadow);
	border-radius: var(--border-radius-tiny);
}

.agents-settings .agents-copilot-panel, .agents-settings .agents-copilot-chat .ai-chat, .agents-settings .prompt-container.ai-chat-prompt, .agents-copilot-chat .ai-chat-pinned-prompt .post-body-content {
    background-color: var(--white);
}

.agents-copilot-chat .ai-convo-wrapper {
    background-color: var(--background-color);
}

.dark .agents-copilot-chat .ai-convo-wrapper {
    background-color: var(--extra-light);
    border-top-color: var(--white)!important;
}
.agents-settings .agents-copilot-header {display: flex;align-items: center;gap: 8px;padding: 11px 15px 10px;}

.agents-settings .agents-copilot-header svg {
    max-width: 30px;
}
.agents-settings .agents-copilot-header .material-symbols-outlined { font-size: 18px; color: var(--label); }
.agents-settings .agents-copilot-title { font-size: 13px; font-weight: 600; }
.agents-settings .agents-copilot-close { margin-left: auto; font-size: 18px; cursor: pointer; color: var(--light-text); }
.agents-settings .agents-copilot-close:hover { color: var(--black); }
.agents-settings .agents-copilot-chat { flex: 1 1 auto; min-height: 0; position: relative; display: flex; flex-direction: column; }

.agents-settings .agents-copilot-chat .ai-chat-section {
    background-color: var(--background-color);
    padding: 30px 30px 20px;
}
.agents-settings .agents-copilot-chat ai-chat { display: block; position: relative; flex: 1 1 auto; min-height: 0; }

@media (max-width: 1100px) {
	.agents-settings .agents-editor-body { flex-direction: column; }
	.agents-settings .agents-copilot-panel { flex-basis: auto; width: 100%; border-left: none; padding-left: 0; border-top: 1px solid var(--light-border); position: static; }
}

/* Post-apply section highlight — cleared on Save/Cancel */
.agents-settings .agents-editor .integration-section.copilot-changed { box-shadow: inset 3px 0 0 var(--primary); }


.agents-editor-pane jtsyn-editor .cke_editable {
    max-height: 44dvh;
    overflow-y: auto;
}

.agents-editor-pane .lever {
    margin: 0!important;
}

body .agents-editor-pane .switch .lever {
    /* background-color: var(--white)!important; */
}

body .integration-section .switch .lever {
    background-color: var(--background-color)!important;
}

body .integration-section .model-item .switch .lever {
    background-color: var(--extra-light)!important;
}

.ai-action-with-subtext {
    display: flex;
    flex-direction: column;
}

.checkpoint-label {
    font-size: 12px;
    line-height: 16px;
    padding-right: 10px;
}

.agents-panel-header {
    display: flex;
    justify-content: space-between;
    padding-bottom: 10px;
    max-width: 760px;
    margin: 0 auto;
}

.task-worker-section {
    padding-top: 50px;
}

.user-image.bg-image.agent-assignee-avatar img {
    margin: 0 10px 0 9px!important;
}

li.ng-scope {}

.user-picker li.agent-assignee-item, .user-picker li.agent-assignee-item a {
    height: auto!important;
    line-height: normal!important;
}

.user-picker li.agent-assignee-item a {
    padding: 10px 20px!important;
    min-width: 350px;
}

.user-picker li.agent-assignee-item {
    max-width: 400px!important;
    width: 100%!important;
}

.agent-assignee-meta {
    display: flex;
    flex-direction: column;
    overflow: visible;
    white-space: normal;
    width: calc(100% - 50px);
}

.agent-assignee-description.sub-text {
    font-size: 12px;
}

.agent-assignee-name {
    font-weight: 500;
}
/* arch-010: "Name · Title" wherever an agent is shown. Loaded on every page (index.html). */
.agent-title-tag {color: var(--light-text);font-weight: 400;}
.agent-detail-title {margin-top: 2px;}
.agent-worker-chip .awc-title {white-space: nowrap;font-size: 13px;}

/* End-user Agents directory (Phase 4). Colors via variables.css tokens only. */

.agents-directory {padding: 0px;max-width: 1130px;margin: 40px auto;}

.agents-directory.ng-scope {}
.agents-directory-header { margin-bottom: 8px; }
.agents-directory-title {margin: 0 0 4px 0;font-family: var(--nothing);font-size: 23px;text-transform: lowercase;}
.agents-directory-empty { padding: 24px 4px; }

.agents-directory-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 5px;
	margin-top: 15px;
}

.agent-detail-card .double-column ai-chat.agents-launch-composer .prompt-container.ai-chat-prompt {
	background-color: transparent!important;
}

.agent-directory-card {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 20px;
	/* border-radius: var(--border-radius-tiny); */
	background: var(--white);
	/* box-shadow: var(--box-shadow); */
	/* border: 1px solid var(--light-border); */
}

.agent-directory-avatar {
	width: 40px;
	height: 40px;
	border-radius: var(--border-radius-tiny);
	overflow: hidden;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--white);
	font-size: 18px;
	font-family: var(--nothing);
	border: 1px solid var(--light-border);
}
.agent-directory-avatar img { width: 100%; height: 100%; object-fit: cover; }
.agent-directory-glyph { font-weight: 600; color: var(--primary); }

.agent-directory-meta { min-width: 0; }
.agent-directory-name {font-weight: 500;text-transform: lowercase;/* font-family: var(--nothing); */font-size: 14px;}
.agent-directory-desc { font-size: 12px; margin-top: 2px; }

/* Directory cards are now links to the shareable per-agent view */
.agent-directory-card-link { cursor: pointer; text-decoration: none; color: inherit; transition: border-color 0.12s ease, background 0.12s ease; }
.agent-directory-card-link:hover {border-color: var(--border);background-color: var(--extra-light);}

.agent-directory-card:hover .agent-directory-avatar {
    background-color: var(--white)!important;
}

/* Per-agent detail view (/agents/:agentId) */
.agent-detail {padding: 20px;max-width: 720px;margin: 50px auto;}
.agent-detail-back {margin-bottom: 12px;margin-left: auto;padding-right: 0px!important;/* min-width: 80px; */align-self: start;color: var(--light-text)!important;}

.agent-detail-back i {
    /* color: var(--primary); */
}
.agent-detail-empty { padding: 24px 4px; }
.agent-detail-card {/* border-radius: var(--border-radius-tiny); *//* padding: 40px; *//* background: var(--white); *//* box-shadow: var(--box-shadow); */max-width: 880px;width: 100%;margin: 0 auto;}
.agent-detail-head { display: flex; align-items: center; gap: 14px; }
.agent-detail-avatar {width: 100px;height: 100px;}
.agent-detail-name {font-size: 20px;font-weight: 600;font-family: var(--nothing);margin-top: 10px;line-height: 14px;text-transform: lowercase;}
.agent-detail-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 4px; }
.agent-detail-cat { font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--light-text); }
.agent-detail-badge {display: inline-flex;align-items: center;gap: 3px;font-size: 11px;padding: 2px 8px;border-radius: var(--border-radius-xs);background: var(--white);color: var(--light-text);}
.agent-detail-badge .material-symbols-outlined { font-size: 13px; }
.agent-detail-desc {margin-top: 4px;line-height: 1.5;margin-bottom: 5px;}
.agent-detail-section {background-color: var(--light-white);padding: 0 0 0 15px;/* box-shadow: var(--box-shadow); */border-radius: var(--border-radius-tiny);line-height: normal;border: 1px solid var(--vborder);}

.agent-detail-section .flex-between {
    align-items: center;
    cursor: pointer;
}
.agent-detail-section-title {font-size: 12px;font-weight: 500;text-transform: uppercase;/* letter-spacing: 0.04em; */color: var(--light-text);/* margin-bottom: 8px; */}
.agent-detail-asks { display: flex; flex-wrap: wrap; gap: 6px; }
.agent-detail-ask-chip { font-size: 12px; padding: 4px 12px; border-radius: 14px; background: var(--extra-light); color: var(--black); }
.agent-detail-how {display: flex;flex-direction: column;gap: 8px;line-height: 1.5;padding-bottom: 15px;}
.agent-detail-how .material-symbols-outlined { font-size: 15px; vertical-align: middle; margin-right: 4px; }

/* ═══════════════════════════════════════════════════════════════════════════════
   §v7 "My Agents" + the per-agent launchpad.
   Tokens from variables.css only. `.agents-directory` above is left untouched so
   nothing that still renders it changes.
   ═══════════════════════════════════════════════════════════════════════════════ */

.agents-home {margin: 0px auto;padding: 40px 4px;overflow-y: auto;height: calc(100dvh - 64px);}

.agents-home > div {
    max-width: 1140px;
    margin: 0 auto;
}

.agents-home-wrapper {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
}

.agents-home-wrapper .agents-home-col {
    width: calc(100% - 360px);
    padding-right: 25px;
}

.agents-home-wrapper .agents-home-sidebar {
    width: 360px;
    position: sticky;
    top: 0px;
    align-self: start;
    overflow-y: auto;
    height: calc(100dvh - 104px);
}

.agents-home-col {}

.agents-home-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.agents-home-freshness {white-space: nowrap;padding-top: 6px;font-size: 12px;}

.agents-home-grid {display: flex;width: 100%;}
.agents-home-main {min-width: 0;padding-top: 5px;width: 100%;}

.agents-home-main .agents-launch-card {
    padding: 0;
    padding-bottom: 40px;
    width: 100%;
}

.agents-rail {/* position: sticky; *//* top: 24px; *//* align-self: start; */overflow-y: auto;max-height: calc(100dvh - 145px);background-color: var(--white);border-radius: var(--border-radius-tiny);box-shadow: var(--box-shadow);}
.agents-rail-title {margin-bottom: 8px;font-weight: 400;padding: 10px 20px 0;text-transform: uppercase;font-size: 11px;}
.agents-rail-card {padding: 20px;margin-bottom: 0px;border-top: 1px solid var(--light-border);}

/* Single column below 1100px, main content first. */
@media (max-width: 1100px) {
	.agents-home-grid { grid-template-columns: minmax(0, 1fr); }
	.agents-rail { position: static; margin-top: 24px; }
}

/* ── composer card ─────────────────────────────────────────────────────────── */
.agents-launch-card {
	/* background: var(--white); */
	/* border-radius: var(--border-radius-tiny); */
	/* box-shadow: var(--box-shadow); */
	/* padding: 5px; */
	/* margin-bottom: 30px; */
}

.agent-detail-card .double-column {
    padding-top: 10px;
    padding-bottom: 50px;
    padding: 25px 40px 40px;
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    margin: 10px 0 40px;
    /* border: 1px solid var(--light-border); */
    /* position: sticky; */
    /* top: -10px; */
}

/* The <ai-chat> composer sits in a card in NORMAL FLOW, so it needs the same three
   un-doings the spec-item list composer does (spec-item.css ~:2800). Without them the
   composer is in the DOM but invisible: compose-only removes .ai-chat-messages, which is
   the panel's only in-flow child, so .ai-chat's `height: 100%` resolves against a card
   with no height and computes to 0 — then `overflow: hidden` clips away the absolutely
   positioned prompt bar AND the starter chips. Keep all three together. */
ai-chat.agents-launch-composer { display: block; width: 100%; }

ai-chat.agents-launch-composer .ai-chat.ai-chat-compose-only {
	display: block;
	height: auto;
	min-height: 0;
	overflow: visible;
	background-color: transparent;
}

ai-chat.agents-launch-composer .prompt-container.ai-chat-prompt {
	position: static;
	left: auto;
	right: auto;
	bottom: auto;
	margin: 0;
	padding: 0;
}

.agents-target-row { display: flex; align-items: center; gap: 8px; position: relative; margin-bottom: 6px; }
.agents-target-chip { text-transform: none !important; font-size: 13px !important; }
.agents-target-unset { color: var(--primary); }

.agents-target-pop {
	position: absolute;
	top: 34px;
	left: 58px;
	z-index: 40;
	width: 340px;
	max-height: 340px;
	overflow-y: auto;
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	box-shadow: var(--box-shadow-extra);
	padding: 0px;
	z-index: 99999999;
}

input.agents-target-search {
	margin: 0 0 0px 0 !important;
	height: 50px !important;
	font-size: 13px !important;
	border-bottom: 1px solid var(--border) !important;
	box-shadow: none !important;
	padding: 0 20px!important;
	background-color: var(--background-color)!important;
}

.agents-target-row-item {
	display: flex;
	justify-content: start;
	align-items: start;
	gap: 15px;
	padding: 10px 20px;
	cursor: pointer;
	font-size: 13px;
}

.agents-project-list-item-item {
    display: flex;
    align-items: start;
    gap: 15px;
}

.agents-target-row-item:hover { background: var(--hover-item); }
.agents-target-row-item i { font-size: 17px; color: var(--light-text); }
.agents-target-num {color: var(--light-text);margin-right: 0px;font-size: 11px;}

.agents-target-back {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 0 15px;
	cursor: pointer;
	/* font-size: 12.5px; */
	color: var(--primary);
	height: 50px;
	line-height: normal;
}

.agents-target-back i { font-size: 16px; }
.agents-target-none { padding: 8px; }
.agents-launch-hint { padding: 2px 2px 4px; }

/* ── run rows ──────────────────────────────────────────────────────────────── */
.agents-home-section {margin-bottom: 28px;width: 100%;}
.agents-home-section-head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.agents-home-section-head h6 { margin: 0; font-size: 14px; font-weight: 600; }

.agents-queue-sort { margin-left: auto; text-transform: none !important; font-size: 12px !important; }
.agents-queue-sort i { font-size: 16px !important; margin-right: 2px; }

.agents-run-list { margin: 0; }

.agents-run-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 30px;
	margin-bottom: 1px;
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	/* box-shadow: var(--box-shadow); */
	border: 1px solid var(--light-border);
}

.agents-run-row-quiet {box-shadow: none;border: 1px solid var(--light-border);background-color: var(--extra-light);}

/* ── Running now ─────────────────────────────────────────────────────────────
   The only rows on this page that are still changing, so they get the accent edge and
   the live dot. Everything else on the page is history. */
.agents-run-row-live { border-left: 3px solid var(--primary); }
.agents-run-row-live .agents-run-avatar { position: relative; overflow: visible; }
.agents-run-live-dot {
	position: absolute;
	right: -2px;
	bottom: -2px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--primary);
	box-shadow: 0 0 0 2px var(--white, #fff);
	animation: jtAgentPulse 1.6s ease-in-out infinite;
}
.agents-run-state {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--primary);
	margin-left: 8px;
	white-space: nowrap;
}
/* One vocabulary, one colour scale. A stopped run is neutral, not an error. */
.agents-run-state.ars-queued   { color: var(--light-text); }
.agents-run-state.ars-starting { color: var(--primary); }
.agents-run-state.ars-running  { color: var(--primary); }
.agents-run-state.ars-waiting  { color: var(--orange); }
.agents-run-state.ars-done     { color: var(--good); }
.agents-run-state.ars-failed   { color: var(--warning); }
.agents-run-state.ars-stopped  { color: var(--light-text); }
.agents-run-elapsed {
	font-size: 12px;
	color: var(--light-text);
	margin-right: 6px;
	font-variant-numeric: tabular-nums;
}
.work-badge-live {
	background: var(--light-white);
	color: var(--primary)!important;
}
@media (prefers-reduced-motion: reduce) {
	.agents-run-live-dot { animation: none; }
}
.agents-run-row.is-stale {/* border-left: 3px solid var(--highlight); */}

.agents-run-avatar {width: 50px;height: 50px;flex: 0 0 50px;}
.agents-run-body { flex: 1 1 auto; min-width: 0; cursor: pointer; }
.agents-run-line1 {/* font-size: 13.5px; *//* line-height: 1.45; */display: flex;flex-direction: column;padding: 0!important;width: 100%;}

.agents-run-line1 strong {
    font-family: var(--nothing);
    font-size: 18px;
    text-transform: lowercase;
}

.agents-run-agent-name {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-transform: lowercase;
}

.agents-run-agent-name strong {
    font-family: var(--nothing);
    font-size: 18px;
}
.agents-run-q {/* margin-left: 6px; */margin-top: 5px;}
.agents-run-line2 { margin-top: 2px; }

.agents-run-actions {display: flex;align-items: center;gap: 6px;flex: 0 0 auto;white-space: nowrap;height: auto;line-height: normal;}
.agents-run-actions .btn {text-transform: none !important;font-size: 12px !important;height: 20px;line-height: 20px;display: inline-flex;gap: 5px;}

.agents-run-actions .btn i {
    font-size: 14px;
}

.agents-run-age { font-size: 12px; color: var(--light-text); }
.agents-run-age.is-stale {color: var(--warning);font-weight: 300;text-transform: capitalize;}

.agents-run-flag {
	margin-left: 6px;
	padding: 0 6px;
	border-radius: var(--brxs);
	background: var(--highlight);
	color: var(--black);
	font-size: 11px;
}

.agents-run-more { margin-top: 4px; font-size: 12.5px; color: var(--primary); cursor: pointer; display: inline-block; }
.agents-run-more:hover { text-decoration: underline; }

.agents-home-caughtup { display: flex; align-items: center; gap: 6px; padding: 18px 4px; }
.agents-home-caughtup i { font-size: 18px; }
.agents-home-empty { padding: 20px 4px; }

/* ── the per-agent launchpad ───────────────────────────────────────────────── */
.agent-console {/* max-width: 900px; */margin: 0 auto;padding: 40px;overflow-y: auto;height: calc(100dvh - 64px);display: flex;flex-direction: column;text-align: left;align-items: start;}
.agent-console .agents-launch-card {
    flex: 1;
}

/* ============================================================================
   The AI panel (ps-062): the AI button in the top nav and the panel it opens.
   The panel is a .nav-sidebar (core.css), so it slides in at chat's width and
   place. Run states reuse .agents-run-state / .ars-* and the badges reuse
   .work-section-badge (agents-directory.css, work.css).
   ============================================================================ */

/* ---- the nav button ------------------------------------------------------- */

.ai-widget-trigger {
	width: 50px;
	text-align: center;
	cursor: pointer;
	position: relative;
}

.ai-widget-trigger .jt-ai {
	vertical-align: middle;
}

.ai-widget-trigger.selected .jt-ai .jt-ai-word {
	fill: var(--primary);
}

.ai-widget-trigger:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: -2px;
}

/* ---- the panel ------------------------------------------------------------ */

/* The panel's root only: `.ai-panel` is also the root class of every <ai-chat>, the task Overview
   and the task AI/Agents views, and a bare rule here gave them all this flex column, full height and
   normal line height. */
.ai-panel-wrapper,
.ai-panel-wrapper > .ai-panel {
	height: 100%;
}

.ai-panel-wrapper > .ai-panel {
	display: flex;
	flex-direction: column;
	min-height: 0;
	line-height: normal;
	text-align: left;
	color: var(--black);
}

/* The panel sits inside the top <nav> (navigation.user.html), so Materialize's nav rules reach
   it: `nav ul li` floats, `nav i` is a 56px block and `nav .nav-wrapper i` a 64px one, and
   `nav ul a` is white and padded. Two classes, to outrank `nav .nav-wrapper i`. */
.ai-panel-sidebar .ai-panel li {
	float: none;
}

.ai-panel-sidebar .ai-panel i {
	display: inline-block;
	height: auto;
}

.ai-panel-sidebar .ai-panel a {
	display: inline;
	padding: 0;
	color: var(--primary);
}

.ai-panel-header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 30px 10px 30px;
	background-color: var(--white);
	box-shadow: var(--box-shadow);
}

.ai-panel-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	outline: none;
}

/* Chat | Work */
.ai-panel-modes {
	display: inline-flex;
	gap: 2px;
	margin: 0 auto;
	padding: 5px;
	background-color: var(--bgc);
	border: 1px solid var(--border);
	border-radius: 50px;
}

.ai-panel-mode {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 15px;
	border: 0;
	border-radius: 50px;
	background: transparent;
	color: var(--light-text);
	font-size: 13px;
	font-weight: 500;
	line-height: 18px;
	cursor: pointer;
}

.ai-panel-mode:hover {
	color: var(--black);
}

/* Materialize paints every focused <button> primary (button:focus). */
.ai-panel-mode:focus {
	background-color: transparent;
}

.ai-panel-mode.is-active,
.ai-panel-mode.is-active:focus {
	background-color: var(--white);
	color: var(--primary);
	box-shadow: 0 1px 2px var(--shadow);
}

.ai-panel-mode:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 1px;
}

.ai-panel-mode-count {
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background-color: var(--primary);
	color: var(--awhite);
	font-size: 9px;
	font-weight: 600;
	line-height: 18px;
	text-align: center;
}

.ai-panel-header-actions {
	display: flex;
	align-items: center;
	gap: 2px;
	margin-left: auto;
}

.ai-panel-modes + .ai-panel-header-actions {
	margin-left: 0;
}

.ai-panel-icon-btn {
	padding: 0 6px !important;
}

.ai-panel-icon-btn i {
	font-size: 20px;
	color: var(--light-text);
}

.ai-panel-icon-btn.is-active i,
.ai-panel-icon-btn:hover i {
	color: var(--primary);
}

.ai-panel-body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	padding: 30px;
}

.ai-panel-status {
	padding: 8px 4px 16px;
}

/* ---- Work: groups and rows ------------------------------------------------ */

.ai-panel-group {
	margin-bottom: 22px;
}

.ai-panel-group-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 600;
}

.ai-panel-group-note {
	margin: -4px 0 8px;
	font-size: 12px;
}

.ai-panel-runs {
	margin: 0;
}

.ai-panel-run {
	/* margin-bottom: 5px; */
	background-color: var(--white);
	/* border: 1px solid var(--light-border); */
	/* border-radius: var(--border-radius-tiny); */
	box-shadow: var(--box-shadow);
}

.ai-panel-run.is-stale {
	border-left: 3px solid var(--orange);
}

.ai-panel-run-live {
	border-left: 3px solid var(--primary);
}

.ai-panel-run-quiet {
	background-color: var(--extra-light);
}

/* The row itself opens the run. The actions sit below it, outside the button. */
.ai-panel-run-open {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	width: 100%;
	padding: 12px 12px 10px;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
	border-radius: var(--border-radius-tiny);
}

.ai-panel-run-open:focus {
	background-color: transparent;   /* Materialize's button:focus, as above */
}

.ai-panel-run-open:hover {
	background-color: var(--hover-light);
}

.ai-panel-run-open:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: -2px;
}

.ai-panel-run-avatar {
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	font-size: 14px;
}

.ai-panel-run-avatar i {
	font-size: 18px;
}

.ai-panel-run-live .ai-panel-run-avatar {
	position: relative;
	overflow: visible;
}

.ai-panel-run-text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	flex: 1 1 auto;
}

.ai-panel-run-head {
	display: flex;
	align-items: baseline;
	gap: 6px;
	min-width: 0;
}

.ai-panel-run-agent {
	font-family: var(--nothing);
	font-size: 15px;
	text-transform: lowercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ai-panel-run-head .agents-run-state {
	margin-left: 0;
}

.ai-panel-run-age {
	margin-left: auto;
	font-size: 12px;
	color: var(--light-text);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.ai-panel-run-age.is-stale {
	color: var(--warning);
}

.ai-panel-run-line {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.ai-panel-run-meta {
	font-size: 12px;
}

/* Dark text on the yellow in both themes: --black turns light in dark mode. */
.ai-panel-run-flag,
.ai-panel-run-cut {
	padding: 0 6px;
	border-radius: var(--brxs);
	background-color: var(--highlight);
	color: var(--ablack);
	font-size: 11px;
	white-space: nowrap;
}

.ai-panel-run-cut {
	margin-left: 6px;
}

.ai-panel-run-actions {
	display: flex;
	justify-content: flex-end;
	gap: 4px;
	padding: 0 8px 8px 54px;
}

.ai-panel-run-actions .btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 26px;
	padding: 0 10px;
	font-size: 12px !important;
	line-height: 26px;
	text-transform: none !important;
}

.ai-panel-run-actions .btn i {
	font-size: 15px;
}

.ai-panel-more {
	text-transform: none !important;
	font-size: 12px !important;
}

/* ---- Work: empty and footer ----------------------------------------------- */

.ai-panel-empty {
	padding: 28px 12px 30px;
	text-align: center;
}

.ai-panel-empty i {
	font-size: 28px;
	color: var(--good);
}

.ai-panel-empty-title {
	margin: 6px 0 4px;
	font-weight: 500;
}

.ai-panel-footer {
	padding: 4px 4px 0;
	font-size: 12px;
}

/* ---- Chat ----------------------------------------------------------------- */

/* A conversation fills the body: <ai-chat> scrolls its own transcript, with the composer
   pinned below it. The list and the settings scroll the body as usual. */
.ai-panel-body.is-conversation {
	display: flex;
	flex-direction: column;
	padding: 0;
	overflow: hidden;
}

.ai-panel-body.is-conversation .ai-panel-chat,
.ai-panel-conversation {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
}

.ai-panel-chat-off {
	padding: 48px 24px 32px;
	text-align: center;
}

.ai-panel-chat-title {
	margin-bottom: 6px;
	font-size: 16px;
	font-weight: 600;
}

/* The list */

/* An .ai-button (ai-gradient.css): the ring at rest in the page's text colour, the fill on
   hover, like "Search deeper with AI". */
.ai-panel-new-chat {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	height: 50px;
	margin-bottom: 20px;
	color: var(--black);
	text-transform: none !important;
}

.ai-panel-new-chat i {
	font-size: 18px;
}

.ai-panel-sidebar .ai-panel input.ai-panel-search,
.ai-panel-sidebar .ai-panel input.ai-panel-input {
	width: 100%;
	height: 50px;
	margin: 0 0 12px;
	padding: 0 20px;
	border: 1px solid var(--light-border);
	border-radius: var(--border-radius-xs);
	background-color: var(--white);
	color: var(--black);
	font-size: 13px;
	box-sizing: border-box;
	outline: none!important;
	transition: border-color .3s ease-in-out;
}

.ai-panel-chat-search-container {
    display: flex;
    gap: 5px;
}

.ai-panel-chat-search-container input {
    flex: 4;
}

.ai-panel-chat-search-container button {
    flex: 1;
}

.ai-panel-sidebar .ai-panel input.ai-panel-search:focus, .ai-panel-sidebar .ai-panel input.ai-panel-input:focus {
    border-color: var(--scrollbar-color);
}

.ai-panel-sessions {
	margin: 0;
}

.ai-panel-sessions li:first-child .ai-panel-date {
    margin-top: 20px;
}

.ai-panel-date {
	margin: 30px 2px 6px;
	font-size: 9px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.ai-panel-session {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	width: 100%;
	padding: 20px;
	border: 0;
	background: var(--white);
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
	margin-bottom: 0px;
	box-shadow: var(--box-shadow);
}

.ai-panel-session:focus {
	background-color: transparent;   /* Materialize's button:focus */
}

.ai-panel-session:hover {
	background-color: var(--hover-light);
}

.ai-panel-session:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: -2px;
}

.ai-panel-session-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	border: 1px solid var(--light-border);
	border-radius: var(--border-radius-tiny);
	background-color: var(--white);
}

.ai-panel-session-mark img {
	width: 16px;
	height: 16px;
}

.ai-panel-session-mark .jt1 {
	color: var(--primary);
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
}

/* aihp-011: a task AI chat's mark, the task icon in the model mark's place (it opens on its task). */
.ai-panel-session-mark .ai-panel-session-task {
	font-size: 16px;
	color: var(--icon-color);
}

/* The icons in a list row. The panel sits in the nav, whose icon rules reach them: at 900px wide or
   less mobile.css makes every nav icon 64px tall (`nav.nav.main-nav i`, which outranks the panel's
   own `.ai-panel-sidebar .ai-panel i`), and core.css unsets their line-height with !important
   (`.nav-sidebar i`). The task mark rose out of its square and the Mail badge pushed its row apart. */
.ai-panel-sidebar .ai-panel .ai-panel-session-mark .ai-panel-session-task,
.ai-panel-sidebar .ai-panel .ai-panel-session-name .ai-panel-session-badge {
	height: auto;
	line-height: 1 !important;
}

.ai-panel-session-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	flex: 1 1 auto;
}

.ai-panel-session-name {
	display: flex;
	align-items: center;
	gap: 4px;
	min-width: 0;
	font-size: 13px;
	font-weight: 500;
}

.ai-panel-session-title,
.ai-panel-session-project {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ai-panel-session-project {
	flex: 0 1 auto;
	font-weight: 400;
}

.ai-panel-sidebar .ai-panel .ai-panel-session-badge {
	font-size: 14px;
	color: var(--light-text);
}

.ai-panel-session-last {
	font-size: 12px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* One conversation */

/* Its icons line up with the rows above and below it (William, 2026-10-01): the back
   arrow on the 30px line the AI mark, the About chip and the transcript share, and "…"
   under the header's ×. The icon buttons carry 6px of their own padding. */
.ai-panel-conversation-head {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 6px 30px 6px 24px;
	border-bottom: 1px solid var(--light-border);
	background-color: var(--white);
}

.ai-panel-conversation-title {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ai-panel-page {
	padding: 8px 30px 0;
}

.ai-panel-page-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	max-width: 100%;
	padding: 2px 4px 2px 8px;
	border: 1px solid var(--light-border);
	border-radius: 14px;
	background-color: var(--white);
	font-size: 12px;
}

.ai-panel-page-chip span {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ai-panel-sidebar .ai-panel .ai-panel-page-chip i {
	font-size: 15px;
	color: var(--primary);
}

.ai-panel-page-clear {
	display: inline-flex;
	padding: 2px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.ai-panel-page-clear:focus {
	background-color: transparent;   /* Materialize's button:focus */
}

.ai-panel-page-clear:hover,
.ai-panel-page-clear:focus-visible {
	background-color: var(--hover-light);
}

.ai-panel-sidebar .ai-panel .ai-panel-page-clear i {
	font-size: 14px;
	color: var(--light-text);
}

.ai-panel-page-add {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	text-transform: none !important;
	font-size: 12px !important;
}

.ai-panel-page-add i {
	font-size: 15px;
}

.ai-panel-ai-host {
	margin-top: 4px;
}

/* Voice mode (voice-speed-022). William, 2026-10-01: while it's open, the panel's top bar
   (the AI mark, Chat | Work, ×) and the About chip step aside so the voice view has the
   room. The page still rides along as context; End voice brings both back. Only a chat
   on screen counts: one the panel hides (ng-show) is not in voice mode for long
   (<ai-chat> ends it on aiPanel:viewChanged), and must not take the top bar with it. */
.ai-panel-wrapper > .ai-panel:has(.ai-panel-conversation:not(.ng-hide) > .ai-panel-ai-host:not(.ng-hide) .ai-chat.is-voice-view) > .ai-panel-header,
.ai-panel-conversation:has(> .ai-panel-ai-host:not(.ng-hide) .ai-chat.is-voice-view) > .ai-panel-page {
	display: none;
}

.ai-panel-conversation:has(> .ai-panel-ai-host .ai-chat.is-voice-view) > .ai-panel-ai-host {
	margin-top: 0;
}

/* Conversation settings */

.ai-panel-conv-settings {
	padding: 16px;
}

.ai-panel-field-label {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
	font-weight: 600;
	color: var(--black);
}

.ai-panel-conv-actions,
.ai-panel-conv-manage {
	display: flex;
	gap: 6px;
}

.ai-panel-conv-manage {
	margin-top: 22px;
	padding-top: 14px;
	border-top: 1px solid var(--light-border);
}

.ai-panel-conv-settings .btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	text-transform: none !important;
}

.ai-panel-conv-settings .btn i {
	font-size: 16px;
}

.ai-panel-sidebar .ai-panel .ai-panel-danger,
.ai-panel-sidebar .ai-panel .ai-panel-danger i {
	color: var(--warning);
}

/* ── ps-062 S2: the same Chat | Work switch at the top of the task and project AI views ──── */
.ai-mode-header {
	display: flex;
	justify-content: center;
	padding: 12px 20px 4px;
}

/* The project's two AI pages, Chat and Work (Project Agents): the switch centred in a 50px row at the
   top, at the same spot on both, so changing mode doesn't move it (William, 09-29). On Work the row is
   the page's first line, under its padding (.project-agents-page, ai-intelligence.css). */
.project-intelligence-page > .ai-mode-header,
.project-agents-page > .ai-mode-header {
	height: 50px;
	padding: 0;
	align-items: center;
}

.project-agents-page > .ai-mode-header {
	margin-bottom: 2px;
}

/* Chat lays its content out in a flex row (.project-intelligence-page.home-page, project-intelligence.css),
   which stretched the switch into a tall pill, so there the row sits over the page, as far down as on Work. */
.project-intelligence-page.home-page {
	position: relative;
}

.project-intelligence-page > .ai-mode-header {
	position: absolute;
	top: 32px;
	left: 28px;
	right: 28px;
	pointer-events: none;
	z-index: 1;
}

.project-intelligence-page > .ai-mode-header .ai-panel-modes {
	pointer-events: auto;
}

/* ── ps-062 S1c: AI moved to its own button ───────────────────────────────────────────────── */

/* One hint where AI used to live (the bell, the chat panel), until it's seen once. */
.ai-moved-hint {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	margin: 6px 12px;
	padding: 8px 10px;
	border: 1px solid var(--light-border);
	border-radius: var(--border-radius-xs);
	background-color: var(--extra-light);
	color: var(--black);
	font-size: 12px;
	line-height: 1.4;
}

.questions-queue-header .ai-moved-hint {
	margin: 12px 0 0;
}

/* In the chat list, in line with the search box above it. */
.chat-contacts-list > .ai-moved-hint {
	margin: 6px 25px 8px;
}

.ai-moved-hint span {
	flex: 1 1 100%;
}

.ai-moved-hint a {
	color: var(--primary);
	font-weight: 500;
	cursor: pointer;
}

/* The new button pulses until the hint is seen: a ring around the icon (the button itself is
   50 × 64, so its own box would pulse as a tall oval). Three times, then still. Off for reduced motion. */
@keyframes ai-hint-pulse {
	0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--primary) 0%, transparent); }
	50% { box-shadow: 0 0 0 6px color-mix(in srgb, var(--primary) 28%, transparent); }
}

.ai-widget-trigger.ai-hint-pulse::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 34px;
	height: 34px;
	margin: -17px 0 0 -17px;
	border-radius: 50%;
	pointer-events: none;
	animation: ai-hint-pulse 2s ease-in-out 3;
}

@media (prefers-reduced-motion: reduce) {
	.ai-widget-trigger.ai-hint-pulse::after { animation: none; }
}

/* A reply thread's header: "Thread · {the conversation}", the conversation in a quieter weight. */
.ai-panel-thread-of {
	font-weight: 400;
	color: var(--light-text);
}

/* A review saving (U11): the row dims and the clicked button spins until the run moves. */
.ai-panel-run.is-reviewing {
	opacity: .6;
	transition: opacity .15s ease;
}

.ai-panel-btn-spin {
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 4px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	vertical-align: -1px;
	animation: ai-panel-btn-spin .7s linear infinite;
}

@keyframes ai-panel-btn-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.ai-panel-btn-spin { animation-duration: 2s; }
}

.admin-spaces-page {
    padding: 40px 0;
    max-width: 760px;
    margin: 0px auto;
}

.spaces-grid {
    display: flex;
    flex-wrap: wrap;
}

.space-card {
    background: var(--white);
    padding: 20px 30px;
    display: flex;
    align-items: center;
    gap: 15px;
    cursor: pointer;
    transition: box-shadow 0.2s, border-color 0.2s;
    box-shadow: var(--box-shadow);
    flex: 1 0 100%;
    border-bottom: 1px solid var(--light-border);
}

.admin-spaces-page .space-card {
    padding: 15px 0px 15px 25px;
}

.admin-spaces-page .space-card .space-icon {
    width: 30px;
    height: 30px;
}

.admin-spaces-page .space-card .space-icon i {
    font-size: 15px;
}

.space-card:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.space-card:last-child {
    border-bottom-left-radius: var(--border-radius-tiny);
    border-bottom-right-radius: var(--border-radius-tiny);
    border-bottom: none;
}

.space-card:hover {
    /* box-shadow: 0 2px 8px rgba(0,0,0,0.1); */
.space-card:
    hover;
    background-color: var(--hover-item);
}

.space-card:hover .space-icon {
    background-color: var(--primary);
}

.space-card:hover .space-info {
    color: var(--primary);
}

.space-card:hover .space-icon i {
    color: var(--awhite);
}

.space-icon {
    width: 40px;
    height: 40px;
    background: var(--background-color);
    border-radius: var(--border-radius-xs);
    display: flex;
    align-items: center;
    justify-content: center;
}

.space-icon i {
    font-size: 20px;
    color: var(--black);
}

.space-info {
    flex: 1;
}

.admin-spaces-page .space-card .space-info {
    display: flex;
    align-items: center;
    gap: 20px;
}

.admin-spaces-page .space-card .space-meta {
    margin-left: auto;
}

.space-name {
    font-weight: 400;
    color: var(--black);
    font-size: 14px;
}

.space-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 0px;
    font-size: 12px;
    color: var(--light-text);
}

.space-meta .user-count {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.space-meta svg {
    max-width: 21px;
}

.space-meta i {
    font-size: 14px;
    vertical-align: middle;
}

.ai-badge {
    background: var(--success);
    color: white;
    padding: 2px 6px;
    border-radius: 10px;
    font-size: 10px;
}

.role-badge {
    padding: 0px 8px;
    border-radius: 3px;
    font-size: 11px;
    background: var(--border);
    color: var(--dark-text);
}

.role-badge.admin {
    background: var(--primary);
    color: var(--awhite);
}

.role-badge.owner {
    background: var(--good);
    color: white;
}

.space-badge {
    display: inline-block;
    padding: 2px 6px;
    background: var(--white);
    border-radius: 4px;
    font-size: 11px;
    margin-right: 4px;
}

.icon-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.icon-option {
    width: 40px;
    height: 40px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--white);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-option:hover {
    border-color: var(--primary);
}

.icon-option.selected {
    border-color: var(--primary);
    background: var(--very-light);
}

.space-role-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 15px;
    background-color: var(--background-color);
    margin-bottom: 1px;
}

.space-role-item:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.space-role-item:last-child {
    border-bottom-right-radius: var(--border-radius-tiny);
    border-bottom-left-radius: var(--border-radius-tiny);
}

.space-role-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.space-role-info i {
    font-size: 18px;
}

.space-role-select select {
    padding: 0 10px;
    border-radius: 4px;
    background: var(--white);
    display: inline-flex;
    height: 40px;
    background-color: var(--white);
    border: none;
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999999;
    height: 100%;
}

.modal-content {
    background: var(--white)!important;
    border-radius: 8px;
    width: 90%;
    max-width: 500px;
    max-height: 80vh;
    height: auto;
    overflow-y: auto;
}

.spec-perms-editor .modal-content {
    max-width: 100%!important;
    max-height: 100%!important;
    width: 100%;
}

.space-perms-editor .modal-content {
    position: fixed;
    width: 100%!important;
    top: 0px;
}

.admin-spaces-page .modal-content {
    padding: 30px!important;
    opacity: 1;
    background: var(--white)!important;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 20px 10px 30px;
    /* border-bottom: 1px solid var(--border); */
}

.modal-body {
    padding: 20px;
}

.user-viewer .modal-body, .user-viewer .modal-footer {
    margin: 0px!important;
    padding: 0 30px;
}

.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 20px;
    /* border-top: 1px solid var(--border); */
}

.data-table {
    width: 100%;
    border-collapse: collapse;
}

.data-table th,
.data-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--border);
}

.data-table th {
    font-weight: 600;
    color: var(--light-text);
    font-size: 12px;
    text-transform: uppercase;
}

.data-table tr:hover {
    background: var(--very-light);
}

.space-settings-page {
    padding: 40px 20px;
}

.back-link {
    display: inline-flex;
    align-items: flex-start;
    gap: 6px;
    color: var(--primary);
    text-decoration: none;
    font-size: 14px;
}

.back-link:hover {
    text-decoration: underline;
}

.space-settings-page .settings-section {margin-top: 0px;max-width: 1040px;padding-top: 0;}

.space-settings-page .settings-section > .card > .sh.row {
    margin-bottom: 0px!important;
    margin-top: 20px!important;
}

.icon-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.icon-option {
    width: 40px;
    height: 40px;
    border: 1px solid var(--border);
    border-radius: 3px;
    background: var(--white);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-option:hover {
    border-color: var(--primary);
}

.icon-option.selected {
    border-color: var(--primary);
    background: var(--very-light);
}

.data-table {
    width: 100%;
    border-collapse: collapse;
}

.users-table tbody > tr {
    padding: 0px 20px!important;
    background-color: var(--background-color);
    height: 50px;
}

.users-table tbody > tr:hover {
    background-color: var(--extra-light)!important;
}

.data-table th,
.data-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--white);
}

.users-table .data-table td {
    padding: 0 10px 0 15px;
    font-size: 13px;
}

.users-table .data-table tr td:first-child {padding-left: 20px;}

.users-table .data-table tr td:last-child {
    padding-right: 20px!important;
    text-align: right;
}

.users-table .data-table td > div {
    align-items: center!important;
    line-height: 16px;
}

.data-table th {
    font-weight: 600;
    color: var(--light-text);
    font-size: 12px;
    text-transform: uppercase;
    background: none;
}

.data-table tr:hover {
    background: var(--very-light);
}

.text-field .lock-indicator i {
    line-height: 20px!important;
    height: 20px!important;
    color: var(--orange)!important;
}

.space-permissions-section  .space-members-add-step input {
    background-color: var(--background-color)!important;
    padding: 0 15px!important;
    display: block!important;
}

.space-permissions-section .space-members-add-step select {
    display: none;
}

.space-members-add-modal {
    background-color: var(--xwhite);
    padding: 20px;
    box-shadow: var(--box-shadow);
    position: absolute;
    z-index: 99999;
    top: 120px;
    min-width: 290px!important;
}

.space-members-add-candidate {
    padding: 10px 20px;
    background-color: var(--background-color);
    border-radius: 5px;
    margin-bottom: 5px;
    cursor: pointer;
}

.space-members-add-candidate:hover {
    background-color: var(--extra-light);
}

.space-members-add-modal-inner {
    position: relative;
}

.space-members-add-modal-inner .btn.btn-small {
    height: 23px;
    line-height: 23px;
    cursor: pointer;
    padding-right: 0!important;
}

.space-members-add-step {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.space-members-add-step .select-wrapper {
    position: relative;
    margin-bottom: 10px;
}

.space-members-add-step .select-wrapper+label {
    position: relative;
    top: 0;
}

.space-members-add-title {
    color: var(--light-text);
    text-transform: uppercase;
    font-size: 12px;
    margin-bottom: 10px;
}

.space-permissions-section span.caret, .space-permissions-section input {
    display: none!important;
}

.space-permissions-section .team-create .col.m6:first-child input {
    display: flex!important;
    background-color: var(--background-color);
    padding: 0 15px;
    font-size: 13px;
    margin-bottom: 0;
    height: 50px;
    border-radius: var(--border-radius-tiny);
}

.space-permissions-section .team-create {
    margin-top: 20px!important;
}

.space-permissions-section .team-create button {
    height: 50px;
    margin-left: 30px;
    border-radius: var(--border-radius-tiny);
}

.space-members-header-row button {
    font-size: 12px;
}

.sub-text.space-members-stages-hint {
    font-size: 11px;
}

.sub-text.space-members-stages-hint span {
    color: var(--primary);
    padding-left: 5px;
    cursor: pointer;
}
/* pac-006 — "Who can create projects" setting and the add dialog's
   Project creator option (admin perms page). */
.space-members-creation {
    margin: 16px 0 20px;
    max-width: 440px;
}

.space-members-add-creator {
    display: block;
    margin-top: 12px;
}

/* pac-007 — Space admin marker on the members table. */
.space-admin-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 8px;
    border-radius: var(--border-radius-tiny);
    font-size: 11px;
    background: var(--primary);
    color: #fff;
    vertical-align: middle;
}

.space-members-admins-note {
    display: block;
    margin-top: 6px;
}

/* Wave 5 — granular User-role capability grid (admin perms page). */
.space-members-granular {
    margin-top: 12px;
}
.space-members-granular-inline {
    margin-top: 0;
}
.space-members-granular-hint {
    margin-bottom: 10px;
    font-size: 12px;
}
.space-members-granular-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 1px;
}
.space-members-granular-cell {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px!important;
    font-weight: 300;
    cursor: pointer;
    background-color: var(--white);
    padding: 10px;
}

.space-members-granular-cell.enabled {
    background-color: var(--primary);
}
.space-members-granular-cell input[type="checkbox"] {
    margin: 0;
    position: relative;
    opacity: 1;
    pointer-events: auto;
}
.space-members-caps-toggle {
    margin-left: 4px;
    padding: 0 4px !important;
    height: 24px;
    line-height: 24px;
}

.space-members-caps-toggle i {
    color: var(--primary);
}
.space-members-caps-row td {
    background: var(--background-color);
    padding: 30px!important;
}

/* pac-010 — "kept a higher role" notice under a member row. */
.space-members-kept-row td {
    background: var(--background-color);
    padding: 16px 30px !important;
}
.space-members-kept {
    display: flex;
    align-items: flex-start;   /* the text is a list now (pac-027); buttons sit at its top */
    flex-wrap: wrap;
    gap: 12px;
}
.space-members-kept-text {
    flex: 1 1 320px;
    font-size: 13px;
}
/* pac-027 — the kept projects as a bulleted list. Materialize strips bullets with
   ul:not(.browser-default)>li (0,1,2), so this selector outranks it. */
.space-members-kept ul.space-members-kept-list {
    margin: 6px 0 0 18px;
    padding: 0;
}
.space-members-kept ul.space-members-kept-list > li {
    list-style-type: disc;
    line-height: 1.6;
}


.space-members-header-row .btn i {
    color: var(--awhite);
}

.team-card {
    background-color: var(--white);
    padding: 30px;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
    margin-bottom: 5px;
}

.team-card h6 {
    margin-bottom: 0!important;
}

.team-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.space-section.admin-card.general-space-settings > h6 {
    margin-bottom: 0;
}

.space-section.admin-card.general-space-settings > .sub-text {
    margin-bottom: 30px;
}

.space-section.admin-card.general-space-settings .dropdown-select.input-field {
    padding-left: 20px;
}

.space-section.admin-card.general-space-settings .form-field {
    margin-bottom: 0px!important;
}

.space-section.admin-card.general-space-settings .select-wrapper {
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    padding: 0 20px;
}

.space-section.admin-card.general-space-settings .select-wrapper input {
    font-size: 13px;
}

.space-section.admin-card.general-space-settings .setting-row .sub-text {
    margin-top: 0!important;
}
/* ============================================================================
   P3b — Space picker page (#!/spaces)
   Rendered inside the shared .full-centered-page / .login-container shell.
   ========================================================================== */

.spaces-picker-page .login-container {
    text-align: left;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.spaces-picker-title {
    margin-bottom: 5px;
}

.spaces-picker-subtitle {
    margin-top: 0;
    margin-bottom: 10px;
}

.spaces-picker-list {
    display: flex;
    flex-direction: column;
    /* gap: 5px; */
}

.spaces-picker-card {
    display: flex;
    align-items: start;
    gap: 15px;
    width: 100%;
    text-align: left;
    padding: 20px;
    /* border: 1px solid var(--light-border); */
    background: var(--white);
    box-shadow: var(
    --box-shadow);
    cursor: pointer;
    /* transition: box-shadow 0.2s, border-color 0.2s; */
    border-bottom: 1px solid var(--light-border);
}

.spaces-picker-card:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.spaces-picker-card:last-child {
    border-bottom-left-radius: var(--border-radius-tiny);
    border-bottom-right-radius: var(--border-radius-tiny);
    border-bottom: none;
}

.spaces-picker-card:hover {
    background-color: var(--light-white);
}

.spaces-picker-card:hover,
.spaces-picker-card:focus-visible {
    /* box-shadow: 0 2px 8px rgba(0,0,0,0.1); */
    /* border-color: var(--primary); */
    outline: none;
}

.spaces-picker-card.current {
    background-color: var(--light-white);
}

.spaces-picker-card.current, .spaces-picker-card.current:focus, .spaces-picker-card.current:focus .sub-text {
    color: var(--awhite)!important;
}

.spaces-picker-card.current .spaces-picker-icon {
    background-color: var(--primary);
}

.spaces-picker-card.current .spaces-picker-body .sub-text {color: var(--black);}

.spaces-picker-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    background: var(--background-color);
    border-radius: var(--border-radius-tiny);
    display: flex;
    align-items: center;
    justify-content: center;
}

.spaces-picker-card:hover .spaces-picker-icon {
    background-color: var(--primary);
}

.spaces-picker-card:hover .spaces-picker-icon i {
    color: var(--awhite);
}

.spaces-picker-icon i {
    font-size: 22px;
    color: var(--black);
}

.spaces-picker-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.spaces-picker-name {
    font-size: 14px;
    color: var(--black);
    font-weight: 500;
}

.spaces-picker-description {
    font-size: 12px;
    /* white-space: nowrap; */
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
}

.spaces-picker-chip {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--primary);
    border: 1px solid var(--primary);
    border-radius: var(--border-radius-tiny);
    padding: 2px 8px;
}

.spaces-picker-chevron {
    color: var(--light-text)!important;
    font-size: 15px;
}

/* Request-access card (no space membership) */

.spaces-picker-empty {
    text-align: center;
}

.spaces-request-field {
    text-align: left;
    margin: 20px 0;
}

.spaces-request-label {
    display: block;
    font-size: 12px;
    color: var(--light-text);
    margin-bottom: 5px;
}

.spaces-request-message {
    width: 100%;
    min-height: 80px;
    padding: 10px;
    background-color: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    font-size: 13px;
    resize: vertical;
    box-sizing: border-box;
}

.spaces-request-message:focus {
    border-color: var(--primary);
    outline: none;
}

.spaces-request-count {
    font-size: 11px;
    text-align: right;
    margin-top: 3px;
}

/* ============================================================================
   P3b — Pending space-access requests (Space Settings > Members)
   ========================================================================== */

.space-requests-section {
    margin-bottom: 30px;
}

.space-requests-title {
    display: flex;
    align-items: center;
    gap: 8px;
}

.space-requests-count {
    font-size: 11px;
    color: var(--awhite);
    background-color: var(--primary);
    border-radius: var(--border-radius-tiny);
    padding: 1px 8px;
}

.space-request-row {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    /* box-shadow: var(--box-shadow); */
    margin-bottom: 5px;
}

.space-request-info {
    flex: 1;
    min-width: 0;
}

.space-request-name {
    font-size: 13px;
    color: var(--black);
}

.space-request-message {
    font-size: 12px;
    color: var(--light-text);
    margin-top: 3px;
    word-break: break-word;
}

.space-request-actions {
    display: flex;
    gap: 5px;
}

/* Archived-space chip on the admin Spaces list */

.space-archived-chip {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--light-text);
    border: 1px solid var(--light-text);
    border-radius: var(--border-radius-tiny);
    padding: 1px 8px;
}

.space-card.archived {
    opacity: 0.65;
}

/* ============================================================================
   P3b — access-request notification rows (nav dropdown + profile notifications).
   Shared by spaceAccessRequest and projectAccessRequest; mirrors the
   .agent-run-notification row shape in components/ai-intelligence.css.
   ========================================================================== */

.access-request-notification {
    display: flex;
    align-items: center;
    gap: 10px;
}

.access-request-notification .access-request-icon .material-symbols-outlined {
    font-size: 20px;
    color: var(--light-text);
}

.access-request-review {
    display: inline-block;
    margin-top: 5px;
    font-size: 12px;
    color: var(--primary);
    cursor: pointer;
}

.access-request-review:focus-visible {
    outline: 1px solid var(--primary);
    outline-offset: 2px;
}

/* Archive / restore action block on the Space Settings > General tab */

.space-archive-actions {
    margin-top: 15px;
}

.space-archive-actions .sub-text {
    margin-top: 5px;
}

/* ---------------------------------------------------------------------------
   Visiting-space bar (space-links)

   Shown when THIS TAB is in a space other than the user's home default —
   following a cross-space link or opening a ?space= URL. Without it the hop is
   invisible and every list silently reads as "wrong data" instead of "another
   space". Deliberately a full-width bar rather than a corner pill: the whole
   page's data changed, so the notice belongs in the page's own flow.
--------------------------------------------------------------------------- */

.visiting-space-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 20px;
    background-color: var(--primary);
    color: var(--awhite);
    font-size: 13px;
    line-height: 20px;
    position: fixed;
    left: 20px;
    bottom: 20px;
    z-index: 99999;
    max-width: 350px;
    border-radius: var(--border-radius-xs);
    box-shadow: var(--box-shadow-extra);
}

.visiting-space-bar .vsb-icon {
    font-size: 18px;
    line-height: 20px;
    flex: 0 0 auto;
}

.visiting-space-bar .vsb-text {
    flex: 1 1 auto;
    min-width: 0;
}

.visiting-space-bar .vsb-text strong {
    font-weight: 600;
}

.visiting-space-bar .vsb-action {
    flex: 0 0 auto;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #fff;
    font-size: 12px;
    font-family: inherit;
    padding: 3px 12px;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
}

.visiting-space-bar .vsb-action:hover {
    background: rgba(255, 255, 255, 0.3);
}

.visiting-space-bar .vsb-action:focus-visible,
.visiting-space-bar .vsb-dismiss:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.visiting-space-bar .vsb-dismiss {
    flex: 0 0 auto;
    background: none;
    border: none;
    color: #fff;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    opacity: 0.8;
}

.visiting-space-bar .vsb-dismiss:hover {
    opacity: 1;
}

.visiting-space-bar .vsb-dismiss i {
    font-size: 18px;
}

@media (max-width: 600px) {
    .visiting-space-bar {
        padding: 8px 12px;
        gap: 8px;
        font-size: 12px;
    }
}

.invite-access-block .invite-access-label {
    display: block;
    text-align: left;
    margin-bottom: 4px;
}

.invite-access-block .invite-field-hint {
    margin-bottom: 5px;
    margin-top: -5px;
    font-size: 12px;
    line-height: normal;
}

/* One space + the access it carries. The remove control is only as wide as
   its glyph, so the two selects keep the width of the modal between them. */
.invite-access-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}

.invite-access-field {
    flex: 1 1 0;
    min-width: 0;
}

.invite-access-field .select-wrapper {
    margin-bottom: 0;
}

.invite-access-remove {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    color: var(--light-text);
    cursor: pointer;
}

.invite-access-remove:hover {
    color: var(--primary);
}

.invite-access-remove i {
    font-size: 18px;
}

/* The "collapsed detail": the 19-checkbox grid stays behind this disclosure
   so a Contributor row is one line until somebody asks for the detail. */
.invite-access-caps {
    margin: 0 0 12px 0;
}

.invite-access-caps-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--primary);
    cursor: pointer;
    font-size: 12px;
}

.invite-access-caps-toggle i {
    font-size: 16px;
}

.invite-role-help-toggle {
    color: var(--light-text);
    cursor: pointer;
    margin-left: 4px;
    vertical-align: middle;
}

.invite-role-help-toggle i {
    font-size: 15px;
    vertical-align: middle;
}

.invite-role-help-toggle:hover {
    color: var(--primary);
}

.invite-role-help {
    background-color: var(--background-color);
    box-shadow: var(--box-shadow-extra);
    border-radius: 4px;
    padding: 12px 14px;
    margin: 6px 0 10px 0;
    font-size: 12px;
    position: absolute;
    z-index: 9999;
    top: 15px;
}

.invite-role-help-row {
    display: flex;
    gap: 10px;
    margin-bottom: 6px;
    line-height: 1.5;
}

.invite-role-help-name {
    flex: 0 0 62px;
    font-weight: 600;
}

.invite-role-help-note {
    border-top: 1px solid var(--border);
    margin-top: 10px;
    padding-top: 10px;
    color: var(--light-text);
    line-height: 1.5;
}

.invite-access-caps-count {
    color: var(--light-text);
}

.invite-access-caps .space-members-granular {
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    padding: 15px;
    margin-top: 8px;
}

.invite-access-block .add-user {
    margin-top: 2px;
}

.invite-access-teams {
    margin-top: 20px;
}

.invite-access-team-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

/* .chip floats by default (core.css); inside a flex row the float is inert
   but the trailing margin is not, and it breaks the even gap. */
.invite-access-team-list .chip {
    float: none;
    margin-right: 0 !important;
}

.invite-access-team-add {
    flex: 0 0 auto;
    min-width: 170px;
}
/* ============================================
   STRATEGY PAGE STYLES
   ============================================ */

.strategy-map-item.s6::before {
    content: ' ';
    height: calc(100% - 20px);
    border-left: 1px solid var(--border);
    position: absolute;
    left: 50%;
    z-index: 1;
}

.strategy-map-item.s6:first-child::before {
    height: 100%;
    top: 50px!important;
}

.strategy-map-item.s6:first-child::after {
    content: ' ';
    border-top: 1px solid var(--border);
    position: absolute;
    width: 100px;
    top: 26px;
    right: -25px;
}

.strategy-map-item.s12::before {
    content: ' ';
    height: calc(100% - 80px);
    border-left: 1px dashed var(--border);
    position: absolute;
    left: 50%;
    top: 50px;
    z-index: 1;
}

.strategy-map-item {
    position: relative;
    z-index: 10;
}

.strategy-page h5 {
    font-size: 19pt;
    margin-bottom: 5px;
    color: var(--primary);
}

/* ============================================
   STRATEGY OVERVIEW TREE
   ============================================ */

.strategy-overview-page {
    /* background: 
        radial-gradient(ellipse at 20% 0%, rgba(25, 118, 210, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 100%, rgba(25, 118, 210, 0.05) 0%, transparent 50%),
        var(--white); */
    max-width: 100%!important;
    padding: 0!important;
}

/* Scroll container — allows horizontal pan when nodes overflow */
.strategy-tree-scroll-wrapper {
    overflow: auto;
    width: 100%;
    padding-bottom: 24px;
    padding: 100px;
    vertical-align: top;
    /* padding-top: 50px; */
}

.strategy-tree {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    gap: 0;
    min-width: max-content;
}

/* Zoom controls */
.overview-zoom-controls {
    display: flex;
    align-items: center;
    gap: 0px;
    justify-content: flex-end;
    padding: 0!important;
    z-index: 99999;
    /* opacity: .7; */
    box-shadow: var(--box-shadow-extra);
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
}

.toggle-strategy-sidebar-btn:hover i {
    color: var(--primary);
}

.toggle-strategy-sidebar-btn i {
    font-size: 16px;
    user-select: none;
}

.overview-zoom-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    /* border: var(--light-glass-border); */
    border-radius: var(--border-radius-tiny);
    background: var(--white);
    cursor: pointer;
    color: var(--black);
    transition: background 0.15s ease;
    padding: 0;
    user-select: none;
}

.overview-zoom-btn:hover {
    background-color: var(--white)!important;
    opacity: 1;
}

.overview-zoom-btn:hover {
    background: var(--extra-light);
}

.overview-zoom-btn[disabled] {
    opacity: 0.35;
    cursor: default;
}

.overview-zoom-btn i {
    font-size: 16px;
}

.overview-zoom-label {
    min-width: 44px;
    text-align: center;
    font-size: 12px;
    color: var(--black);
    background-color: var(--white);
    cursor: pointer;
    padding: 0 8px;
    line-height: 28px;
    transition: color 0.15s ease;
    border-left: 1px solid var(--light-border);
    border-right: 1px solid var(--light-border);
}

.overview-zoom-label:hover {
    background-color: var(--white)!important;
    opacity: 1;
}

.overview-zoom-label:hover {
    color: var(--primary);
}

/* ============================================
   TIER STYLES
   ============================================ */

.tree-tier {
    width: max-content;
    min-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    opacity: 0;
    transform: translateY(20px);
    animation: tierFadeIn 0.6s ease-out forwards;
    animation-delay: calc(var(--tier-delay) * 0.1s);
}

@keyframes tierFadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.tier-label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 20px;
    line-height: 40px;
    background: var(--light-glass)!important;
    border-radius: var(--border-radius-tiny);
    margin-bottom: 20px;
    font-size: 20px;
    font-family: var(--nothing);
    color: var(--black)!important;
    border: var(--light-glass-border);
}

.tier-label:hover {
    cursor: pointer;
}

.tier-label:hover i {
    color: var(--primary)!important;
}

.tier-label i {
    font-size: 16px;
    color: var(--primary);
}

.tier-action {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 30px;
    padding: 6px 20px;
    font-size: 12px;
    color: var(--primary);
    background-color: transparent;
    cursor: pointer;
    border-radius: 3px;
    transition: all 0.2s ease;
}

.tier-action:hover {
    background: var(--extra-light);
}

.tier-action i {
    font-size: 14px;
    transition: transform 0.2s ease;
}

.tier-action:hover i {
    transform: translateX(3px);
}

/* ============================================
   TREE NODES CONTAINER
   ============================================ */

.tree-nodes {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 30px;
    width: 100%;
}

/* ============================================
   NODE CARD STYLES (Glassmorphism)
   ============================================ */

.tree-node {
    position: relative;
    min-width: 220px;
    max-width: 320px;
    flex: 0 0 auto;
    padding: 25px;
    -webkit-backdrop-filter: blur(10px);
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    box-shadow: var(--box-shadow);
    background-color: var(--white);
}

.node-vision .wrapper {
    display: flex;
    flex-wrap: wrap;
}

.node-vision .wrapper > div {
    min-width: 50%;
    max-width: 50%;
    padding-right: 10px;
    box-sizing: border-box;
}

.node-vision .wrapper > div .value-title {
    display: list-item;
    margin-left: 15px;
}

.tree-node:hover {
    /* transform: translateY(-4px); */
    /* box-shadow: 
        0 12px 40px rgba(25, 118, 210, 0.15),
        0 4px 12px rgba(0, 0, 0, 0.1); */
    background-color: var(--white)!important;
}

/* Node Glow Effect */
.node-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(25, 118, 210, 0.15) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

/* ============================================
   NODE CONTENT
   ============================================ */

.node-content {
    position: relative;
    z-index: 2;
}

.node-title {
    font-size: 14px;
    font-weight: 400;
    color: var(--black);
    margin-bottom: 6px;
    line-height: 1.4;
}

.node-vision .node-title, .node-values .node-title {
    font-size: 21px;
    color: var(--primary);
    margin-bottom: 0px;
    font-family: var(--nothing);
    text-transform: lowercase;
}

.node-title.node-title-values-title {
    margin-top: 30px;
}

.node-subtitle {
    font-size: 13px;
    color: var(--light-text);
    line-height: 1.5;
}

.node-text {
    font-size: 14px;
    color: var(--black);
    line-height: 1.6;
    margin-bottom: 12px;
}

.node-text p {
    margin: 0;
}

.node-action {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--primary);
    font-weight: 500;
    transition: all 0.2s ease;
}

.tree-node:hover .node-action {
    opacity: 1;
    transform: translateY(0);
}

.node-action i {
    font-size: 14px;
}

.node-meta {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 10px;
    font-size: 11px;
    color: var(--light-text);
}

.node-meta i {
    font-size: 14px;
}

/* ============================================
   OKR RESULTS
   ============================================ */

.node-results {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.strategy-item-row .node-results {
    gap: 1px;
}

.result-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--black);
    /* transition: background-color .4s ease-in-out; */
    min-height: 50px;
}

.strategy-item-row .result-item:hover {
    background-color: var(--hover-item);
}

.focus-group:hover .result-item {
    background-color: var(--background-color);
}

.result-item i {
    font-size: 14px;
    color: var(--good);
    flex-shrink: 0;
    margin-top: 3px;
}

i.kr-check-icon.kr-done {
    color: var(--good)!important;
}

/* ============================================
   STATUS BADGES
   ============================================ */

.node-status {
    margin-top: 10px;
}

.status-badge {
    display: inline-block;
    padding: 4px 10px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: var(--subtle);
    color: var(--light-text);
    border-radius: 12px;
}

/* ============================================
   EMPTY STATE NODES
   ============================================ */

.tree-node.node-empty {
    background: transparent;
    border: 2px dashed var(--light-text);
    min-width: 180px;
    box-shadow: none;
}

.tree-node.node-empty i {
    color: var(--icon-color);
}

.tree-node.node-empty:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
    box-shadow: none;
}

.node-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: var(--light-text);
    text-align: center;
}

.node-placeholder i {
    font-size: 28px;
    color: var(--border);
    transition: color 0.2s ease;
}

.tree-node.node-empty:hover .node-placeholder i {
    color: var(--primary);
}

.node-placeholder span {
    font-size: 13px;
    font-weight: 500;
}

/* ============================================
   VISION NODE (Larger, more prominent)
   ============================================ */

.tree-node.node-vision {
    max-width: 840px!important;
    flex: 1 1 400px;
    padding: 40px;
}/* ============================================
   CONNECTOR LINES
   ============================================ */

.tree-connector {
    position: relative;
    width: 1px;
    height: 100px;
    display: flex;
    justify-content: center;
    opacity: 0;
    animation: connectorFadeIn 0.4s ease-out forwards;
    animation-delay: calc(var(--tier-delay) * 0.1s);
    opacity: 0!important;
}

@keyframes connectorFadeIn {
    to {
        opacity: 1;
    }
}

.connector-line {
    width: 2px;
    height: 100%;
    background: var(--xwhite);
    border-radius: 1px;
}

.connector-pulse {
    position: absolute;
    top: 0;
    width: 6px;
    height: 6px;
    background: var(--awhite);
    border-radius: 50%;
    animation: pulseDown 2s ease-in-out infinite;
    animation-delay: calc(var(--tier-delay) * 0.1s + 0.5s);
}

@keyframes pulseDown {
    0% {
        top: 0;
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.8;
    }
    100% {
        top: calc(100% - 6px);
        opacity: 0;
        transform: scale(0.5);
    }
}

.dark .tier-label {
    background-color: var(--white);
    color: var(--black);
}

.tier-focuses .tier-label i { color: #8BC34A; }
.tier-focuses .tree-node:hover {
    box-shadow: 0 12px 40px rgba(139, 195, 74, 0.15), 0 4px 12px rgba(0, 0, 0, 0.1);
}

.tier-okrs .tier-label i { color: #FF9800; }
.tier-okrs .tree-node:hover {
    box-shadow: 0 12px 40px rgba(255, 152, 0, 0.15), 0 4px 12px rgba(0, 0, 0, 0.1);
}

.tier-programs .tier-label i { color: #9C27B0; }
.tier-programs .tree-node:hover {
    /* box-shadow: 0 12px 40px rgba(156, 39, 176, 0.15), 0 4px 12px rgba(0, 0, 0, 0.1); */
}

.tier-initiatives .tier-label i { color: #00BCD4; }
.tier-initiatives .tree-node:hover {
    box-shadow: 0 12px 40px rgba(0, 188, 212, 0.15), 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

@media (max-width: 768px) {
    .strategy-overview-page {
        padding: 20px 16px;
    }

    .tree-nodes {
        flex-direction: column;
        align-items: stretch;
    }

    .tree-node {
        max-width: 100%;
        flex: 1 1 auto;
    }

    .tree-node.node-vision {
        max-width: 100%;
    }

    .tier-label {
        font-size: 11px;
        padding: 6px 14px;
    }

    .tree-connector {
        height: 30px;
    }
}

@media (max-width: 480px) {
    .strategy-overview-page {
        padding: 16px 12px;
    }

    .tree-node {
        padding: 16px;
    }

    .node-title {
        font-size: 14px;
    }

    .node-text {
        font-size: 13px;
    }
}

/* ============================================
   FOCUS GROUP STYLES (for grouped displays)
   ============================================ */

.focus-group {
    margin-bottom: var(--sm-item-margin);
    border-radius: var(--border-radius-tiny);
    /* overflow: hidden; */
    /* box-shadow: var(--box-shadow); */
    /* padding: 40px; */
    /* background-color: var(--light-glass); */
    transition: background-color .4s ease-in-out;
    cursor: pointer;
}

.fg-items .ql-editor {
    line-height: normal;
    margin-bottom: 5px;
    color: var(--light-text);
}

.strategy-page .focus-group {
    margin-bottom: 0;
    width: 100%;
}

.focus-group:hover {
    /* background-color: var(--white); */
}

.focus-group-header {
    padding: 0 10px;
    background: var(--light-glass);
    font-weight: 400;
    font-size: 14px;
    color: var(--black);
    border-radius: 3px!important;
    margin-top: 30px;
    height: 30px;
    line-height: 30px;
    width: auto;
    display: inline-block;
}

.focus-group-items .ql-editor p {
    color: var(--light-text)!important;
    font-size: 13px;
}

.strategy\.pillars .focus-group-header {
    padding: 0;
    background-color: transparent;
    margin-top: 0;
    width: 100%;
    height: auto!important;
    align-items: center;
}

.focus-group-header .node-stat-badge {
    padding: 0;
    height: 30px!important;
    line-height: 30px!important;
    background-color: transparent;
    color: var(--light-text)!important;
    margin-left: 20px!important;
}

.strategy\.pillars .focus-group-header .node-stat-badge.node-stat-progress {
    margin-left: 5px!important;
}

.focus-group-header > * {
    display: inline-block;
    height: 30px;
    line-height: 30px!important;
    vertical-align: middle;
    margin-top: 0!important;
    padding-right: 5px!important;
}

.strategy\.pillars .focus-group-header > * {
    height: unset;
    line-height: normal!important;
    align-items: center;
}

.strategy\.pillars .focus-group-header > .fgh.ml-auto.ta-right {
    min-width: 50px!important;
}

.focus-group-header > span {
    /* font-family: var(--nothing); */
    /* font-size: 16px; */
    font-weight: 400;
}

.strategy\.pillars .focus-group-header .small-text.light-text {
    margin-left: auto;
    font-size: 11px;
}

.strategy\.pillars .focus-group-header .node-health-dot {
    float: right;
    margin-top: 11px;
    margin-right: -5px;
    margin-left: 8px;
}

.focus-group-header i {
    font-size: 18px;
    color: var(--primary);
    vertical-align: middle;
}

.strategy\.pillars .focus-group-header i {
    margin-right: 10px;
    /* margin-top: 5px; */
    /* margin-left: -1px; */
    float: left;
}

.focus-group-items {
    padding: 5px 0 0;
    /* background: var(--white); */
}

.okrs-page .focus-group-items {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.okrs-page .focus-group-items .value-item {
    /* flex: 1; */
    width: calc(50% - 5px);
    margin: 0!important;
}

.focus-settings .focus-group-items {
    padding-top: 2px;
}

.strategy-page .centered-page.strategy\.focuses {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.focuses-list > .focus-group-items > div {
    display: flex;
    width: calc(50% - 5px);
    background-color: var(--white);
    padding: 40px;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-tiny);
}

.focus-settings .focus-group > .focus-group-items {
    background: var(--light-glass);
    /* margin-top: 5px; */
    margin-bottom: 5px;
    padding: 40px;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    border: none!important;
    transition: background-color .5s ease-in-out;
    height: 100%;
}

.focus-settings .focus-group > .focus-group-items:hover {
    background-color: var(--white);
}

.focus-group-items .focus-group.mb-12 {
    margin-bottom: 5px;
}

.strategy\.focuses .focus-group-items {
    /* padding: 40px; */
    /* background-color: var(--light-glass); */
    /* box-shadow: var(--box-shadow); */
}

.focuses-list > .focus-group-items {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.strategy\.focuses .focus-group-items .focus-group.mb-12:hover {
    background-color: var(--white);
}

.strategy\.focuses .focus-group-items .focus-group.mb-12 .focus-group-header, .strategy\.focuses .focus-group-items .focus-group.mb-12 .focus-group-items {
    margin-top: 0;
    background-color: transparent;
    padding: 0;
    box-shadow: none;
}

.strategy\.focuses .focus-group-items .focus-group.mb-12 .focus-group-header {
    display: flex;
    align-items: center;
    gap: 5px;
}

.focus-group-items .value-item {
    padding: 12px 0;
    background-color: var(--white);
}

.focus-group-items .value-item:hover {
    background-color: var(--white);
}

.focus-group-items .value-item:last-child {
    padding-bottom: 0;
}

.focus-group-items .value-item:first-child {
    padding-top: 0;
}

.focus-group-items .empty-state {
    padding: 20px 0;
    text-align: center;
    font-size: 13px;
    font-style: italic;
}

/* Program group styles (reuse focus-group pattern) */
.program-group {
    margin-bottom: 5px;
    border-radius: var(--border-radius-tiny);
    /* overflow: hidden; */
    box-shadow: var(--box-shadow);
    background-color: var(--white);
    padding: 40px;
    box-shadow: var(--box-shadow);
    transition: background-color .4s ease-in-out;
}

.dark .program-group {
    box-shadow: var(--box-shadow);
}

.program-group:hover {
    background-color: var(--white)!important;
}

.program-group-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
    /* background: var(--white); */
    font-weight: 400;
    font-size: 14px;
    color: var(--black);
}

.dark .program-group-header {border-bottom-color: var(--border);}

.program-group-header i {
    font-size: 18px;
    color: #9C27B0;
}

.program-group-items {
    padding: 5px 0 0;
    /* background: var(--white); */
}

.program-group-items > div:first-child {
    margin-top: 5px!important;
}

.program-group-group .program-group-items > div:first-child {
    margin: 0!important;
}

.initiatives-page .program-group-items {
    margin-bottom: 50px!important;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.initiatives-page .program-group-items > .value-item {
    width: calc(50% - 5px);
}

.program-group-items .value-item {
    padding: 12px 0;
    /* border-bottom: 1px solid var(--light-border); */
}

.initiatives-page .program-group-items .value-item {
    background-color: var(--white);
}

.initiatives-page .program-group-items .value-item:hover {
    background-color: var(--white);
}

.program-group-items .value-item:last-child {
    padding-bottom: 0;
}

.program-group-items .value-item:first-child {
    padding-top: 0;
}

.program-group-items .empty-state {
    padding: 20px 0;
    text-align: center;
    font-size: 13px;
    font-style: italic;
}

/* Linked items display */
.linked-items {
    margin-top: 10px;
    padding-left: 0px;
    /* border-left: 2px solid var(--background-color); */
    transition: all .3s ease-in-out;
}

.program-group-items .linked-items {
    margin-top: 0;
}

.value-item:hover .linked-items {
    border-color: var(--background-color);
}

.focus-settings .focus-group > .focus-group-items:hover .linked-items {
    border-color: var(--background-color);
}

.program-group:hover .linked-items {
    border-color: var(--background-color);
}

.strategy\.pillars .linked-items {
    margin-top: 25px;
    margin-bottom: 0px;
}

.linked-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0px 15px;
    height: 50px;
    font-size: 13px;
    gap: 10px;
    color: var(--black);
    background-color: var(--light-glass);
    margin-bottom: 1px;
    cursor: pointer;
}

.linked-item:first-child {
    border-top-left-radius: 5px!important;
    border-top-right-radius: 5px!important;
}

.linked-item:last-child {
    border-bottom-left-radius: 5px!important;
    border-bottom-right-radius: 5px!important;
}

.linked-items .linked-item {
    background-color: var(--background-color)!important;
}

.linked-items .linked-item:hover {
    background-color: var(--hover-item)!important;
}

.linked-items .linked-item:last-child {
    border-bottom-left-radius: 5px!important;
    border-bottom-right-radius: 5px!important;
}

.dark .linked-items .linked-item {
}

.strategy-detail-section:hover .linked-items {
    border-color: var(--background-color);
}

.strategy-detail-section:hover .linked-item {
    /* background-color: var(--background-color)!important; */
}

.strategy-detail-section:hover .linked-items {}

.focus-group:hover .linked-items .linked-item, .value-item:hover .linked-items .linked-item {
    /* background-color: var(--background-color)!important; */
}

.program-group:hover .linked-items .linked-item {
    background-color: var(--background-color)!important;
}

.linked-item:hover span {}

.linked-item i {
    font-size: 14px;
    color: var(--primary);
}

/* Multi-select chips for admin forms */
.goal-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.goal-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: var(--subtle);
    border: 1px solid var(--border);
    border-radius: 16px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.goal-chip:hover {
    background: var(--extra-light);
}

.goal-chip.selected {
    background: rgba(25, 118, 210, 0.1);
    border-color: var(--primary);
    color: var(--primary);
}

.goal-chip i {
    font-size: 14px;
}

/* Goal selector panel for Programs admin */
.program-item-wrapper {
    /* border-bottom: 1px solid var(--border); */
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.programs-editor .program-item-wrapper {
    margin-bottom: -10px;
}

.program-item-wrapper:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.linked-goals-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    padding: 8px 12px;
    /* background: var(--subtle); */
    border-radius: var(--border-radius-tiny);
    font-size: 13px;
    transition: background 0.2s ease;
}

.linked-goals-toggle:hover {
    background: var(--extra-light);
}

.linked-goals-toggle i {
    font-size: 18px;
    color: var(--light-text);
}

.goal-selector-panel {
    padding: 16px 20px;
    margin-top: 10px;
    background: var(--subtle);
    border-radius: var(--border-radius-tiny);
    border: 1px solid var(--border);
}

.goal-selector-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--light-text);
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Initiative program selector */
.initiative-item-wrapper {
    /* border-bottom: 1px solid var(--border); */
    padding: 0;
}

.initiative-item-wrapper .text-field textarea {
    max-height: 50px!important;
    min-height: 50px!important;
    padding: 0 20px!important;
    display: inline-flex;
    align-items: center;
    padding-top: 15px!important;
}

.initiative-item-wrapper:last-child {
    border-bottom: none;
}

.initiative-details {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.initiative-main {
    flex: 1;
}

.initiative-program-select {
    min-width: 200px;
}

/* ============================================
   HIERARCHICAL TREE NODES
   ============================================ */

.tree-nodes-hierarchical {
    flex-direction: row;
    align-items: stretch;
}

.tree-node-group:last-child {
    margin-bottom: 0;
}

.tier-vision .tree-node-group.flex-between {
    gap: 30px;
}

.tree-node-group .tree-node {
    max-width: 100%;
    flex: none;
}

.tree-node.node-program {
    margin-bottom: 20px;
    transform: none;
    transition: none;
}

.tier-vision .tree-node.node-values {
    min-width: 300px;
    padding: 40px;
}

.tree-node.node-pillar {
    margin-bottom: 20px;
    z-index: 9;
}

.tree-node.node-pillar {
    transform: none!important;
}

.tree-node.node-pillar:hover .node-title {
    color: var(--primary);
}

/* Nested nodes container */
.nested-nodes {
    display: flex;
    margin-top: 0;
    /* margin-left: 30px; */
    position: relative;
}

.nested-connector {
    width: 1px;
    background: var(--xwhite);
    border-radius: 1px;
    margin-right: 20px;
    /* margin-top: -20px; */
    min-height: 30px;
    height: 100%!important;
    /* display: none; */
    position: absolute;
    left: 50%;
    display: none;
}

.tier-programs .nested-connector {
    margin-top: -20px;
}

.tier-pillars .nested-connector {
    top: -20px;
    height: 25px;
    z-index: 0;
}

.nested-items {
    /* flex: 1; */
    display: flex;
    gap: 20px;
    flex-direction: row;
    /* padding: 5px 0 0; */
    z-index: 999;
    /* border-radius: var(--border-radius-tiny); */
    /* overflow: hidden; */
    /* box-shadow: var(--box-shadow); */
    align-items: flex-start;
}

.nested-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0px;
    padding: 10px 16px;
    margin-bottom: 5px;
    /* box-shadow: var(--box-shadow); */
    /* background: var(--light-glass); */
    /* border-radius: var(--border-radius-tiny); */
    font-size: 13px;
    color: var(--black);
    cursor: pointer;
    transition: all 0.2s ease;
    z-index: 9999999999;
    position: relative;
}

.nested-node::after {
    content: ' ';
    width: 3px;
    height: 20px;
    position: absolute;
    top: -20px;
    background-color: var(--white);
    z-index: 9;
}

.nested-node a {
    color: var(--black);
}

.nested-node:last-child {
    margin-bottom: 0;
}

.nested-node:hover {
    /* background: var(--white); */
    /* border-color: var(--primary); */
    /* transform: translateX(4px); */
}

.nested-node:hover .nested-focus-header {
    border-bottom-color: var(--border);
}

.nested-node i {
    font-size: 16px;
    color: var(--primary);
    flex-shrink: 0;
}

.okr-sub-item i.nested-expand-icon {
    /* margin-top: 2px; */
}

.nested-node span {
    /* flex: 1; */
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
}

/* General/unassigned node styling */
.tree-node.node-general {
    background: var(--subtle);
    border: 1px dashed var(--border);
}

.tree-node.node-general:hover {
    border-style: solid;
}

/* Tier-specific nested node colors */
.tier-focuses .nested-node i {
    color: #FF9800;
}

.tier-programs .nested-node i {
    color: var(--primary);
    /* margin-top: 2px; */
    margin-left: 5px;
    margin-right: 4px;
}

i.nested-expand-icon {
    cursor: pointer;
    user-select: none;
    margin-right: 0!important;
    line-height: normal;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .nested-nodes {
        margin-left: 16px;
    }

    .nested-node {
        padding: 8px 12px;
        font-size: 12px;
    }

    .nested-connector {
        margin-right: 12px;
    }
}

/* ============================================
   HEALTH COLORS (CSS variables via root)
   ============================================ */

:root {
    --health-green:  #4CAF50;
    --health-yellow: #FF9800;
    --health-red:    #f44336;
    --health-gray:   #9E9E9E;
}

/* ============================================
   NODE HEADER ROW (title + health dot inline)
   ============================================ */

.node-header-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
}

.strategy-page .node-header-row {
    margin-bottom: 0;
}

.node-pillar .node-header-row .ml-auto {
    font-size: 11px;
}

.node-header-row .node-title {
    margin-bottom: 0;
    flex: 1;
    color: var(--black);
    padding-right: 30px;
}

/* ============================================
   HEALTH DOTS
   ============================================ */

.node-health-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 2px;
}

.inline-flex-wrap .node-health-dot {
    margin-left: 5px;
}

.work-project-card .node-health-dot {
    margin-top: 4px;
}

.health-dot-sm {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

.nested-node-health.health-dot-sm {
    margin-top: 0px;
}

.nested-focus-header .nested-node-health {
    margin-top: 5px;
}

.node-health-dot.health-on-track,
.health-dot-sm.health-on-track {
    background-color: var(--health-green);
    box-shadow: 0 0 4px rgba(76, 175, 80, 0.5);
}

.tree-node.node-program .node-health-dot {
    margin-top: 6px;
}

.nested-node-header .nested-node-health.health-dot-sm.health-on-track {
    /* margin-top: 6px; */
}

.node-health-dot.health-at-risk,
.health-dot-sm.health-at-risk {
    background-color: var(--health-yellow);
    box-shadow: 0 0 4px rgba(255, 152, 0, 0.5);
}

.node-health-dot.health-off-track,
.health-dot-sm.health-off-track {
    background-color: var(--warning);
    /* box-shadow: 0 0 4px rgba(244, 67, 54, 0.5); */
}

.node-health-dot.health-no-data,
.health-dot-sm.health-no-data {
    background-color: var(--health-gray);
    opacity: 0.5;
}

/* ============================================
   PROGRESS BARS
   ============================================ */

.node-progress-bar {
    height: 2px;
    background: var(--border);
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: 8px;
}

.node-progress-bar.node-progress-bar-spacing {
    margin-bottom: 25px;
}

.node-program .node-progress-bar {
    margin-top: 10px!important;
    margin-bottom: 11px;
}

.node-pillar .node-progress-bar {
    margin-top: 10px;
    margin-bottom: 0px;
}

.node-progress-fill {
    height: 100%;
    border-radius: 2px;
    transition: width 0.6s ease;
    background-color: var(--primary);
}

.node-progress-fill.health-fill-on-track {
    background-color: var(--health-green);
}

.node-progress-fill.health-fill-at-risk {
    background-color: var(--health-yellow);
}

.node-progress-fill.health-fill-off-track {
    background-color: var(--health-red);
}

.node-progress-fill.health-fill-no-data {
    background-color: var(--health-gray);
    opacity: 0.4;
}

.node-progress-empty .node-progress-fill {
    width: 0%;
}

/* ============================================
   NODE STATS ROW (badge chips)
   ============================================ */

.node-stats {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}

.node-stat-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 11px;
    color: var(--light-text);
    background: var(--light-white);
    padding: 2px 7px;
    border-radius: 3px;
    transition: all .5s ease-in-out;
    letter-spacing: normal;
}

.strategy-detail-header:hover .node-stat-badge {
    background-color: var(--background-color)!important;
}

.tree-node:hover .node-stat-badge {
    background-color: var(--background-color);
}

.node-stat-badge i {
    font-size: 12px;
}

.node-stat-badge.node-stat-progress {
    font-weight: 500;
    color: var(--black);
}

/* ============================================
   EXPANDABLE NESTED NODES
   ============================================ */

.nested-node-expandable {
    padding: 0;
    cursor: default;
}

.nested-node-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 16px;
    cursor: pointer;
    border-radius: var(--border-radius-tiny);
    background: var(--white);
    /* border: 1px solid var(--white); */
    transition: all 0.3s ease;
    width: 100%;
    min-height: 50px;
    box-shadow: var(--box-shadow);
}

.nested-node-header:hover {
    background-color: var(--white)!important;
}

.dark .nested-node-header {
    /* background-color: var(--light-glass); */
}

.nested-node-header:hover {
    background: var(--white);
    /* border-color: var(--primary); */
}

.nested-node-name {
    flex: 1;
    font-size: 13px;
    line-height: 19px;
    color: var(--black);
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
}

.nested-node-health {
    flex-shrink: 0;
}

.nested-node-initiative .nested-node-health {
    /* margin-top: 6px; */
    margin-right: 4px;
    margin-left: 4px;
}

.okr-sub-item .nested-node-health {
    /* margin-top: 6px; */
    margin-left: auto;
}

.nested-node-pct {
    font-size: 11px;
    font-weight: 500;
    color: var(--light-text);
    flex-shrink: 0;
    min-width: 28px;
    text-align: right;
}

.nested-expand-icon {
    font-size: 16px;
    color: var(--icon-color);
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

/* ============================================
   PROJECT LIST DROPDOWN
   ============================================ */

.node-projects-dropdown {
    /* margin: 4px 0 6px 32px; */
    /* border-left: 2px solid var(--border); */
    /* padding-left: 12px; */
    animation: dropdownFadeIn 0.2s ease-out;
    width: 100%;
    border-radius: var(--border-radius-tiny);
    margin-top: 20px;
    position: relative;
}

.program-group-items .node-projects-dropdown {
    display: none;
}

.focus-settings .node-projects-dropdown {
    margin-top: 15px;
}

.pillar-detail .node-projects-dropdown {
    margin-top: 0!important;
}

.pillar-detail .node-projects-dropdown .linked-item-title {
    display: none;
}

@keyframes dropdownFadeIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.project-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    /* height: 40px; */
    /* line-height: 40px; */
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    transition: background 0.15s ease;
    margin-bottom: 5px;
    background-color: var(--extra-light);
    position: relative;
}

.program-group:hover .project-row {
    background-color: var(--background-color);
}

.focus-group:hover .project-row {
    background-color: var(--extra-light);
    margin-top: 1px;
}

.focus-group:hover .project-row:hover {
    background-color: var(--background-color);
    border-radius: 3px;
}

.project-row:hover {
    background: var(--white);
}

.node-projects-dropdown .project-row {
    background-color: var(--white);
    /* border-radius: 0; */
    box-shadow: var(--box-shadow);
}

.nested-node-okrs .node-projects-dropdown .project-row {
    padding: 14px 25px;
    /* margin-top: 5px; */
}

.node-projects-dropdown .project-row i {
    margin-left: 1px;
}

.node-projects-dropdown .project-row:hover {
    background-color: var(--hover-item)!important;
}

.dark .project-row:hover {
    background-color: var(--extra-light);
    border-radius: 0;
}

.project-row-name {
    font-size: 13px;
    color: var(--black);
    flex: 1;
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
    line-height: normal;
}

.project-row-bar {
    width: 60px;
    height: 2px;
    background: var(--border);
    border-radius: 2px;
    overflow: hidden;
    flex-shrink: 0;
}

.dark .project-row-bar {
    /* background-color: var(--white); */
}

.project-row:hover .project-row-bar {
    background-color: var(--white);
}

.project-row-fill {
    height: 100%;
    background: var(--primary);
    border-radius: 2px;
    transition: width 0.4s ease;
}

.project-row-pct {
    font-size: 11px;
    color: var(--light-text);
    min-width: 28px;
    text-align: right;
    flex-shrink: 0;
    max-width: 40px;
}

.project-row-more {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 8px;
    font-size: 12px;
    color: var(--primary);
    cursor: pointer;
    border-radius: var(--border-radius-tiny);
    transition: background 0.15s ease;
}

.project-row-more:hover {
    background: var(--extra-light);
}

.project-row-more i {
    font-size: 14px;
}

/* ============================================
   NODE TYPE ICON (pillar, program, etc.)
   ============================================ */

.node-type-icon {
    font-size: 15px;
    color: var(--icon-color);
    flex-shrink: 0;
    opacity: 0.7;
}

i.material-symbols-outlined.node-type-icon {
    color: var(--primary)!important;
    opacity: 1;
}

.node-pillar i.material-symbols-outlined.node-type-icon {
    margin-top: 2px;
}

.node-program i.material-symbols-outlined.node-type-icon {
    margin-top: 2px;
}

/* ============================================
   STRATEGY PROJECT LIST COMPONENT
   (strategy-project-list.html)
   ============================================ */

.strategy-node-projects {
    width: 100%;
    position: relative;
}

.strategy-node-progress-row {
    width: 100%;
}

.strategy-node-project-summary {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0 4px;
    cursor: pointer;
    border-radius: var(--border-radius-tiny);
    transition: background 0.15s ease;
}

.strategy-node-project-summary:hover {
    /* background: var(--extra-light); */
}

.strategy-node-project-summary .node-progress-bar {
    width: 56px;
    flex-shrink: 0;
    margin-bottom: 0;
    background-color: var(--extra-light);
    transition: background-color .4s ease-in-out;
}

.focus-group:hover .strategy-node-project-summary .node-progress-bar {
    background-color: var(--extra-light);
}

.strategy-node-stats-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    flex-wrap: wrap;
}

.project-toggle-icon {
    font-size: 14px;
    vertical-align: middle;
    opacity: 0.6;
}

.no-projects-badge {
    color: var(--light-text);
    font-style: italic;
}

/* ============================================
   STALE INDICATOR
   ============================================ */

.stale-indicator {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 11px;
    color: var(--health-yellow);
}

.stale-indicator i {
    font-size: 13px;
}

/* ============================================
   CHECK-IN OVERDUE BADGE
   ============================================ */

.check-in-overdue {
    display: inline-flex;
    align-items: center;
    color: var(--health-yellow);
    font-size: 11px;
    gap: 5px;
    margin-left: auto;
}

.check-in-overdue i {
    color: var(--health-yellow);
}

.check-in-overdue i {
    font-size: 14px;
}

/* ============================================
   TIER LABEL ALERT
   ============================================ */

.tier-label-alert {
    font-size: 12px;
    color: var(--health-yellow);
    padding: 0;
    padding-top: 1px;
    margin-left: 0;
    font-family: Sora, sans-serif;
    line-height: unset;
    margin-top: -4px;
}

/* ============================================
   TIER-SPECIFIC NODE STYLES
   ============================================ */

.tier-pillars .node-health-dot.health-on-track {
    box-shadow: 0 0 6px rgba(76, 175, 80, 0.6);
}

.tier-pillars .node-health-dot {
    margin-top: 7px;
}

.tier-okrs .tier-label i { color: #FF9800; }

.tier-okrs .tree-node:hover {
    box-shadow: 0 12px 40px rgba(255, 152, 0, 0.12), 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* ============================================
   LOADING STATE
   ============================================ */

.strategy-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    gap: 16px;
}

.loading-pulse {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 3px solid var(--border);
    border-top-color: var(--primary);
    animation: spinPulse 1s linear infinite;
}

@keyframes spinPulse {
    to { transform: rotate(360deg); }
}

.loading-text {
    font-size: 13px;
}

/* ============================================
   STRATEGY BREADCRUMB (project pages)
   ============================================ */

.strategy-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 10px;
    /* font-size: 12px; */
}

.strategy-breadcrumb-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--light-text);
    cursor: pointer;
    /* padding: 0px 6px; */
    /* border-radius: 4px; */
    transition: all 0.15s ease;
    width: 100%;
}

.overview-meta .meta-data .strategy-breadcrumb-item i {
    margin-right: 5px;
    color: var(--primary);
}

.strategy-breadcrumb-item:hover {
    color: var(--primary);
    /* background: var(--extra-light); */
    text-decoration: underline;
}

.strategy-breadcrumb-item .breadcrumb-type {
    font-size: 10px;
    text-transform: uppercase;
    color: var(--light-text);
}

.strategy-breadcrumb-item .breadcrumb-type i {
    font-size: 13px;
}

.strategy-breadcrumb-item .breadcrumb-name {
    color: var(--black);
}

.strategy-breadcrumb-item:hover .breadcrumb-name {
    color: var(--primary);
}

.strategy-breadcrumb-sep {
    color: var(--light-text);
    font-size: 14px;
    user-select: none;
    padding-right: 6px;
    display: none;
}

/* ============================================
   STRATEGY PULSE WIDGET (dashboard)
   ============================================ */

.strategy-pulse-widget {
    background: var(--white);
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    padding: 24px 28px;
    margin-bottom: var(--item-margin);
}

.strategy-pulse-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.strategy-pulse-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--black);
}

.strategy-pulse-title .node-health-dot {
    width: 10px;
    height: 10px;
}

.strategy-pulse-link {
    font-size: 12px;
    color: var(--primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 3px;
}

.strategy-pulse-link i {
    font-size: 14px;
}

.strategy-pulse-pillars {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.strategy-pulse-pillar {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    min-width: 120px;
    background: var(--subtle);
    border-radius: var(--border-radius-tiny);
    padding: 8px 12px;
}

.strategy-pulse-pillar-name {
    flex: 1;
    font-size: 12px;
    font-weight: 500;
    color: var(--black);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.strategy-pulse-pillar-bar {
    width: 40px;
    height: 3px;
    background: var(--border);
    border-radius: 2px;
    overflow: hidden;
}

.strategy-pulse-pillar-fill {
    height: 100%;
    border-radius: 2px;
}

.health-fill-on-track  { background-color: var(--health-green); }
.health-fill-at-risk   { background-color: var(--health-yellow); }
.health-fill-off-track { background-color: var(--health-red); }
.health-fill-no-data   { background-color: var(--health-gray); opacity: 0.4; }

.strategy-pulse-summary {
    font-size: 12px;
    color: var(--light-text);
    margin-bottom: 12px;
}

.strategy-pulse-summary .at-risk-count {
    color: var(--health-yellow);
    font-weight: 600;
}

.strategy-pulse-my-programs {
    border-top: 1px solid var(--light-border);
    padding-top: 12px;
    margin-top: 12px;
}

.strategy-pulse-my-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--light-text);
    margin-bottom: 8px;
}

.strategy-pulse-my-program {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 0;
}

.strategy-pulse-my-program-name {
    flex: 1;
    font-size: 12px;
    color: var(--black);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ============================================
   STRATEGY ALIGNMENT BADGE (projects)
   ============================================ */

.strategy-alignment-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    padding: 2px 7px;
    border-radius: 10px;
    font-weight: 500;
    cursor: default;
}

.strategy-alignment-badge i {
    font-size: 13px;
}

.alignment-full {
    background: rgba(76, 175, 80, 0.12);
    color: var(--health-green);
}

.alignment-good {
    background: rgba(33, 150, 243, 0.1);
    color: var(--primary);
}

.alignment-partial {
    background: rgba(255, 152, 0, 0.12);
    color: var(--health-yellow);
}

.alignment-none {
    background: var(--subtle);
    color: var(--light-text);
}

/* ============================================
   OKR CHECK-IN FORM
   ============================================ */

.okr-checkin-panel {
    background: var(--subtle);
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    padding: 20px 24px;
    margin-top: 12px;
    animation: dropdownFadeIn 0.2s ease-out;
}

.okr-checkin-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--light-text);
    margin-bottom: 14px;
}

.okr-checkin-slider-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.okr-checkin-slider-label {
    font-size: 12px;
    color: var(--light-text);
    min-width: 80px;
}

.okr-checkin-slider-row input[type="range"] {
    flex: 1;
}

.okr-checkin-slider-val {
    font-size: 13px;
    font-weight: 600;
    color: var(--black);
    min-width: 32px;
    text-align: right;
}

.okr-checkin-status-row {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.okr-checkin-status-btn {
    padding: 5px 12px;
    font-size: 12px;
    border-radius: 4px;
    border: 1px solid var(--border);
    background: var(--white);
    cursor: pointer;
    transition: all 0.15s ease;
}

.okr-checkin-status-btn:hover {
    border-color: var(--primary);
}

.okr-checkin-status-btn.active-on-track {
    background: rgba(76, 175, 80, 0.12);
    border-color: var(--health-green);
    color: var(--health-green);
}

.okr-checkin-status-btn.active-at-risk {
    background: rgba(255, 152, 0, 0.12);
    border-color: var(--health-yellow);
    color: var(--health-yellow);
}

.okr-checkin-status-btn.active-off-track {
    background: rgba(244, 67, 54, 0.12);
    border-color: var(--health-red);
    color: var(--health-red);
}

.okr-checkin-note {
    width: 100%;
    font-size: 13px;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--white);
    resize: vertical;
    min-height: 60px;
    margin-bottom: 12px;
    color: var(--black);
}

.okr-checkin-note:focus {
    outline: none;
    border-color: var(--primary);
}

.okr-checkin-save {
    display: flex;
    justify-content: flex-end;
}

.okr-checkin-save .btn.btn-small {
    color: vaR(--primary);
}

.okr-checkin-save .btn.btn-small:hover {
    color: var(--awhite);
}

/* ============================================
   STRATEGY LANDING PAGE HEALTH BAR
   ============================================ */

.strategy-health-bar {
    padding: 16px 20px;
    margin-bottom: var(--item-margin);
}

.strategy-health-headline {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.strategy-health-label {
    font-size: 13px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.strategy-health-warning {
    color: var(--health-yellow);
}

.strategy-health-cta {
    height: 32px;
    line-height: 32px;
    font-size: 12px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.strategy-health-cta .material-symbols-outlined {
    font-size: 14px;
}

.strategy-health-pillars {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.strategy-health-pillar-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    background: var(--subtle);
    border-radius: 20px;
    font-size: 12px;
    color: var(--black);
    cursor: pointer;
    transition: background 0.15s ease;
}

.strategy-health-pillar-chip:hover {
    background: var(--extra-light);
}

/* ============================================
   PROFILE STRATEGY ALIGNMENT SECTION
   ============================================ */

.focus-strategy-alignment {
    padding: 20px 24px;
    margin-bottom: var(--item-margin);
}

.focus-strategy-programs-list {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.focus-strategy-program-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    cursor: pointer;
    border-bottom: 1px solid var(--light-border);
    transition: opacity 0.15s ease;
}

.focus-strategy-program-item:last-child {
    border-bottom: none;
}

.focus-strategy-program-item:hover {
    opacity: 0.8;
}

.focus-strategy-okr-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    cursor: pointer;
    border-bottom: 1px solid var(--light-border);
    transition: opacity 0.15s ease;
}

.focus-strategy-okr-item:last-child {
    border-bottom: none;
}

.focus-strategy-okr-item:hover {
    opacity: 0.8;
}

.focus-strategy-alignment-score {
    margin-top: 8px;
}

.focus-strategy-link {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--primary);
    text-decoration: none;
    font-size: 12px;
}

.focus-strategy-link i {
    font-size: 14px;
}

/* ============================================
   STRATEGY UTILITY CLASSES
   ============================================ */

.no-margin    { margin: 0; }
.ml-auto      {margin-left: auto!important;}

.program-group-header .ml-auto {
    display: flex;
    align-items: center;
    gap: 10px;
    /* box-shadow: var(--box-shadow); */
    background: transparent;
}
.flex-1       { flex: 1; }
.mt-4         { margin-top: 4px; }
.mt-8         { margin-top: 8px; }
.mt-10        { margin-top: 10px; }
.mt-12        { margin-top: 12px; }
.mb-4         { margin-bottom: 4px; }
.mb-8         { margin-bottom: 8px; }
.mb-12        { margin-bottom: 12px; }
.mb-16        { margin-bottom: 16px; }

/* Row: icon + content side by side, aligned top */
.strategy-item-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.strategy-item-row .tiny.primary {
    margin-left: 2px;
    margin-right: 14px;
    margin-top: 2px;
}

/* Strategy item title (15px, 500 weight, fills remaining space) */
.strategy-item-title {
	font-size: 15px;
	font-weight: 500;
	flex: 1;
	color: var(--black)!important;
}

/* Node progress bar spacing */
.node-progress-bar-spacing {
	margin: 10px 0;
}

/* Inline clickable check-in toggle (before the history toggle) */
.checkin-toggle {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background-color: transparent;
	color: var(--primary);
	font-size: 12px;
}

.value-item:hover .node-stat-badge.checkin-toggle {
    background-color: transparent!important;
}

.node-stat-badge.checkin-toggle:hover {
    background-color: transparent!important;
}

.strategy-detail-section:hover .node-stat-badge.checkin-toggle {
    background-color: var(--background-color);
}

.checkin-toggle .material-symbols-outlined,
.checkin-toggle-icon {
	font-size: 13px;
}

/* Health pulse indicator (small inline icon) */
.health-pulse-icon {
	font-size: 14px;
	vertical-align: middle;
}

/* Check-in overdue text color */
.checkin-alert-text {
	color: var(--health-yellow)!important;
}

/* ============================================
   HEALTH TREND ROW
   ============================================ */

.health-trend-row {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: absolute;
	top: 25px;
	left: 30px;
	right: 30px;
	gap: 16px;
	padding: 30px;
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	box-shadow: var(--box-shadow);
	margin: 0 0 16px;
	border: none;
	max-width: 190px;
	z-index: 999999999;
	display: none;
}

.health-trend-label {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 90px;
}

.health-trend-title {
	font-size: 12px;
	font-weight: 500;
	color: var(--text);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.health-trend-weeks {
	font-size: 11px;
}

.health-trend-chart {
	flex: 1;
	min-width: 60px;
	max-width: 100%;
}

.health-trend-chart svg {
    max-width: 100%;
    width: 100%;
    min-height: 74px;
}

.health-trend-sparkline {
	overflow: visible;
	display: block;
}

.sparkline-ref-line {
	stroke-width: 0.5;
	stroke-dasharray: 2 3;
}

.sparkline-ref-good {stroke: var(--good);opacity: 0.4;}
.sparkline-ref-warn  {stroke: var(--orange);opacity: .4;}
.sparkline-ref-bad   {stroke: var(--warning);opacity: .4;}

.sparkline-health {
	stroke: var(--primary);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.health-trend-dot-row {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
}

/* ============================================
   AI ALIGNMENT SUGGESTION
   ============================================ */

.ai-align-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	font-size: 13px;
	color: var(--primary);
	padding: 6px 10px;
	border: 1px solid var(--primary);
	border-radius: var(--border-radius-xs);
	margin: -10px 0 10px;
	transition: background 0.15s ease, color 0.15s ease;
}

.ai-align-btn i {
    color: var(--primary);
}

.ai-align-btn:hover i {
    color: var(--awhite);
}

.ai-align-btn:hover {
	background: var(--primary);
	color: #fff;
}

.ai-align-btn .material-symbols-outlined {
	font-size: 15px;
}

.ai-align-loading {
	opacity: 0.65;
	cursor: default;
}

.ai-align-error {
	color: var(--health-red, #e53935);
	font-size: 12px;
	margin: 4px 0;
}

.ai-align-result {
	margin: 8px 0 12px;
	padding: 12px 14px;
	border-left: 3px solid var(--primary);
	background: var(--card-bg, #fff);
}

.ai-align-result-header {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 500;
	margin-bottom: 8px;
}

.ai-align-result-header .material-symbols-outlined {
	font-size: 16px;
	color: var(--primary);
}

.ai-align-confidence {
	font-weight: 400;
	color: var(--text-mid);
	font-size: 12px;
}

.ai-align-result-chain {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 8px;
}

.ai-align-chip {
	font-size: 12px;
	padding: 2px 8px;
	border-radius: 10px;
	background: var(--light-bg, #f5f5f5);
	color: var(--text);
}

.ai-align-result-reasoning {
	font-size: 12px;
	margin-bottom: 10px;
	font-style: italic;
}

.ai-align-result-actions {
	display: flex;
	gap: 8px;
}

/* ============================================
   CONFIDENCE BADGE
   ============================================ */

.confidence-badge {
	display: inline-block;
	align-items: center;
	gap: 2px;
	font-size: 10px;
	font-weight: 500;
	padding: 1px 5px;
	border-radius: 10px;
	width: auto!important;
}

.okr-sub-item .confidence-badge {
    flex: none;
    padding-right: 10px;
    display: flex;
    margin-left: 10px;
}

.confidence-badge .material-symbols-outlined {
	font-size: 12px;
}

.confidence-low i.material-symbols-outlined {
    color: var(--health-yellow, #e6a817);
    float: left;
    margin-left: 5px!important;
    margin-right: 5px!important;
    font-size: 13px!important;
}

.confidence-low {
	background: var(--background-color);
	color: var(--health-yellow, #e6a817);
}

.confidence-low i {
    color: var(--health-yellow)!important;
}

/* ============================================
   OKR CHECK-IN HISTORY
   ============================================ */

.okr-history-toggle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	cursor: pointer;
	font-size: 12px;
	color: var(--primary);
	margin-top: 6px;
	padding: 2px 0;
	transition: color 0.15s ease;
}

.okr-history-toggle:hover {
	color: var(--primary);
}

.okr-history-toggle .material-symbols-outlined {
	font-size: 14px;
}

.okr-history-panel {
	margin-top: 8px;
	/* border-left: 2px solid var(--light-border); */
	/* padding-left: 10px; */
}

.okr-history-loading {
	font-size: 12px;
	color: var(--text-mid);
	padding: 6px 0;
}

.okr-history-empty {
	font-size: 12px;
	color: var(--text-mid);
	padding: 4px 0;
}

.okr-history-sparklines {
	display: flex;
	gap: 5px;
	margin-bottom: 5px;
}

.okr-history-sparkline-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	width: 50%;
	padding: 15px;
	background-color: var(--background-color);
	border-radius: var(--border-radius-tiny);
}

.okr-history-sparkline-wrap svg {
    width: 100%;
}

.okr-history-sparkline-label {
	font-size: 10px;
	color: var(--text-mid);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.okr-history-sparkline {
	overflow: visible;
}

.sparkline-line {
	stroke-width: 1.5;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sparkline-progress {
	stroke: var(--primary);
}

.sparkline-confidence {
	stroke: var(--health-yellow);
}

.okr-history-list {
	display: flex;
	flex-direction: column;
	gap: 0px;
}

.okr-history-item {
	padding: 20px;
	background-color: var(--background-color);
	margin-bottom: 1px;
}

.okr-history-item:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.okr-history-item:last-child {
    border-bottom-left-radius: var(--border-radius-tiny);
    border-bottom-right-radius: var(--border-radius-tiny);
}

.okr-history-item:last-child {
	border-bottom: none;
}

.okr-history-item-header {
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 2px;
	margin-bottom: 10px;
}

.focus-group-items .okr-history-item-header {
    flex-direction: row;
    width: 100%;
    align-items: center;
    gap: 5px;
}

.focus-group-items .okr-history-item-header .node-health-dot {
    margin-left: auto;
}

.okr-history-item-header .flex-between {
    width: 100%;
    align-items: center;
    gap: 3px;
}

.okr-history-date {
	font-size: 12px;
	/* font-weight: 500; */
	color: var(--light-text);
}

.okr-history-author {
	font-size: 11px;
}

.okr-history-item-stats {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 3px;
}

.okr-history-item-stats .node-stat-badge {
    background-color: var(--white)!important;
    padding: 5px!important;
}

.okr-history-note {
	font-size: 12px;
	/* font-style: italic; */
	margin-top: 3px;
	color: var(--black)!important;
}

/* ============================================
   WATERFALL TREE: NESTED FOCUS + OKR STYLES
   ============================================ */

/* Pillar and program name typography */
.strategy-pillar-title {
	font-size: 15px;
	font-weight: 500;
}

.strategy-program-name {
	font-weight: 500;
}

/* mb-4 and mb-8 utility classes */
.mb-4 { margin-bottom: 4px; }
.mb-8 { margin-bottom: 8px; }

/* Initiative item layout (replaces inline flex) */
.initiative-item-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.initiative-item-row .value-title i {
    font-size: 17px;
    align-items: center;
    line-height: normal;
    color: var(--primary);
    margin-right: 10px;
}

.initiative-item-row .value-title:hover span {
    color: var(--primary)!important;
    cursor: pointer;
}

.initiative-health-dot {
	margin-top: 4px;
}

/* Tier label sub-text arrows (Pillars → Focuses → OKRs) */
.tier-label-sub {
	/* font-size: 11px; */
	font-weight: 400;
	/* opacity: 0.6; */
	/* margin-left: 4px; */
}

/* Focus items nested inside a pillar's nested-items */
.nested-node-focus {
	display: flex;
	width: 100%;
	padding: 0px;
	margin-bottom: 20px;
}

.nested-node.nested-node-focus {}

.nested-focus-header {
	display: flex;
	gap: 10px;
	padding: 20px 25px 15px!important;
	/* margin-bottom: 2px; */
	cursor: pointer;
	transition: background 0.15s;
	font-size: 13px;
	line-height: 18px;
	font-weight: 500;
	width: 100%;
	/* border-bottom: 1px solid var(--light-border); */
	z-index: 99999999;
	position: relative;
	background-color: var(--white);
	border-radius: var(--border-radius-tiny);
	box-shadow: var(--box-shadow);
	margin-bottom: 20px;
}

.nested-focus-header:hover {
    background-color: var(--white)!important;
}

.nested-focus-header:hover .nested-node-name {
	/* background: var(--color-hover, rgba(0,0,0,0.04)); */
	color: var(--primary);
}

.nested-focus-header .material-symbols-outlined {
	font-size: 15px;
	/* opacity: 0.6; */
	margin-top: 1px;
	margin-right: 4px;
	display: inline-flex;
}

/* OKR sub-items nested inside a focus row */
.nested-node-okrs {
	/* margin-left: 32px; */
	/* border-left: 2px solid var(--light-border, #eeeeee); */
	margin-bottom: 5px;
	width: 100%;
	display: flex;
	gap: 20px;
}

.nested-node-okrs:last-child {
    margin-bottom: 0;
}

.okr-sub-item {
	/* display: flex; */
	/* flex-direction: column; */
	width: 100%;
	/* background-color: var(--light-glass); */
	/* color: var(--black); */
	/* border-radius: var(--border-radius-tiny)!important; */
	position: relative;
}

.nested-node-focus .nested-node-okrs .okr-sub-item.nested-node-expandable {
    /* flex-direction: row; */
    /* padding: 10px 0px; */
}

.okr-sub-item.nested-node-expandable {
}

.okr-sub-item:first-child {
    /* border-radius: 5px 5px 0 0; */
}

.okr-sub-item:last-child {
    /* border-radius: 0 0 5px 5px; */
}

.okr-sub-item a {
    color: var(--black);
}

.okr-sub-item:hover > .nested-node-header {
    /* background-color: var(--extra-light)!important; */
}

.dark .okr-sub-item:hover {
    /* background-color: var(--extra-light); */
}

.okr-sub-item .nested-node-header {
	padding: 10px 25px;
	/* font-size: 12px; */
	/* background-color: transparent; */
	border: none;
	/* border-radius: 0; */
	box-shadow: var(--box-shadow);
	z-index: 99;
}

.okr-sub-item .nested-node-header::before, .okr-sub-item .project-row::before, .node-projects-dropdown .project-row::before {
    width: 3px;
    height: 25px;
    position: absolute;
    content: ' ';
    background-color: var(--white);
    top: -25px;
    left: calc(50% - 1px);
    /* box-shadow: var(--box-shadow); */
    z-index: 0;
}

.okr-sub-item .material-symbols-outlined:first-child {
	font-size: 15px;
	/* opacity: 0.5; */
	/* margin-top: 4px; */
	/* margin-left: -2px; */
	/* margin-right: 5px; */
	color: var(--primary);
}

.selected.okr-sub-item .material-symbols-outlined {
    font-variation-settings: 'FILL' 0!important;
}

.okr-sub-item .check-in-overdue .material-symbols-outlined:first-child {
    color: var(--health-yellow);
}

.okr-sub-item .material-symbols-outlined:first-child i {}

/* ============================================
   ADMIN STRATEGY: SHARED LAYOUT UTILITIES
   ============================================ */

.admin-strategy-content {
	display: block;
	margin: 40px auto;
	width: calc(100% - 104px);
	max-width: 980px;
}

.okr-editor .admin-strategy-content {
    background: transparent;
    padding: 0;
}

.admin-section-heading {
	height: 40px;
	line-height: 40px;
}

.admin-row-flush {
	margin: 0 !important;
}

.okr-history-table-row.admin-row-flush {
    height: 40px;
    line-height: 40px;
}

.admin-history-toggle-label {
	cursor: pointer;
	margin: 0;
}

.admin-history-toggle-icon {
	font-size: 18px;
	vertical-align: middle;
	margin-left: 6px;
}

.admin-history-note-row {
	margin: 0 0 4px;
	padding: 4px 0;
	font-size: 12px;
	font-style: italic;
	color: var(--text-mid);
}

.admin-history-note-content {
	padding-left: 12px;
}

.admin-close-btn {
	font-size: 21px;
}

/* KR detail items on okr.html strategy detail page */
.kr-detail-item {
	align-items: flex-start !important;
}

.kr-detail-body {
	flex: 1;
	min-width: 0;
}

.kr-name {
	font-size: 13px;
	margin-bottom: 6px;
}

.result-item .kr-name {
    margin-bottom: 0;
}

.kr-metric-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.kr-progress-bar {
	flex: 1;
	min-width: 80px;
	max-width: 160px;
	margin-bottom: 0 !important;
}

.kr-progress-pct {
	font-size: 11px;
	font-weight: 300;
	color: var(--black);
	white-space: nowrap;
	float: right;
}

.kr-metric-values {
	font-size: 12px;
	white-space: nowrap;
	margin-left: 0!important;
}

.kr-check-icon {
	font-size: 18px;
	margin-top: 2px;
	flex-shrink: 0;
}

.kr-done {
	color: var(--success) !important;
}

.kr-pending {
	color: var(--sub-text) !important;
}

/* KR metric rows in admin OKR editor */
.kr-item {
	border: 1px solid var(--border);
	padding: 20px;
	margin-bottom: 5px;
	background-color: var(--bgc);
}

.dark .kr-item {
    background-color: var(--extra-light);
}

.kr-item select {
    display: flex;
}

.kr-item:last-of-type {
	border-bottom: none;
}

.kr-item-row {
	margin-bottom: 0 !important;
	align-items: center;
	position: relative;
}

.kr-item-row > .col {
    padding-right: 5px!important;
}

.kr-metrics-row {
	margin-top: 4px;
	margin-bottom: 0 !important;
	align-items: center;
}

.kr-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 20px;
	color: var(--sub-text);
	font-size: 14px;
}

.kr-boolean-row {
	padding-top: 6px;
	padding-bottom: 4px;
}

.kr-delete {
	cursor: pointer;
	color: var(--light-text);
	font-size: 18px;
	padding-top: 0px;
	display: block;
}

.kr-delete:hover {
	color: var(--warning);
}

.admin-section-heading-btn {
	cursor: pointer;
}

.admin-empty-padded {
	padding: 40px;
}

.admin-history-loading {
	padding: 10px 0;
}

.admin-checkin-dot {
	display: inline-block;
	margin-right: 4px;
}

.admin-programs-hint {
	padding: 0 12px 10px;
}

/* ============================================
   EMPTY STATES
   ============================================ */

.strategy-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 48px 24px;
	text-align: center;
	color: var(--color-sub-text, #9e9e9e);
}

.strategy-empty-state i.material-symbols-outlined {
	font-size: 48px;
	margin-bottom: 12px;
	opacity: 0.4;
}

.strategy-empty-state p {
	margin: 0 0 16px;
	font-size: 13px;
}

/* ============================================
   RESPONSIVE: overview mobile
   ============================================ */

@media (max-width: 768px) {
    .strategy-pulse-pillars {
        flex-direction: column;
    }

    .strategy-pulse-pillar {
        min-width: unset;
    }

    .node-projects-dropdown {
        margin-left: 16px;
    }
}


/* ============================================
   DETAIL PAGES (pillar / focus / okr / program / initiative)
   ============================================ */

/* Breadcrumb bar */
.strategy-detail-breadcrumb {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 10px 0 18px;
    font-size: 13px;
    color: var(--sub-text);
}

.strategy-detail-back {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sub-text);
    transition: color 0.15s;
    line-height: 1;
    background-color: var(--white);
    border-radius: 3px;
    height: 40px;
    width: 40px;
    text-align: center;
}

a.strategy-detail-back {
    text-decoration: none!important;
}

a.strategy-detail-back:hover {
    background-color: var(--primary);
    color: var(--awhite);
}

a.strategy-detail-back:hover i {
    color: var(--awhite);
}

.strategy-detail-back:hover {
    color: var(--primary);
}

.strategy-detail-back .material-symbols-outlined {
    font-size: 18px;
}

.strategy-detail-type-label {
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 400;
    color: var(--sub-text);
    /* text-transform: uppercase; */
    /* font-size: 11px; */
    /* letter-spacing: 0.5px; */
    background-color: var(--white);
    padding: 0 10px;
    border-radius: 3px;
    border: none;
    height: 40px;
    line-height: 40px;
    cursor: pointer;
    /* font-family: var(--nothing); */
    /* font-size: 17px; */
}

.strategy-detail-type-label-text:hover {
    color: var(--primary);
}

.strategy-detail-type-label .material-symbols-outlined {
    font-size: 14px;
}

.strategy-detail-sep {
    color: var(--black);
    padding: 0 5px;
}

.strategy-detail-name {
    color: var(--black);
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 400px;
    /* background-color: var(--light-glass); */
    /* padding: 0 10px; */
    border-radius: 3px;
    height: 40px;
    line-height: 40px;
}

/* Header card */
.strategy-detail-header {
    background: var(--white);
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    padding: 40px;
    margin-bottom: 5px;
}

.strategy-detail-header:hover, .strategy-detail-section:hover {
    background-color: var(--white);
}

.strategy-detail-section:hover .okr-history-item {
    background-color: var(--background-color);
    /* margin-bottom: 1px; */
}

.dark .strategy-detail-section:hover .okr-history-item {
    /* background-color: var(--extra-light); */
}

.strategy-detail-section:hover .strategy-detail-result{
    background-color: var(--background-color);
}

.strategy-detail-header, .strategy-detail-section {
    transition: background-color .4s ease-in-out;
}

.strategy-detail-header h5 {
    color: var(--black);
    font-size: 17px;
    font-weight: 400;
}

.strategy-detail-header-main {
    flex: 1;
}

.strategy-detail-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    /* margin-bottom: 30px; */
}

.pillar-detail .strategy-detail-title-row {
    margin-bottom: 0;
}

.strategy-detail-title {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
    flex: 1;
    color: var(--dark-text);
}

.strategy-detail-description {
    margin-bottom: 20px;
    color: var(--light-text);
}

.strategy-detail-header .strategy-detail-description {
    margin-bottom: 0;
}

.strategy-detail-header .ql-editor.strategy-detail-description {
    margin-bottom: 0;
}

.strategy-detail-meta-row {
    margin-top: 6px;
}

.strategy-detail-parent {
    display: flex;
    align-items: center;
    gap: 6px;
    /* margin-bottom: 10px; */
    font-size: 13px;
}

.strategy-detail-parent .sub-text {
    padding-bottom: 0!important;
    margin-bottom: 0;
}

.strategy-detail-parent-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--primary);
    font-weight: 500;
    transition: opacity 0.15s;
}

.strategy-detail-parent-link:hover {
    opacity: 0.75;
}

a.strategy-detail-parent-link i.material-symbols-outlined {
    font-size: 14px;
    text-decoration: none!important;
}

a.strategy-detail-parent-link:hover, a.strategy-detail-parent-link:hover i {
    text-decoration: none!important;
    color: var(--primary);
}

.strategy-detail-stats {
    margin-top: 0px;
    width: 100%;
}

/* Owner badge */
.strategy-owner-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    padding: 4px 10px 4px 6px;
    background: var(--extra-light);
    border-radius: 20px;
    font-size: 12px;
    color: var(--sub-text);
    line-height: 1;
}

.strategy-owner-avatar {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
}

.strategy-owner-avatar-icon {
    font-size: 16px;
    color: var(--sub-text);
    line-height: 20px;
}

.strategy-detail-edit-link {
    display: inline-flex;
    align-items: center;
    color: var(--sub-text);
    transition: color 0.15s;
    line-height: 1;
    margin-left: auto;
}

.strategy-detail-edit-link:hover {
    color: var(--primary);
}

.strategy-detail-edit-link .material-symbols-outlined {
    font-size: 18px;
}

/* Sections */
.strategy-detail-section {
    margin-bottom: 5px;
    background-color: var(--white);
    padding: 30px 40px 40px;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.strategy-detail-section-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0 10px;
    /* border-bottom: 1px solid var(--border); */
    /* margin-bottom: 12px; */
    font-weight: 400;
    font-size: 14px;
    color: var(--black);
    /* text-transform: uppercase; */
    letter-spacing: 0.4px;
}

.strategy-detail-section-header .material-symbols-outlined {
    font-size: 16px;
}

/* Context (child/parent entity lists) */
.strategy-detail-context {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.strategy-detail-context .node-results {
    margin-top: 4px;
}

.strategy-detail-linked-item {
    cursor: pointer;
    padding: 0px 15px;
    transition: background 0.15s;
    background-color: var(--background-color);
}

.dark .strategy-detail-linked-item {
    /* background-color: var(--extra-light); */
}

.strategy-detail-linked-item:hover {
    background: var(--hover-item)!important;
}

.strategy-detail-linked-item:hover {}

.strategy-detail-link-arrow {
    font-size: 16px;
    color: var(--sub-text);
    flex-shrink: 0;
}

.strategy-detail-result {
    padding: 20px;
    /* height: 50px; */
    /* min-height: 50px; */
    /* border-bottom: 1px solid var(--border); */
    align-items: revert-layer;
    vertical-align: middle;
    display: flex;
    align-items: center!important;
    gap: 10px!important;
    width: 100%;
}

.result-item.strategy-detail-result.kr-detail-item:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.result-item.strategy-detail-result.kr-detail-item:last-child {
    border-bottom-left-radius: var(--border-radius-tiny);
    border-bottom-right-radius: var(--border-radius-tiny);
}

.result-item.strategy-detail-result:hover .kr-metric-values {
    /* background-color: var(--white); */
}

.result-item.strategy-detail-result:hover {
    background-color: var(--hover-item);
}

.result-item.strategy-detail-result.kr-detail-item ng-container {
    display: flex;
    align-items: self-start;
    gap: 10px;
    width: 100%;
}

.strategy-detail-result:last-child {
    border-bottom: none;
}

.strategy-detail-empty-children {
    font-size: 13px;
    color: var(--sub-text);
    padding: 10px 0;
}

/* Not-found / error state */
.strategy-detail-not-found {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
    gap: 14px;
}

.strategy-detail-not-found .material-symbols-outlined {
    font-size: 48px;
    color: var(--sub-text);
    opacity: 0.5;
}

.strategy-detail-not-found p {
    color: var(--sub-text);
    font-size: 15px;
    margin: 0;
}

/* Loading state */
.strategy-detail-loading {
    display: none!important;
}

/* Clickable title links in list/overview pages */
.node-title-link {
    color: inherit;
    cursor: pointer;
    transition: color 0.15s;
    text-decoration: none;
    font-weight: 400;
}

.value-title.node-title-link {
    font-size: 14px;
}

.strategy-program-name.node-title-link {
    /* background-color: var(--light-glass); */
    padding: 0 10px;
    border-radius: 3px;
    font-weight: 500;
    font-size: 15px;
    color: var(--black);
    /* box-shadow: var(--box-shadow); */
}

.program-group .strategy-program-name.node-title-link {
    padding: 0;
}

.initiatives-page .strategy-program-name.node-title-link {
    /* background-color: var(--light-glass); */
    font-weight: 400;
    display: flex;
    align-items: center;
    gap: 10px;
    height: 35px;
    /* margin-top: 30px; */
}

a.strategy-pillar-title.node-title-link {
    color: var(--black);
    font-weight: 500;
}

a.strategy-pillar-title.node-title-link:hover {
    color: var(--primary);
}

.node-title-link:hover {
    color: var(--primary);
    text-decoration: none;
}


/* ============================================================
   Strategy Project Linking Panel
   ============================================================ */

.strategy-link-project {
    margin-top: 12px;
    position: relative;
}

.program-group-group .strategy-link-project {
    display: none;
}

.programs-list .strategy-link-project {
    display: none;
}

.strategy-link-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 500;
    color: var(--primary);
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    /* border: 1px dashed var(--border); */
    transition: color 0.15s, border-color 0.15s, background 0.15s;
    user-select: none;
}

.strategy-link-toggle i {
    color: var(--primary);
}

.strategy-link-toggle:hover {
    color: var(--primary);
    border-color: var(--primary);
    background: var(--extra-light);
}

.strategy-link-toggle .material-symbols-outlined {
    font-size: 15px;
}

.strategy-link-panel {
    margin-top: 8px;
    border-radius: 6px;
    background: var(--white);
    box-shadow: var(--box-shadow);
    overflow: hidden;
    position: absolute;
    z-index: 999999;
}

.strategy-link-panel input {
    margin-bottom: 0!important;
    font-size: 13px!important;
    padding: 0 15px!important;
}

.strategy-link-search {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 12px;
    font-size: 13px;
    border: none;
    border-bottom: 1px solid var(--border);
    background: var(--background);
    color: var(--text);
    outline: none;
}

.strategy-link-search:focus {
    background: var(--extra-light);
}

.strategy-link-results {
    max-height: 240px;
    overflow-y: auto;
}

.strategy-link-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0px 15px;
    height: 45px;
    font-size: 12px;
    cursor: pointer;
    border-top: 1px solid var(--light-border);
    transition: background 0.12s;
}

.strategy-link-item:last-child {
    border-bottom: none;
}

.strategy-link-item:hover {
    background: var(--extra-light);
}

.strategy-link-item-linked {
    background: var(--background-color);
    cursor: default;
}

.strategy-link-item-linked:hover {
    background: var(--extra-light);
}

.strategy-link-badge {
    font-size: 11px;
    font-weight: 600;
    color: var(--primary);
    background: var(--primary-glass, rgba(0,0,0,0.06));
    padding: 2px 6px;
    border-radius: 3px;
    flex-shrink: 0;
    white-space: nowrap;
}

.strategy-link-unlink {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    color: var(--sub-text);
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.12s, color 0.12s;
}

.strategy-link-unlink:hover {
    background: var(--error-light, rgba(220,53,69,0.1));
    color: var(--error, #dc3545);
}

.strategy-link-unlink .material-symbols-outlined {
    font-size: 14px;
}

.strategy-link-add-icon {
    font-size: 18px;
    color: var(--sub-text);
    flex-shrink: 0;
    transition: color 0.12s;
}

.strategy-link-item:hover .strategy-link-add-icon {
    color: var(--primary);
}

.strategy-link-other-program {
    font-size: 11px;
    color: var(--sub-text);
}

.strategy-link-empty {
    padding: 10px 12px;
    font-size: 12px;
    color: var(--sub-text);
    font-style: italic;
}

/* Strategy Alignment Card */
.strategy-alignment-icon {
    font-size: 18px;
    vertical-align: middle;
    margin-right: 4px;
}

.alignment-gap-count-badge {
    display: inline-block;
    /* background: var(--warning-light, #fff3cd); */
    color: var(--orange);
    border-radius: 20px;
    padding: 2px 10px;
    font-size: 11px;
    font-weight: 600;
    margin-left: auto;
    vertical-align: middle;
}

.alignment-gap-section {
    /* border-top: 1px solid var(--border); */
    /* padding: 2px 0; */
}

.alignment-gap-header {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 10px 10px;
    font-size: 13px;
    color: var(--black);
    user-select: none;
    height: 50px;
}

.alignment-gap-header:hover {
    color: var(--primary);
}

.alignment-gap-warn-icon {
    font-size: 16px;
    color: var(--warning, #e6a817);
}

.alignment-gap-list {
    padding: 4px 20px 12px 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative;
    box-sizing: border-box;
}

.alignment-gap-item {
    font-size: 12px;
    color: var(--primary);
    text-decoration: none;
    display: block;
    padding: 2px 0;
}

.alignment-gap-item:hover {
    text-decoration: underline;
}

.alignment-gap-all-clear {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 0;
    font-size: 13px;
    color: var(--success, #2e7d32);
}

.alignment-gap-all-clear .material-symbols-outlined {
    font-size: 18px;
}

/* OKR Cycle badges and filter */
.okr-cycle-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    padding: 3px 10px 3px 6px;
    background: var(--extra-light);
    border-radius: 20px;
    font-size: 12px;
    color: var(--sub-text);
    line-height: 1;
}

.okr-cycle-badge .material-symbols-outlined {
    font-size: 14px;
}

.okr-cycle-active-star {
    color: var(--primary);
    margin-left: 2px;
}

.okr-cycle-chip {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 7px;
    background: var(--bgc);
    border-radius: var(--border-radius-tiny);
    font-size: 11px;
    color: var(--black);
    white-space: nowrap;
    flex-shrink: 0;
}

.okr-cycle-chip .material-symbols-outlined {
    font-size: 12px;
}

.okr-cycle-filter-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
    position: relative;
    margin-top: 10px;
}

.okr-cycle-filter {
    display: flex;
    align-items: center;
    gap: 6px;
}

.okr-cycle-dropdown {
    min-width: 130px !important;
    max-width: 220px !important;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 5px;
    text-align: right;
    justify-content: end;
    padding-right: 25px;
}

.dropdown-select.okr-cycle-dropdown i {
    margin-left: 0!important;
    width: 20px;
}

.cycle-item {
    display: flex;
    align-items: center;
}

/* Cycle Review Panel */
.cycle-review-panel {
    background: var(--subtle);
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    padding: 16px 20px;
    margin: 8px 0 16px 0;
    animation: dropdownFadeIn 0.2s ease-out;
}

.cycle-review-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.cycle-review-title {
    font-size: 14px;
    font-weight: 600;
}

.cycle-review-okr {
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}

.cycle-review-okr:last-child {
    border-bottom: none;
}

.cycle-review-okr-header {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cycle-review-score-badge {
    font-size: 12px;
    font-weight: 700;
    min-width: 36px;
    text-align: center;
    padding: 2px 6px;
    border-radius: 4px;
}

.cycle-review-objective {
    flex: 1;
    font-size: 13px;
    font-weight: 500;
}

.cycle-review-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.score-green { color: var(--health-green); background: rgba(76, 175, 80, 0.1); }
.score-yellow { color: var(--health-yellow); background: rgba(255, 152, 0, 0.1); }
.score-red { color: var(--health-red); background: rgba(244, 67, 54, 0.1); }

.cycle-review-krs {
    margin-top: 8px;
    padding-left: 44px;
}

.cycle-review-kr {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 3px 0;
    font-size: 12px;
}

.cycle-review-kr-score {
    font-size: 11px;
    font-weight: 600;
    min-width: 32px;
    text-align: center;
    padding: 1px 4px;
    border-radius: 3px;
}

.cycle-review-kr-name {
    flex: 1;
    color: var(--dark-text);
}

.cycle-review-empty {
    font-size: 13px;
    color: var(--light-text);
    padding: 10px 0;
}

/* Strategy Setup Wizard */
.strategy-setup-wizard {
    max-width: 600px;
    margin: 40px auto;
    padding: 0 20px;
    animation: dropdownFadeIn 0.3s ease-out;
}

.setup-wizard-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 32px;
}

.setup-wizard-icon {
    font-size: 36px;
    color: var(--primary);
}

.setup-wizard-title {
    margin: 0 0 4px 0;
    font-size: 20px;
}

.setup-wizard-step {
    display: flex;
    gap: 16px;
    padding: 20px 0;
    border-top: 1px solid var(--border);
}

.setup-wizard-step.setup-step-inactive {
    opacity: 0.4;
    pointer-events: none;
}

.setup-wizard-step.setup-step-done {
    opacity: 0.7;
}

.setup-step-number {
    min-width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--primary);
    color: var(--awhite, #fff);
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

.setup-step-done .setup-step-number {
    background: var(--health-green);
}

.setup-step-content {
    flex: 1;
}

.setup-step-title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 6px;
}

.setup-step-summary {
    font-size: 13px;
    color: var(--light-text);
    padding-top: 4px;
}

.setup-pillar-inputs {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.setup-pillar-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.setup-input {
    width: 100%;
    padding: 8px 12px;
    font-size: 13px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--white);
    color: var(--dark-text);
}

.setup-input:focus {
    outline: none;
    border-color: var(--primary);
}

.setup-okr-form {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.setup-field label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--light-text);
    display: block;
    margin-bottom: 4px;
}

.setup-step-actions {
    margin-top: 16px;
    display: flex;
    gap: 8px;
}

/* OKR Template Picker */
.okr-template-picker {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--border-radius-tiny);
    padding: 16px 20px;
    margin-bottom: 16px;
    animation: dropdownFadeIn 0.2s ease-out;
}

.okr-template-picker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 12px;
}

.okr-template-tabs {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.okr-template-tabs span {
    font-size: 11px;
    padding: 4px 12px;
    border-radius: 12px;
    cursor: pointer;
    background: var(--subtle);
    color: var(--dark-text);
    transition: all 0.15s ease;
}

.okr-template-tabs span.active {
    background: var(--primary);
    color: var(--awhite, #fff);
}

.okr-template-tabs span:hover:not(.active) {
    background: var(--hover);
}

.okr-template-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.okr-template-item {
    padding: 10px 14px;
    border: 1px solid var(--border);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.okr-template-item:hover {
    border-color: var(--primary);
    background: var(--subtle);
}

.okr-template-objective {
    font-size: 13px;
    font-weight: 500;
    color: var(--dark-text);
    margin-bottom: 4px;
}

.okr-template-krs {
    font-size: 11px;
}

/* Gap hint banners on strategy list pages */
.strategy-gap-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 15px 20px;
    margin-bottom: 30px;
    background: var(--white);
    border-radius: 4px;
    font-size: 12px;
    color: var(--orange);
    /* border: 1px solid var(--orange); */
    box-shadow: var(--box-shadow);
}

.strategy-gap-hint .material-symbols-outlined {
    font-size: 16px;
    color: var(--orange);
    flex-shrink: 0;
}

.strategy-gap-hint-dismiss {
    margin-left: auto;
    cursor: pointer;
    color: var(--sub-text);
    font-size: 16px;
}



.linked-item-title {
    font-size: 11px;
    text-transform: uppercase;
    color: var(--light-text);
    margin-top: 20px!important;
}

.strategy\.pillars .linked-item-title {top: 0px;left: 0px;margin-top: 0px!important;position: absolute;}

.strategy\.pillars .node-projects-dropdown .linked-items {
    padding-top: 20px;
}

.tiny-header {
    font-size: 11px;
    color: var(--light-text);
    text-transform: uppercase;
}

.tiny-header.drop-header {
    margin-bottom: -25px;
}


/* ============================================
   PROJECT SETTINGS: Strategy Alignment Context
   ============================================ */

.project-strategy-chain {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 10px 0;
}

.project-strategy-chain-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--primary);
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 4px;
    background: var(--subtle);
    text-decoration: none!important;
    transition: background 0.15s ease;
}

.project-strategy-chain-item:hover {
    background: var(--hover-item);
}

.project-strategy-chain-item a {
    text-decoration: none!important;
}

.project-strategy-chain-item i {
    font-size: 14px;
}

.project-strategy-chain-item {
    color: var(--dark-text);
    font-weight: 500;
}

.project-strategy-chain-sep {
    font-size: 14px;
    color: var(--light-text);
}

.project-strategy-unlinked {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 0;
    font-size: 12px;
}

.project-strategy-unlinked i {
    font-size: 16px;
}


/* ============================================
   TASK: Strategy Breadcrumb
   ============================================ */

.task-strategy-breadcrumb {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 0 6px 0;
    cursor: default;
}

.task-strategy-icon {
    font-size: 14px;
    color: var(--light-text);
}

.task-strategy-breadcrumb:hover .task-strategy-icon {
    color: var(--primary);
}

.task-strategy-crumbs {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.task-strategy-crumb {
    font-size: 11px;
    color: var(--primary);
    text-decoration: none;
    cursor: pointer;
}

.task-strategy-crumb:hover {
    text-decoration: underline;
}

.task-strategy-sep {
    font-size: 11px;
    color: var(--light-text);
}

.focus-group-sub-text {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 11px;
    margin-top: 5px;
    margin-bottom: 20px;
    color: var(--light-text);
}

.strategy-item-row > .flex-1 > .focus-group-sub-text {
    margin-bottom: 0px;
    margin-top: 20px;
}

.focus-group-sub-text .node-health-dot {
   width: 7px;
    height: 7px;
    margin-top: 0px;
}

.focus-group-sub-text .ml-auto {
    margin-left: 0!important;
}

.sidebar-list-items.strategy-sidebar-list .sli-icon i {
    font-size: 15px;
    /* margin-top: 3px; */
    align-self: start;
    line-height: 22px;
    height: unset;
}

.sli.sli-vision i, 
.sli.sli-values i {
    /* color: #e4c76f; */
}

.sli.sli-pillars i, 
.sli.sli-focuses i, 
.sli.sli-okrs i {
    /* color: #917ddd; */
}

.sli.sli-programs i, 
.sli.sli-initiatives i {
    /* color: #78d59b; */
}

.sidebar-list-items.strategy-sidebar-list .sli-icon:hover i {
    color: var(--primary);
}

.pillar-owner-selector select {
    display: inline-flex;
    width: 100%;
    max-width: 100%;
}

.strategy-page > .row > .col.s12.m10 {
    /* transition: all .5s ease-in-out; */
}

.strategy-page > .row > .col {
    transition: all .5s ease-in-out!important;
    /* transition: none; */
}

.tier-label-row {
    display: flex;
    flex-direction: column;
    /* background-color: var(--white); */
    padding: 15px 30px;
    /* margin-bottom: 20px; */
    border-radius: var(--border-radius-tiny);
    text-align: center;
    /* box-shadow: var(--box-shadow); */
}

.tier-label-row .tier-col-wrap {
    /* display: flex; */
}

.tier-label-main {
    font-family: var(--nothing);
    font-size: 16pt;
    text-transform: lowercase;
}

.tier-label-sub-container {
    color: var(--light-text);
    text-align: center;
    font-size: 12px;
    /* font-weight: 100; */
    text-transform: lowercase;
}

.tier-label-sub-container > .tier-label-sub {
    padding-top: 0!important;
    font-weight: 300;
}

.admin-strategy-content .dropdown-select.input-field {
    margin-top: 0;
}

.settings .text-field.add-new-kr {
    padding: 20px!important;
    border: 1px solid var(--light-border);
    width: 100%;
    border-right: 1px solid var(--light-border)!important;
    margin-bottom: 20px!important;
    background-color: var(--extra-light);
}


/* =====================================================================
   STRATEGY OVERVIEW DASHBOARD (strategy.overview)
   Reuses the shared work-* / overview-* / node-health-dot / health-fill-*
   classes; only strategy-specific widgets are styled here.
   ===================================================================== */

.strategy-cycle-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 5px;
	border-radius: var(--border-radius-tiny);
	/* background: var(--extra-light); */
	color: var(--dark-text);
	cursor: pointer;
	font-size: 12px;
	white-space: nowrap;
}

.strategy-cycle-chip i {
	font-size: 16px;
	color: var(--primary);
}

.strategy-settings-gear {
	padding: 0px 8px;
	background-color: var(--white)!important;
	box-shadow: var(--box-shadow)!important;
}

.strategy-settings-gear i {
	font-size: 18px;
}

/* --- Pillar Health widget --- */
.strategy-pillar-list {
	display: flex;
	flex-direction: column;
	gap: 0px;
}

.strategy-pillar-row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 6px;
	border-radius: var(--border-radius-tiny);
	cursor: pointer;
}

.strategy-pillar-row:hover {
	background: var(--extra-light);
}

.strategy-pillar-info {
	flex: 1 1 auto;
	min-width: 0;
}

.strategy-pillar-name {
	font-weight: 500;
	color: var(--dark-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.strategy-pillar-meta {
	font-size: 11px;
}

.strategy-pillar-bar {
	flex: 0 0 90px;
	height: 6px;
	border-radius: 3px;
	background: var(--extra-light);
	overflow: hidden;
}

.strategy-pillar-row:hover .strategy-pillar-bar {
    background-color: var(--white);
}

.strategy-pillar-bar-fill {
	height: 100%;
	border-radius: 3px;
	transition: width 0.3s ease;
}

.strategy-pillar-pct {
	flex: 0 0 auto;
	font-size: 12px;
	color: var(--light-text);
	min-width: 34px;
	text-align: right;
}

/* --- OKR Scoreboard widget --- */
.strategy-okr-list {
	display: flex;
	flex-direction: column;
	gap: 0px;
}

.strategy-okr-row {
	display: flex;
	flex-direction: column;
	gap: 1px;
	padding: 8px 6px;
	border-radius: var(--border-radius-tiny);
	cursor: pointer;
}

.strategy-okr-row:hover {
	background: var(--extra-light);
}

.strategy-okr-head {
	display: flex;
	align-items: center;
	gap: 8px;
}

.strategy-okr-objective {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 500;
	color: var(--dark-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.strategy-okr-checkin-badge {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	color: var(--health-red);
}

.strategy-okr-checkin-badge i {
    color: var(--orange);
}

.strategy-okr-checkin-badge i {
	font-size: 16px;
}

.strategy-okr-progress {
	display: flex;
	align-items: center;
	gap: 8px;
}

.strategy-okr-meta {
	font-size: 11px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.strategy-okr-confidence.confidence-low {
	color: var(--health-red);
}

.strategy-okr-confidence.confidence-mid {
	color: var(--health-yellow);
}

.strategy-okr-confidence.confidence-high {
	color: var(--health-green);
}

/* --- Active Cycle widget --- */
.strategy-cycle-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.strategy-cycle-name {
	font-weight: 500;
	color: var(--dark-text);
}

.strategy-cycle-dates {
	font-size: 11px;
}

.strategy-cycle-bar {
	height: 3px;
	border-radius: 3px;
	background: var(--extra-light);
	overflow: hidden;
}

.strategy-cycle-bar-fill {
	height: 100%;
	border-radius: 3px;
	background: var(--primary);
	transition: width 0.3s ease;
}

.strategy-cycle-stats {
	font-size: 11px;
	display: flex;
	align-items: center;
	gap: 6px;
}

/* --- Alignment Gaps widget --- */
.strategy-gap-list {
	display: flex;
	flex-direction: column;
	gap: 0px;
}

.strategy-gap-row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 6px;
	border-radius: var(--border-radius-tiny);
	cursor: pointer;
}

.strategy-gap-row:hover {
	background: var(--extra-light);
}

.strategy-gap-icon {
	font-size: 18px;
	color: var(--health-yellow);
	flex: 0 0 auto;
}

.strategy-gap-label {
	flex: 1 1 auto;
	min-width: 0;
	color: var(--dark-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.strategy-gap-count {
	flex: 0 0 auto;
	font-weight: 600;
	color: var(--health-yellow);
}

.strategy-gap-clear i {
	color: var(--health-green);
}

/* --- At Risk & Off Track widget --- */
.strategy-atrisk-list {
	display: flex;
	flex-direction: column;
	gap: 0px;
}

.strategy-atrisk-row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 5px;
	cursor: pointer;
}

.strategy-atrisk-row:hover {
    background-color: var(--hover-item);
}

.strategy-atrisk-name {
	flex: 1 1 auto;
	min-width: 0;
	color: var(--dark-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.strategy-atrisk-type {
	flex: 0 0 auto;
	font-size: 11px;
	text-transform: capitalize;
}

/* --- Recent Check-ins widget --- */
.strategy-checkin-list {
	display: flex;
	flex-direction: column;
	gap: 0px;
}

.strategy-checkin-row {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 1px;
	padding: 20px;
	border-radius: var(--border-radius-tiny);
	cursor: pointer;
	background-color: var(--light-white);
}

.strategy-checkin-row:hover {
	background: var(--extra-light);
}

.strategy-checkin-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
}

.strategy-checkin-objective {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 500;
	color: var(--dark-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.strategy-checkin-time {
	flex: 0 0 auto;
	font-size: 11px;
}

.strategy-checkin-meta {
	font-size: 11px;
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
}

.strategy-checkin-note {
	font-size: 12px;
	color: var(--light-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding: 5px 10px;
	background-color: var(--bgc);
	border-radius: var(--border-radius-xs);
}

.strategy-dash {
    padding: 25px 50px;
    max-width: 1350px;
    margin: 0 auto;
}

.insight-item {
    display: flex;
    gap: 10px;
    padding: 10px 5px;
}

.insight-item i {
    font-size: 17px;
}

#cycleDropdownOkr li a {
    display: flex;
    align-items: center;
    white-space: nowrap;
    gap: 5px;
}

#cycleDropdownOkr li a span {
    color: var(--primary);
    width: auto;
}

/* ============================================
   ADD-PROJECT PICKER (strategy map)

   <strategy-add-project> — a ghost icon button on every strategy node that
   opens a searchable panel for attaching a project.

   Everything here is scoped to .strategy-overview-page (the map) so the
   stacking/overflow overrides can't leak onto the other strategy pages, which
   share these node classes.

   Three structural fixes are load-bearing and are called out inline:
     1. .tree-node is overflow:hidden and would clip the panel.
     2. .nested-node siblings all carry the same clamped z-index, so an open
        panel loses to the next column purely on DOM order.
     3. .tree-tier gets a stacking context from its fade-in transform, so a
        panel can never paint over the tier below without explicit ordering.
   ============================================ */

/* --- 1. Let the panel escape the pillar / program / focus card --- */
.strategy-overview-page .tree-node:has(.strategy-add-project.is-open) {
    overflow: visible;
}

/* --- 2. Beat the adjacent focus column while open.
       .nested-node ships z-index 9999999999, which every browser clamps to
       INT_MAX — siblings tie and DOM order decides. Rebase inside the map so
       the open one can actually win. --- */
.strategy-overview-page .nested-node {
    z-index: 2;
}

.strategy-overview-page .nested-node:has(.strategy-add-project.is-open) {
    z-index: 20;
}

/* .nested-items carries z-index:999 and is a flex item of .nested-nodes, so it
   forms a stacking context that paints the whole focus/initiative column above
   its own pillar card — including over a panel opened from that card. Rebase it
   too, or the pillar/program picker is drawn behind its own children. */
.strategy-overview-page .nested-items {
    z-index: 1;
}

/* Give every group its own stacking context so the column (999) and the pillar
   card (9) are contained within it, then hoist whichever group has a picker
   open. Hoisting ONLY the open group without rebasing the others is strictly
   worse — it traps the open group's own .nested-items while neighbours stay
   loose in .tree-tier. */
.strategy-overview-page .tree-node-group {
    position: relative;
    z-index: 1;
}

.strategy-overview-page .tree-node-group:has(.strategy-add-project.is-open) {
    z-index: 30;
}

/* A panel opened on the bottom-most tier hangs past the scroll wrapper's
   padding edge and gets clipped by its overflow:auto. Only reachable by
   scrolling, which reads as broken. Open up room while a picker is open — costs
   nothing the rest of the time. */
.strategy-overview-page .strategy-tree-scroll-wrapper:has(.strategy-add-project.is-open) {
    /* The wrapper sits OUTSIDE .strategy-tree, so this padding is unzoomed while
       the panel inside is scaled by up to 1.5x. Reserve for the largest case
       (360 * 1.5 + margin) rather than the nominal height. */
    padding-bottom: 560px;
}

/* --- 3. Order the tiers so an open panel paints over the tier beneath it.
       Tiers never overlap otherwise, so reversing their paint order is free. --- */
.strategy-overview-page .tree-tier {
    position: relative;
}

.strategy-overview-page .tier-vision   { z-index: 6; }
.strategy-overview-page .tier-pillars  { z-index: 5; }
.strategy-overview-page .tier-programs { z-index: 4; }

/* --- The button --- */

/* The directive is restrict:'E', so the custom element wraps the template root.
   Unknown elements default to display:inline; give it the same box as the root
   so it behaves predictably in the flex header rows. */
strategy-add-project {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    margin-top: -2.3px;
}

.strategy-add-project {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

.strategy-add-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    border-radius: var(--border-radius-tiny);
    background: transparent;
    color: var(--light-text);
    cursor: pointer;
    opacity: 0.3;
    transition: opacity 0.15s ease, background 0.15s ease, color 0.15s ease;
}

/* The glyph only ever INHERITS the button's colour, so it loses to every rule
   that targets the <i> directly — variables.css i.material-symbols-outlined,
   .nested-node i, .okr-sub-item .material-symbols-outlined:first-child, and the
   .nested-focus-header / .tier-programs margin rules. Without this the ghost
   button renders solid primary blue and offset in most placements, and the
   hover/open colour change is dead code. */
.strategy-add-btn .material-symbols-outlined {
    color: inherit !important;
    font-size: 17px !important;
    margin: 0 !important;
    line-height: 1;
}

/* Reveal on hover of the whole row/card, on keyboard focus, and while open. */
.tree-node:hover .strategy-add-btn,
.nested-node:hover .strategy-add-btn,
.nested-focus-header:hover .strategy-add-btn,
.nested-node-header:hover .strategy-add-btn,
.strategy-add-project:hover .strategy-add-btn,
.strategy-add-project.is-open .strategy-add-btn {
    opacity: 1;
}

.strategy-add-btn:hover,
.strategy-add-project.is-open .strategy-add-btn {
    background: var(--extra-light);
    color: var(--primary);
}

.strategy-add-btn:focus-visible {
    opacity: 1;
    outline: 2px solid var(--primary);
    outline-offset: 1px;
}

/* Touch devices have no hover — never hide the affordance there. */
@media (hover: none) {
    .strategy-add-btn { opacity: 0.75; }
}

/* --- The panel --- */
.strategy-add-panel {
    position: absolute;
    top: calc(100% + 6px);
    left: auto;
    right: 0;
    width: max-content;
    min-width: 280px;
    max-width: 360px;
    background: var(--white);
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.16);
    z-index: 50;
    cursor: default;
    text-align: left;
    animation: strategyAddPanelIn 0.14s ease-out;
}

@keyframes strategyAddPanelIn {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Right-aligned variant. Which side to use is decided in the directive on open
   (_decideFlip), because only JS can tell whether the panel would run off the
   viewport — and it has to divide out the tree's CSS zoom to do it. A
   :last-child rule can't: it fires for a single-column tree and misses a
   rightmost node that isn't a last child. */
.strategy-add-project.align-left .strategy-add-panel {
    left: 0;
    right: auto;
}

.strategy-add-head {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    gap: 0;
    padding: 20px 20px 5px;
    line-height: 16px;
}

.strategy-add-head-title {
    font-size: 12px;
    font-weight: 600;
    color: var(--black);
}

.strategy-add-head-node {
    font-size: 11px;
    color: var(--light-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.strategy-add-search {
    display: block !important;
    box-sizing: border-box !important;
    width: calc(100% - 40px) !important;
    margin: 0 20px 10px !important;
    padding: 0 15px !important;
    height: 32px !important;
    font-size: 13px !important;
    color: var(--black) !important;
    background: var(--background-color) !important;
    border: 1px solid var(--light-border) !important;
    border-radius: var(--border-radius-tiny) !important;
    box-shadow: none !important;
}

.strategy-add-search:focus {
    border-color: var(--primary) !important;
    outline: none !important;
}

/* The panel is rendered INSIDE the node it belongs to, so the node's own icon
   rules reach into it — .nested-node i (primary, 16px), .nested-focus-header
   .material-symbols-outlined (15px + margins), .okr-sub-item
   .material-symbols-outlined:first-child (primary), .tier-programs .nested-node
   i (margins), plus the global i.material-symbols-outlined. Neutralise the
   inherited geometry once, then set each icon's colour explicitly below. */
.strategy-add-panel .material-symbols-outlined {
    margin: 0 !important;
    line-height: 1;
}

.strategy-add-results {
    max-height: 240px;
    overflow-y: auto;
    padding-bottom: 4px;
}

.strategy-add-item {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 50px;
    padding: 0px 20px;
    cursor: pointer;
    font-size: 13px;
    color: var(--black);
}

/* `is-cursor` is ONLY the keyboard/pointer cursor — it must never read as "this
   project is attached". Whether a project is actually added is carried by the
   green check plus the persistent "Added" badge below, both independent of hover. */
.strategy-add-item.is-cursor {
    background: var(--hover-light);
}

/* Always visible on an attached project, hover or not. */
.strategy-add-item-badge {
    flex: 0 0 auto;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--good);
}

/* "Remove" replaces the badge on hover, so one row never shows both. */
.strategy-add-item.is-cursor .strategy-add-item-badge {
    display: none;
}

.strategy-add-panel .strategy-add-item-icon {
    font-size: 16px !important;
    color: var(--light-text) !important;
    flex: 0 0 auto;
}

.strategy-add-panel .strategy-add-item.is-linked .strategy-add-item-icon {
    color: var(--good) !important;
}

.strategy-add-item-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.strategy-add-item-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* "Currently in X" — picking this row moves the project, it doesn't copy it. */
.strategy-add-item-note {
    font-size: 11px;
    color: var(--light-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.strategy-add-item-action {
    flex: 0 0 auto;
    font-size: 11px;
    color: var(--light-text);
    opacity: 0;
}

.strategy-add-item.is-cursor .strategy-add-item-action {
    opacity: 1;
    color: var(--warning);
}

.strategy-add-panel .strategy-add-item-action-icon {
    flex: 0 0 auto;
    font-size: 16px !important;
    color: var(--primary) !important;
    opacity: 0;
}

.strategy-add-item.is-cursor .strategy-add-item-action-icon {
    opacity: 1;
}

.strategy-add-empty {
    padding: 12px;
    font-size: 12px;
    color: var(--light-text);
}

.strategy-add-create {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    margin-top: 2px;
    border-top: 1px solid var(--light-border);
    cursor: pointer;
    color: var(--primary);
}

.strategy-add-create.is-cursor {
    background: var(--hover-light);
}

.strategy-add-panel .strategy-add-create i {
    font-size: 17px !important;
    color: var(--primary) !important;
    flex: 0 0 auto;
}

.strategy-add-create-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: normal;
}

.strategy-add-create-label {
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.strategy-add-create-note {
    font-size: 11px;
    color: var(--light-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* --- Create mode --- */
.strategy-add-createform {
    padding: 4px 12px 12px;
}

.strategy-add-field {
    display: block;
    margin-bottom: 8px;
}

.strategy-add-field-label {
    display: block;
    margin-bottom: 3px;
    font-size: 11px;
    color: var(--light-text);
}

.strategy-add-field input {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    font-size: 13px !important;
    color: var(--black) !important;
    background: var(--background-color) !important;
    border: 1px solid var(--light-border) !important;
    border-radius: var(--border-radius-tiny) !important;
    box-shadow: none !important;
}

.strategy-add-field input:focus {
    border-color: var(--primary) !important;
    outline: none !important;
}

.strategy-add-key {
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.strategy-add-error {
    margin-bottom: 8px;
    font-size: 11px;
    color: var(--warning);
}

.strategy-add-createform-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.strategy-add-cancel,
.strategy-add-confirm {
    height: 30px;
    padding: 0 12px;
    font-size: 12px;
    border: none;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
}

.strategy-add-cancel {
    background: transparent;
    color: var(--light-text);
}

.strategy-add-cancel:hover {
    background: var(--extra-light);
}

.strategy-add-confirm {
    background: var(--primary);
    color: var(--white);
}

.strategy-add-confirm[disabled] {
    opacity: 0.5;
    cursor: default;
}

/* ============================================================
   Bare /strategy deciding shell (role-aware landing redirect)
   Shows only while the membership/meta promises settle before
   routing.js lands the user on overview (editor+) or map.
   ============================================================ */
.strategy-landing-deciding {
    max-width: 420px;
    margin: 18vh auto 0;
}


.strategy-okrs {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.okr-dash-column .strategy-okrs {
    margin-top: 25px;
}

.strategy-okrs .result-item {
    /* background-color: var(--light-white); */
    padding: 10px 20px;
}

.okr-dash-wrapper {
    display: flex;
    width: 100%;
    gap: 5px;
    position: relative;
    top: 0px;
}

.okr-dash-column:first-child {
    flex: 1.5;
}

.okr-dash-column {
    /* display: flex; */
    /* flex-direction: column; */
    flex: 1;
}

.okr-dash-column:last-child {
    position: sticky;
    top: 20px;
}

.pillars-list {
    display: flex!important;
    align-items: start;
    flex-wrap: wrap;
}

.pillar-list-item {display: flex;padding: 40px;background-color: var(--white);height: stretch;box-shadow: var(--box-shadow);border-radius: var(--border-radius-tiny);width: calc(50% - 5px);}

.programs-list {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    padding-bottom: 50px!important;
}

.programs-list .program-group {
    width: calc(50% - 5px);
    margin-bottom: 0;
}
/* ============================================
   PLAN PAGE LAYOUT
   ============================================ */

.plan-page .centered-page {
	height: calc(100dvh - 64px);
	max-width: 100% !important;
	overflow-y: auto;
	padding: 0 !important;
	display: block !important;
	/* transition: width .5s ease-in-out; */
	right: 0px!important;
	position: absolute;
	left: unset!important;
	float: right!important;
}

.centered-page.oe.research\.session {
    transition: all .5s ease-in-out;
    width: 100%;
}

.col.s12.centered-page.oe.portfolios.m10 {
    left: unset!important;
    width: 83.3333333%!important;
    max-width: 83.3333333%!important;
}

.col.s12.centered-page.thin-active-sidebar {
    width: calc(100% - 70px);
}

.plan-page .sidebar {
	height: calc(100dvh - 64px);
	transition: all .5s ease-in-out;
	left: 0px!important;
	position: absolute;
	z-index: 9;
	/* box-shadow: none; */
}

.sidebar.thin-sidebar {
    width: 70px!important;
    height: calc(100dvh - 64px);
    background-color: var(--white);
    border: none!important;
}

.sidebar.thin-sidebar, .sidebar.thin-sidebar .sidebar-content {
    height: calc(100dvh - 64px);
}

.sidebar.thin-sidebar .toggle-plan-sidebar-btn {
    transform: rotate(180deg);
    margin-right: 22px;
    background-color: transparent;
    border: none;
    margin-top: 0!important;
}

.sidebar.thin-sidebar .toggle-plan-sidebar-btn i {
    transform: rotate(180deg)!important;
    margin-left: -2px;
}

.sidebar.thin-sidebar .toggle-plan-sidebar-btn i {}

.plan-page .sidebar.hidden {
	left: -16.666666666667%!important;
}

/* ============================================
   PLAN SIDEBAR
   ============================================ */

.plan-sidebar-list .sli {
	height: unset;
	line-height: unset;
	display: flex;
	align-items: center;
	margin: 0;
}

.thin-sidebar .sli {
    padding-left: 19px!important;
}

.thin-sidebar .sidebar-list-items .sli.active {
    background-color: transparent;
}

.thin-sidebar .sidebar-list-items .sli.active i {
    color: var(--primary);
}

.plan-sidebar-list .sli-icon {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.plan-sidebar-list .sli-icon i {
	font-size: 15px;
	transition: all .3s ease-in-out;
	margin-top: 0;
}

.thin-sidebar .plan-sidebar-list .sli-icon i {
    /* font-size: 21px; */
}

.plan-sidebar-list .sli-text {
	display: flex;
	flex-direction: column;
}

.sidebar.thin-sidebar .sli-text {
    transition: color .4s ease-in-out, opacity .4s ease-in-out;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    padding-top: 10px;
    font-size: 10px;
    left: 0;
    right: 0;
}

.sidebar.thin-sidebar .sli-text .sub-text {
    display: none;
}

.sidebar.thin-sidebar .sli-header {
    display: none;
}

.sidebar.thin-sidebar .sli:hover .sli-text {
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	height: 40px;
	z-index: 99999;
	background-color: var(--white);
	text-align: center;
	width: 100%;
	visibility: visible;
	opacity: 1;
	padding-top: 15px!important;
}

.plan-sidebar-list .sli-text .sub-text {
	display: none;
}

.sidebar-content .sli-header, .plan-sidebar-list .sli-header, .strategy-sidebar-list .sli-header {
	padding: 10px 30px 4px;
	margin-left: 0;
	margin-right: 0;
	font-size: 9px;
	letter-spacing: 0.6px;
}

/* ============================================
   PLAN OVERVIEW DASHBOARD
   ============================================ */

.plan-overview-page {
	height: 100%;
}

.plan-dash {
	display: flex;
	flex-direction: column;
	/* height: 100%; */
	padding: 25px 25px 50px;
	max-width: 1300px;
	margin: 0 auto;
}

/* ============================================
   ALIGNMENT BADGE
   ============================================ */

.plan-alignment-badge {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
}

/* ============================================
   DASHBOARD BODY
   ============================================ */

.plan-dash-body {
	display: flex;
	gap: 5px;
}

/* ============================================
   PIPELINE SECTIONS
   ============================================ */

.plan-pipeline-section {
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	padding: 30px;
	box-shadow: var(--box-shadow);
	flex: 1;
	box-sizing: border-box;
	border: 1px solid var(--white);
	transition: background-color .3s ease-in-out;
}

.plan-pipeline-section:hover {
    background-color: var(--white);
}

.plan-project-list {
	display: flex;
	flex-direction: column;
	gap: 1px;
	border-radius: var(--border-radius-tiny);
	overflow: hidden;
}

.plan-pipeline-item {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 10px;
	/* background-color: var(--light-white); */
	padding: 7px 8px;
	border-radius: var(--border-radius-tiny);
	transition: background 0.12s ease;
	cursor: pointer;
	line-height: 1.5;
}

.plan-pipeline-status {
    font-size: 11px;
}

.plan-pipeline-item .plan-pipeline-item-dot {
    margin-top: 6px;
    float: right;
}

.plan-pipeline-item .plan-unaligned-badge {
    margin-left: auto;
}

.plan-pipeline-item .plan-stale-badge {
    margin-left: auto;
    margin-top: 2px;
}

.plan-pipeline-item:hover {
	background: var(--background-color);
}

.plan-pipeline-item-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--light-text);
	flex-shrink: 0;
}

.plan-pipeline-item-dot-review {
	background: var(--primary);
}

.plan-pipeline-item-name {
	flex: 1;
	font-size: 13px;
	font-weight: 400;
	color: var(--black);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.plan-unaligned-badge {
	color: var(--health-yellow);
	display: flex;
	align-items: center;
}

.plan-unaligned-badge i {
	font-size: 14px;
	margin-top: 3px;
}

.plan-stale-badge {
	color: var(--health-yellow);
	display: flex;
	align-items: center;
}

.plan-stale-badge i {
	font-size: 14px;
	color: var(--health-yellow);
}

.plan-empty-col {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 20px 0;
	color: var(--light-text);
	font-size: 13px;
	text-align: center;
}

.plan-empty-col i {
	font-size: 24px;
	color: var(--border);
}

/* ============================================
   BOTTOM ROW (Ideas + Research)
   ============================================ */

.plan-bottom-row {
	display: flex;
	gap: 5px;
	margin-top: 5px;
}

.plan-bottom-card {
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	padding: 30px;
	box-shadow: var(--box-shadow);
	flex: 1;
	box-sizing: border-box;
}

/* ============================================
   FORECAST BADGES
   ============================================ */

.plan-overdue-badge {
	font-size: 10px;
	font-weight: 600;
	color: var(--health-red);
	text-transform: uppercase;
	letter-spacing: 0.3px;
	flex-shrink: 0;
}

.plan-days-label {
	font-size: 11px;
	color: var(--light-text);
	flex-shrink: 0;
}

/* ============================================
   DISCOVER SECTION
   ============================================ */

.plan-discover-section {
	display: flex;
	flex-direction: column;
	gap: 16px;
	background: var(--white);
	/* border: 1px solid var(--border); */
	border-radius: var(--border-radius-tiny);
	padding: 20px;
	box-shadow: var(--box-shadow);
	flex: 1;
	max-width: calc(25% - 5px);
}

.plan-discover-card {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}

.plan-discover-card:not(:last-child) {
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--border);
}

.plan-discover-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.plan-discover-item {
	display: flex;
	align-items: center;
	gap: 4px;
	/* height: 40px; */
	line-height: 40px;
	font-weight: 300;
	padding: 5px 10px;
	font-size: 13px;
	color: var(--black);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	border-radius: 5px;
	cursor: pointer;
}

.plan-discover-item .wrp {
    line-height: 20px;
}

.plan-discover-item-name {
    font-weight: 400;
}

.plan-discover-item .wrp .wrapper {
    display: inline-flex;
    gap: 3px;
    color: var(--light-text);
    font-size: 11px;
}

.plan-discover-item-author {
    display: flex;
	font-weight: 300;
}

.plan-discover-date {
    display: inline-flex;
}

.plan-discover-item:hover {
    background-color: var(--background-color);
}

.plan-discover-item:hover .badge-small {
    background-color: var(--white);
}

.plan-discover-item i {
	font-size: 14px;
	color: var(--light-text);
	flex-shrink: 0;
}

/* ============================================
   SIDEBAR TOGGLE BUTTON (plan variant)
   ============================================ */

.toggle-plan-sidebar-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: none;
	border-radius: var(--border-radius-tiny);
	background: var(--white);
	cursor: pointer;
	color: var(--dark-text);
	transition: background 0.15s ease;
	margin-right: 20px;
}

.toggle-plan-sidebar-btn:hover {
	background: var(--extra-light);
}

.toggle-plan-sidebar-btn i {
	font-size: 16px;
}

/* ============================================
   PLAN OVERVIEW — CAPACITY WIDGET
   ============================================ */

.plan-capacity-widget {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding-top: 5px;
}

.plan-capacity-utilization {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.plan-capacity-util-bar {
	height: 3px;
	background: var(--border);
	border-radius: 3px;
	overflow: hidden;
}

.plan-capacity-util-fill {
	height: 100%;
	border-radius: 3px;
	transition: width 0.4s ease;
}

.plan-capacity-util-fill.health-green  { background: var(--health-green); }
.plan-capacity-util-fill.health-yellow { background: var(--health-yellow); }
.plan-capacity-util-fill.health-red    { background: var(--health-red); }
.plan-capacity-util-fill.primary       { background: var(--primary); }

.plan-capacity-util-label {
	font-size: 12px;
	color: var(--light-text);
}

.plan-capacity-stat {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--dark-text);
}

.plan-capacity-stat i {
	font-size: 14px;
	color: var(--light-text);
}

.plan-capacity-stat-warn i {
	color: var(--health-red);
}

/* ============================================
   CAPACITY DASHBOARD
   ============================================ */

.capacity-dashboard-page {
	/* height: 100%; */
}

.capacity-dash {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 35px 50px 50px;
	max-width: 1100px;
	margin: 0 auto;
	gap: 0px;
}

/* ── Team Selector ── */

.capacity-team-select {
	font-size: 13px;
	padding: 6px 10px;
	border: 1px solid var(--border);
	border-radius: var(--border-radius-tiny);
	background: var(--white);
	color: var(--dark-text);
	outline: none;
}

.capacity-week-label {
	font-size: 13px;
	color: var(--light-text);
	font-weight: 500;
}

/* ── Sub-navigation ── */

.capacity-subnav {
	display: flex;
	gap: 2px;
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	box-shadow: var(--box-shadow);
	height: 50px;
	line-height: 50px;
	margin-bottom: 0px;
	padding-left: 20px;
}

.capacity-subnav-item {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	font-size: 12px;
	font-weight: 500;
	color: var(--light-text);
	/* border-radius: var(--border-radius-tiny); */
	cursor: pointer;
	transition: all 0.12s ease;
	border-bottom: 2px solid var(--white);
	border-radius: 5px 5px 0 0;
}

.capacity-subnav-item:hover {
	color: var(--dark-text);
	background: var(--white);
}

.capacity-subnav-item.active {
	background: var(--white);
	color: var(--primary);
	/* box-shadow: var(--box-shadow); */
	/* border-color: var(--primary); */
}

.capacity-subnav-item.active i {
    color: var(--primary);
}

.capacity-subnav-item i {
	font-size: 16px;
}

/* ── Member List ── */

.capacity-member-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.capacity-member-item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 0;
	/* border-bottom: 1px solid var(--light-border); */
}

.capacity-member-item:last-child {
	border-bottom: none;
}

.capacity-member-info {
	display: flex;
	align-items: center;
	gap: 15px;
	min-width: 180px;
}

.capacity-member-avatar {
	width: 32px;
	height: 32px;
	border-radius: var(--border-radius-tiny);
	background: var(--extra-light);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 400;
	color: var(--black);
	flex-shrink: 0;
}

.capacity-member-name {
	/* font-size: 13px; */
	font-weight: 500;
	/* color: var(--dark-text); */
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.capacity-member-hours {
	font-size: 12px;
	color: var(--light-text);
	min-width: 80px;
	text-align: right;
}

.capacity-member-bar {
	flex: 1;
	min-width: 100px;
}

.capacity-utilization-bar {
	height: 3px;
	background: var(--border);
	border-radius: 3px;
	overflow: hidden;
}

.capacity-utilization-fill {
	height: 100%;
	border-radius: 3px;
	transition: width 0.3s ease;
}

.capacity-utilization-fill.health-green  { background: var(--health-green); }
.capacity-utilization-fill.health-yellow { background: var(--health-yellow); }
.capacity-utilization-fill.health-red    { background: var(--health-red); }
.capacity-utilization-fill.primary       { background: var(--primary); }

.capacity-member-pct {
	font-size: 13px;
	font-weight: 600;
	min-width: 40px;
	text-align: right;
}

/* ── Project Capacity Table ── */

.capacity-projects-header,
.capacity-projects-row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0px 0;
	border-bottom: 1px solid var(--light-border);
}

.capacity-projects-header {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	color: var(--light-text);
	font-weight: 600;
}

.capacity-projects-row {
	font-size: 13px;
}

.capacity-proj-col-name  { flex: 2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.capacity-proj-col-size  { width: 80px; text-align: center; }
.capacity-proj-col-team  { width: 60px; text-align: center; }
.capacity-proj-col-hours { width: 80px; }
.capacity-proj-col-mode  { width: 110px; }

.capacity-hours-input,
.capacity-mode-select {
	font-size: 12px;
	padding: 4px 6px;
	border: 1px solid var(--border);
	border-radius: var(--border-radius-tiny);
	background: var(--white);
	width: 100%;
	box-sizing: border-box;
}

.capacity-proj-col-hours input {
    margin-bottom: 0!important;
    color: var(--black)!important;
}

/* ── Forecast Table ── */

.capacity-forecast-header,
.capacity-forecast-row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 0;
	border-bottom: 1px solid var(--light-border);
}

.capacity-forecast-header {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	color: var(--light-text);
	font-weight: 600;
}

.capacity-forecast-row {
	font-size: 13px;
}

.capacity-fc-col-name  { flex: 2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.capacity-fc-col-start { width: 90px; }
.capacity-fc-col-end   { width: 90px; }
.capacity-fc-col-hours { width: 70px; text-align: center; }
.capacity-fc-col-dur   { width: 70px; text-align: center; }

.capacity-source-badge {
	display: inline-block;
	font-size: 9px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	padding: 1px 5px;
	border-radius: 3px;
	background: #e8f5e9;
	color: #2e7d32;
	margin-left: 6px;
	vertical-align: middle;
}

/* ── Start Query ── */

.capacity-start-query {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-bottom: 16px;
}

.capacity-start-result-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px;
	border-radius: var(--border-radius-tiny);
	background: var(--extra-light);
	font-size: 13px;
}

.capacity-start-result-item i {
	font-size: 18px;
	flex-shrink: 0;
}

/* ── Strategy Allocation ── */

.capacity-strategy-list {
	display: flex;
	flex-direction: column;
	gap: 0px;
}

.capacity-strategy-item {
	display: flex;
	align-items: center;
	gap: 30px;
	height: 50px;
}

.capacity-strategy-name {
	min-width: 140px;
	font-size: 13px;
	font-weight: 500;
	color: var(--black);
	width: 300px;
}

.capacity-strategy-bar-container {
	flex: 1;
}

.capacity-strategy-bar {
	height: 2px;
	background: var(--border);
	border-radius: 4px;
	overflow: hidden;
}

.capacity-strategy-bar-fill {
	height: 100%;
	background: var(--primary);
	border-radius: 4px;
	transition: width 0.3s ease;
}

.capacity-strategy-pct {
	font-size: 13px;
	font-weight: 600;
	color: var(--dark-text);
	min-width: 40px;
	text-align: right;
}

.capacity-strategy-hours {
	min-width: 50px;
	text-align: right;
}

.capacity-strategy-total {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--border);
	font-size: 13px;
	color: var(--light-text);
}

/* ── AI Insights Panel ── */

.capacity-insights-loading {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 0;
}

.capacity-insights-list {
	display: flex;
	width: 100%;
	gap: 5px;
	flex-direction: row;
	flex-wrap: wrap;
}

.capacity-insight-card {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 25px;
	border-radius: var(--border-radius-tiny);
	background-color: var(--background-color);
	min-width: calc(33.3333% - 5px);
	flex: 1;
}

.capacity-insight-danger {background: var(--background-color);}
.capacity-insight-warn   { background: rgba(255, 193, 7, 0.06); }
.capacity-insight-info   {/* background: rgba(33, 150, 243, 0.06); */}
.capacity-insight-good   {/* background: rgba(76, 175, 80, 0.06); */}

.capacity-insight-icon {
	flex-shrink: 0;
}

.capacity-insight-danger .capacity-insight-icon i { color: var(--health-red); }
.capacity-insight-warn .capacity-insight-icon i   { color: var(--health-yellow); }
.capacity-insight-info .capacity-insight-icon i   { color: var(--primary); }
.capacity-insight-good .capacity-insight-icon i   {color: var(--good);}

.capacity-insight-title {
	/* font-size: 13px; */
	font-weight: 400;
	color: var(--black);
	margin-bottom: 0px;
}

.capacity-insight-text {
	color: var(--light-text);
	font-size: 13px;
}

/* ── My Week (Profile) ── */

.myweek-page {
	padding: 0;
	height: 100%;
}

.myweek-container {
	padding: 30px 40px 20px;
	/* background-color: var(--white); */
	/* border-radius: var(--border-radius-tiny); */
	/* box-shadow: var(--box-shadow); */
	height: 100%;
	min-height: calc(100dvh - 64px);
	transition: all .4s ease-in-out;
	width: 100%;
}

.myweek-container.sidebar-open {
    width: calc(100% - 420px);
}

.myweek-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}

.myweek-nav {
	display: flex;
	align-items: center;
	gap: 15px;
}

.myweek-nav-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: var(--border-radius-tiny);
	border: 1px solid var(--light-border);
	background-color: var(--white);
	cursor: pointer;
	transition: background 0.12s ease;
}

.myweek-nav-btn:hover {
	background: var(--extra-light);
}

.myweek-nav-btn i {
	font-size: 16px;
	color: var(--dark-text);
}

.myweek-week-label {
	font-size: 19px;
	font-weight: 400;
	color: var(--black);
	cursor: pointer;
	display: flex;
	align-items: center;
	font-family: var(--nothing);
	text-transform: lowercase;
}

.myweek-current-badge {
	font-size: 10px;
	background: var(--primary);
	color: var(--awhite);
	padding: 2px 6px;
	border-radius: 3px;
	margin-left: 10px;
	font-weight: 400;
	font-family: Sora, sans-serif;
}

.myweek-actions {
	display: flex;
	gap: 8px;
}

.myweek-utilization {
	margin-bottom: 15px;
	margin-top: 10px;
}

.myweek-utilization-header {
	display: flex;
	justify-content: space-between;
	margin-bottom: 6px;
}

.myweek-utilization-label {
	font-size: 13px;
	color: var(--dark-text);
}

.myweek-utilization-pct {
	font-size: 13px;
	font-weight: 600;
}

.myweek-utilization-bar {
	height: 5px;
	background: var(--border);
	border-radius: 4px;
	overflow: hidden;
}

.myweek-utilization-fill {
	height: 100%;
	border-radius: 4px;
	transition: width 0.3s ease;
}

.myweek-utilization-fill.health-green  { background: var(--health-green); }
.myweek-utilization-fill.health-yellow { background: var(--health-yellow); }
.myweek-utilization-fill.health-red    { background: var(--health-red); }
.myweek-utilization-fill.primary       { background: var(--primary); }

.myweek-commitment-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.myweek-commitment-item {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 0px 20px;
	height: 50px;
	background-color: var(--background-color);
	/* border-radius: var(--border-radius-tiny); */
	margin-bottom: 1px;
	/* box-shadow: var(--box-shadow); */
}

.myweek-commitment-item:last-child {
	border-bottom: none;
}

.myweek-commitment-name {
	flex: 1;
	font-size: 13px;
	font-weight: 300;
	color: var(--black);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.myweek-role-badge {
    height: 20px;
    line-height: 20px;
    display: inline-block;
    font-size: 10px;
    background-color: var(--extra-light);
    padding: 0 5px;
    margin-left: 5px;
}

.myweek-commitment-hours {
	display: flex;
	align-items: center;
	gap: 5px;
}

.myweek-hours-input {
	width: 60px;
	font-size: 13px;
	padding: 4px 6px;
	border: 1px solid var(--border);
	border-radius: var(--border-radius-tiny);
	text-align: center;
	margin-bottom: 0!important;
	border: none!important;
	background-color: var(--white)!important;
	border-radius: 3px!important;
	font-size: 12px!important;
	height: 30px!important;
}

input.myweek-hours-input:focus {
    border: none!important;
    box-shadow: none!important;
}

.myweek-commitment-actual {
	min-width: 80px;
}

.myweek-commitment-remove {
	cursor: pointer;
	color: var(--light-text);
	display: flex;
}

.myweek-commitment-remove i {
    font-size: 15px;
}

.myweek-commitment-remove:hover {
	color: var(--health-red);
}

.myweek-add-project {
	margin-top: 0px;
	display: flex;
	justify-content: space-between;
}

.myweek-add-project .btn.btn-transparent {
    background-color: transparent!important;
    /* border: 1px solid var(--light-border); */
    /* border-radius: 2px!important; */
    color: var(--primary)!important;
    height: 25px;
    line-height: 25px;
    padding: 0 10px!important;
}

.myweek-add-project .btn.btn-transparent i {
    color: var(--primary)!important;
}

.myweek-add-project-form {
	display: flex;
	gap: 8px;
	align-items: center;
}

.myweek-project-select {
	flex: 1;
	font-size: 13px;
	padding: 6px 8px;
	border: 1px solid var(--border);
	border-radius: var(--border-radius-tiny);
}

.myweek-actual-summary {
	display: flex;
	gap: 20px;
	font-size: 13px;
	color: var(--dark-text);
}


/* ── My Week: Up Next (Focus Queue) ── */

.myweek-focus {
	margin-bottom: 24px;
	margin-top: 30px;
}

.myweek-focus-loading {
	padding: 20px 0;
}

.myweek-focus-list {
	display: flex;
	flex-direction: column;
}

.myweek-focus-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 8px;
	cursor: pointer;
	transition: background 0.15s;
	background-color: var(--background-color);
	margin-bottom: 1px;
}

.myweek-focus-item:first-child {
    border-radius: 5px 5px 0 0;
}

.myweek-focus-item:last-child {
    border-radius: 0 0 5px 5px;
}

.myweek-focus-item:hover {
	background: var(--extra-light);
}

.myweek-focus-item:last-child {
	border-bottom: none;
}

.myweek-focus-sprint {
	border-left: 3px solid var(--primary);
	padding-left: 7px;
}

.myweek-focus-overdue {
	border-left: 3px solid var(--health-red, #f44336);
	padding-left: 7px;
}

.myweek-focus-rank {
	min-width: 20px;
	font-size: 11px;
	font-weight: 600;
	color: var(--light-text);
	text-align: center;
}

.myweek-focus-icon {
	display: flex;
	align-items: center;
}

.myweek-focus-icon i {
	font-size: 18px;
	color: var(--light-text);
}

.myweek-focus-overdue .myweek-focus-icon i {
	color: var(--health-red, #f44336);
}

.myweek-focus-sprint .myweek-focus-icon i {
	color: var(--primary);
}

.myweek-focus-body {
	flex: 1;
	min-width: 0;
}

.myweek-focus-summary {
	font-size: 13px;
	color: var(--dark-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.myweek-focus-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 0px;
}

.myweek-focus-project {
	font-size: 11px;
	color: var(--light-text);
}

.myweek-focus-type-badge {
	font-size: 9px;
	font-weight: 500;
	text-transform: uppercase;
	padding: 1px 5px;
	border-radius: 3px;
	background: var(--subtle);
	color: var(--light-text);
	height: 20px;
	line-height: 20px;
}

.myweek-badge-overdue {
	background: #fce4ec;
	color: #c62828;
}

.myweek-badge-mention {
	background: #e3f2fd;
	color: #1565c0;
}

.myweek-focus-sprint-badge {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	padding: 1px 5px;
	border-radius: 3px;
	background: var(--primary);
	color: var(--awhite, #fff);
}

.myweek-focus-filters {
	display: flex;
	gap: 4px;
	margin-bottom: 10px;
}

.myweek-focus-filters span {
	font-size: 11px;
	padding: 3px 10px;
	border-radius: 12px;
	cursor: pointer;
	color: var(--light-text);
	background: var(--subtle);
	transition: background 0.15s, color 0.15s;
}

.myweek-focus-filters span.active {
	background: var(--primary);
	color: var(--awhite, #fff);
}

.myweek-focus-list-full {
	max-height: 400px;
	overflow-y: auto;
}


/* ── My Week: Notes ── */

.myweek-notes {
	/* margin-top: 30px; */
}

.myweek-notes-input {
	width: 100%;
	min-height: 100px;
	padding: 20px;
	font-size: 13px;
	font-family: inherit;
	border: none;
	border-radius: var(--border-radius-tiny);
	resize: vertical;
	background: var(--white);
	color: var(--dark-text);
	box-sizing: border-box;
	background-color: var(--background-color);
}

.myweek-notes-input:focus {
	border-color: var(--primary);
	outline: none;
}

.myweek-notes-display {
	font-size: 13px;
	color: var(--dark-text);
	padding: 10px;
	white-space: pre-wrap;
	background: var(--subtle);
	border-radius: var(--border-radius-tiny);
}


/* ── My Week: Task count per commitment ── */

.myweek-commitment-task-count {
	min-width: 55px;
	font-size: 11px;
	color: var(--light-text);
}

.myweek-commitment-task-count .sub-text {
    font-size: 10px;
    /* background-color: var(--white); */
    padding: 0 2px;
}


/* ── My Week: Strategy Check-ins ── */

.myweek-strategy {
	/* margin-top: 30px; */
	margin-bottom: 24px;
}

.myweek-strategy-header-icon {
	font-size: 16px;
	vertical-align: -3px;
	margin-right: 4px;
}

.myweek-strategy-subheader {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	color: var(--light-text);
	margin-bottom: 8px;
	margin-top: 12px;
}

.myweek-strategy-contributing-toggle {
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 4px;
}

.myweek-strategy-contributing-toggle i {
	font-size: 16px;
}

.myweek-strategy-list {
	display: flex;
	flex-direction: column;
}

.myweek-strategy-item {
	border: 1px solid var(--light-border);
	border-bottom: none;
	background: var(--white);
	box-shadow: none!important;
}

.myweek-strategy-item:first-child {
	border-radius: 5px 5px 0 0;
}

.myweek-strategy-item:last-child {
	border-bottom: 1px solid var(--light-border);
	border-radius: 0 0 5px 5px;
}

.myweek-strategy-item:first-child:last-child {
	border-radius: 5px;
}

.myweek-strategy-item-main {
	display: flex;
	align-items: start;
	gap: 10px;
	padding: 15px;
	cursor: pointer;
	background-color: var(--background-color);
}

.myweek-strategy-item-main:hover {
	background: var(--hover);
}

.myweek-strategy-item-body {
	flex: 1;
	min-width: 0;
}

.myweek-strategy-objective {
	font-size: 13px;
	color: var(--dark-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-weight: 400;
}

.myweek-strategy-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 0px;
}

.myweek-strategy-due-badge {
	font-size: 11px;
	font-weight: 500;
	color: var(--health-yellow, #ff9800);
	display: flex;
	align-items: center;
	gap: 2px;
}

.myweek-strategy-due-badge i {
	font-size: 13px;
}

.myweek-strategy-checkin-toggle {
	display: flex;
	align-items: center;
}

.myweek-strategy-checkin-toggle i {
	font-size: 20px;
	color: var(--light-text);
}

.myweek-strategy-link-arrow {
	font-size: 18px;
	color: var(--light-text);
}

.myweek-strategy-checkin-panel {
	padding: 16px 20px;
	border-top: 1px solid var(--light-border);
	background: var(--subtle);
	animation: dropdownFadeIn 0.2s ease-out;
}

.myweek-strategy-empty {
	margin-top: 30px;
}

.myweek-program-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 10px;
	font-weight: 500;
	color: var(--light-text);
	background: var(--subtle);
	padding: 1px 8px 1px 5px;
	border-radius: 3px;
	margin-left: 6px;
	vertical-align: middle;
}


/* ── Admin Capacity Settings ── */

.admin-capacity-settings {
	max-width: 500px;
}

.admin-setting-group {
	margin-bottom: 24px;
}

.admin-setting-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--dark-text);
	margin-bottom: 4px;
}

.admin-setting-description {
	margin-bottom: 8px;
}

.admin-capacity-select,
.admin-capacity-input {
	font-size: 13px;
	padding: 0px 15px;
	border-radius: var(--border-radius-tiny);
	background: var(--white);
	width: 100%;
	box-sizing: border-box;
	height: 50px;
	line-height: 50px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.dropdown-selector.admin-capacity-select {
    box-shadow: var(--box-shadow);
}

.admin-capacity-input {
	width: 100px;
	margin-bottom: 0!important;
	border: none!important;
	background-color: var(--background-color)!important;
	padding: 0 15px!important;
	border-radius: 5px!important;
	height: 40px!important;
	line-height: 40px!important;
}

input.admin-capacity-input.bg-white-box {
    background-color: var(--white)!important;
    box-shadow: var(--box-shadow);
    font-size: 13px!important;
    height: 50px!important;
    max-width: 100px;
}

input.admin-capacity-input.bg-white-box:focus {
    border: none!important;
}

input.admin-capacity-input.bg-white-box {}

.admin-capacity-input {}

.dark .admin-capacity-input {
    background-color: var(--extra-light)!important;
}

.admin-capacity-page .admin-capacity-settings {
	max-width: 900px;
	margin: 0 auto;
}

.admin-capacity-user-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 12px;
	display: flex;
	flex-direction: column;
	box-shadow: var(--box-shadow);
	border-radius: var(--border-radius-tiny);
}

.admin-capacity-user-table thead {
    border-bottom: none;
    padding: 20px 20px 0;
}

.admin-capacity-user-table th {
    height: 50px;
    color: var(--light-text)!important;
    font-weight: 300!important;
}

.admin-capacity-user-table tbody {
    padding: 0 20px 30px 30px !important;
}

.admin-capacity-user-table th {
	text-align: left;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--light-text);
	padding: 8px 12px;
	border-bottom: none;
	box-shadow: none;
}

.admin-capacity-user-table td {
	padding: 0;
	border-bottom: 1px solid var(--border);
	font-size: 13px;
	vertical-align: top;
	height: 50px;
	line-height: 50px;
	border: none;
}

.admin-capacity-user-table td, .admin-capacity-user-table th {
    flex: 1;
    align-items: center;
    display: flex;
}

.admin-capacity-user-table td:last-child, .admin-capacity-user-table th:last-child {
    text-align: right;
    justify-content: end;
}

.admin-capacity-user-table tr {
    height: 50px!important;
    line-height: 50px!important;
    display: flex;
    width: 100%;
    gap: 10px;
}

.admin-capacity-user-cell {
	display: flex;
	align-items: center;
	gap: 8px;
}

.admin-capacity-user-image {
	width: 28px;
	height: 28px;
	border-radius: 3px;
	background-size: cover;
	background-position: center;
	flex-shrink: 0;
	margin-right: 5px;
}

.admin-capacity-ooo-cell {
	min-width: 300px;
}

.admin-capacity-ooo-range {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 6px;
	background-color: var(--xwhite);
	padding: 20px;
	box-shadow: var(--box-shadow);
	z-index: 9999;
	border-radius: var(--border-radius-tiny);
}

.admin-capacity-ooo-range input {
    margin-bottom: 0!important;
    border: none!important;
    background-color: var(--background-color)!important;
    padding: 0 15px!important;
}

.admin-capacity-date-input {
	font-size: 12px;
	padding: 4px 6px;
	border: 1px solid var(--border);
	border-radius: var(--border-radius-tiny);
	background: var(--white);
	width: 130px;
}

.admin-capacity-note-input {
	font-size: 12px;
	padding: 4px 6px;
	border: 1px solid var(--border);
	border-radius: var(--border-radius-tiny);
	background: var(--white);
	width: 120px;
}


/* ── Inline Hours Dialog (Project Roles) ── */

.inline-hours-dialog {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 0 15px;
	background: var(--extra-light);
	margin: 0;
	border: 1px solid var(--border);
}

.inline-hours-user {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 500;
	min-width: 120px;
}

.inline-hours-user .image.user-profile-image {
    margin-top: 0!important;
}

.inline-hours-user .image {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background-size: cover;
	background-position: center;
	flex-shrink: 0;
}

.inline-hours-input {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
}

.inline-hours-input label {
	font-size: 11px;
	color: var(--light-text);
	white-space: nowrap;
}

.inline-hours-input input[type="number"] {
	width: 65px;
	padding: 4px 8px;
	border: 1px solid var(--border);
	border-radius: var(--border-radius-tiny);
	font-size: 13px;
	background: var(--white);
}

.inline-hours-actions {
	display: flex;
	gap: 10px;
	margin-left: auto;
}

.role-hours {
	font-size: 11px;
	margin-left: 4px;
}


/* ── OOO Badge (Dashboard) ── */

.capacity-ooo-badge {
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 2px 6px;
	border-radius: var(--border-radius-tiny);
	background: var(--health-yellow);
	color: #000;
	margin-left: 8px;
}


/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
	.plan-tree-scroll-wrapper {
		padding: 20px 16px;
	}

	.plan-pipeline-columns {
		flex-direction: column;
		min-width: unset;
	}

	.plan-pipeline-col {
		min-width: unset;
	}

	.capacity-dash {
		padding: 20px 16px;
	}

	.capacity-member-item {
		flex-wrap: wrap;
	}

	.capacity-subnav {
		overflow-x: auto;
	}
}


.work-section-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 300;
    color: var(--light-text);
    margin-bottom: 5px;
    text-transform: uppercase;
}

.work-section-header i {
    font-size: 16px;
    color: var(--primary);
}

.work-section-link {
    margin-left: auto;
    color: var(--primary);
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 12px;
    text-transform: none;
}

.work-section-link i {
    font-size: 16px;
    color: var(--primary);
}


/* ── My Week: Project filters ─────────────────────────────────── */
.myweek-project-filters {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.myweek-project-filters > span {
    font-size: 11px;
    padding: 0px 10px;
    border-radius: 3px;
    cursor: pointer;
    color: var(--light-text);
    background: var(--bg, #f5f5f5);
    transition: background 0.15s, color 0.15s;
    user-select: none;
}

.myweek-project-filters > span:hover {
    background: var(--border);
}

.myweek-project-filters > span.active {
    background: var(--primary);
    color: var(--awhite, #fff);
}

.myweek-filter-active-dot {
    font-size: 11px;
    cursor: pointer;
    color: var(--light-text);
    display: flex;
    align-items: center;
}

.myweek-filter-active-dot i {
    font-size: 14px;
}

.myweek-filter-active-dot:hover {
    color: var(--red, #ef4444);
}


/* ── My Week: Priority number badge ───────────────────────────── */
.myweek-priority-num {
    font-size: 11px;
    font-weight: 300;
    color: var(--light-text);
    min-width: 18px;
    text-align: right;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
    margin-right: 10px;
}

/* ── My Week: Project name link ───────────────────────────────── */
.myweek-commitment-project-link {
    color: inherit;
    text-decoration: none;
    color: var(--black)!important;
}

.myweek-commitment-project-link:hover {
    text-decoration: underline;
    color: var(--primary);
}

/* ── My Week: Check-in note textarea (override Materialize) ────── */
.myweek-strategy-checkin-panel .okr-checkin-note {
    box-sizing: border-box;
    border: 1px solid var(--light-border);
    height: auto;
    margin-bottom: 12px;
    font-size: 12px!important;
}

.myweek-strategy-checkin-panel .okr-checkin-note:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: none;
}


/* ── My Week: Tab nav ─────────────────────────────────────────── */
.myweek-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 30px;
    padding: 0 2px;
}

.myweek-tab {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--light-text);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 0.15s, border-color 0.15s;
    user-select: none;
}

.myweek-tab i {
    font-size: 16px;
}

.myweek-tab:hover {
    color: var(--dark-text);
}

.myweek-tab.active {
    color: var(--primary);
    border-bottom-color: var(--primary);
}

/* ── My Week: Plan tab actions bar ───────────────────────────── */
.myweek-plan-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
    margin-bottom: 12px;
}

/* ── My Week: OOO ────────────────────────────────────────────── */
.myweek-ooo-banner {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: var(--white);
    border: 1px solid var(--light-border);
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 13px;
    color: var(--orange);
    margin-bottom: 30px;
}

.dark .myweek-ooo-banner {
}

.myweek-ooo-banner > i {
    color: var(--orange);
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

.myweek-ooo-banner-body {
    flex: 1;
    min-width: 0;
}

.myweek-ooo-banner-title {
    font-weight: 300;
    width: 100%;
    display: flex;
}

.myweek-ooo-banner-detail {
    font-size: 12px;
}

.myweek-ooo-banner.myweek-ooo-banner-compact {
    align-items: center;
    margin-bottom: 8px;
    padding: 6px 10px;
    font-size: 12px;
    gap: 6px;
}

.myweek-ooo-banner.myweek-ooo-banner-compact > i {
    font-size: 14px;
    margin-top: 0;
}

.myweek-ooo-banner.myweek-ooo-banner-compact .myweek-ooo-banner-title {
    width: auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
}

.myweek-ooo-banner-spacer {
    flex: 1;
}

.myweek-ooo-edit,
.myweek-ooo-clear {
    cursor: pointer;
    font-size: 11px;
    flex-shrink: 0;
    margin-top: 2px;
}

.myweek-ooo-edit:hover,
.myweek-ooo-clear:hover {
    color: var(--dark-text);
    text-decoration: underline;
}

.myweek-ooo-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 12px;
    text-transform: none;
    font-weight: 400;
}

/* ── My Week: OOO detail panel ───────────────────────────────── */
.myweek-ooo-panel {
    border-top: none;
    margin-top: 20px;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
    padding: 30px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 5px;
    background-color: var(--white);
}

.myweek-ooo-field {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 140px;
    flex: 1;
}

.myweek-ooo-field > label {
    font-size: 12px!important;
}

.myweek-ooo-select,
.myweek-ooo-input {
    font-size: 13px!important;
    padding: 0 15px!important;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--background-color)!important;
    color: var(--black);
    height: auto;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
}

.myweek-ooo-select:focus,
.myweek-ooo-input:focus {
    outline: none;
    border-color: var(--primary);
}

.myweek-ooo-checkbox-row {
    flex-direction: row;
    align-items: center;
    gap: 6px;
    flex-basis: 100%;
    cursor: pointer;
}

.myweek-ooo-checkbox-row input[type="checkbox"] {
    margin: 0;
    width: 14px;
    height: 14px;
    cursor: pointer;
}

/* ══════════════════════════════════════════════════════════════════
   My Week: Google Calendar-Style Time Grid
   ══════════════════════════════════════════════════════════════════ */

.myweek-calendar {
    padding-top: 0;
    position: relative;
    background-color: var(--white);
    border-radius: 6px;
    box-shadow: var(--box-shadow);
    overflow: hidden;
}

/* Column header (sticky inside each day column) */
.myweek-cal-col-header {
    position: sticky;
    top: 0;
    z-index: 9;
    background: var(--white);
    padding: 8px 10px 6px;
    border-bottom: 1px solid var(--border);
}

.myweek-cal-today .myweek-cal-col-header {
    border-bottom: 1px solid var(--primary);
    color: var(--primary);
}

.myweek-cal-today .myweek-cal-day-date {
    color: var(--primary);
}
.myweek-cal-col-header.myweek-cal-over .myweek-cal-header-hours { color: var(--orange); }

/* Gutter header spacer (matches column header height) */
.myweek-cal-gutter-header {
    position: sticky;
    top: 0;
    z-index: 6;
    background: var(--white);
    height: 60.5px;
    border-bottom: 2px solid var(--light-border);
    border-right: 1px solid var(--light-border);
}

.myweek-cal-header-top {
    display: flex;
    align-items: baseline;
    gap: 4px;
}

.myweek-cal-day-label {font-size: 12px;font-weight: 600;}
.myweek-cal-day-date { font-size: 11px; color: var(--light-text); }
.myweek-cal-header-hours {font-size: 11px;/* margin-top: 2px; */}

.myweek-today-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--primary); display: inline-block; margin-left: 2px; vertical-align: middle;
}

/* Scroll container */
.myweek-cal-scroll {
    display: flex;
    overflow-y: auto;
    overflow-x: auto;
    max-height: calc(100dvh - 212px);
}

/* Shared time gutter (24 hours) */
.myweek-cal-time-gutter {
    width: 48px;
    flex-shrink: 0;
    /* border-right: 1px solid var(--border); */
    /* background: var(--white); */
    position: sticky;
    left: 0;
    z-index: 2;
}

.myweek-cal-gutter-label {
    font-size: 10px;
    font-weight: 500;
    color: var(--light-text);
    text-align: right;
    padding-right: 6px;
    box-sizing: border-box;
    border-bottom: 1px solid var(--light-border, rgba(0,0,0,0.05));
    display: flex;
    align-items: flex-start;
    padding-top: 2px;
    padding-left: 5px;
    border-right: 1px solid var(--light-border);
    background-color: var(--white)!important;
}

.myweek-gutter-dimmed {background: var(--bg-dim, rgba(0,0,0,0.02));}

/* 7-day grid */
.myweek-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    flex: 1;
    min-width: 0;
}

.myweek-cal-col {
    border-right: 1px solid var(--light-border, rgba(0,0,0,0.05));
    min-width: 250px;
    /* background-color: var(--white); */
}

.myweek-cal-col:last-child {/* border-right: none; */}
.myweek-cal-col.myweek-cal-off {
    opacity: 0.55;
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 8px,
        rgba(255, 255, 255, 0.025) 8px,
        rgba(255, 255, 255, 0.025) 16px
    );
}
.myweek-cal-col.myweek-cal-off .myweek-cal-col-header {
    color: var(--light-text);
}

/* Day canvas (1440px tall, absolute positioning context) */
.myweek-cal-day-canvas {
    position: relative;
    /* height set via ng-style: 1440px */
    background-image: repeating-linear-gradient(to bottom, var(--white, var(--white)) 0px, var(--white, var(--white)) 1px, transparent 1px, transparent 90px);
    background-size: 100% 90px;
    cursor: pointer;
    z-index: 0;
    background-color: var(--background-color);
}

.dark .myweek-cal-day-canvas {
    background-color: transparent;
    background-image: repeating-linear-gradient(to bottom, var(--light-border, var(--white)) 0px, var(--light-border, var(--white)) 1px, transparent 1px, transparent 90px);
}

/* Dim overlay for non-working hours */
.myweek-cal-dim-overlay {
    position: absolute;
    left: 0; right: 0;
    background: var(--bg-dim, rgba(0,0,0,0.03));
    pointer-events: none;
    z-index: 0;
}

/* Current time line */
.myweek-cal-now-line {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--primary);
    z-index: 10;
    pointer-events: none;
}

.myweek-cal-now-line::before {
    content: '';
    position: absolute;
    left: -4px;
    top: -3px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--primary);
}

/* ── Task blocks (absolutely positioned) ──────────────────────── */
.myweek-task-block {
    position: absolute;
    left: 2px;
    right: 5px!important;
    /* top and height set via ng-style */
    box-shadow: var(--box-shadow);
    /* border-radius: 2px; */
    background: var(--white);
    padding: 10px 10px 5px 10px;
    overflow: hidden;
    z-index: 1;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    transition: background-color .2s ease-in-out;
    border-bottom: 1px solid var(--light-border);
    margin-top: 1px;
    cursor: pointer;
}

.myweek-task-micro.myweek-task-block {
    padding: 5px!important;
}

/* Hint the compositor to repaint efficiently during live drag/resize */
.myweek-task-dragging,
.myweek-task-block:active {
    will-change: top, height;
}

.myweek-task-block.myweek-task-completed {
    opacity: .5;
    text-decoration: line-through;
}

.dark .myweek-task-block {
    border-color: var(--white);
}

.dark .myweek-task-block {
    background-color: var(--background-color);
}

.myweek-backlog-sidebar .myweek-task-block.myweek-task-block-compact {
    padding: 15px 20px 15px 13px;
    box-shadow: none;
    border-radius: 0;
}

.myweek-backlog-sidebar .myweek-task-block.myweek-task-block-compact > i {display: none;}

.myweek-backlog-sidebar .myweek-task-block.myweek-task-block-compact .myweek-task-content {
    line-height: 21px!important;
}

.myweek-task-block.selected-task, .myweek-task-block.selected-task:hover {
    background-color: var(--primary)!important;
}

.myweek-task-block.selected-task .sub-text, .myweek-task-block.selected-task span, .selected-task .myweek-task-pinned-dot {
    color: var(--awhite)!important;
}

.myweek-task-block:hover {
    z-index: 5;
    background-color: var(--extra-light)!important;
}

/* Pinned vs auto-scheduled visual distinction */
.myweek-task-auto {
    /* opacity: 0.85; */
    border-left-style: dashed;
    border-left-color: var(--light-text);
}

/* Sprint overrides type border color */
.myweek-task-sprint { border-left-color: var(--green, #22c55e) !important; }

/* Overdue background tint */
.myweek-item-type-overdue .myweek-task-name {
    color: var(--warning);
}

/* Done/closed task styling */
.myweek-task-done {
    opacity: 0.5;
    text-decoration: line-through;
}

.myweek-task-done .myweek-task-name {
    text-decoration: line-through;
    color: var(--light-text);
}

/* Completion checkbox */
.myweek-task-check {
    display: flex;
    align-items: center;
    cursor: pointer;
    flex-shrink: 0;
    color: var(--light-text);
    z-index: 2;
}

.myweek-task-check i {font-size: 14px;}

.myweek-task-check:hover i {
    color: var(--good);
}
.myweek-task-check:hover i { color: var(--green, #22c55e); }
.myweek-task-done .myweek-task-check i { color: var(--green, #22c55e); }

/* Week type message (past/future empty) */
.myweek-week-type-message {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 20px 20px;
    color: var(--light-text);
    font-size: 14px;
    position: absolute;
    top: -65px;
    left: 275px;
    font-size: 13px;
}

.myweek-week-type-message span {font-size: 12px;}

.myweek-week-type-message i {
    font-size: 20px;
}

/* Status-specific classes (available for custom styling via myweek-status-{statusId}) */
/* Common statuses get visual treatment */

/* Compact mode (< 40px) */
.myweek-task-compact {padding: 1px 5px 1px 5px;}
.myweek-task-compact .myweek-task-name {-webkit-line-clamp: 1;font-size: 10px;line-height: 20px;padding: 0 4px;}

/* Micro mode (< 20px) */
.myweek-task-micro .myweek-task-content {/* display: none; */}
.myweek-task-micro .myweek-task-time { display: none; }

/* Dragging state */
.myweek-task-dragging {
    opacity: 0.7;
    z-index: 100 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    cursor: grabbing;
}

/* Remove button (hover) */
.myweek-task-remove {
    /* position: absolute; */
    /* bottom: 1px; */
    /* right: 20px; */
    /* width: 16px; */
    /* height: 16px; */
    /* display: none; */
    /* text-align: center; */
    /* align-items: center; */
    /* justify-content: center; */
    cursor: pointer;
    color: var(--light-text);
    border-radius: 3px;
    z-index: 2;
    height: 15px;
}

/* Honest-overflow badge: semantic warning color, not the accent — it flags a state. */
.myweek-task-overflow {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 3;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.4;
    padding: 0 5px;
    border-radius: 0;
    background: var(--background-color);
    color: var(--warning);
    pointer-events: none;
    white-space: nowrap;
}

/* Duplicate (hover) — same footprint as its siblings. */
.myweek-task-duplicate {
    cursor: pointer;
    color: var(--light-text);
    border-radius: 3px;
    z-index: 2;
    height: 15px;
}

.myweek-task-duplicate i {font-size: 16px;}
.myweek-task-duplicate:hover i {color: var(--primary);}

/* A copy block: subtle provenance marker so two identical blocks read as intentional. */
.myweek-task-block.is-copy-block {
    border-left-style: dashed;
}

.myweek-task-remove i {font-size: 18px;}
.myweek-task-remove:hover i {color: var(--warning);}
.myweek-task-block:hover .myweek-task-remove {}

/* Resize handle */
.myweek-task-resize-handle {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    border-bottom: 1px solid transparent;
    cursor: ns-resize!important;
    border-radius: 0 0 4px 4px;
    transition: all .3s ease-in-out;
}

.myweek-task-block:hover .myweek-task-resize-handle {}

.myweek-task-resize-handle:hover,
.myweek-task-resize-handle:active {background: var(--primary);}

/* Task content */
.myweek-task-content {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.myweek-task-name {
    font-size: 12px;
    font-weight: 400;
    color: var(--black);
    line-height: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
    cursor: pointer;
}

.selected-task .myweek-task-name {
    color: var(--awhite);
}

.myweek-task-overdue .myweek-task-name {
    color: var(--warning);
}

.myweek-backlog .myweek-task-name {
    font-size: 13px;
    font-weight: 300;
}

.myweek-task-meta {
    font-size: 10px;
    line-height: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-left: 17px;
}

.myweek-task-meta .sub-text {
    font-size: 9px;
}

.myweek-task-time {
    font-size: 10px;
    color: var(--light-text);
    flex-shrink: 0;
}

.myweek-task-pinned-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--primary);
    display: none;
    margin-left: 4px;
    vertical-align: middle;
}

.myweek-task-type-icon {
    font-size: 16px;
    color: var(--light-text);
    flex-shrink: 0;
    align-self: center;
}

/* Type-specific icon colors (matches profile focus page) */
.myweek-icon-task    { color: var(--highlight, #42a5f5); }
.myweek-icon-todo    { color: var(--todo-color, #66bb6a); }
.myweek-icon-overdue { color: var(--warning, #ef5350); }
.myweek-icon-mention { color: var(--primary); }

/* Type-specific left border on backlog items */
.dark .myweek-item-type-task, .myweek-item-type-task    {border-left-color: var(--highlight);}

.dark .myweek-item-type-mention, .myweek-item-type-mention {
    border-left-color: var(--primary);
}

.dark .myweek-item-type-todo, .myweek-item-type-todo {
    border-left-color: var(--todo-color)!important;
}

.myweek-icon-task {
    color: var(--highlight)!important;
}
.dark .myweek-item-type-todo, .myweek-item-type-todo    {border-left-color: var(--light-text);}

.myweek-icon-todo {
    color: var(--todo-color)!important;
}
.myweek-item-type-overdue {/* border-left-color: var(--warning, #ef5350); */}
.myweek-item-type-mention { border-left-color: var(--primary); }

.myweek-task-sprint-badge {
    font-size: 8px; font-weight: 700;
    color: var(--green, #22c55e);
    background: var(--green-bg, #f0fdf4);
    border-radius: 3px; padding: 0 3px;
}

/* Estimate input */
.myweek-task-est-input {
    width: 30px; height: 22px;
    font-size: 10px; font-weight: 600;
    color: var(--dark-text);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 1px 2px;
    text-align: center;
    margin: 0;
    box-sizing: border-box;
    -moz-appearance: textfield;
}

.myweek-task-est-input::-webkit-inner-spin-button,
.myweek-task-est-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.myweek-task-est-input:focus { outline: none; border-color: var(--primary); }

/* Backlog compact blocks (list style, not absolute) */
.myweek-task-block-compact {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    height: auto;
    min-height: 40px;
    padding: 6px 10px;
    margin-bottom: 1px;
    background: var(--background-color);
    border-radius: 4px;
    /* border-left inherited from .myweek-item-type-{type} */
}

/* Click-to-add popover */
.myweek-add-popover {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    width: 280px;
}

.myweek-add-popover-inner {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 12px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.myweek-add-popover-time {
    font-size: 12px;
    font-weight: 600;
}

.myweek-cal-empty {
    padding: 40px 20px;
    text-align: center;
}

/* ── My Week: Ad-hoc Carry-Forward Prompt ────────────────────── */
.myweek-adhoc-prompt {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
}

.myweek-adhoc-prompt-inner {
    background: var(--white);
    border-radius: 8px;
    padding: 24px;
    max-width: 420px;
    width: 90%;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}

.myweek-adhoc-prompt-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 500;
    color: var(--dark-text);
    margin-bottom: 8px;
}

.myweek-adhoc-prompt-header i {
    color: var(--primary);
    font-size: 20px;
}

.myweek-adhoc-prompt-body {
    margin-bottom: 12px;
    font-size: 13px;
}

.myweek-adhoc-prompt-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
    max-height: 200px;
    overflow-y: auto;
}

.myweek-adhoc-prompt-item {
    display: flex;
    justify-content: space-between;
    padding: 6px 10px;
    background: var(--background-color);
    border-radius: 4px;
    font-size: 13px;
}

.myweek-adhoc-prompt-actions {
    display: flex;
    gap: 8px;
}

/* ── My Week: Drag Placeholder ───────────────────────────────── */
.myweek-drag-placeholder {
    position: absolute;
    left: 2px; right: 2px;
    border: 2px dashed var(--primary);
    border-radius: 4px;
    background: var(--primary-bg, rgba(59,130,246,0.08));
    pointer-events: none;
    z-index: 50;
    box-sizing: border-box;
}

/* ── My Week: Toolbar ─────────────────────────────────────────── */
.myweek-cal-toolbar-float {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
}

.myweek-cal-toolbar-float .btn.btn-small, .myweek-cal-toolbar-float .btn.btn-small i {
    color: var(--icon-color)!important;
}

.myweek-cal-toolbar-right .btn.btn-transparent.btn-small:last-child {
    padding: 5px!important;
}

.myweek-cal-toolbar-float .btn.btn-small:hover, .myweek-cal-toolbar-float .btn.btn-small:hover i {
    color: var(--primary)!important;
}

.myweek-cal-toolbar-left,
.myweek-cal-toolbar-right {
    display: flex;
    align-items: center;
    gap: 6px;
}

.myweek-cal-toolbar-left {
    padding-left: 1px;
}

.myweek-cal-toolbar-left span {
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.myweek-cal-toolbar-left i {
    font-size: 16px;
}

.myweek-cal-toolbar-right {
    margin-top: 0px;
    gap: 0;
}

.myweek-cal-toolbar-right .btn i {
    color: var(--primary)!important;
}

.myweek-rebalance-inline {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--orange, #f59e0b);
    cursor: pointer;
}

.myweek-rebalance-inline i {
    color: var(--orange);
}

.myweek-rebalance-inline i { font-size: 14px; }

.myweek-rebalance-link {
    /* color: var(--primary); */
    text-decoration: underline;
    margin-left: 5px;
}

.myweek-backlog-badge {
    font-size: 10px;
    background: var(--white);
    color: var(--primary);
    border-radius: 3px;
    padding: 0 5px;
    margin-left: 2px;
    height: 20px;
    line-height: 20px;
}

/* ── My Week: Backlog Sidebar ────────────────────────────────── */
.myweek-backlog-sidebar {
    position: fixed;
    right: 0;
    top: 64px;
    bottom: 0;
    width: 420px;
    transform: translateX(100%);
    transition: all 0.5s ease;
    background: var(--white);
    /* border-left: 1px solid var(--border); */
    overflow-y: auto;
    z-index: 99999;
    padding: 20px 30px 30px;
    box-sizing: border-box;
}

.myweek-backlog-sidebar.open {
    transform: translateX(0);
    box-shadow: var(--box-shadow);
}

.myweek-backlog-sidebar-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.myweek-backlog-sidebar-header .work-section-header {
    flex: 1;
    margin-bottom: 0;
}

.myweek-sidebar-close {
    font-size: 18px;
    cursor: pointer;
    color: var(--light-text);
    flex-shrink: 0;
}

i.myweek-sidebar-close {
    margin-top: 3px;
}

.myweek-sidebar-close:hover {
    color: var(--primary)!important;
}

.myweek-sidebar-close:hover {
    color: var(--dark-text);
}

/* ── My Week: Task Detail Panel ──────────────────────────────── */
.myweek-task-panel {
    position: fixed;
    right: 0;
    top: 64px;
    bottom: 0;
    width: 420px;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    background: var(--white);
    border-left: 1px solid var(--border);
    overflow-y: auto;
    z-index: 25;
    box-sizing: border-box;
    transition: all .4s ease-in-out;
}

.myweek-task-panel.ng-hide {
    display: flex!important;
    height: unset!important;
    width: unset!important;
    opacity: 0!important;
    visibility: hidden;
}

.myweek-task-panel.open {
    transform: translateX(0);
    box-shadow: var(--box-shadow);
    border: none;
}

.myweek-task-panel-header {
    display: flex;
    /* align-items: flex-start; */
    /* gap: 10px; */
    padding: 15px 20px;
    border-bottom: 1px solid var(--light-border);
}

.myweek-task-panel-header .flex-between {
    justify-content: space-between!important;
    align-items: flex-start!important;
    width: 100%;
}

.myweek-task-panel-header .flex-between .btn-transparent {
}

.myweek-task-panel-title {
    flex: 1;
    font-size: 14px;
    font-weight: 400;
    line-height: 14px;
    cursor: pointer;
}

.myweek-task-title-wrapper:hover span {
    text-decoration: underline;
    color: var(--primary);
}

.myweek-task-panel-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.myweek-task-panel-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.myweek-task-panel-field.task-estimate-field .sub-text {
    font-size: 10px!important;
    display: flex;
    flex-direction: column;
    gap: 0px;
    line-height: 15px!important;
}

.myweek-task-panel-field .flex-between {
    /* flex-direction: row; */
    align-items: center;
    gap: 10px;
}

.myweek-task-panel-field.task-scheduled-field span {
    font-size: 12px;
    font-weight: 500;
}

.myweek-task-panel-field .dropdown-selector {
    background-color: var(--background-color)!important;
    justify-content: space-between;
    height: 50px;
    color: var(--black)!important;
    border-radius: var(--border-radius-tiny);
}

.dropdown-selector.myweek-add-project-dropdown {
    display: flex;
    align-items: center;
}

.myweek-task-panel-field span {
    font-weight: 400;
}

.myweek-task-panel-field input {
    margin-bottom: 0!important;
    background-color: var(--background-color)!important;
    padding: 0 15px!important;
    border-radius: var(--border-radius-tiny)!important;
    font-size: var(--font-size)!important;
}

input.myweek-task-est-input {
    padding: 0 5px!important;
    width: 50px!important;
    height: 40px!important;
}

.myweek-task-panel-field label {
    font-size: 10px!important;
    text-transform: uppercase;
    color: var(--light-text)!important;
    letter-spacing: 0.3px;
}

.myweek-task-panel-actions {
    display: flex;
    /* flex-direction: column; */
    gap: 5px;
    padding-top: 20px;
    /* border-top: 1px solid var(--border); */
}

.myweek-task-panel-actions > .btn.btn-small {
    background-color: var(--primary);
    color: var(--awhite)!important;
    /* width: auto!important; */
    /* max-width: unset!important; */
    justify-content: center;
    height: 40px;
}

.myweek-task-panel-actions > .btn.btn-small:first-child i {
    color: var(--awhite)!important;
}

.myweek-task-panel-actions > .btn.btn-small.btn-transparent {
    background-color: var(--background-color)!important;
    color: var(--black)!important;
}

.myweek-task-panel-actions > .btn.btn-small.btn-transparent:hover {
    background-color: var(--extra-light)!important;
}

/* ── My Week: Task panel description editor ──────────────────── */
.myweek-task-panel-description {
    align-items: stretch;
}

.myweek-task-description-display {
    font-size: 12px!important;
    padding: 8px 10px;
    border: 1px dashed transparent;
    border-radius: var(--border-radius-tiny);
    cursor: pointer;
    min-height: 36px;
    color: var(--dark-text);
    background: var(--background-color);
    line-height: 1.4;
}

.myweek-task-description-display:hover {
    border-color: var(--light-border, var(--border));
}

.myweek-task-description-display:empty::before {
    content: 'Click to add description...';
    color: var(--light-text);
    font-style: italic;
}

.myweek-task-description-actions {
    display: flex;
    gap: 6px;
    margin-top: 6px;
}

.myweek-task-description-actions > .btn.btn-small {
    background-color: var(--primary);
    height: 32px;
    justify-content: center;
}

.myweek-task-description-actions > .btn.btn-small.btn-transparent {
    background-color: var(--background-color)!important;
    color: var(--black)!important;
}

/* ── My Week: Calendar readonly (Public tab) ─────────────────── */
.myweek-cal-readonly .myweek-task-block {
    cursor: default;
}

.myweek-cal-readonly .myweek-task-grip {
    display: none;
}

/* ── My Week: Working hours per day ──────────────────────────── */
.myweek-working-hours {
    margin-bottom: 12px;
    background-color: var(--white);
    padding: 30px;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
}

.myweek-wh-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    font-size: 12px;
    padding: 4px 0;
}

.myweek-wh-toggle:hover {
    color: var(--dark-text);
}

.myweek-wh-toggle i {
    font-size: 16px;
}

/* Working-hours editor — restored in plan.css (loads after core.css, so these
   win). The other agent's partial core.css rules are harmlessly overridden. */
.myweek-wh-inputs {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 6px;
    padding: 16px 20px;
    border: 1px solid var(--light-border);
    background-color: var(--white);
    border-radius: var(--border-radius-tiny);
}

.myweek-wh-day {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 4px 0;
}

.myweek-wh-label {
    font-size: 10px!important;
    font-weight: 600;
    color: var(--light-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    min-width: 32px;
}

.myweek-wh-off-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px!important;
    cursor: pointer;
    min-width: 48px;
    color: var(--primary)!important;
}

.myweek-wh-off-toggle input[type="checkbox"] {
    margin: 0!important;
}

.myweek-wh-inputs input.myweek-wh-time-input {
    font-size: 12px!important;
    padding: 2px 6px!important;
    width: 96px!important;
    height: 28px!important;
    margin: 0!important;
    border: 1px solid var(--light-border, var(--border))!important;
    border-radius: var(--border-radius-tiny)!important;
    background: var(--background-color)!important;
    color: var(--black);
    box-shadow: none!important;
}

.myweek-wh-inputs input.myweek-wh-time-input:focus {
    outline: none;
    border-color: var(--primary)!important;
}

.myweek-wh-inputs input.myweek-wh-time-input:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.myweek-wh-dash {
    font-size: 12px;
    color: var(--light-text);
}

.myweek-wh-hours {
    min-width: 34px;
    text-align: right;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
    color: var(--light-text);
}

.myweek-wh-total {
    font-size: 12px;
    padding-top: 10px;
    margin-top: 6px;
    border-top: 1px solid var(--light-border, var(--border));
}

.myweek-wh-total .flex-between {
    align-items: center;
}

.myweek-wh-total-label {
    font-size: 12px;
}

.myweek-wh-total-label strong {
    font-weight: 600;
    color: var(--dark-text);
}

.myweek-action-buttonz {
    display: flex;
    align-items: center;
    gap: 6px;
}

.myweek-action-buttonz .btn.btn-small {
    height: 32px;
    justify-content: center;
}

.myweek-wh-save .btn.btn-small {
    background-color: var(--primary);
    border-radius: var(--border-radius-tiny);
}

.myweek-wh-reset .btn.btn-small.btn-transparent,
.myweek-wh-cancel .btn.btn-small.btn-transparent {
    background-color: var(--background-color)!important;
    color: var(--black)!important;
}

.myweek-wh-reset .btn.btn-small.btn-transparent:hover,
.myweek-wh-cancel .btn.btn-small.btn-transparent:hover {
    background-color: var(--extra-light)!important;
}

/* ── My Week: Public tab ──────────────────────────────────────── */
.myweek-public-card {
    padding: 4px 0;
}

.myweek-public-projects {
    margin-bottom: 25px;
}

.myweek-public-project-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
    font-size: 13px;
}

.myweek-public-project-row:last-child {
    border-bottom: none;
}

.myweek-public-hours {
    flex-shrink: 0;
    font-size: 12px;
}

.myweek-public-okr-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px solid var(--border-light, var(--border));
}

.myweek-public-okr-row:last-child {
    border-bottom: none;
}

.myweek-public-okr-body {
    flex: 1;
    min-width: 0;
}

.myweek-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.myweek-header-actions i {
    line-height: 28px;
    float: none;
    vertical-align: middle;
    font-size: 12px!important;
    margin-right: 8px!important;
}

.myweek-header-actions li:last-child i {}

/* ── My Week: Public tab — calendar grid ─────────────────────── */
.myweek-public-cal {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.myweek-public-day {
    border: 1px solid var(--light-border, var(--border));
    border-radius: 6px;
    padding: 10px;
    background: var(--white);
}

.myweek-public-day.is-today {
    border-color: var(--primary);
}

.myweek-public-day-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--light-border, var(--border));
}

.myweek-public-day-label {
    font-size: 12px;
    font-weight: 600;
}

.myweek-public-day-hours {
    font-size: 11px;
}

.myweek-public-day-tasks {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.myweek-public-task {
    padding: 6px 8px;
    background: var(--background-color);
    border-radius: 4px;
    border-left: 2px solid var(--primary);
}

.myweek-public-task.is-done {
    opacity: 0.5;
    text-decoration: line-through;
}

.myweek-public-task-summary {
    font-size: 12px;
    line-height: 1.3;
}

.myweek-public-task-meta {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    margin-top: 2px;
    gap: 6px;
}

.myweek-public-task-empty {
    font-size: 11px;
    padding: 6px 4px;
    text-align: center;
    color: var(--light-text);
}

/* ── My Week: Backlog controls ──────────────────────────────── */
.myweek-backlog-controls {
    padding: 8px 0 4px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

input.myweek-backlog-search {
    width: 100%;
    height: 50px!important;
    font-size: 13px!important;
    padding: 0 15px!important;
    border: 1px solid var(--light-border, var(--border))!important;
    border-radius: var(--border-radius-tiny)!important;
    background: var(--background-color)!important;
    color: var(--black);
    margin: 0 0 10px!important;
    box-shadow: none!important;
}

.myweek-backlog-search:focus {
    outline: none;
    border-color: var(--primary)!important;
}

.myweek-backlog-controls-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6px;
    flex-wrap: wrap;
}

.myweek-backlog-controls-row select {
    height: 28px;
}

.myweek-backlog-type-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    flex: 1;
}

.myweek-backlog-type-filters span {
    font-size: 10px;
    padding: 3px 7px;
    border-radius: var(--border-radius-tiny);
    /* border: 1px solid var(--light-border, var(--border)); */
    background-color: var(--background-color);
    cursor: pointer;
    color: var(--light-text);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.myweek-backlog-type-filters span:hover {
    border-color: var(--primary);
}

.myweek-backlog-type-filters span.active {
    background: var(--primary);
    color: var(--white);
    border-color: var(--primary);
}

.myweek-backlog-sort {
    font-size: 11px;
    padding: 3px 6px;
    border: 1px solid var(--light-border, var(--border));
    border-radius: var(--border-radius-tiny);
    background: var(--background-color);
    color: var(--black);
    height: auto;
    width: auto;
    display: inline-block;
    margin: 0;
}

/* ── My Week: OOO action buttons ────────────────────────────── */
.myweek-ooo-actions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--light-border, var(--border));
}

.dropdown-selector.myweek-tab-dropdown .myweek-tab-dropdown-selected {
    display: flex;
    gap: 10px;
    align-items: center;
    cursor: pointer;
}

.focus-pin-btn i {
    font-size: 14px;
    line-height: normal!important;
    user-select: none;
    color: var(--icon-color)!important;
}

.myweek-plan-tab {
    background-color: var(--white);
    display: flex;
    flex-direction: column;
    padding: 40px;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    /* max-width: 960px; */
    margin: 0 auto 30px;
}

.myweek-plan-tab .m6:last-child {
    padding-left: 30px!important;
}

#myweekTabMenu li a {
    padding: 0 15px!important;
    height: 34px;
    font-size: 12px;
    vertical-align: middle;
}

#myweekTabMenu li.active, #myweekTabMenu li.active a, #myweekTabMenu li.active i {
}

#myweekTabMenu li.active {
    background-color: var(--primary)!important;
}

#myweekTabMenu li {
    font-size: 11px;
}

#myweekTabMenu li.active, #myweekTabMenu li.active i {
    color: var(--awhite);
}

.myweek-task-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease-in-out;
    margin-top: -3px;
}

.myweek-task-block:hover .myweek-task-actions {
    visibility: visible;
    opacity: 1;
}

.myweek-task-pin i {
    font-size: 14px;
    height: 18px;
    line-height: 20px;
}

.myweek-task-block.selected-task .myweek-task-actions i {
    color: var(--awhite);
}

.myweek-task-pin:hover i {
    color: var(--primary);
}

.myweek-task-name-container {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    vertical-align: top;
}

.myweek-task-compact .myweek-task-name-container {
    gap: 0;
    align-items: center!important;
}

.myweek-task-compact .myweek-task-name-container i {
    align-self: center;
}

.selected-task .myweek-task-name-container i {
    color: var(--awhite)!important;
}

.myweek-task-name-container i {
    font-size: 12px;
    margin-top: 1px;
    align-self: flex-start;
}

i.material-symbols-outlined.myweek-task-type-icon.myweek-icon-mention {
    color: var(--primary);
}

.myweek-add-project-dropdown-selected {
    display: flex;
    gap: 6px;
    background-color: var(--background-color);
    height: 50px;
    line-height: 50px;
    align-items: center;
    width: 100%;
    padding: 0 15px;
    border-radius: var(--border-radius-tiny);
    font-size: var(--font-size);
}

.myweek-add-project-dropdown-selected i {
    font-size: 16px;
}

.myweek-add-project-dropdown-selected i:last-child {
    margin-left: auto;
}

.myweek-task-title-wrapper-content .myweek-task-panel-title:hover {
    color: var(--primary);
    text-decoration: underline;
}

.plan-page {
    display: flex;
    flex-direction: column;
}
/* ============================================
   WORK PAGE LAYOUT
   ============================================ */

.work-page .centered-page {
	height: calc(100dvh - 64px);
	max-width: 100% !important;
	overflow-y: auto;
	padding: 0!important;
	display: block !important;
	/* transition: all .5s ease-in-out!important; */
}

.work-page .sidebar {
	height: calc(100dvh - 64px);
}

/* ============================================
   WORK SIDEBAR
   ============================================ */

.work-sidebar-list .sli {
	height: unset;
	line-height: unset;
	display: flex;
	align-items: center;
	margin: 0;
}

.work-sidebar-list .sli-icon {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.work-sidebar-list .sli-icon i {
	font-size: 15px;
	margin-top: 0;
}

.work-sidebar-list .sli-text {
	display: flex;
	flex-direction: column;
}

.work-sidebar-list .sli-text .sub-text {
	display: none;
}

.work-sidebar-list .sli-header {
	padding: 14px 30px 4px;
	/* margin-left: -30px; */
	/* margin-right: -30px; */
	font-size: 9px;
	letter-spacing: 0.6px;
}

/* ============================================
   WORK OVERVIEW DASHBOARD
   ============================================ */

.work-overview-page {
	padding: 25px 25px 50px;
	max-width: 1300px;
	margin: 0 auto;
}

.work-dash {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
}

/* ============================================
   PAGE HEADER
   ============================================ */

.overview-page-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0;
	gap: 15px;
	flex-shrink: 0;
	margin-bottom: 15px;
}

.capacity-dash .overview-page-header {
    margin-bottom: 10px;
}

.overview-page-header-left {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1;
}

.overview-page-header-right {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 5px;
	flex: 1;
	text-align: right;
}

.overview-page-title {
	font-size: 26px;
	font-weight: 400;
	color: var(--black);
	font-family: var(--nothing);
	text-transform: lowercase;
}

.overview-health-badge {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 0px 10px;
	border-radius: 3px;
	background: var(--white);
	font-size: 12px;
	font-weight: 500;
	color: var(--black);
	height: 36px;
	box-shadow: var(--box-shadow);
}

/* ============================================
   KPI ROW
   ============================================ */

.work-kpi-row {
	display: flex;
	gap: 5px;
	flex-shrink: 0;
}

.plan-page .work-kpi-row {
    margin-bottom: 5px;
}

.capacity-dash .work-kpi-row {
    margin-bottom: 0;
    margin-top: 5px;
}

.work-kpi-card {
	flex: 1;
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	padding: 30px;
	text-align: center;
	box-shadow: var(--box-shadow);
	cursor: pointer;
}

.work-kpi-card:hover > div {
    color: var(--primary)!important;
}

.work-kpi-value {
	font-size: 28px;
	font-weight: 200;
	line-height: 1.1;
	color: var(--black);
	margin-bottom: 4px;
}

.work-kpi-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--light-text);
}

.kpi-good   { color: var(--health-green); }
.kpi-warn   { color: var(--health-yellow); }
.kpi-danger { color: var(--health-red); }

/* ============================================
   DASHBOARD BODY
   ============================================ */

.work-dash-body {
	display: flex;
	align-items: flex-start;
	justify-content: normal;
	gap: 5px;
	flex: 1;
	min-height: 0;
	overflow: visible;
}

.work-dash-left {
	/* flex-shrink: 0; */
	/* display: flex; */
	/* flex-direction: column; */
	/* align-self: stretch; */
	/* flex: 2; */
	/* gap: 25px; */
	width: calc(50% - 2.5px);
}

.work-dash-right {
	flex: 2;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.work-dash-right .work-recent-activity-section {
    top: 0;
    position: sticky;
}

.work-dash-full {
	width: 100%;
}

/* ============================================
   SECTION CARDS
   ============================================ */

.work-dash-section {
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	padding: 40px;
	box-shadow: var(--box-shadow);
	margin-top: 5px;
	/* max-width: 50%; */
	border: 1px solid var(--white);
}

.work-dash > .work-dash-section {
    margin-top: 30px;
}

.work-dash-body .work-dash-section {
    /* flex: 1; */
}

.work-section-header {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 300;
	color: var(--light-text);
	margin-bottom: 10px;
	text-transform: uppercase;
	/* letter-spacing: 0.4px; */
	width: 100%;
	position: relative;
}

.work-section-header svg {
    max-width: 25px;
}

.work-section-header > .flex-between {
    width: 100%;
}

.work-section-header > .flex-between .wrapper {
    display: flex;
    align-items: center;
    gap: 5px;
}

.work-section-header > .wrapper {
    display: flex;
    align-items: center;
}

.work-section-header > .wrapper i {
    line-height: unset!important;
    height: unset!important;
}

.myweek-public-card .work-section-header {
    margin-top: 0!important;
    margin-bottom: 0;
}

.work-section-header span {
    cursor: pointer;
    color: var(--black);
    font-weight: 500;
    text-transform: lowercase;
}

.work-section-header .work-section-badge {
    margin-left: auto;
}

.work-section-header span:hover {
    text-decoration: underline;
}

.work-section-header i {
	font-size: 16px;
	color: var(--primary);
}

label.work-section-link {
	margin-left: auto;
	color: var(--light-text)!important;
	display: flex;
	align-items: center;
	cursor: pointer;
	font-size: 13px!important;
}

.work-section-link i {
	font-size: 16px;
	color: var(--primary);
}

.work-section-badge {
	font-size: 11px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 3px;
}

.dropdown-content li a .work-section-badge {
    margin-left: auto;
    float: right;
}

.work-badge-warn {
	background: var(--light-white);
	color: var(--orange)!important;
}

/* ============================================
   GOALS LIST
   ============================================ */

.work-goals-list {
	display: flex;
	flex-direction: column;
	/* gap: 25px; */
}

.work-goal-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 10px;
	transition: all .3s ease-in-out;
	border-radius: var(--border-radius-tiny);
}

.work-goal-item:hover {
    background-color: var(--background-color)!important;
}

.work-goal-item:hover .work-goal-header .work-goal-title {
    /* color: var(--primary); */
    cursor: pointer;
}

.work-goal-header {
	display: flex;
	align-items: center;
	gap: 8px;
}

.work-goal-title {
	flex: 1;
	font-size: 13px;
	color: var(--black);
	line-height: 1.3;
	/* font-weight: 400; */
}

.work-goal-pct {
	font-size: 11px;
	font-weight: 300;
	color: var(--light-text);
	flex-shrink: 0;
}

.work-goal-bar {
	height: 2px;
	background: var(--border);
	border-radius: 2px;
	overflow: hidden;
}

.work-goal-bar-fill {
	height: 100%;
	border-radius: 2px;
	transition: width 0.4s ease;
}

/* ============================================
   BLOCKERS
   ============================================ */

.work-blocker-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px;
	border-radius: var(--border-radius-tiny);
	margin-bottom: 8px;
}

.work-blocker-item:last-child {
	margin-bottom: 0;
}

.work-blocker-danger-item {
	background: rgba(244, 67, 54, 0.06);
}

.work-blocker-danger-item > i {
	color: var(--health-red);
	font-size: 18px;
	margin-top: 1px;
}

.work-blocker-warn-item {
	background: rgba(255, 193, 7, 0.06);
}

.work-blocker-warn-item > i {
	color: var(--health-yellow);
	font-size: 18px;
	margin-top: 1px;
}

.work-blocker-item-title {
	font-size: 13px;
	font-weight: 500;
	color: var(--black);
}

.work-blocker-item-sub {
	font-size: 12px;
	margin-top: 2px;
}

/* ============================================
   PROJECT GRID
   ============================================ */

.work-project-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	border-radius: var(--border-radius-tiny);
	overflow: hidden;
}

.work-project-card {
	background: transparent!important;
	border-radius: var(
	--border-radius-tiny);
	/* border: 1px solid var(--light-border); */
	padding: 8px;
	cursor: pointer;
	transition: all 0.2s ease-in-out;
	text-decoration: none;
	color: inherit;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 5px;
	align-items: center;
	line-height: normal;
}

.work-project-card:hover {
    background-color: var(--background-color)!important;
}

.dark .work-project-card {
    background-color: var(--extra-light);
}

.dark .work-project-card:hover {
    background-color: var(--background-color);
}

.dark .work-project-card:hover .work-project-card-name {
    color: unset;
}

.work-project-card:hover {
    background-color: var(--extra-light);
}

.work-project-card:hover .work-project-card-bar {
    /* background-color: var(--extra-light)!important; */
}

.work-project-card:hover .work-project-card-name {
	/* border-color: var(--primary); */
	/* box-shadow: 0 0 0 1px var(--primary); */
	color: var(--primary);
}

.work-project-card-header {
	display: flex;
	align-items: center;
	gap: 8px;
}

.work-project-card-header .node-health-dot {}

.work-project-card-name {
	font-size: 13px;
	font-weight: 400;
	color: var(--black);
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: fit-content;
	min-width: fit-content;
}

.work-project-card-name:hover {
    color: var(--primary)!important;
    cursor: pointer;
}

.work-project-card-bar {
	height: 3px;
	background: var(--background-color);
	border-radius: 2px;
	overflow: hidden;
	width: 70%;
	margin-left: auto;
	transition: all .3s ease-in-out;
}

.work-project-card .work-project-card-bar {
    margin-top: 10px;
}

.work-project-card:hover .work-project-card-bar {
    background-color: var(--white);
}

.dark .work-project-card-bar {
    background: var(--extra-light);
}

.work-project-card-fill {
	height: 100%;
	border-radius: 2px;
	transition: width 0.4s ease;
}

.work-project-card-footer {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}

.work-project-pct {
	font-size: 12px;
	font-weight: 600;
	color: var(--light-text);
}

.work-project-stale {
	display: flex;
	align-items: center;
	gap: 3px;
	font-size: 11px;
	margin-left: auto;
}

.work-project-stale i {
	font-size: 12px;
}

.work-see-more {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-top: 12px;
	font-size: 13px;
	color: var(--primary);
	cursor: pointer;
}

.work-see-more i {
	font-size: 14px;
}

/* ============================================
   EMPTY STATE
   ============================================ */

.work-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	padding: 24px;
	padding-top: 0;
	text-align: center;
	color: var(--light-text);
	font-size: 13px;
	/* margin-top: 13%; */
	height: 100%;
	justify-content: center;
}

.work-empty-state i {
	font-size: 32px;
	color: var(--border);
}

/* ============================================
   SIDEBAR TOGGLE BUTTON (work variant)
   ============================================ */

.toggle-sidebar-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	cursor: pointer;
	transition: background 0.15s ease;
	margin: 0 25px 20px auto;
	background: transparent;
	border: none;
}

.thin-sidebar .toggle-sidebar-btn {
    margin-left: auto!important;
    margin-right: auto;
}

.toggle-work-sidebar-btn:hover i {
	color: var(--primary);
}

.toggle-work-sidebar-btn i {
	font-size: 16px;
	user-select: none;
	margin-left: -2px;
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
	.work-tree-scroll-wrapper {
		padding: 20px 16px;
	}

	.work-project-grid {
		flex-direction: column;
	}

	.work-project-card {
		max-width: 100%;
	}
}


.work-project-card-container {
    min-width: fit-content;
    font-size: 12px;
}

.work-project-card-status {
    white-space: nowrap;
    font-size: 12px;
    margin-left: auto!important;
}

.work-project-card-top, .work-project-card-bottom {
    display: flex;
    gap: 10px;
    width: 100%;
}

.work-project-card-top {
    align-items: start;
}

.work-project-card-top {}

.work-project-item-wrapper {
    line-height: 18px;
}

.myweek-strategy-objective-progress {
    display: flex;
    align-items: center;
    gap: 5px;
}

.the-project-task-items.row .project-program, .the-project-task-items.row .project-status {
    font-size: 12px;
}

.focus-reset-link {
    display: inline-flex;
    margin-left: auto;
    align-items: center;
    line-height: normal;
    color: var(--black)!important;
    cursor: pointer;
    text-decoration: none!important;
    font-size: 12px;
}

a.focus-reset-link:hover {
    text-decoration: underline;
}

html body a i, html body a:hover i, html body a.focus-reset-link:hover i {
    text-decoration: none!important;
}

.focus-reset-link:hover span {
    text-decoration: underline;
}

.focus-reset-link i {
	font-size: 15px;
	color: var(--primary);
	margin-left:10px;
	margin-right: 5px;
}
/* ai-foundation V5 — the work-item route (a task without its project route) */
.work-item-page { padding: 20px; max-width: 980px; margin: 0 auto; }
.work-item-crumb, .work-item-meta { font-size: 13px; }
.work-item-degraded { display: flex; align-items: center; gap: 10px; padding: 10px 14px; margin: 12px 0 4px; border-radius: 6px; background: var(--soft, #f3f4f1); font-size: 13px; }
.work-item-degraded .material-symbols-outlined { font-size: 18px; }
.work-item-section { background: var(--white); border-radius: 5px; padding: 20px 24px; margin-top: 14px; }
.work-item-section-title { font-weight: 600; margin-bottom: 10px; }
.work-item-list { list-style: none; margin: 0; padding: 0; }
.work-item-list li { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--border-color, #eee); }
.work-item-list li:last-child { border-bottom: 0; }
.work-item-list li.is-done .work-item-list-text { text-decoration: line-through; opacity: .6; }
.work-item-list .material-symbols-outlined { font-size: 18px; }
.work-item-list-text { flex: 1; }
.work-item-comment { padding: 10px 0; border-bottom: 1px solid var(--border-color, #eee); }
.work-item-comment:last-child { border-bottom: 0; }
.work-item-comment-head { display: flex; gap: 10px; align-items: baseline; margin-bottom: 4px; }
.work-item-reply { margin: 8px 0 0 18px; padding-left: 12px; border-left: 2px solid var(--border-color, #eee); }


/* 082 re-test (William): the work-item header stacks crumb / title / meta vertically. */
.work-item-page .overview-page-header { align-items: flex-start; }
.work-item-page .overview-page-header-left { flex-direction: column; align-items: flex-start; gap: 4px; }
.work-item-page .overview-page-header-right { flex: 0 0 auto; }

/* Reports page (profile → Reports): the list that used to sit on the overview. The whole row opens
   the person's overview; the icon buttons jump straight to a page. */
.profile-reports .overview-reports-page { padding: 6px 20px; }
.profile-reports .overview-reports-page .overview-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border-color, #eee); cursor: pointer; }
.profile-reports .overview-reports-page .overview-row:last-child { border-bottom: 0; }
.profile-reports .overview-row-title { font-weight: 600; }
.profile-reports .overview-reports-actions { display: flex; gap: 4px; flex-shrink: 0; }
.profile-reports .overview-reports-action { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 6px; color: var(--light-text); }
.profile-reports .overview-reports-action:hover { background: var(--soft, rgba(0,0,0,.06)); color: var(--black); }
.profile-reports .overview-reports-action .material-symbols-outlined { font-size: 20px; }

/* Org chart (People → Org chart). A top-down tree: a manager centred above a row of their reports,
   joined by connector lines; agents as small rows inside their human's card. Node cards reuse the
   strategy tree's .tree-node styles; everything else is here. */
.org-map-page .list-header .flex-between { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.org-map-zoom { display: flex; align-items: center; gap: 2px; flex-shrink: 0; }
.org-map-tree { --org-line: var(--border-color, #cfcfcf); --org-gap: 32px; padding: 10px 0 40px; }

/* A row of siblings: centred, wrapping only at the top level */
.org-map-tree .org-level { display: flex; justify-content: center; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.org-map-tree .org-level-unassigned { justify-content: flex-start; }

/* One person + everything under them */
.org-map-tree .org-node-group { display: flex; flex-direction: column; align-items: center; position: relative; padding: 0 12px; }
.org-map-tree .tree-node.node-person { cursor: pointer; width: 250px; text-align: left; }
.org-map-tree .org-node-name { text-transform: none; }
.org-map-tree .org-node-meta { font-size: 12px; opacity: .8; margin-top: 2px; }
.org-map-tree .org-node-pins { margin-top: 8px; display: flex; flex-direction: column; gap: 4px; }
.org-map-tree .org-node-pin { display: flex; align-items: flex-start; gap: 6px; font-size: 12px; line-height: 1.35; }
.org-map-tree .org-node-pin .material-symbols-outlined { font-size: 14px; margin-top: 1px; opacity: .7; }
.org-map-tree .org-node-pin span { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.org-map-tree .org-node-agents { margin-top: 8px; padding-top: 6px; border-top: 1px solid var(--org-line); display: flex; flex-direction: column; gap: 3px; }
.org-map-tree .org-node-agent { display: flex; align-items: center; gap: 6px; font-size: 12px; opacity: .85; cursor: pointer; }
.org-map-tree .org-node-agent:hover { opacity: 1; }
.org-map-tree .org-node-agent .material-symbols-outlined { font-size: 15px; }

/* The row of reports under a manager, with the connector lines drawn by pseudo-elements:
   a drop from the manager, a bar across the reports, a drop into each report. */
.org-map-tree .org-children { display: flex; justify-content: center; align-items: flex-start; position: relative; margin-top: var(--org-gap); }
.org-map-tree .org-children::before { content: ''; position: absolute; top: calc(-1 * var(--org-gap)); left: 50%; width: 2px; height: calc(var(--org-gap) / 2); background: var(--org-line); transform: translateX(-1px); }
.org-map-tree .org-children > .org-node-group::before { content: ''; position: absolute; top: calc(-1 * var(--org-gap) / 2); left: 0; right: 0; height: 2px; background: var(--org-line); }
.org-map-tree .org-children > .org-node-group:first-child::before { left: 50%; }
.org-map-tree .org-children > .org-node-group:last-child::before { right: 50%; }
.org-map-tree .org-children > .org-node-group:only-child::before { display: none; }
.org-map-tree .org-children > .org-node-group::after { content: ''; position: absolute; top: calc(-1 * var(--org-gap) / 2); left: 50%; width: 2px; height: calc(var(--org-gap) / 2); background: var(--org-line); transform: translateX(-1px); }

.org-map-tree .org-unassigned { margin-top: 40px; }
.org-map-tree .org-unassigned .tier-label-row { margin-bottom: 12px; }

/* Header controls: view toggle + zoom */
.org-map-controls { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.org-map-view-toggle { display: inline-flex; gap: 2px; }

/* Team chips on a card (reporting view) */
.org-map-tree .org-node-teams { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 4px; }
.org-map-tree .org-node-team-chip { display: inline-flex; align-items: center; gap: 3px; font-size: 11px; padding: 1px 7px; border-radius: 999px; border: 1px solid var(--org-line); opacity: .85; }
.org-map-tree .org-node-team-chip .material-symbols-outlined { font-size: 13px; }

/* By-team view: one column per team, lead on top */
.org-map-teams .org-team-columns { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; justify-content: center; }
.org-map-teams .org-team-column { display: flex; flex-direction: column; align-items: center; gap: 12px; min-width: 274px; }
.org-map-teams .org-team-header { text-align: center; }
.org-map-teams .org-team-name { font-weight: 600; font-size: 15px; }
.org-map-teams .org-team-lead { position: relative; padding-bottom: 14px; }
.org-map-teams .org-team-lead::after { content: ''; position: absolute; left: 50%; bottom: 0; width: 2px; height: 14px; background: var(--org-line); transform: translateX(-1px); }
.org-map-teams .org-team-members { display: flex; flex-direction: column; gap: 10px; }

/* ============================================
   DELIVER PAGE LAYOUT
   ============================================ */

.deliver-page .centered-page {
	height: calc(100dvh - 64px);
	max-width: 100% !important;
	overflow-y: auto;
	padding: 0 !important;
	display: block !important;
}

.deliver-page .sidebar {
	height: calc(100dvh - 64px);
}

/* ============================================
   DELIVER SIDEBAR
   ============================================ */

.deliver-sidebar-list .sli {
	height: unset;
	line-height: unset;
	display: flex;
	align-items: center;
}

.thin-sidebar .deliver-sidebar-list .sli {
    gap: 0;
    text-align: center;
    width: 100%;
    margin: 0;
}

.deliver-sidebar-list .sli-icon {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.deliver-sidebar-list .sli-icon i {
	font-size: 15px;
	margin-top: 0;
}

.deliver-sidebar-list .sli-text {
	display: flex;
	flex-direction: column;
}

.deliver-sidebar-list .sli-text .sub-text {
	display: none;
}

.deliver-sidebar-list .sli-header {
	padding: 14px 30px 4px;
	margin-left: -30px;
	margin-right: -30px;
	font-size: 9px;
	letter-spacing: 0.6px;
}

/* ============================================
   DELIVER OVERVIEW PAGE — grid dashboard layout
   (mirrors Plan / Work overview structure)
   ============================================ */

.deliver-overview-page {
	max-width: 100% !important;
}

.deliver-dash {
	padding: 25px 25px 50px;
	max-width: 1300px;
	margin: 0 auto;
}

.deliver-velocity-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--subtle);
	color: var(--text);
	font-size: 12px;
	font-weight: 500;
}

.deliver-velocity-badge i {
	font-size: 16px;
	color: var(--primary-color);
}

/* ----- Main content grid: Review Queue + Recently Closed ----- */

.deliver-dash-body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5px;
	margin-top: 5px;
}

.deliver-dash-section {
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	padding: 40px;
	box-shadow: var(--box-shadow);
	/* margin-bottom: 5px; */
}

.deliver-ai-section {
	margin-top: 5px;
}

/* ----- Review queue list ----- */

.deliver-review-list,
.deliver-closed-list {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 8px;
}

.deliver-review-item,
.deliver-closed-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 15px;
	border-radius: 5px;
	cursor: pointer;
	transition: background 0.1s ease;
}

.deliver-dash-section .deliver-review-item, .deliver-dash-section .deliver-closed-item {
    padding: 20px;
}

.deliver-dash-section .deliver-closed-item i {
    color: var(--good)!important;
}

.deliver-review-item:hover,
.deliver-closed-item:hover {
	background: var(--subtle);
}

.deliver-review-item-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--primary-color);
	flex-shrink: 0;
}

.deliver-review-dot-stale {
	background: var(--health-red, #f44336);
}

.deliver-review-item-body,
.deliver-closed-item-body {
	flex: 1;
	min-width: 0;
}

.deliver-review-item-title,
.deliver-closed-item-title {
	font-size: 13px;
	font-weight: 500;
	color: var(--text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.deliver-review-item-meta,
.deliver-closed-item-meta {
	font-size: 11px;
	margin-top: 2px;
	display: flex;
	align-items: center;
	gap: 4px;
}

.deliver-review-item-meta i {
	font-size: 13px;
}

.deliver-stale-badge {
	color: var(--health-red, #f44336);
	background: rgba(244, 67, 54, 0.1);
	border-radius: 6px;
	padding: 2px 6px;
	display: inline-flex;
	align-items: center;
}

.deliver-stale-badge i {
	font-size: 14px;
}

.deliver-closed-check {
	font-size: 18px;
	color: var(--health-green, #16a34a);
	flex-shrink: 0;
}

/* ----- Bottom row: velocity + feature-gated cards ----- */

.deliver-bottom-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 5px;
	margin-top: 5px;
}

.deliver-bottom-card {
	background: var(--white);
	border-radius: var(--border-radius-tiny);
	padding: 30px;
	min-height: 180px;
	display: flex;
	flex-direction: column;
	box-shadow: var(--box-shadow);
}

.deliver-velocity-subtitle {
	margin-left: auto;
	font-size: 11px;
}

/* ----- Velocity chart ----- */

.deliver-velocity-chart {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 6px;
	flex: 1;
	padding: 12px 4px 0 4px;
	min-height: 120px;
}

.deliver-velocity-bar-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	flex: 1;
}

.deliver-velocity-bar-wrapper {
	width: 100%;
	height: 80px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.deliver-velocity-bar {
	width: 70%;
	min-height: 4px;
	background: var(--subtle);
	border-radius: 4px 4px 0 0;
	transition: height 0.25s ease;
}

.deliver-velocity-bar-current {
	background: var(--primary);
}

.deliver-velocity-count {
	font-size: 11px;
	color: var(--light-text);
	font-variant-numeric: tabular-nums;
}

/* ----- Legacy tree-style review cards (kept for fallback if referenced) ----- */

.deliver-review-card {
	min-width: 200px;
	max-width: 300px;
	flex: 1 1 220px;
	cursor: pointer;
}

.deliver-overdue-badge {
	color: var(--health-red);
	background: rgba(244, 67, 54, 0.10) !important;
}

/* ----- Responsive ----- */

@media (max-width: 900px) {
	.deliver-dash {
		padding: 20px 16px;
	}

	.deliver-dash-body {
		grid-template-columns: 1fr;
	}
}

/* ============================================
   SIDEBAR TOGGLE BUTTON (deliver variant)
   ============================================ */

.toggle-deliver-sidebar-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: var(--border-radius-tiny);
	cursor: pointer;
	transition: background 0.15s ease;
	margin-right: 25px;
	margin-bottom: 20px!important;
}

.thin-sidebar .toggle-deliver-sidebar-btn {
    margin: 0 auto;
    background-color: transparent;
    border: none;
}

.toggle-deliver-sidebar-btn:hover {
	background: var(--extra-light);
}

.toggle-deliver-sidebar-btn i {
	font-size: 16px;
	margin-left: -2px;
}

/* Placeholder pages */
.deliver-review-page,
.deliver-releases-page,
.deliver-retrospectives-page {
	padding: 25px 50px 50px;
	max-width: 1500px;
	margin: 10px auto;
}

.deliver-review-page {
    max-width: 1500px;
    margin: 10px auto;
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
	.deliver-tree-scroll-wrapper {
		padding: 20px 16px;
	}
}


.release-detail-page {
    max-width: 900px;
    margin: 20px auto 40px;
}

.retro-detail-page {
    max-width: 980px;
    margin: 20px auto;
}
/* Deliver subpages â€” review, releases, retrospectives, detail panes.
 * All colors come from the CSS variables in style_cleaned.css; no hardcoded hex.
 */

/* â”€â”€â”€ Page subtitle â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.overview-page-subtitle {
    margin-top: 4px;
    font-size: 12px;
    margin-left: auto;
}

/* â”€â”€â”€ Filter bar (shared across review + releases tables) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.filter-bar {
    display: flex;
    gap: 5px;
    align-items: flex-start;
    flex-wrap: wrap;
    /* padding: 20px 30px; */
    /* background-color: var(--white); */
    margin-bottom: 5px;
    /* border-radius: var(--border-radius-tiny); */
    /* box-shadow: var(--box-shadow); */
}

.filter-bar .select-wrapper {
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    padding: 0 10px;
    box-shadow: var(--box-shadow);
}

.filter-bar-input {
    display: flex;
    align-items: center;
    gap: 6px;
    background: var(--background-color);
    border-radius: var(--border-radius-tiny);
    padding: 0 15px;
    flex: 0 1 280px;
    box-shadow: var(--box-shadow);
}

.deliver-review-page .filter-bar-input, .deliver-review-page .select-wrapper {
    background-color: var(--white)!important;
}

.filter-bar-input input {
    font-size: 13px!important;
}

.filter-bar-input input {
    border: 0;
    background: transparent;
    outline: none;
    padding: 6px 0;
    flex: 1;
    margin-bottom: 0!important;
}

.filter-bar-number {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.filter-bar-number .sub-text {
    color: var(--light-text)!important;
    font-size: 12px!important;
}

.filter-bar-number input {
    background-color: var(--white)!important;
    margin-bottom: 0!important;
    border: none!important;
    padding: 0 15px!important;
    border-radius: var(--border-radius-tiny)!important;
    box-shadow: var(--box-shadow)!important;
}

.filter-bar-number input {
    width: 70px;
    padding: 4px 6px;
    border: 1px solid var(--light-border);
    border-radius: 5px;
}

.filter-bar-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    user-select: none;
    background-color: var(--white);
    padding: 0 15px;
    height: 45px;
    border-radius: var(--border-radius-tiny);
    box-shadow: var(--box-shadow);
    font-size: 13px!important;
}

/* â”€â”€â”€ Review row actions â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.deliver-review-item-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0px;
    background-color: var(--background-color);
}

.deliver-review-item-clickable {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    flex: 1;
}

.deliver-review-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    padding-left: 3px;
}

.deliver-review-actions .btn {
    align-items: center;
    display: flex;
    gap: 5px;
    height: 25px;
}

.deliver-review-item-meta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.deliver-review-item-meta i {
    font-size: 14px;
    vertical-align: middle;
    margin-right: 2px;
}

/* â”€â”€â”€ Kanban â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.deliver-pipeline-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 5px;
    margin: 5px 0;
}

@media (max-width: 1100px) {
    .deliver-pipeline-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
}

.deliver-pipeline-column {
    background: var(--white);
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    min-height: 240px;
    box-shadow: var(--box-shadow);
}

.deliver-pipeline-column-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 30px 0px;
    font-weight: 600;
    /* border-bottom: 1px solid var(--light-border); */
}

.deliver-pipeline-column-count {
    font-size: 12px;
    color: var(--light-text, #888);
    background: var(--background-color);
    padding: 2px 8px;
    border-radius: var(--border-radius-tiny);
}

.deliver-pipeline-column-body {
    padding: 5px 30px 20px;
    flex: 1;
    min-height: 80px;
    display: flex;
    align-items: start;
    justify-content: center;
}

.release-card,
.retro-card {
    background: var(--background-color);
    /* border: 1px solid var(--border); */
    border-radius: 4px;
    padding: 10px 12px;
    margin-bottom: 5px;
    cursor: grab;
    transition: box-shadow 0.15s ease;
    width: 100%;
}

.release-card:hover,
.retro-card:hover {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.release-card-title,
.retro-card-title {
    font-weight: 500;
    margin-bottom: 4px;
}

.release-card-meta,
.retro-card-meta {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    font-size: 12px;
}

.release-card-meta i,
.retro-card-meta i {
    font-size: 13px;
    vertical-align: middle;
    margin-right: 2px;
}

.release-card-projects {
    margin-top: 4px;
    font-size: 11px;
}

.kanban-column-empty {
    padding: 10px 4px;
    text-align: center;
    font-size: 12px;
}

.kanban-dragging {
    opacity: 0.6;
}

.kanban-drop-target {
    background: var(--accent-soft, #eef);
    border: 2px dashed var(--accent, #99c);
    border-radius: 4px;
    min-height: 60px;
    margin-bottom: 8px;
}

/* â”€â”€â”€ Status pills â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.status-pill {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 500;
    text-transform: capitalize;
}

.status-pill--draft {
    background: var(--extra-light);
    color: var(--light-text);
}

.status-pill--scheduled {
    background: var(--info-soft, #e3f2fd);
    color: var(--info, #1976d2);
}

.status-pill--in_progress {
    background: var(--warn-soft, #fff3e0);
    color: var(--warn, #f57c00);
}

.status-pill--shipped {
    background: var(--good-soft, #e8f5e9);
    color: var(--good, #2e7d32);
}

.status-pill--rolled_back {
    background: var(--danger-soft, #ffebee);
    color: var(--danger, #c62828);
}

.status-pill--open {
    background: var(--info-soft, #e3f2fd);
    color: var(--info, #1976d2);
}

.status-pill--closed {
    background: var(--background-secondary, #f0f0f0);
    color: var(--light-text, #666);
}

/* â”€â”€â”€ Releases table fallback â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.deliver-releases-table {
    width: 100%;
    border-collapse: collapse;
}

.deliver-releases-table th {
    text-align: left;
    padding: 8px 10px;
    font-size: 12px;
    color: var(--light-text, #666);
    border-bottom: 1px solid var(--light-border);
}

.deliver-releases-table td {
    padding: 10px;
    /* border-bottom: 1px solid var(--border-color, #f0f0f0); */
}

.deliver-releases-table a {
    color: var(--primary-color, #2196f3);
}

/* â”€â”€â”€ Release / retro detail â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.detail-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    padding: 6px 0 14px;
    color: var(--light-text, #888);
    cursor: pointer;
}

.detail-back-link:hover {
    color: var(--primary);
    text-decoration: none;
    cursor: pointer;
}

.detail-back-link i {
    font-size: 16px;
}

.release-detail-header,
.retro-detail-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 20px 0;
    gap: 20px;
    flex-wrap: wrap;
}

.release-detail-header-left,
.retro-detail-header-left {
    flex: 1;
    min-width: 240px;
}

.release-detail-name,
.retro-detail-name {
    font-size: 22px;
    font-weight: 600;
}

.release-detail-version {
    margin-top: 4px;
    font-size: 13px;
}

.release-detail-status,
.retro-detail-meta {
    margin-top: 8px;
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
}

.release-detail-status i,
.retro-detail-meta i {
    font-size: 14px;
    vertical-align: middle;
    margin-right: 2px;
}

.release-detail-header-right,
.retro-detail-header-right {
    display: flex;
    gap: 8px;
}

.retro-detail-header-right .btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.release-detail-header-right .btn {
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Markdown editor + rendered content */
.release-notes-editor {
    width: 100%;
    min-height: 220px;
    padding: 20px;
    border: 1px solid var(--light-border);
    border-radius: var(--border-radius-tiny);
    font-family: inherit;
    font-size: 14px;
    background-color: var(--background-color);
}

.release-notes-rendered {
    padding: 8px 0;
    line-height: 1.55;
}

.release-notes-rendered h1,
.release-notes-rendered h2,
.release-notes-rendered h3 {
    margin-top: 18px;
    margin-bottom: 8px;
}

.release-notes-rendered code {
    background: var(--background-secondary, #f3f3f3);
    padding: 1px 4px;
    border-radius: 3px;
    font-size: 0.9em;
}

.release-projects-list,
.release-signoff-list,
.retro-participant-list {
    list-style: none;
    padding: 0;
    margin: 8px 0;
}

.release-projects-list a, .release-signoff-list a, .retro-participant-list a {
    color: var(--black);
}

.release-projects-list li,
.release-signoff-list li,
.retro-participant-list li {
    padding: 15px 25px;
    background-color: var(--background-color);
    display: flex;
    align-items: center;
    margin-bottom: 1px;
    gap: 8px;
}

.release-projects-list i,
.release-signoff-list i,
.retro-participant-list i {
    font-size: 14px;
}

/* â”€â”€â”€ Action items â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.action-item-add {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    padding: 10px 0;
}

.action-item-add .btn-primary {
    color: var(--primary)!important;
    background-color: var(--light-white);
    font-size: 13px;
    float: right;
    align-self: end;
}

.action-item-add .btn-primary:hover {
    color: var(--awhite)!important;
}

.action-item-add input[type="date"] {
    background-color: var(--background-color);
    padding: 0 15px;
    border: 1px solid var(--light-border)!important;
    border-radius: var(--border-radius-tiny);
}

.action-item-add input[type="text"] {
    flex: 1 1 240px;
    padding: 6px 10px;
    border: 1px solid var(--light-border)!important;
    border-radius: 4px;
    background-color: var(--background-color);
}

.action-item-list {
    padding-top: 6px;
}

.action-item-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 5px;
    background-color: var(--background-color);
    border-bottom: 1px solid var(--white);
}

.action-item-row:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.action-item-row:last-child {
    border-bottom: none;
    border-bottom-left-radius: var(--border-radius-tiny);
    border-bottom-right-radius: var(--border-radius-tiny);
}

.action-item-completed .action-item-text {
    text-decoration: line-through;
    color: var(--light-text, #888);
}

.action-item-check {
    margin-top: 2px;
}

.action-item-body {
    flex: 1;
}

.action-item-text {
    font-weight: 500;
}

.action-item-meta {
    display: flex;
    gap: 12px;
    margin-top: 2px;
    font-size: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.action-item-meta i {
    font-size: 13px;
    vertical-align: middle;
    margin-right: 2px;
}

.action-item-meta > span {
    display: inline-flex;
    align-items: center;
}

.action-item-person {
    gap: 5px;
}

.action-item-overdue {
    color: var(--health-red, #f44336);
    font-weight: 500;
}

/* Complete / reopen control.
   NOT an <input type="checkbox">: Materialize globally applies
   `position:absolute; opacity:0; pointer-events:none` to every checkbox and
   paints the visible box off an ADJACENT <label> sibling. This row had a
   <span> sibling, so the control rendered as literally nothing. An icon
   button sidesteps the whole mechanism. */
.action-item-toggle {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    line-height: 1;
    color: var(--light-text);
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.action-item-toggle i {
    font-size: 20px;
}

.action-item-toggle:hover:not(:disabled) i {
    color: var(--primary);
}

.action-item-toggle:disabled {
    cursor: default;
    opacity: 0.5;
}

.action-item-completed .action-item-toggle i {
    color: var(--good);
}

.action-item-busy {
    opacity: 0.6;
    pointer-events: none;
}

/* Row actions (edit / delete) - revealed on hover, always reachable on touch. */
.action-item-actions {
    display: flex;
    align-items: center;
    gap: 2px;
    opacity: 0;
    transition: opacity 0.1s ease;
    flex-shrink: 0;
}

.action-item-row:hover .action-item-actions,
.action-item-actions:focus-within {
    opacity: 1;
}

.action-item-action {
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: var(--light-text);
    display: flex;
    align-items: center;
    border-radius: var(--border-radius-tiny);
}

.action-item-action i {
    font-size: 16px;
}

.action-item-action:hover:not(:disabled) {
    background-color: var(--subtle);
    color: var(--primary);
}

.action-item-action--danger:hover:not(:disabled) {
    color: var(--health-red, #f44336);
}

.action-item-action:disabled {
    cursor: default;
    opacity: 0.5;
}

/* Inline edit form inside an action-item row. */
.action-item-edit input[type="text"] {
    width: 100%;
    padding: 6px 10px;
    border: 1px solid var(--light-border)!important;
    border-radius: 4px;
    background-color: var(--white);
}

.action-item-edit-row {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 6px;
}

.action-item-edit-row input[type="date"] {
    background-color: var(--white);
    padding: 0 15px;
    border: 1px solid var(--light-border)!important;
    border-radius: var(--border-radius-tiny);
}

/* Summary editor affordances. */
.retro-summary-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
}

.retro-save-state {
    text-transform: none!important;
    cursor: default!important;
    color: var(--light-text)!important;
    font-size: 11px;
}

.retro-save-state:hover {
    text-decoration: none!important;
}

/* ---- Shared Deliver avatars --------------------------------------------
   Reuses the app's avatar resolution idiom ($root.getUserImage /
   hasUserImage / getUserInitials + the lazy-bg directive) at a size that
   fits these compact rows. The global .the-profile-image / .tp-initials
   classes pin 36-40px with !important, which does not fit here.
   NOTE: no default background IMAGE - initials are the fallback. */
.deliver-avatar {
    width: 22px;
    height: 22px;
    min-width: 22px;
    border-radius: 50%;
    background-color: var(--extra-light, var(--white));
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 600;
    line-height: 22px;
    color: var(--dark);
    text-transform: uppercase;
    overflow: hidden;
}

.deliver-avatar--initials {
    background-color: var(--extra-light, var(--subtle));
}

.deliver-avatar--more {
    background-color: var(--subtle);
    color: var(--light-text);
    font-size: 9px;
}

.deliver-avatar-stack {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.deliver-avatar-slot {
    display: inline-flex;
    margin-right: -6px;
}

.deliver-avatar-stack .deliver-avatar {
    border: 2px solid var(--white);
    width: 24px;
    height: 24px;
    min-width: 24px;
}

.deliver-avatar-stack .deliver-avatar--more {
    margin-left: 6px;
}

.retro-participant-list .deliver-avatar {
    width: 26px;
    height: 26px;
    min-width: 26px;
    font-size: 10px;
    line-height: 26px;
}

/* â”€â”€â”€ Modal panel (create release / create retro) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1500;
}

.modal-panel {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--white);
    border-radius: 6px;
    width: min(560px, 90vw);
    max-height: 90vh;
    overflow: auto;
    z-index: 1510;
    box-shadow: var(--box-shadow-large);
}

.modal-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid var(--light-border);
    font-weight: 600;
}

.modal-close {
    cursor: pointer;
    color: var(--light-text, #888);
}

.modal-panel-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.modal-panel-body label {
    font-size: 12px;
    color: var(--light-text, #666);
    margin-top: 8px;
}

.modal-panel-body input[type="text"],
.modal-panel-body input[type="date"] {
    padding: 8px 10px;
    border: 1px solid var(--light-border)!important;
    border-radius: 4px;
    width: 100%;
    background-color: var(--background-color);
}

.modal-panel-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid var(--light-border);
}

/* Profile Overview — user landing page after logo click / Overview sidebar.
 * Reuses .work-* / .overview-* utility classes from work.css + deliver-subpages.
 * Only the layout pieces unique to this page live here.
 */

.profile-overview-page {
    padding: 20px;
    max-width: 1300px;
    margin: 0 auto;
}

.overview-two-col {
    display: flex;
    flex-direction: row;
    gap: 5px;
}

@media (max-width: 900px) {
    .overview-two-col {
        /* container is flex, not grid — stack the cards */
        flex-direction: column;
    }
}

.overview-col {
    background: var(--white);
    /* border: 1px solid var(--border-color, #e0e0e0); */
    border-radius: 5px;
    padding: 30px;
    min-height: 200px;
    /* display: flex; */
    /* flex-direction: column; */
    flex: 1;
    box-shadow: var(--box-shadow);
}

/* ─── Next event highlight ───────────────────────────────────────── */
.overview-next-event {
    padding: 10px;
    margin: 15px 0;
    border-bottom: 1px solid var(--light-border);
    /* background: var(--background-color); */
    /* border-radius: var(--border-radius-tiny); */
}

.next-event-present .overview-next-event {
    margin-top: 0;
    padding-top: 0;
}

.overview-next-event .wrapper {
    display: flex;
}

.overview-next-event-label {
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 11px;
}

.overview-next-event-title {
    font-size: 14px;
    font-weight: 500;
    margin: 4px 0 0;
    cursor: pointer;
}

.overview-next-event-title:hover {
    color: var(--primary);
    text-decoration: underline;
}

.overview-next-event-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
}

.overview-next-event-meta i {
    font-size: 14px;
}

/* ─── Today list ─────────────────────────────────────────────────── */
.overview-today-list {
    margin-top: 6px;
}

.overview-today-item {
    display: flex;
    align-items: start;
    gap: 12px;
    padding: 7px 10px;
    cursor: pointer;
    border-radius: 5px;
}

.overview-today-item i {
    margin-top: 2px;
}

.overview-today-item:hover {
    background: var(--background-color);
}

.overview-today-time {
    font-size: 12px;
    color: var(--light-text, #888);
    width: 70px;
    flex-shrink: 0;
}

.overview-today-icon {
    font-size: 16px;
    flex-shrink: 0;
}

.overview-today-title {
    flex: 1;
    /* font-weight: 500; */
}

.overview-today-item.overview-today-done .overview-today-title {
    text-decoration: line-through;
    opacity: 0.5;
}

/* ─── Generic priority / task / todo row ─────────────────────────── */
.overview-priority-list,
.overview-task-list,
.overview-todo-list {
    margin-top: 6px;
}

.overview-row {
    display: flex;
    /* align-items: flex-start; */
    gap: 10px;
    padding: 8px;
    border-radius: var(--border-radius-tiny);
    /* border-bottom: 1px solid var(--light-border); */
    cursor: pointer;
}

.overview-row:hover .mention-pill {
    background-color: var(--extra-light);
}

.overview-row:last-child {
    border-bottom: 0;
}

.overview-row:hover {
    background: var(--background-color);
}

.overview-row > i {
    margin-top: 2px;
    color: var(--light-text, #888);
    font-size: 18px;
}

.overview-row-body {
    flex: 1;
    min-width: 0;
}

.overview-row-title {
    font-weight: 400;
    line-height: 1.5;
    /* white-space: nowrap; */
    /* overflow: hidden; */
    /* text-overflow: ellipsis; */
}

.overview-row-body .overview-row-meta {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.overview-pin-flag i {
    color: var(--primary);
}

.overview-row-meta {
    font-size: 12px;
    font-weight: 300;
}

/* ─── Projects card ──────────────────────────────────────────────── */
.overview-project-list {
    margin-top: 6px;
}

.overview-project-meta {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Loc badge — same recipe as overview-search's, kept separate so the two
 * surfaces can be restyled independently. */
.overview-project-loc {
    display: inline-block;
    padding: 0px 6px;
    border-radius: 4px;
    background: var(--subtle);
    color: var(--light-text);
    font-size: 10px;
    text-transform: capitalize;
    letter-spacing: 0.02em;
}

.overview-project-loc-backlog  { background: rgba(148, 163, 184, 0.18); color: #475569; }
.overview-project-loc-planning { background: rgba(59, 130, 246, 0.15); color: #1d4ed8; }
.overview-project-loc-open     { background: rgba(16, 185, 129, 0.15); color: #047857; }
.overview-project-loc-review   { background: rgba(245, 158, 11, 0.15); color: #b45309; }

.dark .overview-project-loc-backlog  { background: rgba(148, 163, 184, 0.2);  color: #cbd5e1; }
.dark .overview-project-loc-planning { background: rgba(59, 130, 246, 0.2);   color: #93c5fd; }
.dark .overview-project-loc-open     { background: rgba(16, 185, 129, 0.2);   color: #6ee7b7; }
.dark .overview-project-loc-review   { background: rgba(245, 158, 11, 0.2);   color: #fcd34d; }


span.focus-item-type-bdg {font-size: 11px;font-weight: 500;}
/* ─── Unlinkable rows ────────────────────────────────────────────────
   Both row types carry `cursor: pointer` unconditionally, so a row whose
   item has no resolvable target still LOOKED clickable while doing nothing
   on click — the exact "dead link" symptom this widget was fixed for.
   focusService.navigateToItem returns false when an item has no
   link/linkUrl/chatTarget: an unresolvable pin (the pinned item has left
   the loaded pool), an ad-hoc My Week entry (link is explicitly null), or a
   standalone todo with no parent task. Applied via ng-class so the
   affordance goes away with the target. */
.overview-today-item.overview-row-unlinkable,
.overview-row.overview-row-unlinkable {
    cursor: default;
}

.overview-today-item.overview-row-unlinkable:hover,
.overview-row.overview-row-unlinkable:hover {
    background: transparent;
}

/* ai-foundation V2-b: reporting-line strip under the page title */
.overview-org-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    margin-top: 6px;
    font-size: 13px;
}
.overview-org-strip .org-strip-item a {
    color: inherit;
    text-decoration: underline;
    text-decoration-color: var(--border-color, #ccc);
}
.overview-org-strip .org-strip-visibility {
    cursor: help;
}

/* ai-foundation V5 */
.overview-chain-banner { margin: 10px 0 0; }
.overview-reports { margin-top: 14px; }
.overview-reports .overview-row { cursor: pointer; }

/* ============================================
   COMMUNICATE PAGE LAYOUT
   ============================================ */

.communicate-page .centered-page {
	height: calc(100dvh - 64px);
	max-width: 100% !important;
	overflow-y: auto;
	padding: 0 !important;
	display: block !important;
}

.communicate-page .sidebar {
	height: calc(100dvh - 64px);
}

/* ============================================
   COMMUNICATE SIDEBAR
   ============================================ */

.communicate-sidebar-list .sli {
	height: unset;
	line-height: unset;
	display: flex;
	align-items: center;
}

.thin-sidebar .communicate-sidebar-list .sli {
    width: 100%;
    margin: 0;
}

.communicate-sidebar-list .sli-icon {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.communicate-sidebar-list .sli-icon i {
	font-size: 16px;
}

.communicate-sidebar-list .sli-text {
	display: flex;
	flex-direction: column;
}

.communicate-sidebar-list .sli-text .sub-text {
	display: none;
}

.communicate-sidebar-list .sli-header {
	padding: 14px 30px 4px;
	margin-left: -30px;
	margin-right: -30px;
	font-size: 9px;
	letter-spacing: 0.6px;
}

/* ============================================
   SIDEBAR TOGGLE BUTTON
   ============================================ */

.toggle-communicate-sidebar-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: var(--border-radius-tiny);
	cursor: pointer;
	transition: background 0.15s ease;
	margin-right: 25px;
	margin-bottom: 20px!important;
}

.thin-sidebar .toggle-communicate-sidebar-btn {
    margin: 0 auto;
    border: none;
    background-color: transparent;
}

.toggle-communicate-sidebar-btn:hover {
	background: var(--extra-light);
}

.toggle-communicate-sidebar-btn i {
	font-size: 16px;
	margin-left: -2px;
}

/* ============================================
   COMMUNICATE OVERVIEW DASHBOARD
   ============================================ */

.communicate-overview-page {
	max-width: 100% !important;
}

.communicate-dash {
	padding: 40px 25px;
	max-width: 1300px;
	margin: 0 auto;
}

/* ============================================
   ACTIVITY LIST
   ============================================ */

.communicate-activity-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	position: relative;
}

.communicate-activity-list::before {
    content: ' ';
    background-color: var(--light-border);
    position: absolute;
    left: 13px;
    height: calc(100% - 28px);
    width: 1px;
    top: 10px;
    z-index: 1;
}

.communicate-activity-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 15px 0;
	/* border-bottom: 1px solid var(--light-border); */
	z-index: 4;
}

.communicate-activity-item:last-child {
	border-bottom: none;
}

.communicate-activity-icon {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--white);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: -5px;
}

.communicate-activity-icon.description {}

.communicate-activity-icon.Spec.description {}

.communicate-activity-icon i {
	font-size: 16px;
	color: var(--icon-color);
}

.communicate-activity-body {
	flex: 1;
	min-width: 0;
}

.communicate-activity-text {
	font-size: 13px;
	color: var(--dark-text);
	line-height: 1.4;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}

.communicate-activity-text .sub-text {
    padding-left: 29px;
}

.communicate-activity-top-wrapper {
    display: flex;
    gap: 10px;
}

.communicate-activity-avatar {
    max-width: 18px;
    display: inline-flex;
    border-radius: var(--border-radius-xs);
    overflow: hidden;
}

.communicate-activity-text strong {
    cursor: pointer;
    font-weight: 500!important;
}

.communicate-activity-text strong:hover {
    color: var(--primary);
    text-decoration: underline;
}

.communicate-activity-meta {
	font-size: 11px;
	color: var(--sub-text);
	margin-top: 2px;
	min-width: 80px;
	text-align: right;
}

/* ============================================
   CHANNEL LIST (chat channels, discussions)
   ============================================ */

.communicate-channel-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.communicate-channel-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	/* border-bottom: 1px solid var(--light-border); */
	cursor: pointer;
}

.communicate-channel-item:last-child {
	border-bottom: none;
}

.communicate-channel-item:hover {
	background: var(--extra-light);
	margin: 0 -10px;
	padding: 10px 10px;
	border-radius: var(--border-radius-tiny);
}

.communicate-channel-icon {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: var(--border-radius-tiny);
	background: var(--light-white);
	display: flex;
	align-items: center;
	justify-content: center;
}

.communicate-channel-item:hover .communicate-channel-icon {
    background-color: var(--white);
}

.communicate-channel-icon i {
	font-size: 16px;
	color: var(--sub-text);
}

.communicate-channel-info {
	flex: 1;
	min-width: 0;
	line-height: normal;
}

.communicate-channel-name {
	font-size: 13px;
	font-weight: 500;
	color: var(--black);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.communicate-channel-preview {
	font-size: 12px;
	color: var(--light-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin-top: 1px;
}

.communicate-channel-time {
	font-size: 11px;
	color: var(--sub-text);
	flex-shrink: 0;
}

/* ============================================
   ANNOUNCEMENT CARD
   ============================================ */

.communicate-announcement-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.communicate-announcement-item {
	padding: 10px 0;
	/* border-bottom: 1px solid var(--light-border); */
	cursor: pointer;
	line-height: normal;
}

.communicate-announcement-item:hover .communicate-announcement-title {
    text-decoration: underline;
}

.communicate-announcement-avatar {
    max-width: 30px;
    margin-right: 10px;
}

.communicate-announcement-avatar img {
    border-radius: var(--border-radius-xs);
}

.communicate-announcement-item:last-child {
	border-bottom: none;
}

.communicate-announcement-title {
	font-size: 13px;
	font-weight: 400;
	color: var(--black);
	/* overflow: hidden; */
	/* text-overflow: ellipsis; */
	/* white-space: nowrap; */
}

.communicate-announcement-meta {
	font-size: 12px;
	color: var(--light-text);
	margin-top: 2px;
}


/* ============================================
   ACTIVITY FILTER CHIPS
   ============================================ */

.communicate-activity-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 16px;
}

.communicate-filter-chip {
	font-size: 11px;
	font-weight: 500;
	padding: 5px 15px;
	border-radius: 3px;
	background: var(--white);
	color: var(--light-text);
	cursor: pointer;
	user-select: none;
	transition: background 0.12s ease, color 0.12s ease;
	box-shadow: var(--box-shadow);
}

.work-dash-section .communicate-filter-chip {
    background-color: var(--light-white);
    box-shadow: none;
    border: 1px solid var(--light-border);
}

.communicate-filter-chip:hover {
	background: var(--subtle);
	color: var(--dark-text);
}

.communicate-filter-chip.active {
	background: var(--primary);
	color: var(--white);
	border-color: var(--primary);
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 992px) {
	.communicate-dash {
		padding: 20px 24px;
	}
}

@media (max-width: 600px) {
	.communicate-dash {
		padding: 16px;
	}
}

/* An activity row's noun that has nowhere to go.
   `.communicate-activity-text strong` carries `cursor: pointer` plus a hover
   underline unconditionally, so a <strong> with the ui-sref removed still LOOKS
   clickable while doing nothing — the exact symptom the dashboard link fixes
   exist to remove. Unroutable nouns render as this instead: same weight, no
   affordance. */
.communicate-activity-text .activity-plain {
    font-weight: 500;
    cursor: default;
}

.github-project-integration .card-content {
    padding: 0;
}

.github-project-integration .card-content .m4 a.btn {
    height: 50px;
    display: flex;
    align-items: center;
    background-color: var(--primary);
}

.github-project-integration .card-action a.btn:first-child {
    padding-left: 0!important;
}

.github-project-integration .enhanced-features.work-mt-2 {
    margin-top: 0;
}

.github-project-integration .settings-header.work-mt-2 {
    margin-bottom: 5px!important;
    margin-top: 50px;
}

.github-project-integration a.btn, .github-project-integration a.btn:hover {
    background-color: transparent!important;
}

.github-project-integration .card {
    padding: 40px;
}

.github-project-integration .card .sub-text {
    color: var(--light-text);
    font-size: 13px;
    padding-top: 0!important;
}


/* ── Task detail: Linked GitHub card (TaskGithubController) ───────────────── */
.github-task-links {
    margin-bottom: 20px;
}

.github-task-links .gh-card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.github-task-links .gh-mark {
    font-size: 20px;
    color: var(--light-text);
}

.github-task-links .gh-card-header .sa-title {
    font-weight: 500;
    color: var(--black);
}

.github-task-links .gh-link-group {margin-bottom: 30px;}

.github-task-links .gh-group-label {
    font-size: 11px;
    text-transform: uppercase;
    /* letter-spacing: 0.04em; */
    color: var(--light-text);
    margin-bottom: 0px;
    padding: 0 20px;
}

.github-task-links .gh-link-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0px 20px;
    min-height: 50px;
    /* border-radius: var(--border-radius-tiny); */
    margin-bottom: 0px;
    color: var(--black);
    transition: background-color 0.15s ease;
    background-color: var(--white);
    box-shadow: var(--box-shadow);
    border-bottom: 1px solid var(--light-border);
}

.github-task-links a.gh-link-row:first-child {
    border-top-left-radius: var(--border-radius-tiny);
    border-top-right-radius: var(--border-radius-tiny);
}

.github-task-links .gh-link-row:last-child {
    border-bottom-left-radius: var(--border-radius-tiny);
    border-bottom-right-radius: var(--border-radius-tiny);
    border-bottom: none;
}

.github-task-links a.gh-link-row {
    text-decoration: none!important;
}

.github-task-links .gh-link-row:hover {
    background-color: var(--extra-light);
}

.github-task-links .gh-pr-state {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 600;
    text-transform: capitalize;
    color: var(--awhite);
    background-color: var(--light-text);
    border-radius: var(--border-radius-tiny);
    padding: 2px 10px;
}

.github-task-links .gh-state-open { background-color: var(--good); }
.github-task-links .gh-state-merged { background-color: var(--primary); }
.github-task-links .gh-state-closed { background-color: var(--warning); }

.github-task-links .gh-link-title {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
}

.github-task-links .gh-branch,
.github-task-links .gh-commit-author {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 12px;
    color: var(--light-text);
}

.github-task-links .gh-branch .material-icons {
    font-size: 14px;
}

.github-task-links .gh-sha {
    flex-shrink: 0;
    font-family: monospace;
    font-size: 12px;
    color: var(--primary);
    background-color: var(--background-color);
    border-radius: var(--border-radius-tiny);
    padding: 2px 6px;
}


/* ── Activity timeline: integration-sourced items (github, …) ─────────────── */
.timeline-integration-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--background-color);
    color: var(--light-text);
}

.timeline-integration-mark .material-icons {
    font-size: 20px;
}


/* ── Account Integrations hub (IntegrationsHubController) ─────────────────── */
.integrations-hub-list {
    gap: 8px;
}

.integration-hub-card {
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.integration-hub-card .feature-content {
    align-items: center;
}

.integration-hub-icon {
    background: var(--white);
    border: 1px solid var(--border);
    overflow: hidden;
}

.integration-hub-icon img {
    max-width: 24px;
    max-height: 24px;
    object-fit: contain;
}

.integration-hub-status {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.integration-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 500;
    color: var(--light-text);
    background-color: var(--background-color);
    border-radius: 20px;
    padding: 3px 12px;
}

.integration-status-badge .material-icons {
    font-size: 15px;
}

.integration-status-badge.is-connected {
    color: var(--good);
    background-color: rgba(139, 195, 74, 0.12);
}

.integration-hub-chevron {
    color: var(--light-text);
    font-size: 22px;
}
/*# sourceMappingURL=app-7074b74b1f.min.css.map */
